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]

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

Register now

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