Cours Plne
Cours Plne
Cours Plne
Par:
Dr. Kerkache Med Hassen
Formulation des programmes linéaires en nombre entier
Objectifs:
• Comprendre les bases de la PLNE.
• Identifier les différences entre programmation linéaire
classique et PLNE.
• Explorer les applications typiques de la PLNE
2
Introduction à la Programmation Linéaire en Nombres Entiers
Définition : La PLNE est une branche des mathématiques et de l'informatique qui consiste
à optimiser (maximiser ou minimiser) une fonction linéaire sous un ensemble de
contraintes linéaires, tout en imposant que certaines ou toutes les variables de décision
prennent des valeurs entières.
3
Introduction à la Programmation Linéaire en Nombres Entiers
Pourquoi la PLNE ?
La PLNE est particulièrement utile pour modéliser des problèmes réels où les solutions
ne peuvent être fractionnées, comme :
Planification des trains.
• Certains horaires de train se répètent toutes les heures.
• Les temps de parcours entre les gares sont connus et le temps passé dans une gare
doit être inclus dans un intervalle de temps donné.
• Deux trains sur la même ligne doivent être séparés d'au moins un certain nombre de
minutes.
• La différence entre l'heure d'arrivée et l'heure de départ doit être suffisamment
longue pour que les passagers puissent changer de train, mais suffisamment courte
pour ne pas dépasser le temps d'attente.
• Le défi consiste à trouver un planning réalisable.
4
Introduction à la Programmation Linéaire en Nombres Entiers
Pourquoi la PLNE ?
La PLNE est particulièrement utile pour modéliser des problèmes réels où les solutions ne
peuvent être fractionnées, comme :
Planification de la production:
• Réunion mensuelle de planification d'une multinationale pour l’élaboration d'un plan
de production et d'expédition sur trois mois sur la base des estimations de ventes.
• Couvre 200 à 400 produits répartis dans cinq usines.
• Expédition vers 50 zones de vente.
• Solutions générées sur place, nécessitant un temps de calcul de 15 minutes.
• Quantité de production minimale par produit.
• Production par lots pour maximiser la contribution.
5
Introduction à la Programmation Linéaire en Nombres Entiers
Pourquoi la PLNE ?
La PLNE est particulièrement utile pour modéliser des problèmes réels où les solutions ne
peuvent être fractionnées, comme :
Télécommunications:
• Problème d'installation de transmission de données, de voix et de vidéo
• L'explosion de la demande nécessite l'installation de nouvelles capacités.
• L'estimation des besoins, de la capacité existante et des coûts de la nouvelle capacité
est cruciale.
• La minimisation des coûts est cruciale compte tenu des défaillances potentielles des
lignes ou des centres dues à des pannes ou à des accidents.
6
Formulation mathématique:
7
Exemple:
8
Exemple:
9
Types de PLNE
Si certaines variables, mais pas toutes, sont entières, nous avons un:
Programme (linéaire) en nombres entiers mixtes, écrit sous la forme suivante:
Où:
• A est une matrice m × 𝑛, G est m × 𝑝,
• c est un vecteur à n lignes,
• h est un vecteur à p lignes,
• x est un vecteur à n colonnes de variables entières,
• et y est un vecteur à p colonnes de variables réelles.
10
Types de PLNE
Si toutes les variables sont limitées à des valeurs de 0 ou 1, nous avons un:
0-1 PL ou Programme Linéaire de nombres entiers binaires, écrit sous la forme suivante:
Où:
• A est une matrice m × 𝑛
• c est un vecteur à n lignes,
• b un vecteur colonne à m colonnes,
• x est un vecteur à n colonnes de variables entières {0, 1}
11
Exemples de (PLNE)
Problème du Sac à Dos
Énoncé : On dispose d'un ensemble d'objets, chacun ayant un poids et une valeur. Le but
est de maximiser la valeur totale des objets choisis sans dépasser une capacité maximale.
Formulation mathématique :
12
Exemples de (PLNE)
Problème du Sac à Dos
Modèle :
13
Exemples de (PLNE)
Problème d'Affectation
Énoncé : On doit affecter un ensemble de tâches à un ensemble d’agents, de manière à
minimiser le coût total d’affectation ou à maximiser l’efficacité, en respectant des
contraintes de capacité ou de disponibilité.
Formulation mathématique :
14
Exemples de (PLNE)
Problème d'Affectation
Modèle :
Sous
contraintes :
15
Exemples de (PLNE)
Problème du Voyageur de Commerce (TSP)
Énoncé : Un voyageur doit visiter un ensemble de villes exactement une fois, en
minimisant la distance totale parcourue. Il doit retourner à sa ville de départ après avoir
visité toutes les autres.
Formulation mathématique :
16
Exemples de (PLNE)
Problème du Voyageur de Commerce (TSP)
Modèle :
17
Optimisation combinatoire
Caractéristiques principales:
• Ensemble discret de solutions: Les solutions ne peuvent prendre que certaines
valeurs spécifiques (entiers, booléens), et non toutes les valeurs réelles.
• Fonction objectif: C'est la quantité que l'on cherche à optimiser (maximiser ou
minimiser).
• Contraintes: Ce sont les règles que les solutions doivent respecter.
18
Optimisation et complexité
Explosion combinatoire:
Les trois problèmes que nous avons examinés jusqu'à présent sont tous combinatoires
dans le sens où la solution optimale est un sous-ensemble d'un ensemble fini. En
principe, ces problèmes peuvent donc être résolus par énumération. Pour savoir pour
quelle taille d'instances de problèmes cette approche est réalisable, nous devons
compter le nombre de solutions possibles.
19
Optimisation et complexité
Explosion combinatoire:
Le problème d’affectation:
Si nous avons n taches, il y a n ! (n factoriel) façons de les disposer parmi les agents. En
effet, chaque permutation représente une solution, donc:
• En effet, pour la première tâche, il y a n choix d'agent.
• Pour la deuxième tâche, il reste n-1 choix possibles.
• Ainsi, le nombre total de permutations (et donc le nombre d'affectations possibles)
est:
n * (n-1) * (n-2) * ... * 1 = n !.
20
Optimisation et complexité
Explosion combinatoire:
Objectifs:
• Comprendre les conditions d’optimalités.
• Les bornes et la relaxation.
22
Optimalité
La réponse « naïve » mais néanmoins importante est que nous devons trouver une limite
inférieure 𝑍 ≤ 𝑍 et une limite supérieure 𝑍 ≥ 𝑍 telle que 𝑍 = 𝑍 = 𝑍.
En pratique, cela signifie que n'importe quel algorithme trouvera une séquence
décroissante:
de bornes supérieures,
23
Optimalité
24
Optimalité
Bornes primales:
Pour certains problèmes de PLNE, il est facile de trouver des solutions réalisables (TSP), et
la vraie question est de savoir comment trouver de bonnes solutions.
Pour d'autres PLNE, il peut être très difficile de trouver des solutions réalisables (aussi
difficiles que le PLNE lui-même).
25
Optimalité
Bornes duales:
La recherche de bornes supérieures pour un problème de maximisation (ou de bornes
inférieures pour un problème de minimisation) présente un défi différent. Ces bornes sont
appelées bornes duales.
Pour que le problème « relaxé » ait cette propriété, il y a deux possibilités évidentes :
• Élargir l'ensemble des solutions réalisables afin d'optimiser sur un plus grand
ensemble, ou
• Remplacer la fonction objective max(min) par une fonction qui a la même valeur ou
une valeur plus grande (plus petite) sur toutes les solutions réalisables d'origine.
26
Relaxation
27
Relaxation d’un programme linéaire
28
Relaxation de la programmation linéaire
Pour obtenir une borne primale (inférieure), observons que (2, 1) est une solution
réalisable, nous avons donc la borne inférieure Z ≥ 7.
Pour obtenir une borne duale (supérieure), considérons la relaxation de programmation
linéaire. La solution optimale est x ∗ = (20
7
, 3) avec la valeur Z PL = 59.
7
59
On obtient donc une borne supérieure Z ≤ 7 . En observant que la valeur optimale doit
être entière, on peut arrondir à l'entier inférieur et ainsi obtenir Z ≤ 8.
29
Relaxation de la programmation linéaire
30
Relaxation de la programmation linéaire
31
Relaxation d’un programme linéaire
Proposition :
• Si une relaxation PR est infaisable, le problème original PLNE est infaisable.
• Soit x ∗ une solution optimale de RP. Si x ∗ ∈ X et f(x ∗ ) = c(x ∗ ), alors x ∗ est une solution
optimale du PLNE.
a pour solution optimale x ∗ = (1, 1, 0, 0). Comme x ∗ est intégral, il résout le programme
en nombres entiers.
32
Relaxation d’un programme linéaire
Relaxation lagrangienne:
La relaxation lagrangienne est une technique utilisée pour résoudre des problèmes
d'optimisation difficiles, en particulier ceux impliquant des contraintes compliquées.
Elle repose sur l'idée de simplifier le problème en "relaxant" certaines contraintes en les
intégrant directement dans la fonction objectif, moyennant des multiplicateurs appelés
multiplicateurs de Lagrange.
33
Relaxation d’un programme linéaire
34
Relaxation d’un programme linéaire
35
Relaxation d’un programme linéaire
36
Relaxation d’un programme linéaire
37
Relaxation d’un programme linéaire
4. Propriétés et avantages
• Simplification : Le problème relaxé est souvent plus simple à résoudre, car les
contraintes difficiles sont remplacées par des termes dans la fonction objectif.
38
Branch and Bound
Objectifs:
• Trouver la solution optimale entière.
• Réduire l’espace de recherche.
• Utiliser les relaxations continues pour guider la
recherche.
• S’adapter à divers types de problèmes.
39
Introduction
Définition : La méthode Branch and Bound (B&B) est une technique algorithmique
utilisée pour résoudre les problèmes d'optimisation combinatoire, notamment en
programmation linéaire en nombres entiers (PLNE).
Les algorithmes de Branch and Bound sont largement considérés comme les méthodes
les plus efficaces pour résoudre les problèmes de programmation générale en nombres
entiers de taille moyenne.
Ces algorithmes ne font aucune hypothèse sur la structure d'un problème, si ce n'est que
la fonction objective et les contraintes doivent être linéaires.
Même ces restrictions peuvent être assouplies sans modifier le cadre de base de la
technique.
40
Introduction
Le processus est répété jusqu'à ce que chaque sous-problème puisse être facilement
résolu. Le branchement est effectué de telle sorte que la résolution de chaque sous-
problème (et la sélection de la meilleure réponse trouvée) équivaut à la résolution du
problème d'origine.
41
Branch and Bound: Principe de base
Principes de base
42
Branch and Bound: Principe de base
Principes de base
4. Solution optimale :
• L’algorithme termine lorsque tous les sous-problèmes sont soit explorés, soit
éliminés.
• La meilleure solution entière rencontrée pendant le processus est déclarée comme
solution optimale.
43
Branch and Bound: Principe de base
44
Branch and Bound: Principe de base
Un arbre d'énumération est une façon typique de représenter une telle approche
« diviser pour régner ». Par exemple, si S ⊆ {0, 1}3 , nous pouvons construire l'arbre
d'énumération illustré à la figure suivante :
45
Branch and Bound: Principe de base
Énumération implicite :
Nous avons vu que l'énumération complète est totalement impossible pour la plupart des
problèmes dès que le nombre de variables dans un programme en nombres entiers ou de
nœuds dans un graphe dépasse 20 ou 30. Nous devons donc faire plus que diviser
indéfiniment.
k
Notez que, comme nous maximisons, nous prenons 𝑍 = -∞ lorsque 𝑆𝑘 = ∅ et 𝑍 k = -∞
lorsqu'aucune solution réalisable dans 𝑆𝑘 n'a été trouvée.
46
Branch and Bound: Principe de base
Nous allons maintenant examiner trois exemples hypothétiques pour voir comment les
informations sur les bornes ou les informations partielles sur un sous-problème peuvent
être utilisées.
Que peut-on déduire des bornes inférieures et supérieures de la valeur optimale Z et
quels ensembles doivent être examinés plus en détail pour trouver la valeur optimale ?
47
Branch and Bound: Principe de base
Deuxièmement, nous observons que, comme la valeur optimale a une valeur d'au
1
moins 21 et que la borne supérieure 𝑍 = 20, aucune solution optimale ne peut se
trouver dans l'ensemble S1. Par conséquent, la branche S1 de l'arbre d'énumération
peut être élaguée par la borne.
49
Branch and Bound: Principe de base
Ici, aucune autre conclusion ne peut être tirée et nous devons explorer davantage les
deux ensembles S1 et S2.
50
Branch and Bound: Principe de base
Sur la base de ces exemples, nous pouvons énumérer au moins trois raisons qui
permettent d'élaguer l'arbre et donc d'énumérer un grand nombre de solutions de
manière implicite.
51
Procédure Branch & Bound
Les étapes de la méthode Branch and Bound pour déterminer une solution optimale en
nombres entiers pour un modèle de maximisation (avec des contraintes ≤) peuvent être
résumées comme suit:
Les étapes de la méthode Branch and Bound pour déterminer une solution optimale en
nombres entiers pour un modèle de maximisation (avec des contraintes ≤) peuvent être
résumées comme suit:
7. Si le processus produit une solution en nombres entiers réalisable dont la borne supérieure est
la plus élevée de tous les nœuds finaux, la solution en nombres entiers optimale a été atteinte.
Si aucune solution réalisable en nombres entiers n'est trouvée, il faut passer au nœud dont la
borne supérieure est la plus élevée.
8. Retourner au point 3.
Pour un modèle de minimisation, les solutions relaxées sont arrondies à l'unité supérieure, et les
bornes supérieures et inférieures sont inversées
53
Branch & Bound
Exemple:
• Le propriétaire d'un atelier d'usinage envisage de se développer en achetant de
nouvelles machines, des presses et des tours.
• Le propriétaire a estimé que chaque presse achetée augmentera ses bénéfices de
100$ par jour et que chaque tour augmentera ses bénéfices de 150$ par jour.
• Le propriétaire dispose d'un budget de 40 000$ pour l'achat de machines et d'une
surface disponible de 200 m².
• Le propriétaire souhaite savoir combien de machines de chaque type il doit acheter
pour maximiser l'augmentation quotidienne de ses bénéfices.
Tour 30 4000$
54
Branch & Bound
Exemple:
𝑥1 : nombre de presses.
𝑥2 : nombre de tours.
55
Branch & Bound
Exemple:
56
Branch & Bound
Exemple:
La solution optimale en
nombres entiers se situera
entre ces deux bornes.
Exemple:
58
Branch & Bound
Exemple:
59
Branch & Bound
60
Branch & Bound
Exemple:
• En général, il faut toujours partir du nœud dont la borne supérieure est la plus élevée.
61
Branch & Bound
Exemple:
Exemple:
Nœud 5:
Pas de solution
63
Branch & Bound
Exemple:
Nœud 4:
Solution optimale :
x1 = 1.0 , x2 = 6.166666666666667
Valeur optimale (Z) = 1025.0
64
Branch & Bound
On va continuer
de brancher sur
le nœud 4 en
résolvant ses
deux problèmes.
65
Branch & Bound
66
Branch & Bound
Exemple:
Nœud 6:
Solution optimale :
x1 = 1 , x2 = 6
Valeur optimale (Z) = 1000
68
Branch & Bound
Exemple:
Nœud 7:
Pas de solution
69
Branch & Bound
On arrête car on
a obtenu une
solution entière.
Cette solution
est optimale
pour le PLNE.
Fin de
l’algorithme
70
Branch & Bound avec simplexe
71
Branch & Bound avec simplexe
Max 𝑪𝒊 13 8 O 0
Max z = 13 x1 + 8 x2
𝑪𝑩 B b 𝐱𝟏 𝐱𝟐 𝒆𝟏 𝒆𝟐
x1 + 2 x2 + 𝑒1 = 10
5 x1 + 2 x2 + 𝑒2 = 20 𝟎 𝒆𝟏 10 1 2 1 0
x1 , x2 , 𝑒1 , 𝑒2 ≥ 0 𝟎 20 5 2 0 1
𝒆𝟐
𝒁𝒊 0 0 0 0 0
Tableau initial
𝑪𝒊 - 𝒁 𝒊 13 8 0 0
Max 𝑪𝒊 13 8 O 0
𝑪𝑩 B b 𝐱𝟏 𝐱𝟐 𝒆𝟏 𝒆𝟐
𝟎 𝒆𝟏 6 0 𝟓ൗ 1 −𝟏ൗ
Itération 1 𝟖 𝟓
𝟏𝟑 𝒙𝟏 4 1 𝟐ൗ 0 𝟏ൗ
𝟓 𝟓
𝒁𝒊 0 13 𝟐𝟔ൗ 0 𝟏𝟑ൗ
𝟓 𝟓
𝑪𝒊 - 𝒁 𝒊 0 𝟏𝟒ൗ 0 −𝟏𝟑ൗ 72
𝟓 𝟓
Branch & Bound avec simplexe
Max 𝑪𝒊 13 8 O 0
Max z = 13 x1 + 8 x2
𝑪𝑩 B b 𝐱𝟏 𝐱𝟐 𝒆𝟏 𝒆𝟐
x1 + 2 x2 + 𝑒1 = 10
5 x1 + 2 x2 + 𝑒2 = 20 𝟎 𝒆𝟏 6 0 𝟓ൗ 1 −𝟏ൗ
𝟖 𝟓
x1 , x2 , 𝑒1 , 𝑒2 ≥ 0 𝟏𝟑 𝒙𝟏 4 1 𝟐ൗ 0 𝟏ൗ
𝟓 𝟓
𝒁𝒊 52 13 𝟐𝟔ൗ 0 𝟏𝟑ൗ
Tableau 1 𝟓 𝟓
𝑪𝒊 -𝒁𝒊 0 𝟏𝟒ൗ 0 −𝟏𝟑ൗ
𝟓 𝟓
Max 𝑪𝒊 13 8 O 0
Itération 2
𝑪𝑩 B b 𝐱𝟏 𝐱𝟐 𝒆𝟏 𝒆𝟐
Critères d'arrêt atteint 𝟖 𝒙𝟐 𝟏𝟓ൗ 0 1 𝟓ൗ −𝟏ൗ
𝟒 𝟖 𝟖
Z = 62,5
𝟏𝟑 𝒙𝟏 𝟓ൗ 1 0 −𝟏ൗ 𝟏ൗ
x1 = 2. 5 𝟐 𝟒 𝟒
x2 = 3.75 𝒁𝒊 62.5 13 8 𝟕ൗ
𝟒
𝟒𝟓ൗ
𝟐𝟎
𝑪𝒊 -𝒁𝒊 0 0 −𝟕ൗ −𝟒𝟓ൗ 73
𝟒 𝟐𝟎
Branch & Bound avec simplexe
Les 2 variables sont pas des entiers donc on résout avec l’algorithme de Branch and Bound.
x1 ≤ 2 x1 ≥ 3
Z1 = Z2 =
74
Branch & Bound avec simplexe
75
Branch & Bound avec simplexe
𝑪𝒊 13 8 O 0 0
➢ 𝟏Τ𝟒 𝒆𝟏 − 𝟏Τ𝟒 𝒆𝟐 + 𝐬 = − 𝟏Τ𝟐
𝑪𝑩 B b 𝐱𝟏 𝐱𝟐 𝒆𝟏 𝒆𝟐 s
𝟖 𝒙𝟐 𝟏𝟓ൗ 0 1 𝟓ൗ −𝟏ൗ 0
𝟒 𝟖 𝟖
𝟏𝟑 𝒙𝟏 𝟓ൗ 1 0 −𝟏ൗ 𝟏ൗ 0
𝟐 𝟒 𝟒
VS 0 s −𝟏ൗ 0 0 𝟏ൗ −𝟏ൗ 1
𝟐 𝟒 𝟒
𝒁𝒊 0 13 8 𝟕ൗ 𝟒𝟓ൗ 0
𝟒 𝟐𝟎
𝑪𝒊 -𝒁𝒊 0 0 −𝟕ൗ −𝟒𝟓ൗ 0
𝟒 𝟐𝟎
VE
76
Branch & Bound avec simplexe
𝑪𝒊 13 8 O 0 0
𝑪𝑩 B b 𝐱𝟏 𝐱𝟐 𝒆𝟏 𝒆𝟐 s
𝟖 𝒙𝟐 𝟏𝟓ൗ 0 1 𝟓ൗ −𝟏ൗ 0
𝟒 𝟖 𝟖
𝟏𝟑 𝒙𝟏 𝟓ൗ 1 0 −𝟏ൗ 𝟏ൗ 0
𝟐 𝟒 𝟒
0 s −𝟏ൗ 0 0 𝟏ൗ −𝟏ൗ 1
𝟐 𝟒 𝟒
𝒁𝒊 0 13 8 𝟕ൗ 𝟒𝟓ൗ 0
𝟒 𝟐𝟎
𝑪𝒊 -𝒁𝒊 0 0 −𝟕ൗ −𝟒𝟓ൗ 0
𝟒 𝟐𝟎
𝑪𝒊 13 8 O 0 0
Critères d'arrêt pour le simplex DUAL 𝑪𝑩 B b 𝐱𝟏 𝐱𝟐 𝒆𝟏 𝒆𝟐 s
Les 𝒃𝒊 sont tous ≥ 𝟎 𝟖 𝒙𝟐 4 0 1 𝟏ൗ 𝟎 −𝟏ൗ
Donc on a atteint l’optimalité et la 𝟐 𝟐
solution est: 𝟏𝟑 𝒙𝟏 2 1 0 0 𝟎 1
Z = 58 0 𝒆𝟐 2 0 0 -1 1 -4
𝐱𝟏 = 2
𝐱𝟐 = 4 𝒁𝒊 58 13 8 4 0 9
𝑪𝒊 -𝒁𝒊 0 0 -4 0 -977
Branch & Bound avec simplexe
x1 ≤ 2 x1 ≥ 3
Z1= Z2 =
58
78
Branch & Bound avec simplexe
79
Branch & Bound avec simplexe
𝑪𝒊 13 8 O 0 0
➢ −𝟏Τ 𝒆
𝟒 𝟏 + 𝟏Τ𝟒 𝒆𝟐 + t = − 𝟏Τ𝟐
𝑪𝑩 B b 𝐱𝟏 𝐱𝟐 𝒆𝟏 𝒆𝟐 t
𝟖 𝒙𝟐 𝟏𝟓ൗ 0 1 𝟓ൗ −𝟏ൗ 0
𝟒 𝟖 𝟖
𝟏𝟑 𝒙𝟏 𝟓ൗ 1 0 −𝟏ൗ 𝟏ൗ 0
𝟐 𝟒 𝟒
VS 0 t −𝟏ൗ 0 0 −𝟏ൗ 𝟏ൗ 1
𝟐 𝟒 𝟒
𝒁𝒊 0 13 8 𝟕ൗ 𝟒𝟓ൗ 0
𝟒 𝟐𝟎
𝑪𝒊 -𝒁𝒊 0 0 −𝟕ൗ −𝟒𝟓ൗ 0
𝟒 𝟐𝟎
VE
80
Branch & Bound avec simplexe
𝑪𝒊 13 8 O 0 0
𝑪𝑩 B b 𝐱𝟏 𝐱𝟐 𝒆𝟏 𝒆𝟐 t
𝟖 𝒙𝟐 𝟏𝟓ൗ 0 1 𝟓ൗ −𝟏ൗ 0
𝟒 𝟖 𝟖
𝟏𝟑 𝒙𝟏 𝟓ൗ 1 0 −𝟏ൗ 𝟏ൗ 0
𝟐 𝟒 𝟒
0 t −𝟏ൗ 0 0 −𝟏ൗ 𝟏ൗ 1
𝟐 𝟒 𝟒
𝒁𝒊 0 13 8 𝟕ൗ 𝟒𝟓ൗ 0
𝟒 𝟐𝟎
𝑪𝒊 -𝒁𝒊 0 0 −𝟕ൗ −𝟒𝟓ൗ 0
𝟒 𝟐𝟎 𝑪𝒊 13 8 O 0 0
Critères d'arrêt pour le dual simplex 𝑪𝑩 B b 𝐱𝟏 𝐱𝟐 𝒆𝟏 𝒆𝟐 t
Les 𝒃𝒊 sont tous ≥ 𝟎 𝟖 𝒙𝟐 𝟓ൗ 0 1 𝟎 𝟏ൗ 𝟓ൗ
Donc on a atteint l’optimalité et la 𝟐 𝟐 𝟐
solution est: 𝟏𝟑 𝒙𝟏 3 1 0 0 𝟎 -1
Z = 59
0 𝒆𝟏 2 0 0 1 -1 -4
x_1 = 3
x_2 = 2.5 𝒁𝒊 59 13 8 0 4 7
𝑪𝒊 -𝒁𝒊 0 0 0 -4 -781
Branch & Bound avec simplexe
Z3= Z4=
82
Branch & Bound avec simplexe
83
Branch & Bound avec simplexe
𝑪𝒊 13 8 O 0 0 0
𝑪𝑩 B b 𝐱𝟏 𝐱𝟐 𝒆𝟏 𝒆𝟐 t 𝐭𝟏
8 𝒙𝟐 𝟓ൗ 0 1 𝟎 𝟏ൗ 𝟓ൗ 0
𝟐 𝟐 𝟐
13 𝒙𝟏 3 1 0 0 𝟎 -1 0
0 𝒆𝟏 2 0 0 1 -1 -4 0
0 𝐭𝟏 −𝟏ൗ 0 0 0 −𝟏ൗ −𝟓ൗ 1
𝟐 𝟐 𝟐
𝒁𝒊 59 13 8 0 4 7 0
𝑪𝒊 13 8 O 0 0 0
𝑪𝒊 -𝒁𝒊 0 0 0 -4 -7 0
𝑪𝑩 B b 𝐱𝟏 𝐱𝟐 𝒆𝟏 𝒆𝟐 t 𝐭𝟏
Critères d'arrêt pour le dual simplex
8 𝒙𝟐 2 0 1 0 0 0 1
Les 𝒃𝒊 sont tous ≥ 𝟎
Donc on a atteint l’optimalité et la 13 𝒙𝟏 3 1 0 0 0 -1 0
solution est: 0 𝒆𝟏 2 0 0 1 0 -4 -2
Z = 55
𝒙𝟏 = 3 0 𝐭𝟏 1 0 0 0 1 5 -2
𝒙𝟐 = 2 𝒁𝒊 55 13 8 0 0 -13 8
𝑪𝒊 -𝒁𝒊 0 0 0 0 13 84
-8
Branch & Bound avec simplexe
Z1= Z2=
58 59
x2 ≤ 2 x2 ≥ 3
85
Branch & Bound avec simplexe
86
Branch & Bound avec simplexe
𝑪𝒊 13 8 O 0 0 0
𝑪𝑩 B b 𝐱𝟏 𝐱𝟐 𝒆𝟏 𝒆𝟐 t 𝐭𝟐
8 𝒙𝟐 𝟓ൗ 0 1 𝟎 𝟏ൗ 𝟓ൗ 0
𝟐 𝟐 𝟐
13 𝒙𝟏 3 1 0 0 𝟎 -1 0
0 𝒆𝟏 2 0 0 1 -1 -4 0
On ne peut pas choisir une variable entrante 0 𝐭𝟐 −𝟏ൗ 0 0 0 𝟏ൗ 𝟓ൗ 1
donc solution non-réalisable 𝟐 𝟐 𝟐
𝒁𝒊 59 13 8 0 4 7 0
𝑪𝒊 -𝒁𝒊 0 0 0 -4 -7 0
87
Branch & Bound avec simplexe
x2 ≤ 2 x2 ≥ 3
Z3= Z4=
55
88
USTHB-Info |2024
Example:
Example:
A= I=
91
Matrices totalement unimodulaires dans la programmation linéaire
Min c T𝐱
s. c Ax ≤ b
x≥0
Est aussi entière
92
Optimisation combinatoire
93
Optimisation combinatoire
94
Optimisation combinatoire
95
Optimisation combinatoire
Contrainte :
96
Optimisation combinatoire
97
Optimisation combinatoire
98
Optimisation combinatoire
Contrainte :
99
Merci pour votre
attention!