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

03-09-2015 07:10 AM

Hello,

I would appreciate help concerning the following part of SAS/OR(R) 9.3 User’s Guide: Mathematical Programming Legacy Procedures. It's about the balancing restriction of a transport problem.

con balance {i in NODES}: sum {<(i),j> in ARCS} Flow[i,j]

- sum {<j,(i)> in ARCS} Flow[j,i] = _sd_*;*

num infinity = min {r in {}} r;

/* change equality constraint to le constraint for supply nodes */

for {i in NODES: _sd_* > 0} balance .lb = -infinity;*

The mathematical reason to change to "less or equal than" is clear. What I don't get is the syntax of min {r in {}} r. Is it a constant or a variable? Are there simpler formulations?

Thanks & kind regards

Accepted Solutions

Solution

03-09-2015
09:55 AM

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

Posted in reply to user24feb

03-09-2015 09:55 AM

That expression is the minimum of the empty set and is a constant that is equal to the largest double-precision floating-point number (8-bytes) that is representable on your computer. Later versions of the documentation (starting in 13.1) use instead the simpler but equivalent constant('BIG'):

SAS/OR(R) 13.1 User's Guide: Mathematical Programming Legacy Procedures

All Replies

Solution

03-09-2015
09:55 AM

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

Posted in reply to user24feb

03-09-2015 09:55 AM

That expression is the minimum of the empty set and is a constant that is equal to the largest double-precision floating-point number (8-bytes) that is representable on your computer. Later versions of the documentation (starting in 13.1) use instead the simpler but equivalent constant('BIG'):

SAS/OR(R) 13.1 User's Guide: Mathematical Programming Legacy Procedures

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

Posted in reply to RobPratt

03-09-2015 10:52 AM

And, final question, is there a reason why the netflow version was migrated to optmodel and not to optnet?

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

Posted in reply to user24feb

03-09-2015 11:00 AM

Hi user24feb - are you referring to generalized network flow, specifically?

All of the network algorithms available in OPTNET are also available in OPTMODEL. A specific solver for generalized networks is not available in either product. Generalized networks are easily solved by the standard simplex algorithms (e.g., dual simpex) available in OPTMODEL (or OPTLP).

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

Posted in reply to Matthew_Galati_SAS

03-09-2015 11:23 AM

I only thought that if optnet is the successor of netflow, the example on the webpage would be an optnet and not an optmodel version. Because this would mean optmodel is better in some way (and it probably is a bit more flexible).

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

Posted in reply to user24feb

03-09-2015 11:30 AM

OPTMODEL is much more flexible and expressive than OPTNET. OPTNET will use less memory than OPTMODEL (for the same type of network model).