我试图使用Julia-JuMP来解决模型问题。以下是我创建的模型的概述。在此,z[i,j]
是二进制变量,d[i,j]
是z[i,j]=1
的成本。
我的约束创建了无数个约束,因此我需要使用分离算法来解决它。
首先,我在没有任何约束的情况下解决模型,因此所有变量z[i,j]
和d[i,j]
的答案都为零。
然后,我包括分离算法(在if条件内给出)。即使我包括if z_value == 0
,z_values也没有传递给它。
我错过了这个型号的格式吗?
m = Model(solver=GurobiSolver())
@variable(m, z[N,N], Bin)
@variable(m, d[N,N]>=0)
@objective(m, Min, sum{ d[i,j]*z[i,j], i in N, j in N} )
z_value = getvalue(z)
d_value = getvalue(d)
if z_value == 0
statement
elseif z_value == 1
statement
end
@constraint(m, sum{z[i,j], i in N, j in N}>=2)
solve(m)
println("Final solution: [ $(getvalue(z)), $(getvalue(d)) ]")
答案 0 :(得分:2)
您将z乘以d,两者都是变量,因此您的模型是非线性的,
成本d [i,j]是否恒定或实际上是问题的变量? 如果是这样,您需要使用非线性求解器