Telechargé par rim.ouazine96

tp1

publicité
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
Réalisé par :
Fatima-Ezzahra Essaai
Rim Ouazine
Encadré par :
M. Mourad Nachaoui
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
INTRODUCTION ....................................................................................................................................... 3
Programmation linéaire .......................................................................................................................... 4
Introduction......................................................................................................................................... 5
1-
Programmation linéaire : ............................................................................................................ 6
2-
Les conditions de formulation d’un Programme Linéaire : ......................................................... 6
3-
Les étapes de formulation d’un Programme Linéaire : ............................................................... 7
4-
Présentation Théorique............................................................................................................... 7
4.1 Résolution graphique ................................................................................................................ 8
Méthode de simplexe et dualité ............................................................................................................. 9
1. Méthode de simplexe : .................................................................................................................. 10
1.1
Forme canonique d’un programme linéaire ..................................................................... 10
1.2 Forme standard d’un programme linéaire .............................................................................. 10
1.3 Algorithme du simplexe .......................................................................................................... 11
2- Méthode Big M.............................................................................................................................. 14
2.1 Définition des variables artificielles......................................................................................... 14
3- Dualité ........................................................................................................................................... 17
Résultats des tests réalisés.................................................................................................................... 19
Programme 1 : ................................................................................................................................... 20
Programme 3 : ................................................................................................................................... 22
Annexe :............................................................................................................................................. 24
conclusion.............................................................................................................................................. 34
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
INTRODUCTION
La recherche opérationnelle (aussi appelée aide à la décision) peut être définie
comme l'ensemble des méthodes et techniques rationnelles orientées vers la
recherche de la meilleure façon d’opérer des choix en vue d’aboutir au résultat
visé ou au meilleur résultat possible. Elle fait partie des « aides à la décision »
dans la mesure où elle propose des modèles conceptuels en vue d'analyser et de
maitriser des
situations
complexes
pour
permettre
aux
décideurs
de
comprendre et d'évaluer les enjeux et d'arbitrer et/ou de faire les choix les plus
efficaces.
Le domaine fait largement appel au raisonnement mathématique (logique, probabilités,
analyse de données) et à la modélisation des processus.
Il est fortement lié à
l'ingénierie des systèmes, ainsi qu'au management du système d'information.
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
Programmation linéaire
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
Introduction
L’importance de l’optimisation et la nécessité d’un outil simple pour modéliser des problèmes
de décision que soit économique, militaire ou autres on fait de la programmation linéaire un des
champs de recherche les plus actifs au milieu du siècle précédent. Les premiers travaux (1947)
sont celle de George B. Dantzig et ses associés du département des forces de l’air des Etats
Unis d’Amérique. Les problèmes de programmations linéaires sont généralement liés à des
problèmes d’allocations de ressources limitées, de la meilleure façon possible, afin de
maximiser un profit ou de minimiser un coût. Le terme meilleur fait référence à la possibilité
d’avoir un ensemble de décisions possibles qui réalisent la même satisfaction ou le même profit.
Ces décisions sont en général le résultat d’un problème mathématique.
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
1-
Programmation linéaire :
On appelle programmation linéaire, le problème mathématique qui consiste
à optimiser (maximiser ou minimiser) une fonction linéaire de plusieurs
variables qui sont reliées par des relations linéaires appelées contraintes. Les
problèmes de programmations linéaires sont généralement liés à des
problèmes d’allocations de ressources limitées, de la meilleure façon
possible, afin de maximiser un profit ou de minimiser un coût.
Le terme meilleur fait référence à la possibilité d’avoir un ensemble de
décisions possibles qui réalisent la même satisfaction ou le même profit.
Ces décisions sont en général le résultat d’un problème mathématique.
La programmation linéaire est définie donc comme étant un cas
particulier de la programmation mathématique pour laquelle la fonction
objective et les contraintes sont linéaires.
2-
Les conditions de formulation d’un Programme Linéaire :
La programmation linéaire comme étant un modèle admet des hypothèses (des
conditions) que le décideur doit valider avant de pouvoir les utiliser pour modéliser son
problème. Ces hypothèses sont :
1) Les variables de décision du problème sont positives
2) Le critère de sélection de la meilleure décision est décrit par une fonction linéaire de ces
variables, c’est à dire, que la fonction ne peut pas contenir par exemple un produit croisé
de deux de ces variables. La fonction qui représente le critère de sélection est dite fonction
objectif (ou fonction économique).
3) Les restrictions relatives aux variables de décision (exemple : limitations des ressources)
peuvent être exprimées par un ensemble d’équations linéaires. Ces équations forment
l’ensemble des contraintes.
4) Les paramètres du problème en dehors des variables de décisions ont une valeur connue
avec certitude
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
3-
Les étapes de formulation d’un Programme Linéaire :
Généralement il y a trois étapes à suivre pour pouvoir construire le modèle d'un programme
linéaire :
1) Identifier les variables du problème à valeur non connues (variable de décision) et les
représenter sous forme symbolique (ex : x1, y1).
2) Identifier les restrictions (les contraintes) du problème et les exprimer par un système
d’équations linéaires.
3) Identifier l’objectif ou le critère de sélection et le représenter sous une forme linéaire en
fonction des variables de décision. Spécifier si le critère de sélection est à maximiser ou à
minimiser.
4-
Présentation Théorique
Un programme linéaire consiste à trouver le maximum ou le minimum d’une forme linéaire
dite fonction objective en satisfaisant certaines équations et inégalités dites contraintes. En
langage mathématique, on décrira de tels modèles de la manière suivante :
Soient N variables de décision x1, x2,…, xn, l’hypothèse que les variables de décision sont
positives implique que x1  0, x2  0, , x N  0 .
La fonction objective est une forme linéaire en fonction des variables de décision de type :
z = c1x1 + c2 x2 +  + c N x N
Où les coefficients c1,…,cN doivent avoir une valeur bien déterminée (avec certitude) et
peuvent être positifs, négatifs ou nuls. Par exemple le coefficient ci peut représenter un profit
unitaire lié à la production d’une unité supplémentaire du bien xi, ainsi la valeur de z est le profit
total lié à la production des différents biens en quantités égales à x1 , x 2 ,  , x N .
Supposons que ces variables de décision doivent vérifier un système d’équations linéaires
définis par M inégalités
a11 x1 + a12 x2 +  + a1 N x N  b1
a21 x1 + a22 x2 +  + a2 N x N  b2

