Advertisement
jukaukor

LinoptimointiCbc.jl

Mar 3rd, 2021
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. # optimointimalli
  2. # Cbc voi hoidella MILP eli mixed integer linear optimization problems
  3. # joissa osa muuttujista voi olla myös kokonaislukuja
  4. # lauseke optimoidaan max annettujen reunaehtojen vallitessa
  5. # tulostetaan muuttujien arvot, jotka tuottavat max tai min
  6. # Juhani Kaukoranta 4.3.2021
  7.  
  8. using JuMP, Cbc;
  9.  
  10. function CbcEsim()
  11. m = Model(Cbc.Optimizer)
  12. # Muuttujien määrittely
  13. @variable(m, 0<= x1 <=10)
  14. @variable(m, x2 >=0)
  15. @variable(m, x3 >=0)
  16.  
  17. # Optimoitava lauseke
  18. @objective(m, Max, x1 + 2x2 + 5x3)
  19.  
  20. # reunaehdot eli ehtoepäyhtälöt
  21. @constraint(m, constraint1, -x1 + x2 + 3x3 <= -5)
  22. @constraint(m, constraint2, x1 + 3x2 - 7x3 <= 10)
  23.  
  24. # Mallin asettelujen tulostus
  25. print(m)
  26.  
  27. # Optimointi eli max tai min etsiminen
  28. optimize!(m)
  29.  
  30. # optimiratkaisun antavien muuttujien arvo
  31. println("Optimiratkaisu saadaan, kun:")
  32. println("x1 = ", value(x1))
  33. println("x2 = ", value(x2))
  34. println("x3 = ", value(x3))
  35. end;
  36. # ajo
  37. CbcEsim()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement