Parti RO
Parti RO
Première Partie
Paul Feautrier
ENS Lyon
RO-MIM2 – 1/76
Plan
RO-MIM2 – 2/76
Qu’est ce que la recherche opérationnelle ?
RO-MIM2 – 3/76
Recherche opérationnelle
modélisation
optimisation action
RO-MIM2 – 4/76
Informatique ou mathématique ?
Mathématique Informatique
Recherche Opérationelle
Complexité
RO-MIM2 – 5/76
Vocabulaire
courbes de niveau de
la fonction objectif
optimum
Forme canonique :
trouver qui
minimise
contraintes
RO-MIM2 – 6/76
Optimum local, global
Minimum global : est un minimum global de dans ssi :
local
global
RO-MIM2 – 7/76
Convexité
, contient aussi le segment .
"
#
!
convexe convexe convexe non convexe
RO-MIM2 – 8/76
Fonction convexe
est convexe dans un ensemble convexe ssi :
$
$
!
!
RO-MIM2 – 9/76
Intérêt de la convexité
Théorème 1 Si est convexe dans un ensemble convexe , alors tout minimum local de est un
&
%
minimum global.
Soit un minimum local, et l’ouvert contenant dans lequel :
(
'
'
,
-.
,
/ -
0
%
%
*
(+
)
'
,
,
-
Si on suppose qu’il existe un point tel que alors on a :
&
%
1
1
*
-2
'
3,
-
-7
,
-
-
,
/0-
%
%
6 3
6 3
1
4
4
,5
,5
'
'
Il est possible de trouver un suffisamment proche de 1 pour que
3
-
6 3
(
4
,5
8)
'
,
-7
,
-
-
,
-7
,
90-
%
%
3
6 3
1
4
,5
)
'
'
une contradiction.
RO-MIM2 – 10/76
Classification
RO-MIM2 – 11/76
Optimisation multicritère
5
:
;
"
"
"
5
:
;
"
"
"
Le problème est évidemment mal posé. Quel sens peut on lui
donner ?
Exemple : on doit concevoir un équipement électronique qui doit exécuter un
algorithme donné le plus vite possible et pour le moindre prix.
est le temps d’exécution de l’algorithme.
< =
RO-MIM2 – 12/76
Domination
A
?@
La solution domine la solution ssi
$
5
5
:
;
:
;
$
$
"
La relation de domination est un ordre partiel. On ne peut donc
pas prouver l’unicité d’un minimum s’il existe.
L’optimum de Pareto (ou le Pareto) du problème est l’ensemble
des solutions non dominées.
RO-MIM2 – 13/76
Pareto
prix
domination
latence
Que faire avec un Pareto ?
RO-MIM2 – 14/76
Pondération
optimum
pondéré
latence
RO-MIM2 – 15/76
Transformation objectif/contrainte
borne du prix
optimum
latence
RO-MIM2 – 16/76
Optimisation continue sans contrainte
EDC
B
FG
H
Si on connaît la dérivée de , le problème se ramène à trouver les racines de
H
, puis à les tester une par une pour savoir si elles sont un minimum, un
maximum ou un point d’inflexion.
On peut utiliser pour cela des méthodes classiques : itération de Newton (si on
peut calculer la dérivée seconde), dichotomie, méthode de la sécante.
Si on ne connaît pas la dérivée, la première chose à faire est de trouver un
encadrement du minimum. Il n’y a pas de méthode générale, on utilise les
renseignements que l’on peut avoir sur .
RO-MIM2 – 17/76
Fonctions unimodales
J
Une fonction est unimodale dans l’intervalle s’il existe un
point tel que si alors et si
LK
K
M
$
alors .
K
J
Il est évident que si est unimodale dans , alors est un
K
minimum global.
J
Théorème 2 Si
est continue convexe dans , alors est
unimodale.
$
condition d’unimodalité, par exemple et
K
$
ON
N
$
!
K
$
@
mais aussi
K
!
$
une contradiction.
K
!
ON
$
RO-MIM2 – 18/76
Méthode par trichotomie
a c d b a c d b
J
On divise l’intervalle en trois parties égales à l’aide des
points . On calcule et .
K
NP
P
N
N
K
P
K
Le minimum continu appartient à l’intervalle encadrant le
minimim discret.
L’intervalle est réduit au moins par un facteur . On poursuit
A
QR
jusqu’à la précision voulue.
RO-MIM2 – 19/76
Améliorations
:U
T
:
par après évaluations de la fonction.
?
S
SU
T
5
divisé par 2. La convergence est en donc plus rapide.
RO-MIM2 – 20/76
Méthodes par exploration
J
Il est toujours indispensable de connaître une encadrement
du minimum.
On suppose toujours que est unimodale. On choisit un pas
d’exploration . On calcule aux points jusqu’à
P
X
P
VW
@
"
trouver soit une configuration , soit jusqu’à
V
54
atteindre le point .
On fait et on recommence.
Z
Y
Y P
P
Y
@
@
V
54
6 5
est le facteur de convergence.
NZ
RO-MIM2 – 21/76
L’algorithme converge
'
Le nombre de pas d’exploration est au plus . L’exploration
6
1
s’arrète en un temps fini.
I
J
Soit le -ième intervalle d’exploration et le -ième
P
?
T
T
pas d’exploration. On a et .
Z
P
P
T
A
T @
!
T
T
I
K
RO-MIM2 – 22/76
Optimisation à plusieurs variables
Forme du problème :
T
[\
Les inconnues sont les composantes du vecteur .
?
La notion de fonction unimodale ne se généralise pas.
RO-MIM2 – 23/76
Recherche directionnelle
P
On minimise la fonction à une variable à l’aide de
P
" ]
l’une des méthodes vues plus haut.
Si le déplacement est suffisamment petit, on arrète.
P
" ]
Sinon, on change de direction et on recommence.
Le point important est le choix des directions.
RO-MIM2 – 24/76
Recherche suivant les axes
!
?
variables de la fonction , et
à optimiser suivant la -ième.
?
On passe ensuite à la variable
suivante.
La méthode est très lente et
peut même ne pas converger
si les courbes de niveau sont
à peu près parallèles aux dia-
gonales.
On peut l’accélérer en effec-
tuant pas puis en utilisant
^
la direction .
`_
ba
!
RO-MIM2 – 25/76
Gradient
dc
dc
j
g
Le gradient de au point est le vecteur . On le note
g
f Oec
ihOec
.
k
On a le développement de Taylor :
n=
m
m
k
l
l
Ceci montre que
est la direction dans laquelle décroit le plus
k
o
1. Calculer le gradient .
k
2. Minimiser la fonction à une variable .
k
o
3. Si le critère de convergence n’est pas vérifié, recommencer en 1.
RO-MIM2 – 26/76
Propriété
tion et son point d’arrivée. La dé-
p
k
rivée de la fonction à minimiser est :
q
k
o
k
k
n
o
q
a b
RO-MIM2 – 27/76
Directions conjuguées
s
?
?
u
r
t
Y
"
Une matrice définie positive définit un produit scalaire.
Deux vecteurs sont conjugués par rapport à ssi :
r
v
w
u
v
w@
P
?
T
"
"
"
{" u
|
y
r
@ x
}~P
@
"
"
u
u
K
@
P
T
"
"
"
minimum exact en étapes.
?
RO-MIM2 – 28/76
Notations
V,
-
Soit les minimas successifs.
@ X
"
"
"
V,
@ -
V,
-
54
.
V P
V
Le gradient de en est .
r
D’après la propriété ci-dessus et la congugaison des , on a :
V P
-
u
,a
r
P
V
@
V
"
u
r
V P
V P
V,
-
V
V,
-
-
,a
P
@
{
"{
{
5
8
RO-MIM2 – 29/76
Preuve
Lemme 4 En tout point le gradient de est orthogonal au sous-espace engendré par
%
)
.
f
9
/
/
/
9
Le gradient en est ou encore :
1
4
)
f
3
/ 1
4
4
)
f
Si on multiplie par et qu’on remplace par sa valeur il vient :
3
,
-
1
4
)
,
-
81
4
a
)
/
/
) h
RO-MIM2 – 30/76
Gradient conjugué
On part d’un point et on pose .
q
k
n
o
Supposons que l’on soit parvenu en un point avec la direction . On
q
minimise . Soit la solution obtenue.
q
l
On pose :
q
l
n
<
g
>
k
<
g
>
k
q
q
k
l
n
<
<
o
On montre que si est quadratique définie positive, la méthode est identique à
celle des directions conjugués et converge en étapes.
D
RO-MIM2 – 31/76
Recherche aléatoire
I
J
en tirant nombres au hasard dans l’intervalle .
?
La méthode ne nécessite pas le calcul du gradient. Elle
fonctionne même si n’est pas dérivable.
Mais en général, sa convergence est beaucoup plus lente.
RO-MIM2 – 32/76
Test d’arrêt
N
donc utiliser comme test d’arrêt.
V
Sinon, on peut arréter les itérations quand la solution ne change
N
plus : .
V
V
54
RO-MIM2 – 33/76
Programmation linéaire
x
?
K
"
r
M
est le vecteur des inconnues, de dimension .
?
est la matrice des contraintes, de dimension .
r
s
?
est le terme constant, de dimension .
de dimension est le gradient de la fonction objectif.
K
RO-MIM2 – 34/76
Autres formes d’un programme linéaire
On peut remplacer les inégalités par des égalités en introduisant des variables d’écart toutes
posistives :
1.
.
1
4
4
a
a
)
8
6
/
On peut imposer que toutes les variables sont positives, en posant
a
8)
)
6
/
On peut enfin transposer le programme :
.
1.
1
4
4
a
a
)
RO-MIM2 – 35/76
Polyèdre Convexe
L’ensemble est convexe. On l’appelle un
M
@
polyèdre convexe ou simplement un polyèdre.
La fonction est trivialement convexe.
K
"
Donc, si un programme linéaire a un minimum local, c’est un
minimum global.
RO-MIM2 – 36/76
Test de faisabilité
p
n
n
soit non vide, ou encore qu’il existe au moins un point qui satisfasse toute les
p
inégalités .
¡
On peut vérifier cette condition à l’aide du test de Fourier-Motzkin.
On élimine successivement toutes les inconnues de jusqu’à trouver un système
sans inconnues, dont la faisabilité se teste par inspection.
¤£¢
¥
D
n ¥
¢
.
£¤¢
¥
¤£¢
¥
£¤¢
¥
p
l
D
RO-MIM2 – 37/76
Test de Fourier-Motzkin
5
X
ssi .
a ¦
V
@
5
ssi .
X
§
V
4
5
ssi .
X
N
V
5
6
a ¦
RO-MIM2 – 38/76
Test de Fourier-Motzkin, II
¨
*
)
f
1
/ 4
© '
)
ª
«
«
/
/
.
)
¬
f
f '
Une contrainte donne une borne supérieure de :
V
¨
*
)
f
1
/ 4
)
© '
ª
«
«
/
/
7
)
¬
f
f '
6
Pour éliminer , il suffit d’écrire que chaque borne inférieure est inférieure à chaque borne
)
f
supérieure.
On poursuit jusqu’à élimination de toutes les variables. Au bout de étapes, le système est
T
de la forme :
.
1h
a
9
RO-MIM2 – 39/76
Correction
,
M-
On dit que le test réussit si , et qu’il échoue dans le cas
T
contraire.
Théorème 6 Si le test échoue, alors le système initial est infaisable.
Supposons a contrario que le système initial a une solution . Les
transformations effectuées sur les contraintes sont de simples
manipulations algébriques valides ; on en conclu que les intervalles obtenus
en comparant une borne inférieure et une borne supérieure sont non vides,
<¢
¥
et donc que le système ¡ est faisable.
p
®
®
En poursuivant l’élimination, on en arrive au système d’ordre , qui
o ®
D
n’a plus qu’une seule inconnue et qui est également faisable. Mais le
£
£¢
°¯¥
fait que l’un des indique que l’un des intervalles de variation de
p
RO-MIM2 – 40/76
Complétude
M -
6 5
6 5
6 5
T
T
r
"
,
M-
valeurs possibles de est non vide. On en choisit une
T
6 5
!
T
l’intervalle des valeurs possibles est non vide. On poursuit
ainsi jusqu’à avoir donné une valeur à toutes les
composantes de .
RO-MIM2 – 41/76
Remarques
i5
T
"
"
"
Il n’est pas obligatoire de poursuive l’élimination jusqu’à la fin. Si
E²,
-
on s’arrète à l’étape , les variables de deviennent des
² ,
M-
paramètres. Les conditions délimitent les valeurs des
paramètres pour lesquelles le système est faisable. Enfin, le
procédé de sélection ci-dessus donne la valeur paramétrique de
la solution.
L’algorithme peut s’exécuter sans division. La combinaison de la
contrainte et de la contrainte se fait en multipliant
z
X
¦
¦
4
6
la première par et l’autre par et en
§
§
V
}
5
5
!
additionnant.
RO-MIM2 – 42/76
Complexité
s
±
²
²
@
4
a
Comme , prend sa valeur maximum
²
²
6 @
4
a
6 5
pour et , à condition que .
³
§
²
²
@
4@
6 @
a
6 5
6 5
µ¶´
:
f
Pour le cas le pire, on a donc la récurrence dont
²
@
:
:h
´
la solution est . C’est aussi une borne du travail à
T @
:
effectuer.
La complexité est donc énorme sauf pour les petits systèmes.
Mais la redondance est également énorme, surtout si le système
est creux (a beaucoup de coefficients nuls).
Enfin, il est possible que l’algoritme se termine prématurément.
L’algorithme de Fourier-Motzkin est très simple à programmer,
mais il doit être réservé à de petits problèmes.
RO-MIM2 – 43/76
Un exemple, I
Soit le code :
for(j=i+1; j<n; j++)
for(k=i+1; k<n; k++)
a[j][k] -= a[j][i]*a[i][k]/a[i][i];
»
¹
·¸
¾½¼
¿
º
À
¹
·¸
¾½¼
¿
·
¿ »
Á
·
À
Á
est il faisable ?
RO-MIM2 – 44/76
Y
Bingo !
Y !Y
Y Y
z
? X ? z
Y
! ! ! ! !
X Â
x x X x z x
!
! ! ! ! ! !
A
x X z
M M M M M M M
Un exemple, II
"
!Y
Y Y
? ? X
!Y
!
! !
Y
x x X x
! ! ! !
!
A X
M M M M M
"
RO-MIM2 – 45/76
Algorithme de Fourier-Motzkin étendu
±
positifs d’au plus deux contraintes du système d’ordre .
!
±
En généralisant, toute contrainte figurant dans l’algorithme est
combinaison linéaire positive de lignes de . Soit le
$ M
vecteur des coefficients.
Comme dans le système d’ordre toutes les variables ont été
?
éliminées, on en déduit .
@ r
Ã
$
RO-MIM2 – 46/76
Lemme de Farkas
Théorème 8
r
@ r
Ä
M
$ M
M
Å
Y$
$
Y
"
De gauche à droite soit tel que . Soit un
M
v
$
quelconque tel que et . On a .
@ r
Ã
r
$ M
M
$
$
Mais
r
r
@
$
$
@
"
De droite à gauche, on exécute l’algorithme de
Fourier-Motzkin étendu. On en tire un tel que
$ M
. On en déduit que , ce qui veut dire que le
@ r
M
$
v
.
r
M
v
RO-MIM2 – 47/76
Programmation linéaire, I
M
Æ M
Æ
"
est une nouvelle variable.
On exécute l’algorithme de Fourier-Motzkin en prenant soin
d’éliminer en dernier.
Æ
RO-MIM2 – 48/76
Lemme de Farkas affine
p
Théorème 9 Si le système est faisable, alors :
Ç
Êi
Ë
Ç
p
q
¡
¡
n q
p
l
È
l
É
É
È
È
g
L’implication de droite à gauche est évidente. De gauche à droite,
p
l’hypothèse revient à dire que le système n’a
¯q
l
g É
pas de solution. D’aprés le lemme de Farkas, ceci implique l’existence de
p
¯q
ÌÉ
Ì
n
Ì
Ì
o
o
g
p
être nul car cela impliquerait que n’a pas de solution. On peut
donc prendre . On pose et il vient :
p
n q
®
Í
n
Ì
g
¡
n q
p
n q
l
oÉ
g
d’où la conclusion du théorème.
RO-MIM2 – 49/76
Cones
Î
forme .
r
M
Propriété fondamentale : .
Î
Î
Ï M
v
Ï
w
Théorème 10 L’objet est un cone.
v
{
{
{
Il suffit de considérer le système :
v
@
{
{
!
{
{
"
et d’utiliser la méthode de Fourier-Motzkin pour éliminer les
. Ce qui reste est un système de contraintes linéaires en
RO-MIM2 – 50/76
Réciproque
Théorème 11 Tout cone est engendré par un système fini de
¡
n Ð
rayons .
<
ÒÑ
g
g
Ì
On considère l’objet . est un cone dont on
n Ó
Ó
¡
Ð
Ô
Ì
peut déterminer les contraintes comme ci-dessus :
n Ó
É
Õ
Ð
É
Comme quelque soit , Ì
appartient à , on en déduit
Ó
Ð
Ì
Õ
Ì
B
Õ
Õ
appartiennent à .
Ð
Ì
Soit maintenant un vecteur quelconque de . Pour tout on a
Õ
. En d’autre termes, pour tout tel que , on a
¡
Ì
Ì
É
n
. On peut donc appliquer le lemme de Farkas affine : il existe
É
Ð
Õ
Õ
n
RO-MIM2 – 51/76
Théorème de Minkovsky
Ð
n
g ×
l
l
où est un polytope (polyèdre borné), est un cone et un sous espace linéaire.
Ö
×
p
Soit . On considère le cone
¡
n
p
où est une nouvelle variable. Il est clair que
¡
n Ø
Ù
Ù
g
est l’ intersection de avec l’hyperplan . On construit les
®
nÙ
rayons de . Ceux dont la coordonnées n’est pas nulle engendrent .
Ö
Ø
Ù
Les rayons dont l’opposé est également un rayon engendrent . Enfin,
×
ceux qui restent engendrent .
Ð
On peut écrire :
Ú
n
n
g
Ú
Û
Ü
g
Les sont les sommets, les les rayons et les les lignes.
RO-MIM2 – 52/76
Programmation linéaire, II
Ð
n
×
l
l
É
des sommets de à condition que soit vide et que .
Ð
×
É
En effet on peut écrire :
l
É
É
Ú
É
Ü
Ý
n
Puisque n’est pas contraint, on peut faire décroitre a volonté s’il existe un
Ü
É
Ú
. Il en est de même s’il existe un tel que , puisque . Si est
×
Û¯
Ý
É
vide, le dernier terme n’existe pas, et si , on minimise en prenant
Ð
É
É
.
nÚ
ÉÍ
É
<
<
Supposons que dans l’expression de ait un coefficient non nul. Le point
<
<
g
<
o
Ö
atteint son minimum.
É
RO-MIM2 – 53/76
Critique
parce que le nombre de sommets peut être très grand (de l’ordre
de , le coefficient du binome).
Þ
T ´
RO-MIM2 – 54/76
Dualité, I
Théorème 13 Si les deux ensembles et
sont non vides, on a :
@ r
$ M
$
K
@
@
r
@ r
Ã
@ ß
$ M
áà
" â
Soit par exemple (resp. ) un point de l’ensemble de gauche
ã
ã
$
(resp. de droite). On a :
@ ã
ã
r
K
$
"
"
"
Il en résulte que et existent et que .
ß
â
RO-MIM2 – 55/76
Dualité, II
ã
$
le minimum) est atteint. En tout point tel que on sait que
r
!
, on peut donc appliquer le lemme de Farkas affine :
ã
K
!K
"
"
r
Ä
M
!K
Y
@
a
!
"
"
"
On en déduit et . Il en résulte que fait
r
@ ã
K
K
@
a
"
ß
@
!
â
a
"
"
On en déduit .
@ ß
RO-MIM2 – 56/76
Analyse de sensibilité
Variation de
r
áà
ä
K
@
avec ?
Par dualité,
M
ä
$
@
. Or ce polyèdre ne dépend
@ r
K
pas de . Interprétation géométrique :
aussi longtemps que reste dans le cone
des directions admissibles, l’optimum
ã
$
ne change pas. Donc :
cone des optimum
ã
ä
$
@
"
"
directions
admissibles
RO-MIM2 – 57/76
Complémentarité
Théorème 14
åær
t
Y z
}
}$
@
}
!
"
"
"
ã
@ ã
r
r
$
$
@
!
!
"
"
"
"
"
ã
@ ã
@ ã
r
K
$
@
!
"
"
"
"
"
Mais chaque terme du produit scalaire est
r
ã
ã
$
!
"
"
positif, donc si la somme est nulle chaque terme est nul.
RO-MIM2 – 58/76
Dualité généralisée
Primal Dual
objectif (Min) second membre
second membre objectif (Max)
j
¡
¡
Contrainte : variable
C
ç
Contrainte : variable non contrainte en signe
C
n
ê
Variable contrainte :
é
è
é
n
è
RO-MIM2 – 59/76
Algorithme du Simplexe, I
RO-MIM2 – 60/76
Méthodes externes, méthodes internes
optimum
RO-MIM2 – 61/76
Ordre lexicographique
Définition :
Y X
ë
N
5$
V$
$@
@
V
WV
5
6 5
6 5
"
ì
9 ìì
ì
9 ìì
9
9
est un ordre total.
ë
$
"
"
K
í
"
On peut toujours ajouter une nouvelle variable et la contrainte
v
à condition que soit la première inconnue.
v M
v
"
RO-MIM2 – 62/76
Algorithme du simplexe externe ou dual
Généralisation :
Résoudre :
ñ Eðï
î
ò
ñ Eðï
î
ò
ô
õl
nÌ
Ù
Ù
¡
p
l
Tailles : , , .
È ¡
È p
ó
D
B
È
Au commencement,
÷ ö
ø
n ô
õ
nÙ
n
g
¡
RO-MIM2 – 63/76
Invariants
le restent tout au long de l’algorithme.
est un sous-ensemble de . La condition est donc
Æ M
Æ
$
toujours vérifiée.
D’une étape à l’autre, croît dans l’ordre lexicographique.
]
Ces invariants sont vérifiés au début de l’algorithme.
RO-MIM2 – 64/76
Cas de base
Æ@
satisfait les contraintes. On a .
5 ]
@
T
ì
9 ìì
9
De plus, c’est le minimum lexicographique : toute autre valeur
positive de ajoute à un vecteur lexicopositif.
Æ
t
Y z
]
N
{
}
{
RO-MIM2 – 65/76
Changement de variable
]
N
}Æ
$
{
}
{
{
Q
Q
ú
ú
]
}Æ
Æ
@
}
{
}
{
ú
"{
!
!
}û
ú
8
Q
Vú
V
ú
V
V
V ]
]
V$
}Æ
@
}
{
ú
}
{
}
"{
!
!
}û
ú
8
V
]
{
}
{
}
!
z
§
}
{
RO-MIM2 – 66/76
Choix du pivot
Q
åú
ú
{
}
"{
!
å
Il faut donc choisir pour que et que le « vecteur réduit »
z
§
}
{
Q
}
}
{
å
Un tel choix est toujours possible sauf si on est dans le cas d’un
système infaisable.
RO-MIM2 – 67/76
Convergence
Æ
(les variables en base).
Or est de taille et de taille , il n’y a donc que
Þ
T
$
4
´
T
ombinaisons possibles.
L’algorithme ne peut pas boucler, car croit dans l’ordre
]
lexicographique.
Comme n’est pas un polynome en et , l’algorithme
Þ
T
4
´
.
ü
RO-MIM2 – 68/76
Questions numériques, I
RO-MIM2 – 69/76
Questions numériques, II
r
5 r
r
LýP
]
T
"
"
"
où les sont les vecteurs colonnes (ou les vecteurs lignes) de
r
{
.
r
r
?
rarement atteinte.
Il faut utiliser des arithmétiques en précision arbitraire, telle la
librairie GMP.
RO-MIM2 – 70/76
Algorithme primal
K
@
"
r
@
M
On peut supposer que les lignes de la matrice des contraintes
r
sont linéairement indépendantes : on peut éliminer les lignes
redondantes.
est de dimension avec nécessairement .
r
N
s
?
Dans le cas contraire, le système aurait au plus une solution et
¡
p
n
RO-MIM2 – 71/76
Base
r
s
?
?
inversible. On partitionne en deux blocs , la base, et le
^
ÿ
_
reste de la matrice. On partitionne de même en et en
K
K ÿ
.
K
u
6 5
La solution associée à une base est le vecteur . Il
þ
satisfait évidemment à la contrainte .
@
La base B est réalisable ssi la solution correspondante satisfait
6 5
également à la contrainte , c’est-à-dire si .
M
M
þ
@
A une base réalisable correspond une valeur de l’objectif,
ÿ
6 5
.
þ
K
"
_
Est-il possible d’améliorer cet objectif en faisant varier ?
RO-MIM2 – 72/76
Recherche de l’optimum, I
_
Si n’est plus nul, on a :
6 5
T
þ
^
@
!
ÿ
ÿ
6 5
6 5
T
þ
^
K
!K
@
"
"
_
6 5
Le vecteur est le vecteur des coûts réduits.
^
K
!K
@
"
Si fait partie de , comme il est nul on ne peut que
T
{
à condition que .
N
K
RO-MIM2 – 73/76
Recherche de l’optimum, II
_
Puisque on fait croitre et que les autres composantes de
{
restent nulles, la seule contrainte sur la valeur de est
{
6 5
. Il y a deux cas possibles :
M
þ
!
6 5
Toutes les composantes de la colonne de sont
@ þ
^
négatives. Alors n’est pas borné, et le minimum est .
!
Sinon, à chaque composante correspond la borne
§
{
V
Q
z
þ
{
{
V
Q
Le point correspondant à sauf pour :
@ X
þ
@
@
}
}
{
est faisable et la valeur de est inférieure à celle du point de
départ.
RO-MIM2 – 74/76
Recherche de l’optimum, III
z
On poursuit l’algorithme en inversant la nouvelle base et en
calculant la nouvelle solution et les nouveaux coûts réduits.
L’algorithme se termine si à chaque pas la valeur de l’objectif
décroît strictement.
En effet il n’y a que
£ Ô
bases possibles et la condition de décroissance
stricte empèche tout bouclage.
Cependant l’algorithme peut boucler en cas de dégénérescence
(il semble que ce soit très rare).
Comme pour l’algorithme dual, on peut mener les calculs de
façon incrémentale (il suffit d’un seul pivot de Gauss pour
inverser la nouvelle base).
RO-MIM2 – 75/76
Recherche du point faisable initial
Il s’agit de trouver un point dans le polyèdre . Soit
p
g
®
n
le vecteur dont tous les éléments sont égaux à 1, et soit un nouveau vecteur de
Ì
même taille que . On considére le problème :
Eðï
®
î
Ì
Ì
¡
p
l
Ì
Il est facile de voir que le point est faisable. On est donc
g p
g
nÌ
î
n
Ì
Ó
g
augmenté, donc le minimum est nul. Si inversement le minimum n’est pas nul,
est vide.
RO-MIM2 – 76/76