30 lines
770 B
Plaintext
30 lines
770 B
Plaintext
using JuMP, GLPK
|
|
|
|
profit = [5, 3, 2, 7, 4]
|
|
weight = [2, 8, 4, 2, 5]
|
|
capacity = 10
|
|
|
|
model = Model(GLPK.Optimizer)
|
|
|
|
n = 5
|
|
@variable(model, x[1:n], Bin) # Binary
|
|
@variable(model, y[1:n], Int) # Integer
|
|
@variable(model, z[1:n]) # Continuous
|
|
|
|
@objective(model, Max, sum(profit[i]*x[i] for i=1:n))
|
|
@constraint(model, sum(weight[i]*x[i] for i=1:n) <= capacity)
|
|
@constraint(model, [i=1:n], x[i] <= 1) # unnecessary, just to include this syntax in the example
|
|
|
|
JuMP.optimize!(model)
|
|
|
|
if termination_status(model) == MOI.OPTIMAL
|
|
println("Objective is: ", JuMP.objective_value(model))
|
|
print("Solution is:")
|
|
for i=1:n
|
|
print(" ", JuMP.value(x[i]))
|
|
end
|
|
println()
|
|
else
|
|
println("Optimise was not successful. Return code ", termination_status(model))
|
|
end
|