Vous êtes sur la page 1sur 44

Université Abbes Laghrour

Faculté sciences et Technologies


Département Math et Informatique

Programmation Linéaire
Ens: Khiar A, khiar_abdelouaheb@univ-khenchela.com

Spécialité : SI
Année 2023/2024
PLAN

 Chapitre1: Introduction générale


 Historique de la programmation linéaire.
 Exemples de modélisation de problèmes pratiques sous forme de programme linéaire.
 Chapitre2: Géométrie de la programmation linéaire
 Espaces vectoriels, rang de matrice, systèmes d’équations linéaires.
 Ensemble convexe, hyperplan, polyèdre, simplexe, point extrême.
 Chapitre3: Méthode primale de résolution d’un programme linéaire
 Position du problème.
 Caractérisation des points extrêmes.
 Optimalité en un point extrême.
 Critères d’optimalité : formule d’accroissement de la fonction objectif, critère d’optimalité.
 condition suffisante d’existence de solution non bornée.
 Algorithme du simplexe : amélioration de la fonction objective en passant d’un point extrême à un
autre, algorithme du simplexe sous forme matricielle, finitude de l’algorithme du simplexe,
algorithme et tableau du simplexe.
 Initiation de l’algorithme du simplexe : cas du programme linéaire sous forme normale, méthode
de deux phases.

2
Programmation linéaire
PLAN

 Chapitre4 : Méthodes duales en programmation linéaire


 Définitions.
 Formule d’accroissement de la fonction duale et critère d’optimalité.
 Condition suffisante de solutions réalisables dans le problème primale.
 Algorithme dual du simplexe Initialisation de l’algorithme duale du simplexe.
 ,,,,,,,,,,,,,,

 Références
 V. Chvàtal - Linear Programming, W.H.Freeman, New York, 1983. Japanese translation published by
Keigaku Shuppan, Tokyo, 1986.
 R. J. Vanderbei - Linear Programming, Foundations and Extensions, Springer-Verlag, 2008.
 C. Guéret, C. Prins et M. Sevaux - Programmation linéaire : 65 problèmes d’optimisation modélisés
et résolus avec Visual Xpress, Eyrolles, 2000.
 C. Prins et M. Sevaux - Programmation linéaire avec Excel : 55 problèmes d’optimisation modélisés
pas à pas et résolus avec Excel, Eyrolles, 2011.

3
Programmation linéaire
Historique

 La programmation linéaire est un domaine de la recherche opérationnelle


 Développée au cours de la Seconde Guerre mondiale.
 L’objectif était d’allouer plus intelligemment les ressources de l’armée.
 Le terme programmation est employé avec le sens de plan .

 La PL peut résoudre un VASTE nombre de problèmes.


 Transport : aériens, routiers et ferroviaires.
 Energie : pétrole, gaz, électricité, nucléaire.
 Télécommunications, industrie forestière, finance . . .

 Le développement de la théorie et des algorithmes est une des avancées


scientifiques importantes du 20e siècle.
 Avec l’accélération des ordinateurs, la vitesse de résolution est améliorée par un facteur de 1
million tous les 10 ans . . . 4
Programmation linéaire
Historique

 Les premiers mathématiciens qui se sont occupés de ce problèmes, que l’on ne nommait
pas encore à l’époque « programmes linéaires » (P.L.), sont :
– Laplace (1749-1827) et le baron Fourier.
– Le russe Kantorovitch en 1939 a imaginé une méthode inspirée du théorème de
Lagrange, pour résoudre des « programmes de transport ».
– La contribution décisive a été l’invention de l’algorithme du SIMPLEXE, développé à
partir de 1947 notamment par G.B. Dantzig et le mathématicien V. Neumann.
– Au milieu des années 80, l’indien N. Karmarkar a proposé une nouvelle méthode crée
aux Bell Laboratories qui permettait de résoudre de très gros problèmes linéaires.

5
Programmation linéaire
Programmation mathématique

Définitions
Soient D un domaine de Rn et une fonction f : D → R.
Définition 1. Un programme mathématique, noté (P), est le problème qui consiste à chercher un élément
x∗ de D tel que f(x∗) soit le plus grand possible en cas de maximisation (resp. le plus petit possible
en cas de minimisation). C’est-à-dire :
∀x ∈ D : f(x) ≤ f(x∗) en cas de maximisation
∀x ∈ D : f(x) ≥ f(x∗) en cas de minimisation

On note : en cas de maximisation

