BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
user24feb
Barite | Level 11


Hello,

where can I find documentation regarding the "()"-brackets as in the node balancing restriction of example 5.6 (SAS/OR(R) 9.3 User's Guide: Mathematical Programming)?

con balance {i in NODES}:

      sum {<(i),j> in ARCS} Flow[i,j]

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

      = _sd_;

Why this is necessary is quite clear; but can't find anything on this optmodel syntax.

Thanks & kind regards

1 ACCEPTED SOLUTION

Accepted Solutions
RobPratt
SAS Super FREQ

It is discussed in the "More on Index Sets" section of the PROC OPTMODEL documentation:

SAS/OR(R) 13.2 User's Guide: Mathematical Programming

See also this "Manpower Planning" example that shows three equivalent forms:

SAS/OR(R) 13.2 User's Guide: Mathematical Programming Examples

View solution in original post

2 REPLIES 2
RobPratt
SAS Super FREQ

It is discussed in the "More on Index Sets" section of the PROC OPTMODEL documentation:

SAS/OR(R) 13.2 User's Guide: Mathematical Programming

See also this "Manpower Planning" example that shows three equivalent forms:

SAS/OR(R) 13.2 User's Guide: Mathematical Programming Examples

LeoLopes
SAS Employee

It is a shorthand for the slice operator, often used to make this very common pattern:

    sum{<i,j> in FOO: i = something} x[i,j]

shorter, as in:

   sum{<(something),j> in FOO} x[something,j]

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

Discussion stats
  • 2 replies
  • 1406 views
  • 3 likes
  • 3 in conversation