You are on page 1of 36

Cours d’optimisation

Vincent Vandewalle

Polytech’Lille, I.M.A. deuxième année

4 février 2008
Organisation du cours

I 7 séances de cours de 2h
I 5 séances de TD de 2h
I un examen de 2h
Mon mail : vincent.vandewalle@polytech-lille.fr
Plan du cours

I Programmation linéaire
I Notions sur les graphes
I Application au transport
Introduction

Objectif : Recherche de l’optimum d’une fonction à plusieurs


variables liées entre-elles par des contraintes.
I Optimiser une fonction sur un ensemble de cardinal fini mais
grand
I Procédure d’énumératoin inefficace
I Trouver une méthode astucieuse pour trouver la solution
optimale
Quelques exemples :
I Itinéraire de longueur minimale pour aller de la ville A à la ville
B.
I Tournée de n villes en passant une fois et une seule dans
chaque ville.
I Problème de planification de la production.
Programmation linéaire
Plan

Généralités
Introduction
Forme canonique
Interprétation géométrique
Interprétation économique
Hypothèses sous-jacentes à l’obtention du programme linéaire

Théorèmes fondamentaux
Forme standard d’un programme linéaire
Ecriture matricielle
Solutions optimales et sommets
Plan

Généralités
Introduction
Forme canonique
Interprétation géométrique
Interprétation économique
Hypothèses sous-jacentes à l’obtention du programme linéaire

Théorèmes fondamentaux
Forme standard d’un programme linéaire
Ecriture matricielle
Solutions optimales et sommets
Définitions

Programme mathématique :
Définition
Un programme mathématique est un problème qui consiste à
trouver un extremum (maximum ou minimum) d’une fonction à
plusieurs variables, ces variables devant vérifier un système
d’équation et/ou d’inéquations.
Programme linéaire :
Définition
Un programme linéaire est un programme mathématique dans
lequel toutes les fonctions qui interviennent sont linéaires.
Exemple
Un industriel dispose de 3 machines M1, M2, M3 pour fabriquer 3
biens A, B, C.

Tab.: Nombre d’heures machine nécessaires pour fabriquer une unité de


bien
A B C
M1 1 2 3
M2 3 2 1
M3 1 1 4

I Chaque machine ne peut fonctionner qu’un nombre limité


d’heures dans la semaine : 40h pour M1, 44h pour M2 et 38h
pour M3
I Les bénéfices respectifs pour la vente d’une unité de chaque
bien est : 10e pour A, 14e pour B, 12e pour C.
I On cherche à déterminer la production de biens A, B, C qui
assure à l’industriel un bénéfice maximal.
Modèle algébrique

Soit x1 , x2 , x3 les quantités respectives de A, B, C fabriquées par


semaine. Le bénéfice total est :
z = 10x1 + 14x2 + 12x3 à maximiser.
Le temps d’utilisation de chaque machine exprimé en heures par
semaine est borné :
M1 : x1 + 2x2 + 3x3 ≤ 40
M2 : 3x1 + 2x2 + x3 ≤ 44
M3 : x1 + x2 + x3 ≤ 38
De plus x1 , x2 , x3 ≥ 0 puisque ce sont des quantités produites.
Ce problème est un programme linéaire.
Plan

Généralités
Introduction
Forme canonique
Interprétation géométrique
Interprétation économique
Hypothèses sous-jacentes à l’obtention du programme linéaire

Théorèmes fondamentaux
Forme standard d’un programme linéaire
Ecriture matricielle
Solutions optimales et sommets
Définition
La forme canonique d’un problème linéaire est telle que :
1. On maximise une fonction linéaire des variables dite fonction
économique ou objectif ;
2. Les variables sont assujetties à des condition appelées
contraintes :
2.1 des inéquations, exprimant que des fonctions linéaires des
variables bornées supérieurement par des constantes
(contraintes propres) ;
2.2 des conditions de signe, exprimant que toutes les variables ne
peuvent prendre que des valeurs positives ou nulles
(contraintes impropres).

Le programme linéaire à n variables et à m contraintes propres


s’écrit : Pn
max z = cx fonction économique
Pnj=1 j j
j=1 aij xj ≤ bi i = 1, . . . , m contraintes propres
xj ≥ 0 j = 1, . . . , n contraintes impropres
Une solution admissible est une solution qui vérifie toutes les
contraintes. Celle pour laquelle la fonction économique atteint son
maximum est appelée solution optimale. L’ensemble des solutions
admissibles est appelé domaine du programme linéaire.
Proposition
Tout programme linéaire peut être mis sous forme canonique.
Il suffit de noter que :
1. min z = max(−z)
Pn Pn
2. j=1 aij xj ≥ bi ⇔ j=1 (−aij )xj ≤ (−bi )
 Pn
