Professional Documents
Culture Documents
Support IV
Support IV
1 / 16
Overview
1. Problème d’affectation
2. Problème d’ordonnancement
2 / 16
Problème d’affectation de coût minimal
On appelle affectation une répartitions des n machine sur les tâches à réaliser. Ainsi, une affectation peut
être représentée par une matrice T = (tij )1≤i,j≤n tel que
(
1 si Li est affectée à Cj
tij =
0 sinon
Si V = (vij )1≤i,j≤n désigne la matrice des coûts, alors le coût d’une affectation T peut être définie par :
X
v (T ) = tij vij
1≤i,j≤n
Remarque: Une affectation est une bijection de l’ensemble X = {Li , 1 ≤ i ≤ n} sur l’ensemble
Y = {Cj , 1 ≤ j ≤ n}, il y a donc n! affectations possibles.
3 / 16
Exemple: On veut affecter 5 tâches C1 , · · · , C5 à 5
machines L1 , ..., L5 . Les coûts des affectations sont ❏ La détermination d’une affectation de coût
donnés par le tableau V ci-contre: minimal par énumération de toutes les
affectations possibles, pour n= 20 par exemple,
C1 C2 C3 C4 C5
avec un ordinateur analysant une affectation par
L1 7 2 1 9 4
microseconde travaillant 24 heures par jour et
L2 9 6 9 5 5 365 jours par année, exigerait environ 830 siècles
L3 8 8 3 1 8 pour ce travail.
L4 7 9 4 2 2 ❏ Le problème d’affectation consiste à trouver une
L5 4 3 7 4 8 affectation de coût minimal peut être formulé par
le programme linéaire P(V ) suivant:
Une affectation peut être par exemple : !
P
0 0 0 1 0
Min tij vij
1≤i,j≤n
0 0 0 0 1
P(V ) :
P
tij = 1 pour i = 1, · · · , n
T = 1 0 0 0 0 avec v (T ) = 38
1≤j≤n
P
0 1 0 0 0
tij = 1 pour j = 1, · · · , n
1≤i≤n
0 0 1 0 0
4 / 16
Principe de l’algorithme hongrois
5 / 16
Algorithme hongrois
Soit V = (vij ) la matrice des coûts associée au problème d’affectation de coût minimal.
Phase 1 : Réduction initiale
❏ Soustraire l’élément minimum de la ligne i de chaque élément de la ligne i, pour tout i = 1, · · · , n.
❏ Soustraire l’élément minimum de la colonne j de chaque élément de la colonne j, pour tout j = 1,..., n.
Phase 2 : marquage des zéros
Prendre la ligne contenant le moins de zéros ; encadrer le premier zéro de cette ligne et barrer les autres zéros de la
ligne et de la colonne du zéro encadré. Refaire cette opération jusqu’à impossibilité d’encadrer un zéro.
Phase 3 : recherche d’une solution optimale
➊ procédure de marquage des lignes et des colonnes :
❏ marquer les lignes ne contenant aucun 0 encadré (s’il n’y en a pas : FIN) ;
❏ marquer toute colonne qui a un 0 barré sur une ligne marquée ;
❏ marquer toute ligne qui a un 0 encadré dans une colonne marquée ;
❏ retour à b et c jusqu’à ce qu’il n’y ait plus de ligne ou de colonne à marquer.
➋ Rayer chaque ligne non marquée et chaque colonne marquée.
➌ réduction : choisir le plus petit élément p du tableau non rayé, le soustraire aux colonnes non rayées et l’ajouter
aux lignes rayées.
➍ retour à la phase 2.
6 / 16
Exemple
Phase 1: Phase 2: 2) Rayure des lignes et colonnes
Réduction des lignes : marquage des zéros
× ×
6 1 0 8 3 5 1 0 8 3
4 1 4 0 0 3 1 4 0 0 5 1 0 8 3
×
3 1 4 0 0
V1 = 7 7 2 0 7 6 7 2
V2 = 0 7
V 2 = ×
6 7 2 0 7
5 7 2 0 0 4 7 2 0 0
1 0 4 1 5 0 0 4 1 5 ×4 7 2 0 0
0 0 4 1 5
Réduction des colonnes : Phase 3:
1) Marquage des lignes et colonnes 3) Réduction
5 1 0 8 3 × × × ×
3 1 4 0 0
5 1 0 9 4
5 1 0 8 3
6
V2 = 7 2 0 7 × 3 1 4 0 0 ×
2 0 3 0 0−1
4 7 2 0 0 V3 = ×
5 6 1 0 7−1
V2 = ×
6 7 2 0 7
0 0 4 1 5 ×4 7 2
×3 6 1 0 0 −1
0 0
0 0 4 1 5 0 0 4 2 6
min(P(V2 )) = min(P(V )) − 13
+1 +1
min(P(V3 )) = min(P(V2 )) + 2 − 3
7 / 16
Phase 2:
marquage des zéros Affectation de coût minimal : Une affectation de coût minimal est
5 1 0 9 4
0 0 1 0 0
{(L1,C3), (L2,C2), (L3,C4),
2 0 3 0 0 0 1 0 0 0 (L4,C5), (L5,C1)} Son coût est :
5 6 1 0 7
V3 = V3 = 0 0 0 1 0
3 6 1
1 + 6 + 1 + 2 + 4 = 14
0 0 0 0 0 0 1
0 0 4 2 6 1 0 0 0 0 .
Fin
8 / 16
Problèmes d’ordonnancement
L’ordonnancement d’un projet consiste à organiser dans le temps la réalisation de ses tâches qui sont sujets
au contraintes dites d’antériorité et de durée . Une méthodes d’ordonnancement à pour objets principaux :
❏ Ordonner ses tâches.
❏ Déterminer la durée minimale d’un projet.
❏ Calculer les dates au plus tôt et au plus tard de démarrage des tâches.
❏ Calculer les marges de réalisation de chaque tâche.
Les deux méthodes les plus répondues permettant de résoudre un problème d’ordonnancement sont :
• Méthode MPM (Méthode des Potentiels Métra) dite aussi méthode des potentiels-taches;
• Méthode PERT (Program Evaluation and Review Technique) dite aussi méthode des potentiels-étapes.
9 / 16
Méthode des potentiels (PERT): Modèle
10 / 16
Représentation des tâches
Etape2
Etape2 C Etape5 D Etape6
--
-- -- --
Les tâche A et B doivent se terminer pour que la A et C doivent être terminées pour que D puisse
tâche C commence. commencer et uniquement A doit être terminée
pour que B commence.
11 / 16
Exemple d’application
12 / 16
Diagramme de PERT
B(2)
F(2)
3 G(2)
- -
D(1) 6
- -
13 / 16
Date au plus tôt d’une tâche
Pour un sommet, la date au plus tôt (notée : t) représente concrètement le temps minimum nécessaire pour
atteindre ce sommet ( on ne peut pas faire mieux). Elle se déterminera de proche en proche, par ordre de
sommet croissant, à partir de l’entrée du graphe, considéré. On part de l’étape de début, pour laquelle la
date au plus tôt est initialisée à 0, et on parcourt le réseau en suivant l’agencement des tâches déterminé
auparavant.
i dik k
ti - tk - djk
j
tj -
tk = ti + dik
14 / 16
Date au plus tard d’une tâche
Pour un sommet, la date au plus tard (notée : T ) représente concrètement la date à laquelle cet état doit
obligatoirement être atteint si l’on ne veut pas augmenter la durée totale du projet ( il ne faut pas faire pire
). Elle se déterminera de manière analogue à t, mais par ordre de sommet décroissant, depuis la sortie du
graphe
i dik k
- Ti - Tk djk
j
- Tj
Tk = Ti − dik
Tk = min(Ti − dik , Tj − djk , · · · )
15 / 16
Marges d’une tâche
La marge libre d’une tâche représentera concrètement le retard maximal qu’on pourra prendre dans la
réalisation d’une tâche sans retarder le début des tâche suivantes, on la notera ML.
i
dij j
ti Ti tj Tj
MLij = tj − ti − dij
La marge totale d’une tâche représentera concrètement le retard maximal qu’on pourra prendre dans la
réalisation d’une tâche sans retarder l’ensemble du projet, on la notera MT.
i
dij j
ti Ti tj Tj
MTij = Tj − ti − dij
On qualifiera de critique, une tâche dont la marge totale est nulle, c’est en quelque sorte une tâche
”urgente”, une tâche sur laquelle il ne faut pas prendre de retard si l’on ne veut pas augmenter la durée
totale du projet.
16 / 16