Vous êtes sur la page 1sur 114

Université des Sciences et de la Technologie d’Oran

Faculté de Génie Mécanique

Cours de recherche opérationnelle

Prof. M. Bouchetara
 Recherche Opérationnelle (RO) :

- Discipline récente (environ 60-70 ans) et comportant de


nombreux aspects différents
- A la frontière entre informatique, économie et
mathématiques appliquées
- Définition :
« La Recherche Opérationnelle (RO) est la discipline des méthodes
scientifiques utilisables pour élaborer de meilleures décisions. Elle
permet de rationaliser, de simuler et d'optimiser l'architecture et le
fonctionnement des systèmes de production ou d'organisation. »
Origines de la RO

• De nombreux problèmes historiques, parfois très anciens, peuvent


être modélisés, puis résolus, comme des problèmes de RO :
• Carrés magiques (Chine antique)
• Les 7 ponts de Konigsberg (L. Euler, vers 1750)
• Problème des 8 reines (F. Nauck, vers 1850)
• Problème du voyageur de commerce (vers 1850)
• Problème des 4 couleurs (19e)
Histoire récente de la RO
• Origines militaires de la RO
- Objectif : optimisation de la logistique militaire et
du réapprovisionnement des troupes
• Création par le gouvernement britannique du
« Committee for Opérations Research » au début de la
seconde guerre mondiale
• G. Dantzig, « conseiller scientifique » à la U.S. Air
Force, met au point en 1947 l'algorithme du simplexe
- Nécessite de puissants centres de calcul
- A l'origine, le mot opérationnelle signifie donc en vue de programmer
des opérations (militaires)
• R de RO = recherche de solutions concrètes
• Depuis, le domaine de la RO s'est étendu à des applications « civiles »,
en particulier grâce à :
- L'essor des connaissances dans le domaine
- L'amélioration de la puissance de calcul des CPU

• D'autres aspects possibles de la prise de décision ont alors été introduits:


- Le décideur doit tenir compte de plusieurs critères

- Toutes les données ne sont pas connues de façon certaine, et comportent donc
une part d'incertitude
RO, modèles et décision
• La RO permet de meilleures décisions
- Outils : modèles formels/mathématiques, permettant de représenter le cadre général
de la décision à prendre
- Points essentiels :
• Le modèle doit être établi en liaison avec le décideur final, et tous les aspects
nécessaires à la prise de décision doivent être présents dans ce modèle .
• Les variables du modèle doivent donc refléter la décision à prendre : résoudre
le problème ainsi modélisé (c'est-à-dire affecter les bonnes valeurs aux variables
du modèle) permet alors immédiatement d'en déduire la décision associée
- Variables = quelle décision doit-on prendre (solution à trouver)?
- Critère(s)/préférence(s) = dans quel(s) but(s)/avec quel(s) objectif(s)?
- Contraintes = les conditions impératives que doit vérifier la décision
La RO en pratique
 Résolution de problèmes de décision complexes
- Problèmes de grandes tailles

- Aspects combinatoire, multicritère, stochastique...

 Plusieurs sous-domaines identifiables :

- Programmation mathématique

- Optimisation combinatoire

- Aide à la décision

- Optimisation stochastique (aspect aléatoire)


 Sert à résoudre tous types de problèmes difficiles (issus de l'industrie ou de la
finance) :
- Problèmes de télécoms : conception, exploitation, fiabilité, routage

- Problèmes de transport

- Production et transport d'énergie

- Planification de projets/plannings

- Ingénierie financière, composition optimale de portefeuilles d'actions (banques... )


 Démarche « classique » de résolution de tels problèmes par un utilisateur de
la RO
- Modéliser le problème sous une forme exploitable
• Cette phase de modélisation préalable est indispensable, et sa bonne
réalisation est donc critique
- Appliquer la ou les méthodes de résolution disponibles, selon la forme du
modèle
• Beaucoup sont implémentées dans des « solveurs » (logiciels de
résolution), commerciaux ou non, et peuvent donc être intégrées à une
autre application
• La recherche en RO s'attache à améliorer les méthodes de résolution
Objectifs du cours
 Exposer les principales techniques associés à deux domaines :

- Programmation linéaire (= Optimisation linéaire)

- Optimisation combinatoire (OC)


 Deux aspects en particulier seront abordés

- Apprendre à modéliser un problème

- Connaître les techniques adaptées à la résolution de ces problèmes


Objectifs du cours

• La phase de résolution pouvant être confiée à des solveurs,


pourquoi étudier les méthodes de résolution dans ce cours ?
• parce que c'est dans le programme du cours, et qu'il faut bien le faire
• parce que c'est inutile en pratique, et qu'il est donc indispensable de le
voir en cours
• car les idées sur lesquelles sont basées ces méthodes permettent de
mieux comprendre certaines particularités de ces problèmes, et d'en
fournir une autre interprétation
Plan du cours
• Programmation linéaire (PL)
- Définitions

- Modélisation

• Mise sous forme standard, linéarisation

- Résolution graphique
- Algorithme du simplexe :

• Description à l'aide de dictionnaires


• Dégénérescences et cyclage
• Initialisation (méthode des 2 phases)
• Simplexe et enveloppes convexes
- Dualité
Programmation Linéaire

Partie I:

Le modèle de la Programmation Linéaire et sa résolution


graphique
La programmation linéaire (PL)

• La PL est un des domaines de la RO :


- Origines militaires de la PL : G. Dantzig, conseiller scientifique à la U.S. Air Force,
met au point la méthode du simplexe pour résoudre des PL en 1947

- Le terme « programmation » fait ici référence à l'« organisation » d'opérations


militaires et à leur « planification » (et non au sens informatique usuel)

- Aussi appelé Optimisation linéaire, car on optimise une fonction linéaire sous des
contraintes linéaires

- Cas particulier de la programmation mathématique (fonction à optimiser et contraintes


quelconques)
La programmation linéaire (PL)

• PL = technique de résolution de problèmes :


Modélisation par un Programme Linéaire (PL) :
Permet de capturer de nombreux problèmes concrets.

Résolution par des algorithmes efficaces en théorie et/ou en pratique


• Plus efficaces que des algorithmes génériques de Prog. Math.,
• Par ex. : algorithme du simplexe, points intérieurs, ellipsoïdes, etc.

Solveurs rapides maintenant disponibles, basés sur ces algorithmes


• Par exemple : CPLEX, LPSolve, Xpress, Excell...
Formulation d’un programme linéaire (PL)

1. Introduction

L’importance de l’optimisation et la nécessité d’un outil simple pour modéliser des


problèmes de décision que soit militaire , économique ou autres ont fait de la
programmation linéaire un des champs de recherche les plus actifs au milieu du siècle
précédent. Les premiers travaux (1947) sont celle de George B. Dantzig et ses associés du
département des forces de l’air des Etats Unis d’Amérique.

Les problèmes de programmation linéaire sont généralement liés à des problèmes


d’allocations de ressources limitées avec pour but de maximiser un profit ou de minimiser
un coût.
Formulation d’un programme linéaire (PL)

2. Conditions de formulation d’un PL

Les conditions de formulation d’un programme linéaire sont :

1. Les variables de décision du problème sont positives


2. Le critère de sélection de la meilleure décision est décrit par une fonction
linéaire de ces variables. La fonction qui représente le critère de sélection
est dite fonction objectif (ou fonction économique).
3. Les restrictions relatives aux variables de décision (exemple: limitations
des ressources) peuvent être exprimées par un ensemble d’équations
linéaires. Ces équations forment l’ensemble des contraintes.
4. Les paramètres du problème en dehors des variables de décisions ont une
valeur connue avec certitude
Formulation d’un programme linéaire (PL)

3. Etapes de formulation d’un PL

Il y a trois étapes à suivre pour construire le modèle d'un programme linéaire :

1. Identification des variables du problème à valeur non connues (dites


variables de décision ou principales) et leurs représentations sous forme
symbolique (par exemple x1, y1).
2. Identification des restrictions (les contraintes) du problème et leurs
formulations par un système d’équations linéaires.
3. Identification de l’objectif ou du critère de sélection et sa représentation
sous forme linéaire en fonction des variables de décision. On spécifiera
ensuite si le critère de sélection est à maximiser ou à minimiser.
Formulation d’un programme linéaire (PL)

4. Présentation Théorique
Un programme linéaire consiste à trouver le maximum ou le minimum d’une forme linéaire dite
fonction objectif en satisfaisant certaines équations et inéquations dites contraintes. La description
mathématique d’un programme linéaire est la suivante :
Soient n variables de décision x1, x2,…, xn,, l’hypothèse que les variables de décision sont positives
implique que
x1 ≥ 0, x2 ≥ 0, , xn ≥ 0
La fonction objectif est une forme linéaire en fonction des variables de décision de type :

z = c1 x1 + c2 x2 +  + ci xi + ... + cn xn
où les coefficients c1,…,cn doivent avoir une valeur bien déterminée et peuvent être positifs, négatifs
ou nuls. Par exemple le coefficient ci peut représenter un profit unitaire lié à la production d’une unité
supplémentaire du bien xi , ainsi la valeur de z sera le profit total lié à la production des différents biens
en quantités égales à x , x ,  , x .
1 2 n
Formulation d’un programme linéaire (PL)

Supposons que ces variables de décision doivent vérifier un système d’équations linéaires
définis par m équations ou inégalités

a11 x1 + a12 x2 +  + a1n xn ( ≤, = , ≥ ) b1


a21 x1 + a22 x2 +  + a2 n xn (≤ , = , ≥ ) b2

am1 x1 + am 2 x2 +  + amn xn (≤ , = , ≥ ) bm

où les coefficients a1m,…, amn et b1,…, bm doivent avoir une valeur bien déterminée et
peuvent être positifs, négatifs ou nuls.
Le paramètre bj représente par exemple la quantité de matière première disponible dont le
bien xi utilise une quantité égale à aij xi..
Formulation d’un programme linéaire (PL)

