vim_snippets/julia_OR.jl.snip
2024-03-21 13:49:58 +01:00

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