Mathématiques Entreprise
Mathématiques Entreprise
Mathématiques Entreprise
Contenu de la matière :
Elle vise à sélectionner parmi différentes actions celle qui atteindra le plus probablement
l'objectif visé.
Robert DORFMAN et Paul Samuelson, ajoutent que la programmation linéaire est une
méthode de détermination du meilleur plan d'action pour réaliser des objectifs donnés dans
une situation où les ressources sont limitées.
C'est donc une méthode de résolution du problème économique, soit dans le cadre d'une
économie globale, soit dans celui du secteur public, soit dans une entreprise particulière.
Dans ce chapitre, notre approche pour résoudre de tels problèmes passera par deux étapes
principales :
Résoudre le programme linéaire consiste à déterminer les n-uplets (X1, X2, . . . , Xn) qui
optimisent Z (maximisent ou minimisent) Z ou à montrer que de tels n-uplets n’existent pas.
On se donne les définitions suivantes :
– On appelle solution réalisable tout n-uplet (X1, X2, . . . , Xn) vérifiant le système
d’inéquations précèdent.
– On appelle solution optimale toute solution réalisable qui optimise Z.
– On appelle fonction objectif la forme linéaire F(X) = Z = C1 X1+ C2 X2 +. . .+ Cn Xn
– L’ensemble des solutions réalisables du programme linéaire P est appelé domaine des
solutions réalisables. Lorsque ce domaine est non vide, on dit que P est réalisable.
Chapitre 2 : La modélisation mathématique d’un programme linéaire
La formalisation d’un programme est une tâche délicate mais essentielle car elle conditionne
la découverte ultérieure de la bonne solution. Elle comporte les mêmes phases quelles que
soient les techniques requises ultérieurement pour le traitement (programmation linéaire ou
programmation non linéaire) :
Il s’agit de traduire les préférences du décideur exprimées sous la forme d’une fonction des
variables identifiées.
III. La formulation des contraintes. Il est bien rare qu’un responsable dispose de toute
liberté d’action. Le plus souvent il existe des limites à ne pas dépasser qui revêtent la forme
d’équations ou d’inéquations mathématiques. Le responsable d’une décision ne dispose que
de sa compétence pour réaliser une formalisation correcte du problème posé car il n’existe pas
de méthode en la matière.
Ainsi, les problèmes de la programmation linéaire se posent lorsque l'on cherche à rendre
optimale (minimum ou maximum) une fonction linéaire de plusieurs variables, ces variables
étant assujetties à des contraintes linéaires, c'est à dire, du premier degré. Soulignons à ce
propos, qu'une contrainte est linéaire, lorsqu'elle s'exprime par une égalité ou inégalité dont le
premier membre est une combinaison linéaire et le second, un nombre réel
X1 ≥ 0 , X2 ≥ 0 ,……………….., Xn ≥ 0
Notations :
Z : La fonction objectif
Cj : Les coefficients des variables dans la fonction économique. Ce sont les contributions
unitaires de chaque variable au niveau de la fonction économique.
aij : Les coefficients des variables dans les contraintes (i varie de 1 à k et j varie de 1 à n). Ce
sont les coefficients techniques, c‘est le nombre d‘unités requises de la ressource i pour
réaliser une unité d‘activité j
bi : Les coefficients du second membre des contraintes. Ce sont les ressources disponibles.
Terminologie :
Fonction économique : C‘est la fonction linéaire que nous voulons optimiser. Elle peut être
maximisée ou minimisée selon le cas.
Solution optimale : Toute solution qui rend optimale (maximale ou minimale) la fonction
économique est appelée solution optimale ou programme linéaire.
Une entreprise fabrique deux produits P1 et P2 qui passent dans 3 ateliers différents : usinage,
assemblage, finition.
Le temps nécessaire pour chaque unité produite de P1 ou P2 au sein des différents ateliers est
:
P1 P2
Usinage 1h 2h
Assemblage 3h 4h
Finition 2h 6h
Produit Bénéfice
(Dinars/unité)
P1 6
P2 7
En supposant qu‘il n‘existe aucune restriction sur le marché c‘est à dire qu‘il peut absorber
toute la production, quelle quantité de chaque produit doit fabriquer l‘entreprise pour
maximiser son bénéfice ?
Modélisation du problème :
Les variables
La fonction économique
Max F(X) = Max Z = 6 X + 7 Y où Z est le bénéfice total en unités monétaires.
Les contraintes :
X>0;Y>0
Pour résoudre ce problème il faut chercher les valeurs de X et Y qui répondent aux contraintes
tout en maximisant (optimisant) la fonction économique.
Exemples 2 :
L’intendant d’un lycée doit composer un menu qui doit contenir un minimum d’éléments
nutritifs et qui doit être le moins coûteux possible. On se limite à une situation simple, deux
denrées alimentaires principales D1, D2 et trois éléments nutritifs, les vitamines V, les
calories C et les protéines P. Le tableau suivant indique le nombre d’éléments nutritifs par
unité d’aliment :
V C P
D1 1 1 3
D2 5 2 2
Le modèle mathématique :
X1 + 5 X2 ≥ 5
X1 + 2 X2 ≥ 4
3 X1+ X2 ≥ 6
X1 ≥ 0, X2 ≥ 0
Le programme linéaire
X1+ 5 X2 ≥ 5
X1+ 2 X2 ≥ 4
3 X1+X2 ≥ 6
X1 ≥ 0, X2 ≥ 0
Chapitre 3 : La résolution graphique (géométrique)
Résoudre un programme linéaire consiste à déterminer les valeurs des variables qui
permettent d’optimiser la fonction économique.
Il existe diverses techniques de résolution parmi lesquelles la méthode graphique se montre à
l’évidence la plus rapide et la plus simple mais aussi la plus limitée, car dès lors que le
nombre de variables ou de contraintes dépasse 2, elle devient impraticable. Ainsi, La méthode
graphique permet la résolution de problèmes linéaires simples de manière intuitive et visuelle.
Les étapes du processus de résolution de problèmes par la méthode des Graphes sont les
suivantes:
Maximiser Z = f(x,y) = 3x + 2y
sous les contraintes: 2x + y ≤ 18
2x + 3y ≤ 42
3x + y ≤ 24
x≥0,y≥0
5. Puisqu'il y a une région réalisable, on détermine les points dans l'extrémité, ou les
sommets du polygone. Ces sommets sont les points candidats à solutions optimales.
Dans cet exemple ils sont les points O-F-H-G-C de la figure.
6. Finalement, on évalue la fonction objectif (3x + 2y) dans chacun des points (résultat
qu'on recueilli dans le tableau suivant). Comme le point G fournit la plus grande
valeur à la fonction Z et l'objectif c'est de maximiser, ce point représente la solution
optimale: Z = 33 avec x = 3 et y = 12.
La méthode du Simplexe est une procédure itérative qui permet d'améliorer la résolution
de la fonction objectif à chaque étape. Le processus se termine lorsque vous ne pouvez pas
continuer à améliorer la valeur, c'est-à-dire, on a atteint la solution optimale (la valeur la
plus élevée ou la plus basse possible, selon le cas).
La forme standard du modèle de problème consiste d'une fonction objectif sous des
contraintes déterminées:
Cependant, il est possible de normaliser l'objectif du problème afin de toujours appliquer les
mêmes critères par rapport à la condition d'arrêt de l'algorithme et les conditions d'entrée et
sortie des variables de la base. De cette façon, si l'objectif est de minimiser la solution, on
peut changer le problème à un autre équivalent de maximisation, simplement en multipliant la
fonction objectif par "-1". Autrement dit, le problème de minimiser Z est équivalent au
problème de maximisation (-1)·Z. Une fois la solution obtenue, il faudra aussi la multiplier
par (-1).
Avantages: Pas besoin de s'inquiéter par des nouveaux critères d'arrêt, de condition d'entrée
ou de sortie de base puisqu'ils ne changent pas.
Inconvénients: Dans le cas où la fonction a tous les coefficients de ses variables basiques
positifs, et en plus les contraintes sont du type d'inégalité "≤", si on effectue le changement de
ces coefficients ils restent négatifs en accomplissant la condition d'arrêt dans la première
itération (conformément à la ligne de la valeur de la fonction objectif, toutes les valeurs sont
positives ou zéro). Obtenant dans ce cas par défaut, une valeur optimale pour la fonction égale
à zéro.
Solution: Ce problème n'existe pas vraiment, étant donné que pour que la solution soit
supérieur à zéro, il est nécessaire qu'une contrainte ait imposé la condition " ≥" (et il serait un
modèle pour la méthode des Deux Phases). Dans le cas en question, la vraie solution doit être
zéro.
III. Inscrire le changement des termes indépendants
On dit aussi que les termes indépendants (bi) de chaque équation doivent être non négatifs
afin d'utiliser la méthode du Simplexe. A cette fin, si certaines des contraintes présentent un
terme indépendant plus bas que 0 il faudra la multiplier par "-1" (en tenant compte du fait que
cette opération affecte également au type de contrainte).
Avantages: Avec cette simple modification de signes dans les contraintes correspondantes on
facilite l'application de la méthode du Simplexe au problème de la modélisation.
Inconvénients: On peut trouver que dans les contraintes où on doit modifier les signes des
constantes, les types d'inégalités sont "≤" (après l'opération, ils resteront du type "≥"), donc il
sera nécessaire de développer la méthode des Deux Phases. Cet inconvénient n'est pas
maîtrisable, mais autrement il pourrait se produire dans le cas contraire et d'être bénéfique si
les termes indépendants sont négatives dans toutes les contraintes d'inégalité de type "≥". S'il
y a des contraintes du type "=" ils n'entraînent pas des avantages ou désavantages car il serait
toujours nécessaire d'appliquer la méthode des Deux Phases.
Une autre condition du modèle standard du problème est que toutes les contraintes sont des
équations d'égalité (autrement dites, contraintes d'égalité), il faudra changer les contraintes
d'inégalité ou les inéquations en ces identités mathématiques.
La condition de non-négativité des variables (x1, ..., xn ≥ 0) est la seule exception et reste
identique.
Pour normaliser une contrainte d'inégalité du type " ≤", on ajoute une nouvelle variable,
appelée variable d'écart Xs (sur la condition de non-négativité: Xs ≥ 0). Cette nouvelle
variable apparaît avec un coefficient zéro dans la fonction objectif, et en ajoutant dans
l'équation correspondante (qui va maintenant être une identité mathématique ou une équation
d'égalité).
Lors de la première itération de la méthode du Simplexe, les variables de base ne seront pas à
la base et deviendront zéro. Dans ce cas, la nouvelle variable Xs, après convertir à zéro x1 et
x2, prendra la valeur -b1 et ne accomplira pas la condition de non-négativité. On doit ajouter
un autre variable xr, appelée variable artificielle, qui apparaîtra aussi avec un coefficient zéro
dans la fonction objectif et en ajoutant dans la contrainte correspondante. Comme suit:
Contrairement à ce qu'on pourrait penser, pour les contraintes de type "=" (malgré d'être des
identités) on a également besoin d'ajouter des variables artificielles xr. Comme dans le cas
précédent, le coefficient sera zéro dans la fonction objectif et on l’ajoutera dans la contrainte
correspondante.
Dans ce dernier cas, il est clair que les variables artificielles sont en violation des lois de
l'algèbre, de sorte qu'il sera nécessaire d'assurer que ces variables artificielles ont une valeur
de 0 dans la solution finale. Ceci est accompli par la méthode des Deux Phases et donc on
devra toujours le faire chaque fois qu'on a ce genre de variables.
Le tableau suivant résume le type de variable qui apparaît dans l'équation normalisée et son
signe selon les inégalités:
Forme d'inégalité Forme de la nouvelle variable
≥ - excès + artificielle
= + artificielle
≤ + écart
Les colonnes du tableau sont disposés comme suit: la première colonne du tableau
contient les variables qui sont dans la base (ou variables basiques), c'est-à-dire, celles
qui prennent la valeur pour offrir une solution, la deuxième colonne énumère les
coefficients que ces variables de base ont dans la fonction objectif (cette colonne est
appelé Cb), la troisième représente le terme indépendant de chaque contrainte (P0) ; à
partir de cella, une colonne apparaît pour chacune des variables de décision et d'écart
présentes dans la fonction objectif (Pj). Pour obtenir une vue plus claire du tableau, on
ajoute une ligne qui contient les titres de chacune des colonnes.
Sur ce tableau, on ajoute deux nouvelles lignes: une d'elles, qui est à la tête du tableau,
où les coefficients des variables de la fonction objectif se montrent, et une dernière
ligne qui contient la valeur de la fonction objectif et les coûts réduits Zj - Cj.
Les coûts réduits montrent la possibilité d'une amélioration sur la solution Z0. C'est
pourquoi sont aussi appelés des valeurs indicatrices.
Tableau
C1 C2 ... Cn
Base Cb P0 P1 P2 ... Pn
P1 Cb1 b1 a11 a12 ... a1n
P2 Cb2 b2 a21 a22 ... a2n
... ... ... ... ... ... ...
Pm Cbm bm am1 am2 ... amn
Z Z0 Z1-C1 Z2-C2 ... Zn-Cn
Toutes les valeurs du tableau sont fournies par le modèle du problème à moins que les
valeurs de la ligne Z (ou ligne indicatrice). Elles sont obtenues comme suit:
Pour la même raison, il n'est pas nécessaire d'effectuer les calculs de la réduction des
coûts dans le premier tableau, et il peut être directement déterminée comme le
changement de signe des coefficients de chaque variable dans la fonction objectif, -Cj.
b. Condition d'arrêt
Si la condition d'arrêt n'est pas accomplie, il est nécessaire d'effectuer encore une
itération de l'algorithme, c'est- à-dire, la détermination de la variable qui devient
basique et cesse de l'être, de trouver l'élément pivot, de mettre à jour les valeurs du
tableau et de vérifier si la condition d'arrêt s'accomplie cette fois.
Lorsqu'une variable devient basique, c'est-à-dire, elle entre en base, elle devient à faire
partie de la solution. Notant la réduction des coûts dans la ligne Z, on décide que la
variable de la colonne dans laquelle il s'agit de la valeur la plus faible (ou la valeur
absolue la plus élevée) parmi les valeurs négatives entre en base.
d. Choix de la variable qui sort de base
Une fois la variable entrante est déterminée, on détermine que la variable sortante de
base est située dans la ligne dont le quotient P0/Pj est le plus petit des strictement
positifs (étant donné que cette opération se fera uniquement lorsque Pj est supérieur à
0).
e. élément pivot
L'élément pivot du tableau est marqué par l'intersection entre la colonne de la variable
entrante et la ligne de la variable sortante.
Dans la ligne d'élément pivot de chaque nouvel élément est calculée en tant que:
De cette façon, on atteint que tous les éléments de la colonne de la variable entrante
sont nuls sauf celui de la ligne de la variable sortante dont la valeur est 1. (Ceci est
analogue à utiliser la méthode de Gauss-Jordan pour la résolution des systèmes
d'équations linéaires).
VI. La méthode de la base artificielle
Lorsqu’on n’a pas une matrice unitaire on recourt à la méthode de la base artificielle et ce on
ajoutant une nouvelle variable positive Xn+i ≥ 0 à toutes les équations des contraintes
structurelles.
Ces variables sont appelées variables artificielles. Elles n’ont pas de signification économique
puisqu’elles désignent une activité irréelle. Suite à cette opération le modèle mathématique
sera comme suit :
Xj ≥ 0 j=1, n+m et bi ≥ 0 i = 1, m
Pour éviter l’apparition de variables irréelles dans la solution optimale on applique ce qui
suit :
Donc on a :
MIN F(X) = 2 X1 + 3 X2
-2X1 + 3 X2 = 3
4X1 + 5 X2 ≥ 10
X1 + 2 X2 ≤ 5
X1, X2 ≥ 0
La forme standard :
MIN F(X) = 2 X1 + 3 X2 + 0 X3 + 0 X4
-2X1 + 3 X2 = 3
4X1 + 5 X2 - X3 = 10
X1 + 2 X2 + X4 = 5
X1, X2,…X4 ≥ 0
Puisqu’il n’y a pas de matrice unitaire on ajoute les variables artificielles suivantes :
MIN F(X) = 2 X1 + 3 X2 + 0 X3 + 0 X4 + M R5 + M R6
-2X1 + 3 X2 + R5 = 3
4X1 + 5 X2 - X3 + R6 = 10
X1 + 2 X2 + X4 = 5
+M est une valeur positive très grande qui sanctionne les variables artificielle R5 et R6.
Base Cb X0 X1 X2 X3 X4 R1 R2 ᶿ= X0/X2
R1 M 3 -2 3 0 0 1 0 1
R2 M 10 4 5 -1 0 0 1 2
X4 0 5 1 2 0 1 0 0 5/2
Fj 13M 2M 8M -M 0 M M
Fj - Cj (22M-12)/3 0 -M 0 (3-8M)/3 0
MAX F(X) = 63/11 um, X1=15/22 unités, X2= 16/11 unités et X4 = 31/22 unités.
VII. La méthode des deux phases
A·X1 + B·X2 = Z0. Grâce à une nouvelle itération et en faisant que la variable de
décision ayant 0 dans la ligne Z entre en base, une solution différente est obtenue pour la
même valeur optimale.
Exemple 1:
Maximiser Z = F(x,y) = 3x + 2y
2x + 3y ≤ 42
3x + y ≤ 24
x≥0,y≥0
Etant positives les termes indépendants de toutes les contraintes il ne faut rien faire. Dans le
cas contraire, il faudrait multiplier par "-1" dans les deux côtés de l'inéquation (en tenant
compte que cette opération affecte aussi au type de contrainte).
≥ - excès + artificielle
= + artificielle
≤ + écart
Dans ce cas, on introduit une variable d'écart (X3, X4, X5) dans chacune des contraintes de
la forme ≤, pour les transformer en égalités, avec ce résultat en équations linéaires:
2·X1 + X2 + X3 = 18
2·X1 + 3·X2 + X4 = 42
3·X1 + X2 + X5 = 24
Le tableau initial de la méthode du Simplexe est composé par tous les coefficients des
variables de décision du problème original et les variables d'écart, excès et artificielles
ajoutées dans la deuxième étape (dans les colonnes, étant P0 le terme indépendant et le reste
de variables Pi sont les mêmes que Xi), et les contraintes (dans les lignes). La colonne Cb a
les coefficients des variables qu'on trouve dans la base.
La première ligne se compose des coefficients de la fonction objective, alors que la dernière
ligne possède la valeur la fonction objective et les coûts réduits Fj - Cj.
Cj 3 2 0 0 0
Base Cb X0 X1 X2 X3 X4 X5
X3 0 18 2 1 1 0 0
X4 0 42 2 3 0 1 0
X5 0 24 3 1 0 0 1
Fj 0 0 0 0 0 0
Tableau I . 1ère Itération
Fj - Cj -3 -2 0 0 0
Condition d'arrêt.
Si l'objectif est la maximisation, quand dans la dernière ligne (ligne indicatrice) n'existe
aucune valeur négative parmi les coûts réduits (colonnes P1 en avance), on obtient la
condition d'arrêt.
Dans ce cas, on attend la fin de l'algorithme puisqu'on ne peut pas l'améliorer. La valeur de Z
(colonne P0) est la solution optimale du problème.
Un autre cas possible, c'est que dans la colonne de la variable qui rentre en base toutes les
valeurs sont négatives ou nuls. Indicative que le problème ne se trouve pas délimité et sa
solution peut toujours être amélioré. Face à cette situation il n'est pas nécessaire de continuer
réitérant indéfiniment et aussi on peut mettre fin à l'algorithme.
Lorsque cette condition n'est pas remplie, on exécute les processus suivants itérativement.
D'abord, on établit la variable qui rentre en base. A cet effet, on choisit la colonne dont sa
valeur dans la ligne Fj - Cj est la plus basse entre tous les négatifs. Dans ce cas, cela serait la
variable X1 (P1) de coefficient -3.
S'il y aurait deux ou plus de coefficients pareils qui satisfont aux conditions précédentes (en
cas d'égalité), on choisira la variable de base.
Une fois obtenue la variable entrante en base, on détermine quelle sera la variable sortante.
On prend la décision sur la base d'un simple calcul : diviser chaque terme indépendant
(colonne P0) entre l'élément correspondant de la colonne-pivot, à condition que les deux
éléments soient strictement positifs (supérieures à zéro). On opte par la ligne dont le résultat
est minimal.
S'il y aurait un élément plus bas ou égal à zéro on n'effectue pas ce quotient. Lorsque tous les
éléments de la colonne-pivot sont de cette condition on aurait accompli la condition d'arrêt et
le problème aurait une solution sans partie bornée (voir la théorie de la méthode du
Simplexe).
Le terme de la colonne-pivot qui avait entraîné le plus petit quotient positif dans la division
précédente indique la ligne de la variable d'écart qui sort de base. Dans ce cas, il se révèle X5
(P5), de coefficient 3. Cette ligne s'appelle ligne pivot.
L'intersection de la ligne pivot et la colonne pivot fait ressortir l'élément pivot, dans ce cas
le 3.
Actualiser le tableau.
Dans la ligne d'élément pivot de chaque nouvel élément est calculée en tant que:
Nouvel élément ligne = Élément ancienne ligne - (Élément ancienne ligne en colonne
pivot * Nouvel élément ligne pivot)
Ainsi on normalise l'élément pivot et sa valeur devient 1, alors que le reste d'éléments de la
colonne pivot s'annulent (analogue à la méthode de Gauss-Jordan).
Ancienne ligne X4 42 2 3 0 1 0
3 2 0 0 0
Base Cb X0 X1 X2 X3 X4 X5
X3 0 2 0 1/3 1 0 -2/3
X4 0 26 0 7/3 0 1 -2/3
X1 3 8 1 1/3 0 0 1/3
Fj 24 3 1 0 0 1
Fj - Cj 0 -1 0 0 1
Après vérification de la condition d'arrêt, on s'aperçoit que parmi les éléments de la dernière
ligne existe un numéro négatif, -1. On répète l'itération et on refait les processus précédents.
3 2 0 0 0
Base Cb X0 X1 X2 X3 X4 X5
X2 2 6 0 1 3 0 -2
X4 0 12 0 0 -7 1 4
X1 3 6 1 0 -1 0 1
Fj 30 3 2 3 0 -1
Tableau III . 3ème Itération
Fj - Cj 0 0 3 0 -1
Parmi les éléments de la ligne correspondante à Z, il y a encore un élément négatif, -1. Cela
veut dire qu'on n'a pas obtenu la solution optimale et qu'on doit continuer à itérer :
3 2 0 0 0
Base Cb X0 X1 X2 X3 X4 X5
X2 2 12 0 1 -1/2 1/2 0
X5 0 3 0 0 -7/4 1/4 1
X1 3 3 1 0 3/4 -1/4 0
Fj 33 3 2 5/4 1/4 0
Fj - Cj 0 0 5/4 1/4 0
Fin de l'algorithme.
On découvre que dans la dernière ligne tous les coefficients sont positifs. On a accompli alors
la condition d'arrêt.
La solution optimale est due à la valeur de Z dans la colonne des termes indépendants (P0),
dans cet exemple: 33. Dans la même colonne, on peut avertir le point où on atteint, examinant
les lignes correspondants aux variables de décision qui ont rentré en base: X1 = 3 y X2 = 12.
Exemple 2
80 160 20 0 0
ᶿ=
Base Cb X0 X1 X2 X3 X4 X5 X0 /
X2
X4 0 20 2 1 1 1 0 20
X5 0 60 2 2 2 0 1 30
Fj 0 0 0 0 0 0
X2 160 20 2 1 1 1 0
X5 0 20 -2 0 0 -2 1
Fj 3200 320 160 160 160 0
I. Définition
Supposons qu’un agriculteur (client) voudrait acheter la totalité de nos ressources disponibles.
Notre agriculteur acceptera certainement cette proposition si le prix offert par ce client lui
procure le même profit.
Pour notre agriculteur un hectare de terrain d’eau, une heure de travail et un hectare de
permission du bureau est équivalent à un revenu de 100 um.
Tandis que, un hectare de terrain, d’eau et 4 heures de travail lui engendrent un revenu de
200 um.
Il n’est prêt à vendre ses ressources que si lui rapporte un revenu supérieur
ou égale à 100 um et que si lui rapporte un revenu supérieur ou égal à 200 um.
Y1 Y2 Y3 Y4 R1 R2
150 440 480 90 0 0
480 y3 100/3 0 -2/3 1 -1/3 1/3 1/3
150 y1 200/3 1 14/3 0 4/3 -4/3 1/3
150 380 480 40 -40 -110
Wj-Cj 0 60 0 50 40 110
Avec L1 et L2, les variables d’écart à la 1ère et la 2ème contrainte du programme dual.
On remarque que la solution optimale du dual peut être déduite du primal de la manière
suivante :
y1 = 200/3 ↔ C3 - z3 = - 200/3
y2 = 0 ↔ C2 - z4 = 0
y3 = 100/3 ↔ C5 - z5 = - 100/3
y4 = 0 ↔ C6 - z6 = 0
L1 = 0 ↔ C1 - z1 = 0
L2 = 0 ↔ C2 - z2 = 0
C 1 - z 1 = 0 ↔ S1 = 0
C2- z2= 60 ↔ S2 = 60
C 3 - z 3 = 0 ↔ S3 = 0
C4 - z4= 50 ↔ S4 = 50
C5 - z5= 40 ↔ x1 = 40
w = 26000 ↔ z = 260000
xj = 0 ⇒ Cj - zj < 0 Li = | Cj - zj | ≠ 0 ⇒ Cj - zj = 0
xj > 0 ⇒ Cj - zj = 0 Li = 0 ⇒ Cj - zj = xj
variables d’écart Variables de décision
Sj = 0 ⇒ C j - z j ≠ 0 yi = | Ci - zj | ≠ 0 ⇒ Cj - zj = 0
Sj > 0 ⇒ C j - z j = 0 yi = 0 et Cj – zj = Sj
On remarque aussi qu’à l’optimum la valeur de la fonction objectif du dual est égale à la
valeur de la fonction objectif du primal.
i ème contrainte de type " ≤ " i ème variable de type " ≥ 0 "
i ème contrainte de type " ≥ " i ème variable de type " ≤ 0 "
i ème contrainte de type " = " i ème variable qcq " ∈ IR "
Nombre de variables Nombre de contraintes
j ème variable qcq " ∈ IR " i ème contrainte de type " = "
Exemple 2
Primal Dual
S.c x1 + x2 ≤ 3 S.c y1 - y2 + y3 ≥ ½
- x1 + x2 ≤ 1 y1 + y2 ≥ 1
x1 ≤ 2 y1 ≥ 0, y2 ≥ 0, y3 ≥ 0
x1 ≥ 0, x2 ≥ 0
Min - x1 + x2 Max 2y1 - 2y2 + 5y3
- x1 + 2x2 ≥ -2 - y1 + 2y2 + y3 ≤ 1
x1 + x2 ≤ 5 y1 ≥ 0, y2 ≥ 0, y3 ≤ 0
x1 ≥ 0, x2 ≥ 0
Max 2x1 - x2 Min 3 y1+ 4 y2
2x1 ≤ 4 - y1 ≥ -1
x1 ≥ 0, x2 ≥ 0 y1∈ IR, y2 ≥ 0
Max 2x1 - x2 Min - 2y1 + 6y2 - 5y3
x1 + x2 = 6 - 2y1 + y2+ y3 = -1
x2 ≤ 5 y1 ≥ 0, y2 ∈ IR, y3 ≥ 0
Exemple 3
Le Primal
X1 +X2 ≥ 3
X1 + X3 ≥ 4
3X2 ≥1
X1, X2, X3 ≥ 0
Le Dual
MAX G(Y) = 3 Y1 + 4 Y2 + Y3
Y1 + Y2 ≤ 2
Y1 + 3 Y3 ≤ 6
Y2 ≤1
Y1, Y2, Y3 ≥ 0
Modèle standard
MAX G(Y) = 3 Y1 + 4 Y2 + Y3 + 0 Y4 + 0 Y5 + 0 Y6
Y1 + Y2 + Y4 = 2
Y1 + 3 Y3 + Y5 = 6
Y2 + Y6 = 1
Tableaux d’itération
Cj 3 4 1 0 0 0
Base Cb Y0 Y1 Y2 Y3 Y4 Y5 Y6 ᶿ = Y0/Y2
Y4 0 2 1 1 0 1 0 0 2
Y5 0 6 1 0 3 0 1 0 /
Y6 0 1 0 1 0 0 0 1 1
Gj 0 0 0 0 0 0 0
Gj - Cj -3 -4 -1 0 0 0 ᶿ = Y0/Y1
Y4 0 1 1 0 0 1 0 -1 1
Y5 0 6 1 0 3 0 1 0 6
Y2 4 1 0 1 0 0 0 1 /
Gj 4 0 4 0 0 0 4
Gj - Cj -3 0 -1 0 0 4 ᶿ = Y0/Y3
Y1 3 1 1 0 0 1 0 -1 /
Y5 0 5 0 0 3 -1 1 1 5/3
Y2 4 1 0 1 0 0 0 1 /
Gj 7 3 4 0 3 0 1
Gj - Cj 0 0 -1 3 0 1
Y1 3 1 1 0 0 1 0 -1
Y2 4 1 0 1 0 0 0 1
La solution optimale :
MAX G(Y) = 26/3 um désigne le profit maximal réalisé avec les quantités de produits
suivants :
Y1 = Y2 = 1 unité
Y 3 = 5/3 unités
Chapitre 6 : Les problèmes de transport
Les problèmes de transport constituent l’un des volets importants dans la prise de décision
liée à l’acheminement des marchandises à partir des dépôts vers les points de vente dans
l’objectif de satisfaire les besoins à moindre coûts.
On recherche, pour chaque couple (i,j), la quantité (positive) xij à transporter du dépôt Xi au
point de vente Dj.
D1 D2 D3 ……….. Dm Offre
S1 C11 C12 C13 ……….. C1m b1
S2 C21 C22 C23 ………… C2m b2
S3 C31 C32 C33 ………… C3m b3
.. .. .. .. …………. .. ..
Sn Cn1 Cn2 Cn3 …………. Cnm bn
Demande a1 a2 a3 ………… am
Ces méthodes nous donnent une solution primaire de base au problème de transport.
Il s’agit d’une méthode très simple pour résoudre les problèmes de transport mais ne nous
permet pas d’aboutir à la solution optimale dans la plupart des cas. L’exemple suivant nous
montre le principe de cette méthode.
Exemple
D1 D2 D3 Offre
S1 5 1 8 12
S2 2 4 0 14
S3 3 6 7 4
Demande 9 10 11 Offre =
Demande = 30
Dans le tableau ci-dessus nous avons le coût de transport en unité monétaire (les cases
internes en gras du tableau), les quantités demandées par les trois points de vente D1, D2 et
D3 ( la dernière ligne du tableau) ainsi que les quantités offertes par les trois centre de
production S1, S2 et S3 (la dernière colonne du tableau). On doit déterminer le coût total de
transport des marchandises vers les points de vente en utilisant la méthode de l’angle nord-
ouest.
Avant d’appliquer cette méthode nous devons vérifier si la condition d’équilibre entre l’offre
et la demande est bien vérifiée. C’est le cas dans notre exemple.
12 + 14 + 4 = 9 + 10 +11 = 30.
Pour commencer nous devons prendre la première case au niveau de la première ligne et
première colonne du tableau soit située dans le côté nord-ouest. Il s’agit de la case (S1, D1) et
on compare la quantité demandée par le point de vente D1 avec la quantité disponible au
niveau du centre de production S1 et on affecte la moindre quantité à la case (S1, D1) ; c’est-
à-dire Min (S1, D1) = Min (12, 9) = 9
Donc on va satisfaire complètement les besoins du point de vente D1 et on pourra barrer les
cases restantes dans la première colonne (on lui affecte la valeur 0).
N’oublions pas d’équilibrer la quantité de l’offre avec la quantité de la demande après chaque
opération d’affectation effectuée. On continue à appliquer le même principe au niveau de la
case (S1, D2). Min (S1, D2) = Min (3, 10) = 3
D1 D2 D3 Offre
S1 5 9 1 3 8 0 12
S2 2 0 4 7 0 7 14
S3 3 0 6 0 7 4 4
Demande 9 0 10 0 11 0 Offre =
Demande 30
Ainsi, le coût total de transport est calculé comme suit :
Remarquons que coût minimal qui apparaît dans le tableau est égal à 0 ce qui correspond à
la case (S2, D3) donc min (14, 11) = 11. On équilibre les quantités offerte et demandées.
Par la suite on recherche le coût minimal parmi les cases restantes. Il s’agit de la case (S1,
D2) = Min (12, 10) = 10
Ensuite le coût minimal suivant correspond à la case (S2, D1) = Min (3, 9) = 3
D1 D2 D3 Offre
S1 5 2 1 10 8 0 12
S2 2 3 4 0 0 11 14
S3 3 4 6 0 7 0 4
Demande 9 6 2 0 10 0 11 0 Offre =
Demande 30
- On calcul l’écart entre les coûts minimal au niveau de chaque ligne et chaque colonne
et les mentionner sur les côtés du tableau de transport.
- Déterminer la ligne ou la colonne qui détient le plus grand écart de coût.
- Choisir la cellule qui détient le coût minimal au niveau de cette ligne ou colonne.
- Dans la cellule choisie on compare les besoins du point de vente avec ce qui est
disponible au niveau du centre de production pour choisir la valeur minimale.
- On recommence le calcul des écarts au niveau des lignes et colonnes et on poursuit les
mêmes étapes citées précédemment jusqu’à satisfaction des besoins au niveau de tous
les points de vente à partir des centres de production.
- Dans le cas où il y a égalité entre les écarts au niveau des lignes et colonnes on prend
le second écart et on barre la valeur minimale dans la ligne et la colonne et on prend
l’écart qui suit.
L’ensemble de calculs effectués on suivant ces différentes étapes est présenté dans les
tableaux suivants.
D1 D2 D3 Offre
S1 5 2 1 10 8 0 12
S2 2 3 4 0 0 11 14
S3 3 4 6 0 7 0 4
Demande 9 10 11 30
SOLUTION SUJET A
Exercice n°1 : 10 pts
Le modèle PRIMAL 6 pts
1- Signification des variables :
X1 : la quantité à produire du produit P1 0,5 pt
X2 : la quantité à produire du produit P2 0,5 pt
X3 : la quantité à produire du produit P3 0,5 pt
2- La fonction d’objectif : Max F(X) = 75 X1 + 55 X2 + 25 X3 1,5 pts
3- Les contraintes :
R1 : 9 X1 + 7 X2 + 3 X3 ≤ 0 1 pt
R2 : 12 X1 + 5 X2 + 2 X3 ≤ 0 1 pt
X1, X2, X3 ≥ 0 1 pt
Le modèle DUAL
Min G(Y) = 120 Y1 + 170 Y2 1 pt
Les contraintes :
9 Y1 + 12 Y2 ≥ 75 0,25 pt
7 Y1 + 5 Y2 ≥ 55 0,25 pt
3 Y1 + 2 Y2 ≥ 25 0,25 pt
Y1 , Y2 ≥ 0 0,25 pt
Interprétation économique du DUAL 2 pts
Y1 : le coût ou le prix d’une unité de la ressource R1 0,25 pt
Y2 : le coût ou le prix d’une unité de la ressource R2 0,25 pt
G(Y) : le coût total d’utilisation des ressources R1 et R2 pour la production de P1,
P2 et P3. 0,5 pt
L’objectif est la minimisation des coûts sous les contraintes suivantes : 0,25 pt
1ère contrainte : le coût d’une unité de P1 ne doit pas être inférieur au bénéfice unitaire de P1
0,25 pt
2ème contrainte : le coût d’une unité de P2 ne doit pas être inférieur au bénéfice unitaire de P2
0,25 pt
3ème contrainte : le coût d’une unité de P3 ne doit pas être inférieur au bénéfice unitaire de P3
0,25 pt
Exercice n° 2 : 10 pts
Le modèle standard
Max F(X) = 30 X1 + 70 X2 + 10 X3 + 0 X4 + 0 X5 1 pt
2 X1 + 2 X2 + X3 + X4 = 80 0,75 pt
2 X1 + X2 + 2 X3 + X5 = 30 0,75 pt
X1 ,…..X5 ≥ 0 0,5 pt
La méthode du SIMPLEXE
30 70 10 0 0
ᶿ=
Base Cb X0 X1 X2 X3 X4 X5 X0 /
X2
X4 0 80 2 2 1 1 0 40
X5 0 30 2 1 2 0 1 30
Fj 0 0 0 0 0 0
X4 0 20 -2 0 -3 1 -2
X2 70 30 2 1 2 0 1
Fj - Cj 110 0 130 0 70