Académique Documents
Professionnel Documents
Culture Documents
I.1 Exemple 1.
x1 + x2 ≤ 10000
De même, le nombre de barrettes est limité. Compte tenu du nombre de barrettes dans
chacun des 2 ordinateurs et du nombre de barrettes disponibles, cette contrainte se traduit
par :
2x1 + 6x2 ≤ 48000
3
3x1 + x2 ≤ 24000
La fonction objectif:
On souhaite maximiser le profit qui est représenté par:
4000x1 + 8000x2 .
x1 + x2 ≤ 10000
2x1 + 6x2 ≤ 48000
3x1 + x2 ≤ 24000
x1 , x2 ≥ 0.
Le problème initial est donc modélisé par le problème de programmation mathématique suiv-
ant:
max(4000x1 + 8000x2 )
x1 + x2 ≤ 10000
2x1 + 6x2 ≤ 48000
3x1 + x2 ≤ 24000
x1 , x2 ≥ 0.
2x1 + 3x2 + x3 ≤ 5
4x1 + x2 + 2x3 ≤ 11
Définition 1 : Soient c1 , c2 , ..., cn des nombres réels. La fonction f définie sur les variables
réelles x1 , x2 , ..., xn par :
f (x1 , x2 , ..., xn ) ≤ b
5
f (x1 , x2 , ..., xn ) ≥ b
sont appellées des inéquations linéaires. Les équations et inéquations linéaires sont appelées
ici des contraintes linéaires.
Définition 3: Un programme linéaire est un problème qui consiste à maximiser ou minimiser
une fonction linéaire tout en respectant un ensemble fini de contraintes linéaires.
La fonction linéaire que l’on doit maximiser ou minimiser dans un problme PL est dite fonction
objectif du problème.
Exemple: La fonction f définie par:
Définition 4: Une solution réalisable qui maximise la fonction objective d’un problème
PL (sous la forme standard) est appelée solution optimale.
La valeur associée à une solution optimale est appelée valeur optimale du problème.
Par exemple x1 = 300, x2 = 700 est la solution optimale d’exemple 1. Ainsi la valeur optimale
correspondante est 68000000.
6
Maximiser
n
X
cj x j
j=1
Sous conditions:
Ax ≤ b
Cx = d
x≥0
est appelé forme standard d’une PL. On peut se ramener toujours à cette forme quitte à
remplacer :
• x = x+ − x− avec x+ ≥ 0 et x− ≥ 0
• a = b est équivalent à a ≥ b et b ≥ a
V. Définitions
Définition 1:
L’ensemble {x ∈ Rn /Ax ≤ b, Cx = d} : l’ensemble des solutions réalisables (admissibles),
est appelé polyèdre. Cet ensemble est convexe.
Définition 2:
sont des constantes, les variables étant liées par certaines relations qui sont des équations ou
des inéquations linéaires gi (x1 , ..., xn ) ≥ 0 pour tout i = 1, ..., p.
L’optimisation de telles fonctions offre des possibilités de modélisation est un ensemble de
méthodes permettent d’aboutir à des solutions cohérentes des modèles. Le champ actuel des
applications de l’optimisation à l’économie est très vaste. Un domaine important concerne
la gestion et l’utilisation des ressources rares pour accroı̂tre la productivité. Ces applications
incluent des problèmes opérationnels tels que la distribution de biens, l’ordonnancement de
la production, la sélection de portefeuilles, la conception et l’analyse de réseaux de transport.
x11 , x12 , x13 , x14 , x21 , x22 , x23 , x24 , x31 , x32 x33 , x34
8
x13 + x23 + x33 ≥ 14
x14 + x24 + x34 ≥ 9
Toute solution à ce système d’inéquation est une solution, c’est-à-dire est une répartition
réalisable des produits stockés entre les points de vente. Parmi toutes ces solutions, nous
allons chercher les plus économiques. Supposons que cij soit le coût du transport du dépôt
Si au magasin Bj . Pour une solution donnée du système d’inéquation, le coût correspondant
est:
i=3,j=4
X
c11 x11 + c12 x12 + ... + c34 x34 = cij xij
i=1,j=1
Nous devons donc chercher à minimiser cette fonction. Nous avons donc le modèle mathématique
suivant:
xij ≥ 0
x11 + x21 + x31 ≥ 10
x12 + x22 + x32 ≥ 12
x13 + x23 + x33 ≥ 14
x14 + x24 + x34 ≥ 9
x11 + x12 + x13 + x14 ≤ 40
x21 + x22 + x23 + x24 ≤ 50
x31 + x32 + x33 + x34 ≤ 30
min(c11 x11 + c12 x12 + ... + c34 x34 )
9
Un problème de production
Soit une entreprise produisant deux biens A et B à l’aide de quatre procédés de fabrication
(ou activités). Les activités 1 et 2 sont réservées à la production du bien A et les activités
3 et 4 la production du bien B. Les données de production sont regroupées dans le tableau
suivant:
10
Ces inégalités peuvent être transformées en égalités par l’adjonction de variables dites d’écart
mesurant les excédents des facteurs. Soient e1 , e2 , e3 les variables d’écart pour les contraintes
respectives à l’équipement, la main d’ouvre et la matière première.
L’excédent en ressource d’équipement est:
Un calcul élémentaire des marges brutes unitaires permet d’exprimer la marge brute totale
en fonction des niveaux d’activités :
11
6x1 + x2 + 7x3 + 8x4
2
Définition : Tout problème de programmation linéaire peut se mettre sous la forme suivante:
Trouver les nombres x1 , ..., xn soumis aux conditions suivantes:
xi ≥ 0
a x + a12 x2 + ... + a1n xn ≥≤ b1
11 1
..
.
am1 x1 + am2 x2 + ... + amn xn ≥≤ bm
c1 x1 + ... + cn xn .
La résolution des programmes linéaires a plus de deux variables ne pourra se faire par
des méthodes géométriques. Comme la résolution des systèmes d’inéquations linéaires pose
de nombreux problèmes, nous allons nous ramener en introduisant des variables d’écart à un
système d’équations linéaires.
Afin de schématiser à l’extrême les procédures algébriques de résolution, nous allons convertir
notre programme en un tableau et mettre en évidence les propriétés de ce tableau ici d’un
programme canonique.
Dans le paragraphe suivant, nous verrons, comment à partir d’un programme linéaire quel-
conque, nous ramenons à un tableau analogue à un tableau d’un programme canonique.
13
x1 x2 ··· xn e1 e2 · · · em
a11 a12 ··· a1n 1 0 ··· 0 b1
a21 a22 ··· a2n 0 1 ··· 0 b2
.. .. .. .. .. .. ..
. . . . . . .
am1 am2 · · · amn 0 0 ··· 1 bm
c1 c2 ··· cn 0 0 ··· 0 0
Définition: On dit qu’un tableau est initialisé si les coefficients, dans les m dernières colonnes
de ce tableau, correspondant dans la fonction économique sont nuls.
Dans cet exemple, le tableau est initialisé. D’un tel tableau initialisé se dégage une solution
évidente.
x1 = 0, · · · , xn = 0, e1 = b1 , · · · , em = bm
et
c1 x1 + · · · + cn xn = 0.
Cette solution n’est pas évidement la solution maximale. Le fait remarquable que nous venons
de décrire est tout tableau initialisé donne directement une solution au programme considéré.
Exemple
Trois machines M1 , M2 et M3 peuvent produire chacune deux types de pièces P1 et P2 .
Le temps de fabrication d’une pièce de type Pi sur la machine Mj est donné dans le tableau
suivant en heures:
M1 M2 M3
P1 3 4 4
P2 4 6 5
Solution
15
Ce dernier tableau s’obtient en ajoutant à la dernière ligne −c1 fois la première et −c2 fois
la seconde. Ce tableau est initialisé.
Exemple:
Une entreprise dispose de deux usines de fabrications U1 et U2 et de trois dépôts D1 , D2
et D3 . Les usines, qui ont des disponibilités limitées doivent fournir au dépôt les quantités
demandées. L’acheminement des marchandises a un coût (frais de transport, de carburant,
taxes,...) et ce coût varie suivant les destinations. Le problème qui se pose est celui de
l’acheminement au moindre coût. Les disponibilités de l’usine U1 sont de 18, de U2 de 32. Les
demandes des dépôts D1 , D2 et D3 sont respectivement de 9, 21 et 20. Les coûts de transports
de l’usine U1 à chacun des dépôts D1 , D2 et D3 sont respectivement de 13, 9 et 15 et ceux de
l’usine U2 sont respectivement de 11, 10 et 18 par quantité transportée.
1) Ecrire le programme linéaire modélisant ce problème.
2) Ce problème est-t-il canonique? sinon érire un programme canonique équivalent.
3) Ecrire le tableau correspondant.
4) Ce tableau est il initialisé? Justifier votre réponse. Sinon initialisé ce tableau.
18
IX. Cas où les contraintes sont des inéquations dans les deux sens ou des
équations
Supposons que l’on ait un programme du type:
xi ≥ 0
a11 x1 + a12 x2 + ... + a1n xn ≤ b1
..
.
ar1 x1 + ar2 x2 + ... + arn xn ≤ br
ar+11 x1 + ar+12 x2 + ... + ar+1n xn ≥ br+1
..
.
am1 x1 + am2 x2 + ... + amn xn ≥ bm
max(c1 x1 + ... + cn xn )
Nous introduisons les variables d’écarts positives, en les ajoutant lorsque le seconde mem-
bre est supérieur au premier et en les retranchant dans le cas contraire. Nous obtenons le
programme suivant:
xi , ej ≥ 0
a11 x1 + a12 x2 + ... + a1n xn + e1 = b1
..
.
ar1 x1 + ar2 x2 + ... + arn xn + er = br
ar+11 x1 + ar+12 x2 + ... + ar+1n xn − er+1 = br+1
..
.
am1 x1 + am2 x2 + ... + amn xn − em = bm
max(c1 x1 + ... + cn xn )
19
x1 x2 ··· xn e1 · · · er er+1 · · · em
a11 a12 ··· a1n 1 0 ··· 0 0 ··· 0 b1
.. .. .. .. .. .. .. ..
. . . . 0 . . . ··· .
ar1 ar2 ··· arn 0 0 1 0 ··· 0 br
..
ar+11 ar+12 · · · ar+1n 0 ··· 0 0 −1 ··· . br+1
.. .. .. .. .. .. .. ..
. . . . . ··· . 0 0 . 0 .
am1 am2 ··· amn 0 ··· 0 0 0 ··· −1 bm
c1 c2 ··· cn 0 ··· 0 0 0 ··· 0
Ce tableau n’est pas initialisé: En effet, nous n’avons qu’une partie des vecteurs constituant
la matrice identité. Les contraintes bi ≥ 0 nous empêchent de remplacer les vecteurs colonnes
du type
0 0
..
..
.
.
0
0
−1
par des vecteurs de types
1 .
0 0
.. ..
.
.
0 0
D’après le tableau précédent, il manque m-r vecteurs colonnes de la matrice identité.
Le tableau devient:
Avec
c0i = ci − w(ar+1i + · · · + am1 ), 1≤i≤n
21
Un tel tableau est initialisé. Les colonnes de référence sont ici les colonnes associées
aux variables e1 , e2 , · · · , er , η1 , · · · , ηm−r . Les coefficients de la fonction économique sont, au
dessus de ces colonnes, tous égaux à 0.
22
a1j
a2j
a3j
..
.
anj
cj
bi
On calcule les rapports aij
pour 1 ≤ i ≤ n lorsque aij > 0. On obtient de cette façon, pour
chaque contrainte prise séparément, la valeur maximale que peut prendre la variable entrante.
bk bi
On sélectionne le plus petit rapport positif: Oncherche l’indice k tel que 0 ≤ akj
≤ aij
, en ne
24
soit positif et minimal. La variable correspondant à cette ligne est la variable sortante.
Troisième étape: Itération
S’il existe un coefficient ci positif dans le nouveau tableau, on retourne à la première étape
(choix du pivot) puis à la deuxième (réduction du tableau). On réitère ce processus jusqu’à ce
que tous les coefficients de la fonction économique soient négatifs. Cela se produira forcément.
x1 + x 3 ≤ 3
max(3x1 − x2 + x3 )
x ≥0
i
x1 + x2 + e1 = 1
x2 + e 2 = 2
3x1 + 4x2 + e3 = 12
x1 + x3 + e4 = 3
max(3x1 − x2 + x3 )
x ,e ≥ 0
i i
x1 x2 x3 e1 e2 e3 e4
e1 1 1 0 1 0 0 0 1
e2 0 1 0 0 1 0 0 2
e3 3 4 0 0 0 1 0 12
e4 1 0 1 0 0 0 1 3
−Z 3 -1 1 0 0 0 0 0
Le plus grand coefficient positif de la fonction économique est c1 = 3. La colonne pivot est
donc la première colonne. La variable x1 est donc entrante.
La première ligne est la ligne pivot. Les seuls coefficients positifs non nuls de cette colonne
bi b1
sont a11 = 1, a31 = 3 et a41 = 1. Calculons les rapports ai1
correspondants. On a a11
= 1,
b3 b4
a31
= 4, a41
= 3.
Le plus petit rapport est le premier, donc la ligne pivot est la première. Le pivot associé
est a11 = 1. La variable entrante est x1 et la variable sortante est e1 .
Deuxième étape : Réduction du tableau
On divise la ligne pivot par le pivot puis on annule ensuite les coefficients du tableau
situées au-dessus et au-dessous du pivot, en soustrayant la ligne pivot aux autres lignes.
x1 x2 x3 e1 e2 e3 e4
x1 1 1 0 1 0 0 0 1
e2 0 1 0 0 1 0 0 2
e3 0 1 0 -3 0 1 0 9 L3 ← L3 − 3L1
e4 0 -1 1 -1 0 0 1 2 L4 ← L4 − 3L1
−Z 0 -4 1 -3 0 0 0 -3 L5 ← L5 − 3L1
x1 x2 x3 e1 e2 e3 e4
x1 1 1 0 1 0 0 0 1
e2 0 1 0 0 1 0 0 2
e3 0 1 0 -3 0 1 0 9
x3 0 -1 1 -1 0 0 1 2
−Z 0 -3 0 -2 0 0 -1 -5 L5 ← L5 − L4
Tous les coefficients de la fonction économique sont négatifs, on a donc la solution optimale.
Elle est définie par x1 = 1, x2 = 0, x3 = 2, e1 = 0, e2 = 2, e3 = 9 et e4 = 0. Dans ce cas,
max(3x1 + x2 + x3 ) = 5.
Exemple 2:
On considère le programme linéaire suivant:
3x1 + 2x2 + 4x3 + 3x4 ≤ 70
7x + 8x2 + 10x3 + 12x4 ≤ 120
1
x1 + x2 + x3 + x4 ≤ 15
max(6x1 + 11 x + 7x3 + 8x4 )
2 2
x ≥0
i
x1 x2 x3 x4 e1 e2 e3
e1 3 2 4 3 1 0 0 70
e2 7 8 10 12 0 1 0 120
e3 1 1 1 1 0 0 1 15
−Z 6 11/2 7 8 0 0 0 0
x1 x2 x3 x4 e1 e2 e3
e1 5/4 0 3/2 0 1 -1/4 0 40 L1 ← L1 − 1/4L2
x4 7/12 2/3 5/6 1 0 1/12 0 10 L2 ← 1/12L2
e3 5/12 1/3 1/6 0 0 -1/12 1 5 L3 ← L3 − 1/12L2
−Z 4/3 1/6 1/3 0 0 -2/3 0 -80 L4 ← L4 − 2/3L2
x1 x2 x3 x4 e1 e2 e3
e1 0 -1 1 0 1 0 -3 25 L1 ← L1 − 3L3
x4 0 -53/3 3/5 1 0 1/5 -7/5 3 L2 ← L2 − 7/5L3
x1 1 4/5 2/5 0 0 -1/5 12/5 12 L3 ← 12/5L3
−Z 0 -9/10 -6/5 0 0 -2/5 -36/15 -96 L4 ← L4 − 16/5L3
Ce tableau est le dernier car tous les coefficients de la dernière ligne sont négatifs. La
solution optimale correspondante est x1 = 12, x4 = 3, e1 = 25. La fonction économique vaut
en ce point 96.
L’idée de la méhode du simplexe est, partant d’une solution de base réalisable, d’augmenter
la valeur d’une des variables hors base, la variable entrante, de façon à diminuer (si on
minimise) ou à augmenter (si on maximise) la valeur du critère. L’expression du coût réduit
en fonction des variables hors base qui apparaı̂t dans la première ligne du dictionnaire, permet
de choisir la variable entrante.
28
Exemple 3:
Résoudre le système suivant en utilisant la méthode du dictionnaire:
2x1 + 4x2 + 5x3 + 7x4 ≤ 42
x + x2 + 2x3 + 2x4 ≤ 17
1
x1 + 2x2 + 3x3 + 3x4 ≤ 24
max(7x1 + 9x2 + 18x3 + 17x4 )
x ≥0
i
e2 = 17 − x1 − x2 − 2x3 − 2x4
• Les variables e1 , e2 et e3 dites variables de base sont exprimées en fonction des variables
x1 , x2 , x3 , x4 dites variables hors base.
• Une solution de base est une solution dans laquelle toute les variables hors base sont
nulles. Dans ce cas, x1 = x2 = x3 = x4 = 0 implique e1 = 42, e2 = 17 et e3 = 24.
• Cette solution est dite réalisable car les valeurs des variables sont strictement positives.
• Pour faire croı̂tre Z, on augmente la valeur d’une variable dont le coefficient dans la
ligne de Z est plus grande positive. Disons x3 .
e3 ≥ 0 ce qui impose x3 ≤ 8,
Cette opération revient à se déplacer d’un sommet de polyèdre (0, 0, 0, 0) à un autre sommet
(0, 0, 8, 0) le long d’une arrête jusqu’à rencontrer un nouvel hyperplan (e3 = 0).
Pour pouvoir itérer cette opération, il faut obtenir un nouveau dictionnaire en échangeant
les rôles de x3 et e3 .
1 2 5
e1 = 2 − x1 − x2 − 2x4 − e3
3 3 3
1 1 2
e2 = 1 − x1 + x2 + e3
3 3 3
1 2 1
x3 = 8 − x1 − x2 − x4 − e3 Dictionnaire II
3 3 3
Z = 144 + x1 − 3x2 − x4 − 6e3
e1 ≥ 0 ce qui impose x1 ≤ 6,
e2 ≥ 0 ce qui impose x1 ≤ 3,
x1 = 3 + x2 − 3e2 + 2e3
e1 = 1 − x2 − 2x4 + e2 + e3
x3 = 7 − x2 − x4 + e2 − e3 Dictionnaire III
Solution:
31
1 11 5
e1 = − x1 + x2 + x3 − 9x4
2 2 2
e2 = 1 − x1
1 3 1
e3 = − x1 + x2 + x3 − x4
2 2 2
Z = 10x1 − 57x2 − 9x3 − 24x4
• La variable entrante sera toujours la variable hors base ayant le plus grand coefficient
dans la ligne du dictionnaire associée à la fonction objectif Z.
• Si plusieurs variables peuvent être choisies pour quitter la base, on prendra celle de plus
petit indice. Ainsi, nous obtenons pour les six prochaines itérations, les dictionnaires
suivants:
1 1 1
x2 = − x3 + 2x4 + e1 − e2
2 4 4
1 3 11
x1 = − x3 + 4x4 + e1 − e2
2 4 4
1 3 11
e3 = 1 + x3 − 4x4 − e1 + e2
2 4 4
29 27 53
Z = x3 − 98x4 − e1 − e2
2 4 4
32
e 3 = 1 − x1
On retrouve donc le premiér dictionnaire après avoir introduire les variables d’ecart.
Puisque le dictionnaire construit après la sixième itération est identique au dictionnaire
initial, la méthode bouclera sur les mêmes itérations indéfiniment, sans jamais trouver la
solution optimale (laquelle, comme nous le verrons plus tard, vaut 1). Ce phénomène est
connu sous le nom de cycle.
33
x1 + x2 = 10
xi ≥ 0
On introduit les variables d’écarts et les variables artificielles. On doit d’abord résoudre phase
1:
Phase 1:
min(w = η1 + η2 = 30 − 2x1 − 4x2 + e2 )
2x1 + x2 + e1 = 16
x1 + 3x2 − e2 + η1 = 20
x1 + x2 + η2 = 10
xi , ei , ηi ≥ 0
x1 x2 e1 e2 η1 η2
e1 2 1 1 0 0 0 16
η1 1 3 0 -1 1 0 20
η2 1 1 0 0 0 1 10
−w -3 -4 0 1 0 0 -30
La colonne pivot est donc la deuxième colonne. La variable x2 est donc entrante. La ligne
pivot est donc la deuxième ligne. La variable η1 est donc sortante.
34
x1 x2 e1 e2 η1 η2
e1 5/3 0 1 1/3 -1/3 0 28/3
x2 1/3 1 0 -1/3 1/3 0 20/3
η2 2/3 0 0 1/3 -1/3 1 10/3
−w -2/3 0 0 -1/3 4/3 0 -10/3
La colonne pivot est donc la première colonne. La variable x1 est donc entrante. La ligne
pivot est donc la troisième ligne. La variable η2 est donc sortante.
x1 x2 e1 e2 η1 η2
e1 0 0 1 -1/2 1/2 -5/2 1
x2 0 1 0 -1/2 1/2 -1/2 5
x1 1 0 0 1/2 -1/2 3/2 5
−w 0 0 0 0 1 1 0
Phase 2:
La forme canonique associé au dérnier tableau est de la forme:
e1 − 1/2e2 = 1
x2 − 1/2e2 = 5
x1 + 1/2e2 = 5
xi , ei ≥ 0
min(z = x1 − x2 + 2x3 )
On introduit les variables d’écarts et les variables artificielles. On doit d’abord résoudre phase
1:
Phase 1:
min(w = η1 = 4 − x1 − 3x2 + e2 )
x1 x2 x3 e1 e2 η1
η1 1 3 0 -1 0 1 4
e2 1 1 -1 0 1 0 10
−w -1 -3 0 1 0 0 -4
La colonne pivot est donc la deuxième colonne. La variable x2 est donc entrante. La ligne
pivot est donc la premiére ligne. La variable η1 est donc sortante.
x1 x2 x3 e1 e2 η1
x2 1/3 1 0 -1/3 0 1/3 4/3
e2 2/3 0 -1 1/3 1 -1/3 26/3
−w 0 0 0 0 0 1 0
Phase 2:
La forme canonique associé au dérnier tableau est de la forme:
1/3x1 + x2 = 4/3
2/3x1 − x3 = 26/3
xi , ei ≥ 0
x1 x2 x3 e1 e2
x2 1/3 1 0 -1/3 0 4/3
e2 2/3 0 -1 1/3 1 26/3
−z 4/3 0 2 -1/3 0 4/3
La colonne pivot est donc la quatrième colonne. La variable e1 est donc entrante. La ligne
pivot est donc la deuxiéme ligne. La variable e2 est donc sortante.
x1 x2 x3 e1 e2
x2 1 1 -1 0 1 10
e1 2 0 -3 1 3 26
−z 2 0 1 0 1 10
Tous les coefficients de la fonction économique sont positifs, on a donc la solution optimale.
Elle est définie par x1 = x3 = 0, x2 = 10. La valeur optimale est z = −10.
37
I. Introduction
Définition 1:
On appelle un programme primal un modèle de programmation linéaire associé à un
problème donné ou encore modèle original.
Pour chaque modèle de programmation linéaire, il existe un et un seul autre modèle de
programmation linéaire appelé un programme dual (ou bien son dual).
Autrement:
maximiserZ = nj=1 ci xi minimiserW = m
P P
i=1 bi yi
Pn Pn
Primal : i=1 aij xj ≤ bi , ∀1 ≤ i ≤ m Dual : i=1 aij yi ≥ ci , ∀1 ≤ j ≤ n
xj ≥ 0 yi ≥ 0
Remarque:
38
1) Si la fonction objectif du primal doit être maximiser, celle du dual doit être minimiser
et inversement.
3) Les coefficients des variables dans les contraintes du dual sont ceux du primal mais
transposés: les coefficients de la ième ligne du primal deviennent les coefficients de la
ième colonne du son dual.
4) A chaque contrainte du primal de type ≤, lui associe une variable du dual positive.
5) A chaque variable de décision non négative dans le primal, lui correspond une contrainte
non négative dans son dual.
6) La dualité est une notion symétrique: L’un des programmes au choix est appelé le
programme primal et l’autre le programme dual.
Autrement:
Pn Pm
maximiserZ = i=1 ci xi
minimiserW = i=1 bi yi
Pn Pn
Primal : i=1 aij xj ≤ bi , ∀1 ≤ i ≤ m Dual : i=1 aij yi ≥ ci , ∀1 ≤ j ≤ m
xj ≥ 0 yi ≥ 0
Autrement:
maximiserZ = ni=1 ci xi
P Pm
minimiserW = i=1 bi yi
Pn Pn
Primal : i=1 aij xj = bi , ∀1 ≤ i ≤ m Dual : i=1 aij yi ≥ ci , ∀1 ≤ j ≤ m
xj ≥ 0 yi sans restriction de signe
Autrement:
minimiserZ = ni=1 ci xi
P Pm
maximiserW = i=1 bi yi
Pn Pn
Primal : a x ≥ bi , ∀1 ≤ i ≤ m Dual : aij yi ≤ ci , ∀1 ≥ j ≤ m
i=1 ij j
i=1
xj ≥ 0 yi ≤ 0
•
Nombre de contraintes
Nombre de variables duales
A la contrainte i Correspond la variable yi
Contrainte de type ≤ ⇐⇒ yi ≥ 0
Contrainte de type ≥ yi ≤ 0
Contrainte de type =
y sans restriction de signe
i
•
Nombre de variables(décisions)
Nombre de contraintes
xi ≥ 0
Contrainte de type ≥
⇐⇒
x i ≤ 0
Contrainte de type ≤
xi sans restriction de signe
Contrainte de type =
41
• Si un programme présente des solutions réalisables mais pas de solution optimale finie,
l’autre programme n’admet pas de solution réalisable.
Chapitre I. Rappels
Notions sur la convexité
Définition de la convexité
Définition: Un ensemble K ⊂ Rn est dit convexe si pour tout couple (x, y) ∈ K 2 et ∀λ ∈ [0, 1]
on a
λx + (1 − λ)y ∈ K.
Cette définition peut s’interpréter en disant que le segment reliant x et y doit être dans K.
Fonctions convexes
Définition: On dit qu’une fonction f : K −→ R, définie sur un ensemble convexe K, est
convexe si elle vérifie:
Alors on a l’équivalence ϕ(t) convexe sur [0, 1], ∀(x, y) ∈ K 2 ⇐⇒ f convexe sur K.
Calcul différentiel
Définition de la différentiabilité:
Dans Rn on note x le vecteur colonne
x1
..
.
x=
xn
n
! 21
X
kxk = x2k
k=1
44
Définition: Soit f : Rn −→ Rm , on dit que f est continue au point a ∈ Rn si pour tout réel
> 0 il existe η > 0 tel que
continue en a ∈ Rn . On dit que f est différentiable en a s’il existe une application linéaire,
notée f 0 (a), telle que pour tout h ∈ Rn on ait
où (h) est une fonction continue en 0 vérifiant lim (h)h−→0 = 0. On appelle f 0 (a) dérivée de
f au point a.
Proposition: Soit f : Rn −→ Rm différentiable en a, alors
f (a + th) − f (a)
lim = f 0 (a)h.
t−→0 t
∂fi
[f 0 (a)]ij = (a).
∂xj
f 0 (a) = ∇f (a)T .
et on a
f (a + h) = f (a) + ∇f (a)T h + khk(h).
Définition: Soit f : Rn −→ R est dite deux fois différentiable s’il existe une matrice
symétrique ∇2 f (a) telle que
Formes quadratiques
1
f (x) = xT Ax − bT x
2
Définition: Soit A une matrice symétrique n × n etb ∈ Rn . On dit que A est semi-définie
positive et on note A ≥ 0, quand
xT Ax ≥ 0, ∀x ∈ Rn .
xT Ax > 0, ∀x ∈ Rn , x 6= 0.
Lorsque la matrice A est définie positive (resp. semi-définie positive), on dira que f (x) est
une forme quadratique définie positive (resp. semi-définie positive).
Critère de Sylvester:
Soit A(n × n) une matrice symetrique est définie positive ssi det(Ak ) > 0, 1 ≤ k ≤ n, et
Ak matrice (k × k) intersection des K premiéres lignes et K premiéres colonnes.
Théorème: Soit A une matrice symétrique n × n etb ∈ Rn , et soit f la forme quadratique
associée, définie par
1
f (x) = xT Ax − bT x
2
Soit x∗ le vecteur (unique) vérifiant Ax∗ = b, alors x∗ réalise le minimum de f, c’est à dire
f (x∗ ) ≤ f (x), ∀x ∈ Rn .
46
∇f (x∗ ) = 0,
Dans le cas où f est deux fois différentiable on peut alors donner le résultat suivant:
Théorème: Soit f : Rn −→ R deux fois différentiable. Si
∇f (x∗ ) = 0,
∇2 f (x∗ ) > 0,
Parmi ces points lesquels sont min locaux, max locaux, ni l’un ni l’autre?
48
minf (x)x∈Rn .
Proposition: Soit g une fonction deux fois continûment dérivable et soit x∗ vérifie:
g(x∗ ) = 0, g 0 (x∗ ) 6= 0 alors si x0 est suffisament proche de x∗ alors xk générée par la méthode
de Newton converges to x∗ .
Exercice: Soit le problème minf (x, y, z) = x2 + y 2 + 3xy + xz + 3yz + 6x + 19y − 5z.
Résoudre en utilisant la méthode de Newton à partir du point initial:
x0 = −10, y0 = 10, z0 = 0.
49
où h : Rn −→ Rp .
Définition: On appelle Lagrangien associé au problème (PCE) la fonction L : Rn ×Rp −→ R
définie par
L(x, λ) = f (x) + Σpi=1 λi hi (x).
(a) h(x∗ ) = 0
Théorème: Soit x∗ un point régulier solution de (PCE). Alors il existe λ∗ tel que
∇x L(x∗ , λ∗ ) = 0
(a) h(x∗ ) = 0
Pp
(b) ∇f (x∗ ) + i=1 ∇λi hi (x∗ ) = 0.
minf (x, y, z), f (x, y, z) = −xyz,
(P1 ) avec
h(x, y, z) = 0 h(x, y, z) = xy + yz + xz − α
2
avec α > 0.
(1) Déterminer les points vérifiant les conditions nécessaires de minimalité du 1er ordre.
(2) Parmi ces points quels sont ceux qui vérifient les conditions nécessaires de minimalité
du 2eme ordre.
où g : Rn −→ Rp .
Théorème: Soit x∗ un point régulier solution de (PCI). Alors il existe λ∗ tel que
∇x L(x∗ , λ∗ ) = 0
λ∗i ≥ 0, 1 ≤ i ≤ p.
λ∗i gi (x∗ ) = 0, 1 ≤ i ≤ p.
(a) g(x∗ ) ≤ 0
Pp
(b) ∇f (x∗ ) + i=1 ∇gi (x∗ ) = 0.
(c) λ∗i ≥ 0, 1 ≤ i ≤ p.
Exercice.
On considère dans R2 le problème de minimisation suivant:
Minf (x1 , x2 ) = 2x1 + 3x2 − 1,
(P2 )
g(x , x ) = x2 + 3 x2 − 6 ≤ 0.
1 2 1 2 2
(1) Déterminer les points vérifiant les conditions nécessaires de minimalité du 1er ordre.
Modélisation
Exemple
la compagnie Coca-Cola produit et distribue de la boisson gazeuse. Les contenants (canettes)
ont une forme cylindrique de hauteur h et de rayon r. Afin de réduire les coûts, Coca-Cola veut
minimiser la surface d’aluminium nécessaire à la construction des contenants. Cependant, ils
doivent s’assurer qu’un contenant ait un volume de 128 cm3 . Quels sont les dimensions du
contenant qui réalisent l’objectif et satisfait la contrainte ?
• Définir les différentes variables;
r : rayon de cylindre (r > 0)
h : hauteur du cylindre (h > 0)
• Ecrire l’objectif en fonction des variables;
Objectif : minimiser la surface du contenant
Contrainte :
volume = 128π
πr2 h = 128π
• Exprimer, en utilisant les contraintes, toutes les variables en termes d’une seule;
De l’expression πr2 h = 128π, la variable h est facilement isolée :
128π 128
h= 2
=⇒ h = 2
πr r
• Substituer ces expressions dans l’objectif;
256π 0 256π
S 0 (r) = (2πr2 + ) =⇒ S 0 (r) = 4πr − 2
r r
Un point statinnaire est obtenu lorsque S 0 (r) = 0 :
256π
4πr − =0
r2
256π
4πr = 2
r
256π
r3 =
4π
r3 = 64 =⇒ r = 4