Previous: 1. Programmation linéaire
Up: Recherche Opérationnelle
Next: A. Programmation effective
  Contents
Subsections
L'objectif de ce chapitre n'est pas l'efficacité du calcul (il y a
d'excellents logiciels pour cela) mais la compréhension des calculs
entrepris.
Reprenons l'exemple de la Section 1.2.
- Nous récrivons les données du problème en introduisant trois nouvelles
variables, déterminées par le système d'équations :
- Les contraintes s'écrivent maintenant
pour
: chaque
sert à contrôler que nous sommes dans le bon demi-plan
relatif à la contrainte correspondante. Le problème consiste à partir
du point
, qui est évidemment un point de bon fonctionnement,
et à maximiser la fonction de bénéfice
.
- Du point de vue du sommet
, les variables principales
sont
et
, et le système s'écrit préférentiellement :
Nous avons le choix de modifier
ou
puisque les
deux coefficients
sont positifs. Nous choisissons
de modifier
, et donc de garder
. Les contraintes
de positivité imposent
et
. Le meilleur
mouvement est donc
, qui conduit au sommet :
- Du point de vue de ce nouveau sommet, le système se récrit
Vu les coefficients de
, le seul mouvement possible est celui
consistant à augmenter
(et donc à garder
). Les
contraintes de positivité imposent
et
.
Le meilleur mouvement est donc
, qui conduit au sommet :
- Du point de vue de ce sommet, le système se récrit
La seule variable modifiable est
. Vu les contraintes de positivité
sur les trois autres variables, cette modification doit vérifier
,
et
. Le meilleur mouvement possible
est donc
, qui conduit au sommet :
- Une dernière réécriture conduit à :
Comme tous les coefficients de la fonction de bénéfice sont négatifs,
on est arrivé à un sommet optimal (et comme tous les coefficients
sont non nuls, ce sommet optimal est le seul). Le bénéfice maximal
escompté est donc
.
- Le résultat de ce calcul n'est pas la valeur du bénéfice escompté
(qui dépend de la validité du modèle et des diverses influences extérieures)
mais la décision conseillée, qui est
Exercise 2.1.1
Maximiser
sous les contraintes
,
et
.
On se pose le problème suivant :
- On introduit une nouvelle variable par contrainte, et le système devient :
Les trois variables sont modifiables, et nous choisissons de modifier
(et donc de garder
). Les contraintes de
positivité imposent
et
. Le meilleur
mouvement est donc
, qui conduit au sommet :
- Du point de vue de ce sommet, le système se récrit :
Deux variables sont modifiables. Nous choisissons de modifier
(et de ne pas modifier
). Vu les contraintes de positivité,
cette modification doit vérifier
et
.
Le meilleur mouvement possible est donc
, qui conduit
au sommet :
- Du point de vue de ce sommet, le système se récrit :
La seule variable modifiable est
. Les contraintes de positivité
imposent
et
. Le meilleur mouvement
possible est donc
, qui conduit au sommet :
- Du point de vue de ce sommet, le système se récrit :
La seule variable modifiable est
, avec pour contraintes
et
. Le meilleur
mouvement est donc
, conduisant au sommet :
- Du point de vue de ce sommet, le système se récrit :
Il ne reste plus de variables modifiables, provoquant l'arrêt de
l'algorithme. La décision proposée est donc :
qui vérifie toutes les contraintes et conduit à un bénéfice prévisionnel
de
.
Exercise 2.2.1
Reprendre les calculs en commençant par modifier
au
point 1 ci-dessus
- Si l'origine n'est pas un point de bon fonctionnement, un travail
supplémentaire doit être effectué. Il faut ou bien trouver un sommet
acceptable, ou bien démontrer qu'il n'en existe pas. Dans le premier
cas, on pourra partir de ce sommet et appliquer l'algorithme décrit
ci-dessus. Dans le deuxième cas, il faut évidemment obtenir une démonstration
de non existence, et pas seulement un constat d'échec.
- Méthode des variables auxiliaires. En plus des variables naturelles
du problème, on introduit autant de variables
que
d'inégalités (comme ci-dessus), puis autant de variables
que de relations non vérifiées par l'origine. Ainsi
devient
(contrainte
majoration)
devient
(contrainte
égalité)
devient
(contrainte minoration)
- Un sommet acceptable du problème initial est caractérisé par
,
et nous sommes dans une situation où l'origine ne vérifie pas cette
condition.
- Nous nous posons alors un nouveau problème, dont
- les variables principales sont tous les
et ceux des
qui sont issus d'une contrainte minoration.
- les équations linéarisées sont celles du problème initial
- la fonction de bénéfice est
- La nouvelle origine (la dimension ayant augmenté, ce n'est plus le
même espace) est un point acceptable pour le nouveau problème.
- Si l'on arrive à
, il est alors prouvé que le problème
initial est insoluble (contraintes contradictoires).
- Si l'on arrive à
, on a nécessairement
puisque ces variables sont positives. Et alors les variables
et
sont caractéristiques d'un sommet acceptable du problème
initial.
- Considérons le problème
- La procédure mk_simplex permet de le récrire en :
Les variables
sont les variables de contrôle
des faces et les variables
ont été introduites pour
tenir compte du non respect des contraintes par le point
.
Le problème comportant le même nombre d'équations qu'avant, le nombre
de variables principales augmente de
, et l'on part du point
.
- On choisit la variable
comme pivot, et on obtient :
- La variable
s'impose comme pivot, et on obtient :
- Puis,
étant pris comme pivot :
Le fait remarquable n'est pas que
(cette égalité
à lieu depuis le début, puisque c'est la définition de
!) mais
que ces deux variables (qui expriment la violation des contraintes)
soient enfin nulles.
- Ainsi, nous venons d'atteindre un sommet admissible pour le problème
initial, à savoir
. Nous pouvons donc nous débarrasser
des variables "
" (i.e.
et
)
et revenir au problème initial, qui s'écrit désormais :
et se résout par la méthode usuelle.
- On trouve, en une étape,
La décision à recommander est donc
et
, pour
un bénéfice escompté de
.
- Reprenons le système du paragraphe précédent, à savoir :
- Si nous choisissons maintenant
comme pivot, au lieu de
,
nous obtenons :
Une fois arrivé là, il n'est plus possible de bouger. En effet, la
variable
est la seule à influer positivement sur la fonction
de bénéfice, et d'autre part
avec
et
,
impose
.
- L'équation
exprime que l'information
véhiculée par la contrainte
est une simple conséquence
des contraintes
et
. On peut
donc se ramener à un système avec une inconnue de moins et une contrainte
de moins par la substitution
,
.
Il vient :
Exercise 2.5.1
Résoudre le système ci-dessus. Vérifier qu'il conduit au résultat
déjà obtenu.
Exercise 2.5.2
Représentation et résolution graphiques de ce système.
Exercise 2.5.3
Reprendre ce système en modifiant légèrement une équation, de
façon à rompre la liaison. Comparer les résultats obtenus.
Previous: 1. Programmation linéaire
Up: Recherche Opérationnelle
Next: A. Programmation effective
  Contents
douillet@ensait.fr
2008-11-28