en cas de minimisation

6
Programmation linéaire
Programmation mathématique

Définition 2. Soit (P) un programme mathématique.


 Un point x ∈ D est appelé "solution réalisable" de (P).
 Le domaine D est appelé "domaine des solutions réalisables" de (P).
 Une solution x∗ de (P), lorsqu’elle existe, est appelée "solution optimale" de (P).
 La fonction f est appelée "fonction objectif " de (P).
 f(x∗), si x∗ existe, est appelée "valeur du programme mathématique" (P).

Remarque :
Considérons le programme mathématique (P) :
Ceci revient à résoudre le programme (p’) :

7
Programmation linéaire
Programmation Linéaire

Définition
 « la programmation linéaire est une technique mathématique d’optimisation (maximisation
ou minimisation) de fonction à objectif linéaire sous des contraintes ayant la forme
d’inéquations linéaires. Elle vise à sélectionner parmi différentes actions celle qui atteindra
le plus probablement l’objectif visé. »
W.J. Baumaul [1.01],

 « 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. »

R. Dorfman [1.02] et P. Samuelson

8
Programmation linéaire
Modélisation

 Modélisation d’un problème de Programmation linéaire

 Un modèle mathématique est un outil et un moyen qui permet a simuler un


problème, situation ou un phénomène réel pour mieux le comprendre et de le
résoudre. En vue de l’optimisation, résoudre un modèle par une méthode consiste à
chercher des solutions concrètes dites décisions optimales.

Les modèles de la RO sont classés en deux grands groupes


 Modèles déterministes Système selon lequel les événements sont déterminés par des
précédents, suivent une loi de causes à effets, donc ne fait pas appel au calcul de
probabilité, on trouve ici deux grandes familles :
 Optimisation linéaire transport et d’affectation, programmation en nombres entiers(PLNE), graphes et
réseaux.....
 Optimisation non-linéaire quadratique, fractionnaire, la programmation dynamique
 Modèles stochastiques : On peut citer les problèmes suivants : probabilistes,
processus aléatoires, les files d’attentes, modèles de prévision...
9
Programmation linéaire
Modélisation

 Exemple 1 :

 Un fabricant produit 2 types de yaourts à la fraise A et B à partir de Fraise,


de Lait et de Sucre. Chaque yaourt doit respecter les proportions suivantes
de matières premières.
Types A B
Fraise 2 1
Lait 1 2
Sucre 0 1
 Les matières premières sont en quantité limitée : 800 kilos de Fraises, 700
kilos de Lait et 300 kilos de sucre. La vente des yaourts A rapportent 4 DA
par kilo et les yaourts B 5 DA.
 Le Fabriquant veut maximiser ses revenus,
10
Programmation linéaire
Modélisation

 Exemple 1 :

11
Programmation linéaire
Modélisation

 Formulation du modèle :
 1ere étape: Compréhension du problème
 2eme étape: Identification des variables de décision :
 la quantité à produire de chaque type de yaourt soient: xA, xB .
 3eme étape: Fixation des objectifs à atteindre
 Le revenu globale que nous voulons maximiser est donné par la relation
max(z) = 4xA + 5xB
 4eme étape: Mise en équations et\ou inéquations des contraintes
 Les contraintes de non négativité :
xA, xB ≥ 0 ,

 Les contraintes sur la production:


2xA+ xB ≤ 800
xA+ 2xB ≤ 700
xB ≤ 300
12
Programmation linéaire
Modélisation

 Exemple 1 :

 Variables : xi : quantité (en kg) de yaourts du type i = A, B

 produit Objectif : Maximiser f(xA,xB) = 4xA + 5xB

 Contraintes : 2xA+ xB ≤ 800


xA+ 2xB ≤ 700
xB ≤ 300
xA, xB ≥ 0

13
Programmation linéaire
Modélisation

 Exemple 2 :
 Approvisionner au moindre coût les clients à partir des usines

Usine Alger Batna Oran


Productions 25 15 20

Clients Annaba Tlemcen Alger Ouergla


Demandes 20 12 9 14
Prix/Unité Annaba Tlemcen Alger Ouergla
Alger 26 19 0 21
Batna 12 35 24 28
Oran 30 4 12 20
 Comment minimiser les coûts d’approvisionnement

14
Programmation linéaire
Modélisation

 Exemple 2 :
 Variables : xi,j Quantité transporté d’usine (i) vers client (j)

 Objectif : Min

 Contrainte :

15
Programmation linéaire
Modélisation

 Exemple 3 :
 Dans un plan orthogonal quelle est la distance minimale d’un point M de
l’origine O tel que la somme de cordonnées de M est supérieure à d.

 Variables : x, y coordonnées de point M.

 Objectif : Min
 Contrainte :

16
Programmation linéaire
Modélisation

 Exemple 3 :
 Planifier la production d’articles à moindre coût pour les 4 prochains mois.

 Production maximale normale : 1200 articles / mois


 Production maximale en heure sup : 400 articles / mois
 Surcoût heures sup : 7 euros / article
 Stockage : 3 euros / article / mois

Mois1 Mois2 Mois3 Mois4


Demandes 900 1100 1700 1300

17
Programmation linéaire
Modélisation

 Exemple 4 :
 Variables : xt production normale en période t = 1,..,4.
yt production en heure sup en période t = 1,..,4.
st Stock en fin de période t = 1,..,3.
 Objectif : Min

 Contrainte :

18
Programmation linéaire
Les Formes d’un programme linéaire

 Forme générale d’un programme linéaire


Un problème de programmation linéaire est défini par les éléments suivants :
 Les variables de décisions x1, x2, . . . , xn sont réelles.
 Certaines variables sont toujours positives (xi > 0 ; ∀ i ∈ I+),
 d’autres sont toujours négatives (xi < 0 ; ∀ i ∈ I −),
 et les autres de n’importe quel signe (xi ∈ R ; ∀ i ∈ I\(I+ ∪ I−))
(avec I = {1, . . . , n}, I+ ; I − ⊂ I; I + ∩ I − = ∅).

 Les contraintes peuvent être de type :



Inégalités « » :
 Egalités

Inégalités « »

Les nombres aij et bi sont supposés connus.

19
Programmation linéaire
Les Formes d’un programme linéaire

 Forme générale d’un programme linéaire

 L’objectif (critère ou indice de performance, ou fonction économique et) donné par :

Où cj sont des nombres connus.

 On appelle solution réalisable (admissible) tout élément (x1,….,xn) vérifiant toutes les contraintes,
 L’ensemble de solution sera dit ensemble(ou polyèdre si borné) admissible.
 Le but d’un problème d’optimisation est d’optimiser l’objectif sur l’ensemble admissible.
 On peut donc chercher soit à minimiser l’objectif sur l’ensemble admissible, donc on a un
problème de minimisation, soit à le maximiser, et dans ce cas on a un problème de
maximisation.

20
Programmation linéaire
Les Formes d’un programme linéaire

 Forme standard d’un programme linéaire


 Si dans le problème de programmation linéaire sous forme générale , on a :
 (a) I = I+ (toutes les variables sont positives) ;
 (b) m = q = 0 (il n’y a pas de contraintes de type inégalité) ;

 (c) le problème est de maximisation (ou de minimisation),

 alors on dit que le programme est donné sous la forme standard.

 En écriture matricielle, on a :
Z= cx
Ps

 ,.

 Proposition : Tout programme linéaire peut être mis sous la forme standard.

21
Programmation linéaire
Les Formes d’un programme linéaire

 Forme canonique d’un programme linéaire


 Si dans le problème de programmation linéaire sous forme générale , on a :
 (a) I = I+ (toutes les variables sont positives) ;
 (b) p = q = 0 : il n’y a pas de contraintes de type égalité, ni de type inégalité "≥" (resp. m
= p = 0 : il n’y a pas de contraintes de type égalité, ni de type inégalité "≤" );
 (c) Le problème est de maximisation (resp. de minimisation),
 alors on dit que le programme est donné sous la forme standard.

 En écriture matricielle, on a :
max Z= cx min Z= cx
Pc resp. Pc

 ,.

 Proposition : Tout programme linéaire peut être mis sous la forme canonique.

22
Programmation linéaire
Résolution d’un programme linéaire

 Définition : Deux programmes linéaires (P) et (P’) sont dits équivalents, et on écrit (P) ∼ (P’), si
à toute solution de l’un on peut faire correspondre une solution de l’autre telle que les valeurs
des fonctions objectifs respectives en ces points soient égales et réciproquement.

 Résoudre un programme mathématique signifie être capable de répondre aux questions


suivantes:

 Le programme mathématique donné admet-il une solution réalisable ?


 Si oui, ce programme admet-il une solution optimale ?
 Si ce programme admet une solution optimale, trouver celle-ci.

23
Programmation linéaire
Notion et Géométrie de la programmation linéaire

 Espace vectoriel
 Un espace vectoriel défini sur le corps des réels est un ensemble d'éléments
… muni de deux lois :

 est appelée combinaison linéaire des vecteurs


 Si Combinaison linéaire convexe
 Soient r vecteurs ,,, d'un espace vectoriel. On dit qu'ils sont linéairement
indépendants si

24
Programmation linéaire
Notion et Géométrie de la programmation linéaire

 Si , une base est un ensemble de r vecteurs de V linéairement


indépendants.
 Soient ,,, une base de . La représentation d'un vecteur quelconque x
de comme combinaison linéaire de vecteurs de base est unique,
c'est à dire :

25
Programmation linéaire
Notion et Géométrie de la programmation linéaire

 Matrices
 Une matrice de dimension ,
avec m et n entiers strictement positifs
peut être prise comme un ensemble de nombres
réels disposés dans un tableau à m lignes et n colonnes
 La matrice A peut être considérée comme formée de m vecteurs
lignes de dimension n :

 ou de n vecteurs colonnes de dimension m

26
Programmation linéaire
Notion et Géométrie de la programmation linéaire

 Rang d’une matrice


 Le nombre maximal de vecteurs linéairement indépendants parmi les m
vecteurs lignes est égal au nombre maximal de vecteurs linéairement
indépendants parmi les n vecteurs colonnes, ce nombre est appelé rang de la
matrice A, et on note .

 Une matrice carrée A de dimension est dite régulière si . Dans ce cas, la


matrice A est inversible et la matrice inverse de dimension vérifie la relation .

27
Programmation linéaire
Notion et Géométrie de la programmation linéaire

 Système d’équation
 On appelle système à m équations linéaires à n inconnues le système
d'équations

 que l'on peut représenter sous forme vectorielle par

28
Programmation linéaire
Notion et Géométrie de la programmation linéaire

 Matrice augmentée
 On appelle matrice augmentée notée (A,b) la matrice que l'on obtient en adjoignant le
vecteur b à la matrice A :

 Si le système n'admet pas de solution ;


 Si le système admet une solution unique ;
 Si le système admet une infinité de solutions.
 Supposons , alors le système possède :
 Une unique solution si et cette solution s'écrit sous la forme
 Une infinité de solutions si .
 Si B est une matrice régulière de dimension , alors :
 les systèmes sont équivalents c'est à dire, ils ont le même nombre de solutions.

29
Programmation linéaire
Notion et Géométrie de la programmation linéaire

 Géométrie d’une contrainte


 Définition : Soient a ∈ Rn , a <> 0, β ∈ R. L’ensemble défini par : H

est un hyperplan de Rn .
On définit, à partir de H le demi-plan fermé h, l’espace vectoriel donné comme
suit :

2x + 3y ≤ 6 4x + 2y +5z ≤ 20

30
Programmation linéaire
Notion et Géométrie de la programmation linéaire

 Géométrie d’une contrainte


L’hyperplan divise en deux demi-plans fermés
et .
H est la frontière du demi-plan fermé h.
le vecteur a est perpendiculaire à l’hyperplan h.
l’hyperplan est vu comme une intersection de deux demi-plans fermés

Pour un programme linéaire, sous sa forme générale, une solution réalisable est
un n-vecteur de satisfaisant toutes ses contraintes. Il s’ensuit que l’ensemble des
solutions réalisables est l’intersection de tous les demi-plans fermés donnés par
chaque contrainte.

31
Programmation linéaire
Notion et Géométrie de la programmation linéaire

 Géométrie de la fonction objective


 Soit fonction objective d’un programme P (c un n-vecteur ligne).
Si k est un scalaire, alors le graphe d’équation est un hyperplan.
La résolution d’un programme linéaire est la recherche d’un point x de l’ensemble de ses
solutions réalisables pour lequel la valeur de k est optimale (maximum ou minimum).
Géométriquement, nous cherchons un hyperplan qui intersecte l’ensemble des solutions
réalisables et pour lequel k est optimum.
La valeur de k mesure la distance de l’origine à l’hyperplan.

32
Programmation linéaire
Notion et Géométrie de la programmation linéaire

 Géométrie de l’ensemble des solutions réalisable


 Ensemble convexe
 Un ensemble D non vide est dit convexe si et seulement si pour tout élément x et y de D et pour
