Cours OC 1&2
Cours OC 1&2
SCM1
ENSATé 2023-2024
Pr DKHISSI Btissam
19/02/2024 Optimisation combinatoire 1
Optimisation combinatoire
INTRODUCTION
L’optimisation est une discipline mathématique qui, a pleinement pris son essor au cours
du XXe siècle d’une part sous la stimulation du développement des sciences de l’industrie
et de la planification, l’économie, la gestion, etc..., et des sciences appliquées aux
technologies naissantes, comme l’automatique, le traitement du signal, etc..., et d’autre
part grâce au développement de l’informatique qui a rendu efficiente ses méthodes
algorithmiques.
Si D est continu, et f est continue, on parle d’optimisation continue. Les outils proviennent
essentiellement de l’analyse (calcul différentiel, convexité) et de l’algèbre linéaire.
• Optimum globale :
• Optimum local :
x tel que x Ω , f(x ) f(x)
Complexité d’algorithme:
Notations:
• n : taille des données (taille de l’instance)
• T(n) : nombre d’opérations élémentaires
Fonction Polynômiale
Il existe un polynôme qui la borne n IN , b IN , c IR tels que T(n) c.n b
supérieurement
Fonction Exponentielle
Sa croissance suit une progression T(n) c.e b.n
géométrique
La « complexité d’un problème » est une estimation du nombre d’instructions à exécuter pour
résoudre les instances de ce problème, cette estimation étant un ordre de grandeur par rapport à la
taille de l’instance. Il s’agit là d’une estimation dans le pire des cas dans le sens où la complexité
d’un problème est définie en considérant son instance la plus difficile.
On ne trouve pas d’algorithme polynomial pour les résoudre avec une machine
déterministe.
Remarque:
les calculs d'une machine de Turing déterministe forment une suite, ceux d'une
machine de Turing non déterministe forment un arbre, dans lequel chaque chemin
correspond à une suite de calculs possibles.
Exemple:
Dans le cas du problème du voyageur de commerce, l’espace de recherche croit
en (n-1)!, où n est le nombre de villes à visiter, ce qui dépasse rapidement les
capacités de calcul de n’importe quel ordinateur.
Avec seulement 50 villes, il faudra évaluer 49! trajets.
C’est l’explosion combinatoire.
Début
K <-- 0
I <-- 1
( opérations1)
FinTantQue
fin
- N=n
s’écrit:
n
T(n) = t1 + (t2 + t3 + t 4) + t2
i =1
• Les méthodes exactes qui garantissent la complétude de la résolution : c'est le cas par exemple
de SEP (séparation & évaluation progressive). Le temps de calcul nécessaire d'une telle méthode
augmente en général exponentiellement avec la taille du problème à résoudre.
• Les méthodes approchées ont l’objectif de trouver une solution de bonne qualité en un temps de
calcul raisonnable sans garantir l'optimalité de la solution obtenue. Les méthodes approchées
sont fondées principalement sur diverses heuristiques, souvent spécifiques à un type de
problème ou métaheuristiques générales.
Algorithmes Méthodes
exactes approchées
Recherche Recuit
Tabou simulé
Programmation Métaheuristiques
Relaxation
dynamique
Colonie de Algorithme
fourmis génétique
Métaheuristiques:
• Les métaheuristiques forment une famille d'algorithmes d'optimisation
visant à résoudre des problèmes d'optimisation difficile (souvent issus des
domaines de la recherche opérationnelle, de l'ingénierie ou de
l'intelligence artificielle) pour lesquels on ne connait pas de méthode
classique plus efficace.
Ces méthodes utilisent un haut niveau d'abstraction, leur permettant
d‘être adaptées a une large gamme de problèmes différents.
Définitions:
• Un voisinage d'une solution est un sous-ensemble de solutions qu'il est
possible d'atteindre par une série de transformations données.
Méthodes hybrides:
Méthode composée de plusieurs méthodes se répartissant les tâches de recherche.
Méthodes exactes
1- Séparation et évaluation (Branch & Bound)
Programmation linéaire en nombres entiers (PLNE)
Rappel :
Une arborescence est un graphe qui possède un sommet particulier, la racine r telle que: tout
sommet x est relié à la racine r par un chemin et un seul allant de r à x.
E1 E2
E3 E4 E6
E5
Max z = 15 x1 + 18 x 2 + 4 x3 + 7 x 4 + 2 x5 + x6
SC
3 x1 + 4 x 2 + x3 + 3 x 4 + x5 + x6 5
xi 0,1, 1 i 6
SC E
3 x1 + 4 x 2 + x3 + 3 x 4 + x5 + x6 5
X1=0 X1=1
xi 0,1, 1 i 6
E1 E2
3x1 + 4 x 2 + x3 + 3x 4 + x5 + x6 5
X2=0 X2=1 X2=0 Pas de
X2=1
solution
E3 E4 E5 E6
X3=0 X3=1
X3=0 X3=1 . .
E7 E8 . .
E9 E10 . .
. . .
. . .
19/02/2024
. . .
Optimisation combinatoire 39
Exemple 1: problème de sac à dos
E1 E2
Max z = 15 x1 + 4 x3 + 7 x 4 + 2 x5 + x 6 Max z = 15 x1 + 4 x3 + 7 x 4 + 2 x5 + x 6
SC
. SC .
3x + x + 3x + x + .x 5 3x + x + 3x + x . + x
1 3 4 5 6 1
1 3 4 5 6
x 0,1, 1 i 6 x 0,1, 1 i 6
i
. i
.
X2=0 X2=1
S1=21 S2=23
E1 E2
Max z = 15 x1 + 4 x3 + 7 x 4 + 2 x5 + x 6 Max z = 15 x1 + 4 x3 + 7 x 4 + 2 x5 + x 6
SC
. SC .
3x + x + . 3x + x + x 5 3 x .+ x + 3 x + x + x
1 3 4 5 6 1
1 3 4 5 6
x 0,1, 1 i 6 x 0,1, 1 i 6
i
. i
.
Max z = 15 x1 + 18 x 2 + 4 x3 + 7 x 4 + 2 x5 + x6
SC
3 x1 + 4 x 2 + x3 + 3 x 4 + x5 + x6 5
xi 0,1, 1 i 6
S0=24 l’ensemble des
E solutions réalisables
X2=0 X2=1
S1=21 S2=23
E1 E2
X1=1 X1=0
S2=22
E3 E4
Pas de Max z = 4 x3 + 7 x 4 + 2 x5 + x 6
solution SC
x3 + 3 x 4 + x5 + x 6 1
xi 0,1, 1 i 6
X2=0 X2=1
S1=21 S2=23
E1 E2
X1=0
S2=22
E4
X2=0 X2=1
S1=21 S2=23
E1 E2
X1=0
Ensemble des solutions moins S4=22
intéressantes que celles E4
contenues dans E4 car S1=21
x1=0, x2=1, x3=1, x4=x5=x6=0
Solution optimale du
problème
L
L’algorithme s’arrête
Max z (x 1 , x 2 ) = 3x1 + 8 x 2
SC
x1 + 4 x 2 20
x1 + 2 x 2 11
3x1 + 2 x 2 22
x1 , x 2 IN
E0
S0=41
E0
S0=41
X2≥5 X2≤4
E1 E2
Max z (x 1 , x 2 ) = 3 x1 + 8 x 2 Max z (x 1 , x 2 ) = 3 x1 + 8 x 2
SC SC
x1 + 4 x 2 20 x1 + 4 x 2 20
x1 + 2 x 2 11 x1 + 2 x 2 11
3 x1 + 2 x 2 22 3 x1 + 2 x 2 22
x2 5 x2 4
19/02/2024 x1 , x 2 IN Optimisation combinatoire x1 , x 2 IN 47
Exemple2
Max z (x 1 , x 2 ) = 3x1 + 8 x 2
SC
x1 + 4 x 2 20
x1 + 2 x 2 11
3x1 + 2 x 2 22
x1 , x 2 IN
E0
S0=41
X2≥5 X2≤4
E1 E2
X1=0, x2=5 (solution optimale continue) X1=3, x2=4 (solution optimale continue)
Son coût est : 40 Son coût est : 41
Solution entière Solution entière
E0
S0=41
X2≤4
E2
x1=3, x2=4 (solution optimale entière)
Son coût est : 41
Max z = 9 x1 + 5 x 2 + 6 x3 + 4 x 4
SC
6 x1 + 3x 2 + 5 x3 + 2 x 4 10
x3 + x 4 1
- x1 + x3 0
- x2 + x4 0
x1 , x 2 , x3 , x 4 0,1
E0
S0=16
X1=0 X1=1
E1 E2
S1=9 S2=16
x1=0, x2=1 x3=0, x4=1 Z=9 x1=1, x2=4/5 x3=0, x4=4/5 Z=16,2
(solution optimale entière) (solution optimale continue)
9 ≤ Z* ≤ 16
E0
S0=16
X1=0 X1=1
E3 E4
S1=13 S2=16
x1=1, x2=0 x3=4/5, x4=0 Z=13.8 x1=1, x2=1, x3=0, x4=1/2 Z=16
E1 E2 x1=1, x2=4/5
S1=9 S2=16 x3=0, x4=4/5
Z=16,2
x1=0, x2=1 x3=0, x4=1 Z=9
X2=0 X2=1
(solution optimale entière)
E3 E4
S1=13 S2=16
x1=1, x2=0 x3=4/5, x4=0 x1=1, x2=1, x3=0, x4=1/2
Z=13.8 Z=16
X4=0 X4=1
E5 E6
S1=14 S2=16
x1=1, x2=1 x3=0, x4=0 Z=14 Pas de solutions réalisables
x1=1, x2=1 x3=0, x4=0 Z=14
solution optimale entière
19/02/2024 Optimisation combinatoire 53
Procédures par Séparation et Evaluation-Branch and Bound-
(Dans le cas de Minimisation)
Exemple
Min z (x 1 , x 2 ) = 2 x1 + 3x 2
SC
x1 + 3x 2 5
2 x1 + x 2 6
x1 , x 2 IN
X1≤2 X1≥3
E1 E2
S1=10 S2=8
x1=2, x2=2 (solution optimale entière) x1=3, x2=2/3 (solution non entière)
Son coût est : 10 Son coût est : 8
X1≤2 X1≥3
E1 E2
x1=3, x2=2/3 Z=8
S1=10 S2=8
E3 E4
S3=10 S4=9
x1=3, x2=1, Z=9
x1=5, x2=0, Z=10 Solution optimale
Remarque:
X1=3 , X2=1, Z*= 9 (solution arrondie) De la solution optimale continue X1=2.6 , X2=4/5 de coût
Z*= 7,6
19/02/2024 Optimisation combinatoire 56