2017-01-14 6 views
1

J'ai une condition où je dois additionner les 5 éléments suivants d'un ensemble.gamme conditionnelle dans la somme

Ma condition est: somme (voisin (x)) = 1 WRT x, de x + 1 à x + 5

Equation has_1_neighbor(x); 
    has_1_neighbor(x).. Sum(x,x + 1,x+5,neighbor(x)) =e= 1; 

Malheureusement, depuis que je dois avoir x dans le domaine de l'équation I » Je ne suis pas vraiment autorisé à faire une somme en ce qui concerne x.

Est-ce que quelqu'un sait comment implémenter une contrainte comme celle-ci?

Répondre

2

Vous pouvez utiliser un alias de x pour utiliser l'ensemble dans la somme et l'équation.

La syntaxe pour créer un alias est simplement:

Alias(x,xx);