tout λ ∈ [0,1] : λx+ (1−λ)y ∈ D.
 Autrement dit, un ensemble D est convexe si le segment joignant deux de ses points quelconques
est contenu dans l’ensemble C.

33
Programmation linéaire
Notion et Géométrie de la programmation linéaire

 Propriétés
 L’intersection d’une collection arbitraire d’ensembles convexes est un
ensemble convexe. i.e
est convexe.
 Si C est convexe et β ∈ R, l’ensemble : βC = {x ∈ Rn : x = βc / c ∈ C} est
convexe.
 Si C et D sont deux sous-ensembles convexes de Rn alors
l’ensemble C + D = {x ∈ Rn : x = c + d, c ∈ C, d ∈ D} est convexe.

 Définition (Ensemble borné). Un ensemble S de Rn est borné, s’il existe k ∈ R, tel


que la valeur absolue de chaque composante de chaque point de S est plus petit
que k ∀x = (x1, . . . , xn) ∈ S, ∃k ∈ R : |xi| ≤ k, ∀i = 1, n
 Les ensembles convexes sont de deux types : bornés et non bornés.

34
Programmation linéaire
Notion et Géométrie de la programmation linéaire

 Un demi-espace fermé de Rn est convexe.


 Un hyperplan est un ensemble convexe.
 Soient A une m×n-matrice et b un m-vecteur colonne de Rm. L’ensemble non
vide des solutions du système d’équations linéaires Ax = b est convexe.

 Définition. Un point x d’un ensemble convexe S de Rn est appelé un point


extrême (ou sommet) de S s’il n’est pas un point intérieur d’un segment de S.

35
Programmation linéaire
Notion et Géométrie de la programmation linéaire

 Définition : Un polyèdre est un ensemble décrit par :

A est une matrice et


 Définition: (Face) Considérons un polyèdre convexe, défnie par ,. Les ensembles
non vides de points de P vérifiant un sous-ensemble des m équations , sont
appelés des faces de P.
 L’ensemble réalisable d’un programme linéaire est un polyèdre convexe borné ou
non borné.

36
Programmation linéaire
Notion et Géométrie de la programmation linéaire

 Théorème : Soit D un ensemble de solutions réalisables d’un programme linéaire.


On a :
 Si D un polyèdre non vide, convexe et borné :
 soit la solution optimale est unique et est située en un sommet de D,
 soit il existe une infinité de solutions optimales qui sont les points d’une face
de D ; ces solutions optimales sont donc combinaison convexe d’un nombre
fini de sommets.
 Si D est un polyèdre convexe, non vide mais non borné, il est possible, en plus des
situations décrites ci-dessus, que le problème n’ait pas de solution optimale à
distance finie ; il existe alors une solution réalisable (à l’infini) telle que z = ∞.
 Si D = ∅ ; le problème n’a pas de solution optimale.

37
Programmation linéaire
Notion et Géométrie de la programmation linéaire

 ,

38
Programmation linéaire
Notion et Géométrie de la programmation linéaire

 ,

39
Programmation linéaire
Notion et Géométrie de la programmation linéaire

 ,

40
Programmation linéaire
Notion et Géométrie de la programmation linéaire

 Propriété (Caractérisation algébrique des sommets).


 À chaque sommet du polyèdre D correspond une et une seule solution de base réalisable
et inversement
 Une solution de base, dans l’espace de décision , est le point d’intersection de n
hyperplans
 L’ensemble des sommets sera l’ensemble des solutions de base du Pb Ax=b réalisables,

41
Programmation linéaire
42
Notion et Géométrie de la programmation linéaire

 Résolution Graphique : Lorsqu'il n'y a que deux variables de décision, un


problème linéaire peut être résolu de manière purement graphique en suivant le
processus suivant :
 On dessine les demi-plans fermés des contraintes. On trace la droite (hyperplan) en
remplaçant les inégalités par des égalités.
 On détermine le domaine X définissant l'ensemble des points satisfaisant toutes les
contraintes. Le domaine X est l'intersection de tous les demi-plans fermés.
 On trace la droite représentant la fonction objective et passant par l'origine.
 On translate la droite de la fonction objective selon le support de son vecteur normal.
 On se déplace selon une direction de descente (si on minimise)
 Direction de montée si on maximise
 Le point optimal est le dernier point du domaine que la droite de la fonction objective
touchera lors de son déplacement.
43
Programmation linéaire
Notion et Géométrie de la programmation linéaire

44
Programmation linéaire

Vous aimerez peut-être aussi