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
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
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
And, final question, is there a reason why the netflow version was migrated to optmodel and not to optnet?
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).
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).
OPTMODEL is much more flexible and expressive than OPTNET. OPTNET will use less memory than OPTMODEL (for the same type of network model).
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how to run multiple linear regression models with and without interactions, presented by SAS user Alex Chaplin.
Find more tutorials on the SAS Users YouTube channel.