Vous êtes sur la page 1sur 10

CORRIGE du TD N°2 : PROGRAMMATION LINEAIRE

EXERCICE 1 : corrigé

1) Résolution économique intuitive

Le profit obtenu par l’utilisation de la machine pendant une heure pour fabriquer :

- Des produits de type A1 est : 40 objets multiplié par 30 DH = 1 200 DH


- Des produits de type A2 est : 20 objets multiplié par 65 DH = 1 300 DH
- Des produits de type A3 est : 40 objets multiplié par 26 DH = 1 040 DH

Le classement par gain horaire décroissant donne les produits A2, suivi des produits
A1 et enfin les produits A3.

Il est donc plus intéressant de produire le maximum possible de produits A2, suivi du
maximum de produits A1 et enfin les produits A3.

Si on fabrique les 6 500 produits A2 qu’on peut écouler sur le marché, fabrication

nécessitant heures de travail machine, ce qui est faisable puisque la

machine est disponible 160 heures par mois, alors il nous restera 60 heures.

Si on réserve les 60 heures restantes à la fabrication de produits A1, on pourra alors


en fabriquer produits A1, quantité qu’on peut écouler puisqu’elle
est inférieure à la limite recommandée à savoir 6000.

Par conséquent, il ne restera plus d’heures pour faire des produits A3.

La production optimale à recommander est alors :

Ce qui rapportera :

2) Formulation algébrique du problème

Définissons d’abord les variables de décision avant de formuler l’objectif et les


contraintes du problème. Appelons respectivement les quantités à fabriquer
chaque mois d’articles A1, A2 et A3. Ces variables ne peuvent prendre des valeurs
négatives bien entendu. La fabrication mensuelle doit respecter les contraintes
suivantes :

Le marché ne peut absorber plus de 6000 objets A1, ni plus de 6500 objets A2, ni
plus de 2000 objets A3, soit les inéquations : .

D’autre part, la machine n’est disponible que 160 heures par mois pour la fabrication
des objets A1, A2 et A3 sachant qu’il faut pour fabriquer un objet A1,

pour fabriquer un objet A2 et pour fabriquer un objet A3. La

fabrication de objets A1, objets A2 et objets A3 nécessitera

heures qui ne doit pas dépasser les 160 heures disponibles, soit la contrainte :

L’objectif ici est de rendre maximum le bénéfice total sachant qu’un objet A1
rapporte net 30 DH, un objet A2 20 DH et 40 DH pour un objet A3. La fabrication de
objets A1, objets A2 et objets A3rapportera net : . C’est
l’expression de la fonction économique du problème qu’il faut maximiser.

D’où la formulation algébrique du problème en un programme linéaire :

[ ]

Sous les contraintes

On peut toujours réécrire la contrainte (4) et éviter les calculs avec des fractions. Soit
le programme linéaire équivalent :

[ ]

Sous les contraintes


{

3) Résolution avec la méthode de simplexe

Ecrivons d’abord la forme standard du programme linéaire en introduisant des


variables d’écart au niveau des inéquations.

[ ]

Sous les contraintes

Une solution de base initiale réalisable consiste à annuler les variables de décision
et à substituer les seconds membres des contraintes aux variable d’écart
ce qui donne une valeur nulle à l’objectif .

D’où le premier tableau simplexe :

x y z e1 e2 e3 e4

e1 1 0 0 1 0 0 0 6 000

e2 0 1 0 0 1 0 0 6 500

e3 0 0 1 0 0 1 0 2 000

e4 13 8 20 0 0 0 0 83 200

Z 30 20 40 0 0 0 0 0

Selon le critère de Dantzig, la variable entrante est celle de plus grand coefficient
dans la ligne Z, soit ici la variable z de coefficient 40, mais d’après la question (1) on
a vu que c’est l’objet A2 qui est le plus intéressant à fabriquer en premier, par
conséquent, il est plus judicieux ici de faire entrer la variable correspondante, soit la
variable y de coefficient 20.

La variable sortante est alors la variable e2 de plus petit rapport :

L’intersection de la colonne de la variable entrante et de la ligne de la variable


sortante est appelée le pivot, ici c’est le nombre 1.

Ce nombre pivot sert à transformer le tableau en un nouveau tableau correspondant à


une solution améliorante.

Cette transformation se fait selon les étapes suivantes :

- Si le nombre pivot est différent de un, on divise toute la ligne par ce nombre ;
- On transforme la colonne du pivot en une colonne unitaire par des opérations
élémentaires suivant les lignes.

D’où le deuxième tableau :

x y z e1 e2 e3 e4

e1 1 0 0 1 0 0 0 6 000

y 0 1 0 0 1 0 0 6 500

e3 0 0 1 0 0 1 0 2 000

e4 13 0 20 0 -8 0 1 31 200

Z 30 0 40 0 -20 0 0 - 130 000

Toujours en utilisant la question 1, la nouvelle variable entrante à sélectionner est la


variable bien que de coefficient 30 inférieur à celui de la variable

La nouvelle variable sortante est alors la variable e4 de rapport plus

petit que l’autre rapport : . Le nombre pivot est alors 13 et donc il faut
diviser toute la ligne par ce nombre 13 avant de transformer le tableau. Le tableau
résultant est alors :

x y z e1 e2 e3 e4

e1 1 0 0 1 0 0 0 6 000

y 0 1 0 0 1 0 0 6 500

e3 0 0 1 0 0 1 0 2 000

x 1 0 0 0 2 400

Z 0 0 -6,15 0 -1,54 0 0 - 202 000

Tous les coefficients de la ligne Z sont négatifs ou nuls, une solution optimale est
trouvée. Il s’agit de :

Cette solution a bien été obtenue en deux itérations simplexe, construction de deux
tableaux seulement à partir du tableau de la solution de base de départ. On l’aurait
obtenu en trois itérations si on avait omis d’utiliser la question (1).

4) Résolution avec le solveur du tableur Excel

On construit le modèle sur tableur de manière similaire aux exercices précédents. La


plage B5:D5 contient les valeurs des variables de décision. La plage B8:D11 contient
la matrice des coefficients des équations des contraintes. Les premiers membres des
inéquations sont calculés dans la plage E8:E11. Les valeurs des seconds membres
sont entrées dans la plage G8:G11. Les coefficients de la fonction économique sont
dans la plage B14:D14 et la valeur de cette fonction est calculée en cellule E14.

On fait ensuite appel au solveur en spécifiant tous les paramètres comme dans
l’exercice précédent et on obtient la solution optimale présentée dans la figure 2.2.
Figure 2.1 : Paramètres du solveur

Figure 2.2

EXERCICE 2 : corrigé

1) Formulation mathématique du problème Duralumin

Appelons respectivement le nombre de lots de pièces de type A, le nombre de


lots de pièces de type B et celui de lots de pièces de type C. Ce sont les variables de
décision du problème. Les contraintes portent sur le temps nécessaire aux machines
pour fabriquer les lots de pièces et qui est limité à 120 heures par mois et par
machine. Sachant qu’on dispose de deux machines de découpe, d’une emboutisseuse
et de deux polisseuses, les contraintes s’expriment respectivement :

Découpe :
Emboutissage :

Polissage :

L’objectif ici est de maximiser le résultat net mensuel qui est égal aux ventes moins
les coûts.

Pour ce qui est des coûts, ils sont de deux types : un coût de la matière première
(inox) utilisée et un coût des heures de travail des machines.

D’où

L’expression du bénéfice total est alors :

Après simplification, on obtient :

C’est l’expression de la fonction économique Z du problème.

D’où la formulation algébrique du problème en un programme linéaire :

[ ]

Sous les contraintes

{
2) Résolution du problème Duralumin

L’écriture sous forme standard du programme précédent est :


[ ]

Sous les contraintes

Une solution de base initiale réalisable consiste à annuler les variables de décision
et à substituer les seconds membres des contraintes aux variable d’écart
ce qui donne la valeur 0 à la fonction économique .

D’où le premier tableau simplexe :

x y z e1 e2 e3

e1 1 1 0 0 240

e2 0 1 0 1 0 120

e3 2 1 1 0 0 1 240

Z 35 45 42 0 0 0 0

Selon le critère de Dantzig, la variable entrante est celle de plus grand coefficient
dans la ligne Z, soit ici la variable de coefficient 45.

La variable sortante est alors la variable e1 de plus petit rapport :

L’intersection de la colonne de la variable entrante et de la ligne de la variable


sortante est appelée le pivot, ici c’est le nombre . D’où le nouveau tableau de la
nouvelle solution améliorante :
x y z e1 e2 e3

y 1 1 0 0 160

e2 0 1 0 1 0 120

e3 0 0 0 1 80

Z 5 0 -3 -30 0 0 -7 200

La nouvelle variable entrante à sélectionner est la variable x de coefficient positif 5.

La nouvelle variable sortante est alors la variable e3 de rapport plus petit

que les autres rapports : . Le nombre pivot est alors et

donc il faut diviser la ligne du pivot par ce nombre avant de transformer ce deuxième
tableau. Le tableau résultant est alors :

x y z e1 e2 e3

y 0 1 1 1 0 120

e2 0 0 1 1 90

x 1 0 0 0 60

Z 0 0 -3 -27,5 0 -3,75 -7 500

Tous les coefficients de la ligne Z sont négatifs ou nuls, une solution optimale est
trouvée. Il s’agit de :

{
Le programme de production mensuel optimal à conseiller à l’entreprise Duralumin
est de fabriquer 60 lots de pièces de type A, 120 lots de pièces de type B et aucun lot
de pièces de type C pour un bénéfice net maximal de 7 500 DH.

La valeur 90 de la variable d’écart e2 associée à la deuxième contrainte (usage de


l’emboutisseuse) signifie que l’on utilisera cette machine que 120 – 90 = 30 heures
pour fabriquer le programme optimal.

3) Résolution du cas Duralumin avec le solveur du tableur Excel

On transcrit le modèle sur Excel de manière similaire aux exercices précédents. La


plage B5:D5 contient les valeurs des variables de décision. La plage B8:D10 contient
la matrice des coefficients des équations des contraintes. Les premiers membres des
inéquations sont calculés dans la plage E8:E10. Les valeurs des seconds membres
sont entrées dans la plage G8:G10. Les coefficients de la fonction économique sont
dans la plage B13:D13 et la valeur de cette fonction est calculée en cellule E13.

On fait ensuite appel au solveur en spécifiant tous les paramètres comme dans
l’exercice précédent et on obtient la solution optimale présentée dans la figure 2.3.

Figure 2.3 : Problème Duralumin