Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # optimointimalli
- # Cbc voi hoidella MILP eli mixed integer linear optimization problems
- # joissa osa muuttujista voi olla myös kokonaislukuja
- # lauseke optimoidaan max annettujen reunaehtojen vallitessa
- # tulostetaan muuttujien arvot, jotka tuottavat max tai min
- # Juhani Kaukoranta 4.3.2021
- using JuMP, Cbc;
- function CbcEsim()
- m = Model(Cbc.Optimizer)
- # Muuttujien määrittely
- @variable(m, 0<= x1 <=10)
- @variable(m, x2 >=0)
- @variable(m, x3 >=0)
- # Optimoitava lauseke
- @objective(m, Max, x1 + 2x2 + 5x3)
- # reunaehdot eli ehtoepäyhtälöt
- @constraint(m, constraint1, -x1 + x2 + 3x3 <= -5)
- @constraint(m, constraint2, x1 + 3x2 - 7x3 <= 10)
- # Mallin asettelujen tulostus
- print(m)
- # Optimointi eli max tai min etsiminen
- optimize!(m)
- # optimiratkaisun antavien muuttujien arvo
- println("Optimiratkaisu saadaan, kun:")
- println("x1 = ", value(x1))
- println("x2 = ", value(x2))
- println("x3 = ", value(x3))
- end;
- # ajo
- CbcEsim()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement