Forrócsoki

leírás

nyit/zár

Egy cukrász kétféle forrócsokit árul: chilis étcsokit és tejcsokit. Egy adott napon a szükséges összetevők közül tejből már csak 40 doboznyi, csokoládérúdból 56 darab, chiliből 10 g van a raktárban. Egy liter chilis étcsoki előállításához 1 doboz tej, 5 csokoládérúd és 1 g chili szükséges, míg a tejcsokihoz 2 doboz tej és 1 csokoládérúd. Egy liter chilis étcsoki eladásából 10 Euro, míg egy liter tejcsoki eladásából 2 Euro haszna van. Melyikből mennyit állítson elő, ha maximalizálni szeretné a hasznát?

modell

nyit/zár

x liter a chilis étcsokiból, y liter a tejcsokiból

\[ x,y \ge 0\\ 1x + 2y \le 40\ \ \ \ (TJ)\\ 5x + 1y \le 56\ \ \ \ (CS) \\ 1x + 0y \le 10\ \ \ \ (CH) \\ \max(10x+2y) \]

megoldás (JuMP+GLPK)

nyit/zár
using JuMP, GLPK

forrócsoki = Model()
set_optimizer(forrócsoki, GLPK.Optimizer)

# változók
@variable(forrócsoki, x>=0)
@variable(forrócsoki, y>=0)

# korlátozó feltételek
@constraint(forrócsoki, x+2y<=40)
@constraint(forrócsoki, 5x+1y<=56)
@constraint(forrócsoki, 1x+0y<=10)


# célfüggvény
@objective(forrócsoki, Max, 10x+2y)

# optimizálás
optimize!(forrócsoki)
V = value.([x,y])

println("az optimum értéke: ",objective_value(forrócsoki))
println("az optimum helye:  ")
display(V)
az optimum értéke: 112.0
az optimum helye:  
2-element Vector{Float64}:
 10.0
  6.0
optimumxy
112.010.06.0