Programmation Lineaire
Programmation Lineaire
Programmation Lineaire
Travaux pratiques
NOVEMBER 1, 2023
Introduction :
L'objectif du Tp décrit dans ce rapport est de fournir une introduction aux
principes fondamentaux de la programmation linéaire, ainsi que d’appliquer Python
pour relever les défis de la programmation linéaire. La programmation linéaire est
une méthode d'optimisation puissante largement utilisée dans des domaines tels que
l'ingénierie, la logistique, la prise de décision et divers autres domaines.
Objectifs :
Modéliser le problème sous forme d’un programme linéaire
Résoudre le problème linéaire sous Python
Méthodologie :
Durant ce TP, nous allons commencer par une présentation théorique de la
programmation linéaire. Ensuite, nous explorerons les outils fondamentaux en Python
pour résoudre des problèmes linéaires. Par la suite, des exemples concrets seront fournis
afin de formuler et programmer des problèmes de programmation linéaire.
Définition :
La programmation linéaire est une méthode mathématique d'optimisation pour
sélectionner la meilleure solution parmi plusieurs en respectant des contraintes linéaires.
Elle implique la maximisation ou la minimisation d'une fonction objectif linéaire tout
en satisfaisant des contraintes spécifiques. Les variables de décision sont utilisées pour
déterminer les quantités à optimiser dans ce cadre.
Définition :
Python, en tant que langage informatique flexible, propose des outils
bibliographiques facilitent à la fois la formulation et la résolution des problèmes
linéaires, offrant une approche simplifiée pour aborder ces défis. PuLP, SciPy et
Gurobi sont fréquemment employées.
Dans ce Tp , La fonction à utiliser est la fonction linprog
Exo1:
Variables de décision :
La solution optimale est: X = (6.4, 0, 4.4) qui correspond à la valeur minimale −10, 888
ainsi notre valeur maximale est 10.888.
Variables de décision :
o x ₁ le nombre de chemises du premier modèle.
o x ₂ le nombre de chemises du deuxième modèle.
Fonction objectif :
Maximiser le bénéfice total, qui est donné par la somme des bénéfices
unitaires multipliés par le nombre de lots de 10 chemises de chaque modèle.
Programme Linéaire :
Max z = 240 x ₁ + 160 x ₂
10 x ₁ + 20 x ₂ ≤ 150
40 x ₁ + 20 x ₂ ≤ 400
x ₁, x ₂ ≥ 0
La solution optimale est: X = (8.33, 3.33) qui correspond à la valeur minimale −2533.33
ainsi notre valeur maximale est 2533.33.
Fonction objectif :
Obtenir un plan de transport à un coût minimum.
Programme Linéaire :
Max z = 5 x ₁₁ + 6 x ₁₂ + 6 x ₁₃ +8 x ₁₄ + 11 x ₂₁ + 9 x ₂₂ + 4 x ₂₃+¿ 7
x ₂₄ + 12 x ₃₁ + 7 x ₃₂ + 8 x ₃₃ + 5 x ₃₄
x ₁₁ + x ₁ ₂ + x ₁₃ + x ₁₄ ≤ 15 000
x ₂₁ + x ₂₂ + x ₂₃+ x ₂₄ ≤ 12 000 capacité d’usine
x ₃₁ + x ₃₂ + x ₃₃ + x ₃₄ ≤ 23 000 (Usine 1,2,3)
x ₁₁ + x ₂₁ + x ₃₁ = 10 000
x ᵢⱼ ≥ 0 tel que(1 ≤i ≤3 et 1≤ j ≤ 4 )