Programmation Linéaire Avec Excel

Embed Size (px)

DESCRIPTION

le comment

Citation preview

  • HEC

    GillesMauffrey

    METHODESQUANTITATIVESAVECEXCELProgrammationlinaire,programmationdynamique,simulation,statistiquelmentaire

  • La Modlisation

    Page 3

    LA MODELISATION

    1 Modle et typologie des modles 1.1 La notion de modle Un modle est daprs le dictionnaire Robert :

    1. Ce qui sert ou doit servir d'objet d'imitation pour faire ou reproduire quelque chose 2. Personne, fait, objet possdant au plus haut point certaines qualits ou caractristiques

    qui en font le reprsentant d'une catgorie 3. Objet de mme forme qu'un objet plus grand mais excut en rduction 4. Reprsentation simplifie d'un processus, d'un systme

    La notion de modle qui nous utiliserons ici est en fait un mix des dfinitions 2, 3 et 4. Nous nous attacherons donner une reprsentation schmatise, mais en contrlant la simplification, de la ralit et nous serons conduits utiliser parfois des modles mathmatiques prexistants. Pour nous un modle sera une reprsentation simplifie de la ralit dans au moins l'un des deux buts suivants :

    mieux comprendre la ralit aider la prise de dcision en fournissant des solutions acceptables aussi bonnes que

    possible.

    1.2 Les composants dun modle On est conduit modliser quand on se trouve confront un problme dont il nexiste pas de solutions videntes (soit heuristiques, soit parce quon a dj t confront ce type de problme).

    Le problme concerne lentreprise ou une partie de lentreprise que nous appellerons systme (par exemple une unit de production, les caisses dun supermarch, etc..) ; ce systme est sous contrle dun dcideur ( ou dun groupe de dcideurs) qui peut en modifier le comportement par des actions (ou dcisions). Ce systme est en relation avec des lments extrieurs non directement contrls par le dcideur que nous appellerons environnement. Remarquons que les dcisions du dcideur peuvent avoir des consquences sur lenvironnement (par exemple un fort budget publicitaire peut accrotre la fois la part de march et la taille du march).

    Enfin certaines caractristiques du systme et de lenvironnement peuvent tre considres comme primordiales pour le dcideur et servir comparer entre elles les dcisions, nous parlerons alors de consquences des actions. Bien videmment ces consquences sont fonction des objectifs que sest fix (ou qui ont t fixs au) le dcideur.

    1.2.1 Les variables de dcisions Les variables de dcisions servent dcrire les actions envisages. Elles peuvent prendre leurs valeurs sur ensemble fini (par exemple nombre de caisses ouvrir) ou considr comme infini (par exemple budget consacr un mdia). Elles peuvent tre simultanes (par exemple quantits produire un mois) ou squentielle stalant dans le temps ( par exemple faire une tude de march, puis dcider de la taille de la capacit de production).

  • La Modlisation

    Page 4

    1.2.2 Lenvironnement et le systme Pour dcrire lenvironnement et le systme que nous noterons E/S, nous utilisons deux lments :

    Les paramtres structurels : ce sont des constantes qui ne vont pas tre modifies par les dcisions du dcideur, ces paramtres structurels sont dpendants des hypothses simplificatrices qui ont t prises pour construire le modle et de lhorizon de modlisation que lon sest fix (prix de vente dun produit, salaire dune caissire, etc..). Certains paramtres structurels peuvent tre dfinis par une loi de probabilit (par exemple nombre de clients arrivant une station service pendant un intervalle de temps donn).

    Les variables dtat du systme : vont permettre de faire une photographie de lenvironnement et du systme sous leffet des dcisions, ce sont des fonctions la fois des paramtres structurels et des dcisions envisages. Par exemple :

    les capacits de production utilises dpendent des quantits produire(dcision) et des donnes technologiques de production(paramtres),

    le budget publicitaire dpens, le nombre de contacts publicitaires dpendent des spots publicitaires (dcisions) , du cot des spots et des audiences des missions(paramtres),

    le nombre de clients dans une file dattente, le nombre de caisses inoccupes dpendent du nombre de caisses ouvertes (dcision) et du rythme darrives la caisse et du temps de service(paramtres).

    Ces variables dtat sont des variables alatoires si les paramtres dont elles dpendent sont des lois de probabilit.

    Les relations de fonctionnement du systme, qui expriment le respect des contraintes dvolution du systme. Ce peut tre des quations ou inquations (respect dune demande, dune capacit de production, dun budget par exemple) ou des relations temporelles (volution dune file dattente toutes les minutes). Ces relations dfinissent le modle de fonctionnement du systme.

    1.2.3 Les consquences Les consquences sont des variables dtat privilgies qui vont permettre de comparer ou de slectionner les dcisions : par exemple le profit ralis grce une production ou le temps moyen dattente dun client. Ces consquences sont values par un modle dvaluation.

    Le modle dvaluation peut consister en une simple optimisation (maximisation ou minimisation) : par exemple marge maximale dune production, risque minimal dun portefeuille, minimiser le temps moyen dattente, dans ce cas la variable dtat privilgie comme consquence doit tre unique et se nomme fonction conomique (ou fonction objectif).

    Il peut aussi tre constitu de plusieurs compteurs qui dterminent les plages dans lesquelles doivent se trouver les consquences : par exemple moins de 95% des clients doivent attendre plus de 5 minutes aux caisses et le taux doccupation des caisses doit au moins tre de 80%.

  • La Modlisation

    Page 5

    Dans ce cas le modle dvaluation permet dliminer les dcisions qui natteignent pas ces objectifs

    En consquence, la structure dun modle suivra le schma suivant :

    1.3 Typologie des modles Suivant les lments connus, on peut dgager la typologie suivante :

    1.3.1 Modles descriptifs (E/S) : Il s'agit de modles gnralement statistiques qui ont pour objet de faire connatre les paramtres structurels du modle ou les formules dfinissant les variables d'tat du systme.

    On rpond ici aux questions "Quel est mon environnement, comment fonctionne le systme ?"

    Les mthodes statistiques utilises vont de l'estimation simple l'analyse des donnes ou aux mthodes de prvision.

    1.3.2 Modles de simulation (Calcul des consquences) (E/S, Action) : On connat ici les paramtres structurels et les variables d'tat de l'environnement et du systme et l'on veut valuer les consquences des diffrentes actions envisages (donc en nombre fini) sans pour autant chercher identifier "la meilleure".

    Ce choix est laiss au dcideur, le modle peut fournir videmment plusieurs consquences (multicritre).

    On rpond ici la question "Que se passe-t-il si... ?"

    La mthode privilgie ici est la mthode de simulation, soit avec des langages ddis, soit sur tableur ou l'aide de langages "classiques" tels que C, FORTRAN, PASCAL, BASIC.

    Environt. Paramtres Variables

    Systme Paramtres Variables

    Action

    E/S

    GConsquences

    Modle de fonctionnement Modle d'valuation

    Critres

  • La Modlisation

    Page 6

    1.3.3 Modles d'optimisation (E/S, Action, Critres) : On connat ici les paramtres structurels et les variables d'tat de l'environnement et du systme. On connat les actions envisages ainsi que le critre d'valuation des consquences. On veut dterminer la meilleure action possible.

    Evidemment, le critre de choix est unique (limitation des mthodes mathmatiques).

    On rpond ici la question "Que faire ?" Les mthodes utilises sont trs varies : elles sont mathmatiques ou font appel la simulation ou des heuristiques.

    Nous nous intresserons dans ce cours uniquement aux modles doptimisation ou de simulation. Dans ce cas la modlisation peut tre considre comme une mthodologie daide la dcision stratgique, qui a pour objectif de permettre une allocation efficace des ressources en vue de la ralisation dobjectifs. En voici quelques exemples :

    Dterminer le nombre de guichets ouvrir pendant une priode donne pour viter une attente trop longue des clients et une inactivit trop importante des guichetiers

    Dterminer une bonne utilisation dun budget publicitaire pour atteindre le plus grand nombre de clients potentiels

    Dterminer la composition dun portefeuille pour atteindre une rentabilit maximale avec risque maximum donn

    Dterminer une production qui conduise une marge maximum compte tenu des ressources disponibles et des demandes connues

    2 La dmarche de modlisation La dmarche de modlisation peut sarticuler autour de trois phases :

    2.1 Analyse descriptive 1.Fixer les limites gographiques, physiques et aussi temporelles du systme tudi et de son environnement. Quels sont les paramtres structurels dcrivant ce systme ?

    2.Enumrer les actions envisages ou le type d'action envisage.

    3.Dterminer les variables d'tat, c'est dire les lments qui permettent de "photographier" le systme un moment donn sous l'effet des actions.

    4.Choisir la faon dont le fonctionnement du systme sera dcrit : satisfaction de contraintes structurelles, volution temporelle.

    5.Identifier les consquences qui serviront valuer les actions (variables d'tat privilgies).

    6.Slectionner ventuellement les critres permettant de comparer les actions.

    2.2 Mise en quation 1.Nommer la (ou les variables) associe(s) aux actions.

    2.Ecrires les relations dfinissant les variables d'tat.

    3.Ecrire les relations dcrivant le fonctionnement du systme, relations entre les variables d'tat et les paramtres structurels et les dcisions.

    4.Identifier les relations dfinissant les consquences et exprimer les critres.

  • La Modlisation

    Page 7

    2.3 Rsolution du modle On peut soit utiliser un logiciel spcifique, par exemple un logiciel de programmation linaire, soit utiliser un progiciel standard du type tableur. Dans ce dernier cas, il faudra veiller respecter la structuration du modle, c'est dire affecter des zones bien dlimites et spares aux diffrents composants du modle :

    Paramtres structurels Variables de dcision Variables d'tat et relations de fonctionnement Consquences values par des critres

    Il faut bien noter que les solutions trouves sont les solutions du modle et non du problme originel ; il reste au dcideur transcrire ces solutions dans le monde rel en rintgrant ventuellement certains lments non pris en compte dans le modle. L'adquation des solutions trouves au problme rel dpend bien videmment de la pertinence du modle et ceci relve plus d'un art que d'une science.

    Le processus de modlisation fait donc appel trois ressources principales :

    Les donnes de lentreprise et lenvironnement, recueillies dans le systme dinformation de lentreprise (paramtres structurels)

    Les connaissances dun expert sur le mtier et lenvironnement (relations de fonctionnement, consquences)

    Des modles mathmatiques ou des outils de simulation tels quun tableur (rsolution).

  • La Modlisation

    Page 8

    EXERCICE DE MODELISATION

    L'entreprise Clairgaz L'entreprise Clairgaz met en bouteille et distribue des bouteilles de gaz. La mise en bouteille s'effectue dans trois usines notes 1, 2, 3 qui livre 5 dpts rgionaux, nots A,B, C,D, E. Les capacits de production mensuelle (en milliers de bouteilles) de chacune des usines et les demandes mensuelles de chacun des dpts sont les suivants :

    Usine Production Dpt Demande1 40 A 20 2 80 B 10 3 120 C 30 D 80 E 100

    Les bouteilles doivent tre livres de chaque dpt chaque usine, on peut en premire approximation considrer que le cot unitaire de transport est proportionnel la distance, c'est d'ailleurs ainsi que se fait la facturation interne, les cots de transport tant affects aux dpts et donc pris en compte lors de l'valuation annuelle des directeurs de dpts. L'annexe 1 vous donnent les valeurs de ces cots unitaires. On remarquera que le dpt C et l'usine 2 ont une mme localisation.

    Actuellement la politique de livraison rsulte de ngociations entre les directeurs de dpts et d'usine, cette politique vous est donne en annexe 2. La direction gnrale trouve les cots totaux de transport actuellement trop levs, et pense qu'il serait possible de les diminuer de faon significative pour les deux annes venir, o il n'est pas envisag de modifications importante de la demande. Il est fait appel vous pour tudier ce problme.

    Question 1 Analyser le problme de la direction gnrale :

    Quels sont le systme, les paramtres structurels, les dcisions, les variables dtat, la consquence ?

    Question 2 Ecrire les quations correspondant.

    Question 3 Que pensez-vous des ractions possibles des diffrents intervenant : direction gnrale, directeurs de dpt et d'usine; comment y remdier?

    Question 4 Pouvez vous proposer une mthode heuristique de rsolution?

  • La Modlisation

    Page 9

    Annexe 1 Cot de transport unitaire d'usine dpt (en ) : Dpts Usines A B C D E

    1 7 10 5 4 12 2 3 2 0 9 1 3 8 13 11 6 14

    Annexe 2 Politique actuelle d'approvisionnement des dpts Dpts Usines A B C D E

    1 40 2 30 50 3 20 10 80 10

    Soit un cot total de 1 440K

  • Page 10

    Elments de Recherche Oprationnelle

  • Page 11

    LA PROGRAMMATION LINEAIRE

    3 Un Premier Exemple Une entreprise fabrique deux produits A et B avec deux matires premires M et P, et une machine T1. Les consommations, les temps de fabrication et les marges ralises pour chaque produit ; ainsi que les quantits disponibles pour le mois venir sont donns dans le tableau suivant :

    Produit A Produit B Disponible Matire Premire M 12 14 1500 Matire Premire P 8 4 600 Temps de fabrication 3 H 1 H 210 H Marge Bnficiaire 300 250

    3.1 Formalisation du problme 3.1.1 Analyse descriptive :

    Le systme est constitu de l'unit de production de l'entreprise durant le mois suivant.

    Les paramtres structurels sont les donnes technologiques de production, les disponibilits en matires premires et temps machine et les marges bnficiaires unitaires.

    Les variables d'action sont les quantits respectives de produit A et B fabriquer le mois suivant

    Les variables d'tat sont les quantits de matires premires utilises, le temps machine utilis et la marge dgage

    Les relations de fonctionnement du systme consistent s'assurer que l'utilisation des ressources reste infrieure la disponibilit.

    La consquence privilgie et la marge dgage par la production dcide, le critre consiste maximiser cette marge

    On a donc affaire un problme d'optimisation.

    3.1.2 Mise en quations du problme Dfinition des variables d'action : notons X1 et X2 les quantits respectives de produit A et B fabriquer durant le mois. On peut considrer que ces quantits sont des nombres rels, la partie fractionnaire correspondant des produits encours. Ces deux variables sont videmment positives ou nulles.

    Calcul des variables d'tat :

    Utilisation de la matire premire M : 12*X1 + 14*X2 Utilisation de la matire premire P : 8*X2 + 4*X2 Utilisation de la machine T : 3*X1 + 1*X2 Marge bnficiaire dgage : 300*X1 + 250*X2

  • Page 12

    Equations de fonctionnement du systme (Contraintes) : (X1>=0 ; X2>=0)

    12*X1 +14*X2

  • Page 13

    Rsolution graphique du problme : Toutes les droites d'isoprofit sont parallles entre elles, il nous faut donc dterminer une droite qui soit parallle une direction donne, qui soit le plus loigne possible de l'origine tout en coupant l'ensemble des solutions ralisables. Cette droite

    intuitivement va passer par l'un des sommets du polygone.

    4 Dfinition d'un programme linaire Les caractristiques d'une situation pouvant conduire la formalisation sous forme de programme linaire sont illustres par l'exemple prcdent :

    Les actions sont en nombre non fini, (dnombrable, voire mme continu), elles ne peuvent prendre que des valeurs positives.

    Les paramtres structurels sont connus de faon certaine et dterministe (sans loi de probabilit).

    Les variables d'tat sont linaires (ou au moins les relations de fonctionnement sont linarisables).

    Les relations de fonctionnement s'expriment sous la forme d'ingalits.

    La consquence privilgie est unique et le critre est un critre d'optimisation (maximum ou minimum).

    D'un point de vue mathmatique, il s'agit de maximiser une fonction linaire de variables relles positives ou nulles sous une conjonction de contraintes d'ingalit dont la partie droite (dpendant des variables) est linaire. C'est cette linarit qui va permettre de dgager des proprits mathmatiques assez simples de l'ensemble des solutions ralisables et de l'optimum, et de mettre en place un algorithme de rsolution du problme.

    Remarques :

    1.On peut bien videmment minimiser une fonction linaire puisque cela revient maximiser l'oppos de la fonction

    2.On peut aussi envisager des contraintes d'galit puisqu'une contrainte du type

    f(x, y, z,... )=b

    O

    A

    B

    C

    D

    Marge Maximale

    La valeur maximale de la marge est obtenue en

    dplaant la droite disoprofit paralllement elle-mme jusqu un des

    sommets du polygone

  • Page 14

    est quivalente la conjonction des deux contraintes :

    f(x, y, z,...)=b

    5 Proprits mathmatiques d'un programme linaire Remarque : ce paragraphe n'est pas ncessaire la comprhension du reste du document. Un programme linaire peut tre dfini sous la forme gnrale suivante :

    Maximiser une fonction linaire de n variables : c1X1+c2X2+. +cnXn

    sous p contraintes (inquations infrieures ou gales) dont la partie gauche est une fonction linaire des n variables et la partie droite est constante :

    ai1X1+ ai2X2 +...........+ainXn

  • Page 15

    Premier thorme : Si la fonction prsente un maximum sur le convexe, ce maximum est atteint en au moins un point extrmal (raisonnement par l'absurde). En consquence, il nous suffira de chercher le maximum sur les sommets du convexe des solutions ralisables ; toutefois ces sommets peuvent tre trs nombreux dans la pratique, il nous faut donc trouver une mthode qui permette de slectionner les sommets explorer. Le thorme suivant va nous y aider :

    Deuxime thorme : Pour une fonction linaire dfinie sur un convexe tout optimum local est global. Dmonstration : soit A un optimum local (c'est dire qu'au voisinage de ce point la fonction prend des valeurs infrieures ou gales f(A)), supposons qu'il existe dans le convexe C un point B tel que f(B)>f(A). Le segment AB est dans le convexe C, donc pour tout t dans l'intervalle ouvert ] [1;0 le point M = tA+(1-t)B est dans C et on a f(M)=t f(A)+(1-t) f(B)>f(A). Donc en tout point du segment ouvert (AB) la fonction f prend des valeurs suprieures f(A), ce qui est contraire l'hypothse de maximum local.

    En conclusion :

    Nous pouvons donc explorer les sommets de proche en proche (c'est dire passer d'un sommet un sommet voisin), et vrifier localement que le maximum est atteint. C'est la dmarche de la mthode du simplexe.

    6 Algorithme du simplexe Dans ce chapitre nous supposerons toujours que le second membre des contraintes (partie constante) est positif ; nous distinguerons donc les contraintes infrieures ou gales des contraintes suprieures ou gales.

    6.1 Variables d'cart - Variables de surplus Considrons une contrainte infrieure ou gale (par exemple ressource utilise = b

    on se ramnera une quation en soustrayant une variable positive ou nulle s :

    a1X1+a2X2+....+anXn -s= b

    cette variable qui peut reprsenter le surplus de production par rapport au minimum impos est appele variable de surplus (surplus variable).

    Sur l'exemple de prsentation les contraintes s'crivent alors :

  • Page 16

    12*X1 +14*X2 + e1 = 1500 (Matire premire M)

    8*X1 + 4*X2 +e2 = 600 (Matire premire P)

    3*X1 + 1*X2 +e3 = 210 ( Atelier)

    6.2 Variables de base - Variables hors base Le problme qui faisait intervenir n variables naturelles (dfinies par la formalisation) et p contraintes infrieures ou suprieures, devient maintenant un problme n+p variables et p contraintes d'galit.

    Chaque point extrmal du simplexe des solutions ralisables correspond la saturation de p contraintes (explicites ou implicites : positivit des variables naturelles). On pourra donc associer un sommet du simplexe une partition des n+p variables : n variables nulles et p variables solution du systme de p quations p inconnues. Les p variables qui servent rsoudre le systme s'appellent les variables de base, les n autres variables sont les variables hors base.

    Sur l'exemple de prsentation nous avons pour chaque sommet les variables de base :

    Remarquons que passer d'un sommet un sommet voisin revient simplement changer une variable de base avec une variable hors base, puisque entre deux sommets voisins seul un hyperplan satur est modifi.

    6.3 Principe de l'algorithme A partir des remarques prcdentes, la dmarche va consister se dplacer d'un sommet en un sommet voisin, et vrifier si on peut amliorer localement la fonction conomique (en effet nous savons que tout optimum local est global). Prcisons cette dmarche :

    1. Trouver un sommet initial ; si on ne peut en trouver il n'y a pas de solution.

    Matire

    Matire

    Atelie

    O Base(e1,e2,e3)

    A Base(X2,e2,e3)

    B Base(X1,X2,e3)

    C Base(X1,X2,e1)

    Base(X1,e2,e1) D

  • Page 17

    2. Exprimer grce aux contraintes la fonction conomique en fonction des variables hors base (il suffit de rsoudre le systme en fonction des variables de base, les variables hors base tant considres comme des paramtres)

    3. Voir si l'introduction d'une variable hors base amliore la fonction conomique (existe-t-il un coefficient strictement positif pour les variables hors base de la fonction conomique ?), si ce n'est pas le cas on a atteint l'optimum, sinon choisir la meilleure candidate localement (la variable hors base dont le coefficient positif est le plus grand).

    4. Dterminer la valeur maximale prise par cette nouvelle variable, si cette valeur est infinie la solution est aussi infinie ; sinon un sommet amliorant la fonction conomique est trouv, retourner alors en 2.

    Cet algorithme converge (avec une modification pour viter le cyclage quand la valeur maximale en 4 est 0).

    Remarque : la premire tape peut tre dlicate s'il existe des contraintes >=, en revanche elle est trs simple dans le cas o les seules contraintes sont des contraintes

  • Page 18

    Si X1 remplace e1, X1 prend la valeur 1500/12=125

    Si X1 remplace e2, X1 prend la valeur 600/8 = 75

    Si X1 remplace e3, X1 prend la valeur 210/3=70

    La valeur maximale que peut prendre X1 est donc le minimum de ces 3 valeurs, c'est dire 70 (sinon on devrait donner des valeurs ngatives e2 ou e1). X1 remplace donc e3. La troisime contrainte qui caractrise l'change s'appelle la contrainte pivot, elle va nous servir rcrire le systme :

    1. Remplacer X1 par 70-1/3 e3 - 1/3 X2 dans la fonction conomique et les deux premires contraintes

    2. Rcrire la troisime contrainte de faon mettre en vidence les variables de base (sous matrice identit) comme dans l'tat initial.

    7.2 Etape 1 En utilisant la relation dfinie prcdemment nous obtenons la formulation quivalente suivante :

    MAX -100e3 + 150X2 +21000

    -4e3 + 10*X2 + e1 = 660

    -(8/3)e3 +(4/3)X2 +e2 = 40

    (1/3)e3 +(1/3)X2 +X1 =70

    Nous sommes au point D, les variables de base sont (e1, e2, X1) les variables hors base (e3, X2). La valeur de la fonction conomique est le terme constant 21000 (car e3 et X2 sont hors base donc valent 0), elle est obtenue avec les valeurs lues dans le systme de contraintes : e1=660, e2= 40, X1=70. Toutefois cette valeur n'est pas optimale car il reste un coefficient strictement positif, donc la fonction conomique peut s'amliorer localement (les variables ne peuvent qu'tre positives).

    Choix de la variable entrant dans la base : c'est la variable X2 car son coefficient est le seul positif.

    Choix de la variable sortant de la base : les trois variables e1, e2, X1 sont candidates, il nous faut voir quelle est la valeur maximale possible de X2 sans qu'aucune autre variable ne soit ngative (ne pas oublier que e3 reste nulle). Examinons les 3quations :

    Si X2 remplace e1, X2 prend la valeur 660/10=66

    Si X2 remplace e2, X2 prend la valeur 40/(4/3) = 30

    Si X2 remplace e3, X2 prend la valeur 70/(1/3)=210

    La valeur maximale que peut prendre X2 est donc le minimum de ces 3 valeurs, c'est dire 30 (sinon on devrait donner des valeurs ngatives e1 ou X1). X2 remplace donc e2. La deuxime contrainte est la contrainte pivot, elle va nous servir rcrire le systme :

    1. Remplacer X2 par 30-3/4e2+2e3 dans la fonction conomique et la premire et la dernire contrainte

  • Page 19

    2. Rcrire la deuxime contrainte de faon mettre en vidence les variables de base (sous matrice identit) comme dans le systme initial.

    7.3 Deuxime tape En utilisant la relation dfinie prcdemment nous obtenons la formulation quivalente suivante :

    MAX 200e3 - 112,5e2 +25500

    16e3 - 7,5 e2 + e1 = 360

    -2e3 +(3/4)e2 +X2 = 30

    e3 -(1/4)e2 +X1 = 60

    Nous sommes au point C, les variables de base sont (e1, X2, X1) les variables hors base (e3, e2). La valeur de la fonction conomique est 25500 (car e3 et X2 sont hors base donc valent 0), la solution en ce point correspond e1=360, X2=30, X1=60.Cette solution n'est toujours pas optimale car il reste un coefficient strictement positif, donc la fonction conomique peut s'amliorer localement (les variables ne peuvent qu'tre positives).

    Choix de la variable entrant dans la base : c'est la variable e3 car son coefficient est le seul positif.

    Choix de la variable sortant de la base : les trois variables e1, X2, X1 sont candidates, il nous faut voir quelle est la valeur maximale possible de X2 sans qu'aucune autre variable ne soit ngative (ne pas oublier que e2 reste nulle). Examinons les 3 quations :

    Si e3 remplace e1, e3 prend la valeur 360/16=22,5

    Si e3 remplace X2, e3 prend la valeur 30/(3/4) = 40

    Si e3 remplace X1, e3 prend la valeur 60

    La valeur maximale que peut prendre e3 est donc le minimum de ces 3 valeurs, c'est dire 22,5 (sinon on devrait donner des valeurs ngatives e1 ou X1). e3 remplace donc e1. La premire contrainte est la contrainte pivot. Nous allons donc :

    1. remplacer e3 par 22,5+(15/32)e2-(1/16)e3 dans la fonction conomique et les deux dernires contraintes,

    2. rcrire la premire contrainte de faon mettre en vidence les variables de base (sous matrice identit) comme dans le systme initial.

    7.4 Etape 3 En utilisant la relation dfinie prcdemment nous obtenons la formulation quivalente suivante :

    MAX -12,5e1 - 18,75e2 +30000

    (1/16)e1 -(15/32)e2 + e3 =22,5

    (1/8)e1 - (3/16)e2 +X2 =75

    -(1/16)e1 + (7/32)e2 +X1 =37,5

  • Page 20

    Nous sommes au point B, les variables de base sont (e3, X2, X1) les variables hors base (e1, e2). La valeur de la fonction conomique est 30000, la fonction conomique ne peut pas s'amliorer localement car tous les coefficients sont

  • Page 21

    Les cellules B7:C9 donnent les donnes technologiques, les cellules E7:E9 donnent les quantits disponibles.

    Les cellules D7:D9 contiennent les formules calculant les quantits utilises : attention aux $ pour la recopie vers le bas.

    Il est important que le ct droit de chaque contrainte soit une constante, et non pas une fonction des variables de dcision, sinon dans certains cas Excel pourrait ne pas accepter que le problme soit linaire.

    La feuille de calcul ainsi crite ne permet pas seule de rsoudre le problme d'optimisation, il nous serait seulement possible de tester certaines solutions (simuler des dcisions). Nous vrifierions que ces dcisions sont acceptables sans jamais savoir si nous avons atteint l'optimum.

    Enfin il n'apparat pas sur la feuille de calcul le sens des contraintes (=), ni le sens de l'optimisation (Maximum ou Minimum). Il est donc ncessaire, pour finaliser la formulation du problme et le rsoudre de faire appel un "add-in" (un programme complmentaire accessible partir d'Excel, en "franais" une macro complmentaire.

    8.2 Utilisation du solveur Aprs avoir slectionn la cellule contenant la valeur de la fonction conomique, dans le menu Outils nous choisissons le sous menu Solveur, il apparat alors la bote de dialogue suivante :

    Dans la zone Cellule cible dfinir, il est indiqu l'adresse de la cellule contenant la formule de la fonction conomique, ici $B$4 ; si vous avez ouvert le solveur partir dune autre cellule slectionne, cest ladresse de cette cellule qui apparatra ici, il faudra alors modifier en consquence cette zone en cliquant sur la cellule de la fonction conomique. Ensuite il faut slectionner le type d'optimisation voulu (Maximisation ou minimisation).

    Dans la zone cellules variables, il faut indiquer la zone contenant les variables du problme, ici $B$2:$C$2. Il faut ensuite entrer les contraintes du problme ; pour cela cliquer sur le bouton "Ajouter" de la zone contrainte, une autre bote de dialogue apparat :

  • Page 22

    Dans la zone cellule, il faut indiquer l'adresse de la cellule contenant la formule du ct gauche des contraintes, puis choisir dans la liste droulante le sens de la contrainte (= ou =) et enfin, dans la zone contrainte indiquer l'adresse de la cellule contenait la valeur du ct droit de la contrainte. Entre chaque contrainte cliquer le bouton ajouter, vous pouvez entrer les contraintes de mme sens sous forme vectorielle, condition bien sr que les cellules des mmes cts soient adjacentes (par exemple $D$7:$D$9).

    Aprs la dernire contrainte, valider avec le bouton OK. On revient alors la premire boite de dialogue qui se prsente ainsi :

    Il nous reste prciser que le problme est un problme de programmation linaire, nutilisant que des variables positives ou nulles. Pour cela cliquer sur le bouton "Options" et dans la zone de dialogue suivante, cocher la case "Modle suppos linaire" et "Suppos non ngatif" :

  • Page 23

    Revenu au dialogue initial par le bouton "OK", il faut demander la rsolution du problme en cliquant sur le bouton "Rsoudre". L'algorithme de rsolution s'excute, en fin de traitement un dernier dialogue apparat :

    Il faut alors slectionner les rapports de Rponse et Sensibilit, en cliquant sur ces libells ; mais il est inutile de demander celui des Limites qui en programmation linaire n'apporte rien.

    9 Analyse d'un listing de programmation linaire En pratique, on ne rsout jamais " la main" un programme linaire, on utilise pour ce faire soit des logiciels spcialiss soit un tableur comme Excel.

    9.1 Structure d'un listing de programmation linaire Les listings de programmation linaire comportent tous, sous des prsentations variables, trois parties :

    la valeur de la fonction conomique : valeur optimale de la fonction conomique pour le problme pos.

    les rsultats concernant les variables naturelles : valeurs des variables naturelles et sensibilit de l'optimum en fonction du coefficient de chacune des variables naturelles dans la fonction conomique

    les rsultats concernant les contraintes : valeurs des variables d'cart ou de surplus l'optimum et sensibilit de l'optimum en fonction de chacun des cts droit des contraintes.

    Les phases de l'analyse :

    On peut distinguer trois phases dans l'analyse du listing d'un programme linaire :

    1. Dterminer la solution optimale dans la structure actuelle 2. Faire une analyse marginale des contraintes, en vue de dterminer les dcisions

    pouvant amliorer la solution actuelle.

    3. Faire une analyse des coefficients de la fonction conomique pour dterminer la stabilit de la solution optimale

    Les tapes 2 et 3 s'appellent souvent analyse marginale.

    Exemple d'un listing Excel Dans le cas d'un listing produit par Excel, la valeur de la fonction conomique et les valeurs des variables naturelles sont donnes dans la feuille "Rapport des rponses", tandis que les lments concernant l'analyse marginale se trouvent dans la feuille "Rapport de sensibilit".

  • Page 24

    9.2 Dtermination de la solution optimale Il s'agit ici de donner les valeurs des variables naturelles, de la fonction conomique et l'tat des contraintes l'optimum.

    Gnralement les listings de Programmation Linaire donnent pour chaque variable naturelle son statut (Variable de base ou hors base) en plus de sa valeur l'optimum, certains programmes (SAS par exemple) donnent les mmes prcisions pour les variables d'cart ou de surplus.

    Exemple d'un listing Excel Nous donnons ici le rapport des rponses correspondant au problme initial : Cellule cible (Max) Cellule Nom Valeur initiale Valeur finale $B$4 F.Eco Produit A 0 30000 Cellules variables Cellule Nom Valeur initiale Valeur finale $B$2 Quantit Produit A 0 37,5 $C$2 Quantit Produit B 0 75 Contraintes Cellule Nom Valeur Formule tat Marge $D$7 Matire Premire M Utilis 1500$D$7

  • Page 25

    fonction conomique ne change pas et il est bien videmment inutile de se procurer un surplus de ressources.

    En revanche une contrainte sature indique une gne pour l'amlioration de la fonction conomique, toute augmentation ou diminution du ct droit de la contrainte va conduire une modification de l'allocation des ressources et/ou de la production et par consquent une modification de la fonction conomique. On peut donc associer chaque contrainte un cot (ou profit) marginal correspondant au resserrement (ou relchement) de la contrainte, bien videmment ce cot ne sera valable que sur un intervalle de valeurs pour le ct droit de la contrainte : par exemple si l'on augmente trop une ressource, on se trouvera limit par d'autres ressources ou par le march, tout apport supplmentaire n'aura alors plus aucun intrt conomique.

    Les listings de programmation linaire donnent la fois le cot marginal, appel shadow cost (traduit sous Excel par Ombre Cot) ou shadow price, qui indique le gain associ au relchement de la contrainte, ainsi que l'intervalle sur lequel cette valeur est valable. Ce shadow price est exprim en units de la fonction conomique.

    Exemple d'un listing Excel Voici une partie du rapport de sensibilit correspondant l'exemple:

    Contraintes Finale Ombre Contrainte Admissible Admissible Cellule Nom Valeur Cot droite Augmentation Rduction $D$7 Matire Premire M Utilis 1500 12,5 1500 600 360 $D$8 Matire Premire P Utilis 600 18,75 600 48 171,4285714 $D$9 Temps de Fabrication Utilis 187,5 0 210 1E+30 22,5

    "Finale Valeur" correspond la partie gauche des contraintes (ressources utilises), "Contrainte droite" correspond la partie droite des contraintes (ressources disponibles). La valeur de la variable d'cart associe la contrainte s'obtient comme diffrence de ces deux valeurs. "Admissible Augmentation" et "Admissible Rduction" dfinissent l'intervalle sur lequel le shadow price ("Ombre Cot") est valable. Interprtons ces valeurs.

    La contrainte de matire premire M est sature, toute augmentation marginale de ressource en cette matire permettra de gnrer un nouveau profit, la variation marginale du profit par unit de ressource supplmentaire est donne par le shadow price : 12,5. Cependant, si la quantit de ressource est trop importante son influence conomique va diminuer, c'est ce que nous indique l'augmentation admissible : on n'augmentera le profit de 12,5 par unit de ressource supplmente que tant que la quantit supplmentaire restera infrieure ou gale 600, c'est dire tant qu'on disposera de moins de 2100 units de matire premire M ; au-del bien videmment le profit marginal sera infrieur.

    De la mme faon, toute diminution d'une unit de ressource dans cette matire premire va diminuer le profit de 12,5, et ceci tant que la diminution ne dpassera pas 360 units ; c'est dire tant que la quantit de ressource restera suprieure 1140 units. Au-del la perte marginale sera suprieure.

    Remarque : ce shadow price correspond une restructuration optimale de la production en fonction de la nouvelle quantit, les autres ressources tant inchanges. Le listing ne donne pas cette nouvelle structure de production.

  • Page 26

    La contrainte sur la matire premire P s'analyse de la mme faon, puisque cette contrainte est aussi sature.

    Interprtons maintenant la dernire contrainte : la contrainte d'atelier. Cette contrainte n'est pas sature, donc augmenter les heures disponibles n'apportera aucun profit supplmentaire, c'est pourquoi le shadow cost est nul et l'augmentation admissible infinie (note 1E+30 par Excel). De la mme manire si on diminue les ressources disponibles, tant que l'on conserve la quantit ncessaire la production, ceci ne diminuera en rien le profit : la diminution admissible est donc gale la variable d'cart.

    9.3.2 Cas limite : problme dgnr Il peut arriver que parmi les variables de base, l'une d'entre elles soit nulle, dans ce cas le shadow cost pour la variable d'cart correspondant (ou le reduced cost pour une variable naturelle) sera lui aussi nul, on dit alors que le problme est dgnr. Ceci correspond la valeur limite d'un intervalle de variation d'un cot droit d'une contrainte. Etudions ce cas sur la premire contrainte. Tout d'abord considrons la limite infrieure, le second membre de la contrainte passe 1500-360=1140, la valeur de la fonction conomique est de 30000-12,5*360=25500, le rapport de sensibilit est le suivant :

    Cellules variables Finale Rduit Objectif Admissible Admissible Cellule Nom Valeur Cot Coefficient Augmentation Rduction $B$2 Quantit Produit A 60 0 300 200 85,71 $C$2 Quantit Produit B 30 0 250 100 100 Contraintes Finale Ombre Contrainte Admissible Admissible Cellule Nom Valeur Cot droite Augmentation Rduction $D$7 Matire Premire M Utilis 1140 12,5 1140 960 0 $D$8 Matire Premire P Utilis 600 18,75 600 0 274,29 $D$9 Temps de Fabrication Utilis 210 0 210 1E+30 0

    Les trois contraintes sont satures, mais comme il doit y avoir trois variables de base, et que les deux variables naturelles sont dans la base, l'une des variables d'cart nulles est dans la base. C'est celle dont le shadow cost est nul, c'est dire la troisime contrainte. On constate de plus que les trois contraintes se coupent au mme point, ceci apparat dans le listing par le fait que l'une des deux augmentations limites (admissible augmentation ou admissible rduction) est nulle : ds que l'on bouge un peu l'une des deux premires contraintes (vers le bas pour la premire, vers le haut pour la seconde), elle devient inactive (non sature) et la troisime devient active, alors sont shadow cost va devenir strictement positif.

    Ce cas se gnralise dans un espace de dimension n, quand n+1 contraintes concourent en un sommet du simplexe : on aura alors une des n+1 contraintes dont le shadow cost sera gal 0 et pour les n+1 contraintes l'une des limites gale 0. Cependant la lecture du listing n'est pas trs simple et sur beaucoup de logiciel la contrainte correspondant la variable de base est indique comme dgnre; malheureusement Excel ne l'indique pas.

  • Page 27

    Il se peut aussi que la variable de base qui est nulle soit une variable naturelle, auquel cas le listing sera un peu diffrent. C'est le cas pour la valeur maximale de la premire contrainte, si le second membre de la contrainte passe de 1500 1500+600=2100, on obtient le rapport suivant : Cellules variables Finale Rduit Objectif Admissible Admissible Cellule Nom Valeur Cot Coefficient Augmentation Rduction $B$2 Quantit Produit A 0 0 300 200 85,71 $C$2 Quantit Produit B 150 0 250 100 100 Contraintes Finale Ombre Contrainte Admissible Admissible Cellule Nom Valeur Cot droite Augmentation Rduction $D$7 Matire Premire M Utilis 2100 12,5 2100 0 960 $D$8 Matire Premire P Utilis 600 18,75 600 128 0 $D$9 Temps de Fabrication Utilis 150 0 210 1E+30 60

    La production de produit A est nulle, les deux premires contraintes sont toujours satures, mais l'augmentation admissible de la premire et la diminution admissible de la seconde sont nulles, ds que l'on modifiera un peu l'une de ces contraintes dans ce sens le reduced cost du produit A deviendra strictement positif.

    Ici c'est la contrainte 0A qui est associe la troisime contrainte sature, on constate que l'on est dans le cas de dgnrescence et non pas de solution multiple(voir ci-dessous) d'une part d'aprs le nombre de variable de base nulle(ici 1) (ou non nulles 2 au lieu de 3) et d'autre part parce que pour la variable naturelle nulle, dont le shadow cost est nul, aucune des deux limites n'est gale 0, ce qui signifie que ce n'est pas la rentabilit du produit qui est en cause, mais la disponibilit des ressources.

    Remarque importante : suivant les arrondis, l'algorithme utilis par Excel, qui n'est pas exactement le simplexe, conduira l'une ou l'autre des solutions optimales extrmes.

    9.4 Analyse marginale d'un coefficient de la fonction conomique Il s'agit ici de voir la stabilit de l'optimum (valeur des variables de base) en fonction des variations d'un coefficient de la fonction conomique (changement de prix d'un produit par exemple). Cette analyse ne se fait qu'un seul coefficient la fois. Nous raisonnerons dans le cas d'une maximisation.

    9.4.1 Interprtation du listing Si une variable naturelle n'est pas dans la base, sa valeur est nulle, lui donner une valeur positive ne pourrait que faire baisser la fonction conomique, cette baisse est indique sur les listings en tant que shadow cost ou reduced cost (traduit en Rduit Cot). Si ce shadow cost est nul ceci signifie qu'il existe au moins un autre sommet solution optimale, donc une infinit de solutions optimales (le segment joignant ces deux sommets).

    Si une variable est dans la base, ceci signifie que dans la structure actuelle son coefficient est suffisamment lev. Puisqu'elle est dans la base son shadow cost est videmment nul ; mais il existe un intervalle (pour le coefficient de cette variable) pour lequel la solution optimale reste

  • Page 28

    la mme. Si le coefficient augmente trop la solution va changer (augmentant la valeur de cette variable), si le coefficient diminue, cette variable sera moins intressante conomiquement dans la structure actuelle et la solution changera aussi (diminution de la valeur de cette variable).

    Cas d'un listing Excel Pour les besoins de l'analyse nous avons ici ajout un produit C, qui dans la structure de production actuelle n'est pas rentable, sa contribution est de 291 ("Objectif Coefficient"). Voici la partie du rapport de la sensibilit correspondant l'analyse marginale des coefficients:

    Microsoft Excel 9.0 Rapport de la sensibilit Feuille: [exempPL.xls]Exemple2 Cellules variables Finale Rduit Objectif Admissible Admissible Cellule Nom Valeur Cot Coefficient Augmentation Rduction $B$2 Quantit Produit A 37,5 0 300 200 85,71 $C$2 Quantit Produit B 75 0 250 100 64,92 $D$2 Quantit Produit C 0 -52,75 291 52,75 1E+30

    Pour les produits A et B, le cot rduit est gal 0, en effet ces produits sont effectivement fabriqus et s'imposer d'en fabriquer n'est pas une contrainte. Les valeurs "Admissible Augmentation" et "Admissible diminution" nous indique pour chaque produit sur quel intervalle le coefficient de la fonction conomique doit rester pour que la production ne soit pas modifier.

    Attention : On ne fait varier qu'un coefficient, les autres gardent la mme valeur. Pour le produit A, tant que sa contribution est comprise entre 214,29 (300-85,71) et 500 (300 + 200) (les autres contributions restant respectivement de 250 pour B et 290 pour C), la production optimale restera toujours de 37,5 A et 75 B ; mais la fonction conomique sera modifie en consquence.

    Pour le produit C, l'interprtation est thoriquement la mme, tant que sa contribution est infrieure 343,75 (291+52,75), il est inintressant produire. Une autre faon d'aboutir ce rsultat est obtenue avec le cot rduit : si on tait oblig de produire ce produit C, on perdrait 52,75 pour chaque unit produite, au moins pour les premires units, sa contribution minimum est donc gale sa contribution actuelle (291) + la perte lue ici (52,75) soit 343,75. On ne connat pas, par le listing, sur quelle quantit s'applique cette perte unitaire ; mais conomiquement, il est clair que si le nombre de produits fabriqus augmente, la mauvaise utilisation des ressources conduira une perte plus importante. De la mme manire on ne sait pas quelle quantit on serait conduit produire si la contribution du produit dpassait 343,75.

    9.4.2 Cas limite : problme solution multiple Introduisons cette fois ci la marge limite pour le produit C, c'est dire 343,75; nous obtenons alors le rapport de sensibilit suivant, pour la partie variable, la partie contrainte est reste la mme :

  • Page 29

    Cellules variables Finale Rduit Objectif Admissible Admissible Cellule Nom Valeur Cot Coefficient Augmentation Rduction $B$2 Quantit Produit A 37,50 0 300 200 0 $C$2 Quantit Produit B 75,00 0 250 100 0,00 $D$2 Quantit Produit C 0,00 0 343,75 0,00 1E+30

    Le produit C n'est toujours pas produit semble-t-il, mais comme le reduced cost est nul le fait de s'imposer d'en produire ne coterait rien, il existe donc des solutions optimales contenant des quantits non nulles du produit C. Ici ce n'est pas une variable de base qui vaut 0, les variables de base sont restes les mmes, mais c'est uniquement le reduced cost (ou pour une variable d'cart le shadow cost) associ une variable hors base qui est nul.

    On voit aussi sur ce listing que ds que l'une des deux premires marges diminue, la solution va changer, de mme si la marge du produit C augmente la solution changera ; dans tous les cas la nouvelle solution optimale consistera commencer la production du produit C. On pourra donc obtenir l'autre solution en modifiant lgrement l'un de ces prix par exemple en mettant 343,751 pour le produit C on obtient alors le listing suivant : Cellules variables Finale Rduit Objectif Admissible Admissible Cellule Nom Valeur Cot Coefficient Augmentation Rduction $B$2 Quantit Produit A 0 -0,002 300 0,002 1E+30 $C$2 Quantit Produit B 10,000 0 250 0,001 53,571 $D$2 Quantit Produit C 80,000 0 343,751 93,749 0,001

    L'autre solution correspond donc la production de 10 B et 80 C, on vrifie d'ailleurs que :

    300*37,5+75*250 = 10*250+343,75*80 = 30000

    En fait toute combinaison convexe entre les deux productions est solution optimale, c'est dire une production de la forme :

    [ ]1;0pout tout *808010*65*5,37

    80100

    )1(0

    0,755,37

    +=

    +

    =

    tt

    tt

    ttprodCprodBprodA

    par exemple pour t=0,2 on a une production de 7,5A, 23 B et 64 C qui conduit une marge totale de 7,5*300 + 23*250 + 64*343,75 = 30000, qui est bien la valeur optimale.

    Il se peut aussi que l'on ait une solution multiple qui ne joue que sur les quantits des mmes produits, et non pas sur l'introduction d'un produit la limite de la rentabilit, dans ce cas ce sera une variable d'cart (hors base) nulle qui aura un shadow price nul, il faudra viter de confondre ce cas avec le cas de dgnrescence voqu plus haut. Pour illustrer ce phnomne, en revenant au cas initial avec deux variables, mettons au minimum admissible le coefficient de B, c'est dire 250-100=150. Nous obtenons alors le rapport de sensibilit suivant :

  • Page 30

    Cellules variables Finale Rduit Objectif Admissible Admissible Cellule Nom Valeur Cot Coefficient Augmentation Rduction $B$2 Quantit Produit A 37,5 0 300 0,00 171,43 $C$2 Quantit Produit B 75 0 150 200,00 0,00 Contraintes Finale Ombre Contrainte Admissible Admissible Cellule Nom Valeur Cot droite Augmentation Rduction $E$7 Matire Premire M Utilis 1500 0,00 1500 600 360 $E$8 Matire Premire P Utilis 600 37,50 600 48 171,43 $E$9 Temps de Fabrication Utilis 187,5 0,00 210 1E+30 22,50

    La premire contrainte est sature (valeur finale=contrainte droite), mais son shadow cost est nul, donc si on dispose de moins de ressources la valeur de la fonction conomique ne changera pas; il existe donc une autre production (correspondant un autre sommet du simplexe) consommant moins de matire premire M (et donc plus de temps pour maintenir le nombre de variables de base et hors base) et conduisant la mme valeur de la fonction conomique. De faon prcise, on peut savoir que cette autre solution consommera exactement 360 units de moins de matire premire M. Pour obtenir cette nouvelle solution, il suffit comme prcdemment d'augmenter la marge du produit A ou de diminuer celle du produit B, puisque aucune variation des coefficients dans ce sens n'est accepte. On obtient alors le rsultat suivant, en mettant 149,99 comme valeur de marge pour le produit B : Cellules variables Finale Rduit Objectif Admissible Admissible Cellule Nom Valeur Cot Coefficient Augmentation Rduction $B$2 Quantit Produit A 60 0 300 149,97 0,02 $C$2 Quantit Produit B 30 0 149,99 0,01 49,99 Contraintes Finale Ombre Contrainte Admissible Admissible Cellule Nom Valeur Cot droite Augmentation Rduction $E$7 Matire Premire M Utilis 1140 0 1500 1E+30 360 $E$8 Matire Premire P Utilis 600 37,49 600 48 40 $E$9 Temps de Fabrication Utilis 210 0,02 210 15 22,5

    La production de 60A et 30B conduit la mme marge totale :

    60*300+30*150=37.5*300+75*150=22500

    Ici encore toute combinaison convexe des deux solutions est aussi optimale.

    Les logiciels spcialiss en Programmation linaires signalent les cas de solutions multiples, malheureusement Excel ne le fait pas.

    Ici aussi Excel peut arriver sur l'une quelconque des solutions extrmes.

  • Page 31

    9.5 Solution dgnre ou solutions multiples? Solution dgnre et solutions multiples se caractrisent par l'apparition pour une mme variable (naturelle ou d'cart ou de surplus) de valeurs nulles la fois pour la valeur de la variable et pour son shadow cost (ou reduced cost). Comment distinguer alors ces deux cas, si ce n'est pas fait par le logiciel.

    La premire diffrence vient de la nature de la variable :

    - Un problme admet une solution dgnre si une variable de base est nulle, tandis qu'un problme admet une solution multiple si le shadow cost associ une variable hors base est nul.

    Si une seule variable prsente la particularit d'tre nulle et d'avoir son shadow cost (ou reduced cost) nul aussi, il suffit alors de dterminer si cette variable est de base ou hors base. On sait que dans un problme contenant n variable naturelles et p contraintes, il y a p variables de base et donc n variables hors base ; il suffit alors de compter les variables de base non nulles pour dtecter la nature du problme.

    Cette dtection est plus dlicate si plusieurs variables prsentent cette particularit, surtout si le problme est la fois dgnr et solutions multiples, dans ce cas on peut faire les remarques suivantes :

    - Pour un cas de dgnrescence on a soit une variable naturelle nulle avec un reduced cost nul mais deux valeurs de variations admissibles strictement positives, soit une variable d'cart (ou de surplus) nulle ainsi que son shadow cost, mais dans ce cas l'une des variations admissibles nulle.

    - Pour un cas de solution multiple on a soit une variable naturelle nulle avec un reduced cost nul et une des deux valeurs de variation admissible nulle, soit une variable d'cart (ou de surplus) nulle ainsi que son shadow cost, mais dans ce cas les deux valeurs des variations admissibles sont positives strictement.

  • Programmation Linaire - Exercices

    Page 32

    EXERCICES DE PROGRAMMATION LINEAIRE

    10 Cooprative Une cooprative agricole disposant de 1 000ha. veut dfinir son plan annuel de production de crales. Le tableau suivant montre les besoins en irrigation et engrais par type de culture.

    Eau (m3/ha./an)

    Engrais (kgs/ha./an)

    Bl 1 000 200 Orge 2 000 100 Seigle 250 50

    Les profits annuels par ha pour le bl, l'orge et le seigle sont respectivement de 200, 100 et 40. On dispose de 160 tonnes d'engrais et de 1,6 millions de m3 d'eau par an.

    Questions 1) Formuler le problme dfinissant le nombre d'hectares de chaque crale cultiver de

    faon maximiser le profit.

    2) En comparant les ressources utilises, simplifier le problme autant que possible. En dduire la solution optimale

    3) Analyser le listing ci-dessous Cellule cible (Max) Cellule Nom Valeur initiale Valeur finale $B$4 Profit 0 160000 Cellules variables Cellule Nom Valeur initiale Valeur finale $B$2 Bl 0 800 $C$2 Orge 0 0 $D$2 Seigle 0 0 Contraintes Cellule Nom Valeur Formule tat Marge $E$8 Surface 800 $E$8

  • Programmation Linaire - Exercices

    Page 33

    Contraintes Finale Ombre Contrainte Admissible Admissible Cellule Nom Valeur Cot droite Augmentation Rduction $E$8 Surface 800 0 1000 1E+30 200 $E$9 Engrais 160000 1 160000 40000 160000 $E$10 Eau 800000 0 1600000 1E+30 800000

    11 Compagnie Minire Une compagnie minire possde deux puits diffrents P1 et P2, pour lextraction duranium. Les puits sont en deux lieux distincts et ne possdent pas la mme capacit de production. Le minerai duranium est dabord concass, puis analys et enfin rang dans lune des trois qualits U1, U2 ou U3, suivant sa teneur minerai riche, moyen ou pauvre.

    La demande du march pour les trois qualits est suprieure ce que lon peut extraire.

    La compagnie sest engage fournir une usine de sparation 12 tonnes de minerai U1, 8 tonnes de minerai U2 et 24 tonnes de minerai U3 par semaine.

    Lexploitation de P1 cote la compagnie 20 000 par jour et celle de P2 revient 16 000 par jour.

    En un jour dexploitation, le premier puits produit 6 tonnes de U1, 2 tonnes de U2 et 4 tonnes de U3 ; les chiffres pour le second puits sont respectivement de 2 tonnes, 2 tonnes et 12 tonnes.

    Combien de jours par semaine faut-il exploiter chaque mine pour que les engagements soient tenus le plus conomiquement possible? (ci dessous le rapport de sensibilit) Cellules variables

    Finale Rduit Objectif Admissible Admissible Cellule Nom Valeur Cot Coefficient Augmentation Rduction $B$2 Nbre jours P1 1 0 20 28 4 $C$2 Nbre jours P2 3 0 16 4 9,333333333

    Contraintes Finale Ombre Contrainte Admissible Admissible Cellule Nom Valeur Cot droite Augmentation Rduction $D$9 U1 Production 12 1 12 8 4 $D$10 U2 Production 8 7 8 4 2 $D$11 U3 Production 40 0 24 16 1E+30

    12 Compagnie du Bois La Compagnie du Bois veut utiliser au mieux les ressources en bois dune de ses proprits forestires.

    Dans cette rgion, il y a une scierie et une fabrique de contreplaqu ; le bois coup peut ainsi tre transform en bois de charpente ou en contreplaqu.

    Pour produire 100 m3 de bois de charpente, il faut 1.000 mtres de planches de sapin et 3.000 mtres de planches de htre (ces planches ayant une largeur et une paisseur fixes). Pour

  • Programmation Linaire - Exercices

    Page 34

    produire 1.000 mtres de planches de contreplaqu, il faut 2.000 mtres de planches de sapin et 4.000 mtres de planches de htre..

    La Compagnie du Bois peut couper par priode 32.000 m. de planches de sapin et 72.000 m. de planches de htre. Les contraintes de vente exigent quau moins 400 m3 de bois de charpente et 12.000 mtres de planches de contreplaqu soient produits pendant la priode.

    Le profit est de 400 pour 100 m3 de bois de charpente et de 600 pour 1.000 m de planches de contreplaqu.

    B sera le nombre de centaines de m3 de bois de charpente produits, C correspondant aux milliers de mtres de planches de contreplaqu.

    Questions

    1) Formuler le problme entant que modle de programmation linaire. 2) Rsoudre le problme graphiquement. 3) Analyser le listing ci-dessous. Cellules variables

    Finale Rduit Objectif Admissible Admissible Cellule Nom Valeur Cot Coefficient Augmentation Rduction $B$2 Quantit Charpente 8 0 400 50 100 $C$2 Quantit Contreplaqu 12 0 600 200 66,66666667

    Contraintes Finale Ombre Contrainte Admissible Admissible Cellule Nom Valeur Cot droite Augmentation Rduction $E$9 Sapin 32000 0,1 32000 2000 0 $E$10 Htre 72000 0,1 72000 0 4000 $E$11 Charpente 8 0 4 4 1E+30

    $E$12 Contreplaqu 12 0 12 0 1E+30

    13 Le Laboratoire Un laboratoire fabrique des rcepteurs haute performance. Il emploie quatre assembleurs et deux ingnieurs 40 heures par semaine le salaire est de 20 lheure pour un assembleur et 30 lheure pour un ingnieur. Chacun des six est prt faire jusqu 10 heures supplmentaires 50 % par semaine.

    Les cots fixes pour lentretien du laboratoire slvent 5.000 par semaine. Les cots variables pour lentretien et les madres premires sont de 5 /heure pour un assembleur et 10 /heure pour un ingnieur, le matriel utilis tant alors plus coteux.

    Le laboratoire vend des rcepteurs finis, 175 pice. Le march peut absorber toute la production. Le laboratoire vend aussi une compagnie spcialise des rcepteurs non finis, 130 pice le contrat est pour 100 rcepteurs minimum, mais la compagnie est prte en acheter jusqu 150.

    Pour construire un rcepteur non fini, il faut une heure dassembleur et 30 minutes dingnieur. Pour construire directement un rcepteur fini, il faut une heure et demie dassembleur et autant dingnieur.

  • Programmation Linaire - Exercices

    Page 35

    Comment le responsable du laboratoire devrait-il dfinir sa production et le programme de ses employs pour maximiser son profit?

    14 Le Campeur La socit Le Campeur vend des chaises de jardin, des bancs et des tables. Ces objets sont raliss l'aide de tubulures mtalliques qui doivent tre mises en forme (tordues selon la forme dsire, l'aide d'une machine) puis soudes (par un robot). Durant la priode prvue, on dispose d'une capacit de 1.000 minutes pour la mise en forme et de 1.200 pour la soudure.

    Une chaise requiert 1,2 minutes de mise en forme et 0,8 de soudure. Pour un banc, il n'y a pas de soudure et il faut 1,7 minutes de mise en forme. La table, quant elle, ncessite 1,2 minutes de mise en forme et de 2,3 de soudure.

    Pour le moment, le fournisseur de tube est en grve, et l'on peut seulement compter sur le stock, qui s'lve actuellement 2 000 kilos de tubes, achets 0,4 le kg. Il en faut 2 pour une chaise, 3 pour un banc et 4,5 pour une table.

    La contribution est de 3 pour une chaise, 3 pour un banc et 5 pour une table.

    Questions : 1) Formuler mathmatiquement le problme rsoudre. 2) A l'aide du listing ci-joint, indiquer la production optimale et la contribution. 3) Un distributeur local propose de livrer du tube supplmentaire 1 le kilo (pour une

    quantit pouvant aller jusqu' 500 kilos). Est-ce une bonne affaire ?

    4) On s'aperoit qu'un commercial a pris une commande ferme pour 10 bancs. Quelles seront les consquences si l'on dcide d'honorer cette commande ?

    5) Le dpartement R&D a conu une nouvelle faon de raliser le banc, avec 1,1 minutes de mise en forme, 2 de soudure et 2 kilos de tube. A partir de quelle contribution unitaire un tel produit serait-il intressant ?

    6) Un client est prt passer -pour un produit spcifique qui lui est destin- une commande qui exigerait de la mise en forme, et qu'il payerait 1,5 la minute. Il est prt commander ainsi jusqu' 8 heures de mise en forme. Que faut-il faire ?

    7) Qu'arriverait-il si la contribution pour les chaises diminuait 2,5 ? 8) Les bancs sont actuellement vendus 45 pice. Quelle augmentation doit on imposer

    pour qu'ils soient intressants produire ?

  • Programmation Linaire - Exercices

    Page 36

    Listing Excel Microsoft Excel 9.0 Rapport des rponses Feuille: [CAMP.XLS]Feuil2 Cellule cible (Max) Cellule Nom Valeur initiale Valeur finale $B$4 Marge 0 2766,666667 Cellules variables Cellule Nom Valeur initiale Valeur finale $B$2 Chaises 0 700 $C$2 Bancs 0 0 $D$2 Tables 0 133,3333333 Contraintes Cellule Nom Valeur Formule tat Marge $E$7 Mise en Forme 1000 $E$7

  • Programmation Linaire - Exercices

    Page 37

    15 Composition de portefeuille Un fond de pension veut placer 1 000 000 dans des actions, des obligations et des bons du trsor. On supposera que le risque du portefeuille est le risque moyen de ses composants, par exemple si lon place 1000 dans une action dont le risque est valu 10% et 3000 dans une obligation dont le risque est valu 5% le risque moyen est :

    (1000*10%+3000*5%)/4000=6,25%

    Les caractristiques des actifs envisags sont les suivantes : Actif Rentabilit moyenne Risque Action A 18% 15% Action B 15% 13% Obligation A 10% 5% Obligation B 8% 4% Bons du trsor 5% 0%

    De plus on a le fond de pension veut respecter les contraintes suivantes :

    La valeur totale investie en obligations et bons du trsor ne doit pas tre infrieure 500 000

    Le risque du portefeuille doit tre infrieur 10%

    La valeur investie en action A et obligation A doit tre infrieure dau moins 100 000 celle investie en action B et obligation B

    Questions : 1) Formaliser le problme de composition du portefeuille 2) Quelle est la composition optimale du portefeuille ? 3) Quel est son risque ? 4) Quelle est la rentabilit minimum que devraient avoir les obligations A pour quil y en ait

    dans le portefeuille ?

    5) La valeur minimum investie en obligations ou bons du trsor passe 550 000 quel sera limpact de cette nouvelle contrainte ?

    6) Un des gestionnaires du fond a dj plac 100000 en bons du trsor, quel est limpact de cette action ?

    7) On peut se procurer 100000 supplmentaires 14% ? Quelle sera leffet de lacceptation de ce prt sur la fonction conomique ?

  • Programmation Linaire - Exercices

    Page 38

    Listing Excel : Rapport des rponses Cellule cible (Max) Cellule Nom Valeur initiale Valeur finale $B$5 Rendement 0 128500 Cellules variables Cellule Nom Valeur initiale Valeur finale $B$3 Montant AA 0 450000 $C$3 Montant AB 0 50000 $D$3 Montant OA 0 0 $E$3 Montant OB 0 500000 $F$3 Montant BT 0 0 Contraintes Cellule Nom Valeur Formule tat Marge $G$10 Dif A B 100000 $G$10>=$H$10 Li 0 $G$11 Investi 1000000 $G$11

  • Programmation Linaire - Exercices

    Page 39

    16 Fixation de prix L'entreprise Toutenkit importe trois nouveaux composants C1, C2, C3 aux prix respectifs unitaires de 3, 5 et 6 $ (transport inclus).

    Ces composants peuvent tre inclus dans de nombreux produits finis, mais d'aprs le service Marketing, les produits leaders contenant ces composants et pouvant facilement tre assembls par des amateurs sont les produits PF1, PF2, PF3 et PF4.

    D'autre d'aprs l'exprience des vendeurs de Toutenkit, pour que le montage soit plus intressant que l'achat du produit tout mont, il faut que le prix d'achat (pour le client) des composants soit infrieur d'au moins 20% au prix du modle mont.

    Pour les 4 produits finis, on a obtenu les renseignements suivants : Produit Nombre

    de C1 Nombre de C2

    Nombre de C3

    Autres Composants

    Prix de vente

    PF1 2 1 80 $ 125 $ PF2 4 2 2 50 $ 125 $ PF3 4 6 90 $ 175 $ PF4 1 3 3 70 $ 150 $

    O la colonne "Nombre de C1", C2 ou C3 indique le nombre de composants C1, C2 ou C3 dans le produit fini donn, et la colonne "Autres composants" donne le prix d'achat des autres composants ncessaires la fabrication du modle. Enfin Prix de vente reprsente le prix de vente minimum observ sur le march pour le produit fini donn.

    Les ventes hebdomadaires espres par le service commercial sont de 2000 units pour C1, 1000 units pour C2 et 3000 units pour C3, ces ventes devraient rester stables sur le trimestre.

    Enfin le prix de vente d'un produit doit lgalement tre suprieur son cot (loi antidumping).

    1) Formaliser le problme de fixation de prix de l'entreprise Toutenkit, sachant qu'elle veut maximiser la marge globale dgage par les trois nouveaux composants.

    2) Utiliser Excel pour rsoudre le problme. Quels sont les prix que doit fixer l'entreprise pour les trois composants, quelle marge totale l'entreprise ralisera-t-elle ? Quels sont les produits finis dont l'entreprise Toutenkit doit particulirement surveiller l'volution ? La loi antidumping est-elle contraignante pour l'entreprise ?

    3) Lors du relev des prix minimums, il y a eu une erreur pour le prix de PF2, la valeur est 120 $ et non pas 125 $, cela a-t-il une influence sur la solution trouve prcdemment ?

    4) Quel serait l'effet sur la marge d'une rduction de 10 $ du prix minimum de PF4 ? 5) Si la loi antidumping tait abolie, quelle serait la nouvelle marge pour l'entreprise, et les

    nouveaux prix pratiqus pour les composants ?

  • Programmation Linaire - Exercices

    Page 40

    Listing Excel Microsoft Excel 8.0a Rapport des rponses Cellule cible (Max) Cellule Nom Valeur initiale Valeur finale $B$5 fe C1 0 34500 Cellules variables Cellule Nom Valeur initiale Valeur finale $B$2 C1 0 3,50 $C$2 C2 0 9,50 $D$2 C3 0 6 Contraintes Cellule Nom Valeur Formule tat Marge $F$7 PF1 96,5 $F$7

  • Programmation Linaire - Exercices

    Page 41

    17 La tannerie Landaise La tannerie Landaise est une unit de production indpendante situe dans la Rgion Landaise qui traite des peaux de mouton. Elle revend ensuite ses peaux dautres entreprises dans toute lEurope. Actuellement, 3 types de produits finis sont vendus sur le March:

    des Cuirs Souples du Box du Daim

    Les peaux passent par 3 ateliers :

    latelier de schage latelier de tannage latelier de teinture

    Les temps de production sont indiqus dans le tableau suivant :

    Cuir Souple Box Daim Schage 1h 2h 1h Teinture 2h 1h 3h Tannage 1h 1h 4h

    Latelier de Schage dispose de 50 personnes travaillant 40 heures par semaine ; ce personnel est mensualis. Le salaire horaire moyen est de 12 /H. Les cots variables de production (matires premires, entretien, etc..) sont de 40 /H.

    Latelier de Teinture dispose de lquivalent de 37,5 personnes travaillant 40 heures par semaine ; ce personnel est mensualis. Le salaire horaire moyen est de 12 /H. Les cots variables de production (matires premires, entretien, etc..) sont de 90 /H. Dautre part, la Tannerie Landaise peut sous-traiter une petite entreprise artisanale lquivalent de 800H de travail (au maximum) ; dans ce cas, elle paie 25 par heure sous-traite.

    Latelier de Tannage nutilise que des intrimaires qui sont en moyenne pays 28 /H et lentreprise peut disposer de 3000 Heures au maximum par semaine ; les cots variables de production (hors main duvre) sont denviron 32 /H.

    Enfin la position de lentreprise sur le march la conduit fabriquer moins de peaux en Daim que le total des peaux en Box ou en Cuir souple.

    Les prix de ventes unitaires des peaux sont respectivement de 400 pour le Cuir Souple, 390 pour le Box, 810 pour le Daim.

    Les cots fixes hebdomadaires sont de 50 000 environ.

    Questions : 1) Formaliser le problme. 2) Quels sont la production optimale, le chiffre daffaires correspondant et le profit de

    lentreprise. Les questions suivantes sont indpendantes les unes des autres :

  • Programmation Linaire - Exercices

    Page 42

    3) Les ouvriers de latelier de schage sont prts faire 500 H supplmentaires payes 50% de plus. Que doit faire lentreprise et quel en sera limpact sur la fonction conomique ?

    4) A quel prix devrait-on vendre la peau en Cuir souple pour quelle devienne rentable dans la structure de production actuelle ? Lentreprise dintrim qui fournit les ouvriers de latelier de tannage vous propose 1200 H supplmentaires pour un prix global de 40 000 . Evaluer limpact de lacceptation de cette proposition.

    5) Un nouveau type de peau utilise 2H de schage, 2H de teinture et 1H de tannage. A quel prix lentreprise doit-elle le vendre pour quil soit conomiquement comptitif avec les produits actuels ?

    6) Le prix du Box doit baisser de 10%. Quelle consquence cette baisse aura-t-elle sur la production et sur le profit de lentreprise ?

    18 L'entreprise ShareGift Lentreprise ShareGift a reu une commande dune association qui veut distribuer ses membres des portefeuilles, porte-cls ou porte-cartes en tissu enduit son logo. Le tissu enduit a t fourni par lassociation et on dispose de 78 m (soit 7800 dm) de tissu.

    Lassociation est prte acheter 3000 pices au maximum (toutes catgories confondues). Elle exige aussi la production de 200 parures formes dun portefeuille et dun porte-cartes.

    Pour fabriquer 1 portefeuille il faut 4 dm de tissu, 3 minutes de dcoupe et 2 minutes de couture.

    Pour 1 porte-cls, il faut 2 dm de tissu, 2 minutes de dcoupe et 1 minute de couture.

    Pour 1 porte-cartes, il faut 2 dm de tissu, 1 minute de dcoupe et 3 minutes de couture.

    Etant donns les dlais de livraison demands par lassociation, on ne pourra disposer que de 100H de dcoupe et 90 H de couture.

    Les cots variables de dcoupe sont de 240 F par heure, ceux de couture de 300 F par heure. Ces cot ne prennent pas en compte la main duvre qui est mensualise.

    Les prix de ventes pour chacun des produits sont :

    Prix de Vente Portefeuille 112 F Porte-cls 63 F Porte-cartes 49 F

    Questions : 1) Formaliser le problme en prenant comme variables le nombre de portefeuilles, de

    porte-cls et de porte-cartes fabriqus pour maximiser la marge

    Les questions suivantes sont indpendantes les unes des autres

    2) Lassociation demande une rduction de 5 F sur le prix du portefeuille. Quel sera limpact de cette rduction sur la production et la marge de lentreprise ?

  • Programmation Linaire - Exercices

    Page 43

    3) Une panne entrane une diminution de 10 H des heures disponibles pour la couture. Quel en sera limpact sur la marge ?

    4) 5 m de tissu ont t endommags pendant le transport. Quel sera limpact sur la marge ?

    5) Les ouvriers de latelier Dcoupe sont disposs faire des heures supplmentaires, quel prix maximum tes vous prt les payer et combien dheures leur demanderez-vous ?

    6) Quelles seraient les consquences si lassociation exigeait 300 parures au lieu de 200 ? 7) Le prix du porte-cartes vous semble-t-il bien fix, par rapport la structure de

    production actuelle ? Quel serait daprs vous le prix minimum de vente de cet objet ?

    8) Un ouvrier propose une nouvelle faon de fabriquer les porte-cls, qui demande 1,5 dm de tissu, 1 minute de dcoupe et 3 minutes de couture. Quel serait le prix minimum de vente pour que ce produit soit intressant produire dans la structure actuelle ?

    19 Mdia planning Une entreprise de jeux pour console veut lancer une campagne publicitaire sur un nouveau jeu, sa cible est constitue des jeunes de 10 15 ans, ventuellement de la tranche dage 15-25 ans. Elle envisage les mdias suivants :

    Nombre de contacts (en milliers/spot) Mdia Prix du spot 10-15 ans 15-25 ans 35-55 ans

    TV1 40 000 500 180 200 TV2 50 000 600 200 200 Radio1 15 000 100 50 10 Radio2 12 000 70 50 15

    Le budget prvu pour le mois venir est de 2 M, lentreprise veut limiter le nombre de spots tlviss diffuss sur la priode 25 au maximum.

    Elle souhaite que le nombre de contacts 10-15 ans soit au moins 3 fois suprieur ceux des contacts 35-55 ans.

    Il serait souhaitable aussi que le nombre de contacts 15-25 ans soit au moins de 8000000

    Enfin pour des raisons commerciales la diffrence entre les deux budgets radios ne doit pas excder 200 000

    20 La Socit Electromga La socit Electromga fait de limport de matriel lectronique. Elle met les produits (A, B et C) aux normes de scurit du march intrieur dans un atelier dlectronique et peint les diffrents produits. De plus elle a cr un nouveau produit (le produit D)qui est fabriqu partir des produits (finis et modifis) A et B(une unit de chaque produit A et B est incorpore dans chacune unit du produit D). Elle peut recevoir par mois jusqu 500 produits A, 1200 produits B et 200 produits C.

    Ces produits sont respectivement achets au prix de 400 , 350 et 500 lunit.

    Les consommations dans les diffrents ateliers sont les suivantes :

  • Programmation Linaire - Exercices

    Page 44

    Produit A Produit B Produit C Produit D Atelier Electronique 1H 1H 2H 1H Peinture 2H 1H 2H 2H

    Les cots variables de production hors main duvre sont respectivement de 250 par heure pour latelier Electronique et de 200 par heure pour latelier de peinture.

    Latelier dlectronique peut disposer de 2800 H pendant le mois. Les techniciens sont mensualiss et pays en moyenne 150 /H.

    Latelier de peinture peut disposer de 3000 H par mois et peut ventuellement employer des intrimaires pour lquivalent de 500 H au maximum. Le cot salarial moyen et de 80 pour les ouvriers qui sont mensualiss, pour les intrimaires le cot est de 150 par heure.

    Les prix de vente des produits sont respectivement de 1500 pour le produit A, 1500 pour le produit B, 2000 pour le produit C et 4000 pour le produit D. Les cots fixes mensuels sont de 500 000 .

    Questions : 1) Formaliser le problme en prenant comme variables d'action les quantits vendues des

    diffrents produits et le nombre d'heures d'intrim utilises. 2) Quelle est la solution optimale en terme de production et en terme de chiffre daffaires et

    de profit. Les questions suivantes sont indpendantes les unes des autres. 3) Les techniciens de latelier dlectronique proposent de faire 50H supplmentaires payes

    50% plus chres. Quel serait limpact de lacceptation sur la fonction conomique ? 4) Un autre importateur vous propose un lot de 600 produits B 400 000 . Que dcidez-

    vous? Quel serait limpact sur la fonction conomique. 5) On vous annonce que 40 des 200 produits C imports ont t endommags pendant le

    voyage et ne sont donc plus disponibles chez limportateur, quelle consquence cela aura-t-il sur la solution ?

    6) Le prix de vente du produit D peut passer (sans que cela ne gne les ventes) 4100 . Quelle sera la consquence de cette augmentation ?

    7) Un ingnieur propose de fabriquer un produit E contenant une unit de B, une unit de C et demandant 4H datelier lectronique et une demi-heure datelier peinture. Ce produit sil tait vendu moins de 5000 pourrait pntrer facilement le march. Quelle dcision conseillez-vous lentreprise?

  • Programmation dynamique

    Page 45

    PROGRAMMATION DYNAMIQUE

    Nous n'tudierons dans ce chapitre que le cas de la programmation dynamique dterministe et o l'ensemble des dcisions est fini.

    21 Un exemple Une entreprise doit fabriquer pour les trois semaines venir 6 units d'un produit donn. Le cot de production et stockage est des produits, suivant leur semaine de production, est donn dans le tableau suivant :

    Quantits fabriques Semaine 0 1 2 3 4 5 6 1 20 23 29 40 60 75 802 20 25 32 42 68 75 803 20 26 35 41 66 73 78

    Par exemple, si l'on ralise la production demande avec 1 unit en premire semaine et 5 units en troisime semaine le cot total sera alors de : 23 + 20 +73 = 116

    21.1 Analyse du problme Le systme S est constitu du dpartement production sur trois semaines. Il peut tre considrer comme constitu d'une suite croissante de systmes embots :

    S0=dpartement de production avant la premire semaine

    S1=dpartement de production la premire semaine

    S2=dpartement de production les deux premires semaines

    S3=S=dpartement de production sur les trois semaines

    Avec S0 S1 S2 S3=S, on dit que l'on a dcompos le problme en trois tapes. Les actions : il s'agit ici de dterminer les quantits produire chaque semaine. C'est donc une squence de trois dcisions (appele stratgie) ; chaque sous systme il est possible d'associer une sous squence de dcisions (appele sous stratgie).

    Les paramtres structurels sont : la quantit totale fabriquer, les cots de production. Les variables d'tat sont la quantit totale fabrique, le cot total de production. Remarquons que nous pouvons associer les mmes variables d'tat au diffrents sous systmes dfinis plus haut, c'est dire chaque tape.

    Les quations de fonctionnement du systme consistent crire qu' la fin de la troisime semaine il a t fabriqu 6 units du produit et que, chaque semaine, on fabrique une quantit positive ou nulle (on ne dtruit pas des units produites).

    La consquence privilgie est le cot total et le critre est le minimum.

    21.2 Mise en quation du problme Nous noterons x1 la quantit fabrique en semaine 1, x2 celle fabrique en semaine 2 et x3 la quantit fabrique en semaine 3.

    En notant g1(x), g2(x) et g3(x) les fonctions de cot donnes par le tableau, la formulation du problme est aise :

  • Programmation dynamique

    Page 46

    Minimiser F3(x1,x2,x3) = g1(x1) + g2(x2) +g3(x3)

    Sous les contraintes :

    x1 + x2 + x3 =6

    x1, x2, x3 >=0

    La variable d'tat x1 + x2 + x3, se transmet par les sous systmes S1, S2, la contrainte prenant alors la forme x1

  • Programmation dynamique

    Page 47

    On peur alors crire :

    ( )( ))2(2)1(1)3(3)3,2,1(362136321

    xgxgMaxxgMaxxxxfMaxxxxxxxx

    ++==+=++

    C'est dire qu'il n'est pas ncessaire de mmoriser tous les chemins qui conduisent de l'tat initial un tat donn du systme S2, mais seulement ceux qui correspondent au maximum de la fonction conomique restreinte S2. Ceci pourrait s'noncer de la faon suivante : "toute sous stratgie d'une stratgie optimale est optimale". Attention cela ne signifie pas que pour chaque tape il ne faut conserver que le meilleur tat (c.a.d. celui correspondant au cot minimum) mais qu'il suffit de conserver pour chaque tape et pour tous les tats de cette tape la sous stratgie conduisant au cot minimum. Ceci nous permettra de rduire chaque tape le nombre de "chemins explorer".

    Appliquons ce principe la rsolution du problme. Nous allons construire des tableaux concernant les diffrentes tapes, en mettant en ligne les tats de l'tape n et en colonne les tats de l'tape n+1, chaque case du tableau contenant la valeur de la fonction conomique pour l'tape n+1. La colonne la plus gauche du tableau contenant la valeur optimale de la fonction conomique l'tape n (pour chaque tat), la dernire ligne contenant la valeur optimale de la fonction conomique pour chacun des tats de l'tape n+1.

    Premire tape : passage du systme S0 au systme S1 Le seul tat possible pour S0 est 0, les tats possibles pour S1 sont les productions possibles en premire semaine soit (0,1,2,3,4,5,6).

    S1 Optimum S0 S0 0 1 2 3 4 5 6

    0 0 20 23 29 40 60 75 80 Optimum (S1) 20 23 29 40 60 75 80

    Deuxime tape : passage de S1 S2 Les tats possibles pour S2, correspondent aux productions cumules des semaines 1 et 2, et sont donc toutes les valeurs (0,1,2,3,4,5,6). Toutefois comme la production de la deuxime semaine ne peut tre ngative, seuls les tats (de S2) de valeur suprieure ou gale sont accessibles partir d'un tat du systme S1 ; c'est pour toute la partie sous la diagonale du tableau des valeurs de la fonction conomique est vide.

    S2 Optimum S1 S1 0 1 2 3 4 5 6

    20 0 40 45 52 62 88 95 100 23 1 43 48 55 65 91 98 29 2 49 54 61 71 97 40 3 60 65 72 82 60 4 80 85 92 75 5 95 100 80 6 100

    Optimum S2 40 43 48 54 61 71 82

    A ce stade les seuls "chemins" conservs sont ceux qui correspondent l'optimum de la fonction conomique pour chaque tat. C'est dire que le graphe, pour l'tape suivante est rduit :

  • Programmation dynamique

    Page 48

    Troisime tape : passage de S2 S3=S Les tats possibles pour le systme S3 se rsument au seul tat 6, puisque la quantit fabriquer sur les 3 semaines est fixe. On obtient donc le tableau final suivant :

    S3 Optimum S2 S2 6

    40 0 11843 1 11648 2 11454 3 9561 4 9671 5 9782 6 102

    Optimum S2 95

    Le chemin optimal est alors le suivant ("en remontant les tableaux") :

    S0

    0

    S1

    0

    1

    2

    3

    4

    5

    6

    6

    S2 S3

    0

    1

    2

    3

    4

    5

    6

  • Programmation dynamique

    Page 49

    La politique de production correspondante est : fabriquer 2 units en premire semaine, 1 unit en seconde semaine et 3 units en dernire semaine, pour un cot total de 95.

    Remarques :

    1. Dans la mesure o l'tat final tait aussi unique, on aurait pu procder de faon rtrograde, en partant de la dernire semaine, l'exercice est laiss au lecteur.

    2. Une exploration exhaustive de tous le chemins aurait conduit (7+6+5+4+3+2+1)*2 = 56 additions pour l'valuation des chemins et 28 comparaisons pour trouver l'optimum. L'algorithme que nous avons utilis ne demande que 28 additions et (28+6) comparaisons. soit un gain de 22 oprations. La rduction aurait t encore plus importante si le nombre d'tapes avait t plus grand.

    22 Formalisation l'aide de la programmation dynamique

    22.1 Caractristiques d'un problme de programme dynamique discret Pour qu'un problme puisse tre formalis en termes de programmation dynamique, il faut que l'on puisse dfinir des tapes c'est dire une suite croissante de sous systmes ; nous ne considrerons ici que le cas o cette suite est finie : S0 S1..Sn=S. A chaque tape i sont associes des dcisions qui concerne le passage du sous systme Si au sous systme Si+1. Nous supposerons ici que ces dcisions sont en nombre fini. Une nuplet compos d'une dcision pour chaque tape est appele une stratgie : (d1,d2,..,dn). Un sous-ensemble de dcisions conscutives est appel une sous stratgie (par exemple (d2,d3,d4)).

    A chaque tape sont associes des variables d'tat privilgies, dont l'ensemble des valeurs possibles est appel ensemble des tats du systme l'tape i. Nous supposerons aussi que ces valeurs sont en nombre fini. Les tats du systme S0 s'appellent les tats initiaux, ceux du systme Sn les tats finaux. Les tats du systme l'tape i, reprsentent les diffrentes consquences possibles de toutes les sous stratgies (d1,d2,..di).

    S0

    0

    S1

    0

    1

    2

    3

    4

    5

    6

    6

    S2 S3

    0

    1

    2

    3

    4

    5

    6

  • Programmation dynamique

    Page 50

    Un tat ei+1, de l'tape i+1, est dit accessible partir d'un tat ei, de l'tape i, s'il existe une dcision di permettant de passer de ei ei+1. Ce sont les contraintes de fonctionnement du systme qui dfinissent l'accessibilit d'un tat par rapport un autre.

    Enfin la fonction conomique est dfinie comme la somme des valeurs des dcisions d'une stratgie, cette fonction dpend donc des diffrents tats par lesquels passe la stratgie au cours des n tapes.

    22.2 Le principe de Bellman Nous raisonnerons ici dans le cas d'une maximisation.

    Notons di la dcision l'tape i, et ei l'tat atteint cette tape, la fonction conomique peut s'crire :

    ==

    =

    +=

    =

    =+==

    pi

    ii

    ni

    pii

    ni

    ii eidigeidigeidigeneednddf

    111),(),(),(),..2,1,,...2,1(

    ce qui revient simplement dcomposer les n tapes en deux sous-ensembles : les tapes 1 p et les tapes p+1 n.

    Pour un tat ep+1 fix, notons :

    ( ) )),()..2,2()1,1((1 21,2,1,,2,1

    max epdpgedgedgepf pepeedpdd

    p ++=+

    Il est alors clair, d'aprs l'additivit de la fonction conomique que :

    )),(..)1,1()1((),..,1,,..,1( 1,..,1,,..,1,2,1,,2,1

    maxmax endngepdpgepfenedndf nppenepdndpeneedndd

    ++++++= +++

    Ce qui revient dire que la sous stratgie menant de l'tat e1 l'tat ep+1 est optimale, ce qui s'nonce sous le nom de principe de Bellman :

    Toute sous stratgie d'une stratgie optimale est elle-mme optimale. On peut alors rsoudre le problme par rcurrence, pour chaque tat terminal de l'tape i, il suffit de dterminer les stratgies optimales conduisant cet tat, les autres stratgies sont sans intrt pour la suite de la rsolution.

    Pour dmarrer la rsolution on partira de l'ensemble des tats initiaux ou finaux le plus simple, c'est dire celui qui a le moins d'lments ; dans l'exemple trait plus haut ces deux ensembles n'avaient qu'un lment, il tait donc indiffrent de partir de l'un ou de l'autre.

    22.3 Mthode de rsolution Bien qu'il n'y ait pas de mthode gnrale permettant de rsoudre un programme dynamique, avec les restrictions que nous nous sommes imposes ( problme dterministe, nombre fini d'tape, de dcisions et d'tats chaque tape) il est souvent possible d'utiliser une prsentation identique celle que nous avons utilise lors de l'exemple.

    Pour chaque tape on construira donc un tableau rectangulaire ayant la prsentation suivante :

  • Programmation dynamique

    Page 51

    Etats de l'tape i+1 Valeurs optimales de l'tape i

    Etats de l'tape i E1,i+1 Ek,i+1

    V1,i E1,i

    Vj,i Ej,i

    Optima l'tape i+1

    Dans la cellule se trouvant l'intersection de la ligne de l'tat Ej,i (de l'tape i) et de la colonne de l'tat Ek,i+1 (de l'tape i+1) on indiquera la valeur de la fonction conomique pour atteindre l'tat Ek,i+1 en passant par l'tat Ej,i s'il existe une dcision di permettant ce passage, cette valeur est : Vj,i + gi(di) ; sinon on indique la non-accessibilit de l'tat.

    Dans la dernire ligne on dtermine pour chaque tat de l'tape i+1, la valeur optimale de la fonction conomique pour atteindre cet tat.

    La dernire tape permet de dterminer la valeur optimale de la fonction conomique, pour dterminer la stratgie correspondante, il suffit de "remonter" les tableaux, ce qui donne la suite des tats et d'en dduire les dcisions correspondantes. Remarque, il est aussi possible de rajouter au tableau une ligne mmorisant, chaque tape et pour chaque tat, la dcision optimale.

    23 Mise en place sous Excel Nous allons reprendre lexercice dintroduction et expliquer les formules utilises pour la rsolution de cet exemple sous Excel (fichier Stocks_Dyn.xls).

    Pour la deuxime tape, nous avons, des formules particulires pour les optima prcdents, qui viennent directement du tableau des donnes :

    Le tableau de donnes des cots a t nomm Couts , la colonne B contient les tats du systme S1 (la production de la premire semaine), la ligne 2 contient les tats du systme S2 (la production des deux premires semaines).

    Pour afficher le cot associ chaque tat de S1, chaque production de la premire semaine, il suffit daller lire dans le tableau de donnes llment de la premire ligne correspondant, ceci se fait avec index, lindice de la ligne est 1, celui de la colonne ltat+1, puisque ces tats commencent 0.

    Pour les cases de calcul transitoire, il faut tout dabord vrifier que ltat de S2 est accessible par ltat de S1, ce qui est fait avec la condition $B3

  • Programmation dynamique

    Page 52

    Il est enfin possible avec Excel de connatre pour chaque tat final, le chemin optimal, cest ce que nous allons faire en rajoutant deux lignes notre tableau :

    Pour trouver la production de la premire semaine, il suffit daller lire dans la colonne B llment qui se trouve sur la ligne du minimum de la colonne courante, cest ce que fait la fonction EQUIV (avec comme dernier argument 0, et comme premier argument le minimum), la fonction index retourne alors la valeur cherche.

    La production de la deuxime semaine est obtenue par simple diffrence entre la production des deux semaines et la production de la premire semaine.

    On retrouve alors les rsultats obtenus en 21.4 :

    Pour ltape suivante, signalons simplement les diffrences, la premire colonne du tableau est obtenue en lisant la valeur de loptimum prcdent, les formules internes au tableau sont les mmes, en changeant cependant la ligne du tableau de donnes (3 et non 2) :

    Pour les