Fluorite | Level 6

## solving multiple subprograms

i know how i can to min / max a function with proc optmodel

(example here)

``````proc optmodel;
var x,y;
number z=-3;
number res=8;
min  f1 =  y+x**3 + z*y**3;
con c1: x*y = res;
solve with nlp;
quit;

``````

but i want to minimize and maximize in the same proc optmodel. I know i can do two proc optmodel like this:

``````
proc optmodel;
var x,y;
number z=-3;
number res=8;
min  f1 =  y+x**3 + z*y**3;
con c1: x*y = res;
solve with nlp;
quit;

proc optmodel;
var x,y;
number z=-3;
number res=8;
max  f1 =  y+x**3 + z*y**3;
con c1: x*y = res;
solve with nlp;
quit;

``````

is it possible?

thanks

1 ACCEPTED SOLUTION

Accepted Solutions
SAS Super FREQ

## Re: Is it posible to min and max function with proc optmodel?

Yes, here's one way:

``````proc optmodel;
var x,y;
number z=-3;
number res=8;
min  f1 =  y+x**3 + z*y**3;
con c1: x*y = res;
solve with nlp;
max  f2 =  y+x**3 + z*y**3;
solve with nlp;
quit;
``````

In general, you can make any model changes you want and call the same solver or different solvers as many times as you want in the same PROC OPTMODEL call.

Several of the examples in this book illustrate this functionality.

SAS Super FREQ

## Re: Is it posible to min and max function with proc optmodel?

Yes, here's one way:

``````proc optmodel;
var x,y;
number z=-3;
number res=8;
min  f1 =  y+x**3 + z*y**3;
con c1: x*y = res;
solve with nlp;
max  f2 =  y+x**3 + z*y**3;
solve with nlp;
quit;
``````

In general, you can make any model changes you want and call the same solver or different solvers as many times as you want in the same PROC OPTMODEL call.

Several of the examples in this book illustrate this functionality.

Discussion stats