GAMS Rev 135 Linux/Intel 01/26/06 11:36:00 Page 1 Example: Use of subsets in equation definitions 2 4 5 6 set I / A, B, 1*20 /; 7 8 * J declared to be a subset of I that doesn't contain its first two 9 * elements 10 set J(I) / 1*20 /; 11 12 variable x(I), dummy_cost; 13 14 equation 15 fibonacci(J) 16 objective; 17 18 x.fx("A") = 1; 19 x.fx("B") = 1; 20 21 fibonacci(J(I)).. 22 x(I) =e= x(I-1) + x(I-2); 23 objective.. 24 dummy_cost =e= 0; 25 26 model fib /all/; 27 28 solve fib using lp minimizing dummy_cost; 29 30 display x.l; GAMS Rev 135 Linux/Intel 01/26/06 11:36:00 Page 2 Example: Use of subsets in equation definitions Unique Element Listing Unique Elements in Entry Order 1 A B 1 2 3 4 5 6 7 8 11 9 10 11 12 13 14 15 16 17 18 21 19 20 Unique Elements in Sorted Order 1 1 10 11 12 13 14 15 16 17 18 11 19 2 20 3 4 5 6 7 8 9 21 A B COMPILATION TIME = 0.001 SECONDS 0.8 Mb LNX211-135 GAMS Rev 135 Linux/Intel 01/26/06 11:36:00 Page 3 Example: Use of subsets in equation definitions Equation Listing SOLVE fib Using LP From line 28 ---- fibonacci =E= fibonacci(1).. - x(A) - x(B) + x(1) =E= 0 ; (LHS = -2, INFES = 2 ***) fibonacci(2).. - x(B) - x(1) + x(2) =E= 0 ; (LHS = -1, INFES = 1 ***) fibonacci(3).. - x(1) - x(2) + x(3) =E= 0 ; (LHS = 0) REMAINING 17 ENTRIES SKIPPED ---- objective =E= objective.. dummy_cost =E= 0 ; (LHS = 0) GAMS Rev 135 Linux/Intel 01/26/06 11:36:00 Page 4 Example: Use of subsets in equation definitions Column Listing SOLVE fib Using LP From line 28 ---- x x(A) (.LO, .L, .UP = 1, 1, 1) -1 fibonacci(1) x(B) (.LO, .L, .UP = 1, 1, 1) -1 fibonacci(1) -1 fibonacci(2) x(1) (.LO, .L, .UP = -INF, 0, +INF) 1 fibonacci(1) -1 fibonacci(2) -1 fibonacci(3) REMAINING 19 ENTRIES SKIPPED ---- dummy_cost dummy_cost (.LO, .L, .UP = -INF, 0, +INF) 1 objective GAMS Rev 135 Linux/Intel 01/26/06 11:36:00 Page 5 Example: Use of subsets in equation definitions Model Statistics SOLVE fib Using LP From line 28 MODEL STATISTICS BLOCKS OF EQUATIONS 2 SINGLE EQUATIONS 21 BLOCKS OF VARIABLES 2 SINGLE VARIABLES 23 NON ZERO ELEMENTS 61 GENERATION TIME = 0.015 SECONDS 1.3 Mb LNX211-135 EXECUTION TIME = 0.016 SECONDS 1.3 Mb LNX211-135 GAMS Rev 135 Linux/Intel 01/26/06 11:36:00 Page 6 Example: Use of subsets in equation definitions Solution Report SOLVE fib Using LP From line 28 S O L V E S U M M A R Y MODEL fib OBJECTIVE dummy_cost TYPE LP DIRECTION MINIMIZE SOLVER CPLEX FROM LINE 28 **** SOLVER STATUS 1 NORMAL COMPLETION **** MODEL STATUS 1 OPTIMAL **** OBJECTIVE VALUE 0.0000 RESOURCE USAGE, LIMIT 0.010 1000.000 ITERATION COUNT, LIMIT 0 10000 GAMS/Cplex Jun 2, 2003 LNX.CP.CP 21.1 023.025.041.LXI For Cplex 8.1 Cplex 8.1.0, GAMS Link 23 Optimal solution found. Objective : 0.000000 ---- EQU fibonacci LOWER LEVEL UPPER MARGINAL 1 . . . EPS 2 . . . EPS 3 . . . EPS 4 . . . EPS 5 . . . EPS 6 . . . EPS 7 . . . EPS 8 . . . EPS 9 . . . EPS 10 . . . EPS 11 . . . EPS 12 . . . EPS 13 . . . EPS 14 . . . EPS 15 . . . EPS 16 . . . EPS 17 . . . EPS 18 . . . EPS 19 . . . EPS 20 . . . EPS LOWER LEVEL UPPER MARGINAL ---- EQU objective . . . 1.0000 GAMS Rev 135 Linux/Intel 01/26/06 11:36:00 Page 7 Example: Use of subsets in equation definitions Solution Report SOLVE fib Using LP From line 28 ---- VAR x LOWER LEVEL UPPER MARGINAL A 1.0000 1.0000 1.0000 EPS B 1.0000 1.0000 1.0000 EPS 1 -INF 2.0000 +INF . 2 -INF 3.0000 +INF . 3 -INF 5.0000 +INF . 4 -INF 8.0000 +INF . 5 -INF 13.0000 +INF . 6 -INF 21.0000 +INF . 7 -INF 34.0000 +INF . 8 -INF 55.0000 +INF . 9 -INF 89.0000 +INF . 10 -INF 144.0000 +INF . 11 -INF 233.0000 +INF . 12 -INF 377.0000 +INF . 13 -INF 610.0000 +INF . 14 -INF 987.0000 +INF . 15 -INF 1597.0000 +INF . 16 -INF 2584.0000 +INF . 17 -INF 4181.0000 +INF . 18 -INF 6765.0000 +INF . 19 -INF 10946.0000 +INF . 20 -INF 17711.0000 +INF . LOWER LEVEL UPPER MARGINAL ---- VAR dummy_cost -INF . +INF . **** REPORT SUMMARY : 0 NONOPT 0 INFEASIBLE 0 UNBOUNDED GAMS Rev 135 Linux/Intel 01/26/06 11:36:00 Page 8 Example: Use of subsets in equation definitions E x e c u t i o n ---- 30 VARIABLE x.L A 1.000, B 1.000, 1 2.000, 2 3.000, 3 5.000, 4 8.000, 5 13.000, 6 21.000 7 34.000, 8 55.000, 9 89.000, 10 144.000, 11 233.000, 12 377.000, 13 610.000, 14 987.000 15 1597.000, 16 2584.000, 17 4181.000, 18 6765.000, 19 10946.000, 20 17711.000 EXECUTION TIME = 0.002 SECONDS 1.3 Mb LNX211-135 USER: Computer Sciences Dept. G031114:1111AS-LNX University of Wisconsin-Madison DC2621 **** FILE SUMMARY INPUT /afs/cs.wisc.edu/u/s/w/swright/public/html/635/examples/subsets.gms OUTPUT /afs/cs.wisc.edu/u/s/w/swright/public/html/635/examples/subsets.lst