Programmation linéaire: contrainte difficile

Diba -  
vlmath Messages postés 833 Statut Contributeur -
Bonjour,

j'ai un léger problème pour modéliser une contrainte.
La variable x est continue et peut prendre n'importe quelle valeur.
La variable y est binaire

Je voudrais que lorsque x vaut 0, y vaille 1
ET QUE
lorsque x est positif, y vaille 0.

Pour la première partie, je peux mettre: x>1-y de sorte que si x vaut 0, y est forcé à 1
Par contre pour la deuxième, j'ai pensé à (x/M)>=y où M est un nombre plus grand que x: ça marche pour x>0 car y est alors forcé à 0, mais si x vaut 0, y est aussi forcé à 0, ce qui rentre en conflit avec la première contrainte.

Avez-vous une idée?
A voir également:

1 réponse

vlmath Messages postés 833 Statut Contributeur 160
 
Salut,

Tu peux utiliser une fonction qui te donne directement 1 ou 0 :
1- Sgn(Abs(x))

Sgn : fonction signe (ici)
Abs : fonction valeur absolue
0