www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 10f94bb7ed8ae80b1525939873523f7af812ad09
parent cc47fe496af4a3d1c124597b1b2490d19519f3a9
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date:   Wed, 20 Oct 2010 00:43:50 +0200

Rédaction de ce qu'on a griffonné lundi. Il reste des choses à corriger.

Diffstat:
Mrapport.tex | 150+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 148 insertions(+), 2 deletions(-)

diff --git a/rapport.tex b/rapport.tex @@ -4,6 +4,7 @@ \usepackage[T1]{fontenc} \usepackage[frenchb]{babel} \usepackage{tikz} +\usepackage{amsmath} \usetikzlibrary{chains,positioning,matrix} \begin{document} @@ -114,7 +115,7 @@ \label{fig:graphe-g*} \end{figure} -\subsection{Demonstration} +\subsubsection{Question 2} Démonstration par construction : On éffectue un tri topologique sur le graphe des contraintes de précédence, le graphe resultant est $G' (\{J_{1}\ldots J_{n}\}, E') $ on a donc : @@ -127,4 +128,148 @@ Considérons les arcs entre les $v_{i,j}$ : \item Arcs auxiliaires : ces arcs ne sont pas entre des sommets $v_{i,j}$. \end{itemize} On va créer une $(s-t)-\mathrm{coupe}$ minimale. Comme cette coupe et minimale, aucun arc de capacité infinie n'a son origine dans $S$ et son extremité dans $\overline{S}$. -\end{document} + +TODO : on montre que si c'est une coupe min, il ne sort qu'un et un +seul arc d'affectation par job. Il faut aussi montrer qu'il existe. + +\subsubsection{Question 3} +TODO : Attention à la phrase suivante, ce n'est pas tout à fait ce qu'on a montré dans l'exo 2 + +Dans l'exercice précédent, on a montré que de toute coupe minimale sort un et un seul art d'affectation par job. + +On cherche à associer un ordonancement réalisable à toute coupe minimale. + +On va construire cet ordonancement de la manière suivante : à chaque +fois qu'un arc d'affectation $v_{i,t}, v_{i,t+1}$ traverse la coupe, +on exécute le job $i$ à l'instant $t$ dans l'ordonancement. + +On cherche un ordonancement, donc une suite de paires +$(\text{tâche},\text{date de début})$ respectant les dépendances, +autrement dit chaque tâche apparaît après ses dépendances dans la +suite. + +Comme chaque arc de précédence a une capacité finie, pour que la coupe +soit minimale, cela signifie qu'aucun arc de précédence ne sort de la +coupe. Cela signifie donc qu'à chaque fois qu'on exécute un job (à +chaque fois qu'un arc d'affectation sort de la coupe), tous les arcs +de précédence entrants dans ce noeud ont leur extrémité déjà présente +dans la partie \og gauche \fg de la coupe (TODO : on n'a pas prouvé +ça, on a prouvé pour tous les sortants, mais pas les entrants. Il faut +montrer qu'en partant de la source, on est obligié d'avoir tous les +arcs de précédence entrants.), et donc toutes les tâches dont dépend +celle-là ont été exécutées à un temps antérieur. + +On cherche un ordonancement réalisable, c'est à dire pour lequel +toutes les tâches peuvent être menées à bout durant le temps +imparti. + +La propriété énoncée dans l'exercice 2 nous indique que dans toute +coupe minimale, un et un seul arc d'affectation par job sort de la +coupe. Cela signifie que chaque job a commencé à être exécuté. Comme +il exite un noeud pour je job $j$ à l'instant $t$ si et seulement s'il +y a le temps de l'exécuter (\ogà chaque date de début possible\fg), +cela signifie que tous les jobs commencés ont eu le temps d'être +terminés, et comme nous venons de voir que tous les jobs ont pu être +commencés, ils ont tous pu être terminés. Donc l'ordonancement est +réalisable. + +\subsubsection{Question 4} + +On construit la coupe à partir de l'ordonancement de la même manière +qu'on a construit l'ordonancement à partir de la coupe dans l'exercice +précédent, mais en suivant l'algorithme dans l'autre sens~: + +Si on exécute le job $i$ à l'instant $t$ dans l'ordonancement, alors +tous les noeuds $v_{i,t'}$ avec $t' \leq t$ sont dans la partie \og +gauche\fg de la coupe. De plus, s appartient lui aussi à la partie +gauche de la coupe. + +TODO : et les arcs de précédence ? prouver qu'aucun ne sort de la +coupe dans notre construction. + +La capacité de cette coupe est la somme de la capacité de tous les +arcs qui sortent de la coupe, autrement dit la somme des capacités des +arcs $v_{i,t}, v_{i,t+1}$. Comme la capacité de ces arcs est égale au +coût d'exécution de la tâche i à l'instant t, on a bien égalité entre +la somme des capacités et la somme des coûts de démarrage des jobs, +donc la capacité de la coupe est égale au coût de l'ordonancement. + +\subsection{Exercice 2} + +Il existe un ensemble de chemins d'arcs disjoints de cardinal 3~: + +$$ +\begin{array}{ccccccc} + 1 & \rightarrow & 2 & \rightarrow & 3 & \rightarrow & 6 \\ + 1 & \rightarrow & 3 & \rightarrow & 4 & \rightarrow & 6 \\ + 1 & \rightarrow & 4 & \rightarrow & 5 & \rightarrow & 6 \\ +\end{array} +$$ + +Cherchons s'il en existe un de cardinal 4. Voici la liste des chemins, +obtenue par un parcours en profondeur (en prennant toujours en premier +les sommets voisins avec le numéro le plus petit possible) : + +TODO : numéroter les "équations" +$$ +\begin{array}{ccccccccccc} + 1 & \rightarrow & 2 & \rightarrow & 3 & \rightarrow & 4 & \rightarrow & 5 & \rightarrow & 6 \\ + 1 & \rightarrow & 2 & \rightarrow & 3 & \rightarrow & 4 & \rightarrow & 6 & & \\ + 1 & \rightarrow & 2 & \rightarrow & 3 & \rightarrow & 6 & & & & \\ + 1 & \rightarrow & 3 & \rightarrow & 4 & \rightarrow & 5 & \rightarrow & 6 & & \\ + 1 & \rightarrow & 3 & \rightarrow & 4 & \rightarrow & 6 & & & & \\ + 1 & \rightarrow & 3 & \rightarrow & 6 & & & & & & \\ + 1 & \rightarrow & 4 & \rightarrow & 5 & \rightarrow & 6 & & & & \\ + 1 & \rightarrow & 4 & \rightarrow & 6 & & & & & & \\ +\end{array} +$$ + +Voyons les ensembles qui contiennent le chemin $A$~: On ne peut pas +prendre les chemins $B$ et $C$, car ils ont l'arc $(1,2)$ en commun +avec $A$. On ne peut pas prendre non plus les chemin $D$ et $G$, car +ils ont l'arc $(5,6)$ en commun avec $A$, ni le chemin $E$ à cause de +l'arc $(3,4)$. Il ne reste plus que les chemins $F$ et $H$ qu'on +pourrait peut-être prendre si on prend $A$, mais le cardinal de +l'ensemble serait alors 3, donc on n'améliorerait pas le résultat +existant, et donc ce n'est pas la peine de chercher si ces chemins +sont \og compatibles\fg avec $A$. + +Procédons de la même manière pour $B$ (sachant que $A$ ne peut pas +faire partie de l'ensemble). Si on a le chemin $B$, alors on ne peut +pas avoir~: +\begin{item} + \item $C$ (arc $(2,3)$), + \item $D$ (arc $(3,4)$), + \item $E$ (arc $(3,4)$), + \item $H$ (arc $(4,6)$). +\end{item} +À partir de ce moment, il ne reste plus que $F$ et $G$, l'ensemble +serait de cardinal 3, donc $B$ ne peut pas être dans un ensemble de +cardinal 4. + +Passons à $D$ avec $A$ et $B$ exclus. On ne peut pas avoir~: +\begin{itemize} +\item $E$ (arc $(3,4)$), +\item $F$ (arc $(1,3)$), +\item $G$ (arc $(4,5)$). +\end{itemize} +Donc $D$ n'est pas dans l'ensemble. + +Passons à $F$ avec $A,B,D$ exclus. On ne peut pas avoir~: +\begin{itemize} +\item $C$ (arc $(3,6)$), +\item $E$ (arc $(1,3)$). +\end{itemize} +Donc $F$ n'est pas dans l'ensemble. + +Comme $A,B,D,F$ ne sont pas dans l'ensemble, et que nous avons +seulement 8 candidats, la seule possibilité qui reste pour un ensemble +de cardinal 4 est $C,E,G,H$, or dans cet ensemble, l'arrête $(1,4)$ +est commune à $G$ et $H$, donc on ne peut pas construire un ensemble +de chemins d'arcs disjoints de taille 4 (donc pas de taille supérieure +à 4 non plus). + +Conclusion : Le nombre maximum de chemins d'arcs disjoints est 3. + + +\end{document} +\ No newline at end of file