Advertisement
Guest User

Untitled

a guest
Sep 20th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Julia 1.48 KB | None | 0 0
  1. using JuMP
  2. using GLPKMathProgInterface
  3.  
  4. m = Model(solver = GLPKSolverMIP())
  5. n = 12
  6. M = 1000000
  7.  
  8. FixCost = [3500, 9000, 10000, 4000, 3000, 9000, 9000, 3000, 4000, 10000, 9000, 3500]
  9. Cap = [300, 250, 100, 180, 275, 300, 200, 220, 280, 250, 230, 180]
  10. Demand = [120, 80, 75, 100, 110, 100, 90, 60, 30, 150, 95, 120]
  11.  
  12. DeliveryCost = [[100 80 50 50 60 100 120 90 60 70 65 110];
  13.                 [120 90 60 70 65 110 140 110 80 80 75 130];
  14.                 [140 110 80 80 75 130 160 125 100 100 80 150];
  15.                 [160 125 100 100 80 150 190 150 130 M M M];
  16.                 [190 150 130 M M M 200 180 150 M M M];
  17.                 [200 180 150 M M M 100 80 50 50 60 100];
  18.                 [100 80 50 50 60 10 120 90 70 70 65 110];
  19.                 [120 90 60 70 65 110 140 110 80 80 75 130];
  20.                 [140 110 80 80 75 130 160 125 100 100 80 150];
  21.                 [160 125 100 100 80 150 190 150 130 M M M];
  22.                 [190 150 130 M M M 200 180 150 M M M];
  23.                 [200 180 150 M M M 100 80 50 50 60 100]];
  24.  
  25. @variable(m, x[1:n,1:n], Bin)
  26.  
  27. @objective(m, Min, sum(sum(x[i,j]*DeliveryCost[i,j] + FixCost[j]  for j = 1:n) for i = 1:n))
  28.    
  29. @constraint(m, [i=1:n], sum(x[i,j] == 1 for j = 1:n))
  30. @constraint(m, [j=1:n], sum(x[i,j] <= 4 for i = 1:n))
  31. @constraint(m, [j=1:n], sum(x[i,j]*Demand[i] for i = 1:n) <= Cap[j])
  32. @constraint(m, [i=1:n], x[i,5]+x[i,6] == 1)
  33.    
  34. status = solve(m)
  35.  
  36. println("Objective = ", getobjectivevalue(m))
  37. println("X = ", getvalue(x))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement