Ajout du graphe et quelques ajouts commentés et correction de faute de frappe

This commit is contained in:
Benjamin Frottier 2012-05-15 11:01:19 +02:00
parent a137e62450
commit 55e99dd4ac
1 changed files with 80 additions and 7 deletions

View File

@ -434,7 +434,14 @@ courts en appliquant deux changements~:
\end{itemize}
%Deuxième cours
\section{Problème d'orgonnancement de projets}
\section{Problèmes d'ordonnancement de projets}
%%%
%Théorie des graphes -> cas déterministe.
%Un projet -> plusieurs tâches.
%Toutes ces tâches sont liées par des \textbf{contraintes}.
%\underline{But :} terminer au plus tôt, en respectant les contraintes.
%%%
Le but est de trouver l'ordonnancement au plus tôt de toutes les tâches.
@ -444,7 +451,7 @@ Gantt calés à gauche.
Le deuxième objectif est de déterminer le chemin critique~: tout retard sur une
tâche critique se représente sur la durée totale du projet.
POiur les tâches non-critiques, on peut calculer la marge totale et la marge
Pour les tâches non-critiques, on peut calculer la marge totale et la marge
libre.\\
Il existe deux méthodes principales pour calculer les crontraites de type
@ -452,7 +459,7 @@ Il existe deux méthodes principales pour calculer les crontraites de type
dans ce cours).
Les seules contraintes sont du type~: \og la tâche B ne peut démarrer que 3
jours après la tâche A\fg.
jours après la tâche A\fg, contraintes de succession.
\paragraph{Remarque} les contraintes les plus dures ne sont pas prises en
compte~: on parle de type cumulatif.
@ -460,11 +467,30 @@ compte~: on parle de type cumulatif.
Lorsque les ressources sont limités, les interactions sont très fortes entre
les tâches.
%Permet au tableau d'être où il faut.
\newpage
\subsection{Méthode portentiels-tâches}
%2 opérations :
%\underline{1 - Ordonnancement au plus tôt}
%On calcule les dates de début au plus tôt de toutes les tâches
%=> diagramme de GANT calé à gauche.
%
%=> il y a 2 sortes de tâches :
% *les tâches critiques.
% *les tâches non-critiques.
%Une tâche critique est une tâche qui ne souffre d'aucun retard.
%-> tout retard sur le démarrage d'une tâche critique se répercurte
%\underline{sur la date de fin du projet}.
%Pour les tâches non critiques, il existe des marges totales/libres.
%\underline{2 - Ordonnancement au plus tard}
%\underline{hypothèse :} la durée minimale du projet est respectée.
%On cherche \underline{la date de début au plus tard} de chaque tâche
%non-critique, qui soit compatible avec cette durée minimale du projet.
\paragraph{Exemple} On a un problème à 7 tâches ($a$, $b$, $c$, $d$, $e$, $f$
et $g$)~; les contraintes sont de type portentiel seulement.
Soit le tableau des contraintes suivantes~:
\begin{figure}[h]
@ -560,7 +586,7 @@ On commence par dresser le tableau suivant~:
\paragraph{Initialisation} Le projet démarre à la date 0. Il s'agit de la date
de début au plus tôt de $\alpha$~; ici {\color{mauve} 0}.
\paragraph{Deuxième phase} {\color{mauve} Mmouvement de haut en bas.}\\
\paragraph{Deuxième phase} {\color{mauve} Mouvement de haut en bas.}\\
Dès que l'on connaît une date de début au plus tôt (1\iere ligne du tableau),
on la répercute dans la deuxième ligne du tableau partout où la tâche concernée
apparaît.
@ -568,7 +594,7 @@ apparaît.
\subparagraph{Ensuite} {\color{dkgreen} mouvement de bas en haut.}\\
Dès que l'on connaît les dates de début au plus tôt de tous les prédécesseurs
d'une tâche, on dit que la colonne est complète, et on calcule la date de
vbut au plus tôt de la tâche en tête de colonne (première ligne) par la
début au plus tôt de la tâche en tête de colonne (première ligne) par la
formule de Bellman~:
$$t_j=\max[t_i+v_{ij}]\qquad i\in(\Gamma^{-1}(j))$$
@ -633,7 +659,7 @@ toutes les tâches non critiques.
\subparagraph{Hypothèse} La durée minimale du projet est respectée.
Pour les tâches croitiques, la date de début au plus tard est égale à la date
Pour les tâches critiques, la date de début au plus tard est égale à la date
de début au plus tôt.
Quelles sont les dates de début au plus tard des tâches non critiques~?
@ -684,7 +710,8 @@ graphe.
\paragraph{Initialisation} On numérote les sommets, le sommet racine prennant
le numéro 1. On essaye de respecter autant que possible la numérotation
topologique des sommets.
Les arcs de numérotation non topologique risquent d'entrainer
des retours en arrière ce qui impliquerait des retards.
\begin{figure}[h]
\centering
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2.5cm,
@ -700,6 +727,52 @@ topologique des sommets.
\end{figure}
%À mettre en page ou à supprimer
\begin{figure}[h]
\centering
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2.5cm,
thick,main node/.style={circle,fill=blue!20,draw,font=\sffamily\Large\bfseries}]
\node[main node] (1) {$1$};
\node[main node] (2) [below right of=1] {$2$};
\node[main node] (3) [right of=2] {$3$};
\node[main node] (4) [below left of=1] {$4$};
\node[main node] (5) [below left of=2] {$5$};
\node[main node] (6) [below right of=2] {$6$};
\node[main node] (7) [right of=6] {$7$};
\node[main node] (8) [right of=7] {$8$};
\node[main node] (9) [right of=8] {$9$};
\node[main node] (10) [below right of=7] {$10$};
\node[main node] (11) [right of=5] {$11$};
\node[main node] (12) [right of=4] {$12$};
\node[main node] (13) [right of=1] {$13$};
\path[every node/.style={font=\sffamily\small}]
(1) edge [right] node[right] {2} (2)
edge [right] node[right] {10} (3)
edge [bend left] node[right] {1} (4)
(2) edge [bend right] node[right] {3} (6)
edge [bend left] node[right] {20} (5)
(3) edge [bend right] node[right] {40} (5)
edge [bend left] node[right] {20} (4)
(4) edge [bend right] node[right] {3} (10)
edge [bend left] node[right] {5} (11)
(5) edge [bend right] node[right] {20} (6)
edge [right] node[right] {35} (7)
edge [bend left] node[right] {20} (9)
(6) edge [bend right] node[right] {5} (7)
(7) edge [bend left] node[right] {10} (8)
(8) edge [bend right] node[right] {45} (9)
edge [right] node[right] {20} (12)
(9) edge [bend left] node[right] {40} (12)
edge [bend right] node[right] {45} (11)
(10) edge [bend right] node[right] {45} (13)
(11) edge [right] node[right] {10} (10)
(12) edge [bend right] node[right] {10} (13)
;
\end{tikzpicture}
\caption{Graphe page 106}
\end{figure}
Voir graphe page 106.
On cherche le chemin le plus court allant du sommet 1 vers tous les autres