3

混合整数計画法の問題があります。目的関数は、ベクトルの最大変数値の最小化です。変数の上限は 5 です。問題は次のようになります。

m = Model(solver = GLPKSolverMIP())
@objective(m, Min, max(x[i] for i=1:12))
@variable(m, 0 <= x[i] <= 5, Int)
@constraint(m, sum(x[i] for i=1:12) == 12)
status = solve(m)

max 変数は、julia JuMP 構文の一部ではありません。だから私は問題を

t=1
while t<=5 && (status == :NotSolved || status == :Infeasible)
    m = Model(solver = GLPKSolverMIP())
    i = 1:12

    @objective(m, Min, max(x[i] for i=1:12))
    @variable(m, 0 <= x[i] <= t, Int)
    @constraint(m, sum(x[i] for i=1:12) == 12)

    status = solve(m)
    t += 1
end

この解法は、変数の上限を 1 から開始し、解が実現可能になるまで 1 ずつ増加させる反復問題を解くことによって、ジョブを実行します。これは本当にこれを行うための最良の方法ですか?

4

1 に答える 1