Programmation linéaire Nazih Abderrazzak Gadhi
PROGRAMMATION LINEAIRE ET EXCEL
Le solveur d'excel est un outil puissance d'optimisation et d'allocation de ressources. En résumé, il permet de trouver le minimum, le maximum ou la valeur au plus près d'une donnée tout en respectant les contraintes qu'on lui soumet. Excel Nazih Abderrazzak Gadhi 3
Exemple 1 : Un artisan fabrique deux sortes de ceintures C1 et C2; désire établir un plan de production qui maximise son profit. Chaque ceinture demande 1mètre carré de cuire. Une ceinture de type C1 demande 2h de travail. Une ceinture de type C2 demande 1h de travail. Chaque semaine, cet artisan dispose de 40 mètres carrés de cuir et de 60h de travail. Chaque ceinture de type C1 rapporte à l artisan 40dh. Chaque ceinture de type C2 rapporte à l artisan 30dh. Excel Nazih Abderrazzak Gadhi 4
Configurer l outil Solveur 2003 Il est fort probable que les commandes du solveur n apparaissent pas encore dans le menu Outils ( Excel 2003 ). Ainsi déroulez le menu Outils puis cocher successivement : 1. Macro complémentaire. 2. Complément solveur. Excel Nazih Abderrazzak Gadhi 5
Configurer l outil Solveur 2007 Il est fort probable que les commandes du solveur n apparaissent pas encore dans le menu Outils ( Excel 2007 ). Ainsi déroulez le bouton Office puis cocher ensuite successivement : 1. Option Excel 2. Complément 3. Atteindre 4. Complément Solver Excel Nazih Abderrazzak Gadhi 6
Modélisation Variables de décision : X: Nombre de ceintures de type 1 produites. y: Nombre de ceintures de type 2 produites. On doit résoudre le problème : Excel Nazih Abderrazzak Gadhi 7
Ce dernier, peut être synthétisé sur la feuille de calcul EXCEL suivante : Excel Nazih Abderrazzak Gadhi 8
A la première ligne, nous écrivons le titre du problème et à la seconde ligne, les noms des variables de décision, ici C1et C2. Les trois lignes suivantes concernent la fonction objectif : Nous introduisons à la ligne 3les profits unitaires, c'est-à-dire les coefficients des variables de décision dans la fonction objectif. La ligne 4correspond dans ce cas-ci aux quantités, c'est-à-dire ce que l'on cherche. La cellule C4pour les quantités de C1. La cellule D4pour les quantités de C2. Le solveur remplira ces cases après avoir résolu le problème. Elles sont laissées vides en attendant; ce qui équivaut à 0. Excel Nazih Abderrazzak Gadhi 9
La ligne 5 nous donnera le profit dégagé par la vente des quantités de C1et C2produites. Nous introduisons dans la cellule C5 la formule = C3*C4 et dans la cellule D5, la formule = D3*D4 Dans la cellule E5, nous introduisons la formule qui permettra au solveur de calculer la valeur optimale de la fonction objectif = C5 + D5 En attendant, les cellules C4 et D4 étant vides, les cellules C5, D5 et E5 sont vides elles aussi, donc égales à 0. Les deux lignes suivantes concernent les contraintes. Excel Nazih Abderrazzak Gadhi 10
Nous écrivons les coefficients de x1et de x2dans les contraintes dans les cellules qui y correspondent : C9et D9pour la contrainte de matières premières, C10et D10pour la contrainte de main d œuvre. Pour la contrainte de matières premières, E9donnera la valeur de la contrainte à l'optimum. Nous introduisons donc dans la cellule E9la formule =C9*C4 + D9*D4. Pour la contrainte de main d œuvre, E10donnera la valeur de la contrainte à l'optimum. Nous introduisons donc dans la cellule E10la formule =C10*C4 + D10*D4. Excel Nazih Abderrazzak Gadhi 11
Dans la colonne " limites", nous introduisons la valeur du membre de droite pour chaque contrainte. Il n'est pas nécessaire d'introduire les contraintes de non négativité, on le fera au moyen d'une option du solveur. Excel Nazih Abderrazzak Gadhi 12
Résolution Quand le problème a été formulé et introduit dans une feuille Excel, on choisit l'option " solveur " dans le menu " outils". Une boîte de dialogue apparaît. Excel Nazih Abderrazzak Gadhi 13
Excel Nazih Abderrazzak Gadhi 14
Dans la case " cellule cible à définir", on sélectionne la cellule comprenant la formule donnant la valeur de la fonction objectif (E5). On choisit Max dans l'option " égale à". Remarque : Si on désire maximiser la cellule cible il faut choisir le bouton Max. Si on désire minimiser la cellule cible il faut choisir le bouton Min. Si on désire que la cellule cible se rapproche d'une valeur donnée, il faut choisir le bouton Valeur,puis indiquer la valeur souhaitée dans la zone à droite du bouton. Excel Nazih Abderrazzak Gadhi 15
Dans la case " cellules variables" on choisit les cellules correspondant aux valeurs des variables x1et x2qu on cherche (cellules C4et D4). Intégration des contraintes : On choisit " ajouter" et on sélectionne les cellules E9 ete10 correspondantes aux valeurs des contraintes à l optimum. On sélectionne ensuite le signe de comparaison qu on veut (ici <=) et la valeur du membre de droite (respectivement F9et F10pour chacune des contraintes). Excel Nazih Abderrazzak Gadhi 16
Remarque : Afin d obtenir des solutions de base entières, on peut mettre en place des contraintes de type "valeur entière". Excel Nazih Abderrazzak Gadhi 17
Dans le menu " options", cocher : Remarque : " modèle supposé linéaire" et " supposé non-négatif" Cette dernière revient a introduire les contraintes de non-négativité. Si on a choisit de les introduire comme contraintes standard dans la feuille de calcul, il n'est plus nécessaire de cocher cette case). Excel Nazih Abderrazzak Gadhi 18
Excel Nazih Abderrazzak Gadhi 19
Pour lancer l'optimisation, on appuie ensuite sur " résoudre". Excel Nazih Abderrazzak Gadhi 20
On nous propose ensuite de conserver les valeurs initiales ou de prendre les valeurs du solveur. Si on prend les valeurs du solveur, il va remplir : Les cellules des valeurs des variables de décision (ici C4et D4). La cellule de la valeur optimale de la fonction objectif (ici E5). Les cellules des valeurs des membres de gauche des contraintes à la solution optimale (ici E9et E10). Excel Nazih Abderrazzak Gadhi 21
Trois rapports sont également disponibles : réponses, sensibilité et limites Nous nous intéresserons aux rapports des réponses et de sensibilité. Excel Nazih Abderrazzak Gadhi 22
Rapport des réponses : Excel Nazih Abderrazzak Gadhi 23
L analyse de sensibilité permet d évaluer la sensibilité de la solution optimale quand certains paramètres changent de valeur. Exemple : Mesurer les conséquences de la modification du membre de droite d une contrainte. Mesurer les conséquences de la modification d un coefficient d une variable dans Z. Mesurer les conséquences de la modification de la valeur d une variable à l optimum. Excel Nazih Abderrazzak Gadhi 24
Analyse relative aux contraintes Modifier le membre de droite d une contrainte peut avoir un impact sur: La valeur de la fonction objectif. La valeur des variables. Le rapport de sensibilité d Excel (tableau des contraintes) donne lavaleur marginale (Ombre coût) associée à chaque contrainte. Ceci donne l impact sur la fonction objectif d augmenter le membre de droite par une unité. La valeur marginale ne donne pas la variation dans la solution. Le vecteur des valeurs marginales (Ombre coût) correspond au multiplicateur du simplexe!!! Excel Nazih Abderrazzak Gadhi 25
Valeur marginale Si on modifie le membre de droite bid une contrainte par, la valeur de la fonction objectif sera modifiée de : * valeur marginale. La valeur marginale reste la même tant que l on demeure dans l intervalle admissible (voir augmentation et réduction admissibles). Sinon la déduction n est pas valide. Il faut résoudre à nouveau pour connaître les nouvelles valeurs optimales des variables de décision. Le rang de faisabilité de biest [bi Réd_adm ; bi+ Aug_adm]. Excel Nazih Abderrazzak Gadhi 26
Attention Ces résultats sont garantis lorsque seulement un seulmembre de droite est modifié. Une contrainte non active (non liée) a une valeur marginale nulle. Dans les variations admissibles: 1E+30 correspond à + 1E -15 correspond à 0 Excel Nazih Abderrazzak Gadhi 27
Rapport de sensibilité : Excel Nazih Abderrazzak Gadhi 28
Si chaque semaine, cet artisan dispose de 54mètres carrés de cuir, qu elle sera sa nouvelle capacité de production? Comment pouvez vous expliquer ce résultat? Le rang de faisabilité de b1est [40-10; 40+20], c est-à-dire [30; 60]. La valeur de la fonction objectif sera augmentée de 14 * 20 = 280 car : Ainsi, 54 dans [30; 60]. Z* = 1400 + 280 =1680. Excel Nazih Abderrazzak Gadhi 29
Si chaque semaine, cet artisan dispose de 35mètres carrés de cuir, qu elle sera sa nouvelle capacité de production? Comment pouvez vous expliquer ce résultat? Le rang de faisabilité de b1est [40-10; 40+20], c est-à-dire [30; 60]. La valeur de la fonction objectif sera augmentée de -5 * 20 = -100 car : Ainsi, 35 dans [30; 60]. Z* = 1400-100 =1300. Excel Nazih Abderrazzak Gadhi 30
Si chaque semaine, cet artisan dispose de 63 h de travail, qu elle sera sa nouvelle capacité de production? Comment pouvez vous expliquer ce résultat? le rang de faisabilité de b2est [60-20; 60+20], c est-à-dire [40; 80]. la valeur de la fonction objectif sera augmentée de 3 * 10 = 30 car : Ainsi, 63 dans [40; 80]. Z* = 1400 + 30 =1430. Excel Nazih Abderrazzak Gadhi 31
Si chaque semaine, cet artisan dispose de 56 h de travail, qu elle sera sa nouvelle capacité de production? Comment pouvez vous expliquer ce résultat? le rang de faisabilité de b2est [60-20; 60+20], c est-à-dire [40; 80]. la valeur de la fonction objectif sera augmentée de -4 * 10 = -40 car : Ainsi, 56 dans [40; 80]. Z* = 1400-40 =1360. Excel Nazih Abderrazzak Gadhi 32
Analyse relative à la fonction objectif Modifier un coefficient de la fonction objectif peut avoir un impact sur : Les valeurs optimales des variables de décision. La valeur optimale de la fonction objectif. Le rapport de sensibilité d Excel (tableau des variables) donne lavariation admissible pour chaque coefficient de sorte que les valeurs optimales des variables de décision ne changent pas. Si cette variation n est pas admissible, alors la valeur de la fonction objectif se recalcule à l aide du nouveau profit unitaire. Le rang d optimalité du coefficient Cide la variable Xiest : [Ci Réd_adm ; Ci+ Aug_adm]. Excel Nazih Abderrazzak Gadhi 33
Le rapport de sensibilité d Excel (tableau des variables) donne aussi le coût réduit pour chaque variable dans la fonction objectif. Les coûts réduits sont associés à la solution optimale. Le coût réduit d une variable hors base représente : l effet sur la valeur de la fonction objectif si on modifie la valeur finale de cette variable. Remarque : Si le coût réduit de la variable hors base Xiest égal à p<0, alors l ajout de la contrainte Xi qimplique la diminution de Z* de la valeur absolue de :pq. Excel Nazih Abderrazzak Gadhi 34
Le coût réduit d une variable donne la modification minimale du coefficient de la variable dans la fonction objectif pour qu il soit rentable d augmenter la valeur de cette variable. Lorsque le coût réduit d une variable hors baseest nul, il peut y avoir plusieurs solutions optimales. Excel Nazih Abderrazzak Gadhi 35
Rapport de sensibilité : Excel Nazih Abderrazzak Gadhi 36
Le tableau «cellules variables»donne : La valeur finale de chaque variable. La valeur du coefficient de chaque variable dans la fonction objectif (40 et 30 que nous avions introduits dans la feuille de calcul). L augmentation et la réduction admissible de chaque coefficient. Ces dernières valeurs permettent de trouver le rang d optimalité des coefficients : le rang d optimalité du coefficient de xest [40-10; 40+20], c est-à-dire [30; 60]. le rang d optimalité du coefficient de yest [30-10; 30+10], c est-à-dire [20; 40]. Excel Nazih Abderrazzak Gadhi 37
Avantages du solveur linéaire de Microsoft Excel Facilité d'utilisation. Procuration d une analyse de sensibilité de la solution optimale. Inconvénients du solveur linéaire de Microsoft Excel Nombre de contraintes limité. Nombre de variables limité. Moins performant que des logiciels dédiés à la résolution de systèmes linéaires tels que ILOG Cplex. Excel Nazih Abderrazzak Gadhi 38