Solved
Contributor
Posts: 38

# solving multiple subprograms

[ Edited ]

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

Accepted Solutions
Solution
‎11-11-2017 09:31 AM
SAS Employee
Posts: 569

## 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.

All Replies
Solution
‎11-11-2017 09:31 AM
SAS Employee
Posts: 569

## 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.

☑ This topic is solved.