Advertisement
Guest User

Untitled

a guest
Mar 2nd, 2015
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.39 KB | None | 0 0
  1. # -----------------------------
  2. # Modellfil till Heltalsuppgift 1
  3. # Lägg till variabler, målfunktion och bivillkor
  4. # -----------------------------
  5.  
  6. param m; # antal avverkningsområden
  7. param n; # antal massafabriker
  8. param k; # antal terminaler
  9. param T;
  10.  
  11. set AVVERKNINGSOMRADEN := 1..m;
  12. set MASSAFABRIKER := 1..n;
  13. set TERMINALER := 1..k;
  14.  
  15. set TAGLANKAR within (TERMINALER cross TERMINALER);
  16. param f{TERMINALER};
  17. param cL;
  18. param cT;
  19. param l{AVVERKNINGSOMRADEN,MASSAFABRIKER};
  20. param lT{TAGLANKAR};
  21. param lA{AVVERKNINGSOMRADEN,TERMINALER};
  22. param lB{TERMINALER,MASSAFABRIKER};
  23. param s{AVVERKNINGSOMRADEN};
  24. param d{MASSAFABRIKER};
  25.  
  26. #Variabeldef
  27.  
  28. var x{TERMINALER} binary; #om tagterminal oppnar
  29. var Y{TAGLANKAR}>=0 integer; #tag mellan terminal p och terminal q
  30. var Q{AVVERKNINGSOMRADEN, TERMINALER}>=0 integer; #flödet från avverkning till terminal
  31. var V{TERMINALER, MASSAFABRIKER}>=0 integer; #flödet från terminal till massafabrik
  32. var R{AVVERKNINGSOMRADEN, MASSAFABRIKER}>=0 integer; #transport från avverkning till massafabrik
  33.  
  34. minimize z: sum{a in TERMINALER} x[a]*f[a] + sum{b in AVVERKNINGSOMRADEN,a in TERMINALER} lA[b,a]*cL*Q[b,a]+sum{a in TERMINALER, c in MASSAFABRIKER} lB[a,c]*V[a,c]*cL + sum{b in AVVERKNINGSOMRADEN, c in MASSAFABRIKER} l[b,c]*cL*R[b,c] + sum{(p, q) in TAGLANKAR} lT[p,q]*Y[p,q]*cT;
  35.  
  36.  
  37. subject to
  38.  
  39. Bivillkor1{(p,q) in TAGLANKAR}: Y[p,q] <= T; #tågets maxkapacitet
  40.  
  41. Bivillkor2{a in TERMINALER}: sum{b in AVVERKNINGSOMRADEN} Q[b,a] <= T*x[a] ; #terminal måste vara öppen för att kunna lasta på
  42.  
  43. Bivillkor3{a in TERMINALER}: sum{c in MASSAFABRIKER} V[a,c] <= T*x[a] ; #terminal måste vara öppen för att kunna lasta av
  44.  
  45. Bivillkor4{r in MASSAFABRIKER}: sum{a in TERMINALER}V[a,r] + sum{b in AVVERKNINGSOMRADEN}R[b,r] = d[r] ; #efterfrågan måste uppfyllas på varje massafabrik
  46.  
  47. Bivillkor5{ (p,q) in TAGLANKAR}: Y[p,q] = sum{i in 1..p}(sum{b in AVVERKNINGSOMRADEN}Q[b,i] - sum{r in MASSAFABRIKER}V[i,r]) ; #ser till att rätt mängd fraktas på rätt sträcka
  48.  
  49. Bivillkor7{ (p,q) in TAGLANKAR}: sum{r in MASSAFABRIKER}(V[q,r]) <= Y[p,q]; #inte skall kunna lasta av mer än det finns på tåget
  50.  
  51. Bivillkor8{i in AVVERKNINGSOMRADEN}: sum{r in MASSAFABRIKER}(R[i,r]) + sum{a in TERMINALER}(Q[i,a]) <= s[i]; #Maxkapacitet för avverkningsområdena.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement