Professional Documents
Culture Documents
Chap2 Scheduling2022
Chap2 Scheduling2022
Mathématiques de Minimisation du
Introduction
l’ordonnancement maximum Lateness
Contenu Minimisation du
Minimisation du
TWCT problem Ordonnancement
Total Weighted
avec les Relations Non-Préemptif
completion time
de Précédence
Introduction
4
Mathématiques de
l’ordonnancement
6
Le diagramme de Gantt
Le diagramme de Gantt est une façon populaire de présenter
graphiquement un calendrier des travaux sur les machines. L'axe X du
diagramme représente le temps et le bloc rectangulaire sur l'axe Y
représente la machine. Une barre horizontale indique l'heure de début et
Mathématiques de fin de chaque tâche sur une machine particulière. Le numéro de la
de tâche est inscrit dans un rectangle. La longueur du rectangle est mise à
l’ordonnanceme l'échelle pour représenter le temps de traitement de la tâche. L'heure de
nt début et de fin d’une tâche sont indiqués sur les côtés verticaux de
départ et d'arrivée du rectangle de la tâche. Les barres représentant les
machines indiquent également les intervalles de repos sur la machine. Le
diagramme de Gantt suivant présente une seule machine avec n tâches.
8
Le diagramme de Gantt
Mathématiques
de
l’ordonnanceme
nt
Flow time Fj
Mathématiques
de
l’ordonnanceme
nt
10
Exemple 1:
Mathématiques
de
l’ordonnanceme
nt
11
Exemple 1: Solution
Mathématiques
de
l’ordonnanceme
nt
12
Exemple 1: Solution
Mathématiques
de
l’ordonnanceme
nt
13
Exemple 1: Solution
Mathématiques
de
l’ordonnanceme
nt
14
Exemple 2:
Mathématiques
de
l’ordonnanceme
nt
15
Exemple 2: Solution
Mathématiques
de
l’ordonnanceme
nt
16
Exemple 2: Solution
Mathématiques
de
l’ordonnanceme
nt
Il convient de noter que la valeur de Cmax reste la même pour les deux séquences.
De plus, la valeur de Lmax pour la séquence EDD est inférieure à la valeur de Lmax
pour la séquence SPT. En outre, le temps d'attente moyen et le retard moyen pour la
séquence SPT sont très faibles si l'on compare les valeurs obtenues par la séquence
EDD.
Que pouvez-vous déduire de ces résultats ?
17
MINIMISATION DUMAXIMUM
LATENESS (1||Lmax)
18
Pour les problèmes de machine unique, si des dates d'échéance (dj) sont
spécifiées, la séquence suivant la date d'échéance au plus tôt (EDD)
donne une solution optimale au Lmax et au Tmax. Cette règle s'applique à la
classe de problèmes spécifiée par la terminologie 1||Lmax ou 1||Tmax.
MINIMISATION Dans cette classe de problèmes, il est implicitement supposé que le
DUMAXIMUM temps de libération de tous les travaux ; rj=0 (atelier statique)
LATENESS
(1||Lmax)
19
Exemple 3
MINIMISATION
DUMAXIMUM
LATENESS
(1||Lmax)
20
Exemple 3: Solution
MINIMISATION
DUMAXIMUM
LATENESS
(1||Lmax)
21
MINIMISATION DU TOTAL
WEIGHTED COMPLETION TIME
(1||ΣwjCj)
22
Souvent, les tâches dans un atelier ont des priorités sur leurs étiquettes
qui sont spécifiées par le terme j. Pour programmer de telles tâches, la
séquence Weighted Shortest Processing Time (WSPT) est appliquée. La
première étape de la séquence WSPT consiste à calculer le rapport entre
le temps de traitement et le poids de chaque travail, puis à classer les
MINIMISATION travaux par ordre croissant de valeurs de rapport entre le temps de
DU TOTAL traitement et le poids.
WEIGHTED
COMPLETION
TIME (1||ΣwjCj)
23
Exemple 4
MINIMISATION
DU TOTAL
WEIGHTED
COMPLETION
TIME (1||ΣwjCj)
24
Exemple 4
MINIMISATION
DU TOTAL
WEIGHTED
COMPLETION
TIME (1||ΣwjCj)
25
MINIMISATION DU TOTAL
WEIGHTED COMPLETION TIME
AVEC DES RELATIONS DE
PRÉCÉDENCE (1|PREC|ΣwjCj)
26
Il y a des cas où les tâches ont des relations de précédence. Comme le montre le diagramme
du réseau de priorité ci-dessous, la tâche 3 dépend de tâche 2 et la tâche 2 dépend de la
tâche 1.
MINIMISATION DU Dans l'exemple suivant, un problème de machine unique est présenté lorsque les tâches ont
TOTAL WEIGHTED la relation de précédence. La fonction objective est la minimisation du total des temps de
COMPLETION TIME réalisation
AVEC DES RELATIONS
DE PRÉCÉDENCE La méthodologie de la solution est basée sur la méthode de la chaîne (Chain Method) qui est
(1|PREC|ΣwjCj) décrit ci-dessous.
1. Pour chaque ensemble de tâches dans le diagramme de réseau de priorité, former des
ensembles de tâches à partir les tâches non ordonnancées pour chaque chaîne.
2. Trouvez la valeur minimale du ρ pour chaque chaîne, où ρ =
3. Sélectionnez les tâches de la chaîne ayant la valeur globale minimale de ρ .
4. Inclure ces tâches dans le calendrier partiel, et les supprimer du réseau de diagramme.
5. Répétez les étapes (1) à (4) jusqu'à ce que tous les tâches soient ordonnancées.
27
Exemple 5
MINIMISATION DU
TOTAL WEIGHTED
COMPLETION TIME
AVEC DES RELATIONS
DE PRÉCÉDENCE
(1|PREC|ΣwjCj)
28
Exemple 5: Solution
MINIMISATION DU
TOTAL WEIGHTED
COMPLETION TIME
AVEC DES RELATIONS
DE PRÉCÉDENCE
(1|PREC|ΣwjCj)
29
Exemple 5: Solution
MINIMISATION DU
TOTAL WEIGHTED
COMPLETION TIME
AVEC DES RELATIONS
DE PRÉCÉDENCE
(1|PREC|ΣwjCj)
30
Exemple 5: Solution
MINIMISATION DU
TOTAL WEIGHTED
COMPLETION TIME
AVEC DES RELATIONS
DE PRÉCÉDENCE
(1|PREC|ΣwjCj)
31
Exemple 5: Solution
MINIMISATION DU
TOTAL WEIGHTED
COMPLETION TIME
AVEC DES RELATIONS
DE PRÉCÉDENCE
(1|PREC|ΣwjCj)
32
Exemple 5: Solution
MINIMISATION DU
TOTAL WEIGHTED
COMPLETION TIME
AVEC DES RELATIONS
DE PRÉCÉDENCE
(1|PREC|ΣwjCj)
33
Exemple 5: Solution
MINIMISATION DU
TOTAL WEIGHTED
COMPLETION TIME
AVEC DES RELATIONS
DE PRÉCÉDENCE
(1|PREC|ΣwjCj)
34
Exemple 5: Solution
MINIMISATION DU
TOTAL WEIGHTED
COMPLETION TIME
AVEC DES RELATIONS
DE PRÉCÉDENCE
(1|PREC|ΣwjCj)
35
Ordonnancement non-
préemptif
36
Ce type d’ordonnancement est pris en compte lorsque le temps de libération
de tous les tâches de l'atelier est le même. La séquence des tâches est
décidée par la politique d’ordonnancement. Une fois la séquence
déterminée, les tâches sont chargées sur la machine suivant l’ordre défini.
Les tâches sont traitées en continu sur la machine dans l'ordre de la
séquence. L'ordre de séquencement ne change pas une fois que la machine
commence à traiter les tâches. Chaque tâche est traitée sur la machine à son
Ordonnancement tour. Aucune tâche n'est retirée de la machine pendant son séjour sur celle-ci,
non-préemptif même si une tâche hautement prioritaire arrive sur cette machine. Par
conséquent, aucune interruption n'est autorisée pendant le traitement des
tâches et toutes les tâches sont traitées selon un ordre prédéfini.
37
Exemple: Les données relatives au problème à machine unique à 4 tâches
sont données dans le tableau suivant
Ordonnancement
non-préemptif
Générez un ordonnancement non préemptif en utilisant la séquence EDD,
puis calculez Cmax et Lmax.
38
Solution :
Comme les tâches ont des valeurs rj distinctes, les données du problème
présentent un environnement dynamique. La séquence EDD pour les 4 tâches
basée sur les dates d'échéance est {1-4-3-2}. Le graphique de Gantt suivant
donne des informations complètes sur la séquence EDD.
Ordonnancement
non-préemptif
Ordonnancement préemptif
40
Ce type d’ordonnancement est pris en compte lorsque les tâches arrivent
dans l'atelier à des heures différentes ; c'est-à-dire que la valeur de rj est
supérieure à zéro et qu'elle peut être différente pour chaque tâche. Dans ce
cas, les tâches sont programmées selon une séquence prédéterminée.
Toutefois, la flexibilité est intégrée dans l'ordonnancement. Cela signifie
qu’une tâche peut être retirée de la machine si une tâche hautement
prioritaire doit être traitée avant la tâche actuellement programmée. Ensuite,
Ordonnancement les tâches de faible priorité ou les tâches préemptives sont traitées plus tard.
préemptif
41
Exemple
Reprenons l'exemple précédent. Si l'on autorise la préemption, la priorité est
donnée aux tâches dont l'échéance est la plus proche (EDD). Quel sera le
nouvel ordonnancement? S'agit-il d'un meilleur ordonnancement ?(pourquoi
ou pourquoi pas ?)
Ordonnancement Solution :
préemptif
La séquence EDD est {1-4-3-2} Temps, t=0.
Le job (tâche) arrivé à l'heure zéro est le job 1. le job 1 est programmé à
l'heure zéro. Ensuite, la machine achèvera le job 1 à l'heure 4.
Temps, t=3.
Les jobs 2 et 3 sont arrivés. La machine est occupée et ne peut traiter aucun
travail.
42
Solution :
Temps, t=4.
Le traitement du job 1 est terminé et la machine se libère et est prête à traiter
n'importe quel job en attente. En ce qui concerne la séquence EDD, le
prochain job dans la séquence EDD est le job 4, mais il n'est pas encore
arrivé parce que son heure d'arrivée est au temps 5. Ainsi, le job suivant dans
la séquence EDD est pris en charge, c'est-à-dire le job 3. Comme le job 3 est
Ordonnancement
préemptif déjà arrivé, il est alors affecté à la machine.
Temps, t=5.
Job j4 est arrivé. Actuellement, la machine traite le job 3. D'après la séquence
EDD, il est clair que le job 3 est moins prioritaire que le job 4. Par conséquent,
il est impossible que le job 3 soit traité. Ensuite, le job 4 est alors affecté à la
machine. Le job 4 a un temps de traitement de 5 unités de temps, ce qui
signifie qu’il sera terminé au temps 10.
43
Solution :
Temps, t=10
Le traitement du job 4 est terminé. Ensuite, le job suivant dans la séquence
EDD est le job 3. Cet emploi a déjà été partiellement traité entre le moment
t=4 et t=5. Son temps de traitement restant est de 5 unités de temps. Par
conséquent, attribuez le job 3 à la machine et il sera terminé au temps 15.
Ordonnancement
préemptif
D'après le diagramme de Gantt ci-dessus, il devrait être clair que les valeurs
de makespan et de retard maximum sont les suivantes : makespan =17 et
Lmax=5.
Il devrait être clair que pour ce problème de données, l’ordonnancement
préemptif offre une meilleure solution que l’ordonnancement non préemptif.
45
Nombrede Tardy Étape 3 : Si les valeurs de Tj pour tous les jobs sont égales à zéro (cela signifie
Jobs qu'il n'y a pas de job en retard). STOP. La séquence EDD est une séquence
optimale pour le problème d'ordonnancement considéré 1|| nt Sinon, passez
à l'étape 4.
Étape 4 : Pour la séquence en cours, trouvez le premier job en retard dans la
séquence, disons k.
Nombrede Tardy
Jobs
Solution :
Réorganisez les jobs en fonction de la séquence EDD comme suit
Les calculs des temps de réalisation (Cj) et des retards (Tj ) sont présentés
dans le tableau ci-dessous. Le nombre de jobs en retard nt est égal à 4.
48
Les calculs des temps de réalisation (Cj) et des retards (Tj ) sont présentés
dans le tableau ci-dessous. Le nombre de jobs en retard nt est égal à 4.
Nombrede Tardy
Jobs
À partir de l'étape 4, le premier job en retard de la séquence est le job 1.
Selon l'étape 5, les jobs 2, 3 et 1 sont candidats à la suppression de l'ensemble
des job en retard. Comme le job 1 a le plus grand temps de traitement pj.
Ensuite, le job 1 est retiré de l’ordonnancement actuel et placé dans le
groupe des jobs en retard, ce qui signifie que le job 1 sera attaché à la fin ou
à la dernière position de la séquence.
49
Nombrede Tardy
Jobs
Nombrede Tardy
Jobs
Il doit être clair qu'il n'y a pas de retard dans l’ensemble des job
ordonnancés. Il n'y a donc que deux jobs tardifs, à savoir les jobs 1 et 5. Par
conséquent, le nombre total de jobs tardifs nt est égal à 2. Ce problème a
deux séquences optimales: {2,3,4,6,1,5}, et {2,3,4,6,5,1}.
51
Au niveau zéro, le nœud racine sera placé avec toutes les n positions vides de
la séquence.
Au niveau 1, il y aura un nombre n de nœuds. Chaque nœud contiendra une
séquence partielle de jobs. La première position de la séquence sera
Branch and Bound
occupée par un job dans l'ordre numérique.
De même, chaque nœud au (n-1)ème niveau sera ramifié en (n-2) nombre de
nœuds. Le processus se poursuivra jusqu'à ce que chaque nœud ait
exactement une feuille.
Pour réduire l'effort de calcul, des limites inférieures sont calculées à chaque
niveau pour chaque nœud. La formule utilisée pour calculer la limite
inférieure est pertinente pour la fonction objective du problème
d'ordonnancement.
Branch and Bound
Le branchement est effectué uniquement à partir des nœuds ayant la
limite inférieure minimale. Ainsi, seule une petite partie des nœuds est
explorée, ce qui réduit le nombre de calculs.
La méthode Branch and Bound (B&B) est appliquée dans presque tous les
problèmes d'ordonnancement. Dans le paragraphe suivant, cette méthode est
appliquée pour résoudre des problèmes à machine unique où les jobs ont
des temps de libération distincts (rj) et la fonction objective est de minimiser
Lmax. Comme la terminologie de l'ordonnancement l'implique, ces types de
problèmes sont appelés problème 1 | rj | Lmax.
55
MINIMIZATION OF MAXIMUM
LATENESS WITH READY TIME
PROBLEM
(1 | rj | Lmax )
56
Dans cette section, la méthode Branch and Bound (B&B) est utilisée pour
résoudre le problème d'ordonnancement suivant : 1 | rj | Lmax. Les directives
suivantes doivent être suivies lors de l'élaboration de l'arbre générateur
d'ordonnancement pour le B&B du problème considéré :
1. À tout niveau de l'arbre, ne générer que les nœuds enfants pour le nœud
MINIMIZATION OF parent sélectionné qui satisfont la relation suivante :
MAXIMUM
LATENESS WITH
READY TIME Où :
PROBLEM J = ensemble des jobs non encore ordonnancés
(1 | rj| Lmax) t = heure à laquelle le job j est censé commencer.
Cela signifie que seuls les jobs qui sont prêts à être traités seront pris en
considération.
57
Dans cette section, la méthode Branch and Bound (B&B) est utilisée pour
résoudre le problème d'ordonnancement suivant : 1 | rj | Lmax. Les directives
suivantes doivent être suivies lors de l'élaboration de l'arbre générateur
d'ordonnancement pour le B&B du problème considéré :
2. Calculer la valeur des limites inférieures pour tous les nœuds à
MINIMIZATION OF n'importe quel niveau en utilisant l’ordonnancement EDD préemptif. Cela
MAXIMUM signifie qu'à chaque nœud, Lmax est calculé à l'aide de l’ordonnancement EDD
LATENESS WITH préemptif développée. Ensuite, le(s) nœud(s) (séquence(s)) ayant la valeur
READY TIME minimale Lmax pour un branchement ultérieur au niveau inférieur est choisi.
PROBLEM
(1 | rj| Lmax) L'exemple suivant illustre la mise en œuvre du B&B pour la résolution du
problème d'ordonnancement suivant : 1 | rj | Lmax.
58
Exemple Le tableau suivant présente un exemple de problème de 1 | rj |
Lmax. Trouvez une solution optimale pour ce problème en utilisant la méthode
B&B.
MINIMIZATION OF
MAXIMUM
LATENESS WITH Solution :
READY TIME
PROBLEM Au départ, il y a quatre nœuds possibles au niveau 1, comme le montre la
(1 | rj| Lmax) figure ci-dessous.
59
Itération I - Étape (1)
Pour les quatre nœuds du niveau 1, vérifiez l'état :
Dans les étapes suivants, chaque séquence partielle sera examinée une par
une comme suit :
MINIMIZATION OF
MAXIMUM a) Séquence partielle : (1-*-*-*) r1 = 0 t=0
LATENESS WITH
READY TIME Les jobs non ordonnancés sont (2-3-4). Le délai minimum d'exécution de
PROBLEM tous ces jobs peut être calculé comme suit.
(1 | rj| Lmax)
Les jobs non ordonnancés sont (1-3-4). Le délai minimum d'exécution de tous ces
jobs peut être calculé comme suit.
MINIMIZATION OF
MAXIMUM
LATENESS WITH
READY TIME Puisque r2 < 4, il faut donc inclure ce nœud (2-*-*-*) dans l'arbre.
PROBLEM c) Séquence partielle : (3-*-*-*) r3 = 3 t=0
(1 | rj| Lmax)
Les jobs non ordonnancés sont (1-2-4). Le temps minimum d'exécution de tous ces
jobs peut être calculé comme suit :
Puisque r3 n'est pas inférieur à 3. Alors, n'incluez pas ce nœud (3-*-*-*) dans
l'arbre
d) Séquence partielle : (4-*-*-*) r4 = 5 t=0 61
Les jobs non ordonnancés sont (1-2-3). Le délai minimum d'exécution de tous
ces jobs peut être calculé comme suit :
MINIMIZATION OF
MAXIMUM
LATENESS WITH
READY TIME
PROBLEM
(1 | rj| Lmax) Puisque r4 n'est pas inférieur à 3. Alors, n'incluez pas ce nœud (4-*-*-*) dans
l'arbre.
Itération - I : Étape (2)
Trouvez Lmax pour les séquences (1-*-*-*) et (2-*-*-*) comme suit :
La séquence des EDD en fonction des dates d'échéance est la suivante : (1-4-
3-2)
Voici l’ordonnancement de la séquence (1-*-*-*) utilisant l’ordonnancement
préemptif :
Voici l’ordre de la séquence (1-*-*-*) utilisant l’ordonnancement préemptif:
62
MINIMIZATION OF
MAXIMUM
LATENESS WITH
READY TIME Voici l’ordre de la séquence (2-*-*-*) utilisant l’ordonnancement préemptif:
PROBLEM
(1 | rj| Lmax)
La figure précédente montre clairement que la machine est restée inactive 63
Il devrait être clair, d'après la figure ci-dessus, qu'il y a trois nœuds qui
émanent du nœud (1-*-*-*). Ensuite, vérifiez la condition suivante afin de
déterminer le(s) nœud(s) à prendre en compte :
Itération 2 - Étape (1) 64
Les jobs non ordonnancés sont (3-4). Le délai minimum d'exécution de tous
ces jobs peut être calculé comme suit :
MINIMIZATION OF
MAXIMUM
LATENESS WITH
READY TIME
PROBLEM Puisque r2 < 10, il faut donc inclure ce nœud (1-2-*-*) dans l'arbre
(1 | rj| Lmax)
b) Séquence partielle : (1-3-*-*) r3 = 3 t=4
Les jobs non ordonnancés sont (2-4). Le délai minimum d'exécution de tous
ces jobs peut être calculé comme suit :
Les jobs non ordonnancés sont {2-3}. Le délai minimum d'exécution de tous
ces jobs peut être calculé comme suit :
MINIMIZATION OF
MAXIMUM
LATENESS WITH
READY TIME
PROBLEM Itération 2 : Étape (2)
(1 | rj| Lmax)
Trouvez Lmax pour les trois séquences comme suit :
MINIMIZATION OF
MAXIMUM
LATENESS WITH
READY TIME
PROBLEM
(1 | rj| Lmax)
Ainsi, d'après le tableau ci-dessus, la Lmax est égale à 6. Lorsque l'on compare
les valeurs de la limite inférieure des trois nœuds, il doit être clair que le
nœud (1-3-*-*) a la valeur minimale. Ainsi, à partir de ce nœud, la
ramification doit se poursuivre comme indiqué dans la figure ci-dessous.
Ainsi, d'après le tableau ci-dessus, la Lmax est égale à 6. Lorsque l'on compare
68
les valeurs de la limite inférieure des trois nœuds, il doit être clair que le
nœud (1-3-*-*) a la valeur minimale. Ainsi, à partir de ce nœud, la
ramification doit se poursuivre comme indiqué dans la figure ci-dessous.
MINIMIZATION OF
MAXIMUM
LATENESS WITH
READY TIME
PROBLEM
(1 | rj| Lmax)
Le job non ordonnancé est {4}. Le délai minimum d'exécution de ce job peut
être calculé comme suit :
MINIMIZATION OF
MAXIMUM
LATENESS WITH
READY TIME
PROBLEM Puisque r2 < 15, il faut donc inclure ce nœud (1-3-2-*) dans l'arbre.
(1 | rj| Lmax)
b) Séquence partielle : (1,3,4,*) r2 = 5 t=10
Le job non ordonnancé est {2}. Le délai minimum d'exécution de ce job peut
être calculé comme suit :
Puisque r4 < 12, il faut donc inclure ce nœud (1-3-4-*) dans l'arbre.
Itération 3 : Étape (2) 70
Ainsi, d'après le tableau ci-dessus, la Lmax est égale à 5. Lorsque l'on compare
MINIMIZATION OF les valeurs limites inférieures des deux nœuds, il doit être clair que le nœud
MAXIMUM
LATENESS WITH (1-3-4-2) a la valeur minimale. Ceci conclut la procédure du branch and
READY TIME bound et signifie également que la séquence optimale a été obtenue. La
PROBLEM séquence optimale est {1-3-4-2}.
(1 | rj| Lmax)
72
MINIMIZATION OF TOTAL
WEIGHTED TARDINESS PROBLEM
(1 || σ 𝑤𝑗 𝑇𝑗 )
Dans la théorie classique de l’ordonnancement, la minimisation du retard 73
Wj ≥Wk,
Il existe alors une séquence optimale qui minimise le problème
1|| σ 𝑤𝑗 𝑇𝑗 dans lequel le job j apparaît avant le job k.
Comme mentionné précédemment, ce lemme aidera à établir une relation 74 entre
les jobs, ce qui produit des contraintes de précédence entre certains jobs et
contribue par conséquent à éliminer un nombre important de séquences
possibles, ce qui réduit l'espace de solution et l'effort de recherche.
Méthode :
Étape 1 : Identifier les positions des jobs dans la séquence suivant les données
MINIMIZATION OF Étape 2 : Construire un arbre B&B avec seulement des nœuds qui contient des
TOTAL WEIGHTED jobs possibles pour être en dernière position dans la séquence. Utilisez le Lemme
TARDINESS
PROBLEM (1 || mentionné ci-dessus pour construire ces nœuds au niveau un de l'arbre.
σ 𝑤𝑗 𝑇𝑗) Étape 3 : Trouvez la limite inférieure pour chaque nœud développé. Cela signifie
qu'il faut calculer σ 𝑤𝑗 𝑇𝑗 comme limite inférieure pour chaque nœud.
Étape 5 : Lorsque vous passez à un nœud de niveau inférieur, n'incluez que les
jobs qui satisfont le Lemme mentionné ci-dessus.
Étape 6 : Continuez à vous ramifier au niveau le plus bas de l'arbre jusqu'à ce que
tous les jobs soient inclus dans l’ordonnancement.
Exemple 75
MINIMIZATION OF
TOTAL WEIGHTED
TARDINESS Solution :
PROBLEM (1 ||
σ 𝑤𝑗 𝑇𝑗) La première étape consiste à déterminer l'ensemble des jobs qui satisfont à
la condition de relation dans le lemme mentionné plus haut, dans lequel les
conditions pour tout job sont les suivantes :
Pour le nœud avec séquence partielle (*-*-*-4), la limite inférieure (LB) qui
MINIMIZATION OF est σ 𝑤𝑗 𝑇𝑗 peut être calculée comme suit :
TOTAL WEIGHTED
TARDINESS
PROBLEM (1 ||
σ 𝑤𝑗 𝑇𝑗)
De même, la limite inférieure (LB) pour le nœud avec séquence partielle (*-*-
*-3) peut être calculée comme suit :
Solution : 77
MINIMIZATION OF
TOTAL WEIGHTED La limite inférieure de la séquence partielle (*-*-1-3) qui est σ 𝑤𝑗 𝑇𝑗 peut être
TARDINESS calculée comme suit :
PROBLEM (1 ||
σ 𝑤𝑗 𝑇𝑗)
MINIMIZATION OF
TOTAL WEIGHTED La limite inférieure de la séquence partielle (*-2-1-3) qui est σ 𝑤𝑗 𝑇𝑗 peut être
TARDINESS calculée comme suit :
PROBLEM (1 ||
σ 𝑤𝑗 𝑇𝑗)
MINIMIZATION OF
TOTAL WEIGHTED
TARDINESS Le retard total pondéré σ 𝑤𝑗 𝑇𝑗 = 67. La même approche peut être utilisée
PROBLEM (1 ||
σ 𝑤𝑗 𝑇𝑗) pour résoudre le problème 1 || σ 𝑇𝑗 . On n’a qu’à supposer que tous les jobs
ont le même poids 𝑤𝑗 =1.
82
MINIMIZATION OF MAXIMUM
LATENESS WITH PRECEDENCE
PROBLEM
(1 | PREC | Lmax)
Dans cette section, le problème d’ordonnancement a des jobs qui ont 83 un
rapport de prédécence entre eux. En ordonnancant les travaux sur une seule
machine, l'objectif est de minimiser le retard maximum (Lmax). L'une des
méthodes bien connues pour résoudre ce problème est basée sur la règle de
la plus petite marge restant (RS) (least remaining slack).
Cette règle est appliquée pour résoudre le problème 1 | prec | Lmax.
MINIMIZATION OF
MAXIMUM Le RSj peut être calculé comme suit :
LATENESS WITH
PRECEDENCE
PROBLEM Avec
(1 | PREC | Lmax)
RSj = la marge de manœuvre restante du job j.
pj = le temps de traitement du job j.
dj = date d'échéance pour le job j.
t = heure de l’ordonnancement.
L'algorithme pour mettre en œuvre les règles RS est le suivant : 84
MINIMIZATION OF
MAXIMUM
LATENESS WITH De plus, le graphe de précédence pour les jobs est donné dans la figure
PRECEDENCE suivante :
PROBLEM
(1 | PREC | Lmax)
Solution 86
MINIMIZATION OF
MAXIMUM
LATENESS WITH
PRECEDENCE
PROBLEM
(1 | PREC | Lmax) Le job 2 a la valeur minimale de RS. Ensuite, le job 2 est ordonnancé d'abord
sur la machine au temps 0 et il sera terminé au temps 3. Ainsi, la valeur de t a
été mise à jour pour être = 3. L'ensemble S = {2}.
Ensuite, le job 6 est ajouté à l'ensemble des jobs ordonnançables. Cela
signifie que l'ensemble contient les jobs suivants : {1-5-6}. Le calcul des
valeurs RS pour ces jobs de l'ensemble est donné dans le tableau suivant :
Solution 87
Le calcul des valeurs RS pour ces jobs de l'ensemble est donné dans le
tableau suivant :
MINIMIZATION OF
MAXIMUM
LATENESS WITH
PRECEDENCE
PROBLEM Comme le job 1 a la valeur RS minimale, il est donc ordonnancé en deuxième
(1 | PREC | Lmax) position au temps 3 de la machine. Le job sera terminé au temps 5. Par
conséquent, la valeur actualisée de t est = 5. L'ensemble S = {2-1}.
Ensuite, le job 4 est ajouté à la liste des jobs ordonnançables. L'ensemble des
jobs ordonnançables est {5-6-4}. Sur les trois jobs de l'ensemble, le job 4 a la
valeur minimale de RS comme indiqué dans le tableau suivant :
Solution 88
MINIMIZATION OF
MAXIMUM
LATENESS WITH
PRECEDENCE
PROBLEM Ainsi, le job 4 est prévu au temps 5 et il sera terminé au temps 6. L'ensemble
(1 | PREC | Lmax) S = {2-1-4}. La valeur t sera donc mise à jour pour être égale à 6. au temps
courant, seuls deux jobs sont dans l'ensemble ordonnançable. Ces jobs sont
{5-6}. Sur ces deux jobs, le job 6 a la valeur RS minimale comme indiqué dans
le tableau suivant :
Solution 89
Parmi ces deux jobs, le job 3 a la valeur minimale de RS comme indiqué dans
le tableau suivant.
MINIMIZATION OF
MAXIMUM
LATENESS WITH Ensuite, le job 3 est prévu à la date 13 et il sera terminé à la date 15.
PRECEDENCE L'ensemble S = {2-1-4-6-5-3}. La valeur de t est = 15. À ce moment, le job 8 est
PROBLEM
(1 | PREC | Lmax) ajouté à l'ensemble ordonnançable. L'ensemble des jobs ordonnançables est
{7-8}. Parmi ces deux jobs, le job 7 a la valeur minimale de RS comme indiqué
dans le tableau suivant :
Solution 91
Ainsi, le job 7 est prévu à la date 15 et il sera achevé à la date 17. L'ensemble
S = {2-1-4-6-5-3-7}. La valeur de t est = 17. Le seul job non ordonnancé est le
job 8 avec une valeur RS de 0 comme indiqué dans le tableau suivant :
MINIMIZATION OF
MAXIMUM Ensuite, le job 8 est prévu à la date 17 et il sera terminé à la date 19.
LATENESS WITH L'ensemble des tâches ordonnançables est vide. Par conséquent, STOP.
PRECEDENCE
PROBLEM La séquence finale des jobs sur la machine est la suivante : {2-1-4-6-5-3-7-8}.
(1 | PREC | Lmax) Le diagramme de Gantt pour cette séquence est présenté ci-dessous :
THE
END