a x ≤ bi
Pnj=1 ij j
Pn
3. j=1 aij xj = bi ⇔
j=1 aij xj ≥ bi
4. xj ≤ 0 ⇔ −xj ≥ 0
5. xj ∈ R ⇔ xj = xj0 − xj00 avec xj0 ≥ 0 et xj00 ≥ 0
Plan

Généralités
Introduction
Forme canonique
Interprétation géométrique
Interprétation économique
Hypothèses sous-jacentes à l’obtention du programme linéaire

Théorèmes fondamentaux
Forme standard d’un programme linéaire
Ecriture matricielle
Solutions optimales et sommets
Soit le programme linéaire à deux variables :
max z = −x1 + x2
−2x1 + x2 ≤ 1
x1 + 3x2 ≤ 10
x1 ≤ 4
x1 , x2 ≥ 0
Toute solution (x1 , x2 ) peut être considérée comme un point du
plan.
Géométriquement, l’ensemble des points vérifiant une contrainte est
représenté par un demi-plan dont l’équation est obtenue en
remplaçant l’inégalité par une égalité. Le domaine est l’intersection
de 5 demi-plans.
Une solution optimale est un point du domaine le plus éloigné
possible de l’origine dans la direction définie par la fonction
économique. On considère la droite d’équation z =constante. Parmi
toutes les droites rencontrant le domaine, celle pour laquelle z est
maximale fournit l’ensemble des solutions optimales du programme
linéaire.
La solution optimale est unique et obtenue en un des sommets du
polygone contraintes. Intuitivement on voit que ce cas sera le plus
fréquent. Cependant on peut imaginer des cas où la solution
optimale n’est pas unique.
Plan

Généralités
Introduction
Forme canonique
Interprétation géométrique
Interprétation économique
Hypothèses sous-jacentes à l’obtention du programme linéaire

Théorèmes fondamentaux
Forme standard d’un programme linéaire
Ecriture matricielle
Solutions optimales et sommets
Pn
max z = cx fonction économique
Pnj=1 j j
j=1 ij xj
a ≤ bi i = 1, . . . , m contraintes propres
xj ≥ 0 j = 1, . . . , n contraintes impropres
a)
i : bien consommé
j : activité
bi : quantité disponible du bien
aij : taux d’utilisation du bien i par l’activité j
cj : gain unitaire de l’activité j
xj : niveau de l’activité j
b)
i : activité
j : bien produit
bi : capacité maximum de fonctionnement de l’activité
aij : taux de fonctionnement de l’activité i pour la production du
bien j
cj : gain unitaire du bien j
xj : quantité produite de bien j
Plan

Généralités
Introduction
Forme canonique
Interprétation géométrique
Interprétation économique
Hypothèses sous-jacentes à l’obtention du programme linéaire

Théorèmes fondamentaux
Forme standard d’un programme linéaire
Ecriture matricielle
Solutions optimales et sommets
1. Les activités j peuvent être considérées indépendamment les
unes des autres : hypothèse indispensable pour l’obtention de
l’additivité sur les activités j dans la fonction économique et
dans les contraintes.
2. Le gain réalisé par l’activité j ainsi que l’utilisation du bien i
par l’activité j sont proportionnels au niveau de
fonctionnement. Indispensable pour le caractère linéaire de la
fonction économique et des contraintes.
3. Les variables doivent être divisibles, si ce n’est pas le cas on a
affaire à un problème de programmation linéaire en nombres
entiers qui se révèle être beaucoup plus difficile à résoudre.
Plan

Généralités
Introduction
Forme canonique
Interprétation géométrique
Interprétation économique
Hypothèses sous-jacentes à l’obtention du programme linéaire

Théorèmes fondamentaux
Forme standard d’un programme linéaire
Ecriture matricielle
Solutions optimales et sommets
I La solution optimale du PL se trouve au niveau d’un des
sommets du domaine.
I On étudie la notion algébrique de sommet, nous verrons que
celle-ci coïncide avec la notion géométrique de sommet.
I On montrera que le maximum de la fonction économique est
atteint en un sommet.
I On en déduira que le PL consiste alors a trouver le(s)
sommet(s) qui maximise(nt) la fonction économique.
Plan

Généralités
Introduction
Forme canonique
Interprétation géométrique
Interprétation économique
Hypothèses sous-jacentes à l’obtention du programme linéaire

Théorèmes fondamentaux
Forme standard d’un programme linéaire
Ecriture matricielle
Solutions optimales et sommets
Définition
La forme standard d’un PL est telle que :
1. On maximise une fonction économique linéaire des variables ;
2. Les variables sont assujetties à des contraintes qui sont :
2.1 des équations linéaires (appelées équations propres) ;
2.2 des conditions de signe exprimant que les variables ne peuvent
prendre que des valeurs positives ou nulles (appelées équations
impropres).

