Académique Documents
Professionnel Documents
Culture Documents
IOOTH
CüElJIIAJIbHblE HAÜPABJIEHHH B JIHHEflHOM IIPOrPAMMHPOBAHHH
PROBLÈMES
PARTICULIERS
DE LA
PROGRAMMATION
LINÉAIRE
ÉDITIONS MIR
MOSCOU
CDU 519.82 c= 40
Traduit du russe
par V. Polonski
A NOS LECTEURS
Les Editions Mir vous seraient très reconnais
santes de bien vouloir leur communiquer votre
opinion sur la traduction .et la présentation de
-ce livre, ainsi que toute autre suggestion.
2, Pervi Rijski péréoulok,
Moscou, 1-110, GSP, U.R.S.S.
Ha (fipamiyacKOM nouKe
Copyright by les Editions Mir
U.R.S.S. 1973
0223—254
r 041(01)—73
Table des matières
Préface 7
CHAPITRE PREMIER
RÉSEAUX DE TRANSPORT ET PROBLÈMES DETRANSPORT H
§ 1.
Réseaux de transport f 11
§ 2.Problème de T itinéraire le moins cher 22
§ 3.Problème du flot maximal 31
§ 4.
Formulation en termes de réseaux et formulation matricielle
des problèmes de transport 45
§ 5. Méthode des potentiels
§ 6. Méthode hongroise 61
Exercices 76
CHAPITRE 2
PROGRAMMATION LINÉAIRE ET THÉORIE DES JEUX 89
§ 1. Généralités sur la théorie des jeux 89
§ 2. Relation entre jeuxmatriciels et programmation linéaire 96
§ 3. Méthodes de résolution des jeux 107
§ 4. Méthodes itératives de programmationlinéaire 134
Exercices 145
CHAPITRE 3
PROGRAMMATION PARAMÉTRIQUE 148
CHAPITRE 4
PROGRAMMATION PAR BLOCS 238
§ 1. Méthode de décomposition 239
§ 2. Cas particuliers et modifications de la méthode de décomposi
tion 257
6 TABLE DES MATIÈRES
CHAPITRE 5
PROGRAMMATION LINÉAIRE EN NOMBRES ENTIERS 365
§ 1.
Problèmes de programmation linéaire en nombres entiers 366
§ 2.Conditionsd ’intégralité des ensembles convexes 379
§ 3.
Algorithme de programmation en nombres entiers 385
§ 4.
Algorithme de programmation partiellement en nombres
entiers 407
§ 5. Autresméthodes deprogrammation ennombres entiers 417
Exercices 428
CHAPITRE 6
PROGRAMMATION STOCHASTIQUE 430
CHAPITRE 7
PROGRAMMATION LINÉAIRE PAR MORCEAUX 471
§ 1. Programmation linéaire par morceauxet problèmeslinéaires 472
§ 2. Critères d'optimalité des problèmes de programmation linéaire
par morceaux 482
§ 3. Principes théoriques de la méthode de résolutiondu problème I 493
§ 4. Dégénérescence 503
§ 5. Algorithme de programmation linéaire parmorceaux 507
§ 6. Exemple 518
§ 7. Généralités sur la construction des algorithmes de programma
tion linéaire par morceaux 536
Exercices 550
BIBLIOGRAPHIE 552
INDEX ALPHABÉTIQUE 558
Préface
§ 1. Réseaux de transport
1.1. Dans les représentations matricielles des problèmes de
transport T et Td décrites dans les chapitres 12 et 13 de [87], on
suppose qu’il n ’y a dans chacun de ces problèmes que des points
de fabrication et des points de consommation, les transports des
points de consommation vers les points de fabrication étant impos
sibles. Comme nous l ’avons dit au chapitre 13 de [87], les problèmes
de transport peuvent être représentés graphiquement.
La figure 1.1 est la représentation graphique d ’un problème
de transport à deux points de fabrication et trois points de consomma
tion où chaque couple de points (fabrication et consommation) est
lié par une communication. La figure 1.2 illustre un problème de
transport qui comporte des points de fabrication et de consommation
entre lesquels le trafic est impossible. Dans le premier cas aussi bien
que dans le deuxième les communications sont matérialisées par
des flèches allant des points de fabrication aux points de consomma-
12 RÉSEAUX DE TRANSPORT ET PROBLÈMES [CH. t
Lion, ce qui traduit le fait que dans le sens inverse le transport est
impossible. Or, si l ’on examine une carte ferroviaire (ou routière),
il saute aux yeux que la plupart des points peuvent assurer l ’entrée
et la sortie de la production.
Il est donc naturel d ’étendre l ’énoncé du problème de transport
de façon qu’il puisse couvrir les modèles de transport dont le système
un point du plan, puis relier chaque couple de points (pf, pj) qui
correspond à la communication du réseau par un segment orienté
allant de p t à pj. L’orientation du segment est indiquée par une
flèche. Si pour certains i et ; le réseau comporte à la fois les commu
nications k u et kJh dites alors opposées, le segment qui relie p t
et pj ou bien est affecté de deux flèches dirigées en sens opposés,
ou bien ne comporte pas de flèche.
Les figures 1.1 à 1.3 représentent trois réseaux de transport diffé
rents. A chaque couple non ordonné de points du réseau de la figu
re 1.1 correspond une communication unique. Le réseau de la figu
re 1.3 comporte des points liés par deux communications opposées
(par exemple, les points p 4 et p 5). Comme on le voit d ’après les figu
res, les communications relient non pas tous les points, mais seule
ment certains d ’entre eux.
Les réseaux de transport peuvent être également représentés
par des matrices.
Supposons que le réseau (P, K) compte N points. Considérons
la matrice carrée A d ’ordre N dont les éléments atj se calculent sui
vant la règle
( 1, si la communicaction k ^ £ K,
0 dans le cas contraire.
La matrice A définit univoquement le réseau de transport (P, K)
qui l’avait engendrée; elle s ’appelle matrice de ce réseau. Ainsi, les
matrices A ' et A " des réseaux (fig. 1.2 et 1.3) ont la forme
Ai A. As Bii Bt» b 3 B 4
At 0 0 0 1 0 0 1
As 0 0 0 1 1 0 0
A3 0 0 0 0 1 1 0
A' = B i 0 0 0 0 0 0 0
B« 0 0 0 0 0 0 0
b3 0 0 0 0 0 0 0
0 0 0 0 0 0 0
Pi Ps Ps P* Ps Ps p- Ps
Pi 0 1 0 0 0 1 0 0
P«. 0 0 0 0 0 0 0 0
Ps 0 1 0 1 0 1 0 0
A' = p, 0 0 0 0 1 0 0 0
Ps 0 0 0 1 0 0 0 0
Ps 1 0 1 0 1 0 0 1
Pt 1 1 0 1 0 0 0 1
Ps o 0 0 0 0 1 0 0
14 RÉSEAUX DE TRANSPORT ET PROBLÈMES [CH. I
clair que tout point par lequel passe un itinéraire fermé appartient
à deux communications adjacentes de l ’itinéraire (et seulement à ces
communications).
Des exemples d ’itinéraires fermés sont donnés par la figure 1.6.
Si un point quelconque d ’un itinéraire Z, autre que point extrémal,
marque l ’origine d ’une communication et la fin d ’une autre, l ’itiné
raire Z s’appelle alors itinéraire orienté.
Le point extrémal d ’un itinéraire orienté où commence (finit)
l’une de ses communications est dit origine (extrémité).
On définit de façon analogue un itinéraire orienté fermé. Chaque
point d’un tel itinéraire constitue l ’extrémité d ’une de ses communi
cations et l ’origine d ’une autre.
Un exemple d ’itinéraire orienté est représenté sur la figure 1.4, b.
Un itinéraire orienté fermé est donné par la figure 1.6, a.
10 RÉSEAUX DE TRANSPORT ET PROBLÈMES [CH. 1
Fig. 1.6
*i + * v = 2 ( 2 * ( k u ) - S x (k J{)). (1.8)
k.fiEl kjfiEl
Toute communication part d’un point du réseau et se termine
en un autre. C’est pourquoi la grandeur x (k tj), i et j étant quelcon
ques, fait deux fois partie du deuxième membre de (1.8), d ’abord
avec le signe plus puis avec le signe moins,
Xi + x N = 0. (1.9)
Le nombre x f = —x N ^ 0 s’appelle valeur du flot x (ku), k u 6
Ç K . Le sens des termes ainsi introduits peut être interprété de la
façon suivante. Imaginons que le réseau (P, K) soit composé de
canaux à entrée unique pi et à sortie unique p Supposons que le
canal correspondant à la communication k tj soit capable de laisser
passer au plus du unités de liquide par unité de temps.
§ 1] RÉSEAUX DE TRANSPORT 19
{
0 pour 1, N ;
V X '( * ! ,) = * t> 0 , £= 1; (1.15)
hu*Ei Xy 0 , i = N,
où Ei = E\ + E\.
La dernière condition du système (1.15) donnée pour la symétrie
est une conséquence des conditions précédentes. La fonction x' (k tJ)
2*
20 RÉSEAUX DE TRANSPORT ET PROBLÈMES [CH. I
par des ronds où figurent les ctj correspondants. Les chiffres entre
parenthèses portés près des notations des points désignent la valeur
Ax du coût de transport de l ’itinéraire optimal reliant le point consi
déré à pi (premier chiffre) et le numéro de l ’étape à laquelle le point
a été marqué (deuxième chiffre).
La figure 1.8 traduit ainsi toute la marche de la résolution du
problème.
A la première étape on a marqué le point p 3; à la deuxième, p 2.
A chacune des deux étapes suivantes on marquait deux points:
à la troisième p8 et p bJ à la quatrième pn et p7. Voici, par exemple,
la description de la troisième étape. L’ensemble des points marqués
aux deux premières étapes comprend p iy p 2 et p 3. Les communica
tions à examiner sont k 28, k^, k 3b. Calculons les sommes qui leur
•correspondent :
h 2 “h ^28 =
h2 + c2b = 4,
h 3 + c3b = 5.
La valeur minimale de la somme est 4 ; nous marquons les points
ps et p b en portant près d ’eux les chiffres 4 et 3 (numéro de l ’étape) ;
les communications à dégager sont k & et k
L’ensemble complet des points marqués s ’obtient en quatre
étapes et se compose de tous les points du réseau sauf p 4. Par consé
quent, tout point du réseau, à l ’exception de p 4, peut être réuni
à pi par un itinéraire orienté issu de p t. Les itinéraires optimaux
se construisent à l ’aide des communications dégagées. Par exemple,
l ’itinéraire optimal associé au point pQpasse par les points p b et p 2.
2.4. L’algorithme du problème de l ’itinéraire le moins cher expo
sé dans le présent paragraphe a été proposé presque simultanément
par Bellman 16] et Shimbell 183}. Fondé sur les idées de la program
mation dynamique, il est conçu pour déterminer simultanément des
itinéraires optimaux entre deux points quelconques d ’un réseau de
transport (P, K ).
Ecrivons la fonction du coût de transport c (,fc,^), k tj Ç K , sous
la forme d’une matrice carrée C dont l ’ordre est égal au nombre N
des points du réseau. Rappelons que le nombre
c (kij) si i =# j et k u 6 Ar,
{0 si i = j ;
oo si i ^ / et ku (J K
est porté à l ’intersection de la i-ème ligne et de la y-ième colonne
•de la matrice C.
Convenons de dire qu’un itinéraire composé de s communications
a une longueur s. Appelons s-optimal un itinéraire orienté de p t
vers pj de longueur inférieure ou égale à s, associé au coût minimal
5 2] PROBLÈME DE L’ITINÉRAIRE LE MOINS CHER 27
un seul, mais tous les indices Xt+i qui vérifient la condition (2.11).
Naturellement, cette opération doit être effectuée pour tous les kt
déjà marqués.
Si Arp À,3, . . ., k'g est une suite quelconque, composée d ’indices
marqués respectifs,
Pu Pij» •••, Pj
est un itinéraire optimal.
2.4. Voici un exemple numérique. Supposons qu'il faille déterminer tous
les itinéraires optimaux du réseau de transport représenté figure 1.9.
Les segments qui correspondent aux communications ne portent pas de
flèches. Cela signifie que les points rattachés par un segment sont reliés par deux
communications opposées; le coût de transport de ces deux communications
est le même. Composons la matrice du coût de transport des communications:
0 1 oo 2 2
1 0 1 oo 1
C= £<!> = c» 1 0 2 3
2 oo 2 0 1
2 1 3 1 0
P*
La relation (2.8) avec k == 1
la matrice
0 12 2 2
10 12 1
£<2>= 2 1 0 2 2 . P♦
2 2 2 0 1 Fig. 1.9
2 12 1 0
Effectuons encore une étape pour calculer la matrice C(4). On vérifie aisé
ment que C<2> = C<4>. Par conséquent, la matrice C(2>coïncide avec la matrice C*
du coût de transport des itinéraires optimaux.
La matrice C* = £ (2> permet de construire sans peine n'importe quel
itinéraire optimal. Supposons, par exemple, qu'il faille trouver un itinéraire
optimal entre pi et p3.
min (cl2 + c15 + cf3, c14 + cjg) = min (2, 4, 4) = 2.
P 2 fait donc partie de l'itinéraire cherché.
Ensuite,
min (c23 + c*„ c25 + cf3) = min (1, 3) = 1,
ce qui signifie que le point p2 de l'itinéraire optimal est suivi par le point p3.
L’itinéraire optimal de pi à p 3 passe donc par le point intermédiaire p2.
II
H
cette révision peut être arbitraire. Il faut seulement que tous les
points marqués soient passés en revue. En se donnant tel ou tel
ordre on aboutit aux réalisations numériques différentes de l ’algo
rithme. On peut considérer, par exemple, que chaque point nouvelle
ment marqué est le dernier dans l ’ensemble des points marqués
disponible. Une autre possibilité consiste à affecter le point nouvelle
ment marqué d ’un numéro supérieur d ’une unité au numéro du
dernier point révisé; les numéros de tous les points ultérieurs sont
déplacés de l ’unité. On peut proposer toute une série d ’autres règles
pour définir l ’ordre de révision des points marqués.
La révision successive des points marqués est loin d ’être le seul
moyen possible de formation de l ’ensemble P '. Il est clair qu’on
peut aboutir au même résultat en examinant les points non marqués.
Dès qu’on découvre un point non marqué relié par une communica
tion X-insaturée à l ’un des points marqués, on l ’inclut dans l ’en
semble des points marqués. L’ordre de révision des points non mar
qués peut être aussi des plus variés.
Il est parfois plus avantageux de construire un ensemble des
points marqués (l’ensemble P') en partant non de l’entrée pi mais
de la sortie p N. On inclut successivement dans l ’ensemble P' les
points d ’issue au moins d ’une communication X-insaturée qui se
termine en l ’un des points déjà marqués. Le processus de construction
de P' est considéré comme achevé si l ’on marque à la dernière étape
l ’entrée pi ou si l ’extension ultérieure de l ’ensemble des points mar
qués s’avère impossible. Le premier cas permet de poursuivre l ’amé
lioration du flot, le second traduit l ’obtention du flot maximal.
L’itinéraire de p t à p ^ composé de communications X-insaturées
peut être recherché en partant simultanément de l ’entrée et de la
sortie. En d ’autres termes, on peut construire simultanément deux
ensembles de points marqués, celui des p^ et celui des p N. Dès que
l ’on obtient le point à inclure dans les deux ensembles, l’itinéraire
recherché est trouvé et on peut améliorer le flot. La fin de la procé
dure de formation des ensembles des points marqués est fixée encore
par l ’impossibilité de poursuivre leur extension, ce qui indique que
le flot disponible est maximal. Chacune des méthodes indiquées de
construction d ’un itinéraire non saturé de p^ à p N peut certes se
calculer d ’une façon différente en fonction de l ’ordre choisi de révi
sion des points marqués ou non du réseau.
D’après la formule (3.16), la valeur du flot construit au cours de
l ’itération donnée est supérieure à celle de l ’ancien flot d’un nombre
0 > 0, et de plus, selon (3.13), le nombre 0 est le minimum des écarts
entre les composantes de l ’ancien flot et les valeurs correspondantes
de dtj le long de l ’itinéraire insaturé obtenu. Appelons le nombre 0
degré d'insaturation de l ’itinéraire. Dans le cas général, l ’entrée
et la sortie peuvent être reliées par un grand nombre d ’itinéraires
insaturés. Il est logique de rechercher une procédure de formation
§ 3] PROBLEME DU FLOT MAXIMAL 41
Fig. 1.10
Fig. î . i i
Fig. 1.12
S < P u U (M ) (4-4)
il faut et il suffit qu'il existe des nombres u{j Uni • • •» Uy tels que
Uj ut ~ c (ku) si 0 < x (ku) < d (A0), (4.9)
Uj — Ui < c (ku) si x (ku) = 0, k u £ K , (4.10)
uj — u ^ c (ku) si x (ku) = d (ku). (4.11}
Les nombres ut associés auprogramme optimaldu problème
(4.5)-(4.7) par les conditions (4.9)-(4.11) sont dits potentiels des
points correspondants du réseau (P, K). L’ensemble des potentiels
peut être considéré comme une certaine fonction u {pt) définie sur
l’ensemble P .
Le théorème 4.1 permet d’obtenir aisément le critère d’optimalité
du problème T (qy d, c) écrit sous la forme (4.1)-(4.4).
T h é o r è m e 4.2. [ C r i t è r e d ’o p t i m a 1 i t é d ’u n
p r o g r a m m e d u p r o b l è m e (4.1)-(4.4)]. Pour rendre opti
mal le programme X = x (k f;), k tj Ç K \ du problème (4.1)-(4.4),
il faut et il suffit qu'il existe des nombres uu u2, . . ., u N tels que
Uj — ut —c (ku) si 0 < x (ku) < d (ku)J (4.12)
Uj — ut = — c (kji) si— d (kji) < x (ku) < 0, (4.13)
Uj — U i ^ z c (iktj) si x (ku) = d (ku),(4.14)
Uj — Ut < — c {kji)six (ku)= — d (kjù, (4.15)
- c (kji) ^ < c (fcu) si x {ku) = 0, k u e K ’. (4.16)
Constatons que dans la condition (4.16) il est d ’usage de considé
rer la valeur c (ktj) comme infinie avec k u £ K.
Nous laissons au lecteur le soin de démontrer les théorèmes 4.1
et 4.2 (cf. exercice 11).
Dans la discussion des problèmes du type T (q, d, c) on recourt
à la notion de programme de base du transport. Un programme
arithmétique X = x (fc^), k tj Ç K, est dit de base lorsqu’il est
impossible de composer un itinéraire fermé à partir des communica
tions kij Ç K telles que
0 < x {ku) < d (*„). (4.17)
On peut vérifier (cf. exercice 12) que cette définition est équiva
lente à la définition courante d’un programme de base du problème
T (iq, d, c) considéré comme un problème général de programmation
linéaire à contraintes bilatérales.
Si le programme de transport X est écrit en termes algébriques,
pour définir que c’est un programme de base on fait appel à la pro
position suivante. Un programme algébrique X = x (<fc^), k u £ K \
est dit de base s’il est impossible de constituer un itinéraire orienté
fermé à partir des communications k tj Ç K* telles que
x (kij) du, 0, — dji. (4.18)
§ 4] PROBLÈMES DE TRANSPORT EN TERMES DE RÉSEAUX 51
kifiE"i
E\ (2?j) est ici l ’ensemble des communications issues de pi (entrant
dans pj).
En retranchant de l ’égalité supérieure pour i = X l ’égalité infé
rieure pour / = X, il vient
x(Px, P) — x(P, p i) = 2 x ( k XJ) —
Hi&ï
— 2 x ( k ii) = q(px), k= i,...,N .
(4.22) entraîne
0 < x (ktJ) < d (ktJ).
Ainsi, la fonction x (ktj) définie sur l ’ensemble K par les égalités
(4.23) est un programme du problème (4.5)-(4.7). Dans ces conditions
les valeurs des formes linéaires (4.5) et (4.19) sont respectivement
égales sur les programmes X = x (/c^), k Ç K, et Z = || zti || j>r-
Montrons que le programme X est une solution du problème
(4.5)-(4.7). Supposons qu’il existe un programme X ' = x' (*iy),
kij £ K , associé au coût de transport total
L (X') < L ( X ) = C (Z). (4.24)
Considérons que le réseau (P, K) n ’a pas d ’itinéraires fermés
orientés constitués de communications k fJ tels que x' (ktj) > 0. '
Cette hypothèse ne réduit pas la généralité, puisque dans le cas
contraire, en diminuant la valeur des transports le long des itinéraires
fermés on obtient un nouveau programme x n (A:^), Ç K, qui jouit
de la propriété concernée, et de plus
L (X*) (X')
(cf. démonstration du théorème 4.3).
Au lieu de X ', on peut prendre le programme X ” sans compro
mettre pour autant la condition (4.24).
Posons
r z '(k u) si kijÇK,
r 0 si i j et kij ^X ,
Zij= „ (4.25)
g— 2 j z' (kij) avec i = /.
54 RÉSEAUX DE TRANSPORT ET PROBLEMES [CH. 1
D’après (4.25),
N
2 z'v= 2 2 ( &u ) +? =? t î=i,2,...iv.
1=1 kij£Ej k i f i E3
JS Zxn=—q(PÏi), n= l , 2 (4.32)
zx^^O . (4.33)
La solution du problème (4.30)-(4.33) définit l ’ensemble optimal
de livraisons des points de fabrication pi aux points de consomma
tion p^ sous la condition de n’utiliser que les itinéraires les moins
chers du réseau (P, K). Les raisonnements qui suivent établissent
l ’équivalence des problèmes (4.5)-(4.7) et (4.30)-(4.33).
Le problème (4.30)-(4.33) a une solution puisque
S ?( px) = 2 <-?(/>»}•
pi£P+ p^ p-
Soit Z = || z tj ||m> n le programme optimal du problème.
1. Supposons d’abord que R (Z) < 00. Dans ce cas
ZX(» = 0 si c (Jxn) = = oo. (4.34)
Déterminons le système de transport Xj,^ (kij), k l} £ K, pour cha
que couple de points pi 6 P+ et p’^ 6 P - tels que rxu < °°» en
§4J PRO BLÈM ES D E TRA N SPO RT EN TERM ES D E R ÉSEA U X 57
posant
zxn s* 6 Zxn»
(4.35)
0 dans les autres cas.
Soit
m n
X= 2 2 * * (* ,,), (4.36)
X=1 H—1
Les conditions (4.31)-(4.33) et (4.35) vérifiées par les composantes
du programme Z entraînent que X est un programme du problème
(4.5)-(4.7).
Par ailleurs,
C (X) = R (Z). (4.37)
Montrons que le programme X est optimal. A cette fin il suffit
de prouver que quel que soit le programme X' du problème T (ç, c)r
il existe un program m e^' du problème (4.30)-(4.33) associé à X '
par l ’inégalité
R (Z') < C (X'). (4.38)
En effet, l ’optimalité du programme Z et les conditions (4.37),
(4.38) conduisent à la relation
C (X) = R ( Z ) < R (Z') < C (X*),
vraie pour tout programme X ' du problème (4.5)-(4.7).
Ainsi, soit X' le programme arbitraire du problème (4.5)-(4.7).
Sans restreindre la généralité considérons que X ' est un programme*
de base, étant donné que s’il n’en est pas ainsi le théorème (4.3)
rend possible le passage au programme de base X ” tel que
C (X*) < C (X'),
auquel on applique les considérations qui suivent.
Pour chaque couple de points p % ’. et pJi il existe au plus un itiné
raire orienté de p'%. à ph constitué de communications principales
du programme X' . Choisissons un couple quelconque de points p^
et ph pour lequel l ’itinéraire indiqué existe et posons
(4.39)
où
e j= min {x q{pÿ, — g(p^)}. (4.40)
C (X ) = 2 r'\\iz>k\k•
>.=i n=i
Etant donné que est la valeur du coût de transport d’un
certain itinéraire de à pü, il vient
rXn ^ rAii-
Par conséquent,
D et Cjèn posant
q (S') = — dlh q ( s n) = dih
C (Pif s ) ==c ( s 1 s ) = 0, C {s , p j) = Ciji
d (Pi, s') = d (s", J) = d ( s \ pj) = oo.
Soit Ti (g, d, c) le problème de transport sur le réseau (Pu KJ
associé aux fonctions Q, D et C dont la définition vient d’être com
plétée. Nous allons montrer que les problèmes T (g, d, c) et
Fig. 1.15
. Ainsi,
0 = min ô(kij), (5.7)
hifiy
où
dij —x(kij) avec x (fc |j)> 0 ,
5(k,j) — xf i t j ) avec £ (/c ij)< 0 , fcf/Ç Z, (5.8)
{ dxn avec kij = k kVL.
La fonction x' ( ) , k tJ Ç K ', définie par les relations (5.6)-(5.8)
est bien un programme du problème (4.1)-(4.4). En effet, la modifi
cation de la même valeur des composantes du programme X le long
d’un certain itinéraire fermé orienté ne peut pas compromettre les
égalités (4.1).
Les règles (5.7) et (5.8) ne permettent pas d ’enfreindre les condi
tions (4.2). Pour ce qui est des restrictions (4.3), leur observation
est assurée par la formule (5.6).
Le passage à un nouveau programme X ' conduit à la modification
de la fonction tf> du coût de transport total d ’une valeur
<D(X')-<D(X) = S l< M * '( M ) - < P u ( * ( M ) l =
hijtv
= S (kliï-xikij))-
Pi --— P* — — Ps 6 3 1 = x (*13) •= 2 ;
0 = min ô (k u ), (5.26)
kijtV
6 (h,,) = -T d ( M — * ( * « ) si x (k U) > °> (5.27)
' * l — x (ku) si x (ku) < 0.
X ' est évidemment un programme du problème T (q, d, c),
et de plus, d’après (5.26) et (5.27), les valeurs x (ku) et x ' (ktj) se
situent sur le même segment de linéarité de la fonction <p;; (x).
Par conséquent,
O (X') — O (X) = cx (y) -0. (5.28)
Par condition, cx (y) < 0. L’itinéraire y se compose de commu
nications de l ’ensemble R x , c’est-à-dire
d (kij) — x {ku) > 0 pour k u Ç y,
et le paramètre 0, qui est le minimum des nombres positifs 6 (&,;), est
positif.
En recourant à l ’égalité (5.28), on obtient
CD (X') - O (X) < 0,
ce qui signifie que le programme X ' est plus économique que le
programme X.
Supposons maintenant que la procédure de construction des
matrices de la suite (5.16) ait conduit au cas 2. Puisque, comme nous
l ’avons montré, le réseau (P, R x) est privé dans ce cas d ’itinéraires
fermés négatifs d’après le critère d ’optimalité, le programme X
est une solution du problème T (q, d, c).
Ainsi, à chaque itération de la méthode des itinéraires fermés,
on établit que le programme disponible est optimal, ou bien l ’on
construit un programme plus économique. Le programme initial
du problème peut s’obtenir en appliquant la méthode du flot maxi
mal ou toute autre méthode.
Puisque l’on suppose que les valeurs des fonctions Q, C et D
sont entières, les grandeurs 0 et cx (y) sont des entiers, et (5.28)
amène
CD (X') - CD ( X ) < - 1 .
76 RÉSEAUX DE TRANSPORT ET PROBLÈMES [CH. 1
§ 6. Méthode hongroise
6.1. L’objet de ce paragraphe est la description d ’une méthode
de résolution du problème T (g, d, c) qui est uneextension de la
méthode hongroise pour les problèmes T et Td ( §§ 5 et6 du chapitre 14
de [87]). Cette méthode consiste en approximations successives de la
solution cherchée à l ’aide des programmes optimaux des problèmes
T (g,, d, c) dont les fonctions qt de fabrication et de consommation
satisfont à la condition
Exercices
1. Montrer qu’un réseau de transport arbitraire se partage d’une façon
et d’une seule en un nombre fini de sous-réseaux connexes maximaux.
2. Montrer que si dans l’algorithme de Minty ($ 2.2) on marque toutes
les communications associées à la valeur minimale de la somme h^ -f- c ^ , tout
itinéraire optimal issu du point pi est alors composé de communications mar
quées.
3. Etablir sur la base de l ’algorithme de Minty une méthode de construction
d’un itinéraire orienté entre les points fixés d’un réseau.
4. Etablir un algorithme pour définir tous les itinéraires orientés à extré
mités fixées.
5. Montrer l ’équivalence des égalités (2.7) et (2.10).
6. Prouver le bien-fondé du procédé de construction des itinéraires opti
maux d’après la matrice C*, exposé au § 2.4.
7. Montrer que si toutes les valeurs de la fonction D sont des nombres
rationnels, l ’algorithme du flot maximal est fini.
8. Enoncer le problème du flot maximal en termes de programmation
linéaire, construire le problème dual et montrer qu’il est équivalent au problème
de la recherche de la coupe minimale.
9. Montrer que la modification de l’algorithme du § 3, exposée au § 3.6,
conduit à chaque itération à la construction d*un itinéraire de pi à piV à degré
d’insaturation maximal.
10. Soient A et B les ensembles des indices des points de fabrication et
de consommation d’un problème quelconque du type Td. Montrer que pour
rendre possible la solution du problème Td, il faut et il suffit que toute partition
des ensembles A et B en A \ A m et B \ B 0 vérifie l ’inégalité
s s du > s bt-
ISA' j£B' »6A’ j£B’
Indication: se servir du théorème 3.1.
88 E X E R C IC E S
«i = (0, . . 0, 1, 0, . . 0) et e} = (0, . . 0, 1, 0, . . 0)
j
respectivement.
94 PR O G R A M M A T IO N L IN É A IR E E T T H É O R IE D E S J E U X [CH. 2
La stratégie optimale d ’un joueur est celle qui lui assure le plus
grand gain moyen possible. On suppose que le jeu développé se
fait sans ruse ni espionnage. Toute modification de l ’information
conduit à un nouveau jeu, pour lequel le comportement optimal sera
autre.
Si le premier joueur choisit la i-ème stratégie pure avec une pro
babilité uh et le deuxième sa y-ième stratégie pure avec la probabilité
wjj le gain moyen du premier joueur est égal à
n m
M( U, W ) = S S a tjm w j^ U A W ,
i=l *=l
où A = || atJ ||m. n est la matrice des gains (matrice de paiement
du jeu).
Le gain du deuxième joueur est donc respectivement — M. La fonc
tion M ([/, W) s’appelle fonction de paiement.
L’extension logique de la notion de solution d ’un jeu au cas de
stratégies mixtes conduit à la définition suivante. Nous dirons qu’un
jeu a une solution en stratégies mixtes s’il existe des stratégies U*
et W * et un nombre v tels que les stratégies mixtes U et W quelcon
ques vérifient les relations
M (U, W*) < M (î/*, W). (1.2)
Posant U = U* et W = W *, on obtient
v = M (17*, W*). (1.3)
Le nombre v s’appelle valeur du jeu.
On voit sans peine que pour démontrer l ’existence d’une solution
du jeu, il suffit de justifier les inégalités (1.2) pour toutes les straté
gies pures et et ej.
En effet, si (1.2) se vérifie seulement pour les stratégies pures,
on a pour U et W quelconques
pures. On a
minmax || au || = min [max ai y],
; i
maxmin || a*y || = max [min a*y1.
* j
La définition de ces notions permet de montrer facilement que
maxmin || atJ || ^ minmax || atj ||.
Cette inégalité se transforme en égalité si et seulement si le jeu
possède un point-selle en stratégies pures (exercice 2).
Dans un jeu où le choix de chacun des joueurs est limité à des
stratégies pures, le gain assuré du premier joueur (qui ignore, naturel
lement, le choix de l ’adversaire) est égal à maxmin || au ||. Le deuxiè
me joueur, tout en ignorant le choix de l ’adversaire, peut l’empêcher
de gagner plus de minmax || atj ||.
Ainsi, le gain du premier joueur, en fonction des stratégies pures
adoptées par les deux joueurs, est compris, dans les conditions consi
dérées, entre maxmin || au || et minmax || atJ ||.
Si par contre le premier joueur obtient une ^information sur les
intentions de l ’adversaire, son gain assuré devient minmax || au ||.
Cela signifie que la différence
g = minmax || au || —maxmin || a tJ II
est l ’accroissement du gain assuré du premier joueur dû à l ’informa
tion sur le choix de l ’adversaire. Pour le premier joueur, cette infor
mation ne présente un avantage que si le prix à payer pour elle
n’excède pas la valeur a. Dans un jeu à stratégies pures avec point-
selle, une information sur le choix de l ’adversaire ne change pas 1*
gain assuré d ’un joueur.
Supposons maintenant que le choix des joueurs ne soit pas limité-
à des stratégies pures. Définissons les notions de «maximin » et de-
« minimax » sur un ensemble de stratégies mixtes. Par définition.
m n
minmax M = min [max 2 2 &uuiWj]i
wj i=al ;=1
m n
maxmin M = max [min JJ S dijUiWj]
ui wj i=l
avec
U |> 0 , i = l,2 , ; = 1, 2, . . . . t , ;
m
S «i = i ; 2 tvj = 1.
t=l j=i
96 programmation l in é a ir e et t h éo r ie des je u x [CH. 2
C = (1, . . . . 1):
--------------V------------ -
t=l
S »f = l, •
;=l
S »? = !•
(U, B )= S «1 = 1.
i—1
On obtient
UAW**Cv.
Multiplions à droite les deux membres de l ’inégalité (2.9) par un
vecteur arbitraire W ^ 0 tel que
(C, tY )= S Wj = i .
i=i
On obtient
U *A W > v.
La comparaison des inégalités ainsi obtenues conduit à la rela-
tion
U A W * ^ v < U*AW,
§ 2] JEU X MATRICIELS ET PROGRAMMATION LINÉAIRE 99
w y?
, ut- m
.s * ? 2 yï
;= l i=»t
La valeur du jeu
2 *? 51 y?
i=l i=l
et
v ->• max,
(UA)j > v, j = 1, 2, . . ., n, (2.13)
m
S Ui = 1, £ /> 0 .
et
YB min
II.
§ 2] JEUX MATRICIELS ET PROGRAMMATION LINÉAIRE 101
yt = i —1, 2, . . . , m ,
Um + j
*? = 7 = 1, 2, . . . , n.
Par conséquent,
U*U > 0.
Ainsi les programmes optimaux du couple de problèmes duals
•déterminent une stratégie U* qui assure l ’observation de l ’inégalité
U*Il ^ 0. D’après le corollaire du lemme 2.1, cela signifie que le
vecteur U* définit une stratégie optimale du jeu qui satisfait aux
•conditions du théorème (u^.n+1 = > 0).
2. Inversement, supposons maintenant que le vecteur U* =
= (u?, . . ., H*m+n+i) soit stratégie optimale d ’un jeu symétrique
a matrice des gains II et de plus, Wm+n+i > Q- Construisons les
vecteurs X* et Y* de composantes
u?
y t- i = 1, 2, . . m;
u ro + n + l ’
<+; J —1, 2, • • • | Bt
xV-
um-fn-f1
D’après le corollaire du lemme 2.1,
u * n > 0.
En utilisant ensuite la relation (2.15), on aboutit aux trois
inégalités vectorielles :
—A X * + B ^0 , (2.16)
YM - C > 0 (2.17)
- Y*B + CX* > 0. (2.18)
(2.16) et (2.17) amènent que les vecteurs X* ^ 0 et Y* ^ 0 sont
les programmes des problèmes duals I et II. En vertu du lemme 1.1
du chapitre 6 de (87], on a,
- Y*B + CX* < 0 (2.19)
pour tout couple X* et Y* de programmes quelconques de problè
mes duals de programmation linéaire.
Les inégalités (2.18) et (2.19) entraînent l ’égalité
CX* = Y*B.
En raison du lemme 1.2 du chapitre 6 de [87], les vecteurs X*
et Y* sont des programmes optimaux des problèmes I et II. Le théo
rème est donc démontré.
Ainsi, la résolution d ’un couple de problèmes duals de program
mation linéaire est ramenée au calcul des stratégies optimales d ’un
jeu symétrique équivalent, ayant une matrice de paiement d ’ordre
m + n + 1.
104 PROGRAMMATION LINÉAIRE ET THÉORIE DES JEUX [CH. ’l
2 *>•=!> (2.20>
n=l **
-î. •
£ i a i x iv M i» .= : V ' (i = l, 2,
)l=l
y»X= 1. (2 . 21)
106 PROGRAMMATION LINÉAIRE ET THÉORIE DES JEUX [CH. 2
t
S “VJ*}" i = 1, 2, . . . , m ;
n=l ** **
t
S « i , jÿJj > V, / = 1, 2, . . ., »
Jl~1 * *
^ont respectées.
Si toutes les conditions considérées sont satisfaites, la collection
•des composantes Xj , y lk définit une stratégie optimale et le nombre
i;, la valeur du jeu. Si non, il faut passer à une autre sous-matrice.
Le théorème de Shapley-Snow ramène ainsi la résolution du jeu à
matrice de paiement A à la révision non ordonnée des systèmes de
m + 1 vecteurs des conditions du problème (2.12) ou de n + 1
vecteurs des conditions du problème (2.13) (c’est-à-dire des sous-
matrices carrées de la matrice du jeu). Pour un jeu au nombre tant
:soit peu important de stratégies pures, la méthode de résolution
résultant du théorème de Shapley-Snow n’est pas efficace.
5 3] MÉTHODES DE RÉSOLUTION DES JEU X 107
»= 1
sous les conditions
m
1» / = 1 ,2 ,
i—1
yi ^ 0, i = l, 2, . . m.
Les composantes u* de la stratégie optimale du premier joueur
sont déterminées à l’aide des composantes y* de la solution du pro
blème de programmation linéaire d’après la formule
yf
Ui — ~ 9 $*= 1j 2, ...,n z .
2 yî -
i=i
Les composantes w* de la stratégie optimale du deuxième joueur
se calculent à partir des composantes x* de la solution du problème
dual selon les formules analogues
W* = — — , 7 = 1, 2 ,.
;=1
Ainsi, les méthodes de programmation linéaire peuvent être
utilisées pour la résolution des jeux sans mise au point particulière.
A la différence de la méthode de Shapley-Snow, qui conduit à
une révision non ordonnée des sous-matrices carrées régulières de
la matrice du jeu, les méthodes finies de programmation linéaire
interviennent dans la solution du jeu par une révision ordonnée et
économique de ces sous-matrices.
Remarquons que pour résoudre un jeu à l ’aide des méthodes finies
de programmation linéaire, il n’est pas toujours avantageux de rame-
108 PR O G R A M M A T IO N L IN É A IR E E T T H É O R IE D E S J E U X [CH . 2
Tableau 2.2
N V Ai An a 3 Ai Ab Ab
1 1 1 2 3 1
1 1 4 1 1
1 2 3 1
3
4 CJ 1 1 1
1
A
A'
B —1 —i
B -3 /4 1/4
L'ordre de résolution du problème est donné dans les tableaux principal 2.1
et auxiliaire 2.2. La solution s'obtient en trois itérations. Le programme optimal
du primai s’écrit
X * = (— J- ± \
\ 37 ’ 37 ’ 37 J •
La solution de son dual (estimation des conditions du problème initial)
est donnée par le vecteur
y .- f ü _L _L\
\ 37 ’ 37 ’ 37 / *
La valeur optimale de la forme linéaire
L (X*) =
20
37
On en tire les stratégies optimales
U* - (0,55; 0,20; 0,25); W* (0,40; 0,35; 0,25).
110 PROGRAMMATION LINÉAIRE ET THÉORIE DES JEUX [CH. 2
de tout le jeu, chacun des joueurs les prend pour les probabilités
avec lesquelles les stratégies pures rentrent dans les stratégies mixtes
de l ’adversaire et choisit une stratégie pure suivante la meilleure
par rapport à la stratégie mixte donnée de l’autre joueur.
Le schéma simple « d ’information par habitude » ainsi décrit
peut être formalisé de la façon suivante.
Supposons qu’après la s-ième partie le premier joueur ait décou
vert que son adversaire a choisi Sj fois la y-ième stratégie pure (J =
= 1, 2, . . ., ri). Pour cette raison, il adopte l’hypothèse que son
adversaire s’en tient à la stratégie mixte WW = (7 »7 * . . . , y j .
(3-2)
où i 5+1 est le numéro de la composante maximale du vecteur A W& ;
jt+u Ie numéro de la composante minimale du vecteur U ^A.
Dans la description du jeu fictif, nous avons supposé que les
deux joueurs fissent leur choix à tour de rôle. Dans la littérature
sur la théorie des jeux, on considère le plus souvent la procédure
itérative dans laquelle les stratégies des deux joueurs sont détermi
nées en même temps. Dans cette procédure, les deux joueurs font
leur premier choix simultanément et, recevant l ’information sur la
décision de l ’adversaire, adoptent simultanément dans chaque partie
consécutive la stratégie pure la plus avantageuse par rapport à la
stratégie mixte élaborée jusqu’alors par l’adversaire.
L’expérience accumulée jusqu’à présent dans la résolution des
jeux montre que la première procédure (avec choix séquentiel des
stratégies) converge beaucoup plus vite que la deuxième (avec choix
simultané des stratégies).
J. Robinson [66] a démontré que dans la méthode du jeu fictif
le gain, après un grand nombre de parties, se stabilise et tend vers
H2 PROGRAMMATION LINÉAIRE ET THÉORIE DES JEUX [CH. 2
Ci Ci
CM
iO o o 8 8 co
o Ci 00
8 8 CM CM 8 CM CM 8 CM co co 8 8 co CM CM
O O O O O O O O O o o o" O O O O o o o O
O CM 00 vn CM Ci
lO
r-
lO
*3*
LO
*3*
O
CO o
c-
NI* Ci
CO uo
CO 00
lO ■M* 3
©
co
co
NI* •3*
"3*
t"- co O CO "M*
•r* ▼*
Ci co co © 00 ID >s* CM o r- CO NI* CM O Ci Ci
tO ID lO ïo NI* *3* ««c* >3* a co co CO 8 co CO co CM CM 8
O O O O O O o O o o o O o O O O o o O O
3
CM
CM CM
o
CM
Ci 2
co lO m
2
co CO
CM CM CM 8 8
CM
co 3 8
O O O O o o o O o o O o O O O O O O O o
00 CM co o co
co co co Ci
CM NI* co 00 o lO co CM Ci r-
CM CM co N? "3* *3* NI* •*3* Nf 5 co 8 co 8
O O O o" o o o O o o O O O O O O o O o O
CO CM
CM
o
CM
o 2
r- r- co lO lO NI* *3* co co co CM C
NM
H
CM CM ^“* ■"N •N '•N
O O O O o o o cT o o o O O o o o O O o O
co CM o co lO
co CO 3 co
r» CO lO *3* NT Ci CM lO CM
2 CM CM 8 8 CO 3 co
O © O o o O o O o o O o o O o O O O o o
Ci co m o 00 lO CO «H Ci lO CM co
lO O CO CO O s r- t— co co co CO lO uo m s m S 3 lO
O O O O o o © o o o o o o o O o o o o o
00 O CM co CM co co co Ci CM 65
CM CM 3 CM 8 8 CO 3 co 8 NI* 3 *3* 8 lO lO lO co
CM CO O CO CM M CM CM
g g g g g g g g g co C
42
CM CM co 3 8 NI* CO CO CO
Ci o CO uo
lO to m lO S
Ci «4
co
[ilfilIqllillilWI^I 3 NI* lO g g g g
CO Ci CM lO 00 m co 00 Ci o CM co co Ci CM
CO 8 CO *3* NT *3* S 3 lO lO lO lO &o co s CO co co CO
s s s g æs s s s s s gggggggggg
cm co io cd t*. -*-• io c i c o t ' « —« i o c i c o - 3 * i o c o
CO CO CO CO CO CO CO I NJ* *x3* *3, l O l O C O C D C O C ^ C ' » C ^ t * -
oo o o nh cm co ns* io ç o r * o Q C î Q - ^ c q c o ^ i o c D
^-i -*-« -^-i CM CM CM CM CM CM C M C M C M C M C O C O C O C O C O C O C O
8*
116 PROGRAMMATION LINÉAIRE ET THÉORIE DES JEUX [CH. 2
Tableau 2.4
S 3] MÉTHODES DE RÉSOLUTION DES JEU X 117
O CD
O
CD
O
co
O
o © ©
© § ©
©_
CO CM
-•v
^4 ©
©_
©
© s © © ©
©
©
© ©
©
O O O O o © © © © ** ©" © © © © © © © © © ** ©
Vf O O © © © CM CM © CO © © ©
Ci 00 Ci 00 a © © © © © © Ci © © © © 00 co
CM CM "TH -«v
CD
r*-
00
t* -
O
s CD
t>-
co co CO
GO
©
c-
•©
©
©
l>
©
t—
t" -
t* -
Vf
F-
CM © CM
00 r-
CO
t" -
**■< — 'TH
o
CM S
O
CM
©
CM
Vf
CM
co
CM
CM
CM
***
CM s CM
©O CM
C ©
CO © 8 CM t>
CM
- CM
© ©CM
©
CM
O O O O O © © © © © © © © © © © © © © ©
Ci CO © co © Vf ©
CM C
coO CO
CM CM
3 CO S 8
CM CO coco co CO co 8 co 8 s CO
O O O O o © © © © © © © o © © © © © o ©
Ci
-c* CO t"
co
O
•M co
* "0* ©
co 8
©
co C co C
©O co O 8 f*
CM ©
co CO CM ©
Vf
a
co
O O O O o © ©* © © © ©’ © © © © © © © © ©
CM O Ci 00 CM © s 8 © © © Vf CO CM
CM CM CM CM CM CM a CM CM CM CM CM CM CM
O O O O o © ©~ © © © © © © © © © © © © ©
_
00
**■* CM
CM CM
O
CM
Ci
•*T-t co
CM
CM
CM CM
©
CM
© GO CO *** co CM C
w © O O CM
CM CM
O O O O o © © © © © © © © © © © © © © ©
a© CD
© 00
© O CM ©
© ©
© © ©
S CM CM
© © © ©
Vf
© © 8 ©
© S ©
© 25 ©
CD CD ©
O o O O © © © ©~ ©* © © © © ©* © © © © © ©
oo
32
35
48
29
37
39
52
56
[sjüHHB 5 vf 8 25 8 © 8 ©
CM CO
CO j | vf *3* ^ VP Vf
s t '- I
CO |
OQ
CO
O
Vf
CM
Nf
O
O CD
CO ©
CO CD CO
.
O S
CO
Vf Vf Vf
ÜJ0 MB CO
©
CD
©
Ci
©
CM
CD
CO
CD CD CD
CM
CO CO |3 8 8 [8 J [^ J [^ J 5 8 8 8 8 8 3 8 » |i ] |s ] |i |
© *co
3* © 1© 11r*- 1 — co © r- © © -^ Icm
63
67
©
68
co co | co | | CO| vp v f v f © © 1© S 8 ©
m
'* -i
00
**-i
O CM
'
O CM
th
—■ S ©
CM
CD
CM CM
00
CM
O
CM
O
CO
**H
CO
CM
CO
CO W O
CO CO CO CO
118 PROGRAMMATION LINÉAIRE ET THÉORIE DES JEUX [CH. 2
200$
Simulta-
nement
Alterna
tivement
Tableau 2.5
Tableau 2.6
s 4.(0 « 8 «*<»>
S / = !» 2, . . . , n; (3.6)
i=i
Tl
Q-iflVj ll| 1 l | 2| • • 1| 171y (3.7)
i—1
u, ^ 0, i = 1, 2, . . ., m; (3.8)
2 « « = 1; (3.9)
i=l
w) > 0, ; = 1, 2, . . n; (3.10)
^2 u^ = l. (3.11)
généralement
Si S P?* (ou 2 ?j5>) est nulle, on peut choisir pour u[s) (res-
»=l ;=l
pectivement pour n’importe quels nombres non négatifs dont
la somme est égale à l ’unité.
Les relations
m n
2 rf> = s îS "= o
»=1 j=1
attestent que la solution est trouvée et qu’il faut mettre fin à la
procédure.
La grandeur aW est un paramètre de commande qui détermine
selon les formules (3.18)-(3.20) le passage d ’une itération à l ’itération
suivante. Le choix de a (8) doit assurer la décroissance de la fonction
<I> d’une itération à l ’autre.
Comparons les valeurs de O pour deux itérations voisines. Il est
facile de vérifier directement que les variables d ’écart (/><8+1), Ç;#+1))
et (P\8\ Qf*) dans des itérations voisines sont liées entre elles par
-des formules du type (3.18)-(3.20) :
P ? +1) = (1 - a M)P? + a WP?,
<#+1) = (1 - a (*>)ÇW + a MQf\
•OÙ
P{i >= S (3.22)
i=l
Ç» = 3 » _ S a i ^ . (3.23)
i=l
§ 3] MÉTHODES DE RÉSOLUTION DES JEU X 123
+J=1
s îf^)+[«“f(S (p ï)r-+ s içfi8).
i=li*=i
Les formules (3.21)-(3.23) amènent
S piW + È s W - o .
i=l i=l
Par conséquent,
®(8+1)< [ l —a ^ ] 2®*8»+ [a <8>]2C<8), (3.24)
où
C<$>= S [P ^ l2+ S i ç f ]2. (3.25)
i=i i=l
Le deuxième membre de l ’inégalité (3.24) atteint une valeur
minimale avec
Q<«
a'<«). (3.26)
Constatons que G><8) ^ 0 et C(8) ^ 0 . C’est pourquoi 0 ^ a <8)^ 1.
Lorsque a <8) provient de (3.26), l’inégalité (3.24) se met sous la
forme
<D<*>£<*>
®<8+1> < QU)
OU
}—l
m
i—1
On en tire
X—[ i > 2 aijwf*— = —X,
i~ l
m
i= l
OU
* -^ > 1 ^ 1 ,
Tableau 2.7
M É T H O D E S D E R É S O L U T IO N D E S J E U X ' 127
Tableau 2.8
Lorsque le choix des stratégies par les deux adversaires est simul
tané, les répétitions commencent déjà à partir de s petits, et lorsqu’il
est séquentiel, à partir de s relativement grands. On peut calculer
le nombre de répétitions successives de mêmes coups par les joueurs
et remplacer par une seule le nombre correspondant d ’itérations.
Alors, à chaque itération l ’un des joueurs au moins appliquera une
stratégie différente de celle de l ’étape précédente. Le nombre total
des itérations nécessaires pour atteindre la précision imposée de la
solution du jeu diminue considérablement.
Lors du choix simultané des stratégies, le nombre Zdes répétitions
successives (longueur de la série des stratégies qui se répètent) est
déterminé après la s-ième itération par le plus petit des nombres
l\ et ZJ, où
i ‘ +[ aih- —ah-k-
oo
-s(U<»A)j—s
J pour
-|
pour &ik
i ‘ +1 L ak"h' ak"j
oo
-1
| pour &h"i < ûfrfc',
pour ûjrj û/r/t' ;
Z= l, 2, . . . , m ; 7 = 1, 2, __ n.
Tableau 2.9
CO CM kO CM kO r^.
CM CM CO 05 co g g CO CM CM CM «PH
«O ««■N O O O O O O O O O O O o o
r>- 00 «4 LO CM t*» co 05
s « g O g O g_ 05 05 O "P* 05 o 00
» CM ^rH
CM CM CM CM CM N CM CM CM
•» g_
kO
00 s
O 05
CO kO CO
CO
00
CM
CO
t> .
t*»
o
co
O o TH ^■1
^ ■
lO CM CM O co CO co
CM O ■M* CO CO s CM CM 8 a CM CM
CO
O O O O O O O O O O O O O o O o
t^- kO r» kO CM 05
CO g co g CM «PH g S g *2 .
CO CM g
O O O O O O O O O O © O O o O o
O CO kO CM CM 00 05 CM co O kO
kO CO CM "5* ■sr CO co CM a CM_ "C*
O O O O ©~ O O O O © O o O o
CO
CO
O
kO
kO
CM «p*
kO CM O co
CM
CM
CO
t>*
CM
o
CM
00 r»
O O O O O O O O O O O O O O o o
O
LO
kO
g_
05 CM CM
CM g
05
CM CM
CM
CM
05 ■"C oCM
C4 8 a .
O
O O O O O O O O O O O ■ O O O O o
O 1.0 t- CM CO •P* CO CM _« O CO kO co PH kO
lO CM th kO CO kO co kO kO co co LO
O O O O O O O O O O O ©~ o o O
■M* LO CM CM
CO
©
CO
© 8
©
OO
©
00
CM
CO
a
e -
co
t'»
^4
e -
© CM CM
t> -
© 8 © © © © © © © © ©_
O O O © © © © © © © © © © © ©~ © © ©
© © tv . t^ - OO
O © 8 3 © © s © S g s 8 oo oo Ci © oo g
CM CM CM CM ** CM CM
S» •M* LO LO CM © Ci co © oo CM co SP CM © CD
CO 00 00 00 © © 00 S OO S oo t»
'TH "T* »■« ^-4 ^■4 T -*
LO ts . © CO CM © © CO © co
CM CM co co co 8 8 CM CM CM CM 8 CM CM CM CM CM
O O O © © © © © © © © © © © © © * © ©~
CO
s •«c*
co
O
s
O
Ci
©
CM 8
©
CM
co
©
Ci
co
©
©
SP
©
©
©
CO
SP
©
sp
©
CO
©
8
©
S
©
CO
co
©
©
CO
©
8
©~
O O
O
co
O
s
O
O
CM
O
©
CM
©
©
©~ ©
©
©
8
©
CM
co
©
CO
© "
CM
co
©
8_
©
8
©
^-4
Sp
© © "
co
© ©
©
-M*
©
LO
CM
©
CM
LO
CM
LO
C 'i
CM
©
CM
Ci ©
CM
©
CM 8 e -
CM CM
©
CM
©
CM S ©
CM
O O O © © © © © © © © © © © © © © ©
LO O © r^ . © LO CM © © Ci oo CO CO © CM © sp
CM S CM CM *»H CM. CM CM CM CM CM CM CM CM
O O O © © © © © © © © © © © © © © ©~
O
LO VP
LO
LO
lO
LO
CM
CO
©
co
©
LO ©
©
© ©©© ©
© t>- © © © ©
CO © ©
O
© CO
O O © ©©©©© © © © © © © © © © ©~
©
CO
CM
e î
CM
§8 O
CM
CM
CO
CO
CO
©
sp Sp Sp
s© s© s©
CM O Ci e- r» © SP s£ co CM CM
© Ci CM CM CM © © © © co r> - o0 CO CO
««H CM CM co co co © co co CO c0 © co co
CM co
co
Ci 0CM0 CO
© co
O V
©
P CO CO
©
Ci
CO
^4
©
CO
co
©
Ci
© ©
CM
a
CM CM CM co co © © © © © © ©
©
CO
O
CO g l-O co co co
t"»
co ©
©
©
©
©
©
oo
CM
O
CM CM co co *3* sp © © g © O
—•
©
CM
CM
0O0 CM
CM
CM
CM
CM
CM
00
© 3
©
sp © OO
co
©
o
oo S
CM CM CM co CO CO co sp *3 * sp © © co
—•
CO
CM
©
s«
CM
o
CM
oo
©
CM
©
Ci
CM
CO
CM
CO
r> -
©
co
©
Ci
CO
S s ©
'C *
©
Ci
co
CM
©
co
oo
©
© t»-
© © © ©
CM sp © CM Ci © CO © r> - © © © ^ ©
«fs
CM sp >5* t* . ©
SH CM
CO
CM
co
CM
'C *
CM
©
CM
0CM0 O CO
CO
— « §
CO
co
CO et
CM
***
OO Ci ©
CM CM
CM
CM
co
CM CM
©
CM
©
CM
t" -
CM
OO
CM
©
CM
O
co
—
co
•
9*
132 PROGRAMMATION LINÉAIRE ET THÉORIE DES JEUX [CH. 2
Suite
§ 3] MÉTHODES DE RÉSOLUTION DES JEUX 133
co
lO O © © © CM CO Vf ©
O ©O s s s s sO s s sO sO
CM © © © CO © ••a*
oo ca © ca © oo © co © a co co © co
— *r« •
,
r* 00
CO
00
CM
00
CM
00
©
00
CM
00
**-«
©
co
©
co 00
© CO
co s
— —
© ira lO Vf ira © © co © ©
CM a CM CM CM CM CM CM a a CM CM CM S
© ca © © câ* câ* câ* câ* O © <©* câ* câ* ©
co
©
co
© câ*
©
"S*
câ*
a
©
a
câ*
co
câ*
©
co
câ*
s
©
a
©
a
câ*
a
O
a .
©
co
©
©
a
©
co
ca
s
©
a
cT
a
câ*
co
©
co
câ*
©
^a4
câ*
CM
**
câ*
Vf
© câ*
©
Vf
©
co
©
9
©
co © co CM © © © Vf © © ©
CM CM CM CM CM CM CM CM CM CM CM CM CM S
© o* © câ* © © câ* câ* © © câ* © câ* câ*
CO CM © © © 00 co © CM CM © ©
CM CM CM CM CM CM CM CM
C^i
© C Î* © © © câ* câ* © © câ* © © câ* câ*
©
©
CO
ira
ca
t>-
©
©
S
câ*
ira
ira
câ*
s
O
©
©
câ*
©
câ*
©
.©
câ*
©
câ*
co
©
câ*
CM
©
câ*
©
©
©
r»
©
câ*
©
©
©
©
Vf
©
©
co
V
O f O
O
Vf
CM £ §
CM CM © O 00 C3
Vf © © CO © CO oo ©
S8 2 •a4 s
CO
CM
CO
CM
co
CM
CO ©
Vf
© ©
©
§8 t- 00
t>-
CM •a 4 ^a4 00
"•V
CM
S
Vf
Vf
©
5
s;
©
©
©
©
CO
© ©
O
CM
CO •a4 CO © t>- © © © ©
t—
CM •a4 ©
Vf s -4 CO
l>-
co
t*-
co CO
©
TH
©
©
CM
© ©
s
o © © CM
■a4 s O 0CM0
CM
CM
t»
CM
sV f
'a 4 s s 00
CO
©
■«rt
O
CM
CM © © © CO CM CD ©
Vf © CM Vf s CM CD co
CO ^a4 Vf
•^PH
© © t" - 00 oo OO ©
'r "
© — O ca © _4 © CM 00
CO
st"* t"- 0CM0 àoo
00 3!
oO
©
co
CM
©
©
©
©
©
S8
ca
©
O ca
O
-H
ca
>3* s
©
©
CD
©
r*.
©
CO
©
©
©
O
co CO CM
O
134 PROGRAMMATION LINÉAIRE ET THÉORIE DES JEUX [CH. 2
En dérivant (4.7), on a
m-j-nt
5 '(6 )!= | Gii(z<fc,+ 0«‘*,) = ( ^ « ‘fc,) + (‘ S ôt (Z<k>+
i=i
H-0^<ft>) t<Pf (^<fc>) + e g<k>).
On voit sans peine que £' (0) est une fonction linéaire par mor
ceaux de la variable 0.
Pour calculer la racine de l ’équation £' (0) = 0, il est rationnel
de disposer par ordre de croissance les points
A<*) = _ <Pf (Zih))
* (A<i>, g<*>) 9
où la fonction £' (0) subit une brisure. Le point 0(ft) appartient au
segment I ^ , 0(ft}+ il pour lequel
V ( ^ V ) > 0 et Ç' ( O < 0;
ô<h) _
Il est facile de vérifier que les valeurs de P$ft) peuvent être calcu
lées d ’après les formules de récurrence suivantes:
p f+1) = pf> + &*>$>.
Pour résoudre un problème de programmation linéaire par la
méthode considérée, le mieux est de commencer les calculs à partir
d ’une valeur de p relativement petite. Pour des p grands, la quan
tité p (Z$?) M ^ tend lentement vers zéro. Si, en vertu des condi-
§ 4] MÉTHODES ITÉRATIVES DE PROGRAMMATION 139
N
ta
-s
Q
O•4
os
—
/
!
/
•"»
//
/
/
-
-
**
CJ
•
CO
co
«O
(N
O ?
O «ta
C
®
c —
-
O
O
O
O
0 ,5 0 ,5 0 ,5 0 ,4 0 6 7
O
0 ,2 0 3 3
O
0 ,2 0 3 3 0 ,2 0 3 3
t"-
-0 ,2 2 0 0 - 0 , 0 1 6 7 O
o.
O
co
- 0 ,1 8
t^
1
0 ,1 1 4 5
1
o
o
o
s
CM
O
s
r-
0 ,2 2 3 9
1
l^-
O
O
0 ,2 0 4 4 0,1831 j
00
O
00
-0 ,1 1 0
CO
1
1
- 0 ,1 2 5 0 ,0 3 7 6
1
s
o
o
o
o
o
S
0 ,2 1 9 9
CO
0 ,2 0 2 7 0 ,1 7 7 7 - 0 ,1 5 8 3 - 0 ,0 5 7 2
00
1
0 ,0 4 0 2
CO
0 ,1 1 5 3
1
o
o
o
O
s
6 ,2 2 1 9 O
lO
O
0 ,2 0 7 3
O
- 0 ,0 6 1 5
2
1
lO CO
CO
1
- 0 ,0 1 3 9
1
- 0 ,0 3 6 9 0 ,0 3 7 4
3
o
o
o
o
8
o
o
co
0 ,2 2 0 5 0 ,2 0 6 8
O
co
0 ,1 7 2 6
CM
- 0 ,1 5 1 9
O
«4
O
1
0 ,0 1 1 9
1
1
oCO
S
o
o
co
o
o
o
O
f-
O
o
s
r-
1
O
1
0 ,2 0 8 2
O
0,2212
O
CO
- 0 ,0 0 4 3
^-4
^«4
0 ,0 3 7 0
-a*
o
o
o
o
o
o
o
o
7 0 ,2 2 0 8
8
8
co
co
0 ,2 0 8 0
O
- 0 ,1 4 9 7
lO
O
1
1
t—
- 0 ,0 0 3 4 0 ,1 5
PROGRAMMATION LINÉAIRE ET THÉORIE DES JEUX
o
oo
©
o
o
o
r-
s
o
0,2211
i
8 0 ,2 0 8 5
1
- 0 ,1 4 9 4 - 0 ,0 5 4 8
1
00
O
- 0 ,0 0 3 2
1
o
O
CO
9 0,2210 0 ,2 0 8 5 r^-
«------
[CH. 2
§ 41 MÉTHODES ITÉRATIVES DE PROGRAMMATION 143
Tableau 2.12
144 PROGRAMMATION LINÉAIRE ET THÉORIE DES JEUX [CH. 2
Exercices
1. Montrer que tous les points-selles d’une matrice de paiement détermi
nent la même valeur^ du jeu.
2. Démontrer l ’inégalité
max min|| a^|| ^ min max|| ||.
Montrer que cette inégalité se transforme en égalité si et seulement si la
matrice de paiement possède un point-selle.
3. Démontrer l ’inégalité
max min AI ^ min max M f
où AI = M (U, W) est la fonction de paiement du jeu. Montrer que cette iné
galité se transforme en égalité si et seulement si le jeu possède un point-selle
(£/*, W*).
4. Soit || au|| ^ 0 la matrice de paiement d’un jeu. Montrer que pour que
la valeur du jeu v soit positive il faut et il suffit que chaque colonne de la matrice
compte au moins un élément positif.
10—0776
146 .EXERCICES
*? =
Il-U II
»
1= 1,
biCJ ’
m; / — 1 , 2 , .. ny
xj > 0, j = 1, 2, 3, 4 , 5.
xj ^ 0, 7 = 1, 2, 3, 4, 5.
18. Montrer que le couple de problèmes duals de programmation linéaire
(2.12)-(2.13) est équivalent a un jeu matriciel à matrice de paiement A .
Chapitre 3
PROGRAMMATION PARAMÉTRIQUE
Introduisons la notation:
A ji— 2
«=i 8 8
771
Ajo = 2 ^i Xi j Cj»
s= l 8 8
Il vient
Aj (X) = Ajx + XAj2»
La base étant optimale pour X — X0,
Aj (X0) ^ 0, j = 1, 2, • . ., n,
c’est-à-dire que le système d’inégalités
Aji + XAjz ^ 0, j ='■ 1, 2, . . ., n (1.4)
est compatible. Pour tout Ay2 < 0 , les inégalités du système peu
vent être mises sous la forme
Introduisons la notation:
max ( *Jl \
X= Aj2>0 ' /’
{ — oo si tous les A;2^ 0 ;
(1.5)
min Àjl \
X = Aj2< 0 a* / ’
2 c’ixJ (1*9)
j=i
sous les conditions (1.2)-(1.3) et sous la contrainte supplémentaire
X] = 0 si ; $ / , (1.10)
où / est l ’ensemble des indices j tels que
a}0 (X) = o.
Etant donné ensuite que la méthode primale du simplexe rend le
cyclage impossible, on aboutit à la condition
Pour Afe2 = 0, les relations (1.12) sont respectées quelle que soit
la valeur du paramètre; le problème (l.l)-(l.3) n ’a pas de solution
sur tout l ’axe desX. Si Afc2> 0 , les conditions (1.12) sont observées
pour toutes les valeurs de
X<Xt= Ajti .
Aft2 ’
si par contre Ah2 < 0, ces conditions sont vérifiées pour tout X > Xt.
Donc, pour Aft2 > 0, le problème (1.1)-(1.3) n ’a pas de solution
à gauche de X{, et avec A*2 < 0 il ne l ’a pas à droite de X{. Posons,
pour fixer les idées, Aft2 > 0 (la deuxième possibilité demande un
examen analogue). L’analyse du problème paramétrique sur la demi-
droite X ^ Xi débute par la résolution du problème pour X = Xt en
partant de la base disponible. Si la procédure s’achève par l ’obten
tion d’une base optimale, l ’étude ultérieure s’effectue conformément
aux recommandations du cas 1° données ci-dessus. Mais si cette pro
cédure prend fin en révélant l ’absence de solution du problème :
Ai (^i) = Aii + XlAi2 < 0, (1.13)
x'is 0 pour i = 1, 2? . . m,
la marche de l ’analyse ultérieure dépend du signe de Ai2. Dans le cas
où As2 < 0, les conditions (1.13) définissant l ’absence de solution
restent valides pour tout
X Ko = Ki
As2
Compte tenu du fait que dans le cas présent Xt est plus grand que
X2 et que le problème paramétrique, comme on l ’avait établi aupara
vant, n ’a pas de solution à gauche de on aboutit à la conclusion
que le problème étudié est insoluble pour toutes les valeurs du para
mètre X. Cette même conclusion est justifiée évidemment pour A^ =
= 0.
Si par contre AJ2 > 0, les conditions d ’absence de solution (1.13)
restent vraies pour tout X<i X2, et de plus, X2 > Xt. Lorsque cette
éventualité se réalise, on en tire la conclusion que le problème (1.1)-
(1.3) n’a pas de solution à gauche de X2 et l’on passe à l’examen du
cas X = X2. La marche à suivre ultérieurement est déterminée par
les règles déjà décrites, à cette différence près que Xi est remplacé
par X2. En un nombre fini d’étapes (cf. exercice 2), on établit que le
problème (1.1)-(1.3) est irréalisable sur toute la droite X, ou bien,
ayant obtenu la base optimale pour une certaine valeur du paramètre
X, on se retrouve dans les conditions du cas 1°.
Ainsi, la méthode décrite permet dans n ’importe quel cas de pour
suivre jusqu’au bout l’exploration du problème paramétrique en un
nombre fini d’étapes.
158 PROGRAMMATION PARAMÉTRIQUE [CH. 3
^9
O O O cm O ca
oo CM CM CM » ça O
O *!■* -TH o CM LO
1 1 7
O Ca CM ça ça -O O
00 O CM ira so
o O
5* 1
o ca ça O
«■«* » CM
CM o LO
co 1 co
Ca O
co
îo CM CO CO - CM
O 00
1 1 1. 1
% CM CM
CM
ca CO
lo O) CM
1 1 1•
Ca
O LO
LO CO CM CM '«H CM CO
cï CO cm
1 1 1 1
O .O co co co
CO co
o co «*■* co* CM
sfo O 1 i s CM sr 1
M»
— CI *n
~v
< N < <
« lO <S N
< < <1 <T < < < <
<
1 1 1
*<
CM <<
co
1 1 1 1 1 1 + + i 1
CM •
1
lO CO - CM CO lo CO - CM CO *3* LO CO
t t
11-0776
162 PROGRAMMATION PARAMÉTRIQUE [CH. 3
Dans la ligne
(rtg) le plus petit élément répondant à des valeurs
négatives de Aj2 est égal à 2/65 et correspond au vecteur des conditions Ai,
et le plus grand élément répondant à des valeurs positives de Àjs est égal à —9/2
et correspond au vecteur A 5.
Par conséquent, une base, optimale avec X = 0 , reste encore une base
de la solution du problème sur le segment [—9/2, 2/65]. Pour se déplacer à gauche
le long de Taxe X, il faut introduire dans la base le vecteur A 5, et pour se déplacer
à droite, il faut introduire le vecteur Au Ajoutons d'abord à la base le vecteur A 5.
On voit dès la première itération que tous les Aj2 sont non positifs. Cela signifie
que la base A 5 , A8, A 4 , optimale avec X = —9/2, constitue encore une base
de la solution pour tous les points de la demi-droite [— 0 0 , —9/2]. Introduisons
maintenant dans la base de la solution correspondant au segment —9/2 <
^ X ^ 2/65 le vecteur des conditions Au Dès la première itération, tout Aj*
devient non négatif. Cela signifie que la base A 2 , A 8, A u optimale avec X = 2/65,
constitue encore une base de la solution pour tout X appartenant à la demi-droite
[2/65, 0 0 ].
Ainsi, pour le problème considéré, l’axe X peut être divisé en trois parties.
Pour les points de la demi-droite [— 0 0 , —9/2], la base de la solution est com
posée des vecteurs A 4 , A 5, A«, le programme optimal est égal à X = (0, 0, 0, 1,
4, 16, 0), et le maximum de la forme linéaire est égal à 4. Sur le segment
[—9/2, 2/65], la base optimale est constituée des vecteurs A 2 , A 4, Afl, la solu
tion est égale à X = (0, 8/19, 0, 39/19, 0, 292/19, 0) et le maximum de la forme
148 “I* 16X
linéaire est égal à ----- ^ ------. Enfin pour les points de la demi-droite [2/65, 0 0 ],
la base de la solution est composée des vecteurs A i, A 2 , A 6 , le programme opti
mal est égal à X = (13/3, 4/3, 0, 0, 0, 68/3, 0) et la valeur maximale de la forme
linéaire est égale a 22 ,
§ 2. Cas B =, B 9 + jiB"
2.1. La figure 3.2 représente pour le cas le plus simple {m = 2)
la deuxième interprétation géométrique de la résolution du problème
de programmation linéaire. Son programme optimal répond au point
supérieur M d’intersection de la droité Q et du cône polyédrique K
dont les arêtes correspondent aux vecteurs complets des conditions
du problème.
Ajoutons au vecteur des contraintes B ' le vecteur ydB”. Le dépla
cement du point d’intersection de la droite Q et du plan UiOu2 pro
voque le déplacement du point supérieur d’intersection de la droite Q
et du cône polyédrique K .
S 2] CAS B — B' + \lB~ 165
x} > 0, ; = 1, 2, . . ., n. (2.3)
Au lieu du problème (2.1)-(2.3), on aurait pu, certes, examiner son
dual (dans lequel le paramètre p ferait partie de la forme linéaire)
et l ’explorer en faisant appel aux conclusions du § 1. Toutefois, nous
préférons recourir ici à une analyse indépendante du problème
(2.1)-(2.3), fondée sur la méthode duale du simplexe.
De même que dans la méthode duale du simplexe, la procédure
de calcul consiste à se déplacer suivant les bases des pseudoprogram
mes du problème (2.1)-(2.3).
Rappelons qu’on appelle base d’un pseudoprogramme ou pseu
dobase un système de m vecteurs des conditions linéairement indépen
dants par rapport auquel les critères de sélection de tous les vecteurs
des conditions du problème sont non négatifs. Si, pour une certaine
valeur du paramètre p, les coefficients de décomposition du vecteur
des contraintes du problème (2.1)-(2.3) selon les vecteurs de la pseu
dobase sont non négatifs, cette pseudobase constitue alors la base
optimale du problème pour p considéré. Par analogie avec le para
graphe précédent, appelons ensemble d'optimalité d ’une pseudobase
l ’ensemble complet des valeurs du paramètre p telles que la pseudo
base considérée soit optimale.
Etudions le problème (2.1)-(2.3) pour p = p 0 en nous guidant
par les règles de la méthode duale du simplexe. Finalement, on aura
construit la base optimale pour p = p0 (cas 1°), ou bien l ’on aura
mis en évidence l ’incompatibilité des conditions (2.2)-(2.3) pour
p = Po (cas 2°).
Le cas où, la forme linéaire étant infinie, le problème n ’a pas de
solution réalisable ne présente aucun intérêt. Le problème est alors
$ 2] CAS B — B ' + HB" 167
et avec x™ < 0
x (1 >
p<-
X3Ü ’
X <2)
(
*a><° - * •
oo si tous les x8o > 0 .
Le système des inégalités (2.5) étant résoluble, p, ^ p,.
La pseudobase considérée est optimale pour celles et seulement
pour celles des valeurs de p, qui sont vérifiées par le système d’inéga
lités (2.5). Par suite, l ’ensemble d’optimalité de cette pseudobase
se compose de toutes sortes de valeurs finies de p, qui vérifient la
168 PROGRAMMATION PARAMÉTRIQUE [CH. 3
condition
^ < H < H-
On obtient ainsi la proposition suivante.
T h é o r è m e 2.1. L'ensemble d'optimalité E (p, p) de la base
considérée est bien défini par les nombres p et p calculés d'après les
formules (2.6) :
si p > fi, E (p, p) est un ensemble vide ;
si jx = |A, E (p, p) est le point p = p = p ;
si —oo < ji < p < oo, E ((x, p) est le segment [p,pt];
si p = —oo, p < oo, E (p, p) est la demi-droite (—oo, p] ;
si p > —oo, p, = oo, E (fx, p.) est la demi-droite [p, oo);
si p = —oo, p = oo, E (p, p) est toute la droite.
Il est facile de s’assurer que chacune des 6 éventualités du théorè
me 2.1 peut avoir lieu (cf. exercice 5). Examinons maintenant le
problème (2.1)-(2.3) à droite du point p = p (pour p < p la procédu
re est analogue). Tout ceci n ’a naturellement de sens que si p < oo,
c’est-à-dire si parmi les il y a des nombres négatifs. Pour tout
p Ç E (p, p), le pseudoprogramme X (p) à base A iv A lv . . ., A lm
est solution du problème (2.1)-(2.3). Avec p > p, une ou plusieurs
composantes de base du pseudoprogramme X (p) peuvent devenir
négatives. Soit xr0(p) la première des composantes du pseudopro
gramme qui change de signe. Pour elle, < 0 et ,
— . { xiô) \ (2.7)
— 4 xj + 5x2 — 2x 3 + 3x4 ^ 5 + 3p ,
xj ^ 0 , j = 1 , 2 , 3 , 4 .
Introduisons les variables supplémentaires non négatives x5, xfl, X7
et ramenons aux égalités les conditions-inégalités.
Pour ii = 0, le programme de base initial est évident. Aussi est-il plus
commode ae calculer la base de la solution du problème à l’aide de la méthode
primale du simplexe. Le passage de la base initiale A 5 , Ae, A 7 à la base optimale
pour p = 0 , (A 2 , Ae, A 3 )* se fait en trois itérations. Le vecteur des contraintes
se décompose par rapport aux bases des programmes de base en complétant les
colonnes A J et AJ. A chaque itération consécutive, les composantes x{*> se
calculent à partir des valeurs correspondantes obtenues à T itération précédente
suivant les mêmes formules de récurrence que celles utilisées pour le calcul de x(l).
La colonne
/
(—
*il\- J ne se complète qu*après le calcul de la base optimale pour
10
n = 0. ,0
La procédure de résolution du problème, qui utilise le premier algorithme,
est donnée dans le tableau 3 .2 .
La troisième itération établit la base optimale du problème pour p = 0 .
Les coefficients de décomposition du vecteur des contraintes par rapport à la
base A 2 , A a, A 3 sont égaux respectivement à xio = 1 + p» * 2 0 = 17 — 6 p,
5 + !5&».
La valeur p .2 s’obtient dans la première case de la base, qui correspond au
vecteur >12. Les coefficients de décomposition xtj de tous les vecteurs des condi
tions par rapport à la base sont non négatifs. Conformément au critère d’irré-
§ 2] CAS B = B + \iBm 177
§ 3. Cas général
3.1. Dans les paragraphes précédents nous avons étudié
de près deux problèmes paramétriques simples dont l ’explo
ration nécessite un nombre fini d’itérations de la métho
de primale ou de la méthode duale du simplexe. Ce qu’il
y a ici de commun, c’est que dans les deux cas l ’axe du paramètre est
balayé successivement par des ensembles connexes jointifs, dont
chacun constitue par rapport au système donné de vecteurs des
conditions soit l ’ensemble d’optimalité pour une base fixe (pseudo-
CAS GENERAL 179
possibles :
a)?< ï'; b) ? > « %
a) Dans le premier cas, on effectue une étape de la méthode duale
du simplexe pour le problème (3.4)-(3.6) avec t = t. Le vecteur A lr
à retrancher de la base est défini par la relation
X<i>
rO
2)
= min (3.11')
X (rO *«?<0 x
b) Dans le deuxième cas, on effectue une étape de la méthode
primale du simplexe pour le problème (3.4)-(3.6) avec t = t. Le
vecteur A h à inclure dans la base est donné par la relation
Am min ( Am 0. (3.12)
Am *j2<o ' ) '
S’il arrive que
x rj ^ 0 pour 7 = 1 ,2 , . . ., n dans le cas a)
ou
x ik ^ 0 pour i = 1, 2, . . ., m dans le cas b),
on note alors que le problème est irréalisable à droite de t [dans le
premier cas l ’incompatibilité porte sur les conditions du problème
dual par rapport à (3.4)-(3.6), dans le deuxième, sur celles du problè
me (3.4)-(3.6) lui-mêmej.
En appliquant les considérations exposées plus haut, il est aisé
de voir que la procédure proposée permet d’assurer l ’exploration
complète du problème paramétrique (3.4)-(3.6) en un nombre fini
d ’étapes. Nous laissons au lecteur le soin d ’effectuer les raisonnements
correspondants (cf. exercice 11). L’algorithme que nous venons d’exa
miner permet de calculer successivement toutes les valeurs de la
fonction
/ (t) = max [ S ( c ’j + te]) Xj\,
x j=l
où le maximum est pris par rapport à X qui vérifient les conditions
(3.5)-(3.6). Cet algorithme permet de démontrer sans peine la pro
position suivante (exercice 10).
T h é o r è m e 3.1. Supposons que le problème (3.4)-(3.6) ait
une solution pour plus d'une valeur de t . Alors:
a) le domaine de définition E de la fonction f {t) est soit une droite,
soit une demi-droite, soit un segment ; f (t) est continue sur E ;
b) l'ensemble E est coupé par un nombre fini de points tt {points
critiques) en ensembles E t {segments ou demi-droites s'il y a au moins
un point critique), sur chacun desquels f {t) = dtit2 + di2t + dl3.
184 PROGRAMMATION PARAMÉTRIQUE [CH. 3
2 Cjxj (3.13)
j=l
sous les conditions
n
xi (A't + tA"ù + Y, xj Aj = B ; (3.14)
i=2
xj ^ 0, j = 1, 2, . . ., n. (3.15)
Selon l ’usage, l ’exploration débute par l ’analyse du problème
pour une certaine valeur du paramètre t = t0. L’étude préalable
débouche sur l ’un des trois résultats:
1) construction d’une base optimale composée de vecteurs d’indices
lit »
2) mise en évidence de l ’incompatibilité des conditions du pro
blème ;
3) obtention d’une forme linéaire infinie sur l ’ensemble des
programmes du problème.
Nous n ’examinerons ici qu’une seule éventualité, puisqu’un exa
men complémentaire de deux autres cas n ’apporterait rien de nouveau
en principe à l ’algorithme de résolution du problème.
Supposons donc qu’on ait le cas 1). Calculons les coefficients de
décomposition x u (it) des vecteurs des conditions du problème et du
vecteur A 0 = B par rapport à la base disponible et composons les
critères Aj (t) = x m+it j (J). Considérons par convention i8 ^ 2
avec s = 2, 3, . . ., m. L’écriture des fonctions x ( t ) (i —
= 1, 2, . . ., m + 1 ; j — 0, 1, . . ., n) varie suivant que le
vecteur
-^î (0 = + A\t
entre ou n’entre pas dans la base donnée.
Si it = i et si le système de vecteurs A], A\t , . . A , m est
linéairement indépendant,
t-tij
Xl) t —t* ’ £= 2, 3, . . m-f-1 ; ; = 0, 1, .
xu (t) = (3.16)
xu
i t —t* ’
i = l, 7 = 0 , 1, . . . , n.
Si ii = 1 et si le vecteur A \ est une combinaison linéaire des
vecteurs A it, A u , . . ., A im,
x u (t) = xiy + txlf, i = 1, 2, . . ., m + 1 ; ; = 0, 1, . . . n.
(3.17)
§ 3] CAS GÉNÉRAL 185»
Si ii > 1,
_ f x lji î — 2, m; = 0, 2 , . . .
*U (0 = ., m j = 1- (3.18).
W r h i = 1, 2,
Z*, x n \ x ?\ sont ici des constantes.
Les relations (3.16) et (3.17) sont une simple conséquence des
formules bien connues de Cramer.
On voit que dans le cas considéré les éléments des tableaux de
programmation linéaire peuvent dépendre non linéairement du para
m ètre/. Toutefois, le caractère spécifique de cette dépendance non li
néaire [xu (t) sont des fonctions homographiques de mêmes dénomma-
teurs] permet quand même d’élaborer un algorithme assez économique
de discussion du problème (3.13)-(3.15).
Déterminons le domaine d ’optimalité de la base disponible.
Soit d’abord ix = 1 et le système de vecteurs A\, A\t , . . ., A im
linéairement indépendant. D’après (3.16) les conditions d ’optimalité-
x i0 (t) > 0, Aj (t) > 0
se mettent sous la forme
*‘-07=— > 0 . *= 2, 3.........m ; (3.19).
7 = 1.2.......... »• (3-20)
Si x i0 =£0, le signe du dénominateur Z — Z* étant constant (il
doit coïncider avec le signe de x10), on aboutit à la conclusion que
l ’ensemble d’optimalité de la base fondamentale est connexe. Dési-
gnonspar^etZ les bornes inférieure et supérieure de l’ensemble d ’opti
malité (ces bornes se calculent sans peine). Pour t* différent de J et Z,
l’ensemble d’optimalité est fermé, c’est-à-dire coïncide soit avec une
droite, soit avec une demi-droite, soit encore avec un segment
qui peut dégénérer en un point. Lorsque Z* se confond avec l ’un des
nombres J , Z, l ’ensemble d’optimalité de la base fondamentale est
soit une demi-droite, soit un segment privé d ’une de ses extrémités.
Si x l0 = 0, le vecteur B est une combinaison linéaire des vecteurs
u4ja, A ia , . . ., A im. Le cas le plus probable est que parmi les vecteurs
des conditions du problème n’entrant pas] dans la base fondamenta
le il se trouve au moins un vecteur A j tel que x {J (Z0) # 0. Dans ce
cas, en remplaçant dans la base le vecteur Ai (Z) par A j, nous ne
changerons pas les composantes du programme de base disponible
tout en amenant une situation qui répond à la formule (3.18). Il peut
arriver toutefois que tout vecteur des conditions A), j ^ 2 soit une
combinaison linéaire des vecteurs Ai*2 7, . . .,7 A\ m . Il est clair alors
que les premiérs membres des inégalités (3.19)-(3.20) ne dépendent
186 PROGRAMMATION PARAMÉTRIQUE [CH. 3
pour fixer les idées, que cet intervalle soit (ti9 11 + e). Cherchons la
solution du problème (3.1)-(3.3) pour t = tt + e, où e est un nombre
positif suffisamment petit. On prend pour base fondamentale celle
qui est une base optimale pour t = tt — e. Il faut utiliser de plus
les recommandations données dans les paragraphes 3.3 et 3.5. Con
formément. à ces recommandations, on obtient en quelques itérations
de la méthode primale et (ou) duale du simplexe une base optimale
pour l ’intervalle fo, tt+ e), ou bien suivant les propriétés d ’un certain
système de vecteurs des conditions on révélera que dans ce mémo
intervalle le problème est irrésoluble.
Pour la nouvelle base fondamentale on procède d ’une façon analo
gue. Il en résulte un ensemble des valeurs du paramètre tel qu’il
garde les propriétés de la base fondamentale qui ont lieu pour l ’inter
valle (£t, ti + e) (conditions d’optimalité ou de solution irréali
sable).
On choisit ensuite l’un des points frontières de l ’ensemble des
valeurs étudiées du paramètre t, dont un voisinage aussi petit que
l ’on veut contient des points qui n ’appartiennent pas à cet ensemble.
En partant de ce point, on définit le nouvel ensemble d ’optimalité-
ou de solution irréalisable.
La procédure s’achève après un nombre fini d’étapes, puisque le
nombre total des bases du problème qui peuvent être composées
de m vecteurs des conditions est fini.
Finalement, le problème paramétrique sera exploré pour toute la
marge imposée de variation du paramètre t, sauf, peut-être, pour un-
nombre fini de points. Dans certains cas une discussion spéciale du
problème est nécessaire pour ces valeurs particulières du
paramètre.
Notons que les valeurs particulières du paramètre sont caracté
risées par la propriété suivante : avec t = t*, les systèmes de vecteurs
des conditions qui engendrent les ensembles d’optimalité ou de solu
tions irréalisables et qui adhèrent des deux côtés au point singulier
t* sont linéairement dépendants.
Le schéma de l ’algorithme énoncé peut être transposé à une classe
suffisamment large de relations non linéaires des conditions du
problème et du paramètre t. Ceci concerne, par exemple, le cas où les-
conditions du problème constituent des fonctions analytiques du para
mètre.
L’hypothèse d’une dépendance analytique entre les données
du problème et le paramètre t assure qu’avec un e > 0 assez petit
une base optimale du problème pour t = t x + s reste optimale pour
tout t 6 (*i* U + e], et les conditions d ’irrésolubilité du problème
avec t = ti + e se conservent pour tout t Ç (fl7 ti + el. Cette con
clusion résulte d’une propriété connue des fonctions analytiques:
un point où une fonction non identiquement nulle est analytique
ne peut être une limite pour les zéros de cette fonction.
CAS GÉNÉRAL 191
xi (0 = 51 (0
2*2 + 48/ + 2 0 0 0 ^
ÊW 5/2 + 294/ +2200 ^ •
52(0 *2 + 236/ + 700
x2 (0 = 5 /2 + 294/ +2200 ^ *
6(0
Ô3 (Z) — 3 /2 — 1 2 0 / + 1500
A,(0=- g (/) 5 /2 + 2 9 4 /+ 2200
8 / 2 + 144/ + 580 ^
A4(/) = MO 5/2 + 294/ +2200 ^ '
6(0
Dans l ’expression relative à xt (/), le numérateur (*) est positif pour
toute valeur reelle de /. La condition xj (/) ^ 0 est remplie si on vérifie lfiné-
galité
l (/) = 5/2 + 294/ + 2200 > 0,
ou
(* + 8 ,8 ) (/ + 50) > 0.
Cette dernière inégalité a lieu si
t < —50 ou / > —8 ,8 .
La condition x 2 (Z) > 0 est compatible avec la condition xj (/) > 0 pour
I 2 (0 ^ 0 . La valeur approchée de cette relation s’écrit
(/ + 3) (/ + 233) > 0.
On en tire
/ ^ —233 ou / > —3.
13-0776
194 PROGRAMMATION PARAMÉTRIQUE [CH. 3
Tableau 3.4
5 3] CAS G É N É R A L 195
Tableau 3,5
196 PROGRAMMATION PARAMÉTRIQUE [CH. 3
*M
* *D
C* CM
COS3 C •M
T ■*N
»
-} + + + + + + +
«
O 8 vp + 8 vj>
m 1
8CM 00
CM KO
«• «•* £s
+
+
c3 + CM + C*
•S + + + S + +
CM •a* 1 vp CM 8
e+u +
« T
«H 00
«
0
1M S
C + ** CO ^M
uè CD
+ ** £5 V? 4" + C
- •M
?+ + + *fV•>* 8 + +
vp VP •«tf c?
e+u
«+
*«* 00 T
lO
O
C M s
• 8t*- "C
+ oS +«<• C
*>»
M + «* CM
£3 •«3* + +
O £CM+ H"
VP + VP
+
+ + + 1 *+4» +
vp
+ § *3* +l !
e+u eu
O +
ci
C
** i
cS
H *r n *9 *9
Q 1 i i
***
CD
f + • i
oH 8
1
1 8 1t 1
ï 1
CM <1 CM <3 CM <i
î5
t 1 U t
198 PROGRAMMATION PARAMÉTRIQUE [CH. 3
§ 4. Applications de la programmation
paramétrique
4.1. Il existe pour plusieurs modèles particuliers de programma
tion linéaire des méthodes spéciales de discussion qui tiennent comp
te de la structure de leurs matrices des conditions. Ces méthodes
spéciales auxquelles on associe le problème de transport, le problème
d’affectation, etc., simplifient nettement la procédure. Mais que l’on
ajoute aux conditions de ces problèmes particuliers une condition
au moins de type général, et ces méthodes spéciales simples perdent
leurs avantages et ne peuvent plus être utilisées directement. On
voudrait, naturellement, pouvoir appliquer les méthodes économi
ques de résolution du problème particulier correspondant à la discus
sion d’un problème plus complexe. Nous allons montrer dans ce qui
suit que l ’application des principes de programmation paramétrique
permet quelquefois de ramener l ’exploration d’un problème de pro
grammation linéaire à un modèle particulier qui lui est apparen
té [23].
Considérons le problème de programmation linéaire qui consiste
à maximiser la forme linéaire
2 CjXj • (4.1)
; '= i
S djxj^C d. (4.4)
i=i
Supposons que les conditions (4.2) aient une structure simple,
de sorte qu’il est facile d’effectuer la discussion du problème (4.1)-
(4.3) pour n ’importe quelles valeurs des coefficients c j à l ’aide de la
méthode primale du simplexe spécialement adaptée à ce modèle.
Le problème (4.1)-(4.3) diffère du problème simple (4.1)-(4.3) par une
seule condition de type général. Montrons comment utiliser, pour
résoudre le problème (4.1)-(4.4), la méthode élaborée pour l ’étude des
modèles du type (4.1)-(4.3).
S 4] APPLICATIONS DE LA PROGRAMMATION 199
2 (cJ’—hdj)zj (4.5)
j=i
sous les conditions (4.2), (4.3).
Supposons pour simplifier l’analyse que l’ensemble, des points
X défini par les conditions (4.2), (4.3) soit borné et constitue, par
conséquent, un polyèdre convexe.
L’algorithme de programmation paramétrique exposé au § 1
ramène la discussion de la famille de problèmes Ax (X ^ 0) au dé
coupage de l ’axe des X positif en une série de segments [0, XJ,
[Xj, X21, . . ., [X*_i, XJ et une demi-droite X ^ Xa tels que pour
tout X £ [Xfe_t, XJ le programme X k (k = 1 ,2 , . . ., s) est une
solution du problème Ax et le programme Xa+Î *) une solution du
problème Ax quel que soit X ^ Xa. Nous avons vu au § 1 que le
passage du programme X* au programme X h+1 s’effectue en une ou
plusieurs itérations de la méthode primale du simplexe adaptée au
problème défini par les conditions (4.2), (4.3).
Nous allons énoncer et démontrer quelques propriétés des pro
grammes X*, qui permettent d’utiliser ces derniers pour la cons
truction de la solution cherchée du problème (4.1)-(4.4).
L e m m e 4.1. Lorsqu'on passe du programme X k au programme
Xfc+1, la valeur de la forme linéaire
n
2 djXj
3= 1
décroît, c'est-à-dire
Lk = 2 djx<k) > Lk+i = 2 d j x f ^ \ (4.6)
;= l i= l
D é m o n s t r a t i o n . Le programme Xft+j est une solution
du problème Ax avec Xfc < X < Xfa+1. Le programme X h ne constitue
pas une solution du problèmè dans cette marge de variation du para
mètre. C’est pourquoi
*) Dans un cas particulier, l ’ensemble des segments peut être vide. Dans
ce cas, Xa = 0.
200 PROGRAMMATION PARAMÉTRIQUE CCH. 3
tels que
cj — Xhdj< 2 dijiu, / = 1, 2, . . . , n ;
(4-14)
cj — \ hd j = 2 û i# / si x * > 0 .
i=l
Les conditions (4.14) et l'égalité (4.13) traduisent le fait que les
nombres \iu \l2, . . pm, Xfe > 0 sont les critères de sélection des
conditions du problème (4.1)-(4.4). Par conséquent, le programme X*
est une solution de ce problème, ce qu'il fallait démontrer.
L e m m e 4.3. Si
Ls+1 = 2 djx/*+» > d,
7=1
les conditions (4.2)-(4.4) sont contradictoires.
D é m o n s t r a t i o n . Soit X un vecteur arbitraire qui vérifie
les conditions .(4.2), (4.3). Conformément aux notations adoptées,
le vecteur X5+1 est une solution du problème A * avec X ^ Xs. Par
suite,
Ici
m m
y il 1 , 2 , . . n ;
sont les coefficients de décomposition du vecteur Aj par rapport
aux vecteurs de la* base A\v Ai2, . . ., Ai m du programme X*
obtenu à la J-ième itération. Pour chaque programme X*, on calcule
L, = S dj xf .
j=l
La procédure s’achève par la construction d’un programme Xj
qui vérifie l ’une des deux conditions
1° L/_i > d, Li ^ d ;
2° Lt > d, Aÿj ^ 0 pour tout /.
Dans le cas 1°, le programme
X* = aXj_i + (1 - a) X/ (4.17)
avec
d —Lt
CL — — L;
(4.18)
S dj xf ' xi ,
j=i
la procédure de résolution s’effectue d’après les règles déjà décrites.
Mais si
S djxT<d,
i= 1
il faut procéder à la discussion des problèmes A * avec K ^ 0. C’est
pourquoi le choix du vecteur à inclure dans la base à la Z-ième ité
ration est déterminé non par la relation (4.16), mais par la condition
A<'> A#
Aha < 0. (4.20)
Afc2 A $<0 aj2
S S c i j x iJ (4.21)
i=i j=i
sous les conditions du type « transport » ;
n
S X i j = a i , i = l, 2, . . . . m ; (4.22)
i=J
m
2 x ij = bj. /= 2, ***r A t (4.23)
î
XU > 0, i = 1 , 2, . . ., m; j = 1 , 2, . . ., n, (4.24)
204 PROGRAMMATION PARAMÉTRIQUE [CH. 3
A il2< 0 , (4.26)
A<‘>
toJoa A& <0 ' W
ou
a!*', _ c„ - (4" - «*!") ; àl% = du - (4° - Ï S ”).
Posons
m n
i= l j= l
La procédure prend fin à la Même itération si
1° i d, Li ^ d
ou si
2° L t > d, Ayo ^ 0 pour tout i et /.
Dans le cas 1°, la solution X* du problème (4.21)-(4.25) est
définie par les relations (4.17), (4.18), dans lesquelles il faut entendre
par X t le programme de transport construit à la 2-ième itération.
Dans le cas 2° on enregistre l’incompatibilité des conditions (4.22)-
(4.25).
§ 4] APPLICATIONS DE LA PROGRAMMATION 205
S C)Xj (4.27)
7=1
sous les conditions
n+1
S A jxj = B; (4.28)
j= l
Xj > 0, 2, . . ., n + 1 .
7 = 1 , (4.29)
Supposons qu’un type particulier de la matrice
A = {A{, A 2, . . A n)
rende possible l ’application d’un algorithme spécial, suffisamment
économique, se basant sur la méthode duale du simplexe à la réso
lution d’un problème de programmation linéaire à matrice des
conditions A.
Si l’on pose que a^+1 = p est le paramètre et si l’on met les
conditions (4.28) sous la forme équivalente
n
S A}xj = B — (X/4n+J, (4.30)
i=i
il devient alors possible d’utiliser l’algorithme de programmation
paramétrique exposé au § 2.
Nous donnerons le schéma général de la procédure en supposant
que les conditions (4.29), (4.30) sont compatibles pour tout p ^ 0
{cf. exercice 20, où l’on propose au lecteur d’éliminer la contrainte
indiquée).
1. Cherchons la solution du problème (4.27)-(4.29), dans lequel
xn+1 est posé d’avance égal à zéro. Si le critère de sélection du vec
teur A n+i par rapport à la base optimale obtenue est non négatif,
le programme construit est une solution du problème (4.27)-(4.29).
Dans le cas contraire, on passe au stade suivant de la procédure.
206 PROGRAMMATION PARAMÉTRIQUE [CH. 3
2 CjXj (4.32)
i=l
sous les conditions
n
2 = Z= 1, 2y • » RI) (4.33)
j=l
(4.34)
§ 4] APPLICATIONS DE LA PROGRAMMATION 207
*2>0. (4.39,
*k2 AW>0 a52
208 PROGRAMMATION PARAMÉTRIQUE ÜCH. 3
On sait (cf. paragraphe 1.6) que fi (X) (f2 (X)) est définie dans
le cas considéré sur l ’axe tout entier et constitue une fonction con
tinue linéaire par morceaux, convexe vers le bas (vers le haut).
Désignons par X>Y et Xjfè les solutions du problème de maximi
sation de la fonction L^ (X), sous les conditions (4.41), (4.42),
pour des disposés respectivement sur les segments IX, X -f- el
et IX — e, XI, où e est un nombre positif suffisamment petit. (Il
est clair que e doit être choisi de sorte que les intervalles (X, X + e)
et (X — e, X) ne contiennent pas de points critiques de la fonction
U (*)•)
Introduisons de façon analogue, en partant du problème de
minimisation de L (X) et sous les mêmes conditions
x % et X g .
Les vecteurs X£l et X$J> (Xj?i et XJ.2) ne diffèrent que si X est
un point critique de la fonction U Uz)-
Soient f'u {X) et /'12 (X) les dérivées à droite et à gauche de la
fonction f t (X) ; /21 (X) et f '22 (X) les dérivées à droite et à gauche de
la fonction f 2 (A.). De la définition des vecteurs X l ) découlent les
égalités
rit w = l 2 (x $ ), / ; 2 (X) = l 2 (x $),
f ’21 (X) = L z (X<f>), f'22 (X) = L z (X g). (4-46^
L’algorithme de résolution du problème (4.40)-(4.42) se fonde
sur certaines propriétés des fonctions fi (X) et f 2 (X). Ces propriétés
se déduisent de deux propositions auxiliaires.
Soit gmax(<7min) la valeur maximale (minimale) de L 2 (X) sous
les conditions (4.41), (4.42).
Désignons par r la face supérieure de la fonction R (X) avec
X 6 M et par r (g) (q # 0, gmlll < q ^ qmax) la face supérieure
de R (X) avec X 6 M , L 2 (X) = q.
L e m m e 4.4. Soit q ^ 0 un nombre arbitraire compris entre
9 m in 6 ^ 9m ax*
Si q > 0 et si X est déterminé par les conditions
/ h ( X ) < g < f h (X), (4.47)
il uient
r(q) = R (ocX<y+ (1 - a ) X<‘>), (4.48)
ou le coefficient a se calcule d'après la relation
aL 2(X<>>)+(! - a ) L 2 (X$) = q. (4.49)
Si q < 0 et si X est défini par les conditions
fa W, (4.50)
1 4 -0 7 7 6
210 PROGRAMMATION PARAMÉTRIQUE [CH. 3
alors
r(q) = R (aXg) + (1 - a ) X%, (4.51)
ou le coefficient a se calcule d'après la relation
a L 2 (XQ) + (1 - a) L 2 (XQ) = g. (4.52)
D é m o n s t r a t i o n . 1. Puisque le dénominateur de la
fraction R (X ) est fixé et constitue un nombre positif, pour justifier
(4.48) il suffit de s’assurer que le vecteur
X ! 2 - « * ! iŸ + < < - “ > * »
où À et a sont déterminés respectivement d ’après (4.47) et (4.49),
est une solution du problème de maximisation de L t (X) sous les
conditions
X 6 M, L 2 (X) = q. (4.53)
Les relations (4.46), (4.47) et (4.49) conduisent aux inégalités
0 < a < 1.
Par conséquent, XQ est une solution du problème de maxi
misation de Z/x (X) sous les contraintes (4.41), (4.42), du fait que
cette condition est vérifiée par les vecteurs XQ et XQ. Il est main
tenant facile d’établir la propriété d ’extrémum cherchée du vecteur
Xi1 * à l’aide des raisonnements utilisés lors de la démonstration du
AOC
lemme 4.2 (se servir à cette fin du critère d ’optimalité du pro
gramme XQ).
2. Soit q < 0. L ’égalité (4.51) est justifiée par des raisonne
ments analogues à ceux qui ont été donnés plus haut; il n ’y a qu’à
remarquer que lorsque la fraction R (X) a un dénominateur fixé
négatif, son numérateur doit être aussi petit que possible. Le lemme
est ainsi démontré.
Soit X une valeur quelconque du paramètre tel que /'n (X) > 0.
Introduisons l’ensemble £Q des nombres q > 0 qui vérifient les
contraintes (4.47). Si k n ’est pas une valeur critique de la fonction
/i (X), l’ensemble EQ se compose du seul point
q = /'n W = h 2 (*).
Dans le cas contraire, EM est soit un segment \f\2 (X), /'u (X)I
lorsque /!•» (X) > 0, soit un demi-intervalle (0, /'u (X)], lorsque
f\ 2 (X) < 0 .
De façon analogue, introduisons pour un point quelconque X
tel que /', (X) < 0, l ’ensemble E £1 composé des nombres q < 0 qui
vérifientles inégalités (4.50). L ’ensemble E{£* est lui aussi soit un
point, soit un segment, soit encore un demi-intervalle.
§ 41 APPLICATIONS DE LA PROGRAMMATION 211
où A< / ) et A(/ > sont les critères relatifs au vecteur Aj associés aux
formes linéaires L x (X) - c et i 2 (X) — d respectivement.
Il se peut que Xi soit une solution du problème A^i pour toutes
les valeurs de X. Alors, d’après la deuxième partie du théorème 4.1,
le vecteur Xj est une solution du problème (4.40)-(4.42). S’il n ’en
est pas ainsi, l ’axe X est découpé en ensembles ô/+1 = ( —oo, XJ,
ôz = [Xz, XZ_J, . . ., ô2= 1^2, XJ, ôt = IXlf oo); de plus, on cons
truit pour tout + 1 un programme de base X/ qui est
une solution du problème A^t avec X Ç ôz. La marche ultérieure
de la procédure est déterminée par le signe de gmin = L 2 (Xz+J .
3.a.a. Soit L 2 (Xz+ J < 0 . Nous sommes alors en présence des
conditions de la première partie du théorème 4.1. Pour rendre le
problème possible, il faut justifier les restrictions
h = Xj, Lu (X ,) = Lu (X2) = 0. (4.70)
Si les égalités (4.70) ne sont pas respectées, le problème (4.40)-
(4.42) n’a pas de solutions réalisables. Mais si les relations (4.70)
ont lieu, on vérifie alors les conditions
Xi est une solution du problème A^%pour X ^ Xlt
X 2 est une solution du problème A^2 pour X ^ X^
Lorsque ces conditions sont vérifiées, cela signifie que le pro
blème (4.40)-(4.42) est possible et que le vecteur Xj en donne la
solution.
§ 4] APPLICATIONS DE LA PROGRAMMATION 217
S Cjxj (5.1)
j=»l
sous les conditions
n
S ^ljxJ = frf* 1= 1 ,2 ,...,7 7 1 , (5.2)
J=1
xj ^ 0, ; = 1 , 2 , . . ., n . (5.3)
Désignons par
/ cji frf)
la valeur maximale de la forme linéaire (5.1) sous les conditions
(5.2), (5.3), associée, naturellement, à tous les éléments cjy bt
(i = 1, 2, . . ., m ; j = 1, 2, . . ., n) de la matrice complète
des conditions du problème A .
S’imposant une certaine direction A = {ô,y, 60</, 6i0} de varia
tion des paramètres aiJy cj, bt du problème A , introduisons la dérivée
/a cj* frf) de la fonction / ( a êj 9 Cj, b{) le long de la direction A.
Conformément à la définition connue de la dérivée par rapport
à la direction
/Â (flih cj, h) = <PÂ(0) = lim (5.4)
t-H-0 1
où
Ç W = / (a u + frf + * ô ,o ).
Il est logique de supposer à cet effet que le problème A (i) dont
la matrice complète des conditions se compose des éléments atj +
+ t6u , cj + tà0J et bt + tbi0 (i = 1, 2, . . ., m ; / = 1, 2, . . ., n)
ait une solution pour t 6 10, to], t0 > 0, et que la relation (5.4)
ait une limite.
Les dérivées / a caractérisent l’influence des fluctuations des
paramètres du problème sur la valeur optimale de sa forme linéaire
et sont souvent utilisées dans les applications.
Le présent paragraphe est consacré à l’établissement des relations
qui associent les valeurs des dérivées aux solutions et aux critères
du problème A — A (0). Les formules données ci-dessous permettent
de calculer les dérivées /a sans explorer au préalable le problème
A (t) pour t > 0 et ont une grande valeur pratique.
220 PROGRAMMATION PARAMÉTRIQUE [CH. 3
£R j
X = ' % a hX k, a*>0, (5.10)
a
II
fe=1
et
N2
SRI
y = 2 Pft>0, (5.11)
II
respectivement.
En transformant l ’expression (5.8) pour T (X, Y) à l ’aide des
relations (5.10) et (5.11), on a
Ni Na Ni Na
r ( x , Y ) = s ahdQh+ s 2 2 < *M k, (5.12)
ferai irai ferai «=1
Ni Na
2 a fe= ^» 2 p8 = l» ttfe^O, Pa^O, (5.13)
ferai 8=1
ou
on a
Ft (Xt, Y t) > Ft (X0, Y t) =
= F 0 (Xo, Y t) + tT (X0, Y t) > F 0 (X0, Y 0) + tT (X 0, Y t), (5.31)
Ft (X t, Y t) < Ft (Xt, Y 0) =
= F 0 (Xt, y 0) + tT (Xt, Y 0) < F 0 (Xo, Y 0) + tT (Xt, Y 0).
(5.32)
Les inégalités (5.31) et (5.32) amènent la relation
r(x „ , - < r ( x t, y 0). (5.33)
D’après le lemme 5.4,
limp(X<, Gx ) = lim p (Y t,Gr ) = 0 .
Par conséquent,
X( = Xi + AXt, Yt = Ÿ, + à Y t,
où L (5.34)
limIAX<I = limIAV*1= 0 ; X t £Gx , Y t Ç.Gr .
£->0 £-*-0
La représentation (5.34) et le fait que les ensembles Gx et GY
sont bornés permettent d ’établir les critères suivants pour les nom
bres T (X0, Y t) et T (X,, Y 0):
r ( x 0, y £ ) > r ( x 0, Y t) + s t > m i n r ( x 0, y ) + eu
Y£Gy
(5.35)
T ( X tj y 0) < r {Xt, Y 0) + e î< max T (X, Y 0) + e I
«Cy
où
lim Et = lime* = 0 ;
£-♦0 £-*0
Et et Et ne dépendent pas de X 0 et y 0.
Compte tenu des inégalités (5.33) et des critères (5.35), on obtient
t't+ min r (X 0, y ) < <p(0,~ cp(0) < max T (X, r 0) + ei'. (5.36)
y ecy 1 xecx
Rappelons que les inégalités (5.36) sont déduites pour n ’importe
quels points X 0 d Gx ~ Gx (0) et Y 0 d GY = GY (0). Donc
e't + max min T(X, Y ) ^ l ^
X£G V YÇGy *
5 5] SENSIBILITE DES SOLUTIONS DES PROBLEMES 227
J L si df > 0 ,
* J dbï dbï
ôatj ~ *j df si J L < 0 ,
1l! edf‘ i • dbï dbï
(5.43)
» JL df
det dbt si
V
p
df dbt
dati " df J L df < 0 .
dej * dbt si dbt
15*
228 PROGRAMMATION PARAMÉTRIQUE [CH. 3
Q
r»j
dcî ' '*iUV
df df
- 'Ao(i)’
i' ±.
~ U ï ( iy
dbî dbî
J l __ df
/ â+(ü), — /Â-(ü)-
daîj daîj
Par suite, d ’après le théorème 5.1, les dérivées considérées existent
toutes; de plus,
d df
i r = m a x i j , - t- — max ( — x j)= min xj,
dcî xegx 3 dcJ X£GX X£GX
df
min y,, JL — min ( —y*) = max y/,
âbi yçGy dbî Y£Gy Y&y
df
max mm ( — xjyi) = f
• i _ v — XiminVimax Si IJi max ^ 0 ,
ij X £ Gx Y £ G y y — Xjm axyim ax SI J/im ax^Q *
Gy (t) = { yi = 0, y 2 = t si *>0,
ÿi > 0, ÿ2 = 0 si t = 0.
Pour l ’exemple considéré, la fonction <p (t) = t, t ^ 0. Par consé
quent,
dq>(!)
/i dt 1=0
= 1,
où la direction A = (6^, 60J, ô/0} se construit d’après les coeffi
cients de t dans les conditions du problème A :
f 1 si t = 0, / = 1,
à,j = s —1 si t = 1, / = 2,
v 0 dans les autres cas.
Pour l’exemple considéré, la fonction’ T (X, Y) s’écrit
T (X , Y) — Xi -f- y,z2.
230 PROGRAMMATION PARAMÉTRIQUE [CH. 3
r ( x , Y ) = S ôo}x j+ 2 <W,.
7=1 i= l
En supposant que la première somme soit bornée supérieurement
sur l’ensemble Gx et que la deuxième soit bornée inférieurement sur
l’ensemble Gy, on a
min max T (X, Y) = max min T (X, Y) =
■ Y£Gy X£GY X&x Y£Gy
n m
= max ( S à0jXj) + min ( 2 ô/oÿ/)-
X€GX 7=1 Y€Gr i=l
T h é o r è m e 5.3. Soit le problème A = A (0) à solution réali
sable. Si A £ H, Vexistence de la dérivée f \ est équivalente à la vérifi
cation des conditions
n wt
sup ( 2 ô0jXj) < 00 » inî ( S Ô-'Oyi) > — °°, (5.44)
X6Ga- j = l 01 1 YÇGy i= l
ou, ce gai revient au même, à la présence d'un point selle dans la fonc
tion T (X, Y). Lorsque les conditions (5.44) so/if respectées,
n m
/k = max ( 2 Soi*/) + min ( 2 ôioÿi)- (5.45)
x g c A- j = i recy 1=1
SENSIBILITÉ DES SOLUTIONS DES PROBLÈMES 231
= 2
3= 1 A«>=0
2 3=1
c’est-à-dire n
sup 2 SojXj = oo. (5.50)
X£GX ; = 1
alors que
n
2 XrjXj > 0.
j= 1
Notons que le vecteur Y (0) = Y i + Qen où er est la r-ième
ligne de la matrice inverse à celle de la base, constitue un programme
optimal du problème A quel que soit 0 ^ 0 . En outre,
m m
lim 2 <Wi (e) = lim [ y>f>ioy\l)+ x $ Q ] — oo,
8-too i —1 0-*-oo i =i
234 EXERCICES
c ’est-à-dire
m
inf S ô / 0y / = —» . (5.51)
Y£Gy t=l
Il n ’est plus difficile maintenant d ’achever la démonstration du
théorème. Supposons que les conditions (5.44) soient vérifiées.
Alors (5.50) et (5.51) rendent impossible la réalisation des cas b)
et c). Nous sommes donc ramenés au cas a), et, comme on l ’a montré,
la relation (5.45) est respectée.
Mais si les conditions (5.44) ne sont pas observées, le cas a) est
impossible [cf. (5.48) et (5.49)J, et donc c’est le cas b) ou le cas c)
qui se réalisent. Comme il a été montré, dans chacun de ces cas la
fonction cp (J) n ’est pas définie pour des t positifs et par suite, la
dérivée /a n ’existe pas. Le théorème 5.3 est ainsi démontré.
Constatons que la proposition du théorème 5.3 est vraie notam
ment pour les dérivées-^4 — »et — . Toutefois son exten-
dcj dbi dcj dbi
sion aux dérivées et -^4- ne semble pas possible. Nous pro-
daij daij
posons au lecteur de s ’en convaincre par lui-même en construisant
un exemple correspondant (cf. exercice 26).
Exercices
1. Montrer que chacune des éventualités indiquées par le théorème 1.1
est possible.
2. Démontrer que l ’algorithme de programmation paramétrique du § 1
est fini sous la condition que la procédure de calcul du problème (1.1)-(1.3) avec
X = Âo aboutisse au cas 2°.
3. Explorer le problème
L (X) = (1 — 2X) i , + ^ : + i 3 - ( 2 - X) x 4 -*■ max,
3xi — xz + 2 x 3 + 5x4 ^ 10,
xj + 3 x3 + x 4 ^ 6 ,
2 xj — 3 x 2 — X3 ^5,
xj > 0, j = 1, 2, 3, 4,
pour toutes les valeurs du paramètre X.
4. Montrer que la fonction / (X) du théorème 1.3 est convexe vers le bas.
5. Montrer que chacune des éventualités indiquées par le théorème 2.1
est possible.
6 . Démontrer que l’algorithme de programmation linéaire du § 2 est fini.
7. Discuter le problème
L (X) — 2xi — X2 -J- 5 x 3 4~ £ 4 — max,
xj 4" 2x2 4- X3 -f" 3x 4 ^ 1 0 4" 3p,
4xi — xz 4 - 2 x 3 4- * 4 < 7 — p,
3x2 4- * 3 — 2x4 ^ 2 + 5p,
xj 3* 0, / = 1, 2, 3, 4
pour toutes les valeurs du paramètre p.
EXERCICES 235
S .2 eu xv
* ( * ) = - 3i=~l r l— -*■mM’
S S duxu + d
4 i=,i=1
2 x» = ° i’ *= 1 . 2 , 3 ;
1
3
y , Zij — bj* / — f* 2, 3, 4 ;
i= l
î= 2, 3 ; / = !, 2, 3y 4,
236 EXERCICES
OÙ
3 5 2 8 4 13 2
Ik ti 11= 7 4 10 3 0 5 0 4
6 8 5 7 3 0 6 0
(«i, azy <13) == (10, 20, 25) ; (6 , f 6 2 , 6 3 , 6 *) = (12, 6 , 19, 18) ; d = 1.
22. Composer un algorithme de résolution du problème (4.40)-(4.42) muni
d’une contrainte supplémentaire sur le dénominateur de la fraction R (X)
du type
p, < L2 (X ) < p2.
23. Démontrer que si le problème (4.40)-(4.42) comporte un maximum
local, différent du maximum global, la face supérieure de la fraction R (X )
sous les conditions (4.41), (4.42) est égale à 1*infini. Donner un exemple de
problème du type (4.40)-(4.42) ayant un maximum local différent du maximum
global.
24. Montrer que si l ’un au moins des ensembles Gx ou GY est non borné
pour une certaine direction A la fonction 9 (t) n’est pas définie avec t :> 0,
c ’est-à-dire la dérivée /k n’existe pas.
25. Construire un problème de programmation linéaire et une direction A
tels que la fonction 9 (t) soit définie pour f > 0, la fonction T (X, Y) ait
un point selle et la dérivée /k n’existe cependant pas.
26. Montrer que la proposition du théorème 5.3 ne peut pas être étendue
aux dérivées et — .
da\j ^aij
27. Soit 9 (0 la valeur maximale de la forme linéaire
2
j=i
sous les conditions
n
2 al ] ( t) xJ = bi ( 0 . »= 1, 2 , . . . . m ,
j= l
*]> 0 , ; = 1 , 2 , . . . . n.
et A (t) le problème définissant la fonction 9 (*)•
Montrer que si les ensembles des solutions Gx (to) et GY (to) des problèmes
A (to) et A (to) sont bornés, et si chacune des fonctions cj (*), bt (t), a tj (t) a une
dérivée à droite en to , il existe une dérivée à droite de la fonction 9 (0
n t = to, et de plus
iii£oL= r(x*, r*h
où (X*, Y *) est un point selle de la fonction T (X, Y ) sous les conditions
(X, Y ) 6 Gx (to) X Gy (to) ;
28. Supposons que les conditions (4.41), (4.42) assurent soit la non-néga
tivité, soit la non-positivité de la fonction Lz (X). En utilisant le théorème 4.1,
démontrer la proposition suivante (Schvartzman A. P.).
Un programme de base X* (Lz (X*) 0) à base B est solution du pro
blème (4.40)-(4.42) si
L, (X*)
>0, / = 1,2 ., n.
A f £*(**)
où Aj1> et A$* sont les critères de sélection du ;-ième vecteur des conditions
par rapport a la base B aux coefficients de la forme linéaire définis par L\ (X)
et Lz (X) respectivement.
Chapitre 4
/
5 H MÉTHODE DE DÉCOMPOSITION 239
§ 1. Méthode de décomposition
1.1. Considérons le problème de programmation linéaire de type
général qui consiste à maximiser la forme linéaire
L = (C, X) (1.1)
sous les conditions
AX=B, (1.2)
X ^O . (1.3)
C = (cu c2, . . ., cn) est ici le vecteur-ligne de dimension n ;
B = (bu bz, . . ., bm+mj)7» le vecteur-colonne de dimension
m -f- mi ;
-4 = || au ||, la matrice des conditions de dimensions (m-f mj) X
X n;
X = (xi, x 2y . . ., :rn)T, le vecteur-colonne de dimension n.
Divisons les contraintes du problème en deux blocs dont le
premier comprend les m premières contraintes, et le deuxième les
contraintes restantes. Désignons par A {0) et A n) respectivement
les matrices des conditions associées aux deux blocs, et par B l0>
240 P R O G R A M M A T IO N P A R BLOCS [C H . \
J
sont respectivement les vecteurs des conditions et le vecteur des
contraintes du Z-problème.
Pour résoudre le Z-problème, il n’est nullement nécessaire de
connaître tous les vecteurs Py. Il faut seulement avoir à sa dispo
sition à chaque étape m + 1 vecteurs des conditions du Z-problème
qui constituent sa base courante. Quant au vecteur à inclure dans
la base, son choix est guidé, comme nous allons le voir, par la résolu
tion d ’un problème auxiliaire de programmation linéaire soumis
aux conditions (1.6), (1.7). C’est en cela que réside la nature meme
de la méthode de décomposition.
La résolution du Z-problème détermine univoquement le pro
gramme optimal du X-problème. Le vecteur X*, solution du X-pro-
blème, se calcule à l ’aide des composantes z% du programme optimal
16-0776
242 PROGRAMMATION PAR BLOCS [CH. 4
A chaque p ro g ra m m e d e b a se d u Z -p ro b lè m e , o n p e u t fa ire c o r
r e s p o n d r e u n X A -p ro b lè m e q u i c o n s is te à m a x im is e r l a fo rm e lin é a ir e
sous les conditions (1.6)-(1.7). Nous allons voir que la valeur opti
male de la forme linéaire (1.27) peut être utilisée pour tester l ’opti
malité du programme de base du Z-problème qui a engendré le
XA-problème correspondant.
En effet, la valeur de la forme linéaire sur les programmes de
base du XA-problème (nous les avons désignés par Xv, v = 1, 2, . . .
. . ., N) est liée par des relations simples aux critères Av des vec
teurs des conditions du Z-problème :
L a (Xv) = (CA, Xv) = (C - A^4(0\ Xv) = CXV - (A^<°>), Xv).
L ’utilisation de (1.11) et de (1.12) ainsi que de la formule (1.24)
entraîne
L a (Xv) = a v - (A, P v) = X - Av. (1.28) -
Une relation analogue a lieu également pour le programme de
base optimal du XA-problème:
L a (Xv*) = 'A - A**. (1.29)
La condition d ’optimalité du programme de base Xv* s’écrit
L a (Xv*) > L a (Xv) pour v = 1, 2, . . ., AT,
ou, en vertu de (1.28) et (1.29),
A v * < A v, v = 1, 2, . . ., N. (1.30)
Par conséquent, si Av* ^ 0, alors tout Av ^ 0. Cela signifie
que pour tester l ’optimalité du programme de base du Z-problème,
'il suffit de résoudre le XA -problème qu’il a engendré et de comparer
la valeur optimale de ZA (X) avec le critère K. (Constatons que
l ’inégalité Av* > 0 est impossible, puisque, en substituant à v
dans (1.30) le numéro de l ’un quelconque des vecteurs de base du
Z-problème, on obtient Av* ^ 0).
Le programme de base étudié du Z-problème est optimal si
L a (Xv*) = X.
Mais si LA (Xv*) > K il faut passer à un programme de base
voisin du Z-problème, à valeur plus grande de la forme linéaire
(1.13). L ’inégalité (1.30) montre que le vecteur P k associé au pro
gramme de base optimal Xv* admet le plus petit critère relatif
Av* = X — Z»a (Xv*) 0.
On introduit ainsi dans la base du Z-problème le vecteur Pk tel que
Ainsi, 0dans
si Xv
le correspond
cas général àle une arête non
Z-problème se bornée
ramène de l ’ensemble
à la maximi
sation de laGforme
(v = Nlinéaire
t + 1, . . N).
N
y 0v3v
V=1
sous les conditions
N
y/ I iWr
v*v —
— -O
R <°) *
V=1
Zv^-0, v — 1, 2, •••} Nj
OÙ
= Ai0)X v-, ctv = (C, Xv). (1.37)
Considérons le vecteur
Xv —( X\j, .. •, xpj, 0, . . . , 1, . •., 0).
j
248 PROGRAMMATION PAR BLOCS [CH. 4
i=l
D’autre part, la définition du critère de sélection du vecteur des
conditions du XA-problème amène
P<>=
En introduisant dans le système d ’inégalités (1.42) m variables
supplémentaires z\ ^ 0 (i = 1, 2, . . ., m), on obtient la collection
suivante de vecteurs des conditions, qui peut servir de base initiale
du Z-problème:
0 1 0 . .. 0
0 0 1 . .. 0 0 Em
{Po, P\, P'„ . .. P'm) =
1 0
0 0 0 . .. 1
1 0 0 . .. 0
bien plus grand. Il faut alors faire appel à l ’un des procédés décrits
au § 6 du chapitre 7 de [87J, où l ’on trouve les méthodes de calcul
du programme de base initial.
Il est parfois plus simple de déterminer le programme du X(1>-pro-
blème que son programme de base. Il en est ainsi, par exemple,
dans les cas où, pour quelque raison que ce soit, il est rationnel de
résoudre le X(1)-problème par la méthode itérative. Dans des cas
semblables, il est utile de tenir compte des considérations suivantes.
Soit gp, (fi = 1, 2, . . ., q) le programme du X(1>-problème
(qui n’est pas, en général, un programme de base). Introduisons les
notations
= U ?U = ( ' ^ 7 j •
S Pv3v+ S = (1.44)
V=1 |X= 1
Zv>0, v = 1, 2, . . . , N, 1
(1.45)
>0, | i = l , 2, . . . , ç, /
est équivalent au Z-problème. C’est pourquoi on peut prendre comme
programme de base initial du Z-problème n ’importe quel système
linéairement indépendant de m + 1 vecteurs des conditions du
problème (1.43)-(1.45) jouissant de cette propriété que les compo
santes de décomposition du vecteur des contraintes B (0) par rapport
aux vecteurs de ce système sont non négatives.
1.5. Ebauchons maintenant le schéma de calcul de la méthode
de décomposition.
La résolution du problème débute par la division du système
des conditions du problème en blocs dont les dimensions sont déter
minées par la capacité de la mémoire à accès immédiat de la machine
utilisée pour le calcul du programme optimal. Lors de la division
de la matrice A des conditions du problème en matrices A i0) et
A a\ il est logique d ’inclure dans le deuxième bloc les conditions
conduisant à la matrice A (1) la plus « rare » possible. Ainsi on réussit
généralement à simplifier le calcul des programmes optimaux des
X A-problèmes aux différentes itérations de la résolution du Z-pro
blème.
Comme on l ’a déjà indiqué, le Z-problème se résout d ’après les
règles du deuxième algorithme primai du simplexe. Toutefois, les
§ 1] MÉTHODE DE DÉCOMPOSITION 251
a0= 0, />«>=( J ) .
$ IJ MÉTHODE DE DÉCOMPOSITION 253
Tableau 4.1
2,276
1,310
Lf = 21,931
5H MÉTHODE DE DÉCOMPOSITION 255
Tableau 4.2
256 PROGRAMMATION PAR BLOCS [CH. 4
0 0 • • • élA(*>
où A{t) = || à # || est une matrice de dimension mt X nt *).
La structure diagonale par blocs de la matrice A<*> simplifie
la résolution des XA-problèmes et justifie la division des conditions
du X-problème en deux groupes.
Dans le cas de la matrice, diagonale par blocs il est commode
de mettre le X-problème sous la forme
L = S (C“\ r ' ^ m a x ( 2 . 1)
4 .5
Tableau
§ 2J CAS PARTICULIERS ET MODIFICATIONS 261
2 2 = (2.15)
1=1 V=1
(2.16)
*-(£)■
(2.17)
MD*
et est le vecteur unité de dimension s avec l ’unité figurant à la
t-ième place ;
le vecteur de dimension s à composantes unités.
La solution du Z-problème détermine univoquement le pro
gramme optimal du X-problème. Si les nombres z${t> définissent la
solution du Z-problème, les vecteurs
(2.18)
La (X*) = S Lg>(X“>).
(=i
Les valeurs optimales des formes linéaires des XA-problèmes
sont utilisées pour tester l ’optimalité du programme de base du
Z-problème et pour reformer la base du Z-problème si le programme
exploré n ’est pas optimal.
Considérons plus près l ’ordre de formation d ’un XA-problème
et de construction du critère d ’optimalité du programme de base
du Z-problème.
A chaque itération du Z-problème, on détermine le vecteur A
(de dimension (m + s)) des critères de sélection des conditions du
problème par rapport à la base du programme de base étudié.
$ 2] CAS PARTICULIERS ET MODIFICATIONS 263
P*i = (2.29)
CAS P A R T IC U L IE R S E T M O D IF IC A T IO N S 265
S P ÿ }zi*>+ s 2 (2.34)
t=i t= iv = » l
4^ > 0, v = 0, 1, . . ., N t ; t = 1, 2, . . s; (2.35)
Z(a+1) > 0. (2.36)
Ici
Ë = [ fm)
\ 0 ,x m /
En supposant non négatives toutes les composantes du vecteur
on obtient une base de programme initial du problème auxi
liaire, composées des vecteurs
DU) D* D i* y ïx«+l> D i * * 1)
*0> • • •> *o » 1 * •••»■* m *
et les valeurs correspondantes des composantes de base de ce pro
gramme de base initial
Zq* = 1, t == 1» 2, • > . , £ ,
sp4” = bi°\ i = 1, 2, . m.
§2] CAS PARTICULIERS ET MODIFICATIONS 267
X j > 0, / = 1, 2, . . ., 10.
Le Z-problème correspondant compte cinq conditions: deux inégalités,
définies par les deux premières contraintes du X-problème, et une condition
du type (2 . 1 1 ) par bloc.
En nous guidant sur les recommandations du paragraphe 2.1 [cf. (2.31)],
nous pouvons prendre pour base initiale du Z-probleme le système de vecteurs
0 0 0 1 0
0 0 0 01
i*oa\ Pi?}, Pi4)* i> i4)) = 1 0 0 0 0 ,
0 10 0 0
0 0 10 0
Suite
§ 2] CAS PARTICULIERS ET MODIFICATIONS 273
Tableau 4.7
18-0776
274 PROGRAMMATION PAR BLOCS [CH.
Tableau 4,8
§ 2] CAS PARTICULIERS ET MODIFICATIONS 275
18*
276 P R O G R A M M A T IO N PA R BLOCS [C H . 4
Tableau 4,9
$ 2] C AS P A R T I C U L I E R S ET M O D IF IC A T IO N S 277
278 PROGRAMMATION PAR BLOCS ICH. 4
Suite
§ 2] CAS PARTICULIERS ET MODIFICATIONS 279
280 PROGRAMMATION PAR BLOCS [CH. 4
Suite
S 2] CAS PARTICULIERS ET MODIFICATIONS 28t
282 PROGRAMMATION PAR BLOCS {CH. 4
jKj^-problàjnc
CAS PARTICULIERS ET MODIFICATIONS 283
284 PROGRAMMATION PAR BLOCS [CH. 4
Suite
S 21 CAS PARTICULIERS ET MODIFICATIONS 285
286 PROGRAMMATION PAR BLOCS [CH. 4
S 2] CAS PARTICULIERS ET MODIFICATIONS 28 7
288 PROGRAMMATION PAR BLOCS [CH. 4
Suite
S 2} CAS PARTICULIERS ET MODIFICATIONS 289
19-0776
290 PROGRAMMATION PAR BLOCS [CH. 4
Suite
§ 2] CAS PARTICULIERS ET MODIFICATIONS 291
et les coefficients des formes linéaires des X^-problèmes engendrés par les
bases successives du Z-problème.
Dans le tableau 4.7 figurent également les programmes optimaux des
X^-problèmes qui engendrent les vecteurs ajoutés à la base successive^es
Z-problèmes ainsi que la solution du problème initial. Le tableau 4.8 réunit
les valeurs des paramètres XJ2\ LJ et qui permettent de discuter l’optima
lité du programme de base du Z-problème, les composantes des vecteurs des con
ditions P^i inclus dans la base suivante, et les valeurs correspondantes des
coefficients de la forme linéaire du Z-problème.
Enfin, les trois derniers tableaux (4.9, 4.10 et 4.11) fixent la procédure de
résolution des suites de X^-problèmes (* = 1, 2, 3) à l ’aide du premier algo
rithme de la méthode primale du simplexe. Remarquons que, comme d’habitude,
le programme optimal du X^-problème correspondant à la Même étape de la
résolution du Z-problème est utilisé comme programme de base initial pour
résoudre le Jf^-problème engendré par la (/ + l)-ième itération du Z-problème.
2.3. Considérons certaines modifications de la méthode de décom
position. Pour simplifier l ’exposé, supposons que l ’ensemble G
soit borné.
Lors de la description de la méthode de décomposition, on avait
proposé d ’introduire dans la base successive du Z-problème le vecteur
des conditions associé au critère négatif
Av* = min Av*.
t
Le volume de calculs peut parfois être réduit en supprimant le cal
cul et la comparaison entre eux de tous les critères Av* et en ajoutant
à la base le premier des vecteurs au critère négatif. On sous-entend
ici par premier vecteur le vecteur à Av* < 0 qui correspond au plus
petit numéro t- Dans ces conditions, la nécessité de résoudre les
X(A-problèmes suivants (à numéros t plus grands) disparaît. Autre
ment dit, on a intérêt à ne résoudre les Xa-problèmes que jusqu’à
l’apparition d ’un problème dont la solution correspondra à un vecteur
des conditions du Z-problème ayant un critère négatif.
On peut aller encore plus loin. Nous avons parlé jusqu’à présent
de l ’inclusion dans la base successive du Z-problème du vecteur
des conditions associé au programme optimal de l ’un des X^-pro-
blèmes. Or, à chacun des programmes de base Xv° de n ’importe quel
des Xi^-problèmes correspond un certain vecteur des conditions
du Z-problème. On voit de la formule (2.25) que le critère de ce
vecteur s’écrit
A<° = X<2> - L $ ( X $ ) .
Pour passer à une nouvelle base du Z-problème, nul besoin n ’est
en règle générale d ’obtenir le programme optimal du X^-problème.
Il suffit d ’obtenir au cours de l ’amélioration du programme du
19*
292 PROGRAMMATION PAR BLOCS [C H . 4
\ ^3 / \ ^3 /’
Dans le cas limite, on peut réunir tous les blocs en un seul et
réduire ainsi à m + 1 le nombre de contraintes de Z-problème.Si
l ’on adopte le schéma de résolution du problème exposé au para
graphe 2.1, d’après lequel on inclut dans la base du Z-problème
le vecteur au critère A[!* = min A fi, les avantages éventuels de
t
la diminution du nombre de blocs n ’interviennent alors que dans
une itération isolée du Z-problème. Or, nous avons déjà dit au para
graphe 2.3, qu’il est parfois utile d ’inclure dans la base du Z-pro-
blème le premier vecteur P ÿ dont le critère serait négatif. Dans
ce cas, le nombre de X^-problèmes à soumettre à l ’exploration
diminue, et de plus, la résolution ne doit pas forcément être menée
jusqu’à la fin pour chacun d’entre eux. Lors de la réunion des blocs,
le choix du vecteur à inclure dans la base successive du Z-problème
se fait, en général, après résolution d ’un grand nombre de Xiv-pro-
blèmes. Ceci peut conduire à un accroissement du volume global
de travail exigé par la résolution du problème.
En outre, à mesure que diminue le nombre de blocs, le nombre
total de programmes de base des X(l)-problèmes augmente de même,
par conséquent, que le nombre de variables du Z-problème. C’en
est de plus un argument contre la réunion des blocs.
Des recommandations bien fondées sur les conditions rationnelles
dans l ’utilisation de telles ou telles modalités de la méthode de
décomposition ne peuvent être faites qu’après l ’accumulation d ’une
certaine expérience des calculs. A l ’heure actuelle, cette expérience
n ’est pas encore acquise.
2.6. Il semble rationnel d ’examiner la possibilité suivante d ’ex
tension du domaine d’application des modifications considérées
de la méthode de décomposition. Jusqu’à présent, la forme générale
du problème étudié par la méthode de décomposition était définie
par les relations (2.1)-(2.4). Il est clair que toutes les considérations
exposées peuvent être reformulées pour un problème à matrice des
conditions du type
c‘°’ c(1> c<s> . . . c<5>
A T Aw 0 . . . 0
A = AT 0 A™ . . . 0
AT 0 0 . . . 4 “'
Le problème dual au problème précédent est du type (2.1)-(2.4).
C’est pourquoi l ’application des principes de la méthode duale du
296 PROGRAMMATION PAR BLOCS [CH. 4
S P ^ = BW, (3.6)
V— 1
zv ^ 0, v = 1, 2, . . N. (3.7)
Rappelons que
Nous allons voir que chaque couple de tels procédés définit une
certaine méthode de programmation par blocs.
Sur la base de ces procédés on peut également former des méthodes
combinées de programmation par blocs qui mettent à profit, pour
résoudre le problème, les différents procédés T et E .
20-0776
306 PROGRAMMATION PAR BLOCS [CH. 6
pothèse que ensemble GA* soit borné, la fonction <pj (Z) est définie
pour tout Z. Par conséquent, un sommet arbitraire de M , Z<0) =
= (—1, —1, . . ., —1) par exemple, peut être pris comme point
de départ de la minimisation de la fonction (pt (Z). Dans le cas pré
sent, la matrice initiale (4.4) a la forme
(#1, • • •» ^mi Ç)
•où et est le vecteur unité de l ’espace de dimension (m + 1) avec
l ’unité à la Z-ème place;
Q = (Al0)X 0 - B (0\ 1) r ;
X 0 l’un des sommets de GA* sur lequel on obtient le maximum
de la forme linéaire
- (Z<0)4 <0), X) avec X 6 GA>.
5.4. Une autre méthode d’exploration des problèmes T (A/, A')
•et f (A/, A") est associée à la maximisation de la fonction <p2 (X).
Examinons-la de plus près.
Soit / (A') l ’ensemble des numéros v de tous ceux des vecteurs
Xv qui participent à la formation de l ’ensemble GA>. L’écriture
-adoptée pour le problème (3.5)-(3.7) permet de mettre le problème
(5.11)-(5.14) sous la forme équivalente suivante
r
— TJ (5.22)
i= l
.sous les conditions
S Z v / \ - 'Z \ iiDi = Bw , (5.23)
VÊi(A') i —1
Il est évident que pour un pareil choix des vecteurs les con
ditions (5.23), (5.24) sont compatibles, c’est-à-dire que l ’ensemble
convexe M vérifie la restriction (5.4). En outre, si pour tout i dt = 1,
la condition (5.3) est également respectée. Dans ce cas les condi
tions (5.23) se transforment en un système d ’équations
S ZvPv- S (5.25)
ve/u') t=i
Ainsi, la résolution du problème T (A/, A'), l’ensemble M étant
choisi, se ramène à la minimisation de la forme linéaire
S l*i
i=l
(5-26)
sous les conditions (5.24) et (5.25).
Supposons qu’avec un certain v0 P = P Vo, c’est-à-dire que le
point X = XVo soit un sommet de l ’ensemble GA'. Les vecteurs
»• ®1» ^2» • • m —
constituent la base du programme de base du problème (5.24)-(5.26),.
qui peut être prise comme base initiale. Il est clair que la matrice
inverse de la matrice de cette base se calcule sans peine.
Comme nous le verrons plus bas, on détermine parfois, au terme
des étapes antérieures de la résolution d ’un problème décomposé
en blocs, un vecteur P tel que
p= S ^ A - v .Ç /(A '),
a=l a *
m + 1 -*
les vecteurs
P V i» • • - i P v i ^ ii» • • •»
£ ‘0>= S z V V ,
1=1 1 1
où les z'V[ sont les composantes de base non nulles du programme
de base donné du problème (5.24)-(5.26).
Donc, le vecteur
X = S z^Xv,
1=1 * 1
- ( D |, n < * i
sont respectées ou, ce qui revient au même, si
1 + ( - 1 )6t l\ > 0, i = 1, 2, . . m. (5.27)
Si l’ime d ’entre elles au moins n ’est pas satisfaite, le vecteur cor
respondant
- D t = - ( - l ) 8**,
est inclus dans la base. Dans le cas où toutes les inégalités (5.27)
sont observées, on passe à la formation de ce qu'on appelle le pro
blème auxiliaire engendré par le vecteur V.
Les conditions du problème auxiliaire sont déterminées par
l ’ensemble G\>. Soit X ' un sommet de l ’ensemble Ga -, c’est-à-dire
le programme de base optimal d’un XA-problème :
(Ca *, X) max, (5.28)
S A ^ x , = A (l)X = B11*, (5.29)
J=i
X > 0. (5.30)
Si Aj ^ 0 est le critère de sélection du /-ième vecteur des con
ditions du problème (5.28)-(5.30) par rapport à la base du pro
gramme X ', l ’ensemble Ga ' est défini par les conditions (5.29),
(5.30) et par la restriction supplémentaire
Xj = 0 si Ai > 0. (5.31)
AUTRES METHODES DE PROGRAMMATION PAR BLOCS 317
= - z ; —(s<0\
L ’analyse des problèmes T (Af, A') et T (A/, A') est ainsi ter
minée.
Mais si
(l'A m , X ”) + / ; > 0 ,
il faut poursuivre la procédure de résolution du problème (5.24)-
(5.26). On introduit dans la base disponible de ce problème le vec
teur PXfi défini par le sommet trouvé X Vk = X ” de l ’ensemble
*Ga'. Après avoir obtenu la nouvelle base et le vecteur des critères
i" = (Z", Z',) des conditions du problème qui lui correspond, repre
nons* la suite d’opérations décrite dans ce qui précède. Finalement
la procédure aboutit à la construction d ’une direction possible,
•ou bien révèle que A ' est le point du minimum de la fonction / (A)
définie sur R . Dans ce dernier cas, la solution cherchée du pro
blème décomposé en blocs (3.1)-(3.4) s’obtient automatiquement.
5.6. Les modes du choix des directions possibles décrits aux
paragraphes 5.3 à 5.5. sont associés soit à la minimisation de la
fonction <pj (Z) sur l ’ensemble AT, soit à la maximisation de la fonc
tion <p2 (X) sur l ’ensemble Ga*. Ils sont tous fondés sur des méthodes
finies de programmation linéaire. Examinons encore un mode de
318 PROGRAMMATION PAR BLOCS fCH. 4
choix des directions possibles, qui se base sur une procédure itérative
de résolution des jeux proposée par Brown (cf. § 3 du chapitre 2,
où cette méthode porte le nom de jeu fictif). Pour utiliser cette
méthode, on part de vecteurs arbitraires Z(1> ÇM et X<*> 6 Ga * et
l ’on obtient, en règle générale, des suites infinies de vecteurs con
vergeant vers les solutions des problèmes T (M , A') et T (A/, A').
Soient Z<*> et X(*> les ft-ièmes éléments des suites considérées.
Décrivons l ’ordre des opérations nécessaires pour calculer les vec
teurs
X(M-n et Z(*+*>,
en supposant que les ensembles M et GA' soient bornés.
Considérons le problème de programmation linéaire
(Z(*> A<°>, X) min (5.35)
avec les conditions
X 6 Ga', (5.36)
dont l’écriture algébrique est du type (5.32)-(5.33). Soit
une solution de base quelconque du problème (5.35), (5.36). Posons
(5.37)
= i i î * <*4'" + ï ï i x m •
Pour définir la nouvelle direction cherchons la solution du
problème de programmation linéaire
(Z?<°> —i4(°)X(h+1), Z)->-min (5.38)
sous les conditions
l 6 M. (5.39)
Si 7<ft+1> est un programme de base optimal du problème (5.38)r
(5.39), posons
Z(*+n : k +11 - 1 fc+1 ’m .• (5.40)
Le polyèdre M doit être choisi de structure la plus simple pos
sible. On peut prendre pour Af, par exemple, un cube de dimension m :
| Z| | < 1, i = 1, 2, . . ., m. (5.41>
Il est évident que la solution du problème (5.38), (5.39) pour
le cas où Af est de la forme (5.41) s’obtient sans peine. Aussi, l ’essen
tiel du travail nécessaire pour l ’exécution d’une étape consiste-t-il
à réaliser l’exploration du problème (5.35), (5.36).
On voit sans peine que l ’hypothèse sur l’allure bornée des ensem
bles GA' et M justifie les relations
lim <pd (ZW)=
= min <Pi (Z), %
<p,(J),
h-+oo iVd I
(5.42)
lim <p2 (XW) = max <p» (X). I
k-+oo *ecA' J
AUTRES METHODES DE PROGRAMMATION PAR BLOCS 319
fonction (p2 (X), l ’ensemble M étant défini par les conditions les
plus simples, du type
lt > —1, i = 1, 2, . . ., m,
et la longueur de l ’étape déterminée par le mode E 0j on aboutit à
la méthode de programmation par blocs analogue de la méthode
primale-duale.
Nous laissons au lecteur le soin de vérifier que la méthode con
sidérée est liée à la résolution du Z-problème (3.5)-(3.7) par la mé
thode primale-duale (cf. exercice 13).
S
j=l
(6.1)
où Q est un nombre suffisamment grand.
Le choix du point initial n’impose pas alors de calculs. Il faut
conserver la contrainte (6.1) tant qu’on n ’obtienne au cours de la
procédure de résolution du problème (3.1)-(3.4) le point A' tel que
/ (A') ne dépend pas de Q. Si, par contre, la valeur minimale de la
fonction / (A) dépend de Ç, la forme linéaire (CA, X) n’est pas
bornée sur G quel que soit A, ce qui signifie que R est un ensemble
vide. Dans ce cas le problème (3.1)-(3.4) n ’a pas de solution. La
justification de cette méthode peut se faire en partant de la méthode
connue de construction d’un programme initial du problème dual
(cf. chapitre 9, paragraphe 5.4 de [87]). Nous laissons au lecteur
le soin de réaliser cette tâche (cf. exercice 14).
21*
324 PROGRAMMATION PAR BLOCS [CH. 4
Pour
(Z'A<°\ X') — (Z', £<°>) = (Z', A<°>X' -5<°>) < 4 +1,
posons
X 2 = X ', 0' = 0.
Mais si
(Z', A(0)X ' -£<°>) = l'm+lt
c’est-à-dire si (6.4) se vérifie pour 0 6 [0, 0J, on détermine la valeur
critique positive minimale 0* du paramètre du problème (6.5), (6.6),
ou bien l ’on constate l ’absence de valeurs critiques sur la demi-
droite (0, oo). Dans le premier cas 0' = 0*, dans le deuxième,
0' = oo. Avec 0' = oo, la procédure prend fin, puisque
inf / (A) = — oo,
aéb
c’est-à-dire la solution du problème (3.1)-(3.4) est irréalisable.
Mais si
0' = 0* < oo,
on désigne alors par X2 soit un sommet de l ’ensemble G, qui cons
titue la solution du problème (6.5), (6.6) avec 0 Ç [0*, 021, 02 > 0,
soit le vecteur directeur d’une arête infinie de G le long de laquelle,
lorsque 0 > 0*, la forme linéaire (6.5) tend vers l ’infini.
Le vecteur X2 définit l ’hyperplan
e*«+i + (A'°>X2 - A) = (C, X2), (6.7)
où e est égal à l ’unité ou à zéro suivant que X2 est un sommet de
l ’ensemble G ou le vecteur directeur d’une arête non bornée de cet
ensemble. Le point
X" = X' (0')
appartient à l ’intersection des hyperplans (6.2) et (6.7) qui sont
évidemment linéairement indépendants.
6.3. Le déplacement ultérieur s’effectue dans la direction 1”
qui appartient aux deux hyperplans, l ” étant choisie de façon que
la (m + l)-ième coordonnée décroisse aussi vite que possible. A cet
effet, les équations homogènes qui correspondent aux hyperplans
(6.2), (6.7) et associent les composantes de la direction recherchée
l ” sont résolues par rapport aux inconnues ?tm+1 et \ k. Si l ’on con
vient pour fixer les idées que k = m, on aboutit aux relations
m —1 m —1
^m+1 “I” S “f" 2 = 0. (6-8)
i= l i= i
où, comme d’habitude, les Pv sont engendrés par les sommets et par
les vecteurs directeurs des arêtes non bornées de l ’ensemble G, alors
que les vecteurs D t = (Dt, 0)r définissent l ’ensemble M [cf. (5.5)1.
Considérons, sans limiter la généralité, que ces conditions sont non
dégénérées, c’est-à-dire supposons que B 0 ne puisse pas être mis
sous la forme d’une combinaison linéaire de moins de m + 1 vecteurs
Pv et (On peut toujours y parvenir à l ’aide de e-méthode usu-
ellè.) Ainsi qu’on l ’a établi, le problème T (il/, A') associé au
point A' peut être mis sous la forme (5.22)-(5.24). Le problème
T (M, A') est dual au (5.22)-(5.24). Désignons par S (M, A') la
valeur extrémale commune des fonctions (5.1) et (5.18) des problèmes
T (M, A') et F (M, A').
Supposons que les vecteurs
i \ i , P w • • •» P D i t * Di2, . . . , (7.2)
constituant la base du programme de base optimal du problème
(5.22)-(5.24). La direction possible V coïncidant avec le vecteur des
critères des conditions du problème par rapport à la base optimale
considérée, vérifie les relations
(l » P va ) = 0 , cl = 1 , 2 , . . . , t, (7 3 )
m( ï , P v ) > 0 , v e / ( A ' ) ,
où l’ensemble des indices / (A') est déterminé par la restriction
v 6 / (AO si (Pv, Â') = crv.
Il est évident que le mode E 0 de définition de la grandeur 0 ' de
l ’étape dans la direction V se ramène au calcul de 8 maximal tel
que le vecteur A ' + 0/' constitue encore le programme du problème
(3.8)-(3.10). Si S (M, A') < 0 et 0' = oo, le problème (3.1)-(3.4),
§ 71 C O N V E R G E N C E D E S M É T H O D E S D E P R O G R A M M A T IO N 329
comme nous le savons, est irréalisable. Si par contre 0 ' < oo, on
inclut dans l ’ensemble I (A1") l’indice v ' $ / (A') du vecteur /V
tel que _ _
(Pv>, V) < 0 (7.4>
(À" = X ' + 9 T ; (PV', X") = a v0.
La relation (7.3) conduit à va Ç I (A7') avec a = l, 2, . . ., u
Par conséquent, la base optimale du problème T (Af, A') est la
base du programme du problème T (Af, A").
L’inégalité (7.4) signifie que l ’introduction du vecteur P V' dans
la base (7.2) augmente la fonction économique du problème Y (A/, A'')
si seulement le programme admettant cette base est non dégénéré.
Or, cette dernière condition résulte de l ’hypothèse faite au début,
de la démonstration. Par conséquent.
S (A/, A') < S (Af, A"). (7.5)
L ’inégalité (7.5) entraîne que lors de la résolution du
problème avec emploi du procédé E 0 les directions possibles choisies
dans les grandes itérations différentes correspondent à des bases
différentes composées de vecteurs P v et —Z?/.
Le nombre de telles bases étant fini, on tire la conclusion que
quelques grandes itérations suffisent pour obtenir le point A* tel
que soit S (Af, A*) = 0, soit S (Af, A*) < 0 , 0* = oo. Dans le
premier cas, le programme optimal du problème Y (A/, A*) est
solution du problème (3.1)-(3.4). La deuxième éventualité indique
que les conditions (3.2)-(3.4) sont incompatibles. Le théorème est
ainsi démontré.
7.2. Le caractère fini des méthodes de programmation par blocs
utilisant le procédé E 0 se déduit de l ’inégalité (7.5). Or, si lors du
passage du point A ' au point A" on applique le procédé 2?min> d ’une
façon générale, l ’inégalité (7.5) cesse d’être respectée. C’est que
dans ce cas la solution du problème Y (Af, A') n ’est nullement
forcée d’être un programme du problème Y (A/, A"). Aussi la con
vergence de la procédure de minimisation de la fonction / (A) qui
recourt au procédé Emjn doit-elle être explorée à partir de con
sidérations qui diffèrent de celles qui précèdent.
Les problèmes Y (A/, A) et Y (A/, A) dont la résolution assure
le choix de la direction possible Z issue du point A, sont définis-
en fixant l ’ensemble G\ qui réunit les programmes optimaux du
XA-problème
(iC - A-<4<0\ X) max
sous les conditions (3.3), (3.4).
330 PRO G R A M M A T IO N PAR BLOCS [CH. 4
v£I{A\ c) i=l
2V> 0 , (JL| ^ 0,
où / (A', e) est l ’ensemble des numéros v des vecteurs Xv qui parti
cipent à la formation de l’ensemble GA'(e).
Le nombre N des vecteurs Pv étant fini, le nombre total de bases
des problèmes Te (A/, A') associées à tous les points A' possibles
ne dépasse pas CJf+r- Mais, on sait que la valeur minimale d ’une
forme linéaire s’obtient sur l ’un des programmes de base du pro
blème. Il existe donc un nombre y > 0, indépendant du point A',
tel que la valeur extrémale de u0(z) du problème r c (Af, A') est
nulle, soit
r
^o(e)= —min ( 2 —y. (7.22)
i=i
2. Soit V la direction choisie au terme de la résolution des pro
blèmes r e (M , A') et Te (M , A') et, de plus,
M e) = <P(xe)( 0 = max {-V A ™ , X)-\-{B™, J ') < 0 . (7.23)
XgGA-(e)
334 PROGRAMMATION PAR BLOCS (CH. 4
Si
/ (A') > (C, X),
le vecteur V = A '— A' détermine la direction dans laquelle décroît
la fonction / (A). En se déplaçant dans cette direction, on obtient
un nouveau point A*. Le passage du point A' et de la base Px à un
nouveau couple A", Px *constitue une grande itération de la méthode
considérée.
8.2. Exposons cette méthode plus en détail. Supposons donc que
nous connaissions le point A' et la base Px du programme de base
du problème (3.5)-(3.7) associé au programme X du problème initial.
Le point A' définit l ’ensemble GA' (e), qui, comme nous le savons,
est donné par les conditions (3.3), (3.4) et la contrainte supplé
mentaire
Xj = 0 si Aj (A') > e,
où les A; (A') sont les critères de sélection des vecteurs des condi
tions du XA'-problème par rapport à l ’une de ses bases optimales.
Soit Y = (y, ym+i> = (ÿj, y 2, . . ., y m , y m + i) le vecteur des
critères de sélection des conditions du Z-problème par rapport à la
base Px .
Composons le y (A', e)-problème qui consiste à maximiser la
forme linéaire
(iC -y,4<°>, X)
sous les conditions
X 6 Ga >(e).
Conformément à la description de la méthode de décomposition,
on détermine, au terme de la résolution du Y (A', e)-problème, le
vecteur P v* à inclure dans la base Px (Xv est le sommet ou le vecteur
directeur d’une arete infinie de l’ensemble GA' (e)), ou bien on met
en évidence l ’impossibilité d’une augmentation ultérieure de la
forme linéaire (3.1) qui serait due à l ’emploi des vecteurs associés
à l ’ensemble GA* (e).
Cette dernière circonstance a lieu quand il faut justifier l’égalité
(c - y^i<0), x*) = ifm+f (s.i)
où X* est solution du Y (A', e)-problème.
Dans le premier cas, la base Px se transforme et l ’on compose
un nouveau Y ' (A', e)-problème pour lequel on effectue les memes
opérations que pour le précédent. En quelques étapes nous abou
tissons au YM (A', e)-problème qui vérifie l ’égalité (8.1). Ce
problème est engendré par le vecteur YM = (Y<k\ y ^ ,).
Posons A' = yw , et soit X ' le programme du problème (3.1)-
(3.4) associé à la dernière base du Z-problème.
8] AUTRE M ÉTHODE DE P R O G R A M M A T IO N PA R BLOCS 337
§ 9. Application de la méthode
de décomposition au problème de transport
et à ses variantes
9.1. Les méthodes de programmation par blocs s’avèrent très
utiles lors de la résolution de nombreux problèmes spéciaux de pro
grammation linéaire.
Les méthodes spéciales de résolution des problèmes comme le
problème de transport, le problème de distribution, etc., simpli
fient nettement les calculs par rapport aux méthodes générales de
programmation linéaire. Toutefois, les méthodes spéciales sont
très intimement liées à la structure de la matrice des conditions du
problème. Dans la pratique on se trouve souvent devant la nécessité
de faire appel, en plus des conditions de type spécial associées,
entre autres, au problème de transport ou de distribution, à un
petit nombre de contraintes linéaires de type général. L’application
des algorithmes spéciaux dans de tels cas se complique considé
rablement. Les méthodes de programmation par blocs (et notamment
le principe de décomposition), utiles par elles-mêmes lors de la
résolution de nombreux problèmes de structure spéciale, se trouvent
être particulièrement efficaces lors de la résolution de problèmes
spéciaux « gâchés » par des conditions supplémentaires de type
général (cf. [23]).
Dans [14] on insiste sur le fait que l ’application de la méthode
de décomposition à la résolution d’un problème de transport dans
lequel le nombre de points de consommation dépasse nettement celui
de points de production (ou, inversement, n m) est liée à des
calculs moins complexes que les autres méthodes spéciales connues
de résolution des problèmes de transport rationnel. Il est donc d ’au
tant plus avantageux d’utiliser la méthode de décomposition pour
résoudre les problèmes de transport complétés par des conditions
de type général.
Le présent paragraphe a donc pour objet l ’examen des possi
bilités qu’offre la programmation par blocs dans le domaine des
problèmes de transport et de distribution et de leurs variantes.
9.2. Le problème de transport classique consiste à calculer les
paramètres x u (i = 1, 2, . . ., m; j = 1, 2, . . ., n) tels qu’ils
22*
340 PROGRAMMATION PAR BLOCS [CH. 4
i = S S CljXij (9.1)
;= 1 i = l
x u ^ 0, i = 1, 2, . . ., m ; / = 1, 2, . . ., n. (9.4)
Considérons le problème de transport comme un problème de
programmation par blocs dans lequel les conditions d ’égalité sont
divisées en deux blocs définis par les égalités (9.2) et (9.3) respecti
vement. Désignons par A<0) la matrice qui vérifie les contraintes
(9.2) et par A a) la matrice des conditions (9.3).
Appelons X'-problème celui qui consiste à minimiser la forme
linéaire (9.1) sous les conditions (9.3), (9.4). Il est aisé de comprendre
que l ’on peut obtenir tous les programmes de base du X'-problème
si l ’on pose pour tout / un des égal à bj et les autres égaux à zéro.
Le nombre total de programmes de base du X'-problème s’écrit
iNT = mn. Désignons par Xv = v = 1, 2, . . ., TV, les pro
grammes de base du X'-problème.
Les conditions (9.3), (9.4) du X'-problème définissent un poly
èdre convexe. C’est.pourquoi un programme quelconque de ce pro
blème peut être mis sous la forme
N
X = S Xvzv, (9:5)
V = 1
Ou
N
2 • = l, p (9.6)
v=l
zv > 0, v = 1, 2, . . ., TV. (9.7)
Considérant le problème de transport comme un X-problème,
écrivons le Z-problème qui lui correspond, et qui consiste à minimiser
la forme linéaire
N
V CvZv (9.8)
v=l
sous les conditions
§ 9] APPLICATION DE LA MÉTHODE DE DÉCOMPOSITION 341
cv = 2 2 CU X ^ , V = 1 , 2 , . . . , .V , (9 .1 1 )
j=*t i = l
2 2 Pv*v = 2 a ‘y
i= l v = l i= l
L a ( X ) = i ’ S ( C i l - X i ) Xi,. (9 -1 7 )
j=l i=l
Le domaine de définition du XA-problème coïncide avec celui
du X'-problème et est délimité par les contraintes (9.3), (9.4). Par
suite, le programme optimal du XA-problème, en tant que pro
gramme de base du X'-problème, est un vecteur Xv* = { x ^ }
de dimension m-n dans lequel pour chaque j il n ’y a qu’une compo
sante différente de zéro (et égale à bj). Le numéro s de la composante
non nulle se calcule pour chacun des j à partir de la relation
c8j — = min (<cij — Xi).
i
Si le minimum est atteint sur plusieurs indices, on peut choisir
pour s n ’importe lequel d’entre eux.
Au programme de base Xv* correspond le vecteur Py* des con
ditions du Z-problème. Le critère du vecteur Py* par rapport
à la base courante est de grandeur égale et de signe opposé à la
valeur de la forme linéaire du XA-problème sur son programme
optimal Xv* :
X *= 2 (9.18)
V=1
Ph* .2 J y.*)
p ï '= S * ! ? , (9.19)
j=i
où bty est égal à bj ou à zéro suivant que l ’indice i figure a l’inter
section de la colonne 7 et de la ligne v ou non. Ainsi, la composante
est nulle si Pindice i ne figure pas dans la v-ème ligne.
344 PROGRAMMATION PAR BLOCS [CH. 4
Cv=i â s s b%e‘i-(9-2°)
Supposons que la base du programme optimal du Z-problème
se compose des vecteurs PVi\ P ^ . . ., PVm. Cette base est engen
drée par les programmes de base XV1, XV2, . . ., X Xm du système
(9.3), (9.4). Les composantes du programme optimal du problème
de transport se calculent à partir des variables de base z* de la
solution du Z-problème d ’après la formule:
m
2 (9. 2i)
5=1 8
23 bj= S ai = T avec t = i,
;=1 i= l
(9.22)
p .;- { 0 avec t ^ i ,
t = 1, 2, . . 771.
La collection considérée de vecteurs des conditions du Z-problème
correspond aux programmes de base XVi, XV2, . . ., XVm du système
(9.3), (9.4), dont les composantes se calculent d’après la formule
.<v*> f bj avec i = t,
1 0 avec i=£t.
Constatons que plusieurs observations du § 2 sur les variantes
possibles de la méthode de décomposition sont notamment appli
cables aux problèmes de transport et à d’autres problèmes spéciaux
de programmation linéaire.
D’autres méthodes d’utilisation de la programmation par blocs,
différentes de celle de décomposition (cf. §§ 4, 5, 8), peuvent égale
ment être appliquées pour rendre plus rationnelle la résolution du
problème de transport. Nous laissons au lecteur le soin de s’en
convaincre par lui-même (cf. exercice 20).
L ’expérience des calculs atteste que. pour m <C n, la résolution
d’un problème de transport par les méthodes de programmation par
blocs impose des calculs plus simples que la mise en œuvre des
méthodes spéciales. Ainsi, dans [14] on constate que la résolution
d’un problème de dimension 15 X 3 000 par la méthode de décom-
§ 9) APPLICATION DE LA MÉTHODE DE DÉCOMPOSITION 345
Tableau des Xv
N, 3
1 O 3 n
V N,
On a
r= 2 6/ = 50*
i= i i= l
La base initiale du Z-problème est définie par la matrice [cf. (9.22)]
r ° il | 50 0
11*1. *2 11= 0 T \ \ \ = 50 1 °l
o 50 0 l|
Tableau 4.12
N «i ** N :
Cv Bz | ep - * I O p k | »
-
1 71 P3 J 0,89 | 0,0286 0,42 | 2,06
-
2 136 P2 | 0 ,1 1 J— 0,0086 0 ,0 2 0,58 | |^ j 1
1 71 P» J 0;8 | 0,035 - 0 ,0 1 5 0 ,4 j 1
— 3 — — 1 75 1 1,12 2 ,1 2 0 —
n il
1 71 P, 0,667
-
2 83 P5 0,333 3
— 3 13,333
H "
APPLICATION DE LA MÉTHODE DE DÉCOMPOSITION 357
X'-problème :
15 9 12 8 6 0 0 0 0 0
x z=
0 0 0 0 0 15 9 12 8 6
1 2 3 4 5
X I
1 1 1 1 1 1
2 2 2 2 2 2
3 1 2 1 1 2
4 1 2 2 2 2
1 2 2 1 2
5
0 9 0 0
Ainsi, dans la troisième ligne (v = 3) du tableau des Xv, les unités (i = 1)
sont portées dans les première, troisième et quatrième cases, et les deux dans les
deuxième et cinquième cases.
348 PROGRAMMATION PAR BLOCS [CH. 4
4°=i 2
=i
4 ’.
Cv= S 2 CljXi?»
i= 1 i= l
_(y*) = J T77
< HU
avec i = s 0')>
l} l 0 avec i^= s(j).
Le programme de base Xv* détermine les composantes du vecteur
où vlt v2, . . ., vm+1 sont les numéros des vecteurs de la base opti
male du Z-problème.
La base initiale du Z-problème est déterminée conformément
aux observations du paragraphe 1.4.
Supprimons maintenant la contrainte associée à la restriction
k tj > 0 pour tout i et j. Les coefficients k du problème de distri
bution, de par leur sens physique, peuvent pour certains couples
(i, /) devenir des zéros. Dans ce cas, le polyèdre convexe déterminé
par les conditions (9.25)-(9.26) devient non borné. C’est pourquoi
la condition (9.29) du Z-probléme doit être récrite sous la forme
N
2 8vSv = l,
V=1
où ev est égal à l ’unité si X v correspond à un sommet de l ’ensemble
convexe, et à zéro si X v est le vecteur directeur d ’une arête non
bornée.
§ 9] APPLICATION DE LA MÉTHODE DÉ DÉCOMPOSITION 351
2 t~i
i-i 2 ■2i= l
l (9.31)
sous les conditions
2 &—1» 2, (9.32)
i= i
. . , m,. (9.33)
5=1
m
2 n, (9.34)
i= l
zv ^ 0, v = 1, 2, . . ., N,
où
cv = S S {ci) + O i)x^\
«=i j=i
î (aV>= S S
i= l i= l
zv ^ 0, v = 1, 2, . . ., N . ( 10. 11)
La forme linéaire (10.1) et les contraintes (10.3)-(10.5) définissent
le X'-problème. La collection des vecteurs Xv (v = 1, 2, . . ., N)
est l ’ensemble des programmes de base du X'-problème.
Le Z-problème associé au X-problème à trois indices initial
consiste à minimiser la forme linéaire
N
S cvSv (10.12)
v=i
sous les conditions
N
S Pvi3)zv = ai?, i» = 1, 2, . . . , n3, (10.13)
V=1
Zv > 0, v = 1, 2, . . . . N, (10.14)
où
7*3 .7*2 7*1
cv=S S S = c i!ili3*<4i3, (10.15)
<3= i i2= i i t= i
Xf = - jr - , t = 1, 2, . . . , n3. (10.21)
O
II
S
O
C
C
Montrons que la résolution du XA-problème (10.22)-(10.25)
se ramène au calcul du programme optimal d’un problème de trans
port classique de dimensions X n2.
Fixons l ’indice i3, pour les valeurs données des indices it et i2,
à l ’aide de la condition
= ^iiÎ2 *(*i. »2) t2) = Ulin (Cin'jij ^ 3 ) • (10.26)
13
2 «S>= 1. 7 = 1. 2, . . n, ( 11. 6)
v=»i
„<j> > 0, V = 1, 2, . . S j; / = 1, 2, (11.7)
Les conditions (11.6) permettent de mettre (11.1) sous la forme
_ n *7
L = 2 S tM l (11.8)
;= 1 v = l
En tenant compte de l’expression (11.5) pour aV> le problème
étudié peut être reformulé de la façon suivante.
Calculer les variables a^etZy* (v = 1, 2, . . ., sj; j = 1, 2, . . .
. . ., n) qui maximisent la fonction (11.8) sous les conditions
« *j
S 2 a<pxjz!j) = b<0>, (11.9)
;= si v=»l
•}
2 *^ = 1. / = !. 2, (11.10)
V=1
xj > 0 ; > 0 ; v = 1, 2, . . ., sj\
7 — 1, 2t . . ., n. (11.11)
Introduisons les nouvelles variables
yÿ* = XjJÿ, v = 1, 2, . . ., sj; j = 1, 2, . . ., n. (11.12)
Les variables yv' astreignent le problème à maximiser la forme
linéaire
L = 2 2 cjyto (11.13)
;=l v=l
§ 11] U N E A P P L IC A T IO N D E LA M É T H O D E D E D É C O M PO SIT IO N 36Î
Les valeurs optimales des vecteurs des conditions a°) qui cor
respondent aux composantes positives de la solution du problème
(x* > 0) se calculent d’après la formule
5J
a*°> = s « î f W
V=1
où
„*<})
2*0)
V
= ^ V
xJ
2 x i 4" x2 4" x3 ^ 3,
—3xj + 2 x3 ^ 6,
3x4 4- 4 x 5 ^ 10,
— x 4 4 - x5 <4,
2x4 4- 3x5 < 9,
x6 4 4x7 4
- - x8 ^ 12,
— 3x0 4~ x7 ^ 5,
— 2x 7 4~ 4x8 ^ 7,
xj > 0 , j = 1 , 2 .............8.
19. Résoudre, en utilisant la méthode de décomposition, le^ problème
de transport à matrice des coefficients dont la forme linéaire s’écrit
,, , , 1 1 4 3 2 6 1 8 3 7 2 4 6 9 II
c ~ {CW “ Il 2 7 4 8 3 9 5 5 4 8 1 4 ||
et les volumes de consommation et de production sont définis par les vecteurs
a = (au a2) = (40; 60),
b = (&,, 61 2 ) = (7; 5; 12; 3; 10;
5; 9; 1; 15; 8 ; 1 1 ; 14).
20. Dresser les schémas de calcul pour la résolution du problème de trans
port en appliquant les méthodes de programmation par blocs des §§ 4, 5 et 8 .
21. Résoudre le problème de l’exercice 19 d’après les schémas de calcul
de T exercice précédent.
22. Trouver à l’aide de la méthode de décomposition le programme optimal
du problème de distribution.a forme linéaire et aux volumes ae production et
de consommation du problème de l ’exercice 19 et a matrice suivante des coeffi-
36*'* E X E R C IC E S
cients k,*:
j r _ tu , Il 1 3 1 1 5 1 1 1 2 1 3 2 II
A - || 4 1 2 1 1 1 2 3 1 2 1 1 || "
23. Construire les schémas de calcul pour résoudre le problème de distribu
tion en partant des méthodes de programmation par blocs des §§ 4, 5, 8.
24. Résoudre le problème de l'exercice 22 suivant les schémas de calcul
de l ’exercice çrécédent.
25. Résoudre par la méthode de décomposition le problème de transport
à trois indices et à sommes axiales soumis aux conditions suivantes:
n i = 2 ; fi2 = 3 ; 713 = 15 ;
eiil2l3
it = 1 il = 2
X
X
13 \
1 2 3 1 0 3
1 5 2 7 8 1 6
2 1 6 3 3 5 2
3 4 5 1 4 2 1
4 1 4 8 5 8 4
5 8 3 6 1 2 7
6 5 1 9 3 5 6
7 4 7 3 8 1 3
8 3 5 4 4 6 9
9 8 1 2 8 7 3
10 1 4 7 1 4 1
11 9 6 1 9 2 5
12 5 2 3 2 8 2
13 8* 4 6 4 3 • 6
14 1 9 5 7 4 5
15 3 5 2 1 6 7
J îw
sous les conditions
n
2 a<»xj < b«», xj > 0, / = 1, 2, . . . , n,
j**l
si, en ce qui concerne les vecteurs des conditions a(J>, on sait seulement que
la projection de n'importe lequel d’entre eux sur un axe de coordonnées arbitrai
re est comprise entre 0 et 1.
Chapitre 5
(C, X )= S Cjxj
;=l
sous des conditions linéaires quelconques du type égalités et inéga
lités, et soumis à la contrainte additionnelle
Xj entier pour y = 1, 2, . . n. (1.1)
Si les conditions d’intégralité (1.1) ne portent que sur une partie
des variables xy, les modèles correspondants s’appellent problèmes
de programmation linéaire partiellement en nombres entiers et les
méthodes de leur analyse programmation linéaire partiellement en
nombres entiers (P.L.P.). Pour plus de concision, nous omettons
par la suite le terme « linéaire » et parlons de problèmes de pro
grammation en nombres entiers ou partiellement en nombres entiers.
Ceci ne peut prêter à confusion, dans la mesure où notre champ
d’étude se borne à la classe des problèmes linéaires. L ’intérêt qui
se manifeste actuellement pour la programmation en nombres
entiers s’explique par- l’abondance des problèmes pratiques qui
cadrent avec le schéma des modèles en nombres entiers. Il faut
souligner de plus que les termes de programmation en nombres
entiers permettent d’établir la formulation de nombreux problèmes
complexes dont les méthodes de résolution ne sont pas encore mises
au point.
Le présent paragraphe traite de plusieurs applications caracté
ristiques de la programmation en nombres entiers, qui illustrent
l’importance et la valeur pratique de cette branche d ’avenir de
programmation mathématique. Les problèmes à considérer appar
tiennent à trois classes. Ce sont des problèmes qui donnent la des
cription mathématique de phénomènes portant sur des objets indi
visibles (usines, wagons, avions, etc.) ; les problèmes de type com-
PRO BLÈM ES DE P R O G R A M M A T IO N 367
0 ^ Xj ^ 1, / = 1, 2, . . . , zi, (1.4)
f ( X ) =i S= l S
i = l O V=»)
*1J*ij- (1.6)
Marquons sur le plan n points associés aux points p i. Chaque
variante X du parcours peut être représentée graphiquement par un
itinéraire orienté fermé yx comprenant tous les /^points (fig. 5.1, a).
Les contraintes
m
2 Xij = bj, ; = 1, 2, . . n, (1-13)
« = i
X i^ ^ id u -h -u ^ y u . (1.15)
X=i
Pour égaliser X t à l ’une des valeurs possibles dXh Ie système de
nombres yu doit jouir de la propriété
y a = Vîi = • • • = y\oi = 1 î
Uko-f-i. »= î/Xo+2. i = . . . = y8ii = 0 ;
0 <X 0 (1.16)
9U (1.38)
0, x u = 0.
§ 3. Algorithme de programmation
en nombres entiers
3.1. Ainsi qu’il ressort du paragraphe précédent, la classe des
problèmes de programmation linéaire aux solutions en nombres
entiers est extrêmement pauvre. Dans la majorité des cas, la réso
lution d’un problème fournit un programme optimal non entier.
C’est pourquoi la discussion des problèmes de programmation en
nombres entiers nécessite des méthodes spéciales. L ’algorithme
décrit ci-dessous a été proposé par R. Gomory ([27], [29]). Un algo
rithme analogue, dû également à R. Gomory [28] et conçu pour
les problèmes de programmation linéaire partiellement en nombres
entiers, est considéré au paragraphe suivant.
A la base des méthodes de programmation linéaire en nombres
entiers on trouve l ’idée suivante qui appartient, semble-t-il, à
Dantzig. Supposons qu’il faille résoudre un problème de program
mation linéaire dont toutes ou certaines variables sont astreintes
à être entières. Cherchons le programme de base optimal du problème
linéaire sans tenir compte pour le moment des conditions d’inté
gralité. Il se peut également que ce programme vérifie les conditions
d ’intégralité et constitue par conséquent la solution recherchée.
Mais le plus vraisemblable est que le programme obtenu n ’obéira
pas à ces conditions. On se propose alors de former une contrainte
linéaire qui soit vérifiée par tout programme entier (ou partielle
ment entier) du problème, mais ne le soit manifestement pas par
la solution de base trouvée du problème linéaire. Du point de vue
géométrique, ceci correspond à la construction d’un hyperplan
délimitant strictement le sommet fixe de l’ensemble convexe M
et les points de l ’ensemble M dont les composantes respectives sont
des entiers. Le système de contraintes linéaires du problème est
complété par la nouvelle condition, après quoi l ’on cherche la solu
tion du problème linéaire ainsi obtenu. Si celle-ci vérifie les restric
tions d ’intégralité, elle constitue la solution recherchée du problème
en nombres entiers, puisque l’ensemble convexe des conditions du
problème linéaire contient le domaine de définition du problème
à valeurs entières. Dans le cas contraire, on construit une nouvelle
contrainte linéaire qui retranche la solution obtenue sans toucher
25-0776
386 PROGRAMMATION LINÉAIRE EN NOMBRES ENTIERS [CH. S
L (X )= ^ c jX j (3.1)
i=i
sous les conditions
n
y, û i == ^1, &= li 2, • • • , 771 , (3.2)
i=i
Xj ^ 0, / = 1 , 2 , . . . , n, (3.3)
Xj entier pour tout (3.4)
Les paramètres bi et cj sont supposés entiers.
Considérons d’abord quelques relations bien simples qui rendent
plus clair le sens des tableaux utilisés dans les algorithmes de pro
grammation linéaire.
Choisissons un système arbitraire de m vecteurs linéairement
indépendants des conditions du problème (3.1)-(3.3). Supposons,
pour fixer les idées, que ce soient les m premiers vecteurs A u À 2, . . .
. . ., A m. Multiplions les deux membres de l ’équation vectorielle
n
S AjXj = B j (3.5)
j=l
équivalente au système (3.2), par la matrice
A * = (Au A 2, . . ., A m)
Si l ’on pose
X0 = A -'B ; X j = A~xAj, j = 1, 2, . . ., n,
§ 3] ALGORITHME DE PROGRAMMATION 387
Par conséquent,
2 Y io< l- (3.12)
i£J
Si l’on suppose que le nombre entier £ de la ormule (3.11) est
négatif (£ ^ —1), on aboutit à l’inégalité
y = n + 1,
Pour résoudre le problème 0(3.1)-(3.3),
dans les autres
(3.14), cas
il est logique de
faire appel à la méthode duale du simplexe. La première itération
s’achève nécessaire ment par l’élimination de la base du vecteur qui cor
respond à la nouvelle variable xn+ij puisque la première colonne du
tableau ne compte qu’un seul élément négatif, xm+1,0 = —Yzo-
Après quelques itérations de la méthode duale du simplexe, on
obtient la solution du problème (3.1)-(3.3), (3.14) ou bien l ’on
établit qu’il est irréalisable à cause de l ’incompatibilité de ses
conditions. Cette dernière éventualité indique que le problème en
nombres entiers initial n’a pas de solution, puisque, comme on
l’a établi, chaque programme entier vérifie nécessairement le systè
me (3.2), (3.3), (3.14).
Supposons que l ’analyse du problème (3.1)-(3.3), (3.14) s’achève
par la construction d’un tableau optimal correspondant à la solu
tion X(2K Si les éléments de la première colonne du tableau aiçsi
obtenu sont des entiers, les n premières composantes de X(2) for
ment alors la solution recherchée puisque chaque programme du
problème (3.1)-(3.4), étant complété par la valeur correspondante
de la variable xn+l, constitue un programme du problème (3.1)-(3.3),
(3.14) avec la même valeur de la forme linéaire. Mais si parmi les
composantes de base de la solution X(2>il y a des nombres fraction
naires, alors, conformément à la règle déjà décrite, l ’une des lignes
du tableau optimal engendre une nouvelle contrainte additionnelle,
le tableau optimal est bordé d ’une ligne et d ’une colonne unité,
et l’on applique de nouveau la méthode duale du simplexe. Nous
conviendrons d’appeler grande itération la succession des transfor
mations nécessaires soit pour obtenir à partir du tableau optimal
disponible, à éléments fractionnaires dans la première colonne, le
tableau optimal suivant, soit pour mettre en évidence l ’incompa
tibilité des contraintes correspondantes. Chaque grande itération
se compose d’opérations préalables, dont le but est d ’étendre d ’une
$ 3] A L G O R IT H M E DE P R O G R A M M A T IO N 391
le vecteur
L (X) = (x0, *t, x 2, . . xn),
ou
• xQ= L (X) = 2 cjXj-
j=i
Nous conviendrons de considérer que L (Xf) est supérieur à
L (X 2) et d’écrire L (Xj) > L (X J si
x'u > x ? ‘.
ou avec un certain 0 < p ^ n — 1
z(,l> = x*/’ pour j ^ p,
4+ i > 4+i-
Si x(/ ’ = x*/’ pour tout / = 0, i, 2, . . re, L (Xt) est con
sidéré naturellement égal à L (X 2).
Cette méthode de comparaison conduit à la mise en ordre du
—
+
système des vecteurs L (X). En d ’autres termes, n ’importe quels
—v —+
L (Xt) =/= L (X 2) donnent lieu à l ’une des deux alternatives
L ( X t) < L ( X 2) ou L (X,) > L (X2).
•+ ■+ ■+
De plus, les conditions L (Xj) < L (X2) < L (X3) entraînent
la relation L (Xi) < L (X3). Ce procédé de mise en ordre s’appelle
parfois lexicographique, et l ’écriture L (Xj) < L (X2) se lit: le
vecteur L (Xj) est lexicographiquement inférieur au vecteur L (X2).
Dans ce qui suit, nous dirons que l ’un des vecteurs est « supérieur »
ou « inférieur » en omettant le mot « lexicographiquement ».
En se servant de la notion introduite qui permet de choisir le
plus grand entre deux vecteurs L (Xj) et L (X2), il est possible
d’étudier le problème de maximisation de la forme linéaire vecto-
—►
rielle L (X) sous les conditions linéaires par rapport aux composantes
de X. Pour résoudre un tel problème on peut faire appel aux méthodes
usuelles de programmation linéaire, à cette différence près que les
critères des vecteurs des conditions sont dans le cas présent des
grandeurs vectorielles, et leur comparaison impose l ’utilisation
de la règle énoncée ci-dessus. Remplaçons dans le problème (3.1)-
(3.4) la forme linéaire (3.1) par la forme linéaire vectorielle
ï (X) = (L (X), x2, . . ., xn). (3.15)
Le sens de cet artifice est qu’il se trouve que le problème de-
maximisation de L (X) sous les conditions (3.2)-(3.3) et pour un
S 3] A L G O R IT H M E DE P R O G R A M M A T IO N 393
x'oi = Xqi
yio-xn. (3.22)
yik ’
où Xqi est son ancienne valeur, y a > 0 la partie fractionnaire de x /JL.
En utilisant (3.22), on vérifie aisément qu’avec i < r, x* est
un entier. En effet, s’il n’en est pas ainsi et s ii0< r e s t l ’indice mini
mal i tel que x? soit un nombre fractionnaire, alors à la p-ème
grande itération (p > p0) la contrainte supplémentaire est engen
drée par la ligne Zcorrespondant à la variable x 1qJ et, d ’après la for
mule (3.22), la valeur de cette variable, après la première étape de
l’itération, cesse d’être égale à x*0.
Tenant compte ensuite de la décroissance monotone de la fonc-
tion vectorielle à minimiser L (X), on obtient pour un certain
i' < to < r
< = Z*,
ce qui contredit "(3.19).
La convergence de la suite {x^*0} vers x? et les inégalités (3.20)
entraînent la relation
[*?°] = [x?] < x™ < Ix ^ l + 1, (3.23)
qui est vraie pour tout p ^ p', où p' est un nombre suffisamment
grand.
Ainsi, pour tout p ^ max (p0, p')» le nombre x ^ est une com
posante fractionnaire du vecteur à numéro minimal. Considé
rons le début de la (p + l)-ème grande itération, p étant suffisam
ment grand. D’après la règle mentionnée plus haut, la contrainte
supplémentaire de cette itération est déterminée par la ligne Z cor
respondant à la composante xr.
Supposons qu’à la première étape de l ’itération, la variable
x* entre dans la base en prenant la place de la variable additionnelle
xn+^+1 qui vient d’être introduite. D’après la formule (3.22) et
3% PROGRAMMATION LINÉAIRE EN NOMBRES ENTIERS [CH. 5
à partir de la relation
* o x ( /)
y io = max [ (i)
(3.25)
yi\ a) Ya (i>
où X (i) est défini par la condition
xox <t> m in Ü2 Z (3.26)
Yuui> Tjj-X) VW
Une règle plus simple de choix de l consiste à négliger la façon
dont le rapport —2MÎ? dépend de i :
YU(«)
y io = max Yio* (3.27)
i
• Si l ’on néglige la façon dont X (i) dépend de i, on obtient une
règle intermédiaire quant à sa complexité :
l est choisi d ’après (3.25), mais X (i) est remplacé par un indice
fixe X, que l ’on détermine à partir de la condition
= min Xqj. (3.28)
i
Dans ce qui suit, appelons respectivement première, deuxième
et troisième règle les règles ci-dessus énoncées.
Il semble que la rapidité avec laquelle la méthode converge
croît en moyenne à mesure que se complique la règle de choix de L
Pourtant la modique expérience des calculs accumulée jusqu’à
ces derniers temps dans l ’application de l’algorithme ne permet
pas de recommander avec certitude l ’utilisation de l ’une quelconque
de ces règles. D’une façon générale, il convient de noter que l ’algo
rithme de Gomory est encore peu étudié sous son aspect numérique.
On connaît des exemples de problèmes de taille modeste dont la
résolution demande un nombre énorme d ’itérations. Mais d ’autre
part il y eut également des problèmes de grande taille dont l ’explo
ration avait exigé des calculs peu importants. Si en programmation
linéaire on observe une dépendance relativement rigoureuse entre
le nombre de conditions-égalités du problème et celui des itérations
nécessaires à sa résolution, cette dépendance n ’existe pas pour les
problèmes en nombres entiers. Le nombre de variables du problème
est également peu lié au volume des calculs à faire. Il semble que
la grande quantité de travail à fournir dans le cas d’un problème
en nombres entiers est déterminée non seulement par sa taille, mais
encore par des particularités de structure plus fines du polyèdre
des conditions, propriétés liées à la distribution dans ce polyèdre
des points entiers. La mise en évidence de ces particularités présente
un grand intérêt théorique et pratique. Lors de la résolution d’un
problème en nombres entiers, le nombre d’itérations peut être très
ALGORITHME DE PROGRAMMATION 399
2 6 -0 7 7 6
402 P R O G R A M M A T IO N L I N É A I R E E N N O M B R E S E N T I E R S [CH. 5
Suite
§ 3] ALGORITHME DE PROGRAMMATION 403
26*
404 PROGRAMMATION LINS AIRE EN NOMBRES ENTIERS [CH.5
f 3] ALGORITHME DE PROGRAMMATION 405
406 PROGRAMMATION LINÉAIRE EN NMOBRES ENTIERS [CH. 5
§ 4 . Algorithme de programmation
partiellement en nombres entiers
4.1. Considérons le problème de programmation linéaire partielle
ment en nombres entiers qui consiste à maximiser la forme linéaire
L ( X ) = % c }x, (4.1)
i=i
sous les conditions
n
^ aijxj = btj i =z 1) 2, . •. y Td, (4-2)
1 j= i 9
xj > 0 , j = 1, 2, . . n, (4.3)
xj entier pour / = 1, 2, . . ., / z ^ n. (4.4)
La méthode de résolution du problème (4.1)-(4.4) est régie par
les mêmes principes que l’algorithme du paragraphe précédent.
Elle se compose de plusieurs grandes itérations. Chaque itération
débute par la formation d’une contrainte additionnelle, en re
tranchant le programme obtenu plus tôt que ne vérifie pas la res
triction (4.4) et qui est en même temps satisfait sur chacun des pro
grammes du problème (4.1)-(4.4).
Rejetons les conditions (4.4) et recherchons la solution du pro
blème de programmation linéaire (4.1)-(4.3).
Supposons que cette solution soit le programme de base X il\
à base Â, , A 8v . . ., et que les paramètres du tableau optimal
soient désignés par x x (i = 0, 1, . . ., m; j = 0, 1, . . ., n). Si
pour tout st ^ «t la composante de base x 0l est un entier, le pro
gramme obtenu est alors solution du problème partiellement en
nombres entiers (4.1)-(4.4). Dans le cas contraire, on introduit une
contrainte additionnelle dont la règle de construction r!est établie
ci-dessous. Supposons que sx ^ 7it et que, de plus, la ^partie frac
tionnaire yoi du nombre x ot soit positive.
Tout vecteur X qui satisfait aux conditions (4.2) doit vérifier
l ’égalité
X*. = Xio— y, xijXj. (4.5)
is-/
Si la sr ième composante de X est un entier, d ’après (4.5),
yio— ^\xijx} = ni est un entier. (4.6)
Si
2 XtjXj = 2 Xtj Xj + S XijXj^.0,
i£Jt j£j 2
l ’entier n t de l’égalité
. 2 x u xj + 2 xijxj = Vio— nt, (4.7)
J€*Jt i€^a
déduite de (4.6) ,ne peut être positif, car s'il l ’était, le second membre
de (4.7) deviendrait négatif.
On obtient donc, compte tenu de la non-négativité des compo
santes Xjl
2 Xijxj> 2 xtjXj + 2 xi}Xj^>yiQ. (4.8)
jeJi fèJi jeJa
Mais si
2 w = 2 XJXJ+ 2 xux j < 0 ,
je j jeJ i jeJa
l'entier rc* de l ’égalité (4.7) est’ nécessairement positif, puisque
c’est seulement dans ce cas que le second membre de (4.7) devient
négatif. Par suite,
2 xuxj^. 2 XtjXj 4- 2 XtjXj < Y/o —1 »
;6^a ieJi iG^a
ou
— S > Vio» (4.9)
jêJj
Ainsi, tout programme du X-problème (4.1)-(4.3) ayant une compo
sante entière xt[ vérifie soit (4.8) soit (4.9).
Tenant^compte ensuite de la non-négativité des premiers membres
des inégalités (4.8) et (4.9), on peut écrire l ’inégalité
2 xu x j— ï ~ ; 2 xu xJ>yio> (4.io)
je^i je^a
qui est vraie pour tout vecteur X vérifiant les conditions (4.2)y
(4.3) etVcomportant ime composante entière x5/.
Nous n ’avons pas tenu compte jusqu’à présent des variables
Xj (avec ; 6f/)]’qui satisfont aux conditions (4.4) et qui sont astreintes
à être entières. Supposons que k <; nj corresponde à une variable
secondaire, c’est-à-dire k £ / .
Dans ce cas, la relation (4.7) reste vraie si l ’on substitue à x ik
n'importe quel nombre x\k qui diffère d ’un nombre entier de x lh.
Après avoir effectué ensuite les raisonnements qui ont déjà permis
de déduire l ’inégalité (4.10), nous obtenons une condition qui ne
§ 4] ALGORITHME PARTIELLEMENT EN NOMBRES ENTIERS 409
r ï f yik si Y/k<V(0.
mm
{ V,h’ (1 “ }= { (1 - yik) si yik > Y/o-
Ces considérations se rapportent à n ’importe quelle variable
entière Xj avec ; 6 / .
C’est pourquoi la condition (4.10) peut être remplacée par une .
contrainte plus forte
2 à ijx j> y to, (4.12)
où
Xtj si j > n u x i j > 0,
y io
si ) > n i, x , J<. 0,
1—Y/oXli (4.13)
6,j =
YU si / < n i , Ytf<Y/o»
si / < » , , y tJ > Y/o-
L ’inégalité (4.12), munie de coefficients 6 /;définis par la Z-ième-
ligne du tableau à l ’aide de la formule (4.13), est la contrainte
additionnelle recherchée.
Une fois écrite sous la forme équivalente
_ Y/o = — 2 âijXj + * » + !, Xn+1 > 0 , (4.14)
elle s’ajoute aux contraintes linéaires que l ’on avait déjà eues. Le pro
gramme disponible à base composée de vecteurs A j avec / ( £ / ne-
satisfait évidemment pas à (4.12), puisqu’il rend nul son premier
410 PROGRAMMATION LINÉAIRE EN NOMBRES ENTIERS [CH. 5
Non entiers
S 4] ALGORITHME PARTIELLEMENT EN NOMBRES ENTIERS 413
414 PROGRAMMATION LINÉAIRE EN NOMBRES ENTIERS [CH. 5
Tableau 53.
^ 41 ALGORITHME PARTIELLEMENT EN NOMBRES ENTIERS 415
416 PROGRAMMATION LINÉAIRE EN NOMBRES ENTIERS ICH. 5
yv s» yu<yio,
àij = Vio (4.16)
{ i —yio (1—Y») si yij > Y/o-
a *
27-0776
418 PROGRAMMATION LINÉAIRE EN NOMBRES ENTIERS [CH. S
a ,= ” “ . ( ~ ï r ) - (58)
Nous laissonsau lecteur le soin de justifier cetterègle (cf. exer
cice 12).
Après avoir calculé a 0, posons a = a 0 dans (5.5) et ajoutons au
tableau disponible la colonne imité em+i et la ligne aux éléments
n u (a0) (n,j (a) = 0 si / = su s2, . . sm).
Transformons ensuite le tableau en prenant pour ligne direc
trice la nouvelle ((m + l)-ème) ligne et en choisissant la colonne
directrice d ’après les règles de la méthode duale du simplexe. Le
choix de a 0 égalise l ’élément directeur, de la transformation à —1.
Par conséquent, le nouveau tableau jouit de la propriété du tableau
précédent, c’est-à-dire se compose de nombres entiers x\j, et de
plus, x'oj ^ 0 pour / = 1, 2, . . ., n + 1. La suite d ’opérations
ainsi décrite constitue une itération isolée de l ’algorithme. Les
itérations sont effectuées jusqu’à ce que l ’on obtienne un tableau
dans lequel ou bien toutes les composantes de base seront non néga
tives, ou bien une ligne aura son premier élément négatif et ses autres
éléments non négatifs. Dans le premier cas, le problème est résolu;
dans le deuxième, ses conditions sont contradictoires.
Si, à l’une des étapes, une variable additionnelle quelconque
étant d’abord secondaire devient ensuite variable de base, la ligne
et la colonne qui lui correspondent sont rayées. Il est bon de faire
le choix de la ligne 2 qui engendre la contrainte additionnelle en se
guidant sur la condition de décroissance maximale de la fonction
(3.1) à l’étape considérée.
Cette méthode suppose l ’existence d’un tableau initial aux nom
bres entiers et aux valeurs non négatives des critères. La construc-
27*
420 PROGRAMMATION LINÉAIRE EN NOMBRES ENTIERS [CH. 5
i£J
(5.9)7
V
où J est l’ensemble des indices des variables secondaires du pro
gramme Xi1).
Le programme X(1) ne satisfait pas à (5.9), puisqu’il rend nul le
premier membre de cette relation.
D’autre part, si X est un programme entier quelconque, alors
parmi ses composantes Xj, / £ / , il en est qui sont positives, et le
premier membre de (5.9) est égal à un entier positif, ce qui signifie
que la condition (5.9) est observée. Ainsi, la contrainte (5.9), pro
posée en 1959 par Dantzig [36], jouit en effet de deux propriétés
caractéristiques des conditions supplémentaires de la programmation
en nombres entiers. Pourtant, comme l’ont montré Gomory et
Hoffman [30], l ’algorithme de programmation en nombres entiers.
§ 51 AUTRES MÉTHODES DE PROGRAMMATION 421
D é m o n s t r a t i o n . Par définition,
Æn+i (X) = S xj —1•
i&
VJ cjxj (5.19)
i=i
sous les conditions
n
S a jx j^ b , (5.20)
j=i
0 ^ xj ^ dj, / = 1 , 2 , . . ., n, (5.21)
Xj entier, j = 1, 2, . . ., n. (5.22)
Les paramètres c^, aj > 0, b > 0 et dj > 0sont ici des entiers.
Introduisons les fonctions f h (z) de l ’argument entier z pour
k = 1, 2, . . ., n, en posant f h (z) égal à la valeur optimale de la
forme linéaire du problème (5.19)-(5.22) dans lequel l ’indice n et
le paramètre b sont remplacés respectivement par k et z.
Les valeurs des fonctions f k et f h sont associées par des rela
tions récurrentes
f h (z) = max (2 — ah -h) + ck -h], (5.23)
où le maximum est pris sur les h entiers qui vérifient les conditions
0 < A < fc(z, k) = min { [-^ - ]. ;
2 S h(k, z) + b
! 2=1
opérations. Si l’on suppose que aj = i, dj — d b, J = i 9 2, . . .
. . ., n, le nombre total d’opérations nécessaires pour définir toutes
les fonctions fj (z), ; = 2, 3, . . .? n, s’exprime par la formule
d(2b — d + 1) (n - 1 ) . (5.24)
Connaissant les fonctions f] (z), il est aisé de calculer les compo
santes du programme optimal cherché du X*-problème (5.19)-(5.22).
Prenons]
(T ^ xJi ^ dn à partir de la condition
cnx*n + (b — anx*) = /„ (b) ;
à partir de la condition
C „ _ + fn—z (b — anxj — ûn-tx;.!) = (b — anxt) ;
etc.
0 < a* < d2 à partir de la condition
C & î + fi (b — a nx ï — . . . — ûÿr*) =
= fz (b — anx* — . . . — ajc*) ;
0 ^ x* ^ di à partir de la condition
cix* = fi (b — anx* — . . . — a2xl).
En additionnant les n égalités précédentes, on obtient
2 Cjxl = f n (b),
J=1
ce qui veut dire que le vecteur X * aux composantes entières x *
est solution du problème (5.19)-(5.22).
Les opérations liées à la détermination des composantes x*
d ’après les fonctions connues fj (z) s’avèrent superflues si l ’on retient
chaque fois, lors du calcul du second membre de (5.23), la valeur
de l ’argument h pour lequel est atteint le maximum.
Si dans le problème (5.19)-(5.22) chacune des variables ne
peut prendre que deux valeurs: 0 ou 1, c’est-à-dire si d} = 1 et
§ 5J A U T R E S M É T H O D E S D E P R O G R A M M A T IO N 425
i= 1
où ipj (xj) est une fonction arbitraire d’un argument entier.
Toutefois, lorsque le nombre de contraintes du problème en
nombres’entiers augmente, la quantité de travail à fournir en utili
sant la méthode de programmation dynamique s’accroît brusque
ment. C’est que pour un problème qui compte m contraintes asso
ciant toutes les variables, les fonctions fj sont définies par m va
riables :
fl = fj (zij z 2j • • .» zm) est la valeur optimale de la forme
linéaire d’un problème à / variables dont les seconds membres
des contraintes sont égaux à zu z2, • • •> zm•
C’est pourquoi le volume de calcul des fonctions f] s’accroît
au rythme d’une progression géométrique à mesure que m augmente.
Il semble que la limite raisonnable de l ’application de la méthode
de la programmation dynamique à la résolution du problème en
nombres entiers général soit limitée par trois conditions.
La méthode de la programmation dynamique est efficace égale
ment pour une série de problèmes en nombres entiers spéciaux.
Considérons, par exemple, le problème de distribution en nom
bres entiers, qui consiste à maximiser la forme linéaire
2 n
2 S cijxtj (5.25)
i= t >=1
sous les conditions
71
S kijXtj-^ai, i = 1, 2, (5.26)
2i=1
2 x/j = bj, y = l , 2,. . . , » , (5.27)
0 (5.28)
x tj entier. (5.29)
Ici eu ^ 0, u ^ 0.
426 P R O G R A M M A T IO N L I N É A I R E E N N O M B R E S E N T I E R S [C H . 5
PROGRAMMATION STOCHASTIQUE
est déterminé par des grandeurs aléatoires, dans les problèmes dyna
miques, par des fonctions aléatoires ou des suites aléatoires. Les
lois de variation des caractéristiques statistiques des fonctions ou
des suites aléatoires doivent être prises en compte aussi bien dans
la formulation du problème que dans la construction des méthodes
d ’analyse. L’optimisation des modèles probabilistes dynamiques
engendrés par les processus ou chaînes de Markov s’appelle pro
grammation markovienne.
Ces dernières années on a vu apparaître également des ouvrages
consacrés à des problèmes stochastiques à étapes multiples aux con
traintes probabilistes conditionnelles et inconditionnelles. Les
paramètres aléatoires des conditions de ces problèmes, paramètres
intervenant à des stades différents, ne constituent pas nécessaire
ment une chaîne de Markov.
Pour certaines classes de problèmes stochastiques à étapes mul
tiples, on a construit et exploré des règles de résolution optimales.
On peut indiquer également d’autres critères de classification
des problèmes de programmation stochastique, différents de ceux
mentionnés ci-dessus. Nous ne les donnons pas, parce que l’expé
rience acquise dans la formulation et la résolution de ces problèmes
étant manifestement insuffisante, elle ne fournit pas encore de rai
son bien fondée pour choisir une classification qui reflète les voies
de développement de cette discipline.
probabilité
P [A (q) X < J 5 (g)] = 1. (2.4)
Supposons que la matrice -4° et le vecteur B° forment un couple
admissible, et que le vecteur X° soit solution du problème déter
ministe de programmation linéaire dans lequel on demande de maxi
miser la forme linéaire _
L = (C, X) (2.5)
avec
A °X < 5 ° , (2.6)
X>0, (2.7)
où C = EC (q) est l’espérance mathématique du vecteur des coef*
ficients de la forme linéaire.
Il est clair que si X° est un programme permanent du problème
stochastique, il en sera aussi sa solution. Ainsi, l ’une des approches
à la résolution d’un problème à une étape consiste à rechercher
un programme permanent X° qui serait solution du problème déter
ministe de programmation linéaire pour un certain couple admis
sible [4°, B° 1.
Si [4°, B°\ n’est pas un couple admissible, alors de ce que le
programme optimal X du problème (2.5)-(2.7) est permanent il
ne suit encore pas que X est solution du problème stochastique.
Le couple [4°, B°] est constitué généralement de la matrice
4 = EA et du vecteur B = EB dont les éléments sont les espérances
mathématiques des éléments correspondants 4 (q) et B (q). De
plus, on suppose que le couple [4, B J est admissible.
Soit X = (xt, . . ., xn) le programme optimal du problème
déterministe (2.5)-(2.7). Pour établir si X est solution du problème
stochastique correspondant, il suffit de vérifier s’il est permanent.
Lorsque tout élément de la matrice 4 (q) est borné supérieurement
et les composantes des vecteurs B (q) le sont inférieurement, cette
vérification ne présente pas de difficultés.
Il est facile de voir directement que le vecteur X est programme
permanent du problème à une étape si
(3.4)
;=1
où est calculé d ’après (3.2).
L ’équivalence des relations (3.3) et (3.4) permet de ramener
le problème stochastique^de programmation linéaire du type
E (C, X) -> max,
P (AX < B) > p,
où les vecteurs B et C sont aléatoires et où la matrice A est déter
ministe, au problème déterministe de programmation linéaire
(C, X) max,
AX < 5.
3.2. Dans les problèmes de programmation stochastique il faut
souvent (cf. paragraphe 1.2) que la solution X vérifie, en plus des
conditions du type (3.3) ou (3.4), les relations du type
X = O (il, B y C),
où O est une fonction de classe déterminée.
Dans [77], on considère comme condition supplémentaire les
règles de commande du type
X = DB,
où D est une matrice déterministe inconnue de dimension (n X m)
(la matrice A des conditionsj i u problème a, comme d ’habitude, la
dimension m X n).
Avec la règle de commande supplémentaire ainsi introduite, le
programme X et la solution À'* sont des vecteurs aléatoires dont
§ 3] PROBLÈMES À CONTRAINTES PROBABILISTES 443
OU
1 - 0 (G )>ph
où O(Ç) est la fonction de Laplace.
Cette dernière inégalité est équivalente à la relation
[[S < «D-Ml - Pi) = - * |. (3.13)
Avec pi > *“• (et c’est le seul cas qui présente quelque intérêt dans
les problèmes pratiques),
ki > 0.
Sous les hypothèses adoptées, les nombres k t dépendent seule
ment des probabilités données p t et ne dépendent pas des éléments
de la matrice recherchée D.
Portons l ’expression de tirée de (3.11) dans l ’inégalité (3.13).
Nous obtiendrons l ’écriture suivante des contraintes du problème
initial :
F, — atDB > jfc, V e [(6, — F,) — atD (B — B)]2.
Introduisons des variables additionnelles z t telles que
F, — atDB > 2, > h V Y T Î j b ^ b Y ^ â ^ l B ^ W ) ^ ' .
§ 3] PROBLÈMES À CONTRAINTES PROBABILISTES 445
j e 2 dt-+ max.
TlO
Cette dernière restriction équivaut à
Ho min,
ou, ce qui revient au même, à
CDB — (C°, XQ)
max.
V eicdb - cdbp
Introduisons de nouvelles variables artificielles z0 et W0 :
W l ^ V (D) = E (CDB - CDB)\ (3.29)
z0 <CDB - (C°, X*). (3.30)
Les conditions (3.25)-(3.26) du problème se transforment, comme
dans le cas du ^-modèle, en contraintes (3.20)-(3.22). C’est pourquoi
le problème de programmation stochastique (3.24)-(3.26) se ramène
au problème non linéaire déterministe suivant:
max (3.31)
sous les conditions (3.29)-(3.30) et (3.20)-(3.22).
Seuls présentent un intérêt pratique les problèmes pour lesquels
V (D) > 0. Pour ces problèmes, W0 > 0 en raison de (3.29). Afin
de se libérer de l ’exposant homographique, introduisons la variable
448 PROGRAMMATION STOCHASTIQUE [CH. 6
^ { . 2 ( 4 ' ^ + c ? y ,) } . * (3.38)
so u s le s c o n d itio n s
(4.30)
II
S S ciJXij (4.38)
i = l ; = l
2 x U = ali i = l , 2 , . . . , m, (4.44)
j=*l
0, i —1, 2, •• . , m ; / = 1, 2 , . . . , rc, (4.45)
S > 0 , £ > 0 , 7 = 1,2, „ . n. (4.46)
Ici
771 771
= 0 avec 6y > S
i= l i= l
771 771
£ = .2 .2 cijxij + 2 h] 2 (4.53>
i—1 i= l i = * l g—gj
où
= A i«} = avec s >S j .
(Pour s < s), la pénalité n ’est pas payée puisque dans ce cas, en
vertu de (4.52), la demande est satisfaite.)
Transformons la fonction économique (4.53) en y ajoutant e t
retranchant la somme
n 8j
2 ^7 2 Qjs^js*
5=»1 *=»1
Il vient
771 71 71 8j 71 8j
L= 2 2 c i j x i) 4 " 2 hj S Q js& j$ — 2 ^7 2
i= i j= l j= 1 8=1 i= l
La quantité
71 s7
Z/q = 2 ^7 2
3=1 8=1
est l’espérance mathématique de la pénalité pour ignorance totale
de la demande, lorsque aucune unité de produit n ’est livrée aux
points de consommation. La valeur L 0 ne dépend pas des paramètres
recherchés. En outre,
n 8j n 8j
. j= l
2 *78=2 Qj&j* = 3=1
1
2 ^7 28= QjJsJ* 1
/(*,?)= 2 (5.2)
n=i
la minimisation de F(X) se ramène à celle de la somme
S v s m (5.3)
n=t
où
K=jfF(9)P(9)dq. (5.4)
ç
La proposition qui suit est moins évidente, mais plus utile pour les.
applications [49].
464 PROGRAMMATION STOCHASTIQUE [ C H . fl
§ 6. Programmation markovienne
Parmi les modèles de programmation stochastique, les modèles
probabilistes dynamiques occupent une place considérable. Leur
formalisation et la construction des procédures de calcul correspondan
tes présentent de grandes difficultés. Les modèles correspondant aux
systèmes dans lesquels la transition d’un état aléatoire en un autre
est définie par une chaîne de Markov en sont une exception. Les
méthodes d’étude de tels modèles font l’objet de la programmation
dite markovienne. Dans [171, on montre que la discussion des modè
les markoviens linéaires de problèmes extrémaux conditionnels se
ramène à la résolution de problèmes de programmation linéaire.
Illustrons l ’idée de la programmation markovienne par un exemple
suffisamment général [511.
Considérons le problème qui consiste à établir le programme de
fabrication mensuel pour une période assez longue (horizon écono
mique), que l’on peut théoriquement prendre égale à l’infini. Suppo-
30-0776
466 PROGRAMMATION STOCHASTIQUE [CH. 6
Exercices
1. Soit
3 —1
A<2>=
02
5 2 1 3
B*> = (5, 10)T ; B & = (2, 15)T ;
C‘* > = (1 , 2); C<*> = (3, 4).
Résoudre le problème à une étape du type (2.1)-(2.3) dans lequel la matrice des
conditions A peut coïncider avec j4(1> avec une probabilité de 0,75 et avec A l2)
avec une probabilité de 0,25 ; le vecteur des contraintes B prend la valeur de B {1)
avec une probabilité de 0,9 et celle de £<S) avec une probabilité de 0,1 ; le vecteur
de la forme linéaire C peut coïncider, avec la même probabilité, avec C(1>ou C<2>.
2. Les éléments de la matrice des conditions, au vecteur des contraintes et
du vecteur de la forme linéaire C sont les fonctions d’un paramètre aléatoire q
EXERCICES 469
PROGRAMMATION LINÉAIRE
PAR MORCEAUX
Problème III.
n
F { X ) = y t f J (xj) + min, (1.15)
i=l
n
Ï2 Si J (^ ) ^*0, ^= 1» 2, • • ., 7711, (1.16)
7=1
n
aijXj — 6| = 0, i —mi + 1, m, (1.17)
j= 1
Cty Xj py, j = 1, 2, • • 71, (1.18)
où fj (xj) et gu (xj) sont les fonctions linéaires par morceaux de la
variable Xj.
Problème IV.
*0
/?(X )= 2 /fc l-kofc ( X ) ] m i n , (1.19)
/t=*l
2 i = 1, 2, . . 7 7 lj, (1.20)
fc= l
n
L ih( X ) = % a < $ X j - b f ,
J = i
k = 1, 2, . . s,, i = 0, 1, 2, . . mu
sont les fonctions linéaires des variables x u x 2, . xn.
Problème V.
n
2 — ù/ = 0, i = l , 2, . . m, (1-24)
7=1
a-j < x j < P j = 0 , y = l, 2, . . /i, (1.25)
où fj sont les fonctions linéaires par morceaux de leurs arguments;
L j = L j (X), les fonctions linéaires des variables x u x2, . . ., Xn.
■S 1] PROGRAMMATION LINÉAIRE PAR MORCEAUX 475
Problème VI.
n n-f*
F( X) =?> f j ( xj ) + S / i l ^ l - m i n , (1.26)
j=l j=n+l
n
2 « ü (* i)+ 2 f tilü jK O , t = l , 2 , . . . , m , (1.27)
1 /“ n+l
<*7 < P j > 7 = 1, 2, . . ., re, (1. 28
où fj et gij sont les fonctions linéaires par morceaux de leurs argu
ments;
L j = Lj (X), les fonctions linéaires des variables x u x 2,
Problème VII.
n n-fa
F ( X ) = ' 2 f l ( * j ) + S f J [ L j ] ^ min, (1.29)
i*=i 5=n+l
n n+a
S gi j [ Lj ] ^ 0 , £= 1, 2,. . mu (1.30)
;=1 j=n+ 1
n
2 aijXj — 6i = 0, £= 771! + ! , . . . , ^ , (1-31)
i=i
P;* / = 1, 2, . . ., 71, (1.32)
où fj et gu sont les fonctions linéaires par morceaux de leurs argu
ments ;
Lj = Lj (X), les fonctions linéaires des variables xu x 2, . . ., xn.
On constate facilement que chacun des énoncés ci-dessus inclut
certains autres comme cas particuliers. C’est pourquoi l’existence
d ’un algorithme de résolution de l ’un d’entre eux permet de cons
truire sans peine des schémas de calcul pour certains autres des
problèmes considérés.
Les formulations des problèmes I et II se déduisent de celle du
problème III avec 77^ = 0 et = m respectivement. Le problème
III, à son tour, se déduit du problème IV si pour i = 0, 1, 2, . . .
. . ., m1 on pose st = n et
Xj avec k =
{ O avec * * , .
Si l ’on pose Lj = const pour ; = n + 1, . . ., n + s, le pro
blème I peut être considéré comme une formulation particulière du
problème V. En introduisant les variables xn+j = L j, j = 1, 2, . . .
. . ., s et en posant —a n+i = Pn+y = oo, on peut au contraire
obtenir l’énoncé du problème V en tant qu’énoncé particulier du
problème I.
47G PROGRAMMATION LINÉAIRE PAR MORCEAUX [CH. 7
X] < du + x f \
x® > 0.
Les conditions du premier groupe ne comptent que des variables x ^
Celles du deuxième contiennent en outre les variables x^K
Nous avons déjà dit que les quantités cr^ sont supposées posi
tives.
Il est logique de considérer que les nombres du sont tels que»
aJ < dij < d2j < . . . < dijj < P;.
* ( X ) - É /,(*,) (l-37>
j=i
sous les conditions (1.34) et (1.35).
Les fonctions fj (xj) sont définies par la formule
c jx j, a j ^ x j - K d u ,
( c j + O t j ) (X] — d i j ) - \ - f j ( d tj ) , d i j ^ x j - ^ d z j ,
Posons
i
Cf j —C j 2 Gai i Î = ^ j 2, • • • i I j t
a=i 3
Cqj — Cj .
Ainsi, quel que soit /, la fonction fj (xj) est continue sur [ay, Pyl
et linéaire sur chacun des segments ldkJ, dh+i%j]; de plus, sur
ldkj, dk+Xj] son coefficient angulaire est égal à chJ. Notons que
comme, par condition, tout a*y > 0, les fj (xy) sont des fonctions,
convexes vers le bas. Désignons par (2?) le problème de minimisation
de la fonction (1.37) sous les conditions (1.34), (1.35). Dans les
notations du paragraphe 1.1, le problème (B) coïncide avec le pro
blème I. Appliquant au problème (B) la terminologie de la pro
grammation linéaire, appelons le vecteur X = (xu x2, . . ., xn)
satisfaisant aux conditions (1.34), (1.35) programme du problème
(S), et le programme X minimisant la fonction F (X), programme
optimal ou solution du problème.
Etablissons l ’équivalence des problèmes (-4) et (5), dont voici
le sens. Si X = (xu x2, . . ., xn) est le programme optimal du
problème (B) et si dhjJ ^ Xj ^ dhj+ujl la collection des variables
(xJy zW), où
_ (XJ — du, i ^ kjj
(1.39)
J - i 0, i>kj.
donne la solution du problème (A).
Inversement, si ( x y , x$l)) est la solution du problème ( A ) , le
vecteur X = (xlt . . ., xn) est le programme optimal du problème
(B). Constatons avant tout qu’en raison de la positivité des nombres
Oijj la solution du problème (A) doit être recherchée parmi ceux
480 PROGRAMMATION LINÉAIRE PAR MORCEAUX [CH. 7
où Ay est égal au plus grand des indices i tels que dtj < Xj. La défi
nition de la fonction /y (xj) entraîne
2 CJ XJ + 2 2 o u x f = F { X ) > F { X ) = j \ CjXj +S S
j= 1 j = l t = l • /= 1 ; = i i = l
S PhjXj+ S S ^ h l^ jh ^ ë h , k = 1, 2, (1.42)
j= 1 i- i /-l 3 3
« *8 + t = 1, 2, •j fkjj
xlQ > 0 (1.43)
* = 1, 2, ., 5, / = 1, 2,
S ëhj { x j X g k , fi = 1, 2, . . . , s, (1.44)
j=*l
31-0776
482 PROGRAMMATION LINÉAIRE PAR MORCEAUX [CH. 7
où les fonctions linéaires par morceaux ghj (xj) sont définies par les
formules du type
■Pkjxj pour
(Pkj + 7$) (xj — d$) + gh] (d{0) pour d f l - ^ x j < d $,
gkj(Xj)=} ..................................................................................................
31*
484 PROGRAMMATION LIN ÉA IRE PAR MORCEAUX [CH. 7
S nzi = r,jz*,
i=0
soit
m
S rtZi = roF(X*). (2.13)
i=0
Considérons que les coefficients rt qui définissent II sont choisis
de telle façon que pour tout point Z £ M
m
S rtzt >roF(X*). (2.14)
1=0
On voit.aisément que
rt > 0 avec i = 0, 1, . . ., m,. (2.15)
486 PR O G R A M M A T IO N L IN É A IR E P A R M O RCEA U X [C H . 7
h = - j - , (i = l, 2, m)
”0
Aj = (Xi, . . ., Xmt) ; Aj = (^mi+l» • • ^m)*
Les inégalités (2.15) entraînent
A, > 0. (2.16)
Pour les points Z £ M définis par les égalités
z0 = F (X ),
Z\ — gj (X)i i = 1) 2, . . ., nij,
zt = (A X B)t, i = mi + 1, . . ., m,
où X 6 R, l ’inégalité (2.14) se met sous la forme
F (X ) + (Aj, G (X )) + (A2, (AX - B ) ) ^ F (X *), (2.17)
X£R.
Le vecteur X* est le programme optimal du problème (2.1)-(2.4).
En raison de (2.2), (2.3) et (2.16), l ’inégalité (2.17) conduit à
F (X) + (Au G (X)) + (A2, (AX - B ) ) >
> F (X*) + (Au G (X*)) + (A2, (AX* - B ) ) , X £ R, (2.18)
ou, ce qui revient au même par suite de (2.5),
<p (X*, A ) < <p (X, A), X Ç R. (2.19)
On a ainsi démontré que si le vecteur X* est solution du pro
blème (2.1)-(2.4), il existe un vecteur A = (Ai, A2), Ai ^ 0, tel
que ce même vecteur X* assure le minimum de la fonction <p (X, A)
sur l'ensemble R. Il est ainsi établi que la condition a) du théorème
est nécessaire.
Pour s’assurer que la condition b) est nécessaire elle aussi, posons
dans le premier membre de l ’inégalité (2.17) X = X*. Il vient
(A„ G (X*)) > 0. (2.20)
5 2] C R IT È R E S D ’O P T IM A L IT É DES PRO BLÈM ES 487
avec x* =
f l ' .(x?) + (A, g (V (*?)) > o. (2.34)
et avec x* “ [P*
f l ' (x?) + (A, t? (X?)) < 0. (2.35)
Ici
g'V (*?) = WV (*f)------ - «S8 (*?)>
et
g 'V (x?) = (X?), . . & ) (x*)}
sont les vecteurs de dimension m, dont les composantes sont res
pectivement les dérivées à droite et à gauche des fonctions linéaires
par morceaux gtj (xj) en x*.
Les inégalités (2.33)-(2.35) entraînent l ’inégalité (2.31) (cf.
exercice 4).
Ainsi avec A ^ 0, les inégalités (2.33)-(2.35) constituent avec
l ’égalité (2.32) les conditions d’optimalité nécessaires et suffisantes
d’un programme du problème II. Le critère d ’optimalité obtenu du
programme est à la base du calcul numérique du problème linéaire
par morceaux considéré.
Le problème III (dans les termes du paragraphe 1.3, le problème
(Z?)) ne diffère du problème II que par le système supplémentaire de
conditions-égalités linéaires. Des raisonnements analogues aux
précédents conduisent au critère d’optimalité suivant d’un pro
gramme du problème III.
Le programme X * = (x . . ., x%) du problème III en est une
solution si et seulement si il existe un vecteur de dimension mlr
Ai = (Xlf . . ., Xmi) ^ 0, et un vecteur de dimension (m — m,),
A2 = (^mi+i, • • •i ^m), tels que
f r (*J) + (Ai, g(V (*?)) < (A* Aj) <
< f v (x?) + (At, gr (x?» (2.36)
QQ.
avec a
V
H*
k = 1, 2, . . ., st ; i = 0, 1, 2, . . ., m,.
Le problème IV s’écrit alors
*0
S /n (yofe) —^ min, -(2.41)
*=i
•i
I j g i h i y i k ) ^ 0 ; î = l, 2, . . . , mu (2.42)
fessl
n
2 afjXj—ÿih = 6ifc); k = l, 2, sr, i = 0, 1, 2, . . mif (2.43)
i=i!
n
2 dijXj — bi = 0 ; i = j7ij + l* • •-« ni* (2.44)
j=i
< Xy < py; ; = 1, 2, . . n. (2.45)
Soit
^ = {ÿoi» • • • i y O so i ÿ i l i • • • > ^l«ii • • • » y r r iil i • • • i y m t* m i1 ^ 1 » • • • »
x (2.46)
le programme arbitraire du problème (2.41)-(2.45).
D’aprfe le critère d’optimalité obtenu dans ce qui précède pour
le problème III, le programme
z * = {yoi» «• • * yo«o* yii» •••* yi«n •••? ymiii • • • » ymijmi? ^ 1* • • • »
du problème (2.41)-(2.45) est son programme optimal si et seulement
si il est possible de composer des collections de nombres
Xi ^ 0 (i = 1, 2; . . ., nij) j = lj 2, • • *9 Si,
i = 0, 1, . . ., TTli),
(i == “I” 1» • • ^))
s 2] CRITÈRES D'OPTIMALITÈDES PROBLEMES 491
avec xf = aj,
fi" (*?) + (A„ £ +> m > (A* Ai) - (A3, Ai);[ (2.64)
avec xJ = $j,
fi" (X?) + (Ai, f t r (x ?)X (A 2, A,) — (A3, (2.65)
avec ; = n + 1, . . ., n + s,
fi" (yf) + .(A», & ' (y * )X * ;-n < |
< f i " (y]) + (Al, m (2.66)
et
n n-fs
2 (A„ g/ (x?)) + . S (A„ (y?)) = 0. (2.67)
j=i ;=n+l
Les notations adoptées ici sont les mêmes que dans le cas précédent.
Le lecteur peut voir sans peine que le critère d’optimalité du pro
gramme du problème VII permet de déduire aisément tous les cri
tères mentionnés ci-dessus pour les problèmes I à VI (cf. exercice 6).
Les critères d’optimalité des problèmes particuliers de program
mation linéaire par morceaux obtenus ici seront employés dans-
les paragraphes qui suivent à la construction de méthodes et d’algo
rithmes de calcul du programme optimal.
2 = 7 = 1» 2, . . . , 77i (3.13)
i= l J
Le système (3.13) peut être mis également sous la forme matri
cielle suivante:
A A X = Cx , (3.14)
où A x désigne la matrice dont les colonnes sont les vecteurs des con
ditions qui constituent la base du programme X,
CX ~ (pkil» ^ 2 » • • •» chmTn)•
Les vecteurs A ly A 2, . . ., A m qui constituent la base du programme
X étant linéairement indépendants, le système a une solution unique
qui peut s’écrire
(*i, - • -, *») = A = Cx A x \ (3.15)
où Aie désigne la matrice inverse de la matrice A X- D’après le
critère d’optimalité, pour que le programme X soit optimal, il
faut et il suffit que les 'composantes ainsi calculées du vecteur A
vérifient les conditions
m
Ch *—1. = 2 ' ^ ‘Cfi .j SI Xj Ctji Py j j Tft -j- 1,
J i=l J
cijj^Czj si xj = flj1 j > m + l ,
Zj < c0J = cj si xj = a y, + 1.
Si l ’on pose par convention c ^ j = —oo, Cij+i.j = oo, tous les
trois types de conditions peuvent s’écrire alors sous la forme unique :
pour 7> m + l. (3.16)
Ainsi, pour tester l’optimalité du programme X, il suffit de calculer
les nombres Zj, j m + 1 et d’établir s’ils satisfont au système
d ’inégalités (3.16). Si toutes les inégalités (3.16) sont vérifiées, alors
le programme X est optimal et le problème est résolu.
§ 3] PRINCIPES THEORIQUES DU PROBLÈME I 497
Ar ='%XtrAt. (3.18)
i=l
Notre tâche consiste à construire un nouveau programme de base
du problème B, associé à une plus petite valeur de la fonction F (X).
Introduisons dans la discussion le vecteur X (6) = (xj (0), . . .
. . ., xn (0)) dont les composantes se calculent d ’après la formule
fX j — 0a>, j = 1, 2, . . ., m,
Xj (0) = \ xr + 0, 7 = r, (3.19)
l * 7> j j > m 4- 1.
Notons que pour une valeur quelconque de 0,
ÎM^(0)= 5=1
7=1
SA jxj = B,
0: (3.21)
xir
Si l ’on pose xrr = —1, la relation (3.21) reste vraie aussi pour
; = r. On en déduit que les valeurs de 0 qui nous intéressent peuvent
s’écrire
xj—dyj .
0V7= — ------ pour ; = 1, 2, . . . , m, r
xJr
et pour des 7 = ^ 0, lj + 1, tels que O<Ç0T7^ 0'.
On voit donc que j 6 E'x tient compte des valeurs critiques dyj
situées à gauche de Xj et j 6 Ex et j = r, des valeurs critiques à
droite de Xj. On ne prend ici en considération que celles de ces valeurs
qui peuvent être obtenues avec 0^ 0' et qui diffèrent de aj et
pj. Ecrivons les valeurs trouvées dans l ’ordre croissant;
(3.22)
Constatons que lorsque le problème (B) est non dégénéré, tous
les membres de la suite (3.22) sont différents et positifs. (Autrement,
§ 3] PRINCIPES THÉORIQUES DU PROBLÈME I 499
§ 4 . Dégénérescence
Dans le paragraphe précédent, nous nous sommes bornés à exa
miner les problèmes non dégénérés du type (B). Nous allons mainte
nant étendre la méthode décrite auparavant au cas général.
Si tous les programmes du problème (B) sont non dégénérés,
chaque itération conduit à une décroissance de la fonction F (X),
puisque dans ce cas 0O> 0. Dans le cas dégénéré, la quantité 0O
peut être égale à zéro, et l ’itération respective ne réduit pas la
valeur de la fonction à minimiser. Rappelons que la démonstration
de la finitude de la méthode était étayée essentiellement par le fait
que le processus était monotone, puisque c’est précisément cette
condition qui garantit que les programmes de base construits au
cours de la résolution du problème sont différents. La dégénérescence
du problème se manifeste généralement par le fait que la quantité
0O s’obtient simultanément sur plusieurs vecteurs des conditions.
On pourrait, certes, éliminer de la base l’un quelconque de ces
vecteurs. Alors, comme dans le cas non dégénéré, nous nous dépla
cerions suivant les programmes de base du problème.
Toutefois, la fonction F (X) pouvant dans ces conditions garder
une valeur constante, il se peut que deux programmes séparés par
plusieurs itérations coïncident. Ceci peut conduire à son tour à
ce que l ’on appelle un cyclage qui consiste en un retour périodique
au même programme de base après quelques itérations. Des exem
ples montrent que l’apparition d’un cyclage est possible. Pour
parer à cette éventualité, il faut compléter la méthode par une règle
504 PROGRAMMATION LINÉAIRE PAR MORCEAUX [CH. 7
f(X)=j\fj(xj) (4.1)
;=l
sous les conditions
2 Ajx} = B + S zhR k, (4.2)
j=»1 h=l
(4.8)
«=*1
7 = 1, 2, . . . , tu] 0, r (b) = 0yr»
§M ALGORITHME DE PROGRAMMATION PAR MORCEAUX 507
— -= pour s = l, 2, t, mais —.
itr z j2r Jir z i2r
Tableau 7.1
I
Ai a 2 B
1 «11 «12 « in bi
Ûj2 a 2n | ^2
2 1
...
:::: | ::: ::: j :::
m — 1 a m - l.l « m -1 , 2 n | bm - 1
«m l flm : «m n || &m
■
— c0i a2 — an — c0n
Cl
» 11 *
Tableau 7.3
Tableau principal de la £-ième itération
c*p X ... a O) e
•” 1 ^
chti Xi en ei2 ... eim | xir ai(Pi) e»
Ai
|
Ak ekkk xk *hi ek2 ... ehm xhr Oft (P*) 0fc
U
Am chmm xm eml emz emm xmr ®m(Pm) 0m
Xi = 2 i = i, 2, . . . TH. (5.2)
t=i
Ainsi, pour obtenir Xh il suffit de multiplier les colonnes ehj}
et e{ du tableau principal (lignes A u . . ., A m).
Tout au cours de la procédure de résolution on construit ce qu’on
appelle le tableau auxiliaire (tableau 7.4), dont six lignes sont
remplies à chaque itération.
Tableau 7.4
Tableau auxiliaire
Il II
Il 1
61-5 | kj j- — ... — ^*m+1 ... ^71-1 ^71
O
c Cl —3 | Ckj t — ... — ... c&n—1*1-1 cknn
aa .
.«->
ce
U 6 1 -2 | ÂhjJ — — ... — Afcm+1m+i . . . Afcn_ in- 1 &hnn
«o
1
6 1 -1 | ckj. UJ — ... — m+1 . . . Ckn-1-U n-i chn-\. n
i ^ A,
eij (5.6)
l i = A.
1. Par définition,
Ou — ci-i,j — ca-
2. Les conditions d’optimalité du programme sont définies par
la non-positivité des nombres Ak .j (Ahjj ne doit être calculé
que pour A ^ 0).
3. Le vecteur A r à ajouter à la nouvelle base est choisi tel qu’il
assure le maximum des nombres Ah.j et Ak .j.
4. Pour le cas considéré, la formule de récurrence (5.7) se met
sous la forme
F( X' ) = F (X) + 00AV+ S ô,0v i
i=l 1*
où v est, comme auparavant, le plus grand des i tel que
ftypi < ®o-
§ 6. Exemple
Illustrons l ’algorithme de résolution du problème par un exemple numéri
que. Pour pouvoir apprécier l ’avantage du passage d’un problème particulier de
programmation linéaire à un problème linéaire par morceaux, nous commence
rons par énoncer le problème linéaire.
Soit à maximiser la forme linéaire
L (X) =8xi -f- 9x2 -f- 8x3 -{- 6x4 -f- 8x5 -f- 9xc -f- 8x7 -f- 11x8 —
- { S x ^ 2xÿ>+ 4x<l> + 3x<” + x “ > + x l» + x<” +
+ rj2) + xi2) + 3x!3( 2 ) + 2xi2> + 2xg2,+ ( 6 . 1)
+ 2xl’>+ x: r i 3) + 3x<*> +
+ 2xj4) + * !« }
v /v /v /v /v /
V /V /V /V /V /
11*8
H H H H H
1 0 x8 + 1
f» (x») = 8 x8 + 5
5x« + 14
- 4x8 + 18
520 PROGRAMMATION LINÉAIRE PAR MORCEAUX [CH. 7
Tableau 7.6
§ 6] EXEMPLE 52Î
- 1 10 1 -1 — j -
^10 1 4
8
2
^11
’ l
1 —2
- 1-
A j2 1
_ lJ J 1 —
1 ~
m -j-1 5
5
de base du programme initial. Dans notre cas, ce sont les composantes du vecteur
des contraintes. La colonne chj se compose des coefficients angulaires de la
fonction fj (x) sur ses intervalles de linéarité. Pour les variables additionnelles,
ckjj = 0 . Les colonnes el9 . . ., e4 (leurs m premières cases) contiennent les
coefficients de décomposition des vecteurs unités par rapport aux vecteurs de
la base. Dans notre cas, les vecteurs de la base correspondent aux variables
additionnelles et les colonnes ci, . . ., * 4 forment une matrice unité.
La dernière (m -f l)-ième ligne du tableau principal contient les valeurs
calculées d’après la formule (5.2). Dans notre cas, tout = 0.
522 PROGRAMMATION linéaire par morceaux [CH. 7
Il est clair Que pour le programme initial X (1) choisi la quantité F (À'(I)) =
= 0. La valeur de F (AT(1)) est inscrite dans la dernière case de la colonne ckjj.
Commençons par composer le tableau auxiliaire 7.9. Pour les vecteurs de
la base (à la 1-ère itération, pour A*, Aio, -du, A \2), le tableau n’est pas rempli.
Tableau 7.0
Tableau auxiliaire (1-ère itération)
Il Al
A* A3 a4 A& A« a7 As A® Aio Ai i A12
kJ I \
————
- 1 ————
I 8 9 8 6 8 9 8 11 ————
h jj 8 9 8 6 8 9 8
ED ————
chr uj
t k j)
Sur la première ligne du tableau auxiliaire on porte les numéros kj des valeurs
critiques avec lesquelles coïncident les composantes secondaires du programme
x lv avec j = 1, 2, . . ., 8. A ces composantes répondent les vecteurs des con
ditions non inclus dans la base. Dans notre cas, toutes les variables principales
sont égales a zéro et correspondent par conséquent à des valeurs critiques nulles.
C’est pourquoi la première ligne du tableau n’est pas remplie. On ne
remplit pas non plus la deuxième ligne qui contient les valeurs de zj.
A la première itération, tout = 0. Par conséquent, zj = 2 aij^i = 0-
1=1
Dans la troisième ligne figurent les valeurs de chjj. Dans notre cas, ckjj =
= C0j = Cj.
La ligne suivante contient les valeurs de A^jj = Ckjj — zj • Elle est com
posée suivant les éléments correspondants des deux lignes précédentes. Sur
la cinquième ligne on porte les valeurs de j nécessaires au calcul de A =
= s — ckj-i t j • Dans la dernière ligne se trouvent les valeurs de A L e s quantités
&k]j et> conséquent, les coefficients angulaires ckj_it j ne se calculent pas
avec kj = 0 non plus dans les cas où A*ÿ > 0. C’est précisément le cas de la
première étape des calculs.
Conformement au critère d’optimalité, on conclut que le programme initial
n ’est pas optimal. Il faut passer à une nouvelle base, pour laquelle on peut
s ’attendre que la valeur de F augmente. Nous sommes en présence ici du cas 1°.
3 6] EXEMPLE 523
Tableau 7.10
Tableau supplémentaire 1
Ag
j
OyJ 1 2
v 1 -J 2
N 1 2
1 *
2
A, 10 8
Dans notre cas, on n’inclut pas dans le tableau les colonnes correspondant
aux vecteurs Ag (xjr = x98 = —1 *< 0, mais x9 est une variable non bornée
supérieurement), Ato (*io,8 = 4 > 0, mais à gauche de xio = 8 il n’y a qu’un
point critique aïo = 0),yl ]t (iu ,8 = —2 < 0 , maisxu est non bornée) etj412 (*12.8 =
= 0). Par conséquent, le premier tableau supplémentaire se compose de la
seule colonne A r = As (xgg = —1 < 0). C’est pourquoi en calculant 0,,y = 0Yg,
il faut tenir compte des points critiques a droite de x8 = 0, c’est-à-dire ae di8 =
= 1* ^28 = 2, d 88 = 3, dkg = 4 (d^g = p8 est le point critique extrémal à droite
de la variable x8, qui n’est pas pris en considéra* ;on et pour ce point 058 n’est
pas calculé).
Les nombres 0vj se calculent d’après la mule
oT,= xJ —dVi
Xjr
Tableau 7JT
Tableau 7.12
Tableau auxiliaire (2-ième itération)
2 — — — —
* 1
•
2J — — — —
eh j j 8 9 8 6 8 9 8 8 — — — —
8 8 6 8 8 8
K kjj 9
tZD — — — —
ch r l . j
que ch$ = c 28 = 8, A*jj = ckjj — zj = ckjj. Ici > 0 pour tout Aj n’entrant
pas dans la base. Aussi n’est-il pas nécessaire de calculer les éléments des deux
dernières lignes du tableau. En outre, ceci traduit le fait que X <2> n’est pas
solution du problème et qu’il faut poursuivre les calculs. A a t t e i n t le maxi
mum avec deux valeurs de j (j = 2 et j = G). On peut introduire dans la base
soit  2 j soit An. Posons, pour fixer les idées, qu’on a opté pour A a. Dans le ta
bleau, l ’élément Aoe est encadré. Le vecteur A i qui lui correspond peut être
introduit dans la base suivante.
On introduit dans le tableau principal 7.11 la colonne A g, aux composantes
TO
x'iQ= J] e\sas6. Dans notre cas, || e[^ || est une matrice unité et
xie = **’«•
Dans la dernière ligne du tableau principal 7.11, on indique dans la colonne X (2>
la valeur xr = xe = 0 et l ’on place xrr = x't6 = —1 dans la colonne A On déter
mine le vecteur à éliminer de là base. Dans chacune des colonnes a (P) et 0 du
tableau principal 2 on ne remplit qu’une case: au = 0 et Ou = 11. Par con
séquent, 0' = 0u = 11.
Le tableau supplémentaire 2 (tableau 7.13) se compose d’une seule colonne-
A e, non subdivisée en sous-colonnes.
Ici, Af — Ai :> 0. C’est pourquoi 0" = oo et 0o = min (0', 0') = 0' = 11.
La valeur 0o n’est atteinte que sur un seul vecteur. Donc, nous avons affaire
au cas non dégénéré, et pour déterminer le vecteur à éliminer de la base aucun
besoin n’est d'appliquer une règle supplémentaire. Il faut éliminer de la base
le vecteur A n tel que 0 = 0o.
Sur ce prend fin la deuxième itération. Pour passer de la deuxième à la
troisième étape on fa it appel aux mêmes règles qui régissent le passage des
tableaux de la première étape à ceux de la deuxième étape. On donne ci-dessous
PROGRAMMATION LINÉAIRE PAR MORCEAUX [CH. 7
Tableau 7A3
Tableau supplémentaire 2
Ag
0 V; 2
y 1
N 1
6, 1
les tableaux principaux (cf. tableau 7.14), supplémentaires (cf. tableau 7.15) et
auxiliaire (cf. tableau 7.1G) correspondant aux étapes suivantes de la réso
lution du problème.
Voici certaines particularités des calculs que l’on n’avait pas rencontrées
dans les deux premières itérations.
Toutes les itérations, sauf l ’itération 7, aboutissaient au cas 1°, c’est-à-dire
que A = max (A* &kjj) était atteint sur un des nombres Pour la
7-ième itération, A = A2 .2 . Dans ce cas, la colonne a (P) du tableau principal
est composée selon les règles suivantes.
Si Xjr = 0, on porte P; sur la case correspondante de la colonne
a (P). Si xjr < 0 , la valeur qui lui correspond dans la colonne a (p) est a;.
Les cases de la colonne a (p) qu’il faudrait remplir par -f- 0 0 ou. — 0 0 et les
cases pour lesquelles xjr = 0 sont, comme dans le cas 1 °, marquées par un trait.
Dans la colonne a (P) du tableau principal répondant à l ’itération 7, on ne
remplit que les première, quatrième et cinquième cases avec respectivement les
valeurs ag = 0, p7 = 7 et a r = a* = 0.
Dans le cas 2°, les éléments de la colonne 0 se calculent comme rapports
de la différence entre les éléments des colonnes a (P) et X et les éléments respec
tifs de la colonne A r.
77
Dans notre cas, 09 = -g- , 8 7 = 0, 02 = 2,
6 ' = min 0 , 2 j = 0 .
Pour la 7-ième itération, nul besoin n’est de former le tableau supplé
mentaire, puisqu’il est clair que dans ce cas il n’y a pas de valeurs de 0 V*
^ 0' = 0.
A la 7-ième itération, 0o = 0' = 0. C’est pourquoi le passage au programme
suivant ne conduit pas à un accroissement de la fonction F.
Dans notre exemple, à toutes les itérations 0o = 0', ce qui veut dire que
dans les tableaux supplémentaires tout A< est positif. Ceci signifie que la
valeur limite de la composante du vecteur à ajouter à la base est définie par les
contraintes du problème (aj ^ xj ^ Pj).
EXEMPLE 529
Tableau 7A4
Tableaux principaux des itérations 3 à 10
1 3 -5 — —
1 1 45 *
1 2 -i
'*» 1 | 22 -1 -
3 1 -2
* 1 8 1 111 - 1 -
1
M 1 5 1 1 5 1
8
F H 1 h 1 I 4 1L l »
N° de x<*> «4 1 24s I a (P) 0
l ’itér- B ek j i «1 e2 *3
M | 50 3 1 | - 7 | "
■
1 2 1/5 —
i 2 3 1 i -
4 A* 1 8 13 2/5 _2 i _ i _
i <
1/5
Ai I 5 * i 1 -1 -
2 II 8 21/5 —1 5 3
l ,æ
N° de J «i a (P )l e
l ’itér. B ck jj *2 *3 «4 | 24,
U 71 ! 1 3 1
1~ 3 - 1 -
p io 23 | 1 2 1/5 | 11/5 | 115/11
5 8 | 1 2/5 | —3/5
-1 -
Ai 1/5 [ - 4 / 5 4 | 15/4
1 5 1 1
200 8 21/5 | —1
1 5 1 5
N° de B X(*> | et a (p) | 0
Titér. V «2 *3 u M
Suite
N» de
l ’itér.
B
cv
' 1 * a> *1
-
*2 *3
3
*4
1
h -
a (p)
I e
A9
" 1 II-3
| 77/3
« | 1 2 -3
i ,5 1 - i -
7 A, 8 1
i ^ i * i1 - i -
a7 5 - i 7
1 7 i 4
304 8
1 " 5 H L ± _
N® de B
l ’itér. ek jj *<«> *1 ez *3 U
1 A*
A9 77 1 3 1/4 —
l “ 1/4l
41 1 2 3/4 | 164/17
A 10
1 17/4 i •
N° de
l ’itér.
B ch ji X<9> *1 *2 *3 e4 As a (P) 1
Lj l
a9 78I1 < 3 1/3 | 22/3 | 117/11
- 2 / 3 16/3 |
A îo 1 24 1 1 2
1 1| 9/2
9 Ai
8 | 20 | 1 1 20
At
_ U L U 1 1/3 -2 /3 — | —
8 2 2
318 I -■ i1 M
N° de
l ’itér. B
V 1 X<io> *i e2 *3 *4
1 1
A4 1 190/3 1 1 3 1/3 i li
Aio I 40/3 1 2 —2/3 ! 1
10 At 8 I 18 11 1 1 1
At 6 1 16/3 I 1/3 I !
323 I 8 2
I II
§ 6] EXEMPLE 531
Tableau 7.15
Ab
1 °v i 1 | 2
Y 3 1I* 4 0/ O- û* __
4
" i * i 2 •
* i * i *
| At J 21 | 20
Ai ^2
<3>
Suite
Al j At
Qyj 2 3 7
r 4 1
y 1 3 2
2 1
N 1 2 4 0' = m in ( ^ , 15. 7 ) = 7 ;
6 3 1
àt 1 1 /4 1/4 0' = oo; 0O= 0 ' = 7 .
2 1
31/4 1 1 /2 1 15/2 21/4
0O= 0 '=0.
Le tableau supplémentaire n’est pas nécessaire.
1 2 3 4 5 6 7 8
1 3 4 0 1 16 5 4
2 2 3 0 — — — 3 3
3 1 2 — — — — 0 2
4 1 “* 1
&mÎ2
• •• am»m+t
*n +Xi. il ^n+Xi. ia ••• an+Xi.jm+t
ii an+Xr 32 • •• a n+>.t . i m +t
telle que :
a) avec j ja (a = 1, 2, . . ., m + t), la composante Xj du
programme X coïncide avec l’une de ses valeurs critiques;
538 PROGRAMMATION LINÉAIRE PAR MORCEAUX [CH. 7
Cl m l dm 2 • • • dm » m+t
a n + 1,1 a n + 1 ,2 . . . ü n + 1, m + j
a n + t .l d n + t .2 . . . d n + t , m +t
Soit
A = (A,l7 À2, • • •* ^n+1» ^n +2» •i ^n+/)
le vecteur vérifiant le système d’équations
A4 je = Cxj
c’est-à-dire
A = CxAx.
Le vecteur A sç calcule à la première étape de l’itération et sert
à vérifier si le programme de base X est optimal.
Les conditions (2.53)-(2.56) du critère d’optimalité d’un pro
gramme du problème (7.1)-(7.3) peuvent s’écrire pour le cas considéré
m n-f*
Cfc ._ i , 2 a i j^ i — S — S aljckii'^Ckjj,
J i=*i i= n -fl i= n + f-M
m+ t (7.6)
Chj-i. + (7.7)
De même qu’au § 3, ici
c -u = — oo, ct j + i, j = oo (; = 1, 2, . . . , n ).
{ ch4j —
>
S
i= l
al i ^ i JC S
i= n + l
aij^i + 2
i= n -M + l
aijck,i
1
et si m + t < . ;< rc ,
Ckjj +
Ahjj = —Akjj — ükjj
h si (m
n ++ lt ^< j j^ n ++ t,t)
il en est qui sont négatifs. Choisissons l ’un de ces nombres (le plus
petit, par exemple). Dans ces conditions on peut se trouver devant
l ’une des quatre éventualités suivantes:
a) le choix concerne la quantité A^r, m -(- t < r ^ n, associée
au deuxième membre de la r-ième condition dii système (7.6) ;
b) le choix concerne la quantité A^r, m + t < r ^ rc, associée
au premier membre de la r-ième condition du système (7.6);
540 PROGRAMMATION LINÉAIRE PAR MORCEAUX [CH. 7
{ Xj + 0 ,
Xj, j ¥=r,
j = r,
par la formule
- /Q\ _ f X J &e Jr’ 1 ^ 7 ^ 771 + ^ tn An')
XJ W - \ Xh m + t < ; < n. >
ejr désigne ici, comme d’habitude, l ’élément associé à la matrice
inverse A Ÿ de la base courante A x - La transformation (7.12') con
serve les valeurs des variables additionnelles Xj avec ; = n -f* 1, . . .
. . ., n + r — 1, n + r + 1, . . ., n + t ; xr (0) = x T + 0.
En ce qui concerne les variables additionnelles Xj avec j >
> n + /, posons
m+ t
. _ L j ( X m - L j l X ) _ Vi „ „
erj — g---------- — aJ^e^rm
3i=l
Le vecteur X (0) reste le programme du problème pour ceux des
0 ^ 0 pour lesquels les conditions (7.3) continuent d’être respectées.
En utilisant (7.12'), on aboutit à la valeur-limite de 0', égale au
plus petit des deux nombres
min ( 7~*7 \ f min f fo —*7 \ , où+
cjr < ° ' €Jr fi r >0 ' gJr
Avec 0 > 0 qui se trouvent à gauche de 0', le vecteur X (0)
est un programme du problème (7.1)-(7.3) ; avec 0 situés à droite de
0', certaines composantes du vecteur X (0) deviennent négatives,
et X (0) cesse d’être un programme du problème. Pour déterminer
la borne Q* jusqu’à laquelle la fonction F (X (0)) est monotone dé
croissante lorsque 0 croît, calculons les valeurs
û dv J ~ x J
avec y = l , 2 , . . ., m + *, r, n + t + 1, . . ., n + s (eJr 0) et
pour y =£ 0, lj + 1, tels que
0 < 0V7 < 0'.
Disposons les nombres ainsi trouvés par ordre de croissance :
® v iii ^ ®V2J2 < • • • < ® v p ip ' (7*13)
Soit
_ <7
A ? = Afcrr + ^ 2 | ejtr |-
Av ^ 0 (v = 1, 2, . . p), alors
0" = 07rv'v
j .
Les nombres 0' et 0" permettent d’gbtenir 0O= min {0', 0 ff}.
Si 0O< oo, posons X ' = X (0O). Dans le cas contraire (0O = oo)>
on tire la conclusion que le problème n ’a pas de solution.
d) Le dernier cas à explorer est celui qui apparaît lorsque
n + i ^ r ^ n + t et Ahjtr < 0. Dans ce cas, la diminution de la
fonction économique F s’obtient en passant au programme X (0O)
dont les composantes Xj (0O) sont calculées d’après la formule
avec un certain 0 ^ y ^ lj + 1.
Avec k = r, la base ne change évidemment pas. Si 1 ^ k ^
^ m -f- t, la A-ième colonne quitte la base. Par conséquent, dans
ce cas, la base du programme de base X ' diffère de la base A x par un
seul vecteur. Pour recalculer les éléments de la matrice inverse de
la base, il suffit d’appliquer les formules de récurrence usuelles de
la programmation linéaire.
Enfin, avec n + t + l ^ k ^ n - r s, on ajoute à la nouvelle
base la ligne de numéro k . De cette façon, la matrice A x » se forme
dans le cas considéré en bordant la matrice A x d’une ligne et d’une
colonne. La matrice inverse A ÿ se calcule selon les formules de
récurrence (2.12), (2.13) données au chapitre 11 de [87).
En présence du cas c) ou d), on s’efforce encore de retrancher de
la base la ligne de numéro r (r = n + 1, . . ., n + t). Le nombre
0O est atteint de nouveau avec l’un des indices k (k = i, 2, . . .
. . ., m + t, r, n + t + 1, . . ., n + $). Avec k = r, la base ne
change pas. Si n + t + 1 ^ ^ n + 5, la place de la r-ième ligne
est occupée par la fe-ième. L ’ordre de la base est conservé. Les élé
ments de la matrice Aj£* se calculent d’après les formules de récur
rence habituelles de la programmation linéaire. Si par contre 1 ^
^ A: ^ m + t, on exclut de la base la A-ième colonne. Ainsi, la
544 PROGRAMMATION LINÉAIRE PAR MORCEAUX [CH. 7
* ( X ) = ;=>l
S/ifo) (7-15>
sous les conditions
n
»= 1, 2, m, (7.16)
J=i
<*■} < x ) < P}, ; = 1 , 2 , . . ., n. (7.17)
f } (Xj) et gu {xj) sont ici des fonctions linéaires par morceaux
convexes vers le bas des arguments correspondants.
Nous entendrons par valeur critique de l’argument Xj tout point
du segment laj, Pj] en lequel une au moins des fonctions fj {xj),
gu {xj), i = 1 , 2 , . . ., m, subit une brisure.
Numérotons, selon l ’usage, les valeurs critiques de l’argument
xj par ordre de croissance. On a
«7 = d0j < dij < • .. < dijj < dij+1, j = P;.
Les fonctions f } {xj) et gi} {xj) sont définies par les relations
+ — aj ) coj si
fj(dtj)-)-{xj —dij) ctj si d i j ^ . x j ^ . d tj.
U (xj) = (7.18)
Si
dkjj < X j < dfej+l,
la formule (7.19) entraîne
«j(x;) = ( s ....... e ip r-
A J = + c * y + l . J»
_ m
= — j —ckji
pour ;' = *+ 1 , t + 2, . . . , n,
où, comme d ’habitude, c_iy = —e», Cij+i,j = 00 •
Si
A j^O , A} ^ 0, pour ; = f + 1, . . ., n, (7.21)
X{ ^ 0 pour t = 1, 2, . . ., t, (7.22)
alors, d’après le critère d ’optimalité donné au paragraphe 2.3, le
programme X est solution du problème. Mais si certaines des rela-
§ 7] C O N ST R U C TIO N D E S A L G O R IT H M E S P A R M O RCEA U X 547
{
xj + 0 si ; = r,
I
Xj — 9, 7 = r, (7.24)
Exercices
1. Montrer que la fonction
F ( X ) = max {Lt (X)},
où
Li(x )= i= 1 »2» S,
i=*l
est convexe vers le bas.
2. Justifier l'équivalence des problèmes (C) et (D) (cf. le paragraphe 1.4).
3. Montrer que les conditions (2.28)-(2.30) sont suffisantes pour rendre le
programme du problème 1 optimal.
4. Justifier les conditions (2.33)-(2.35) comme suffisantes pour rendre le
programme du problème II optimal.
5. Démontrer que le programme
z* = {y5,. ÿ ^ o. j / f , , . . . . y*Ui, . . . . ÿ*m1*771» r?.......
du problème IV est un programme optimal si et seulement si il est possible de
composer des collections de nombres
Xj ^ 0 (i = 1» 2, . . ., ^ i), Xj/j (k = 1, 2, • • •» » i = 0, 1| « • mi),
Xi (i = mi + 1, . . ., m),
telles que soient observées les conditions (2.47)-(2.52).
6. Déduire du critère d’optimalité du problème VII les critères d’optimali
té des problèmes I à VI.
7. Donner la justification de la règle de choix du vecteur à éliminer de
la base rendant impossible le cyclage dans les problèmes I dégénérés (cf. § 4).
8. Enoncer pour le problème I les principes de construction d’un algorithme
de programmation linéaire par morceaux fondé sur la méthode duale du simplexe.
9. Minimiser la fonction linéaire par morceaux (6.5) sous les conditions (6.2)
et (6.6).
10. Modifier l ’algorithme exposé aux §§ 7.6-7.9 en utilisant l’existence
de m — t vecteurs unités dans la matrice de la base Gx du problème II.
11. Décrire le schéma de calcul de la résolution"du problème III.
12. Enoncer les principes de résolution des problèmes IV, VI et VII.
13. Construire les schémas blocs de la résolution des problèmes I à VII.
14. Construire et décrire la méthode et l ’algorithme de calcul du vecteur
X = (xi, X2 , . . . » xn) sur lequel la fonction
m
I (X) |
j * i + 2x 2 + 1 | + | 3x 3 + x 4 — 1 |— 3 ^ 0 ,