2015-08-05 2 views
2

J'essaye d'écrire un modèle d'optimisation linéaire dans Julia. J'ai plusieurs contraintes à ajouter, et je voulais essayer de les paramétrer en utilisant des matrices au lieu de les configurer manuellement. J'ai plus de 5 contraintes mais je l'ai réduit à deux simplement pour essayer de faire fonctionner le code. Voici le code que j'ai jusqu'à présent:Comment utiliser les matrices pour définir des contraintes dans Julia?

m = Model() 
@defVar(m, x[1:2] >= 0) 
c= [8 12] 
@setObjective(m, Max, sum([c[i]*x[i] for i= 1:2])) 
A=[6 8 ; 10 20] 
B= [72 140]' #bounds 
for j=1:2 
    @setConstraint(m,sum([A[j,i]*x[i] for i=1:2])<=B[j]) 
end 

Quand je lance ce code, les travaux de la fonction @setObjective mais la fonction @setConstraints revient sans cesse avec l'erreur @setConstraint not defined.
Est-ce que quelqu'un sait comment résoudre ce problème ou est-ce que quelqu'un connaît un meilleur moyen d'écrire cela en utilisant des matrices ou un autre moyen plus court?

+2

je pense que cela devrait être '@ addConstraint': D – Gnimuc

+0

oui! J'ai mal reçu la commande merci pour la prise rapide! – Cam

Répondre

2

La commande est @addConstraint (pas @setConstraint) et il fonctionne