Proposition
Tout PL peut s’écrire sous forme standard.
Considérons un PL, sous forme canonique, à n variables et m
contraintes propres,
Pn et posons :
xn+i = bi − Pj=1 aij xj pour i = 1, . . . , m
L’inéquation nj=1 aij xj ≤ bi est équivalente à la condition xn+i ≥ 0
Le PL s’écrit :Pn
max z = cx
Pnj=1 j j
j=1 ij xj + xn+i = bi i = 1, . . . , m
a
xj ≥ 0 j = 1, . . . , n
xn+i ≥ 0 i = 1, . . . , m
Les variables xj , j = 1, . . . , n sont les variables naturelles.
Les variables xn+i , i = 1, . . . , m sont les variables d’écart.
Plan

Généralités
Introduction
Forme canonique
Interprétation géométrique
Interprétation économique
Hypothèses sous-jacentes à l’obtention du programme linéaire

Théorèmes fondamentaux
Forme standard d’un programme linéaire
Ecriture matricielle
Solutions optimales et sommets
   
x1 c1
 x2   c2 
.. ..
   
   

 . 


 . 

x =  xn  c = 
  cn  vecteur de Rn+m
 
 xn+1   0 
   
 ..   .. 
 .   . 
xn+m 0
A
 = 
a11 a12 · · · · · · ··· a1n 1 0 ··· ··· ··· 0
 a21 a22 · · · · · · ··· a2n 0 1 ··· ··· ··· 0 
 
 . .. .. .. .. ..
 ..

. . . . · . 
 .. .. .. .. .. ..
 

 . . . . . · . 
 .. .. .. .. .. ..
 

 . . . . . · . 
am1 am2 · · · · · · ··· amn 0 0 ··· ··· ··· 1
matrice m × (n + m)
 
b1

 b2 

 .. 
 . 
b= ..  ∈ Rm
 
 . 
..
 
 
 . 
bm
Ainsi le PL s’écrit :
max z = c T x
Ax = b
x ≥ 0
Exemple

Soit le programme linéaire à deux variables vu précédemment.


On pose x3 = 1 − (−2x1 + x2 )
x4 = 10 − (x1 + 3x2 )
x5 = 4 − x1
D’où la forme standard :
max z = −x1 + x2
−2x1 + x2 + x3 = 1
x1 + 3x2 + x4 = 10
x1 + x5 = 4
x1 , x2 , x3 , x4 , x5 ≥ 0
Avecen notation
 matricielle
 :
x1 −1  
 x2 
 
 1 
  −2 1 1 0 0
 x3  c =  0  A =
x =     1 3 0 1 0 
 x4   0  1 0 0 0 1
x5 0
 
1
b =  10 
4
Plan

Généralités
Introduction
Forme canonique
Interprétation géométrique
Interprétation économique
Hypothèses sous-jacentes à l’obtention du programme linéaire

Théorèmes fondamentaux
Forme standard d’un programme linéaire
Ecriture matricielle
Solutions optimales et sommets
Caractérisation algébrique d’un sommet

Définition
Un point x du domaine est un sommet s’il n’existe aucun segment
[x 1 , x 2 ] avec x 1 6= x 2 dans le domaine tel que x ∈ [x 1 , x 2 ] (x 1 6= x
et x 2 6= x).

Théorème
Soit x une solution admissible comportant n variables nulles. Si les
colonnes de la matrice A correspondant aux m autres variables
forment une base de Rm , alors x est un sommet.
Théorème
Soit x une solution comportant n + k variable nulles, 0 ≤ k ≤ m
(donc au moins n variables nulles). Si x est un sommet, alors : - les
colonnes de la matrice A correspondant aux m − k variables non
nulles sont linéairement indépendantes.
- on peut ajouter à ces m − k colonnes k colonnes de A de manière
à former une base de Rm .
En résumé, un sommet :
1. est admissible
2. a au moins n composantes nulles
3. est associé à une base de Rm , constituant m colonnes de A
correspondant aux m autres composantes(s’il y a plus de n
composantes nulles, il est associé en général à plusieurs bases).
Calcul d’un sommet

On dispose maintenant d’un algorithme pour calculer un sommet :


1. On annule n variables
2. On résout le système de m équations à m inconnues
3. Si toutes les variables sont positives ou nulles, c’est un sommet
Les n variables fixées à 0 sont appelées variables hors-base.
Les m autres variables sont appelées variables de base.
La notion géométrique de sommet et la notion algébrique de base
coïncident.
Exemple :
−2x1 + x2 + x3 = 1
x1 + 3x2 + x4 = 10
x1 + x5 = 4
Théorème
Il existe au moins un sommet du domaine qui soit une solution
optimale.

Théorème
Si la valeur optimale est atteinte en plus d’un sommet alors toute
combinaison convexe de ces sommets est optimale.
Il suffit d’explorer tous les sommets qui sont en nombre fini pour
déterminer une solution optimale. On peut donc obtenir une
solution optimale en un temps fini.

You might also like