a M 1 x1 + a M 2 x2 +  + aMN x N  bM
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
Où les coefficients a1M,…, aMN et b1,…, bM doivent avoir une valeur bien déterminée (avec
certitude) et peuvent être positifs, négatifs ou nuls. Le paramètre bj représente la quantité de
matière première disponible dont le bien xi utilise une quantité égale à aij xi
En suivant les étapes de formulation ci-dessus, on peut représenter le PL comme suit :
Max
c1 x1 + c2 x2 +  + c N x N
s.c
a11 x1 + a12 x2 +  + a1 N x N  b1
a21 x1 + a22 x2 +  + a2 N x N  b2

a M 1 x1 + a M 2 x2 +  + a MN x N  bN
x1  0, x2  0, , x N  0
4.1 Résolution graphique
Parmi les solutions possibles d’un problème, il y a ceux qui vont satisfaire toutes les contraintes
du programme, appelés solutions réalisables, et ceux qui vont satisfaire une partie ou aucune
de ces contraintes, appelés solutions non réalisables.
Une représentation graphique des inégalités (des contraintes) va nous permettre de déterminer
l’ensemble des solutions réalisables.
Une solution possible du problème est dite réalisable si et seulement si elle vérifie toutes les
contraintes, c’est à dire si elle appartient aux trois demi-plans relatifs à chaque Contrainte du
programme linéaire, en d’autres termes à 1  2  3.
x2
Ensemble des
solutions
réalisables
12
3
6
12
24
x1
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
Méthode de simplexe et dualité
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
1. Méthode de simplexe :
1.1 Forme canonique d’un programme linéaire
Max z = c1 x1 + c2 x2 + ..…..+ cn xn
a11 x1 + a12 x2 + .…….+ a1n xn  b1
a21 x1 + a22 x2 +…......+ a2n xn  b2
am1 x1 + am2 x2 + ... …..+ amn xn  bm
x1  0 ; x2  0 ; .........; xn  0
Si la fonction objective doit être maximisée et si toutes les contraintes sont des
inéquations du type ≤, on dit que le programme linéaire se présente sous une forme
canonique.
1.2 Forme standard d’un programme linéaire
On transforme les inégalités des contraintes économiques en égalités par introduction de
variables supplémentaires positives ou nulles appelées variables d'écart.
ai1 x1 + ai2 x2 + .......... + ain xn  bi
Devient
ai1 x1 + ai2 x2 + .......... + ain xn + ti = bi
D’où la forme standard :
Max z = c1 x1 + c2 x2 + ..........+ cn xn
a11 x1 + a12 x2 + .......... + a1n xn + t1 = b1
a21 x1 + a22 x2 + .......... + a2n xn + t2 = b
am1 x1 + am2 x2 + ………… + amn xn + tm = bm
x1  0 ; x2  0 ; .........; xn  0 ; t1  0 ; t2  0 ; .........; tm  0
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
1.3 Algorithme du simplexe
Étape 0 : On forme le tableau initial
La base initiale de l’espace-colonne sera {xn+1, xn+2, . . . , xn+m}. Les autres variables
seront égales à 0 ce qui correspond au point de départ x = (0, 0, . . . , 0).
Étape 1 :
On doit choisir la colonne de pivot. Pour cela, on choisit l’indice j tel quel cj = max {ci
| ci > 0}. Si aucun choix est possible, on a atteint la solution optimale et l’algorithme se
termine. Sinon, on passe à l’étape suivante. Pour un problème de minimisation, on
modifie le critère en choisissant l’indice j tel que cj = min {ci | ci < 0}.
Étape 2 :
On doit choisir la ligne de pivot. Pour cela, on choisit l’indice i en utilisant le critère du
quotient bi aij = min{ bk akj | akj > 0 k = 1, 2, . . . , m} où j est la colonne de pivot de
l’étape 1. a) On applique la procédure d’élimination de Gauss-Jordan autour du pivot
situé à l’intersection de la ligne i et de la colonne j. Ensuite, on divise la ligne i par le
pivot pour le mettre égal à 1. b) On retourne à l’étape 1 et on recommence.
Remarque :
Expliquons le critère du quotient. A une certaine itération du simplexe, nous disposons
d’une solution de base xB lié à un choix B de variables de base. Ensuite, il s’agit de
pivoter vers une solution de base adjacente qui doit être admissible. Le critère du
quotient assure que la nouvelle solution de base sera admissible. En effet, notons par j
la colonne de pivot de l’étape 1 et par i un choix quelconque de la ligne de pivot. A ce
choix de la ligne de pivot correspond une variable xji qui sortira de la base. Le critère
du quotient impose que aij > 0. La nouvelle base s’écrira B˜ = B ∪ {xj} \ {xji } et on
doit imposer que la solution de base associée à B˜ doit être admissible. On procède à
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
élimination de Gauss-Jordan autour du pivot aij . La ligne Lk du tableau du simplexe (à cette
itération) est modifiée par :
Ceci modifie la dernière colonne du tableau du simplexe par :
qui doit être positif car sera la nouvelle solution de base. Si akj > 0, on obtient :
Si akj = 0, on obtient :
Donc, aucun changement. Si akj < 0, on a
car aij > 0 et les bi , bk ≥ 0. Donc seulement les valeurs akj > 0 sont à considérer et, selon le
calcul ci-dessus, on a que :
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
Figure3.1 Résumé de l'algorithme
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
2- Méthode Big M
Dans la méthode dite de Grand M comme dans celle en deux étapes, les équations provenant
des contraintes technologiques de signe  ou =, on ajoute des variables dites artificielles qui
initialement serviront de variables de base et on exige de ces mêmes variables qu’elles soient
non négatives.
Outre les variables artificielles introduites dans le modèle, on adjoint à la fonction
économique Z un terme de pénalité à chaque variable artificielle et M est une constante
positive dont la valeur sans être précisée dépasse largement tous les autres nombres présents
dans le modèle.
Le modèle à résoudre devient :
2.1 Définition des variables artificielles
L’introduction de variables artificielles permet de résoudre le problème posé par les
contraintes ≥. Quand un programme linéaire comporte une contrainte ≥, la contrainte de
positivité liée à la variable d’écart n’est pas respectée pour la forme standard.
Exemple : Soit la contrainte :
𝑥 + 2𝑦 + 𝑧 ≥ 16.
Prenons une solution qui respecte la contrainte. Par exemple on donne 5+10+5=20.
Dans la forme standard, la variable d’écart 𝑡1 qui permet l’égalité est telle que : 20
+ 𝑡1 = 16, soit 𝑡1 = −4 ce qui ne respecte pas la contrainte 𝑡1 ≥ 0.
La forme standard de la contrainte est donc :
𝑥 + 2𝑦 + 𝑧 − 𝑡1 = 16.
La variable 𝑡1 est alors mise hors base et l’introduction dans la base d’une variable
artificielle 𝑎1, positive ou nulle, affectée du coefficient 1 permet d’obtenir une
solution de départ admissible
𝑥 + 2𝑦 + 𝑧 − 𝑡1 + 𝑎1 = 16.
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
Les variables hors base sont :
𝑥 = 𝑦 = 𝑧 = 𝑡1 = 0
Et en base 𝑎1 = 16 ce qui respecte 𝑎1 ≥ 0.
Règle :
Il n'est nécessaire d'introduire de variable artificielle (toujours positive) que dans les
cas où la contrainte est sous forme d'égalité (=) ou de supériorité (≥). Dans la nouvelle
équation, la variable artificielle est affectée du signe du second membre.
1) Introduire une variable artificielle par contrainte ≥. La variable d’écart de la contrainte
affectée du coefficient −1 est mise hors base.
2) Elles permettent simplement l’égalité dans la forme standard et ne sont pas une
donnée du problème. En conséquence, elles doivent être nulles à l’optimum. Pour
cela, il faut les faire sortir de la base en leur donnant un coefficient fortement
pénalisant dans la fonction économique :
a- S’il s’agit d’une maximisation, le coefficient affecté à la variable artificielle
est très négatif : −𝑀 où M est une constante positive arbitrairement grande
qui tend à réduirela fonction économique, tant que les variables artificielles
sont dans la base. On dit qu'on pénalise la fonction objective, d'où le nom de
la méthode dite méthode despénalités
b- S’il s’agit d’une minimisation, le coefficient affecté à la variable artificielle
est très positif : +𝑀 où M est une constante positive arbitrairement grande
qui tend à augmenter la fonction économique, tant que les variables
artificielles sont dans la base. On dit qu'on pénalise la fonction objectif d'où
le nom de la méthode dite méthode des pénalités.
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
Exemple :
La forme standard associé a cette exemple :
La M-problème auxiliaire associé est :
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
3- Dualité
La forme d’un programme linéaire de type maximisation est
Max
z = ct x
S.C
Ax  b
(PL1)
x0
avec x, b , c des vecteurs de dimensions respectives n, m et n , et A une matrice de dimension
(m, n) .
On appelle programme dual de (PL1) , le programme linéaire suivant :
Min
w = bt y
S.C
t
A.Y  c
y0
avec y un vecteur de dimension m et t A la transposée de la matrice A .
Le programme (PL1) est appelé programme Primal.
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
Pour passer du primal au dual, on remarque que :
1) Les termes du second membre deviennent les coefficients de la fonction objectif et
réciproquement.
2) Le problème de maximisation devient un problème de minimisation.
3) Les inégalités "  " deviennent des inégalités "  "
4) La matrice A se transforme en sa transposée.
On peut généraliser ce résultat dans le tableau suivant :
Figure 3.2 Tableau de
On remarque aussi qu’à l’optimum la valeur de la fonction objective du dual est égale à la
valeur de la fonction objectif du primal.
Figure 3.2 Règle de dualité
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
Résultats des tests réalisés
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
Programme 1 :
Max (x1 + 2x2)
3 x1 - 2 x2 ≤ 7
- x1 + 4 x2 ≤ 9
-2 x1 + 3 x2 ≤ 6
x1 ≥ 0 et x2 ≥ 0
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
•
•
•
•
•
Le système transforme le problème en une maximisation en changeant le signe de la
fonction objectif.
Le système introduit ensuite les variables d’écart, ce qui nous donne le premier tableau
du simplexe.
Le pivot 1 2 correspond à la variable entrante X2 et la variable sortante X5.
Le pivot 0 1 correspond à la variable entrante X1 et la variable sortante X4.
Le dernier tableau correspond à l’optimum, On obtient donc comme solution : X1=0.60,
X2=2.4, X3=10, X4=0, X5=0, min Z = 6.60
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
Programme 3 :
Min (120 x1 +132 x2 + 60 x3)
6 x1 + 2 x2 + 2 x3 ≥ 120
2 x1 + 4 x2 + 2 x3 ≥ 90
x1, x2, x3 ≥ 0
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
Annexe :
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
UNIVERSITE SULTAN MOULAY SLIMANE
Faculté des Sciences et Techniques
Béni Mellal
conclusion
Le but de ce projet était d’implémenter une application pour la résolution des
programmes linéaires via la méthode de simplexe, ce projet a été sans doute une
expérience très bénéfique, il nous a offert l’opportunité d’améliorer nos
connaissances dans le domaine de programmation ainsi l’amélioration de notre
esprit d’équipe.
Téléchargement