BtoBIM 2018 - PITCHS : Comment impliquer la maîtrise d'ouvrage et la maîtrise...
chapitre-1_2.pdf
1. Chapitre 1 : Programmation linéaire
Recherche Opérationnelle
Boukthir Haddar
Institut International de Technologie de Sfax
Auditoire : 1 Génie Informatique
AU:2021–2022
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 1 / 27
2. Formulation d’un programme linéaire
Plan
1 Formulation d’un programme linéaire
Exemple introductif
Définition d’un programme linéaire
Exemples de programmes linéaires
2 Résolution graphique des P.L. continus à deux variables
Formulation du problème
Résolution du problème
Exercices
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 2 / 27
3. Formulation d’un programme linéaire Exemple introductif
Exemple introductif
Heure machine Main d’oeuvre Profit
Produit 1 2h 3h 250dt
Produit 2 2h 1h 150dt
Total 240h 140h
Combien doit-on fabriquer de produit 1 et de produit 2 afin de maximiser
le profit total?
x1 = nombre de Produit 1 fabriqués
x2 = nombre de Produit 2 fabriqués
Variables de Décision
Profit Z = 250x1 + 150x2 Fonction objectif
Disponibilité des machines 2x1 + 2x2 ≤ 240. Le terme à gauche
désigne le nombre nécessaire en heures machines pour la fabrication
de x1 Produit 1 et x2 Produit 2.
Disponibilité de la main d’oeuvre 3x1 + x2 ≤ 140. Le terme à gauche
désigne le nombre nécessaire en main d’oeuvre pour la fabrication de
x1 Produit 1 et x2 Produit 2.
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 3 / 27
4. Formulation d’un programme linéaire Exemple introductif
Exemple introductif
Heure machine Main d’oeuvre Profit
Produit 1 2h 3h 250dt
Produit 2 2h 1h 150dt
Total 240h 140h
Combien doit-on fabriquer de produit 1 et de produit 2 afin de maximiser
le profit total?
x1 = nombre de Produit 1 fabriqués
x2 = nombre de Produit 2 fabriqués
Variables de Décision
Profit Z = 250x1 + 150x2 Fonction objectif
Disponibilité des machines 2x1 + 2x2 ≤ 240. Le terme à gauche
désigne le nombre nécessaire en heures machines pour la fabrication
de x1 Produit 1 et x2 Produit 2.
Disponibilité de la main d’oeuvre 3x1 + x2 ≤ 140. Le terme à gauche
désigne le nombre nécessaire en main d’oeuvre pour la fabrication de
x1 Produit 1 et x2 Produit 2.
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 3 / 27
5. Formulation d’un programme linéaire Exemple introductif
max Z=250x1 + 150x2
s.c.1
2x1 + 2x2 ≤ 240
3x1 + x2 ≤ 140
x1, x2 ∈ N
Programme linéaire
1
s.c. : sous les contraintes
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 4 / 27
6. Formulation d’un programme linéaire Définition d’un programme linéaire
Un programme linéaire est défini par
Les variables de décision : ce sont les inconnus qu’on doit trouver
pour apporter une solution au problème, elles doivent être positives.
Fonction objectif : c’est la fonction qui présente l’objectif à optimiser,
elle doit s’écrire sous une forme linéaire des variables de décision.
Les contraintes : ce sont les empêchements naturels du problème qui
ne permettent pas d’avoir un profit infini ou un coût nul, elles
s’écrivent sous forme d’égalité ou d’inégalité large. Le membre gauche
doit s’écrire sous forme d’une relation linéaire entre les variables de
décision, et le membre droit doit être une constante.
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 5 / 27
7. Formulation d’un programme linéaire Définition d’un programme linéaire
On distingue 4 types de programmes linéaires (leurs techniques de
résolution sont différentes).
1 Programme linéaire continu : on est dans le cas où les variables de
décision sont continues (dans R).
2 Programme linéaire en nombres entiers : on est dans le cas où les
variables de décision sont des nombres entiers (dans N).
3 Programme linéaire en 0-1 : on est dans le cas où les variables de
décision valent uniquement 0 ou 1 (binaires).
4 Programme linéaire mixtes : si quelques variables de décision sont
continues et les autres sont entières ou binaires.
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 6 / 27
8. Formulation d’un programme linéaire Exemples de programmes linéaires
Problème de transport Une entreprise dispose de deux dépôts D1 et D2
et de trois points de ventes A,B et C. Chaque jour 8 unités du dépôt D1 et
9 unités du dépôt D2 doivent être transportées vers A,B et C dont les
besoins quotidiens respectifs sont 4,5 et 8. Les coûts unitaires du
transport sont donnés par la figure suivante :
Figure: Problème de transport.
Formuler un programme linéaire qui minimise les coûts de transport de
l’entreprise.
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 7 / 27
9. Formulation d’un programme linéaire Exemples de programmes linéaires
Variables de décision :
x1A=nombre d’unités transportées du dépôt D1 vers le point A.
x2A=nombre d’unités transportées du dépôt D2 vers le point A.
x1B=nombre d’unités transportées du dépôt D1 vers le point B.
x2B=nombre d’unités transportées du dépôt D2 vers le point B.
x1C =nombre d’unités transportées du dépôt D1 vers le point C.
x2C =nombre d’unités transportées du dépôt D2 vers le point C.
Fonction objectif :
min Z = 5x1A + 6x2A + 3x1B + 7x2B + 4x1C + 2x2C .
Sous contraintes (s.c.) :
x1A + x1B + x1C = 8.
x2A + x2B + x2C = 9.
x1A + x2A = 4 (Besoin de A).
x1B + x2B = 5 (Besoin de B).
x1C + x2C = 8 (Besoin de C).
x1A, x2A, x1B, x2B, x1C , x2C ∈ N.
Le problème de transport est un P.L. en nombres entiers.
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 8 / 27
10. Formulation d’un programme linéaire Exemples de programmes linéaires
Problème de routage La figure ci-dessous représente un réseau
informatique où on considère un seul sens de transmission indiqué par les
flèches. Le nombre figurant sur chaque lien indique la durée nécessaire (en
secondes) pour transférer un paquet d’information en empruntant ce lien.
5
4
2
1
2
3
1
1
4
6
3
2
6
2
3
Figure: Problème de routage
Formuler le programme linéaire qui donne le chemin le plus rapide pour
effectuer le transfert du routeur 1 vers le routeur 6.
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 9 / 27
11. Formulation d’un programme linéaire Exemples de programmes linéaires
Variables de décision :
x12 = 1 si le lien de 1 à 2 est emprunté, 0 sinon.
De meme pour x13, x42, x45, x25, x23, x36, x56, x53.
Fonction objectif :
min Z = 2x12 + 3x14 + x42 + x45 + 4x25 + 2x23 + 3x36 + 6x56 + 2x53.
Contraintes :
1 On doit partir de 1 : x12 + x14 = 1.
2 On doit arriver à 6 : x56 + x36 = 1.
3 Si on arrive à 2, on doit en repartir : x12 + x42 = 1 et x23 + x25 = 1.
Si on n’arrive pas à 2 : x12 + x42 = 0 et x23 + x25 = 0.
⇒ x12 + x42 = x23 + x25 ⇒ x12 + x42 − x23 − x25 = 0.
4 De même x14 − x42 − x45 = 0.
5 De même x25 + x45 − x53 − x56 = 0.
6 De même x23 + x53 − x36 = 0.
Le problème de routage est un P.L. en 0-1.
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 10 / 27
12. Formulation d’un programme linéaire Exemples de programmes linéaires
Problème d’affectation Une compagnie de téléphonie spécialisée dans les
téléphones mobiles est nouvellement installée dans un pays dont le plan est
présenté ci-dessous.
Figure: Problème d’affectation
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 11 / 27
13. Formulation d’un programme linéaire Exemples de programmes linéaires
Les antennes d’émission peuvent être placées sur les sites A, B, C, D, E
situés sur les frontières communes des différentes zones du pays. Une
antenne placée sur un site donné peut couvrir les deux zones dont la
frontières commune abrite ce site. Le but de la compagnie est d’assurer,
au moindre coût, le recouvrement de chaque zone avec au moins une
antenne tout en couvrant la zone 2 avec au moins deux antennes.
Formuler le programme linéaire qui permet d’atteindre ce but.
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 12 / 27
14. Formulation d’un programme linéaire Exemples de programmes linéaires
Variables de décision :
xA = 1 si une antenne est placée sur le site A, 0 sinon.
De même pour xB, xC , xD, xE .
Fonction objectif :
min Z = xA + xB + xC + xD + xE .
Contraintes :
1 Couvrir la zone 1: xA + xB ≥ 1.
2 Couvrir la zone 2: xB + xC + xD ≥ 2.
3 Couvrir la zone 3: xA + xC + xE ≥ 1.
4 Couvrir la zone 4: xE + xD ≥ 1.
Le problème d’affectation est un P.L. en 0-1.
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 13 / 27
15. Formulation d’un programme linéaire Exemples de programmes linéaires
Problème de production Un atelier peut fabriquer 3 types d’objets :
A1 à la vitesse de 35 unités/h.
A2 à la vitesse de 45 unités/h.
A3 à la vitesse de 20 unités/h.
Cette fabrication nécessite une machine unique disponible 200 h/mois, le
bénéfice unitaire de chaque unité est :
A1 → 60DT ,A2 → 40DT ,A3 → 80DT .
Ces objets sont vendus totalement à des grossistes, on a observé qu’on ne
pouvait produire par mois que 4900 objets de A1 et 5000 objets de A2 et
2000 objets de A3. D’autre part, chaque objet doit être vérifier avant sa
commercialisation, une équipe de trois techniciens est chargée de cette
mission, chacun est disponible de 170 h/mois.
La vérification nécessite pour:
A1 → 4minutes,A2 → 3minutes,A3 → 2minutes.
Formuler un programme linéaire qui maximise le profit mensuel de cet
atelier.
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 14 / 27
16. Formulation d’un programme linéaire Exemples de programmes linéaires
Variables de décision :
x1=nombre d’unités de l’objet A1 fabriqués par mois.
x2=nombre d’unités de l’objet A2 fabriqués par mois.
x3=nombre d’unités de l’objet A3 fabriqués par mois.
Fonction objectif :
Max Z = 60x1 + 40x2 + 80x3.
Sous contraintes (s.c) :
x1 ≤ 4900.
x2 ≤ 5000.
x3 ≤ 2000.
(Besoin mensuel du marché pour A1,A2etA3)
x1
35 + x2
45 + x3
20 ≤ 200 (Disponibilité de la machine).
4x1 + 3x2 + 2x3 ≤ 170 ∗ 60 ∗ 3 (Vérification des objets).
x1, x2, x3 ∈ N.
Le problème de production est un P.L. en nombre entiers.
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 15 / 27
17. Résolution graphique des P.L. continus à deux variables
Plan
1 Formulation d’un programme linéaire
Exemple introductif
Définition d’un programme linéaire
Exemples de programmes linéaires
2 Résolution graphique des P.L. continus à deux variables
Formulation du problème
Résolution du problème
Exercices
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 16 / 27
18. Résolution graphique des P.L. continus à deux variables
Une entreprise fournit deux types de métaux, chaque tonne de métal
vendue lui rapporte 100 dinars. Une tonne de fer nécessite 2 heures de
main d’oeuvre, et d’acier nécessite 3 heures. La main d’oeuvre est
disponible 6 heures/jour.
Le directeur de l’entreprise sait qu’il ne peut pas vendre plus qu’une tonne
et demi d’acier par jour. De plus, il exige que la quantité de fer fabriquée
ne dépasse pas celle de l’acier de plus que 2 tonnes.
Quelles sont les quantités à produire de chaque type de métal de tel façon
que le profit soit maximal.
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 17 / 27
19. Résolution graphique des P.L. continus à deux variables Formulation du problème
Formulation du problème
Variables de décision :
x1= quantité de fer produite par jour (en tonne).
x2= quantité d’acier produite par jour (en tonne).
Fonction objectif :
max Z = x1 + x2.
Sous contraintes (s.c) :
2x1 + 3x2 ≤ 6.
x2 ≤ 1.5.
x1 − x2 ≤ 2.
x1, x2 ≥ 0
C’est un P.L. continu.
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 18 / 27
20. Résolution graphique des P.L. continus à deux variables Résolution du problème
Résolution du problème: Méthode graphique
Définition
A chaque (x1, x2) on associe un point M(x1, x2) du plan. Un point M est
dit solution réalisable si x1 et x2 vérifient toutes les contraintes.
Étape 1 : Construction de l’espace des solutions réalisables.
On trace la droite d’équation 2x1 + 3x2 = 6. Cette droite divise le plan en
deux parties. Le point (0, 0) vérifie La première contrainte. Donc le demi
plan contenant le point (0, 0) est l’ensemble des points qui vérifient la
première contrainte.
De même, on trace les droites d’équations x2 = 1.5 et x1 − x2 = 2. On
choisit les deux autres demi plan qui vérifient (respectivement) la
deuxième et la troisième contrainte.
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 19 / 27
21. Résolution graphique des P.L. continus à deux variables Résolution du problème
Figure: Espace des solutions réalisables.
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 20 / 27
22. Résolution graphique des P.L. continus à deux variables Résolution du problème
L’intersection de tous les demi-plans forme le polyèdre OABCD, ce
polyèdre est appelé espace des solutions réalisables. Les points O,A,B,C et
D sont appelés points extrêmes.
Étape 2 : Recherche d’une solution optimale.
On choisit deux valeurs arbitraires de Z et on trace les droites représentant
la fonction objectif en ces deux valeurs. Par exemple Z = 0 et Z = 1.
x1 + x2 = 0 ⇒(0, 0) et (1, −1).
x1 + x2 = 1 ⇒(0, 1) et (1, 0).
On détermine à partir de ces deux droites le sens selon lequel la valeur de
la fonction objectif augmente (dans le cas d’une maximisation).
Ensuite, on translate la droite représentant la fonction objectif dans le sens
qu’on vient de déterminer. La solution optimale appartient à la dernière
intersection de la droite de la fonction objectif avec le polyèdre des
solutions réalisables.
Dans notre cas C est le point optimal (maximal).
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 21 / 27
23. Résolution graphique des P.L. continus à deux variables Résolution du problème
Étape 3 : Calcul des coordonnées du point optimal.
Calcul des coordonnés du point C(x∗
1 , x∗
2 ). On a le système suivant à
résoudre
2x∗
1 + 3x∗
2 = 6
x∗
1 − x∗
2 = 2
⇒x∗
1 = 12
5 = 2.4, x∗
2 = 2
5 = 0.4 et Z∗ = x∗
1 + x∗
2 = 2.8.
L’entreprise doit fabriquer 2.4 tonnes de fer/jour et 0.4 tonnes d’acier/jour
pour un profit maximum de 280 dinars.
Remarque
La méthode de résolution graphique présente un inconvénient. En effet, le
repérage visuel d’un point optimal, en utilisant la droite de la fonction
objectif, soit parfois difficile est inefficace. Une variante de cette méthode
peut être utilisée en se basant sur le théorème suivant.
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 22 / 27
24. Résolution graphique des P.L. continus à deux variables Résolution du problème
Théorème
Si un programme linéaire continu admet au moins une solution optimale
alors l’une d’entre elles est un point extrême. Il suffit donc de choisir
parmi les points extrêmes celui qui nous fourni la valeur optimale de la
fonction objectif.
Ainsi, la résolution graphique d’un programme linéaire continu à deux
variables consiste à
Construire l’espace des solutions réalisables.
Tracer la droite représentant la fonction objectif pour deux valeurs
arbitraires.
Déterminer le sens selon lequel on doit se déplacer parallèlement à la
direction de cette droite afin d’optimiser la valeur de la fonction
objectif.
Repérage visuel d’un point ou un ensemble de points optimaux.
Calcul algébrique des coordonnées du point optimal et la valeur de la
fonction objectif.
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 23 / 27
25. Résolution graphique des P.L. continus à deux variables Exercices
Exercices
Ê Résoudre le programme linéaire précédent avec Z = x1 + 2x2. On
conserve le même graphe car les contraintes n’ont pas changé.
Seulement la droite de la fonction objectif qui change de direction.
Dans ce cas B = (0.75, 1.5) est le point optimale pour un profit de
375 dinars.
Ë Résoudre le programme linéaire précédent mais avec Z = 2x1 + 3x2.
On conserve le même graphe car les contraintes n’ont pas changé.
Seulement la droite de la fonction objectif qui change de direction.
Dans ce cas, tout point ∈ [B, C] est optimal. Par exemple le point
C = (2.4, 0.4) à pour profit de 600 dinars.
Ì Résoudre max Z = x1 + 3x2, s.c
x1 + 2x2 ≤ 2
−x1 + 2x2 ≥ 4
x1, x2 ≥ 0
.
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 24 / 27
26. Résolution graphique des P.L. continus à deux variables Exercices
Figure: Exercice 3.
L’espace des solutions réalisable est ∅. On dit, dans ce cas, que le
programme linéaire est impossible.
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 25 / 27
27. Résolution graphique des P.L. continus à deux variables Exercices
Í Résoudre max Z = x1 + x2, s.c
−2x1 + 3x2 ≤ 6
x2 ≥ 1
x1, x2 ≥ 0
.
Figure: Exercice4
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 26 / 27
28. Résolution graphique des P.L. continus à deux variables Exercices
L’espace des solutions réalisable est non borné. La fonction objectif peut
augmenter indéfiniment sans violer aucune contrainte. Il n’y a pas de
solution optimale. On dit, dans ce cas, que le programme linéaire est
non borné.
Remarque
Il faut faire la différence entre l’espace des solutions non borné et
programme linéaire non borné. Il suffit de choisir dans l’exemple précédent
min Z = x1 + x2, en effet le point (0, 1) est optimal.
Boukthir Haddar (IIT) Chapitre 1 : Programmation linéaire AU:2021–2022 27 / 27