Vous êtes sur la page 1sur 45

1

CHAPITRE 2

PRO GRA M M A T IO N
MATHÉMATIQUE

@mail: nacera.bahnes@univ-mosta.dz 17/04/2021


Chapitre 2: Programmation Mathématique
2

 Programmation linéaire en nombre entier

 Programmation linéaire en nombre binaire

 Programmation dynamique

 Autre
 Programmation non linéaire

@mail: nacera.bahnes@univ-mosta.dz
17/04/2021
Introduction
3
La programmation mathématique est le nom donné aux problèmes d’optimisation liée ou
optimisation sous contraintes : il s’agit de rechercher l’optimum d’une fonction de
variables, étant donné que celles-ci doivent vérifier un certain nombre d’équations et/ou
d’inéquations appelées « contraintes ». Le modèle mathématique est composé de variables
de décision, l’ensemble des conditions et l’objectif à optimiser.

Un problème d’optimisation est caractérisé par :


 Domaine de variable de décision: contenu, discret ou binaire.

 Nature de la fonction objectif à optimiser: mono-objectif ou multi-objectif.

 Présence ou absence des contraintes: sans contraintes ou avec contraintes.

 Taille de problème : grande/ petite taille.

 Environnement : statique/dynamique.

 Paramètres de problème : exacte / stochastique.

 Nature de formule : linéaire ou non linéaire.

@mail: nacera.bahnes@univ-mosta.dz
17/04/2021
PL EN NOMBRE ENTIER
4

La programmation linéaire en nombres entiers (PLNE) est un


domaine des mathématiques et de l'informatique dans lequel on
considère des problèmes d'optimisation d'une forme particulière. Ces
problèmes sont décrits par une fonction de coût et des contraintes
linéaires et des variables entières.

@mail: nacera.bahnes@univ-mosta.dz
17/04/2021
PL EN NOMBRE ENTIER
Exemple 1
5

Une usine a reçu des plaques de métal d’une largeur de 200 cm et d’une longueur de 500
cm. Il faut en fabriquer au moins:

 30 plaques de largeur de 110 cm ,

 40 plaques de largeur de 75 cm et

 15 plaques de largeur de 60 cm.

- Donner le modèle mathématique pour que les déchets soient les plus petits possibles.

@mail: nacera.bahnes@univ-mosta.dz 17/04/2021


PL EN NOMBRE ENTIER
Exemple 1
6
Une plaque de 200 cm de largeur peut être découpée par :

 1ère façon: Une plaque de 75 cm et deux plaques de 60 cm. Les déchets seront de 05 cm.

 2ère façon: Une plaque de 110 cm et une plaque de 75 cm. Les déchets seront de 15 cm.

 3ère façon: Une plaque de 110 cm et une plaque de 60 cm. Les déchets seront de 30 cm.

 4ère façon: Trois plaques de 60 cm. Les déchets seront de 20 cm.

 5ère façon: Deux plaques de 75 cm. Les déchets seront de 50 cm.

 Inconnus : Xi : le nombre de plaques à découper par la façon i (i=1..5) [Xi entier]


Min Z = 5 X1+15 X2+30 X3+20 X4+50 X5
X2 + X3 ≥ 30
 Programme Linéaire
X1 + X2 +2X5 ≥ 40
2X1 + X3 + 3X4 ≥ 15
PLNE
X1 , X2 , X3 , X4 , X5 ≥ 0
Xi ϵ Ⱬ (i=1..5)

@mail: nacera.bahnes@univ-mosta.dz 17/04/2021


PL en nombre Binaire
7

 La programmation linéaire en nombres binaires

Ces problèmes sont décrits par une fonction de coût et des contraintes
linéaires et des variables booléennes.

 𝑚𝑎𝑥 𝑛𝑖=1 𝑐𝑖 ∗ 𝑥𝑖
 𝐴𝑥 ≤ 𝑏
 𝑥𝑖 ∈ 0, 1 ∀ 𝑖 ≤ 𝑛

 Variables de décisions xi : variables booléennes

@mail: nacera.bahnes@univ-mosta.dz 17/04/2021


PL EN NOMBRE BINAIRE
Exemple 2 8

 Modélisation du problème de sac à dos

Soient n objets de poids pi et utilité ci i=1, 2, …n

Quels objets le randonneur doit-il empoter pour maximiser l’utilité totale sans dépasser le poids total permis P ?

Variables xi= 1 si le randonneur prend l’objet i

0 sinon

𝑛
Max 𝑖=1 𝑐𝑖 ∗ 𝑥𝑖 Maximisation de l’utilité totale
𝑛
𝑖=1 𝑝𝑖 ∗ 𝑥𝑖 ≤ 𝑃 Limitation du poids total

𝑥𝑖 ∈ 0, 1 ∀𝑖 ≤𝑛

@mail: nacera.bahnes@univ-mosta.dz 17/04/2021


PL EN NOMBRE BINAIRE
Exemple 3
9

 Une compagnie de taxi dispose de quatre véhicules libres et doit transporter quatre clients.
Le but de la compagnie est d'assigner un taxi par client en minimisant la somme des
distances parcourues. Les distances respectives (en kilomètres) entre les taxis et les
voyageurs sont données par le tableau ci-contre.
Distance(cij) Client1 Client2 Client3 Client4

Taxi1 6 4 5 4

Taxi2 3 5 6 4

Taxi3 4 4 6 3

Taxi4 5 6 7 5

- Donner un modèle mathématique de ce problème.

@mail: nacera.bahnes@univ-mosta.dz 17/04/2021


PL EN NOMBRE BINAIRE
Exemple 3
10

 Variables de décision Xij = 1 si le taxi i va transporter le client j

(1≤i≤4 , 1≤j≤4) 0 sinon

Les coefficients de la fonction objectif « Cij » : la distance entre le taxi i et le client j

𝟒 𝟒
 𝑴𝒊𝒏 𝒁 = 𝒊=𝟏 𝒋=𝟏 𝑪𝒊𝒋 𝒙𝒊𝒋

𝟒
 𝒋=𝟏 𝒙𝒊𝒋 =𝟏 𝒊 = 𝟏…𝟒

𝟒
 𝒊=𝟏 𝒙𝒊𝒋 =𝟏 𝒋 = 𝟏…𝟒

𝒙𝒊𝒋 𝝐 *𝟎, 𝟏+ 𝒊 = 𝟏 … 𝟒 , 𝒋 = 𝟏 … 𝟒

 Au total, il y a 16 variables (binaires). Donc, ce PL admet 4! Solutions réalisables.

 Puisque l’ensemble des solutions réalisables n’est pas vide , ce PL admit une (ou plusieurs) solution(s)

optimale(s).

@mail: nacera.bahnes@univ-mosta.dz 17/04/2021


PL EN NOMBRE ENTIER - Résolution
11

Exemple 1
Solution optimale
entière (1, 4)

x2 ≤ 4

@mail: nacera.bahnes@univ-mosta.dz
17/04/2021
PL EN NOMBRE ENTIER - Résolution
12

Exemple 2
Min Z= -3x1-2x2
-3x1 + 4x2 ≤ 6
2x1 + 2x2 ≤ 11
4x1 - 5x2 ≤ 10
x1, x2 ≥ 0

Solution optimale de PL continu : (25/6 , 4/3), Z*PL = -91/6.


Si seule x1 doit être entière, le PL mixte correspond au domaine
d’admissibilité formé par cinq segments verticaux, solution
(4 , 3/2), Z PL = -15.
*
optimale de PL mixte :
x1 et x2: entiers, Solution optimale de PLNE: (3 , 2), Z* =-13.
PL

@mail: nacera.bahnes@univ-mosta.dz
17/04/2021
PL EN NOMBRE ENTIER - Résolution
13

Exemple 3 x2
Max z=2x1+x2
x1  8 x1=19/4, x2=5 z=58/4
5
x 5
2 x1=5 x2=4 z=14
x1+x2  6
4x1+x2  24
x1 N, x2 N

x1

@mail: nacera.bahnes@univ-mosta.dz
17/04/2021
PL EN NOMBRE ENTIER - Résolution
14

Remarque
La solution optimale de PLNE ou de PL mixte n’est pas toujours un sommet de
polyèdre, elle peut situer à l’intérieur de l’espace des solutions réalisables ou sur
les frontières.
En cas de maximisation, Z* ≥ Z* ≥ Z*PLNE
PL mixte
En cas de minimisation, Z* ≤ Z* ≤ Z*
PLNE
PL mixte