max Z = c1 x1 + c2 x2 +  + cn xn
s.c : a11 x1 + a12 x2 +  + a1n xn ≥ b1
a21 x1 + a22 x2 +  + a2 n xn ≥ b2

am1 x1 + am 2 x2 +  + amn xn ≥ bm
c.n.n : x1 ≥ 0, x2 ≥ 0,  , xn ≥ 0
Ce modèle peut se formuler :
n
F .O : Z (x) = ∑ c x j = 1 2, …., n.
j =1 j j
n
S .C : ∑ a ⋅ xj ≥ b i = 1,...., m
j = 1 ij i

c.n.n : xj ≥ 0
Formulation d’un programme linéaire (PL)

5. Exemples de formulations

Limité au départ aux problèmes militaires et industriels, de nos jours plusieurs


problèmes de divers domaines sont représentés par des modèles de PL. L’utilisation
de ces techniques de modélisation s’est renforcée encore après avoir construit des
algorithmes et des logiciels capables de résoudre des problèmes avec autant de
variables de décision que de contraintes.

La tâche de formulation demande une certaine expertise et connaissance du


problème pour pouvoir identifier les différentes composantes du problème et ainsi
trouver un modèle mathématique décrivant au mieux la situation réelle. Dans ce qui
suit, on présentera quelques exemples de formulation en programme linéaire liés à
différents problèmes de décision :
Formulation d’un programme linéaire (PL)

Exemple 1 : problème de production


Pour fabriquer deux produits P1 et P2 on doit effectuer des opérations sur trois machines M1,
M2 et M3, successivement mais dans un ordre quelconque. Les temps unitaires d’exécution
sont donnés par le tableau suivant :
M1 M2 M3

P1 11 mn 7 mn 6 mn

P2 9 mn 12 mn 16 mn

On supposera que les machines n’ont pas de temps d’inactivité.


La disponibilité pour chaque machine est :
• 165 heures (9900 minutes) pour la machine M1 ;
• 140 heures (8400 minutes) pour la machine M2 ;
• 160 heures (9600 minutes) pour la machine M3.
Le produit P1 donne un profit unitaire de 900 dinars et le produit P2 un profit unitaire de 1000
dinars.
Dans ces conditions, combien doit-on fabriquer mensuellement de produits P1 et P2 pour
avoir un profit total maximum ?
Formulation d’un programme linéaire (PL)

Formulation du problème en un PL :
Etape 1 : Identification des variables de décision.
x1 : le nombre d’unités du produit P1 à fabriquer
x2 : le nombre d’unités du produit P2 à fabriquer
On vérifie les contraintes de non-négativité des variables de décision x1 et x2 :
x1 ≥ 0, x2 ≥ 0
Etape 2 : Identification des contraintes.
Dans ce problème les contraintes représentent la disponibilité de chaque machine :
11x1 + 9 x2 ≤ 9900 pour la machine M 1
7 x1 + 12 x2 ≤ 8400 pour la machine M 2
6 x1 + 16 x2 ≤ 9600 pour la machine M 3
Etape 3 : Identification de la fonction objectif.
La fonction objectif consiste à maximiser le profit global:
z = 900 x1 + 1000 x 2
Formulation d’un programme linéaire (PL)

Etape 4 : Présentation du Programme linéaire

Le programme linéaire résultant est :

Max Z = 900 x1 + 1000 x2


s.c : 11x1 + 9 x2 ≤ 9900
7 x1 + 12 x2 ≤ 8400
6 x1 + 16 x2 ≤ 9600
c.n.n : x1 ≥ 0, x2 ≥ 0
Formulation d’un programme linéaire (PL)

Exemple 2 : problème de production II


Pour fabriquer deux produits P1 et P2 on doit effectuer des opérations sur trois machines M1,
M2 et M3, successivement mais dans un ordre quelconque. Les temps unitaires d’exécution
sont donnés par le tableau suivant :
M1 M2 M3

P1 11 mn 7 mn 6 mn

P2 9 mn 12 mn 16 mn

On supposera que les machines n’ont pas de temps d’inactivité.


La disponibilité pour chaque machine est :
• 165 heures (9900 minutes) pour la machine M1 ;
• 140 heures (8400 minutes) pour la machine M2 ;
• 160 heures (9600 minutes) pour la machine M3.

Quel est le nombre de pièces P1 et P2 à fabriquer, pour utiliser au maximum les temps de
disponibilité des trois machines ?
Formulation d’un programme linéaire (PL)

Formulation du problème en un PL :
Etape 1 : Identification des variables de décision.
x1 : le nombre d’unités du produit P1 à fabriquer
x2 : le nombre d’unités du produit P2 à fabriquer
On vérifie que les variables de décision x1 et x2 sont positives .
Contraintes de non-négativité: x1 ≥ 0, x2 ≥ 0
Etape 2 : Identification des contraintes.
Dans ce problème les contraintes représentent la disponibilité de chaque machine :
11x1 + 9 x2 ≤ 9900 pour la machine M 1
7 x1 + 12 x2 ≤ 8400 pour la machine M 2
6 x1 + 16 x2 ≤ 9600 pour la machine M 3
Etape 3 : Identification de la fonction objectif.
La fonction objectif consiste à maximiser le temps global d’exploitation des machines
z = 24 x1 + 37 x2
Formulation d’un programme linéaire (PL)

Exemple 3 : problème de production III


Pour la réalisation d’un programme de production de 04 produits on dispose de 04 machines.
Les temps unitaires d’exécution sont donnés par le tableau suivant :

Temps de fabrication par pièce et par machine (mn par pièce)


Produits M1 M2 M3 M4 Nombre de pièces

P1 7 5 4 4 30

P2 4 3 * * 30

P3 * 2 4 5 50

P4 6 5 * 3 40

Disponibilité (mn) 180 100 150 100

Rq.: Les cases avec * signifient que la pièce ne seras pas la machine n’est pas utilisée
Quel est le nombre de pièces à fabriquer dans un temps de réalisation global minimal ?
Formulation d’un programme linéaire (PL)

Formulation du problème en un PL :
En désignant par xij le nombre de pièces du type Ei, qui doit être fabriqué par la machine Mj , alors on
peut établir le système de contraintes suivant :

S.C : x11 + x12 + x13 + x14 =30, 7x11 + 4x21 + + 6x41 ≤ 180,
x21 + x22 = 30, 5x12 + 3x22 + 3x32 + 5x42 ≤ 100,
x32 + x33 + x34 = 50, 4x13 + 4x33 ≤ 150,
x41 + x42 + x44 = 40, 4x14 + 5x34 + 3x44 ≤ 100,

C.N.N: xij ≥ 0.

Le temps global de fabrication à minimiser s’exprime par la fonction suivante:

min Z = 7x11+4x21+ 6x41 + 5x12 + 3x22 + 2x32 + 5x42 + 4x13 + 4x33 + 4x14 + 5x34 + 3x44
Formulation d’un programme linéaire (PL)

Exemple 4 : problème de transport


Une entreprise d’appareils électroménagers dispose de 03 usines localisées dans différentes
villes qui alimentent 04 points de vente. La production annuelle de chaque usine, la demande
annuelle de chaque point de vente et les coûts unitaires de transport sont donnés dans le tableau
suivant :

Points de vente

Usines V1 V2 V3 V4 Product. annuelle

U1 5 6 6 8 15 000

U2 11 9 4 7 12 000

U3 12 7 8 5 23 000

Demande annuelle 10 000 5 000 20 000 15 000

Ecrire le programme linéaire qui permettrait d’obtenir un plan de transport à un coût global
minimal.
Formulation d’un programme linéaire (PL)

Programme linéaire:
La formulation du problème posé peut être facilitée à l’aide du tableau des variables ci-dessous.
Les variables xij représentent le nombre d’unités d’appareils à livrer de l’usine i (i = 1,2,3) au
point de vente j (j = 1,2,3,4). On a 12 variables de décision.

Points de vente

Usines V1 V2 V3 V4 Product. annuelle

U1 x11 x12 x13 x14 15 000

U2 x21 x22 x23 x24 12 000

U3 x31 x32 x33 x34 23 000

Demande annuelle 10 000 5 000 20 000 15 000


Formulation d’un programme linéaire (PL)

• Le système de contraintes s’écrit comme suit :


S.C : x11 + x12 + x13 + x14 ≤ 15 000
x21 + x22 + x23 + x24 ≤ 12 000 Capacité de production
x31 + x32 + x33 + x34 ≤ 23 000

x11 + x21 + x31 = 10 000


x12 + x22 + x32 = 5 000
Demande annuelle
x13 + x23 + x33 = 20 000
x14 + x24 + x34 = 15 000
C.N.N: xij ≥ 0.
• La fonction objectif qui permet de minimiser le coût global de transport s’exprime comme suit:
min Z = 5 x11 + 6 x12 + 6 x13 + 8 x14
+ 11 x21 + 9 x22 + 4 x23 + 7 x24
+ 12 x31 + 7 x32 + 8 x33 + 5 x34
Formulation d’un programme linéaire (PL)

Exemple 5 : Problème d’affectation


On veut affecter 04 ouvriers à 04 postes de travail . Le temps requis par chaque ouvrier pour
effectuer sa tache à chaque poste est donné par le tableau suivant :

Postes de travail

Ouvriers P1 P2 P3 P4

O1 10 8 11 6

O2 5 14 7 9

03 8 10 9 5
O4 12 9 12 8

On ne peut affecter qu’un seul ouvrier par poste.

Ecrire le programme linéaire qui permettrait d’obtenir un plan d’affectation optimal, soit un
temps global minimal d’exécution des tâches.
Formulation d’un programme linéaire (PL)

Programme linéaire du problème d’affectation posé:


La variable xij est une variable entière qui correspond à l’affectation de l'ouvrier i au poste de
travail j.
• Si l’ouvrier i n’est pas affecté au poste j , xij = 0
• Si l’ouvrier i est affecté au poste j , xij = 1
Le tableau ci-dessous donne les variables d’affectation.

Nombre d’ouvrier affecté au poste

Disponibilité
Ouvriers P1 P2 P3 P4
de l’ouvrier

O1 x11 x12 x13 x14 1

O2 x21 x22 x23 x24 1

03 x31 x32 x33 x34 1

O4 x41 x42 x43 x44 1

Disponibilité des
1 1 1 1
postes
Formulation d’un programme linéaire (PL)

• Le système de contraintes s’écrit comme suit :

S.C : x11 + x12 + x13 + x14 = 1


x21 + x22 + x23 + x24 = 1
Contraintes de disponibilité
x31 + x32 + x33 + x34 = 1
x14 + x24 + x43 + x44 = 1

x11 + x21 + x31 + x41 = 1


x12 + x22 + x32 + x42 = 1
Contraintes de chaque poste
x13 + x23 + x33 + x43 = 1
x14 + x24 + x34 + x44 = 1

xij = 0, si l’ouvrier i n’est pas affecté au poste j


1, si l’ouvrier i est affecté au poste j Contraintes de variables entières
C.N.N: xij ≥ 0.
• La fonction objectif qui permet de minimiser le temps d’exécution s’exprime comme suit:
min Z = 10 x11 + 8 x12 + 11 x13 + 6 x14+ 5 x21 + 14 x22 + 7 x23 + 9 x24 + 8 x31 + 10 x32 + 9 x33 + 5 x34
+ 12 x41 + 9 x42 + 12 x43 + 8 x44
Formulation d’un programme linéaire (PL)

Exemple 6 : Problème de mélange


Une raffinerie produit différents mélanges d’essences à partir de 4 pétroles bruts. Les caractéristiques de ces
pétroles sont les suivantes:
Indice Indice de Disponibilité en
Pétrole
d’octane viscosité barils

P1 72 3,0 10 000

P2 85 4,5 18 000

P3 90 3,8 24 000

P4 94 4,2 22 000
La distillation des pétroles permet d’obtenir des essences ordinaires, sans plomb et super. Les normes imposées
aux essences sont les suivantes :
Indice Indice de Bénéfices Potentiel de
Essences
d’octane viscosité (UM) ventes en barils

ordinaire ≥ 80 ≤4 4,30 Restriction zéro

Sans plomb ≥ 84 ≤ 3,8 5,10 ≤ 20 000

≤ 16 000
super ≥ 95 ≤ 3,5 5,60
Formulation d’un programme linéaire (PL)

• Ecrire le programme linéaire qui permettrait d’obtenir une répartition optimale des pétroles
bruts pour produire les différents mélanges d’essences selon les normes exigées et ceci tout en
maximisant les bénéfices.

On suppose que les caractéristiques des pétroles bruts se mélangent d’une manière proportionnelle.
Par exemple ,le mélange de 150 barils d’un pétrole ayant un indice d’octane 754 avec 250 barils
d’un pétrole ayant un indice d’octane 80 donne un mélange de 400 barils dont l’indice d’octane est
(150*75 + 250*80)/ 400 = 78,13.
Chaque caractéristique est pondérée en fonction du volume de pétroles bruts mélangés,
Formulation d’un programme linéaire (PL)

Formulation du programme linéaire du problème de mélange:

1. Indentification des variables:


Les variables xij représentent les quantité de pétroles bruts ( Pi ) en barils pour les différents mélanges d’essences (E j ) ,
normales, sans plomb et supers. On aura au total 12 variables.

Pétroles bruts

Indice Indice de Potentiel de


Essences P1 P2 P3 P4 Bénéfices (UM)
d’octane viscosité ventes en barils

Restriction
ordinaire x11 x12 x13 x14 ≥ 80 ≤4 4,30
zéro

Sans plomb x21 x22 x23 x24 ≥ 84 ≤ 3,8 5,10 ≤ 20 000

super x31 x32 x33 x34 ≥ 95 ≤ 3,5 5,60 ≤ 16 000

Disponibilit
10 000 18 000 24 000 22 000
é en barils
Formulation d’un programme linéaire (PL)
• Identification des contraintes :

S.C : x11 + x12 + x13 + x14 ≥ 80


Contraintes de disponibilité
x21 + x22 + x23 + x24 ≥ 84
x31 + x32 + x33 + x34 ≥ 95
x14 + x24 + x43 + x44 ≥ 1

x11 + x21 + x31 + x41 = 1


Contraintes de chaque poste
x12 + x22 + x32 + x42 = 1
x13 + x23 + x33 + x43 = 1
x14 + x24 + x34 + x44 = 1
0, si l’ouvrier i n’est pas affecté au poste j Contraintes de variables entières
xij = 1, si l’ouvrier i est affecté au poste j

C.N.N: xij ≥ 0.
• La fonction objectif qui permet de minimiser le temps d’exécution s’exprime comme suit:
min Z = 10 x11 + 8 x12 + 11 x13 + 6 x14+ 5 x21 + 14 x22 + 7 x23 + 9 x24 + 8 x31 + 10 x32 + 9 x33 + 5 x34
+ 12 x41 + 9 x42 + 12 x43 + 8 x44
Résolution graphique d’un programme linéaire
I. Introduction
Après avoir illustré par des exemples la modélisation d’un problème pratique par un programme linéaire, l’étape
suivante sera celle de la résolution de ce problème mathématique. La méthode graphique ou géométrique est l’une
des méthodes utilisées à ce sujet.
La méthode de résolution graphique d’un programme linéaire n’est valable que pour des modèles à deux ou trois
variables. Pour l’assimilation de la démarche de résolution du programme linéaire, on examinera deux exemples de
programme linéaire à deux variables de décision. Le domaine de solutions admissibles de ces programmes linéaires
sera un polygone formé par des hyperplans définis par les contraintes. Les hyperplans seront de ce cas des droites.
L’optimum recherché ne peut se trouver qu’en un sommet du polygone.
II. Exemple 1 : problème de production
On veut fabriquer deux types de produits P1 et P2 à partir de deux matières M1 et M2. Les quantités de matières
consommées par pièce et les quantités de matières disponibles sont données par le tableau ci-dessous,
Quantités de matières Gain par pièce Nombre minimal
consommées par pièce (DA) de pièces à
produire
Matières M1 M2

P1 0,15 0,20 10 50

P2 0,20 0,10 20 100

Quantités 60 40
de matières
disponibles
Résolution graphique d’un programme linéaire
Le programme linéaire du problème posé s’écrit comme suit :
F.O :
max Z = 10 x1 + 20 x2

S.C : 0.15 x1 + 0.20 x2 ≤ 60


0.20 x1 + 0.10 x2 ≤ 40
x1 ≥ 50
x2 ≥ 100
C.N.N : x1 ≥ 0 x2 ≥ 0

Pour la résolution graphique de ce problème, on procède de la manière suivante :


1. On commence par tracer les axes des abscisses et des ordonnées (ox1 , ox2) tout en choisissant des
échelles appropriées pour rendre lisible le graphe.

2. A cause des contraintes de non-négativité des variables le domaine de solutions possibles se trouvent
dans le premier quadrant.

3. Représentation graphique des contraintes


Résolution graphique d’un programme linéaire
Parmi les solutions possibles d’un problème, il y a ceux qui vont satisfaire toutes les contraintes du
programme, appelés solutions réalisables ou admissibles, et ceux qui vont satisfaire une partie ou
aucune de ces contraintes, appelés solutions non réalisables.
Une représentation graphique des inégalités (des contraintes) va permettre de déterminer l’ensemble
des solutions réalisables.
• La 1ère contrainte de ce problème est 0.15 x1 + 0.20 x2 ≤ 60 .
L’ensemble des solutions qui vérifient cette inégalité est le même que celui qui vérifie
0.15 x1 + 0.20 x2 = 60 et 0.15 x1 + 0.20 x . 2 < 60

L’ensemble des solutions qui correspond à l’équation est l’ensemble des points de la droite g1 définie
par x2 = 300 − 0.75 x1
Cette droite admet une valeur de la pente égale à –0,75 et coupe l’axe des ordonnées en 300 et l’axe
des abscisses en 400 .
L’inégalité 0.15 x1 + 0.20 x2 < 60 correspond à un demi-plan limité par la droite 0.15 x1 + 0.20 x2 = 60
Cette droite divise le plan en deux demi-plans, quel est le demi-plan à choisir ?
Pour cela, il suffit de prendre un point de l’un des demi-plans et voir s’il vérifie la contrainte
0.15 x1 + 0.20 x2 < 60 . Le point (0,0) vérifie cet inégalité, donc le demi-plan π1 au-dessous de la
droite est celui recherché( voir figure).
Les deux flèches indiquent le domaine de solutions qui vérifient la contrainte .
Résolution graphique d’un programme linéaire
• Si on fait de même pour les 03 autres contraintes du problème , on obtient les 03 autres demi-plans
π2 ,π3 et π4 relatifs aux solutions vérifiant respectivement les contraintes :
0.20 x1 + 0.10 x2 ≤ 40 x1 ≥ 50 x2 ≥ 100

Une solution possible du problème est dite réalisable ou admissible si et seulement si elle vérifie toutes
les contraintes, c’est à dire si elle appartient aux trois demi-plans relatifs à chaque contrainte du
programme linéaire, en d’autre terme à l’intersection des 4 demi-plans π1 ∩ π2 ∩ π3 ∩ π4 (voir figure).
Résolution graphique d’un programme linéaire
4. Représentation de la fonction objectif
Soit z la valeur de la fonction objectif du problème posé max Z = 10 x1 + 20 x2 .
On peut tracer une infinité de droites qui représentent les différentes valeurs Z de la fonction objectif,
toutes ces droites sont parallèles entre elles. De plus on peut augmenter la valeur de Z indéfiniment
dans le sens indiqué dans la figure ci-dessous.

Le problème est de connaître qu’elle est la droite qui correspond à la valeur maximale de la fonction
objectif ?
Résolution graphique d’un programme linéaire
5. Recherche de la solution optimale
A travers l’ensemble des droites parallèles relatives aux différentes valeurs de Z sur la figure précédente qui définie
l’ensemble des solutions réalisables, on peut localiser la solution optimale. Pour le problème posé, elle correspond au
point le plus éloigné de l’origine.
La distance OH entre l’origine O et une droite quelconque Z est égale à :
Z
OH = = 0.045 Z
10 2 + 20 2

H est le point correspondant à la projection de O sur la droite Z.


Résolution graphique d’un programme linéaire

La solution optimale est déterminée en déplaçant parallèlement la droite Z = 10 x1 + 20 x2 dans le


sens de la flèche indiquée jusqu’à ce que cette droite coupe l’aire hachurée du polygone au moins en
un point, dont la distance OH soit maximale. D’après la figure ci-dessous la droite Z passant par le
point P du polygone dont les coordonnées sont x1 = 50 et x2 = 262,5 correspond à la valeur maximale
Zmax = 5750.
La solution optimale du problème posé est : x1 = 50 et x2 = 262,5, Z = Zmax = 5750.
Résolution graphique d’un programme linéaire
Exemples de domaines de solutions

Exemple 1:
-x1 + x2 ≤ 5,
x1 + x2 ≤ 10,
x1 ≥ 0 , x2 ≥ 0
Le domaine de solutions est défini par les
contraintes.

Exemple 2:
x1 - x2 ≤ -6,
x1 + x2 ≤ 1,
x1 ≥ 0 , x2 ≥ 0

La condition de non- négativité xi ≥ 0 ne peut pas être remplie. Le domaine de solutions est vide. Cela signifie qu’il y
a incompatibilité entre les contraintes. Pour le montrer algébriquement, il suffit d’ajouter membre à membre les 2
contraintes (x1 –x2) + (x1 + x2) ≤ -6+1 ≤ -5/2, ce qui est absurde car x1 ≥ 0.
Résolution graphique d’un programme linéaire
Exemples de domaines de solutions

Exemple 3:
x1 + x2 ≤ 5,
- x1+ x2 ≤ 2,
x1 +2x2 ≤ 10
x1 ≥ 0 et x2 ≥ 0.
La 3ème inéquation est superflue.

Exemple 4:
- x1 + x2 ≤ 3,
x1 + 2x2 ≤ 2,
x1 ≥ 0 et x2 ≥ 0

On a un domaine de solutions non-borné. Si on a une maximisation de la fonction objectif Z la valeur maximale de Z


est donc infinie.
Forme normale d’un programme linéaire

On a présenté dans le chapitre précédent une procédure graphique pour résoudre un programme
linéaire à deux variables. Par contre, dans la plupart des problèmes réels, on a plus que deux variables à
déterminer. Une procédure algébrique pour résoudre les programmes linéaires avec plus que deux
variables fera l’objet de ce chapitre. C'est la méthode par énumération et la méthode du simplexe.
La mise sous forme standard consiste à introduire des variables supplémentaires (une pour chaque
contrainte) de manière a réécrire les inégalités ( ) sous la forme d'égalités. Chacune de ces variables
représente le nombre de ressources non utilisés. On les appelle variable d'écart. Le programme linéaire
suivant est présenté sous la forme normale ou standard :
La fonction objective :
Z(x1, x2, x3,…,xn+m) = c1x1 + c2x2 + c3x3 + . . . + cn+m . xn+m

est à maximiser en tenant compte des équations linéaires des contraintes suivantes :
a11 x1 + a12 x2 + . . . + a1n xn + xn+1 = b1,
a21 x1 + a22 x2 + . . . + a2n xn + xn+2 = b2 ,
. . .
a31 x1 + a32 x2 + + a3n xn + xn+3 = b3 ,
………………………………………………………….....................
am1 x1 + am2 x2 + . . . + amn xn + xn+m = b2m,
x ≥ 0 pour j = 1, 2, 3,...,n+m
j

bi ≥ 0 pour i = 1, 2, 3,…,m

.
Forme normale d’un programme linéaire

Tout programme linéaire peut être ramené à travers des transformations appropriées à la forme
standard. A cet effet , on doit passer par 6 étapes de transformation sont généralement nécessaires qui
seront expliqués par l’exemple ci-dessous.
Soit un programme linéaire :

F.O : min Z1= -2 x1 +4x2 ;


S.C : 2x1 +3x2 ≤ -1,
x1 - x2 ≤ 2,
-6x1 + 2x2 = - 4,
C.N.N x1 ≥ 0,
x2 quelconque (sans restriction de signe)

Ce PL diffère fortement de la forme standard décrite précédemment. La variable x2 peut prendre ici des
valeurs négatives. On n’a pas un problème de maximisation, mais de minimisation. Les membres de
droite du système de contraintes comporte des équations et des inéquations.
Il s’agit maintenant de transformer le PL posé sous sa forme standard, et dont la solution optimale sera
identique à celle du PL initial.

.
Forme normale d’un programme linéaire

1ère étape de transformation : application des conditions de non négativité.

Dans le cas où des variables xi prennent des valeurs négatives, on remplace xi dans la fonction objectif
et les contraintes par une différence de deux variables non négatives :

xi =xi’ –xi’’ avec xi’ ≥ 0 , xi’’ ≥ 0

Dans l’exemple la variable x2 est quelconque, elle peut prendre donc des valeurs négatives. De
l’expression précédente , il en résulte:
x2 =x2’ – x2’’ avec x2’ ≥ 0 , x2’’ ≥ 0

Le programme linéaire devient:

F.O : min Z2 = -2x1 + 4x2’ – 4x2’’


S.C: 2x1 + 3x2’ –3x2’’ ≤ -1;
x1 – x2’ + x2’’ ≤ 2 ;
-6x1 +2x2’ –2x2’’ = -4;
C.N.N: x1 ≥ 0 ,
x2’ ≥ 0 ,
x2’’ ≥ 0.

.
Forme normale d’un programme linéaire

2ème étape de transformation : Passage d’une minimisation à une maximisation.


La minimisation de la fonction linéaire c1x1 + c2x2 + . . . + cnxn est équivalente à une maximisation de la
fonction linéaire négative correspondante -c1x1 - c2x2 - . . . - cnxn. Un programme linéaire, dans lequel la
fonction objectif est à minimiser, ne change pas, lorsque la fonction objectif multipliée par -1 est
maximisée.
Le PL équivalent au PL précédent s’écrit comme suit :

F.O : max Z3 = -Z2 = +2x1 – 4x2’ + 4x2 ’’ ;


S.C : 2x1 + 3x2’ –3x2’’≤ – 1;
x1 + x2’ – x2’’ ≤ 2 ;
– 6x1 + 2x2’ – 2x2’’ = – 4;
C.N.N: x1 ≥ 0 ,
x2’ ≥ 0 ,
x2’’ ≥ 0.
Forme normale d’un programme linéaire

• 3ème étape de transformation : rendre non négatif les membres de droite des contraintes.
Les contraintes dont les membres de droite sont négatifs, seront multipliées par -1 pour les rendre
positif.
Si par exemple :
a1 x1 + . . . +an xn

Après multiplication par -1 on aura :


-a1 x1 - . . . -an xn

Il faut multiplier les deux membres de la contrainte par -1 et inverser le sens de l’inéquation.
Forme normale d’un programme linéaire

Le programme linéaire précédent devient :


F.O : max Z3 = +2x1 - 4x2’ + 4x2 ’’ ;
S.C : - 2x1 - 3x2’ + 3x2’’ ≥ -1;
x1 + x2’ – x2’’ ≤ 2 ;
6x1 - 2x2’ + 2x2’’ = 4;
C.N.N: x1 ≥ 0 , x2’ ≥ 0 , x2’’ ≥ 0

• 4ème étape de transformation : Passage des inéquations à des équations et introduction des variables
d’écart.
La contrainte a1 x1 + a2 x2 + . . . + an xn ≤ b est équivalente aux deux contraintes suivantes :

a1 x1 + . . . + an xn + xe = b
xe ≥ 0.
xe est une nouvelle variable non négative, appelée variable d’écart. Elle représente la quantité à ajouter
au membre a1 x1 + . . . + an xn pour égaliser b.
D’une manière analogue, une contrainte de la forme a1 x1 + . . . + an xn ≥ b est équivalente aux deux
contraintes:
a1 x1 + . . . + an xn - xe = b,
xe ≥ 0.
Forme normale d’un programme linéaire
Le programme linéaire précédent se transforme en :
F.O : max Z3 = +2x1 - 4x2’ + 4x2 ’’ ;
S.C : -2x1 - 3x2’ + 3x2’’ - xe1 = 1;
x1 - x2’ + x2’’ + xe2 = 2 ;
6x1 - 2x2’ + 2x2’’ = 4;
C.N.N: x1, x2’, x2’’, xe1, xe2 ≥ 0

• 5ème étape de transformation : Introduction des variables artificielles.


Dans la fonction objectif et les contraintes seront introduites des variables dites artificielles xn+1,…,
xn+m ≥ 0
F.O: max Z = c1 x1 + . . . + cn x n – M xn+1 - . . . - M xn+m

S.C: a11 x1 + . . . + a1n xn + xn+1 =b1


………………………………
am1 x1 + . . . + amn xn + . . . + xn+m = bm

C.N.N: xj ≥ 0 , j = 1,..., n

bi ≥ 0,
xn+i ≥ 0, i=1,...,m
Forme normale d’un programme linéaire

Ce PL est appelé PL adjoint . M est un nombre positif suffisamment grand (M>>0).


Le programme adjoint est identique à la forme normale , si on prend cn+1 = . . . = cn+m= -M
Dans le cas où les variables artificielles sont nulles xn+1,…, xn+m = 0, le programme adjoint
se transforme en programme initial .

Le programme adjoint a la forme suivante :


F.O : max Z = 2x1 - 4x2’ + 4x2 ’’ – M xa1 – M xa2 ;
3

S.C:
-2x1 - 3x2’ + 3 x2’’ - xe1 + xa1 = 1 ;
x1 - x2’ + x2’’ + xe2 =2;
6x1 - 2x2’ + 2 x2’’ + xa2 = 4 ;
C.N.N: x1, x2’, x2’’, xe1, xe2, xa1, xa2 ≥ 0
Forme normale d’un programme linéaire

Remarque:

Coefficient dans la fonction objectif des


Type de Ajustement de la variables d’écart artificielles
contraintes contrainte Type d’optimisation
maximisation minimisation
≤ Ajouter une variable 0 0
d’écart (+xe)
= Ajouter une variable -M M
artificielle (+xa) 0 0
≥ Soustraire une variable -M M
d’écart (-xe)
et ajouter une variable
artificielle (+xa)
Forme normale d’un programme linéaire

• 6ème étape de transformation :Changement de numérotation des nouvelles variables introduites.

On peut par un changement de numérotation des nouvelles variables introduites obtenir la forme
normale finale.

En posant x1 = x1, x2* = x2, x2’’= x3, xe1 = x4, xe2 = x5, xa1 = x6, xa2 = x7, on obtient le PL suivant:

F.O: max Z3 = 2x1 - 4x2 + 4x3 –M x5 – M x7


S.C: - 2x1 - 3x2 + 3x3 - x4 + x5 =1
x1 - x2 + x3 + + x6 =2
6x1 - 2x2 + 2x3 + x7 = 4

C.N.N: xi ≥ 0 , i = 1, 2,…,7.
Définitions et propriétés fondamentales

Soit un programme linéaire sous la forme normale:

F.O : max Z= Z(x1, x2,…, xn+m) = c1x1 + . . . + cn+m xn+m

S.C: a11 x1 + a12 x2 + . . . + a1n xn + xn+1 = b1;

a21 x1 + a22 x2 + . . . + a2n xn + xn+2 = b2 ; (1)

......................................................................................................

am1 x1 + am2 x2 + . . . + amn xn + xn+m = bm;

bi ≥ 0, i = 1,2,..., m.

C.N.N : xj ≥ 0, j =1, 2, ..., n+m.

Sous la forme matricielle le PL (1) s’écrit:

F.O : max Z = Z(x) = cT x

S.C : A.x=b,

b ≥ 0, (2)

C.N.N : x ≥ 0.
Définitions et propriétés fondamentales

Sous la forme vectorielle on a :

F.O : max Z = Z(x) = cT x

S.C: a(1) x1 + a(2) x2 + . . . + a(n+m) xn+m = b , (3)

b ≥ 0,

C.N.N: x ≥ 0.

On admet que le rang de la matrice des coefficients A du système d’équations (1) est égal au
rang de la matrice élargie [A, b] (condition de solvabilité du système d’équation) et égal à m.

Définissons les termes suivants :

Définition 1 :

Tout x satisfaisant à la condition Ax = b est une solution.

Définition 2 :

Toute solution x de A.x =b satisfaisant à la condition x ≥ 0 est une solution admissible ou


réalisable (SA ou SR).
Définitions et propriétés fondamentales

Définition 3:

Tout ensemble de m variables prises parmi les (n+m) variables (x1, x2,…, xn+m) tel que le
déterminant des coefficients aij associés à ces m variables est différent de zéro forme une base
(B) (autrement dit, les vecteurs colonnes a(j) de A associés à ces m variables linéairement
indépendants forment une base de l’espace à m dimensions des contraintes). Les m variables
linéairement indépendants sont appelés variables de base (VB), alors que les n variables de
base (n+m-m) représentent les variables hors base (VHB).

Définition 4 :

En transformant le système d’équations de (1) de sorte que pour une base B quelconque les VB
sont exprimées par des VHB et que la fonction objectif ne dépend que des VHB, alors on parle
d’une représentation de base (RB) des solutions du programme linéaire.
Définitions et propriétés fondamentales

Généralement la représentation de base (RB) d’une base quelconque B de (1) a la forme ci-
dessous, en désignant successivement les variables de base par xn+1,…, xn+m et les variables
hors base par x1, …, xn :

r11 x1 + r12 x2 + . . . + r1n xn + xn+1 = k1 ;

r21 x1 + r22 x2 + . . . + r2n xn + xn+2 = k2 ; (4)

………………………………………………………………………. ;

rm1 x1 + rm2 x2 + . . . + rmn xn + xn+m = km ;

g1 x1 + g2 x2 + . . . + gm xn + ZB(x) = c.

ZB(x) représente la fonction objectif Z, lorsque dans la fonction objectif toutes les VB de la base
B sont nulles.

rij, ki, gj et c (i = 1, 2,..., m ; j = 1, 2,..., n) sont les valeurs qui résultent de la transformation du
système d’équations de (1) pour aboutir à la représentation de base (4).
Définitions et propriétés fondamentales

Définition 5:

Soit une base quelconque B de A et la représentation de base correspondante (R.B). Une


solution x de A.x = b, où toutes les VHB sont nulles, est appelée solution de base (SB). Une SB
est une solution de base admissible (SBA), lorsque toutes les VB sont non négatives.

Si par exemple dans (4) toutes les ki ≥ 0 ; alors la SB xB= {0, ......., 0, k 1 , ......, k m } est une
SBA. La RB correspondante est appelée représentation de base admissible (RBA). Une SB
ou SBA est donc une solution, qui n’a au maximum que m variables différentes de zéro.

Définition 6 :

Dans la représentation de base (4) d’une base B quelconque, les nombres gj (j = 1,.., n) sont
appelés coefficients de forme et le nombre c nombre de base.
Définitions et propriétés fondamentales

Dans le PL (3 ) les vecteurs a (n+1) ,..., a (n+m) forment une base B [a (n+1)
,..., a (n+m)
] , car ils sont
linéairement indépendant. x n+1 , x n+ 2 , x n+m sont les VB appartenant à cette base et x 1 ,.., x n sont les
VHB. Pour cette base la représentation de basse est :
...
a 11 x 1 + +a 12 x n +x n+1 = b 1,

...
a 21 x 1 + +a 2n x n +x n+2 = b 2, (5 )

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --- - - - - - -

...
a m1 x1 + +a mn x n +x n+ m = b m,

…………………………………………………………………………………………………

...
g 1 x1 + +g n x n +Z = c

a vec
...
c=c n+ 1 b1 + +c n+ m b m,
...
g1 = - c1 + c n+ 1 .a 11 + +c n+ m a m1,
...
g2 = - c2 + c n+ 1 .a 12 + +c n+ m a m2,

……………………………………………………………
g n = - cn + cn+ 1.a1 n + …. + cn+ m am n.
Définitions et propriétés fondamentales

La dernière équation de (5) est déduite de la fonction objectif de (3) après avoir éliminé les VB
xn+1,.., xn+m en utilisant les m contraintes. Puisque d’après (3) les valeurs bi [i = 1,..., m] sont non
négatives, alors

x1 = 0, x2 = 0,..., x n = 0, x n+1 = b1,....., x n+ m = b m

est une SBR de la base B [a( n+1), a( n+2),…, a( n+ m) ].

A chaque RB correspond une SB.

Le nombre des ensembles de m vecteurs linéairement indépendants qu’on peut former des
(n+m) vecteurs colonnes de A, c.-à-d. le nombre des différentes bases d’un programme linéaire

avec m équations et (m+n) variables, ne peut être au plus que ( nm+ m ), soit au maximum ( nm+ m )
solutions de base différentes (incluses les SBA).

( nm+ m ) = m!(n(n++mm)!− m)! = (nm!+ n!m)!


Méthode de résolution par énumération des solutions de base

Cette méthode comprend les étapes suivantes :

1. Recherche de toutes les solutions de base du programme linéaire.

2. Sélection des solutions de base admissibles.

3. Calcul de la valeur de la fonction objectif pour chaque solution de base admissible et


déduction de la (ou des) solution (s) optimale (s).

Cette méthode est simple, mais elle n’est pas pratique, car le nombre de solutions de base à
explorer est élevé. Par exemple un programme linéaire à 10 variables et 5 contraintes, le nombre
de solutions possibles est égal au nombre de combinaisons  10  = 10.
5 

Cette méthode de résolution permet d’obtenir les solutions de base admissibles, mais pas
nécessairement la solution optimale.

À l’aide de l’exemple ci-après, on expliquera la méthode de résolution par énumération des


solutions de base.
Méthode de résolution par énumération des solutions de base

Soit un programme linéaire sous la forme normale:

F.O : max Z = 3x1 + 4x2 ;

S.C : x1 + 2x2 + x 3 = 80,

x2 + x4 = 30, (6)

2x1 + x2 + x 5 = 100,

C.N.N : x1,..., x 5 ≥ 0.

1ere étape : Recherche des solutions de base du programme linéaire.

La matrice des coefficients A s’écrit :

1 2 1 0 0 

A= 0 1 0 1 0
 = a
(1) (2) (3) (4) (5) 
,a ,a ,a ,a
   
2 1 0 0 1 (5, 3)

A partir des 5 vecteurs colonnes a(1), a(2), a(3), a(4) et a(5) , on peut former les combinaisons
suivantes :
Méthode de résolution par énumération des solutions de base

1. a(1), a(2), a(3), 6. a(1), a(4), a(5)

2. a(1), a( 2), a(4), 7. a(2), a(3), a(4)

3. a(1), a(2), a(5), 8. a(2), a(3), a(5)

4. a(1), a(3), a(4) 9. a(2), a(4), a(5)

5. a(1), a(3), a(5) 10. a(3), a(4), a(5)

On a ( 53 ) = 53..42..31..22..11 = 5 2 = 10 combinaisons.
.

On vérifie s’il existe parmi les 10 combinaisons celles qui ne forment pas de base. Pour cela on
calcule le déterminant de chaque combinaison. On remarque que la 5éme combinaison ne forme
pas de base, car les colonnes a(1), a(3), a(5) ne sont pas linéairement indépendants (le déterminant
est nul) ; on a

1 1 0
a (1) , a (3) , a (5)  = 0 0 0 =0
 
2 0 1

Les 9 combinaisons restantes forment 9 bases différentes, qui seront désignées par le numéro
de la combinaison. B5 n’appartient pas aux bases.
Méthode de résolution par énumération des solutions de base

La représentation de base et la solution de base ou la solution de base admissible de chaque


base ont la forme suivante :

B1 a
(1) (2) (3) 
,a ,a :
 
RB1 : SB1 :

1 1
- x4 + x5 + x1 = 35, xB1 = [35, 30, -15, 0, 0]
2 2

x4 + + x2 = 30, Z (xB1) = 225

3 1
- x4 + x5 + x3 = -15
2 2

…………………………………………….

5 3
- x4 + x5 + Z = 225
2 2
Méthode de résolution par énumération des solutions de base

La représentation de base de la base B1 a


(1) , a (2) , a (3)  est établie comme suit :
 

Le système d’équations initial (6) sera résolu en calculant les variables de base x1, x2 et x3 en
fonction des variables hors-base x4 et x5.

Du système d’équations(6), on a

x1 + 2x2 + x 3 = 80,

x2 = 30 – x4,

2x1 + x2 = 100 - x5

En appliquant la règle de Cramer, on a :

80 2 1
30 − x 4 1 0
100 − x 5 1 0 30 − x 4 − 100 + x 5
x1 = =
1 2 1 −2
0 1 0
2 1 0

x4 x5
x1 = 35 + −
2 2
Méthode de résolution par énumération des solutions de base
D’une manière similaire on obtient les autres variables:

x2 = 30 – x4

3 1
x3 = -15 + x4 + x5
2 2

Les variables x1, x2 et x3 seront éliminées de la fonction objectif en remplaçant ces variables par
les membres de droites qui contiennent les variables x4 et x5 :

3 3
Z = 3x1 + 4x2 = 120 - 4x4 + 105 + x4 - x5
2 2

5 3
Z = 225 - x4 - x5
2 2

Il en résulte :

1 1
x1 = 35 + x4 - x5 ,
2 2

x2 = 30 – x4,

3 1
x3 = -15 + x4 + x5,
2 2

……………………………..

5 3
Z = 225 - x4 - x5.
2 2
Méthode de résolution par énumération des solutions de base

En transformant ce système d’équations sous la forme (5), on obtient la représentation de base

correspondante RB1 de la base B1 a


(1) , a (2) , a (3) 
 

RB1 : SB1 :

1 1
- x4 + x5 + x1 = 35, XB1 = [35, 30, − 15, 0, 0] ;
2 2

x4 + + x2 = 30, Z (XB1) = 225.

3 1
- x4 + x5 + x3 = - 15,
2 2

............................................................

5 3
- x4 + x5 +Z = 225.
2 2
Méthode de résolution par énumération des solutions de base

En appliquant la même démarche pour les autres combinaisons, on obtient les représentations
de bases suivantes :

2. B2 a
(1) , a (2) , a (4) 
 

RB2 : SB2 :

1 2
- x3 + x5 + x1 = 40, XB2 = [ 40, 20, 0, 10, 0] ;
3 3

2 1
x3 + x5 + x2 = 20, Z (XB2 ) = 200.
3 3

3 1
- x3 + x5 + x4 = 10,
2 3

........................................................................

5 3
- x3 + x5 +Z = 200.
3 2
Méthode de résolution par énumération des solutions de base

3. B3 a
(1) , a (2) , a (5)  :
 

RB3 : SBR3 :

x3 - 2x4 + x1 = 20 , XB3 = [ 20, 30, 0, 0, 30] ;

+ x4 + + x2 = 30 , Z(XB3 ) = 180.

- 2 x3 + 3 x4 + x5 = 30 ,

.............................................................

3 x3 - 2 x5 + Z = 180.

4. B4 a
(1) , a (3) , a (4)  :

 

RB4 : SB4 :

1 1
x2 + x5 + x1 = 35, XB4 = [50, 0, 30, 30, 0]
2 2

3 1
x2 - x5 + x3 = 30, Z (XB1 ) = 150
2 2

x2 + + x4 = 30,

....................................................................

5 3
- x2 + x5 +Z = 150
2 2
Méthode de résolution par énumération des solutions de base

6. B6 a
(1) , a (4) , a (5)  :
 

RB6 : SB6 :

x3 - 2x2 + x1 = 80, XB6 = [80, 0, 0, 30, − 60] ;

+ x2 + + x4 = 30, Z (XB6 ) = 240.

- 2 x3 - 3 x2 + x5 = - 60,

.....................................................................

3 x3 - 2 x2 + Z = 240

7. B7 a
(2) , a (3) , a (4)  :
 

RB7 : SB7 :

2x1 + x + x2 = 100 , XB7 = [0, 100, − 120, − 70, 0] ;

-3x1 - 2x5 + x3 = -120 , Z (XB7 ) = 400.

- 2 x3 - x5 +x3 = - 70 ,

......................................................................

5x1 +4x5 +Z = 400


Méthode de résolution par énumération des solutions de base

8. B8 a
(2) , a (3) , a (5)  :
 

RB8 : SB8 :

x 4 + x2 = 30, XB8= [0, 30, − 20, 0, 70] ;

x1 - 2x4 + x3 = -120, Z (XB8 ) = 120.

2 x1 – x4 +x5 = - 70,

.......................................................................

-3x1 + 4x4 +Z = 120

9. B9 a
(2) , a (4) , a (5)  :
 

RB9 : SB9 :

1 1
x1 + x3 + x2 = 40, XB9 = [0, 40, 0, − 10, 60] .
2 2

1 1
- x1 - x3 + x4 = -10, Z (XB9) =160.
2 2

3 1
- x1 - x3 + x5 = 60,
2 2

.......................................................................

- x1 + 2 x3 +Z = 160
Méthode de résolution par énumération des solutions de base

10. B10 a
(3) , a (4) , a (5)  :
 

RB10 : SB10 :

x1 + 2 x2 + x3 = 80, XB10 = [0, 80, 30, 100]

x2 + x4 = 30, Z (XB9 ) = 0.

2 x1 + x2 + x5 = 100,

.....................................................................

- 3x1 - 4 xz + Z = 0.
SB x1 x2 x3 x4 x5
1 35 30 -15 0 0
2 40 20 0 10 0
3 20 30 0 0 30
4 50 0 30 30 0
6 0 100 0 30 -60
7 0 30 -120 -70 0
8 0 40 20 0 70
9 0 0 0 -10 60
10 0 0 80 30 100
Méthode de résolution par énumération des solutions de base

2ème Etape : Sélection des solutions de base admissibles.

Parmi les 9 solutions de base, on n’a que 5 solutions de base admissibles.


SBA x1 x2 x3 x4 x5

2 40 20 0 10 0

3 20 30 0 0 30

4 50 0 30 30 0

8 0 40 20 0 70

10 0 0 80 30 100

3ème Etape: Calcul de Z pour les 5 solutions de base admissibles.


SBA 2 3 4 8 10
Z 200 180 150 120 0

Puisque on a une maximisation de Z, la solution optimale est la solution de base admissible N°2.

XB2 = [40,20,0,10,0] et Z (xB2) = 200.


Méthode des tableaux du simplexe

3. Théorème : Critère du simplexe


Une solution admissible x du PL (5) est un sommet si et seulement si x est une SBA.
Si xB = x1 = 0, x 2 = 0,..., x n = 0 ,..., x n + 1 = k 1 ,...., x n + m = k m  est une SBA (tous les ki ≥ 0, i = 1,...., m) du PL
 

et la fonction objectif a dans la RB correspondant la forme


g1 x1 + g2 x2 + . . . + g n x n + Z = c,
avec gj ≥ 0 pour j = 1,..., n, alors xB est une solution maximale.

4. Méthode des tableaux du simplexe

Pour la construction d’un tableau du simplexe, on doit établir le PL sous sa forme normale

F.O : max Z = c1 x1 + c2 x 2 + . . . + c n x n + cn + 1 xn + 1 +…...+cn + m + xn + m


S.C: a11 x1 + a12 x 2 + . . . + a 1n x1 + x n + 1 = b1,
a21 x1 + a22 x 2 + . . . + a 2n x1 + x n+2 = b2, (4.1)
……………………………………………………………………
am1 x1 + am2 x 2 + . . . + a mn xn + x n+m = bm,
C.N.N: x j ≥ 0, j = 1,..., n+m, bi ≥ 0, i = 1,..., m.
Méthode des tableaux du simplexe

A partir du PL (4.1), on construit le tableau du simplexe de départ 1 présenté


comme suit:
1
VHB x1 x1 …… xn b

……
VB -1 c1 c2 cn 0 Q

……
xn+1 cn+1 a21 a22 a1n b1 q1
(4.2)
xn+2 cn+2 am1 am2 ……. a2n b2 q2

xn+m cn+m a1m am2 …… amn bm qm

G g1 g2 ……. gn c
Méthode des tableaux du simplexe

Le tableau du simplexe 1 est construit comme suit :

• La 1ère ligne contient les variables hors-base (VHB) x1, …, xn.

• La 1ère colonne contient les variables de base (VB) xn+1,..., xn+m

• La 2ème ligne et la 2ème colonne contiennent les coefficients de la fonction


objectif associées aux VB et VHB.

• Pour des raisons de commodité, la valeur du 1 er coefficient dans la 2ème ligne


est égale à -1 et celle du dernier coefficient est égale à zéro.

• Le milieu du tableau (c.à.d. de la 3ème jusqu’à la (m+2) ième ligne et de la 3ème


jusqu’à la (n+2)ième colonne) contient les valeurs des coefficients des variables
des contraintes.

• L’avant dernière colonne contient les valeurs des membres du côté droit des
contraintes .
Méthode des tableaux du simplexe

1 ère Etape :
On commence par calculer les coefficients de forme gk et le nombre de base c
à l’aide des relations suivantes et on les porte dans la ligne G du tableau du
simplexe:

• La ligne G du tableau est destinée aux coefficients de forme gj et au


nombre de base c.
• La colonne Q du tableau est destinée aux quotients qi.

• Chaque itération du simplexe peut être effectuée en établissant un autre


tableau du simplexe et comprend les opérations ci-dessous.

• Avant d’entamer ces opérations, on doit porter les valeurs des coefficients
aij, bi, et cj dans le 1er tableau simplexe.
Méthode des tableaux du simplexe

1 ère Etape :

On commence par calculer les coefficients de forme gk et le nombre de base c à


l’aide des relations suivantes et on les porte dans la ligne G du tableau du
simplexe:
m
g = ∑ c n +i a − c , (k = 1,......., n) (4.3)
K i =1 ik k
m
c= ∑ c b
n+i i
i =1

On calcule les sommes des produits de la 2ème colonne avec les autres colonnes et
les résultats seront portés dans la ligne G. Ce calcul justifie l’écriture des chiffres
-1 et 0 dans la 2 ème ligne du tableau (4.2).
Méthode des tableaux du simplexe

On doit ensuite vérifier, si tous les coefficients de forme sont non


négatifs:
min { g =}
1 ≤ i≤ m
k g ≥ 0
? (4.4)

Si gl ≥ 0, alors la solution correspondant au tableau simplexe est


optimale. Elle est lue directement du tableau en posant toutes les VHB
égales à zéro (x1=x2=……=xn =0). Les valeurs des VB sont égales à celles
correspondantes dans la colonne b (xn+1=b1, xn+2= b2,…, xn+m= bm).

Si gl< 0, la colonne de gl sera désignée comme colonne d’entrée. (les


éléments de cette colonne seront par exemple soulignés et la colonne
sera indiquée par une flèche entrante). Cette colonne représente la
colonne d’entrée, car la VHB xl deviendra dans le tableau du simplexe
suivant une VB :
Méthode des tableaux du simplexe

2ème Etape :

Après avoir trouvé la colonne d’entrée, on calcule les quotients qi par la division
des éléments de la colonne b par les éléments de la colonne d’entrée et on
détermine le quotient minimal.
bi
qi = pour a ie > 0 (4.5)
a ie
Ces quotients ne doivent être calculés que pour des éléments positifs. Ils sont
ensuite portés dans la colonne Q. Les cases de la colonne Q où il n’existe pas de
quotient, doivent rester vides.

Dans le cas où toutes les valeurs de la colonne d’entrée sont non positives, on
arrête le processus d’itération, car gl< 0 et ale≤ 0. Il n’existe pas de quotient qi
(i = 1,…,m). Le PL n’a pas de solution optimale.

La ligne ayant le plus petit qi sera désignée comme ligne de sortie qui sera par
exemple soulignée ou indiquée par une flèche sortante.
Méthode des tableaux du simplexe

min { q=
}
1 ≤ i≤ m
i qk ≥ 0 a ie > 0 (Critère de sortie d’une variable de la
base)

La variable de base associée à cette ligne apparaîtra dans le prochain tableau du


simplexe comme VHB.
Pour passer à l’étape suivante, on construit un nouveau tableau du simplexe
pour entamer le processus d’itération. On calculera les nouvelles valeurs des
coefficients du nouveau tableau du simplexe. Les nouveaux coefficients seront
désignées par a ij , b i , c j , g j

3ème Etape :

Les variables à échanger et les coefficients correspondants de la fonction objectif


seront échangés.
VB : xk ←→ VHB : xl ,
ck ←→ cl.
Méthode des tableaux du simplexe

4ème Etape :

Si akl est l’élément, qui se trouve à l’intersection de la colonne d’entrée et de la


ligne de sortie (élément pivot), alors 1 est l’élément correspondant dans le
nouveau tableau. a kl
1
Élément pivot (ou pivot) : a =
1 nouvel élément = (4.6)
kl pivot
a kl

Les éléments correspondants à la ligne de sortie seront calculés d’après les


formules suivantes :
− a kj -- bk
Ligne du pivot
= : a kj = , b k =j 1,....., n , , j≠ k ; (4.7)
a k a k

Nouvel élément : = ancien élément


pivot
Méthode des tableaux du simplexe

les éléments correspondants à la colonne d’entrée se calculent comme suit :


a i g
Colonne du pivot : a il =

a k
, g =

a k
i=
1,....., m , i , i ≠ k

ancien élément
Nouvel élément := − (4.8)
pivot

5ème Etape :

Tous les autres éléments se calculent comme suit :


− a i . a kj
a ij =
a ij − , i ≠ k, j≠ ;
a k
− a i . b k
bi =
bi − , i ≠ k;
a k
Méthode des tableaux du simplexe

− g  . a kj
gj = gj − , j ≠
a k
g . bk
c= c−
a k  élément correspondant   élément correspondant 
 .  
 de la colonne d'entrée   de la ligne de sortie 
Nouvel élément := ancien élément -
pivot

Après cette 5ème étape, on remplit le nouveau tableau, duquel on peut


déterminer la RBA avec la SBA.

Il faut vérifier si les coefficients gk sont non-négatifs.


Méthode des tableaux du simplexe

5. Exemple

Soit un programme linéaire sous la forme normale:


F.O : max Z = 3x1 + 4x2 ;
S.C : x1 + 2x2 + x 3 = 80,
x2 + x4 = 30,
2x1 + x2 + x 5 = 100,

C.N.N : x1,..., x 5 ≥ 0.

En appliquant la méthode des tableaux du simplexe , on obtient les résultats


suivants :
Méthode des tableaux du simplexe

Tableau de départ 1 :
1 VHB x1 x2 b

VB -1 3 4 0 Q

x3 0 1 2 80 40

x4 0 0 1 30 30

x5 0 2 1 100 100

G -3 -4 0
Méthode des tableaux du simplexe

Tableau N°2 :

2 VHB x1 X4 b

VB -1 3 0 0 Q

x3 0 1 -2 20 20

X2 4 0 1 30 %

x5 0 2 -1 70 35

G -3 4 120
Méthode des tableaux du simplexe

Tableau N° 3 :

3 VHB x3 X4 b

VB -1 0 0 0 Q

x1 3 1 -2 20 %

X2 4 0 1 30 30

x5 0 -2 3 30 10

G 3 -2 180
Méthode des tableaux du simplexe

Tableau N° 4 :

4 VHB x3 X5 b

VB -1 0 0 0 Q

x1 3 -1/3 2/3 40
X2 4 2/3 - 1/3 20
x4 0 -2/3 1/3 10

G 5/3 2/3 200


Méthode des tableaux du simplexe

Exo 1:
Un navire ayant une capacité de chargement de 7000t et une capacité de
volume de 10000 m3 doit transporter 3 marchandises G1, G2 et G3 en seul
voyage de manière que le fret soit aussi grand que possible. Le tableau ci-
dessus donne pour chaque marchandise la quantité offerte M en t, le
volume de chargement R en m3/t et le fret F en DA/t.
Trouver le modèle mathématique, que signifient les variables dans le
modèle ?

G1 G2 G3

M 3500 4000 2000


R 1.2 1.1 1.5
25 30 35
F
Méthode des tableaux du simplexe

Réponse :
xi : quantité embarquée Gi en t (i = 1, 2, 3)
F.O : max Z = 25 x1 + 30 x2 + 35 x3 ;
S.C : x1 + x2 + x3 ≤ 7000 ;
1.2 x1 + 1.1 x2 + 1.5 x3 ≤ 10000 ;
0 ≤ x1 ≤ 3500,
0 ≤ x2 ≤ 4000,
0 ≤ x3 ≤ 2000.
Méthode des tableaux du simplexe

Exo 2 :
D’un lot de barres de fer rond de longueur L= 20 m on veut
obtenir :
Au moins 8000 morceaux de largueur L1= 9m,
10000 morceaux de longueur L2 = 8 m et
6000 morceaux de longueur L3 = 6 m.
Déterminer le modèle mathématique pour un rebut minimal
de matériau.
Méthode des tableaux du simplexe

Variante Nombre de longueurs d’une barre Rebut

de Nombre xi de barres de fer rond, selon la variante de découpage (m)

découpag découpées suivant la variante i


l1 = 9 l2 = 8 L3 = 6
e

1 x1 2 0 0 2
2 x2 1 1 0 3
3 x3 1 0 1 5
4 x4 0 2 0 4
5 x5 0 1 2 0
6 x6 0 0 3 2
Méthode des tableaux du simplexe

F.O : min Z = ∑
i =1
Xi

C.L : 2 x1 + x2 + x3 ≥ 8000 ;
x1 +2 x4 + x5 ≥ 10000 ;
x3 +2 x5 + 3x6 ≥ 6000.
xi ≥ 0 (i = 1,…, 6) et nombres entiers.
Méthode des tableaux du simplexe

F.O : max Z = 2x1 + 4x2 + 4x3 + Mx5 + Mx7;

C.L : -2x1 - 3x2 + 3x3 – x4 + x5 = 1,

x1 - x2+ x3 + x6 = 2,

6x1 - 2x2 + 2x3 + x7 = 4,


xI ≥ 0, i = 1,...,7.

1 VHB x1 x2 x3 x4 b

VB -1 2 4- 4 0 0 Q

x5 -M -2 -3 3 -1 1

x6 0 1 -1 1 0 2 2

x7 -M 6 -2 2 0 4 2

-2 4 -4 0 0
G
-4 5 -5 1 -5
Méthode des tableaux du simplexe

2 VHB x1 x2 x5 x4 b

VB -1 2 4- -M 0 0 Q

x3 4 -2/3 -1 -1/3 -1/3 1/3 -

x6 0 5/3 0 1/3 1/3 5/3 1

x7 -M 22/3 0 -2/3 -2/3 10/3 10/22

-14/3 0 4/3 -4/3 4/3


G
-22/3 0 5/3 -2/3 -10/3

3 VHB x6 x3 x4 b

VB -1 M- 4- 0 0 Q

x2 4 2/22 1- -6/22 14/22 -

x6 0 -5/22 0 4/22 20/22 5

x1 2 3/22 0 2/22 10/22 5

14/22 0 -20/22 76/22


