Expressions
Numeric Expressions
Statements
Parameter Declaration
param name [domain][, := value];
| name | identifier of the parameter |
| domain | optional indexing expression |
| attrib | optional attributes seperated by commas |
Allowable attributes are
| := expression | expression defining the value of the parameter |
Examples
param a;
param b := 5;
param c {I};
param d {j in J} := 2 * j;
Set Declaration
set name [domain][[, attrib]];
| name | identifier of the set |
| domain | optional indexing expression |
| attrib | optional attributes seperated by commas |
Allowable attributes are
| dimen n | dimension of the tuples of the set |
| := expression | expression defining the tuples of the set |
Examples
set I;
set J := {1..10};
set K, dimen 2 := {(0, 0), (0, 1), (1,0), (1, 1)};
set L {i in I} := {1..i};
Variable Declaration
var name [domain][[, attrib]];
| name | identifier of the variable |
| domain | optional indexing expression |
| attrib | optional attributes seperated by commas |
Allowable attributes are
| binary | variable can only take value 0 or 1 |
| >= expression | lower bound |
| <= expression | upper bound |
| = expression | initial value |
Examples
var v;
var w, binary, = 1;
var x {I}, >=0, <= 2;
var y {j in J}, = 2 * j;
Objective
minimize name : expression;
maximize name : expression;
| name | identifier of the objective |
| expression | expression to be minimized or maximized |
Examples
var x;
minimize ( x - 1 ) * x;