Ce type de problème est NP-difficile, "difficile" à résoudre.

@mail: nacera.bahnes@univ-mosta.dz
17/04/2021
PLNE -Les méthodes de résolution
15

Méthodes exactes (procédures par séparation et


évaluation ; plans sécants (coupes)…)

Algorithmes approchés (pour les grands problèmes)

@mail: nacera.bahnes@univ-mosta.dz
17/04/2021
PLNE - Résolution

M ÉTHO DE
DES CO UPES DE G O M O RY

@mail: nacera.bahnes@univ-mosta.dz 17/04/2021


PLNE - Coupes de Gomory (Gomory, 1958)
17

La méthode de Gomory consiste essentiellement à tronquer graduellement l’ensemble convexe


des solutions réalisables du PL continu correspond par l’adjonction successive de contraintes
linéaires supplémentaires, de sorte que les points extrêmes des nouveaux ensembles
polyédriques ainsi obtenus soient discrets dans la région de la solution optimale.

Lorsqu’on résout les nouveaux PL contenus ainsi engendrés à l’aide de la méthode du


simplexe, si la solution trouvée est entière, on conclut qu’elle correspond à la solution optimale
du PL en variables discrètes.

Si par contre la solution calculée n’est pas entière, il existe dans le voisinage de cette solution
une région qui ne contient pas de points à coordonnées discrètes et par conséquent on
l’élimine de l’ensemble convexe précédent par une troncature convenable jusqu’à ce qu’une
solution discrète soit obtenue.

@mail: nacera.bahnes@univ-mosta.dz
17/04/2021
PLNE -Coupes de Gomory
18
Etape 1 Soit a un nombre réel
Résoudre le P.L continu obtenu en négligeant la a = 𝒂 +𝒇
condition d’intégralité dans le problème initial.
𝒂 le plus grand entier qui
Etape 2
est plus petit ou égal à a
Si la solution du PL courant est entière : terminer.
C’est la solution optimale du programme linéaire en f =a - 𝒂
nombres entières purs (PLNE).
Autrement, choisir une variable de base qui a une valeur
non entière et utiliser l’équation dont elle fait partie, disons
l’équation i pour engendrer une contrainte de coupe: xq : variable hors base
𝒂𝒊𝒒 = 𝒂𝒊𝒒 + 𝒇𝒊𝒒
𝒒 𝑽𝑯𝑩(−𝒇𝒊𝒒 ) ∗ 𝒙𝒒 + 𝒙𝒏+𝟏 = −𝒇𝒊 , 𝒙𝒏+𝟏 ≥ 𝟎 𝒆𝒏𝒕𝒊𝒆𝒓.
𝒃𝒊 = 𝒃𝒊 + 𝒇𝒊
Etape 3 𝒂𝒊𝒒 partie entiere de 𝒂𝒊𝒒
Ajouter la contrainte de coupe au tableau final du PL
courant et résoudre le nouveau problème avec l’algorithme 𝒃𝒊 partie entiere de 𝒃𝒊
du Dual simplexe. 𝒇𝒊𝒒 et 𝒇𝒊 parties
Poser n = n+1 et retourner à l’étape 2.
fractionnaires
n: nombre des variables

@mail: nacera.bahnes@univ-mosta.dz
18/04/2021
PLNE -Coupes de Gomory
19
Etape 1
Résolution le PL relaxé à l’aide de la M. du Simplexe
Exemple
x1 x2 x3 b

x3 10 12 1 59

-Z -10 -11 0 0
x2 5/6 1 1/12 59/12

-Z -5/6 0 11/12 649/12


x1 1 6/5 1/10 59/10

-Z 0 1 1 59
Etape 2
Solution optimale de PL en continu: Z* = -59
x1*= 59/10, x2*=0 mais x1 entier
Passer à l’Etape 3
@mail: nacera.bahnes@univ-mosta.dz 17/04/2021
PLNE -Coupes de Gomory
20
Etape 3
En ajoutant une coupe % x1
Sol opt : (1/2, 9/2)
-1/5x2 -1/10x3  - 9/10 (1)
Z* = -109/2
(1)  -1/5x2 -1/10x3 + x4 = - 9/10

x1 x2 x3 x4 b
x1 1 6/5 1/10 0 59/10
x4 0 -1/5 -1/10 1 -9/10
-Z 0 1 1 0 59
x1 1 0 -1/2 6 1/2
x2 0 1 1/2 -5 9/2
-Z 0 0 ½ 5 109/2

Etape 2
Solution optimale : Z* = - 109/2
x1*= 1/2, x2*=9/2 mais x1 et x2 non entier En termes de x1 et x2 ,
(1) s’écrit : x1+x2  5
Passer à l’Etape 3
@mail: nacera.bahnes@univ-mosta.dz
18/04/2021
PLNE -Coupes de Gomory
21
Etape 3
Sol opt : (1, 4)
En ajoutant une coupe % x1 (ou x2)
-1/2x3  - 1/2 (2) Z* = -54
(2)  -1/2x3 + x5 = - 1/2

x1 x2 x3 x4 x5 b
x1 1 0 -1/2 6 0 1/2
X2 0 1 1/2 -5 0 9/2
x5 0 0 -1/2 0 1 -1/2
-Z 0 0 ½ 5 0 109/2
x1 1 0 0 6 -1 1
X2 0 1 0 -5 1 4
X3 0 0 1 0 -2 1
-Z 0 0 0 5 1 54

Solution optimale : Z* = -54 x1*= 1, x2*=4


En termes de x1 et x2 ,
solution optimale courante est entière
(2) s’écrit : 5x1+6x2  29
(terminer)
@mail: nacera.bahnes@univ-mosta.dz
18/04/2021
PLNE -Coupes de Gomory
Exercice 22
Résoudre par la méthode de Gomory les PL suivants:

Max Z= 2x1 + x2
Max Z= 10x1 + 11x2 -x3
-x + x2 ≤ 0
5x1 + 6x2 + x3 ≤ 27
5x1 + 2x2 ≤ 18
x1 , x2 , x3 ≥ 0 (entier)
x1 , x2 ϵz+

Max Z= 10x1 + 11x2 -x3 Max Z= 3x1 + 2x2


5x1 + 6x2 + x3 ≤ 27 -x + x2 ≤ 1
x1 , x2 , x3 ≥ 0 (x3 entier) x1 + 2x2 ≤ 10
7x1 + 2x2 ≤ 28
x1 , x2 ≥ 0 (entier)
Max Z= -10x1 -11x2 +x3
Min Z= -x1 - 2x 2
5x1 + 6x2 + x3 ≤ 27
x + x2 ≥ ¼
x1 , x2 , x3 ≥ 0 (x1 entier)
x + x2 ≤ ½
x1 , x2 ≥ 0 (entier)

@mail: nacera.bahnes@univ-mosta.dz
18/04/2021
23

MÉTHODE DE
BRA NC H & BOU N D
(B&B)

@mail: nacera.bahnes@univ-mosta.dz 17/04/2021


Séparation et évaluation (Branch and Bound)
24

Le principe de B&B consiste à subdiviser (à chaque étape) le problème en un ensemble


fini de sous problèmes. Ces subdivisions successives sont représentées à l’aide d’une
arborescence (arbre de décision). La racine de l’arborescence correspond au
problème initial relaxé. Tout problème (nœud) est ainsi séparé selon une seule
variable non entière. Le sous ensemble de niveau 0 correspond au problème initial.

Cette méthode sera essentiellement constituée de 3 procédures:

1. Procédure de Séparation

2. Procédure d’évaluation

3. Procédure de cheminement

@mail: nacera.bahnes@univ-mosta.dz 17/04/2021


Séparation et évaluation (Branch and Bound)
25
1. Procédure de Séparation
Le nombre de sous problèmes (sous-ensembles) crées doit être fini pour tout problème mais il n’est
pas nécessairement identique à chaque séparation. [Pour un PL en nombre binaire, il consiste à
partitionner à chaque niveau l’ensemble « S » des solutions en deux sous-ensembles de cardinal de plus en
plus petits de façon à isoler une solution optimale (en fixant une variable à déterminer aux valeurs 0 ou 1)] .

Le principe de séparation doit satisfaire aux trois règles suivantes :


 Règle finitude : en appliquant systématiquement le principe de séparation, le nombre total de
nœuds engendrés doit être fini.

 Règle de conservation : aucune solution ne peut être éliminée par la séparation (union des sous
problèmes de même parent = sous problème parent).

 Règle d’arrêt : un nœud (sous-ensemble) terminal de l’arborescence est défini comme un


nœud qu’il n’est pas possible de séparer, pour un tel sous ensemble :
•Non réalisable
•Avec solution réalisable (qui peut être optimale)

@mail: nacera.bahnes@univ-mosta.dz 03/03/2020


17/04/2021
Séparation et évaluation (Branch and Bound)
26

2. Procédure d’évaluation

Pour chaque sous-ensemble on définit une fonction d’évaluation par défaut.

Il consiste à analyser un sous problème (obtention de la borne inférieur

(cas de Max) ou supérieur (cas de Min).

Cette analyse vise à évaluer la valeur optimal de la fonction objectif de sous

problème.

@mail: nacera.bahnes@univ-mosta.dz
17/04/2021
Séparation et évaluation (Branch and Bound)
27

3. Procédure de cheminement : indique quel sous ensemble à analyser et dans quel


ordre. Il est souhaitable d’examiner le moins de sous ensembles possibles. Certains d’entre
eux ne contiennent pas de solution meilleure.

Il est évidemment exclu d’examiner la totalité des nœuds en choisissant une stratégie de
cheminement :

En profondeur d’abord

En largeur d’abord

Meilleure évaluation d’abord

Autre techniques en définissant des règles de branchement (tel que la


notion de pénalité)

@mail: nacera.bahnes@univ-mosta.dz
17/04/2021
Séparation et évaluation (Branch and
Bound)
28

1. Séparer des nœuds en d’autres nœuds

2. Évaluer les bornes inférieur (supérieur) pour les nouveaux


nœuds

3. Choisir le prochain nœud intermédiaire à séparer

4. Identifier les nœuds qui contiennent seulement des solutions non


réalisables ou non optimales

5. Identifier le(s) nœud(s) finale(s) qui contien(nen)t une solution


optimale.

@mail: nacera.bahnes@univ-mosta.dz
18/04/2021
Branch And Bound: Algorithme générale
(cas de Max)
29
(1) Choisir une stratégie d’exploration. Poser m=0 k=0, et Z- = -
(2) Résoudre Pm et soit Xm sa solution optimale.
Si Xm est entière. On coupe le nœud et
Si Zm> Z- on pose Z- = Zm (amélioration de la borne)
Sinon Si Zm Z- On coupe le nœud et Aller en 4)

Sinon Aller en 3)
3) Soit (xi =a) une variable entière et a est un nombre non entier tel que 𝑎 <xi < 𝑎 +1.
Séparer Pm en Pk+1 et Pk+2) où :

Pk+1 = { Pm et xi ≤ 𝑎 }, Pk+2 = {Pm et xi ≥ 𝑎 +1}. //Résoudre Pk+1 et Pk+2 .


k=k+2
4) Tester si tous les nœuds sont coupés.
Si oui. Terminer.
Sinon, choisir Pm le nœud à explorer (procédure de cheminement) et aller en 2)

@mail: nacera.bahnes@univ-mosta.dz
18/04/2021
Exercice
30

Soit le PLNE (P) suivant:


Min Z = -3 x1 -4 x2
2 x1 + x2 ≤ 6
2 x1 + 3 x2 ≤ 9
x1, x2  N

- Résoudre P

Mécanisme de cheminement ?

@mail: nacera.bahnes@univ-mosta.dz
18/04/2021
Séparation et évaluation (Branch and Bound)
31

B&B pour PLNE


Dans chaque étape, on choisit une variable qui a une valeur optimale et non entière
xk= a. On sépare le problème en deux sous problèmes par rapport à cette variable :
xk ≤ 𝑎 e t xk≥ a + 1

B&B pour PL en nombre binaire


Procédure de séparation la plus élémentaire consiste à chaque nœud de l’arborescence, à
créer 2 sous-ensembles en fixant une variable libre xk à déterminer aux valeurs 0 ou 1
(xk n’est plus libre, elle est fixé à 1 dans la 1ère sous ensemble (est fixé à 0 dans le 2ème sous-
ensemble)). Il existe d’autres procédures de séparation plus sophistiqués mais aussi plus
efficaces pour réaliser une énumération implicite.

@mail: nacera.bahnes@univ-mosta.dz
18/04/2021
Exercice : Probleme de sac à dos
32

Soit 7 objets de poids Pi (en kilos) et volume Vi (en m3). Etant donné
que le volume maximum de chargement est de 50 m3 (On suppose que
les objets sont déjà classés dans l’ordre des efficacités décroissantes).

i 1 2 3 4 5 6 7
Vi 31 10 20 18 4 3 6
Pi 70 20 39 35 7 5 9

Déterminer quels objets charger de façon à maximiser le poids de


chargement.

@mail: nacera.bahnes@univ-mosta.dz
17/04/2021
Résolution de problème de sac à dos : Principe
33

1) Trier les objets par ordre d’efficacité [Pi/Vi]


2) Rechercher une solution réalisable initiale (Z0 : borne inferieur Z-)

3) Evaluation
Résoudre le sous PL relaxé et calculer la borne superieur (Z+)

Si Z+ > Z- aller à l’etape 4)

Sinon éliminer ce sous PL

4) Séparation % à une variable qui a une valeur non entière

5) Refaire les étapes 3) et 4) tantque il existe des séparations possibles

@mail: nacera.bahnes@univ-mosta.dz
17/04/2021
PL EN NOMBRE BINAIRE
34

Autres exemples

• Problème d’affectation
• Problème de p-median
• Problème de voyageur de commerce
• Etc.

@mail: nacera.bahnes@univ-mosta.dz
17/04/2021
35

Programmation dynamique

@mail: nacera.bahnes@univ-mosta.dz 17/04/2021


Programmation dynamique
36

Programmation dynamique (PD) est une technique mathématique conçue pour prendre une
suite de décisions mutuellement reliées entre elles en vue d’optimiser un objectif donné.

Elle a été proposée par Richard Bellman dans les années 1950 dans la foulée du succès de
la programmation linéaire. C’est le 1er à avoir décrit en détail et popularisé la PD.

Programmation dynamique = optimisation séquentielle

L’idée : Le plus court chemin est formé de sous chemins optimaux.


Principe de base
 Résoudre un problème grâce à la résolution de sous problèmes.

 Eviter de calculer deux fois la même chose i.e : la solution du même sous problèmes.

@mail: nacera.bahnes@univ-mosta.dz
17/04/2021
Programmation dynamique
37

Optimisation séquentielle: il s’agit d’une résolution


séquentiellement étape par étape pour dégager une solution
(politique) optimale pour l’ensemble de la séquence.

Il s’agit d’une méthode d’énumération implicite. On retient ou rejette


des sous-ensembles de solutions mais on ne construit
explicitement si elles appartiennent à un sous ensemble qui n’est pas
intéressant.

@mail: nacera.bahnes@univ-mosta.dz
17/04/2021
Plus court chemin (Algorithme de Bellman)
38
Données: Graphe G=(X, U, d) sans circuit avec d (u) : U IR .
Racine : sommet s
Résultat: A : Arborescence de plus courts chemins.

(1) Initialisation: on pose S= {s}, F(s)=0 et A(s)=ɛ.


