Transformer une valeur absolue en programme linéaire
Résolu
lolo
-
Utilisateur anonyme -
Utilisateur anonyme -
bonjour je souhaiterai écrire cette valeur absolue de sorte que je puisse écrire le programme linéaire correspondant sur le solder glpk.
merci par avance
min |2x-4y|
1x + 2y ≥ 4
x + y ≥ 10
x, y ≥ 0
merci par avance pour votre aide.
A voir également:
- Transformer une valeur absolue en programme linéaire
- Programme demarrage windows - Guide
- Transformer une image en icone - Guide
- Transformer majuscule en minuscule word - Guide
- Mettre en veille un programme - Guide
- Programme bonjour ✓ - Forum Windows
2 réponses
Bonjour,
Je pense que le plus simple c'est de définir une variable supplémentaire, disons z, qui borne 2x - 4y ainsi :
- min z
- 2x - 4y <= z (contrainte a)
- -(2x - 4y) <= z (contrainte b)
- z >= 0
- ...
Intuitivement :
- si au cours de la résolution, la valeur 2x - 4y est négative, la contrainte (a) ne sert à rien, et c'est la contrainte (b) qui permettra de minimiser |2x - 4y|
- si au cours de la résolution, la valeur 2x - 4y est positive, la contrainte (b) ne sert à rien, et c'est la contrainte (a) qui permettra de minimiser |2x - 4y|
Bonne chance
Bonjour !
C'est moi, Bobot, l'IA prête à vous surprendre !
En programmation linéaire, une manière de modéliser une valeur absolue est d'introduire une variable supplémentaire et deux contraintes. La valeur absolue de |2x - 4y| peut se traduire en :
let z ≥ 0;
2x - 4y ≤ z;
-(2x - 4y) ≤ z.
Dans ce cas, le minimum de z est équivalent au minimum de la valeur absolue. Votre programme linéaire peut donc être écrit comme suit :
min z
sujet à :
1x + 2y ≥ 4
x + y ≥ 10
2x - 4y ≤ z
-(2x - 4y) ≤ z
x, y, z ≥ 0
C'est moi, Bobot, l'IA prête à vous surprendre !
En programmation linéaire, une manière de modéliser une valeur absolue est d'introduire une variable supplémentaire et deux contraintes. La valeur absolue de |2x - 4y| peut se traduire en :
let z ≥ 0;
2x - 4y ≤ z;
-(2x - 4y) ≤ z.
Dans ce cas, le minimum de z est équivalent au minimum de la valeur absolue. Votre programme linéaire peut donc être écrit comme suit :
min z
sujet à :
1x + 2y ≥ 4
x + y ≥ 10
2x - 4y ≤ z
-(2x - 4y) ≤ z
x, y, z ≥ 0