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 the livestream kicking off May 7. It’s free. It’s easy. And it’s the best seat in the house.
Join us virtually with our complimentary SAS Innovate Digital Pass. Watch live or on-demand in multiple languages, with translations available to help you get the most out of every session.