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

- Subscribe to 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
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

07-18-2009 05:15 PM

Hi,I have the following data

data one;

input x1 x2 f2 f1 cost;

cards;

1.50 1.90 0.36400 0.00 0.952

1.49 1.82 0.45645 0.10 0.876

1.04 1.56 0.56312 0.20 0.787

0.71 1.40 0.67880 0.30 0.699

0.43 1.27 0.77890 0.40 0.610

0.17 1.17 0.87000 0.50 0.517

-0.09 1.09 0.90520 0.60 0.420

-0.37 1.01 0.95640 0.70 0.321

-0.70 0.92 0.98660 0.80 0.219

;

data one;

input x1 x2 f2 f1 cost;

cards;

1.50 1.90 0.36400 0.00 0.952

1.49 1.82 0.45645 0.10 0.876

1.04 1.56 0.56312 0.20 0.787

0.71 1.40 0.67880 0.30 0.699

0.43 1.27 0.77890 0.40 0.610

0.17 1.17 0.87000 0.50 0.517

-0.09 1.09 0.90520 0.60 0.420

-0.37 1.01 0.95640 0.70 0.321

-0.70 0.92 0.98660 0.80 0.219

;

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

07-18-2009 05:16 PM

I would to find optimal point by solving Multi-objective problem, I want to maximize f2, and minimize f1 with constraint cost <= 0.50. So out of this table need the program or PROC output x1 and x2 that produced the maximum f2, and the minimum f1. ANY help

Thanks..

Thanks..

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

07-18-2009 05:18 PM

constraint is cost <= 0.50

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

07-18-2009 05:19 PM

constraint is cost less than or equal 0.50

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

07-18-2009 05:17 PM

So out of this table need the program or PROC output x1 and x2 that produced the maximum f2, and the minimum f1. ANY help. Thanks..

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

05-13-2011 11:38 PM

Co-ask. If anybody can give a hint. The SAS manual is confusing.

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

05-25-2011 05:15 AM

Hi,

The problem is that with mathematical programming you can usually only optimize towards one objective. So if you want to search for a set of points in your problem so that the sum over the cost of the points is less than 0.5 you can write a model with PROC OPTMODEL that looks like this:

proc optmodel;

set POINTS;

num f1{POINTS};

num f2{POINTS};

num cost{POINTS};

num x1{POINTS};

num x2{POINTS};

read data one into POINTS=[_N_] f1 f2 cost x1 x2;

var x{POINTS} binary;

max maxf2 = sum{j in POINTS} f2 * x;

con costcon: sum{j in POINTS} cost * x

solve;

print {j in POINTS: x > 0.5} x1 {j in POINTS: x > 0.5} x2;

quit;

To also optimize for f1 on top of that you need a multi objective technique like goal programming.

But I am not sure that this is really what you want to do. If it is just about finding one point out of a list like the one above it could be as simple as running through the list and choosing the point that satisfies the contraints and has the best combined objective for f1 and f2. But for that you would need to know the exact relation between you two objective. A possible combined objective would be max f2 + (1 - f1).

If you do not have a discrete set of points and algebraic definitions of the functions f1 and f2 you might yet need another type of procedure.

I hope that helped a bit.

Philipp

P.S.: Replace equal with = in the code to make it work.

The problem is that with mathematical programming you can usually only optimize towards one objective. So if you want to search for a set of points in your problem so that the sum over the cost of the points is less than 0.5 you can write a model with PROC OPTMODEL that looks like this:

proc optmodel;

set POINTS;

num f1{POINTS};

num f2{POINTS};

num cost{POINTS};

num x1{POINTS};

num x2{POINTS};

read data one into POINTS=[_N_] f1 f2 cost x1 x2;

var x{POINTS} binary;

max maxf2 = sum{j in POINTS} f2

con costcon: sum{j in POINTS} cost

solve;

print {j in POINTS: x

quit;

To also optimize for f1 on top of that you need a multi objective technique like goal programming.

But I am not sure that this is really what you want to do. If it is just about finding one point out of a list like the one above it could be as simple as running through the list and choosing the point that satisfies the contraints and has the best combined objective for f1 and f2. But for that you would need to know the exact relation between you two objective. A possible combined objective would be max f2 + (1 - f1).

If you do not have a discrete set of points and algebraic definitions of the functions f1 and f2 you might yet need another type of procedure.

I hope that helped a bit.

Philipp

P.S.: Replace equal with = in the code to make it work.

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

06-07-2011 10:34 AM

Hi,

If you are looking for Multi-objective optimization you can use "Reference Point Method". Description of this method you can find at:

http://php.portals.mbs.ac.uk/Portals/49/docs/jyang/Minimax-reference-point.pdf

or

http://www.ia.pw.edu.pl/~wogrycza/publikacje/artykuly/woflins.pdf

I hope it will help you.

If you are looking for Multi-objective optimization you can use "Reference Point Method". Description of this method you can find at:

http://php.portals.mbs.ac.uk/Portals/49/docs/jyang/Minimax-reference-point.pdf

or

http://www.ia.pw.edu.pl/~wogrycza/publikacje/artykuly/woflins.pdf

I hope it will help you.

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

05-11-2012 12:40 PM

Hi,

Have you thought about using PROC GENETIC?

Regards,

Murphy