Facebook
From Smelly Tamarin, 4 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 209
  1. LISTA 4
  2. ZADANIE 7
  3. set PRZEDMIOTY;
  4. set DNI;
  5. set GODZINY;
  6. set GRUPY within PRZEDMIOTY cross DNI cross GODZINY cross 1..10;
  7.  
  8. var x{GRUPY} binary;
  9.  
  10. maximize atr: sum{(p,d,g,a) in GRUPY} x[p,d,g,a]*a;
  11.  
  12. kolizja{d in DNI, g in GODZINY}: sum{(p,d,g,a) in GRUPY} x[p,d,g,a] <=1;
  13. przedm{p in PRZEDMIOTY}: sum{(p,d,g,a) in GRUPY} x[p,d,g,a] = 1;
  14. max3{d in DNI}: sum{(p,d,g,a) in GRUPY} x[p,d,g,a] <=3;
  15.  
  16. solve;
  17. display x;
  18. data;
  19.                 set PRZEDMIOTY:= "Matematyka" "Fizyka" "Ekonomia" "Angielski" "Badania operacyjne" "Logika" ;
  20.                 set GODZINY:="7-9" "9-11" "11-13" "13-15" "15-17";
  21.                 set DNI:="PN" "WT" "SR" "CZ" "PT";
  22.                 set GRUPY:= "Matematyka" "PN"  "7-9" 1,
  23.                                         "Matematyka" "PN"       "11-13" 2,
  24.                                         "Matematyka" "WT"       "13-15" 7,
  25.                                         "Fizyka"  "SR"  "11-13" 3,
  26.                                         "Angielski" "PN" "7-9" 1,
  27.                                         "Angielski" "SR" "9-11" 2,
  28.                                         "Fizyka" "SR" "15-17" 8,
  29.                                         "Ekonomia" "WT" "9-11" 2,
  30.                                         "Logika" "PT" "7-9" 1,
  31.                                         "Logika" "CZ" "15-17" 1,
  32.                                         "Badania operacyjne" "SR" "11-13" 4,
  33.                                         "Badania operacyjne" "CZ" "9-11" 5,
  34.                                         "Badania operacyjne" "CZ" "11-13" 6,
  35.                                         "Ekonomia" "PT" "15-17" 8,
  36.                                         "Ekonomia" "PN" "9-11" 2,
  37.                                         "Logika" "SR" "15-17" 10,
  38.                                         "Angielski" "SR" "15-17" 10
  39.                                         "Fizyka" "PT" "13-15" 8,
  40.                                         "Fizyka" "CZ" "9-11" 1,
  41.                                         "Matematyka" "SR" "7-9" 2,
  42.                                         "Ekonomia" "CZ" "15-17" 6,
  43.                                         "Badania operacyjne" "PT" "11-13" 5,
  44.                                         "Fizyka" "WT" "9-11" 10,
  45.                                         "Logika" "SR" "15-17" 3;
  46.  
  47. end;
  48.  
  49.  
  50.  
  51. ZADANIE 8
  52. param f;
  53. param o;
  54. param max_szt{1..f};
  55. param min_popyt{1..o};
  56. param koszty{1..f,1..o};
  57. param koszt_start{1..f};
  58. param min_szt{1..f};
  59.  
  60. var x{1..f,1..o} >=0 integerl
  61. var start{1..f} binary;
  62.  
  63. minimize k: sum{i in 1..f, j in 1..o} x[i,j]*koszty[i,j] + sum{i in 1..f}koszt_start[i]*start[i];
  64.  
  65. max_ogr{i in 1..f}: sum{j in 1..o}x[i,j] <= max_szt[i]*start[i];
  66. min_ogr{i in 1..f}: sum{j in 1..o}x[i,j] >= min_szt[i]*start[i];
  67. popyt_ogr{j in 1..o}: sum{i in 1..f} x [i,j] >= min_popyt[j];
  68.  
  69. solve;
  70. display x,start;
  71.  
  72. data;
  73.  
  74. param f := 3;
  75. param o := 3;
  76. param max_szt:= 1 200, 2 200, 3 300;
  77. param min_popyt:= 1 100, 1 100, 3 100;