lotsizing-i.mod 771 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. # SETS
  2. set I;
  3. param n;
  4. set J := 1..n;
  5. # PARAMS
  6. param b{J}; #Work days
  7. param d{I,J}; #Max demand
  8. param r{I}; #Revenues
  9. param c{I}; #Cost
  10. param q{I}; #Max production
  11. param f{I};
  12. param l{I};
  13. param m{I}; #Inventory cost
  14. param K;
  15. # VARIABLES
  16. var X{I,J} #Prod
  17. var V{I,J} #Sold
  18. var Z{I,J} #Store
  19. # OBJECTIVE FUNCTION
  20. mazimize Profit:
  21. sum{i in I,j in J} V[i]*r[i]-(c[i]X[i,j] + m[i]*Z[i,j])
  22. # CONSTRAINTS
  23. subject to MaxProdConstraint {j in J}:
  24. sum {i in I} Z[i,j] <= K
  25. subject to MaxSellConstraint {i in I, j in J}:
  26. V[i,j] <= d[i,j]
  27. subject to InventoryConstraint {i in I, j in J}:
  28. Z[i,j]-Z[i,j-1]+X[i,j]-V[i,j]
  29. subject to InitialProduction {i in I}:
  30. X[i,0] = 0
  31. subject to ConstantProduction {j in J}:
  32. sum{i in I} x[i][j] {x[i][j]}/{q[i]} <= b[j]