Facebook
From Sweltering Penguin, 5 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 209
  1. param kotlety; # rodzaje kotletów
  2. param indyk; # rodzaje indyków
  3. param mieso; # rodzaje mięs
  4. param cenai {1..indyk};
  5. param cenak {1..kotlety};
  6. param popyt {1..kotlety};
  7. param zawartosck {1..kotlety, 1..mieso};
  8. param zawartoscm {1..indyk, 1..mieso};
  9.  
  10. var lindyk {1..indyk}, integer >= 0; # liczba indyków
  11. var mbck {1..kotlety, 1..mieso}; # ilość mięsa w kotlecie danego typu
  12.  
  13. maximize z: sum{i in 1..kotlety} cenak[i] * sum{j in 1..mieso} mbck[i,j] - sum{k in 1..indyk} cenai[k] * lindyk[k]; # i sumuje po typach kotletów, natomiast j po typach mięsa
  14.  
  15. popytowe{i in 1..kotlety}: sum {j in 1..mieso} mbck[i, j] <= popyt[i];
  16. zawartosciowe{i in 1..kotlety}: sum {j in 1..mieso} mbck[i,j] * zawartosck[i,j] <= mbck[i,1];
  17. bilansowe{j in 1..mieso}: sum {k in 1..indyk} zawartoscm[k, j] * lindyk[k] >= sum {i in 1..kotlety} mbck[i,j];
  18.  
  19. solve;
  20. display z;
  21.  
  22. data;
  23. param kotlety:=2;
  24. param indyk:=2;
  25. param mieso:=2;
  26. param cenai:=1 10 2 8;
  27. param cenak:=1 8 2 6;
  28. param popyt:=1 50 2 30;
  29. param zawartosck: 1 2:=
  30.                                 1 0.7 0 # kotlet 1 mieso biale, mieso ciemne
  31.                                 2 0.6 0; # kotlet 2 mieso biale, mieso ciemne
  32. param zawartoscm: 1 2:=
  33.                                 1 2 2
  34.                                 2 1.5 1.5;
  35.  
  36. end;
  37.  
  38.  
  39.  
  40.  
  41. ________________
  42.  
  43. var indyk1 >= 0 integer;
  44. var indyk2 >= 0 integer;
  45. var mb1 >= 0;
  46. var mb2 >= 0;
  47. var mc1 >= 0;
  48. var mc2 >= 0;
  49.  
  50. maximize z: 8*(mb1 + mc1) + 6*(mb2 + mc2) - 10*indyk1 - 8*indyk2;
  51.  
  52. kotlet1: 0.7*(mb1+mc1) <= mb1;
  53. kotlet2: 0.6*(mb2+mc2) <= mb2;
  54. popyt1: mb1 + mc1 <= 50;
  55. popyt2: mb2 + mc2 <= 30;
  56. mieso1: mb1 + mb2 <= 2*indyk1 + 1.5*indyk2;
  57. mieso2: mc1 + mc2 <= 2*indyk1 + 1.5*indyk2;
  58.  
  59. solve;
  60. display z, indyk1, indyk2, mb1+mc1, mb2+mc2;
  61. end;
  62.  
  63. ___________________
  64. var mb1>=0;
  65. var mb2>=0;
  66. var mc1>=0;
  67. var mc2>=0;
  68. var i1>=0, integer;
  69. var i2>=0, integer;
  70. maximize z: 8*(mb1+mc1)+6*(mb2+mc2)-10*i1-8*i2;
  71. popytK1: mb1+mc1<=50;
  72. popytK2: mb2+mc2<=30;
  73. K1: mb1>=0.7*(mb1+mc1);
  74. K2: mb2>=0.6*(mb2+mc2);
  75. indyk1: mb1+mb2<=2*i1+1.5*i2;
  76. indyk2: mc1+mc2<=2*i1+1.5*i2;
  77. solve;
  78. display z,i1,i2;
  79. end;
  80.  
  81. ________________________
  82. var MB1>=0;
  83. var MB2>=0;
  84. var MC1>=0;
  85. var MC2>=0;
  86. var I1>=0 integer;
  87. var I2>=0 integer;
  88.  
  89. maximize Zysk: 8*(MB1+MC1)+6*(MB2+MC2)-(10*I1+8*I2);
  90.  
  91. popytK1: MB1+MC1<=50;
  92. popytK2: MB2+MC2<=30;
  93. strukturaK1: MB1>=0.7*(MB1+MC1);
  94. strukturaK2: MB2>=0.6*(MB2+MC2);
  95. Indyk1: MB1+MB2<=(2*I1+1.5*I2);
  96. Indyk2: MC1+MC2<=(2*I1+1.5*I2);
  97.  
  98. solve;
  99. display Zysk,I1,I2;
  100. end;
  101.  
  102. ____________________________
  103.  
  104. param n; #liczba produkt?w
  105. param m; #liczba (ograniczonych) zasob?w wykorzystywanych do produkcji tych produkt?w
  106. param c {1..n};#ceny (zyski) jednostkowe na produkcie
  107. param a{1..m,1..n}; #ilos? zasobu na jednostk? produktu
  108. param d{1..n}; #zapotrzebowanie na produkty
  109. param z{1..m}; #dost?pne zasoby
  110. var x{1..n}, integer >=0;
  111.  
  112. maximize zysk: sum{j in 1..n}c[j]*x[j];
  113.  
  114. subject to
  115. tv{j in 1..n}: x[j] <= d[j];
  116. limitzasob{i in 1..m}: sum{j in 1..n}a[i,j]*x[j]<= z[i];
  117. solve;
  118. display zysk, sum{j in 1..n}c[j]*x[j],x;
  119.  
  120. data;
  121. param n:=2;
  122. param m:=1;
  123. param c:=1 120 2 80;
  124. param a: 1 2 :=
  125. 1 20 10;
  126. param d:= 1 20 2 40;
  127. param z:= 1 500;
  128. end;
  129.  
  130. _______________________
  131. param a{1..2,1..6}>=0;
  132. var x{1..6}>=0 integer;
  133. maximize liczbapuszek:
  134. sum{j in 1..6} a[2,j]*x[j];
  135. bl5: sum{i in 1..3}x[i]<=19000;
  136. bl8: sum{j in 4..6}x[j]<=21000;
  137. lp: sum{j in 1..6}a[1,j]*x[j]>=2*sum{j in 1..6}a[2,j]*x[j];
  138.  
  139. solve;
  140. display liczbapuszek, x;
  141. data;
  142. param a: 1 2 3 4 5 6:=
  143. 1 70 15 10 30 20 0
  144. 2 0 20 30 25 30 50;
  145. end;
  146.  
  147. _________________________
  148.  
  149.  
  150. param c{1..2}; #ceny (zyski) jednostkowe na produkcie
  151. param a{1..2}; #ilos? zasobu na jednostk? produktu
  152. param d{1..2}; #zapotrzebowanie na produkty
  153. param z{1..1}; #dost?pne zasoby
  154. var x1, integer >=0;
  155. var x2, integer >=0;
  156.  
  157. maximize zysk: c[1]*x1+c[2]*x2;
  158.  
  159. subject to #opcjonalne
  160. tv27: x1 <= d[1];
  161. tv20: x2 <= d[2];
  162. limitzasob: a[1]*x1+a[2]*x2<= z[1];
  163. solve;
  164. display zysk, x1, x2;
  165.  
  166. data;
  167. param c:=1 120 2 80;
  168. param a:= 1 20 2 10;
  169. param d:= 1 20 2 40;
  170. param z:= 1 500;
  171. end;
  172.  
  173. ___________________
  174. param a{1..2,1..6}>=0;
  175. var x{1..6}>=0 integer;
  176. maximize liczbapuszek:
  177. sum{j in 1..6} a[2,j]*x[j];
  178. bl5: sum{i in 1..3}x[i]<=19000;
  179. bl8: sum{j in 4..6}x[j]<=21000;
  180. lp: sum{j in 1..6}a[1,j]*x[j]>=2*sum{j in 1..6}a[2,j]*x[j];
  181.  
  182. solve;
  183. display liczbapuszek, x;
  184. data;
  185. param a: 1 2 3 4 5 6:=
  186. 1 70 15 10 30 20 0
  187. 2 0 20 30 25 30 50;
  188. end;
  189.  
  190.