Programmation lin´eaire 2
Recherche Op´erationnelle et Optimisation Master 1
S´ebastien Verel verel@lisic.univ-littoral.fr
http://www-lisic.univ-littoral.fr/~verel
Universit´e du Littoral Cˆote d’Opale Laboratoire LISIC Equipe CAMOME
Plan
Bibliographie
Denis Lugiez, Universit´e de Provence, Aix-Marseille I.
http://pageperso.lif.univ-mrs.fr/~denis.lugiez/
Enseignement/Master1/RO/ro.html Fran¸cois Lemaire, universit´e Lille 1.
http://www.fil.univ-lille1.fr/portail/index.php?
dipl=L&sem=S5&ue=Algo&label=Documents
Forme canonique
Notations
Vecteur colonne de pond´eration des gains :
c= (c1, . . . ,cn)t∈IRn Vecteur colonne de dimensionndes variables de d´ecision :
x= (x1, . . . ,xn)t∈IRn Vecteur colonne de dimensionmdes bornes (domaine admissible) :
b= (b1, . . . ,bm)t∈IRm Matrices de dimensionm×nexprimant les poids des contraintes :
A= (aij)1≤i≤m,1≤j≤n∈IRm×n
Forme normale
Max z = c.x A x ≤ b
x ≥ 0
Forme canonique
Notations
Vecteur colonne de pond´eration des gains :
c= (c1, . . . ,cn)t∈IRn Vecteur colonne de dimensionndes variables de d´ecision :
x= (x1, . . . ,xn)t∈IRn Vecteur colonne de dimensionmdes bornes (domaine admissible) :
b= (b1, . . . ,bm)t∈IRm Matrices de dimensionm×nexprimant les poids des contraintes :
A= (aij)1≤i≤m,1≤j≤n∈IRm×n
Forme normale
Max z = c.x A x ≤ b
x ≥ 0
Exemple
Exercice
Ecrire sous forme normale le probl`eme de l’aci´erie.
Pourquoi lin´ eaire ?
Une fonctionf est lin´eaire si :
pour toutx1∈IRn et x2∈IRn, pour toutλ1∈IRet λ2 ∈IR, f(λ1x1+λ2x2) =λ1f(x1) +λ2f(x2)
En programmation lin´eaire, `a la fois l’objectif `a maximiser et les contraintes `a satisfaire sont des fonctions lin´eaires. CQFD.
Pourquoi lin´ eaire ?
Une fonctionf est lin´eaire si :
pour toutx1∈IRn et x2 ∈IRn, pour toutλ1∈IRet λ2 ∈IR, f(λ1x1+λ2x2) =λ1f(x1) +λ2f(x2)
En programmation lin´eaire, `a la fois l’objectif `a maximiser et les contraintes `a satisfaire sont des fonctions lin´eaires. CQFD.
Pourquoi lin´ eaire ?
Une fonctionf est lin´eaire si :
pour toutx1∈IRn et x2 ∈IRn, pour toutλ1∈IRet λ2 ∈IR, f(λ1x1+λ2x2) =λ1f(x1) +λ2f(x2)
En programmation lin´eaire, `a la fois l’objectif `a maximiser et les contraintes `a satisfaire sont des fonctions lin´eaires. CQFD.
Probl` eme du sac ` a dos quadratique
Exercice
Rappeler la d´efinition du probl`eme de sac `a dos
Maintenant, imaginons que des combinaisons d’objets soient plus int´eressantes que les objets seuls. Par exemple, il peut ˆ
etre plus int´eressant d’avoir des allumettes et un r´echaud que l’un des deux s´epar´ement.
Exprimer l’objectif de ce nouveau probl`eme. Est-ce un probl`eme de programmation lin´eaire ?
De mˆeme, on peut exprimer le danger de transport de plusieurs article. Par exemple, il peut ˆetre dangereux
d’emmener `a la fois des allumettes et de l’essence, ou encore du savon liquide avec du pain...
Exprimer ces nouvelles contraintes. Est-ce un probl`eme de programmation lin´eaire ?
Espace vectoriel, affine
Rechercher les d´efinitions de : Espace vectoriel
Base d’un espace vectoriel Espace affine
Poly´ edre et polytope
Hyperplan
Un hyperplanH d’un espace affine de dimensionn est un espace affine de dimensionn−1 v´erifiant une ´equation du type :
a1x1+. . .+anxn=K
L’hyperplanH d´elimite 2 demi-espaces ferm´es (ouvert si in´egalit´e stricte) v´erifiants :
a1x1+. . .+anxn≤K et a1x1+. . .+anxn≥K Poly`edre
Un poly`edre est une intersection de demi-espaces ferm´es Polytope
Un polytope est un poly`edre born´e
Propri´ et´ es polytope
Proposition
Un polytope n’a qu’un nombre fini de sommets.
Tout pointM d’un polytope peut s’´ecrire comme une combinaison lin´eaire convexe des sommets :
M =X
i
λiSi
avecP
iλi = 1 etλi ≥0.
Convexit´ e
Ensemble convexe C est convexe ssi :
pour tous pointsM etM0 deC, tout point du segment [M,M0] appartient `a C
pour toutλ∈[0,1]
λM + (1−λ)M0 ∈C Fonction convexe
f est convexe ssi :
pour toutx etx0 de IRn, pour toutλ∈[0,1]
f(λx+ (1−λ)x0)≤λf(x) + (1−λ)f(x0)
Maximums
Proposition
Une fonction convexef sur un polytopeP a un maximum et celui-ci est est obtenu sur un sommet.
Preuve : `a faire
Un algorithme serait donc d’´enum´ererf sur les tous les sommets...
mais qui peuvent ˆetre tr`es nombreux...