Complexité des problèmesd’optimisation
Complexité des problèmes d’ordonnancement :
Classes de Complexité
des Problème
d’optimisation
Facile
NP-difficile au sens faible
NP-difficile au sens fort
1
2.
Résolution exacte(méthode exacte)
Résolution approchée (algorithmes d’approximation
ou heuristiques, méta-heuristiques, …)
Remarque : Toutes les méthodes de résolution des
problèmes d’optimisation sont utilisables + des
techniques spécifiques à l’ordonnancement (exemple :
algorithmes de listes ...)
III. Techniques de résolution des problèmes
d’ordonnancement
2
3.
Méthodes de résolution
Résolutionexacte :
Algorithmes de liste ( à base de règles de priorités)
Algorithmes de construction basés sur des règles de
dominance
Algorithmes de séparation et évaluation successives
B&B,
Algorithmes de programmation dynamique,
...
3
4.
Méthodes de résolution
4
Résolutionapprochée :
Algorithmes d’approximation (ou heuristiques) construits sur
des règles spécifiques : règles de priorité, règles de
dominance, ...
Méthode exacte conduite de manière incomplète (Branch &
Bound incomplet ,… algorithmes d’approximation du type
PTAS
Méta-heuristiques : recuit simulé, recherche tabou, algorithmes
génétiques, colonies de fourmis, variable neighbourhood
search, ...
Algorithmes hybrides : une combinaison d’une méta-
heuristique et d’une parmi les deux premières méthodes
5.
III.1. Algorithmes delistes
Principe :
Définir l’ordre de passage des travaux :
Classer les travaux selon une règle de priorité dans
une liste
Affecter les travaux selon leur ordre croissant dans la
liste à la machine disponible le plus tôt
Remarque: certaines règles de priorité sont optimales
pour certains problèmes.
.
5
6.
Caractéristiques des règlesde priorité
Statique ou dynamique:
- Statique: dépend des données des travaux ou de la
machine et reste invariable dans le temps. Exemple:
SPT (shortest processing time first)
- Dynamique: varie en fonction du temps. Exemple:
MS (minimum slack first) Mini(max (di-pij-t,0))
Locale ou globale:
- Locale: utilise les données de la machine où le travail
attend
- Globale: utilise les données des autres machines ou
des autres travaux
6
7.
Quelques règles depriorité simples
SPT: Shortest processing time first
- Ordre croissant des pij pour une Mj donnée
LPT: Longest processing time first
- Ordre décroissant des pij pour une Mj donnée
WSPT: Weighted shortest processing time first
- Ordre croissant des pij/wi pour une Mj donnée
SIRO: Service in random order
- Ordre aléatoire des tâches
LNS: Largest number of successors first
- Le plus grand nombre des opérations successeurs
7
8.
Quelques règles depriorité simples
ERD: Earliest release date first
- Ordre croissant des ri
EDD: Earliest due date first
- Ordre croissant des di
MS: Minimum slack first
- Si Mj est disponible au temps t, la marge de la tâche i
est max(di-pij-t,0)
- La tâche ayant la marge minimale est prioritaire
(selon marges croissantes)
8
9.
Règles de prioritécomposées
ATC (Apparent tardiness cost) est une règle qui
utilise WSPT et MS : La tâche i ayant la plus grande
valeur Ii(t) est ordonnancée en premier :
i
I (t)
wi
ij
. exp( i
p K.
p
max(d pij t, 0)
)
- K est un paramètre d’échelle lié aux di déterminé
empiriquement
- p temps opératoire moyen des tâches non-
traitées
9
10.
Algorithmes de listes(suite)
Algorithmes exacts à base de règles de priorité :
Exemples : 1||ΣwjCj ; 1|rj, pmtn|ΣCj ; 1||Lmax ; 1|rj,
pmtn|Lmax ; F2||Cmax
Algorithmes approchés à base de règles de priorité :
Exemple : P||Cmax
10
11.
1 ||Σwj Cj :
- Cj la date de fin du travail j (une inconnue)
- Min Σwj Cj revient à minimiser les coûts des stocks
d’encours totaux pondérés (ou le temps de séjour
(pondéré) dans l’atelier)
- Un ordonnancement S est déterminé par la séquence
des travaux sur la machine
Règle de Smith : Ordonnancer les travaux selon l’ordre
croissant des pj/wj (WSPT) est optimal pour 1 || Σwj
Cj
Ordonnancer les travaux selon la règle SPT est optimal
Algorithmes exacts à base de règles de
priorité
11
12.
j 1 23 4 5
pj 5 6 1 3 4
wj 2 1 2 1 2
pj/wj 2.5 6 0.5 3 2
•La séquence S*
w est optimale pour le problème 1||
ΣwjCj : S*
w= (3, 5, 1, 4, 2)
•La séquence S* est optimale pour le problème 1||
ΣCj : S*= (3, 4, 5, 1, 2)
• 1|rj|ΣwjCj est NP-difficile
• 1|rj, pmtn|ΣwjCj est NP-difficile au sens fort
• 1|rj|ΣCj est NP-difficile au sens fort
Règle de Smith
12
13.
S*w
1 5 1013 19
3 5 1 2
4
Definition : Total weighted completion time The sum of the weighted completion times of the n jobs
gives an indication of the total holding (de séjour) or inventory costs incurred by the schedule. The
sum of the completion times is in the literature often referred to as the flow time. The total weighted
completion time is then referred to as the weighted flow time.
Règle de Smith
13
14.
1|rj, pmtn|ΣCj:
- Une tâche j ne peut être traitée avant sa date de
disponibilité rj
- La préemption des tâches est autorisée
Un ordonnancement optimal pour 1|rj, pmtn|ΣCj
peut être obtenu : A chaque fois qu’un travail est
achevé ou à la prochaine date de disponibilité, le
travail à traiter est celui qui a la plus petite durée
résiduelle parmi les travaux disponibles. (Règle
SRPT)
Algorithmes exacts à base de règles de
priorité
14
15.
1||Lmax et1|rj, pmtn|Lmax
Règle de Jackson: consiste à donner la priorité la
plus élevée à la tâche disponible de plus petite date
échue.
Si pour toute tâche j, rj=0, l’ordre de Jackson se
réduit à la règle EDD : Earliest due date
La règle EDD est optimale pour 1||Lmax
L’ordonnancement de Jackson est optimal pour
1|rj, pmtn|Lmax
1|rj|Lmax est NP-difficile au sens fort.
Algorithmes exacts à base de règles de
priorité
15
F2||Cmax :
-n travaux à exécuter selon deux tâches successives
sur M1 puis sur M2
- La durée du travail i sur M1 est pi1 et sur M2 est pi2
- Déterminer l’ordre de passage des tâches sur
chacune des machines tel qu’on minimise Cmax
- Cet ordre est-t- il le même sur les deux
machines ?
Algorithmes exacts à base de règles de
priorité
18
19.
Définition:
Un ordonnancement depermutation est un
ordonnancement tel que les travaux ont le même ordre
sur toutes les machines
Les ordonnancements de permutation sont
dominants pour F2||Cmax
Il existe un ordonnancement optimal qui conserve
l’ordre des travaux sur M1 et sur M2 pour F2||Cmax
Algorithmes exacts à base de règles de
priorité
19
20.
Algorithmes exacts àbase de règles de
priorité
Idée:
- Réaliser les tâches ayant les plus petites durées d’abord
sur M1 pour minimiser le temps d’attente sur M2.
- Réaliser les tâches ayant les plus longues durées d’abord
sur M2 pour minimiser le temps mort sur M1.
Règle de Johnson:
- Fractionner l’ensemble des travaux en deux sous-ens.:
A {i / pi1 pi2 } B {i / pi1 pi2 }
- Ordonnancer les tâches de A selon pi1 croissants: πA
- Ordonnancer les tâches de B selon pi2 décroissants: πB
- Concaténer les deux séquences tel que S*={πA, πB}
20
21.
Règle de Johnson
Déterminer un ordonnancement optimal S* pour
cette instance.
Représenter le diagramme de Gantt de S*
i 1 2 3 4 5
pi1 1 3 2 3 11
pi2 5 4 6 2 5
21
La règle de Johnson est optimale pour F2||Cmax
Exemple :
22.
Règle de Johnson
A= {1, 3, 2} ; B={5,4}
S*= (1, 3, 2, 5, 4)
Etant donné une permutation i=1; 2; . . . ; n de travaux, le
Makespan de l’ordonnancement associé est donné par :
C*
max= p11+p21+p31+p51+p52+p42
La complexité de l’algorithme est de O(n log (n))
C *
m a x = 2 4
1
1
3
3
2
2
5
5
4
4
M 1
M 2
C m a x u
m a x ( i 1
i 1 i u
u n
p p i
2 )
22
23.
Algorithme approché àbase de règles de
priorité
j 1 2 3 4 5 6
pj 4 5 5 3 2 5
• Soit P3| |Cmax
•Construire un ordonnancement de l’instance ci-dessus en
se basant sur la règle LPT
• Représenter son diagramme de Gantt
23
24.
Algorithme approché àbase de règles de
priorité
max
C *
• P||Cmax est NP-difficile pour m ≥ 2
• LPT permet pour P||Cmax, d’obtenir un ordonnancement
tel que Cm a x (LPT )
4
1
3 3m
24
25.
Annexe : Remarquessur la complexité des
problèmes d’optimisation
La complexité d’un problème de décision
(d’optimisation) est définie grâce à la complexité
dans le pire des cas du meilleur algorithme le
résolvant.
Deux mesures pour évaluer la complexité d’un
algorithme : le temps et l’espace mémoire (dans
notre cours on considère la complexité en terme de
temps d’exécution)
Un problème d’optimisation est prouvé NP-difficile
si son problème de décision est NP-complet
25
26.
Annexe : Remarquessur la complexité des
problèmes d’optimisation
Un problème de décision D est NP-complet si et seulement
toute instance d’un problème D’, NP-complet, peut être
transformée polynomialement (c.a.d. par réduction
polynomiale) en une instance de D.
Exemple :
1||ΣwjUj avec des di identiques (équivalent au
problème du sac à dos : Knapsak problem )
Le problème de décision NP-complet PARTITION se
réduit polynomialement au problème de décision
associé au sac à dos.
D’où 1||ΣwjUj est NP-difficile au sens ordinaire
(faible)
26
27.
Annexe : Remarquessur la complexité des
problèmes d’optimisation
Un problème de décision NP-complet pour lequel il
existe un algorithme pseudo-polynomial connu est
appelé NP-complet au sens faible; un problème est NP-
complet au sens fort s’il est prouvé qu’il ne peut pas
être résolu par un algorithme pseudo-polynomial à
moins que P=NP.
Le programme dynamique vu dans III, pour résoudre
1||ΣwjUj est de complexité pseudo-polynomiale.
Notation O(f(n)) (c.f. notations asymptotiques)
27
28.
Outline
Ce courspeut évoluer vers optimisation des pbs de
transport
Allocation d’espaces ; optimisation de flux
Etc.
Optimisation avancée …
28