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).
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.