(2) Chercher un sommet x hors de S dont tous ses prédécesseurs sont dans S.
Si un tel sommet n'existe pas; Terminer
(Dans ce cas soit S=X, soit le sommet s n'est pas une racine dans A).
Sinon Aller en (2)
(2) On pose: π (x) = Min (π (y) + d (u) ). Avec y : extrémité initiale de l’arc u
Soit ù l'arc pour lequel π(x) = π(y) + d (ù) tel que y: extrémité initiale de l’arc u
A(x) u’
S S u {x}
Aller à (1)

@mail: nacera.bahnes@univ-mosta.dz
17/04/2021
PROGRAMMATION DYNAMIQUE
39

Variable d’état : elle caractérise l’état du


système à chaque instant ti, noté ai i=0, 1, …N.

Variable de décision : elle représente la


décision à prendre à chaque période i et noté Xi.

Problème dynamique à temps discret et avenir déterminé :

L’état du système étant présenté par ai=f (ai-1, Xi); f : fonction de transfert
Avec fonction de cout additive dans le temps g(ai, xi) Où i : numéro de la

période, dont le nombre des périodes est fixé à N.

Remarque : Les états extrêmes a0 et/ou an peuvent être fixé.

@mail: nacera.bahnes@univ-mosta.dz
17/04/2021
PROGRAMMATION DYNAMIQUE
40

Si PD est en avenir aléatoire avec wi est la perturbation aléatoire de la


période i ; la fonction de transfert (f) et la fonction de cout (g) sont
écrites en fonction de ai, Xi et wi.

« ai» état de système au début (ou à la fin) de la période i.


Les variables sont des variables discrètes ne prennent qu’un nombre fini de
valeurs.

Il convient à examiner toutes les valeurs possibles que peuvent prendre les
variables ai et pour chacune d’elles déterminer la valeur optimale de Xi.

@mail: nacera.bahnes@univ-mosta.dz
17/04/2021
PROGRAMMATION DYNAMIQUE
41
Exemple 1 (gestion de stock)
Le tableau suivant donne pour les 5 périodes, les quantités demandés et les prix
d’achats d’un produit à revendre. La capacité de stockage est limitée à 5 unités. On
cherche à déterminer les quantités à acheter à chaque période de manière à
minimiser le cout total d’achat sur les 5 périodes.

On sait de plus que :


 i. Les achats se font en début de période,

 ii. On doit stocker les ventes de la période en cours,

 iii. On commence et on finit avec un stock nul,

 iv. Les quantités achetées sont nécessairement entières.

- Déterminer la politique d’achat optimale.

@mail: nacera.bahnes@univ-mosta.dz
17/04/2021
PROGRAMMATION DYNAMIQUE
42

Exemple 1 (gestion de stock)

 dj : demande de la jème période , j=1..5


 pj : prix d’achat à jème période , j=1..5
 aj : quantité restant en stock à la fin de la jème période , j=1..5 (variable d’état)
 xj : quantité achetée à la jème période , j=1..5 (variable de décision)

𝟓
𝑴𝒊𝒏 𝒁 = 𝒋=𝟏 𝒑𝒋 ∗𝒙
𝒋
a0 = 0
0 ≤ aj ≤ 5 – dj j=1..5
aj = aj-1 + xj – dj j=1..5
a5 = 0
xj ϵ N j=1..5

 Solution optimale (5, 2, 2, 5, 0) Z* = 190

@mail: nacera.bahnes@univ-mosta.dz 18/04/2021


PROGRAMMATION DYNAMIQUE
43
Exemple 2
1 2 3 4 5
On dispose d’une somme de 4 millions de dinars et il
existe cinq investissements possibles (j= 1…5). Le 1 5 4 6 4 3
tableau suivant fournit le nombre d’emplois créés si on 2 10 9 9 8 7
investit une somme de 𝑥𝑗 ∈ 0, 1, 2, 3, 4 millions de 3 14 16 15 17 16

dinars dans l’investissement j ; j=1, … 5. 4 18 17 19 20 18

Déterminer l’investissement optimal des 4 millions


pour maximiser le nombre d’emplois crées.

Solution optimale: 23 emplois crées(x1, x2, x3, x4, x5) = (0, 0, 1, 3, 0)


C-à-d On investit un million pour l’investissement 1 et 3 millions dans la
4ème investissement pour avoir le nombre maximum d’emploi.

@mail: nacera.bahnes@univ-mosta.dz
18/04/2021
CONCLUSION
44

- Problème facile ou problème difficile

Si le problème est "facile": appliquer un algorithme exacte (efficace) qui


calcule une solution optimale s’elle existe .

Si le problème est « difficile» et de "grande taille": Chercher une solution


approchée et garantir l’efficacité de cette solution.

Pour un PL de Grande taille ou le calcul de la solution optimale avec une


méthode exacte dans un temps raisonnable est impossible , le calcul d’une
meilleure solution avec une méthode approchée est recommandé.

@mail: nacera.bahnes@univ-mosta.dz 03/03/2020


17/04/2021
CONCLUSION
45

Un PL mono objectif est défini avec une seule fonction objective par contre un PL
multi-objectif est défini avec plusieurs critères .

La Programmation Linéaire Multi-Objectif permet de modéliser et résoudre


des problèmes où l'on considère simultanément plusieurs critères définis par
autant de fonctions objectifs.

Et dans le cas d'un PL mono-objectif, on peut trouver des solutions optimales (si
on utilise des méthodes qui donnent des solutions exactes) mais dans le cas des
programmes linéaire multi objectives on trouve des solutions de compromis.

@mail: nacera.bahnes@univ-mosta.dz 03/03/2020


17/04/2021

Vous aimerez peut-être aussi