G
1 0 0 0
Méthode des tableaux du simplexe

4 VHB x2 x1 b
VB -1 -4 2 0
x3 4 1- 3 2
x6 0 0 -2 0
x4 0 0 11 5
G 0 10 8

La solution optimale est :


x1 = 0, x2 = 0, x3 = 2, x4 = 5, x6 = 0,
Z = 8 (x5 = x7 = 0, variables artificiels).
Méthode des tableaux du simplexe
F.O : max Z = x1 + x2 ;
S.C : x1 + 2x2 ≤ 70,
2x1 + x2 ≤ 80,
x1 - 3x2 ≤ 0,
x1 ≤ 30
x1 , x2 ≥ 0.

F.O : max Z = x1 + x2 ;
S.C: x1 + 2x2 + x3 = 70,
2x1 + x2 + x4 = 80,
x1 - 3x2 + x5 = 0,
x1 + + x6 = 30,
x1, x2,…, x6 ≥ 0
Méthode des tableaux du simplexe

1 VHB x5 x2 b
Q
VB -1 1 1 0

X3 0 1 2 70 70

X4 0 2 1 80 40

x1 0 1 -3 0 0

x6 0 1 0 30 30

G -1 -1 0

2 VHB x5 x2 b

VB -1 0 1 0 Q

x3 0 -1 5 70

x4 0 -2 7 80

x1 1 1 -3 0 -

x6 0 -1  30

G 1 -4 0
Méthode des tableaux du simplexe

3 VHB x5 x6 b

VB -1 0 0 0 Q

x3 0 2/3 -5/3 20 30

x4 0 1/3 -7/3 10 30

x1 1 0 1 30 -

x2 1 -1/3 1/3 10 -

G -1/3 4/3 40

Le minimum dans la colonne Q n’est unique. La VBx4 sera éliminée de la base


Méthode des tableaux du simplexe
4 VHB x5 x2 b
VB -1 0 0 0 Q
x3 0 -2 3 0 0
x5 0 3 -7 30 -
x1 1 0 1 30 30
x2 1 1 -2 20 -
G 1 -1 50

5 VHB x4 x3 b

VB -1 0 0 0 Q

x6 0 -2/3 1/3 0 -
x5 0 -5/3 7/3 30 -
x1 1 2/3 -1/3 30 -
x2 1 -1/3 2/3 20 -
G 1/3 1/3 50

La VB ,x3 = 0, car dans la tableau aucune décision n’est possible


La valeur de la fonction Z n’a pas progressé.

x1 = 30, x2 = 20, x3 = 0, x4 = 0, x5 = 30, x6 = 0, Z = 50


Problème de transports

Le problème de transports est un des problèmes de la programmation linéaire, dont les


contraintes ont une structure particulière.
Pendant la 2ème guerre mondiale T.C. Koopmanns s’occupa des méthodes de résolution
des problèmes de transports et de leurs possibilités d’application. Dans ce qui suit on va
donner un algorithme de résolution valable aux problèmes de transport.

1. Modèle mathématique du problème de transports


Exemple de transport:
Soit 3 briqueteries E1, E2 et E3 qui fabriquent des briques de même qualité. E1, E2 et E3
produisent dans un temps donné respectivement a1 = 11.104, a2 = 11.104 et a2 = 8.104
briques. On a 4 chantiers de construction V1, V2, V3 et V4 qui ont besoin respectivement
b1 = 5.104, b2 = 9.104, b3 = 9.104 et b4 = 7.104 briques. La production totale de 30.104,
briqués est égale à la consommation totale. Enfin on a les coûts unitaires de transport du
producteur Ei au consommateur Vj, représentés par des coefficients cij (i = 1, 2, 3 ; j = 1,
2, 3, 4).
Problème de transports

Ce problème peut être représenté par un graphe ou réseau, où les expéditeurs ou les origines
E1, E2 et E3 sont indiqués par des cercles et les consommateurs ou les destinations V1, V2, V3
et V4 par des triangles. La liaison entre les origines et les destinations est représentée par des
arcs dits arcs de capacité. Les origines et les destinations sont appelées respectivement entrées
du réseau ou sommets d’entrée et sorties du réseau ou sommets de sortie. Les coûts de
transport sont représentés par des arcs de capacité et la valeur de chaque coût de transport
représente la capacité de l’arc cij.

c11 = 7 V1
E1
c11 = 8 c31 = 6

c21 = 2 c13 = 5 V2
c22 = 4
E2 c23 = 5 c32 = 3
c24 = 9 c14 = 3
V3
c33 = 1

E3
c34 = 2
V4
Problème de transports

Un problème de transport peut être représenté par un tableau qui contient les coûts unitaires
de transport. Le tableau 4.1 montre la matrice des coûts unitaires de transport du problème
posé.

Consommateurs ou clients
destinations
V1 V1 V1 V1 11 = a1
origine
Quantités produites
C11 C12 C13 C14 en unité ou
E1 11 = a2 disponibilités des
7 8 5 3 dépôts
C21 C22 C23 C24
Producteurs
E2 8 = a3
ou dépôts
2 4 5 9
C31 C32 C33 C34 Production totale =
E3 30 consommation totale ou
6 3 1 2 somme des disponibilités
5= 9= 9= 7=
b1 b2 b3 b4

Quantités de consommées en unités ou demande des clients = somme des demandes

Le problème de transport consiste à établir un plan de transport selon lequel chaque consommateur
ou client reçoit la quantité demandée en tenant compte du coût de transport global minimal.
Problème de transports

En désignant par xij (i = 1, 2, 3 ; i = 1, 2, 3, 4) la quantité à déterminer qui sera livrée du producteur Ei au consommateur Vj,
on peut établir un plan de distribution ou d’affectation d’après le tableau suivant:

V1 V2 V3 V4
E1 x11 x12 x13 x14 a1
E2 x21 x22 x23 x24 a2
E3 x31 x32 x33 x34 a3
b1 b2 b3 b4
Plan d’affection ou de distribution

Le modèle mathématique de l’exemple choisi s’écrit comme suit :


F.O : min Z = 7x11 + 8x12 + 5x13 + 3x14 + 2x21 + 4x22 + 5x23 + 9x24 + 6x31+ 3x32 + 1x33 + 2x34;
S.C : x11 + x12 + x13 + x14 = 11,
x21 + x22 + x23 + x24 = 11,
+ x31+ x32 + x33 + x34 = 8,
x11 + x21 + x31 = 5,
x12 + x22 + x32 = 9,
x14 + x24 + x34 = 7,
C.N.N: xij ≥ 0.
Problème de transports

En utilisant les coefficients généraux cij, ai et bj, le problème de transport peut s’écrire sous la forme analytique
équivalente générale suivante :
n m
F .O : Min Z = ∑∑ cij xij
i =1 j =1

S .C :
n

∑x
j =1
ij = ai i = 1,2 ,...,m (contraintes d' offres ou de production)

∑x
i =1
ij = bj j = 1,2 ,...,n (contraintes de demande ou de consommation)

C.N.N :
xij ≥ 0 i = 1,2 ,...,m et j = 1,2 ,...,n (contraintes de signe)

m n

Si ∑ a = ∑ b
i =1
i
j =1
j : le problème est dit équilibré.
m n
: on crée un client ou un consommateur fictif
Si ∑ ai > ∑ b j
i =1 j=1 (création d’une nouvelle colonne avec des coûts de transport nuls):
 m n

 n +1 ∑
b = ai − ∑ bj
 i =1 j =1
c
 i, n +1 = 0, i = 1,2,..., m ( coûts de transport nuls)
Problème de transports
m n
: on crée un entrepôt ou un producteur fictif
Si ∑ ai < ∑b j
i =1 j=1 (création d’une nouvelle ligne avec des coûts de transport nuls):
 n m

 m +1 ∑ j ∑ a i
a = b −
 j=1 i =1
c
 m +1, j = 0, j = 1,2,..., n ( coûts de transport nuls)
Méthodes de résolution

1. Recherche d’une solution initiale


1.1 Règle du coin Nord-Ouest
La méthode consiste à choisir de partir en haut à gauche (nord ouest) du tableau ci-dessous. Donc
on commence par la variable x11 supposée comme VB.
V1 V2 V3 V4

E1 x11 x12 x13 x14 a1


E2 x21 x22 x23 x24 a2
E3 x31 x32 x33 x34 a3
b1 b2 b3 b4

On prend x11= min (a1,b1) et on le porte dans le tableau des affectations.


• Si a1< b1, toutes les autres variables de la 1ère ligne seront nulles; elles seront considérées comme
des VHB et ne seront pas portées dans le tableau d’affectation. La 1ère ligne sera exclue de la
prochaine itération.
• Si a1 > b1, toutes les autres variables de le 1ère colonne seront nulles; elles seront considérées
comme VHB et ne seront pas portées dans le tableau d’affectation. La 1ère colonne sera exclue de
la prochaine itération.
• Si a1 = b1, toutes les autres variables de la 1ère ligne ou de la 1ère colonne seront nulles
Dans les 3 cas, on remplace a1 par a1-x11 = a1 - min (a1, b1) et b1 par b1-x11 = b1 - min (a1, b1) .
Les calculs recommencent du CNO de la matrice réduite de solutions et répètent jusqu’à ce que les
variables soient déterminées.
Méthodes de résolution

V1 V2 V3 V4 V1 V2 V3 V4
E1 5 x12 x13 x14 11/6 E1 5 6 6/0
E2 x22 x23 x24 11 E2 x22 x23 x24 11
E3 x32 x33 x34 8 E3 x32 x33 x34 8
5/0 9 9 7 0 9/3 9 7

V1 V2 V3 V4 V1 V2 V3 V4
E1 5 6 0 E1 5 6 0
E2 3 x23 x24 11/8 E2 3 8 8/0
E3 x33 x34 8 E3 x33 x34 8
0 3/0 9 7 0 0 9/1 7

V1 V2 V3 V4

E1 5 6 11
E2 3 8 11
E3 1 7 8
5 9 1 7