SAS Optimization, and SAS Simulation Studio

turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Find a Community

Topic Options

- RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

04-27-2010 11:50 AM

I am trying to maximize a likelihood for independent founders using OPTMODEL (I have already written the code to perform a simple grid search but want something quicker). I have a dataset QTp with only one variable (also called QTp). Is the following code valid?

proc optmodel;

set S;

number t{S};

var q GE 0 init 0.5;

var muaa init 0;

var muab init 0;

var mubb init 0;

var sigma>=0.000001 init 0.05;

max logl= sum{i in S} LOG(1/(SQRT(2*3.14)*sigma))+

sum{i in S} LOG(((1-q)**2)*(EXP(-((t*-muaa)**2)/(2*((sigma)**2)))+ (2*q*(1-q))*EXP(-((t**-muab)**2)/(2*((sigma)**2)))+*

((q)**2)*EXP(-((t*-mubb)**2)/(2*((sigma)**2))));*

read data QTp into S=[_n_] t=QTp;

solve with nlpc / tech=cgr printfreq=1 maxiter=5000;

print q sigma muaa muab mubb;

quit;

Message was edited by: jpunch

I also want q LE 1 but can't put it in the text window. Thanks.

Message was edited by: jpunch Message was edited by: jpunch

proc optmodel;

set S;

number t{S};

var q GE 0 init 0.5;

var muaa init 0;

var muab init 0;

var mubb init 0;

var sigma>=0.000001 init 0.05;

max logl= sum{i in S} LOG(1/(SQRT(2*3.14)*sigma))+

sum{i in S} LOG(((1-q)**2)*(EXP(-((t

((q)**2)*EXP(-((t

read data QTp into S=[_n_] t=QTp;

solve with nlpc / tech=cgr printfreq=1 maxiter=5000;

print q sigma muaa muab mubb;

quit;

Message was edited by: jpunch

I also want q LE 1 but can't put it in the text window. Thanks.

Message was edited by: jpunch Message was edited by: jpunch

- Mark as New
- Bookmark
- Subscribe
- RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to jpunch

05-04-2010 12:02 PM

There were several parentheses that were missing.

If you try the following code you should not get any syntax errors:

proc optmodel;

set S;

number t{S};

var q >= 0 <= 1 init 0.5;

var muaa init 0;

var muab init 0;

var mubb init 0;

var sigma>=0.000001 init 0.05;

max log= sum{i in S}

LOG(1/(SQRT(2*3.14)*sigma)

)

+

sum{i in S}

LOG(

((1-q)**2)*

(EXP(

-((t*-muaa)**2)/(2*((sigma)**2)))*

+

(2*q*(1-q))*EXP(

-((t*-muab)**2)/(2*((sigma)**2))*

)

+

((q)**2)*EXP(

-((t*-mubb)**2)/(2*((sigma)**2))*

)

)

);

read data QTp into S=[_n_] t=QTp;

solve with nlpc / tech=cgr printfreq=1 maxiter=5000;

print q sigma muaa muab mubb;

quit;

If you try the following code you should not get any syntax errors:

proc optmodel;

set S;

number t{S};

var q >= 0 <= 1 init 0.5;

var muaa init 0;

var muab init 0;

var mubb init 0;

var sigma>=0.000001 init 0.05;

max log= sum{i in S}

LOG(1/(SQRT(2*3.14)*sigma)

)

+

sum{i in S}

LOG(

((1-q)**2)*

(EXP(

-((t

+

(2*q*(1-q))*EXP(

-((t

)

+

((q)**2)*EXP(

-((t

)

)

);

read data QTp into S=[_n_] t=QTp;

solve with nlpc / tech=cgr printfreq=1 maxiter=5000;

print q sigma muaa muab mubb;

quit;