Académique Documents
Professionnel Documents
Culture Documents
L’algorithme du Simplexe
Ludovic Plaçais
Plan
! Programmation Linéaire
! Exemple conducteur
! L’algorithme du Simplexe
! Conclusion
Partie 1 :
!Programmation Linéaire
Présentation
! Une définition
! l'optimisation d'une fonction de variables soumises à des
contraintes sous forme d'égalités ou d'inégalités non strictes.
! Ce qu’elle permet
! une modélisation assez générale des problèmes rencontrés
en gestion et qui sont relativement complexes.
! Domaines d’application
! modélisation, optimisation, économie, productique,
ordonnancement, planification, théorie des jeux, ...
Formalisation
! 4 étapes
! compréhension du problème.
! identification des variables de décision (qui sont les
inconnues du problème)
! fixation des objectifs à atteindre
=> la fonction objective
! précision des contraintes du problème, contraintes
exprimées sous forme linéaire par rapport aux variables de
décision.
=> les sous-contraintes
Vocabulaire
! Solution admissible
! Les solutions admissibles sont celles qui satisfont toutes les
contraintes du problème.
! Solution optimale
! Elles se distinguent des solutions optimales qui, parmi les
solutions admissibles, optimisent la fonction dont on cherche
le maximum ou le minimum.
Partie 2 :
!Exemple conducteur
Énoncé
! Le restaurateur
Un restaurateur a constaté que sa clientèle préfère les
assortiments de coquillages et qu'il peut offrir indifféremment:
- des assiettes à 8 euros,
contenant 5 oursins, 2 bulots et une huître.
- des assiettes à 6 euros,
contenant 3 oursins, 3 bulots et 3 huîtres.
5 x1 + 3 x2 ≤ 30
2 x1 + 3 x2 ≤ 24
x1 + 3 x2 ≤ 18
x1 " 0
x2 " 0
Résumé
On a donc le problème suivant :
La fonction objective :
max(z) = 8 x1 + 6 x2
Partie 3 :
!L’algorithme du Simplexe
Présentation
! Développé par G. B. Dantzig (1947)
! Année 1940 – 50 :
! à des fins militaires
! Après la guerre :
! dans le monde des affaires
! Dès 1970 :
! optimiser une production, un bénéfice face à la concurrence
! maîtriser les phénomènes naturels
! s’opposer militairement efficacement à un adversaire
! améliorer les jeux
Principe
! Trouver une solution de base admissible
! En général tous les xi = 0
! Chercher à améliorer cette solution
! En satisfaisant les conditions de la sous contrainte la plus
forte
! Répéter cette opération jusqu’à obtention de la solution
optimale
! NB :
! Vérification à chaque tour que le problème est borné
Exemple (1)
! Solution de base admissible :
max(z) = 8 x1 + 6 x2
5 x1 + 3 x2 ≤ 30
2 x1 + 3 x2 ≤ 24
x1 + 3 x2 ≤ 18
x1, x2 " 0
Exemple (2)
! Première amélioration de la solution :
! La contrainte qui fixe le plus de contraintes est :
5 x1 + 3 x2 ≤ 30
! On va chercher à optimiser la fonction objective en
satisfaisant cette sous-contrainte par rapport à la variable
qui impose le plus de contraintes ; c’est à dire x1.
=> On a donc x1 = 6
Exemple (3)
! Première amélioration de la solution :
! On a x1 = 6 et x2 = 0.
! Le restaurateur vend donc 6 assiettes à 8 € et 0 à 6 €
! Il réalise donc une recette de 6 * 8 = 48 €
Exemple (4)
! Seconde amélioration de la solution :
! La seconde contrainte qui fixe le plus de contraintes est :
x1 + 3 x2 ≤ 18
! On va chercher à optimiser la fonction objective en
satisfaisant cette sous-contrainte par rapport à la variable
qui impose le plus de contraintes : c’est à dire x2 ; tout en
tenant compte de la variable x1.
Exemple (5)
! Seconde amélioration de la solution :
! Avec x1 = 3 et x2 = 5, le restaurateur gagne
3 * 8 + 5 * 6 = 54 €
! Cette solution est optimale !
Conclusion
Question :