2017-06-14 2 views
2

J'essaie d'ajouter une contrainte à un modèle JUMP Julia comme suit:ajoute une contrainte dans JuMP

@constraint(m, sum{z[i,j]>=2, i in N, j in K}) 

où N et K sont deux ensembles. Mais, quand je débogue, je reçois le message d'erreur suivant.

LoadError: In @constraint(m,sum{z[i,j] >= 2,i in N,j in K}): Constraints must be in one of the following forms: 
    expr1 <= expr2 
    expr1 >= expr2 
    expr1 == expr2 
    lb <= expr <= ub 
while loading /Users/user/Dropbox/Model/ip.jl, in expression starting on line 51 
in include_string(::String, ::String) at loading.jl:441 
in include_string(::String, ::String) at sys.dylib:? 
in include_string(::Module, ::String, ::String) at eval.jl:34 
in (::Atom.##59#62{String,String})() at eval.jl:73 
in withpath(::Atom.##59#62{String,String}, ::String) at utils.jl:30 
in withpath(::Function, ::String) at eval.jl:38 
in macro expansion at eval.jl:71 [inlined] 
in (::Atom.##58#61{Dict{String,Any}})() at task.jl:60 

Quelqu'un peut m'aider s'il vous plaît pour résoudre cette erreur?

+2

Est-ce que '@constraint (m, somme {z [i, j], i dans N, j dans K}> = 2) fonctionne? Pourquoi l'inégalité ** dans ** la somme? –

+0

Parfait !! Merci beaucoup Lyndon ... :) Ça a marché ... Encore merci! – ccc

Répondre

2

Je crois que vous vouliez écrire: @constraint(m, sum{z[i,j], i in N, j in K}>=2)

L'inégalité doit être en dehors de la somme. Parce que vous voulez que la somme de toutes les valeurs soit au moins 2.