Contenu à completer un peu et mise en page à faire.
This commit is contained in:
parent
55e99dd4ac
commit
55f4854dca
267
grf/cours.tex
267
grf/cours.tex
@ -824,3 +824,270 @@ reaire l'examen de l'arc $(10,13)$.
|
||||
On par de l'extrêmité terminale soit $i$. Le prédécesseur de $i$ est le sommet
|
||||
$i$ tel que~:
|
||||
$$\lambda_i-\lambda_{i'}=v(i',i)$$
|
||||
|
||||
|
||||
% cours du 29/05
|
||||
\section{Programme de transport optimal}
|
||||
n origines ou fournisseurs\\
|
||||
m destinataires ou client\\
|
||||
|
||||
|
||||
\begin{tabular}{|c|c|c|c|c|c|c|c|c|}
|
||||
\hline
|
||||
& 1 & 2 & 3 & 4 & 5 & 6 & disponnibilité
|
||||
& $\Delta_e$ lignes\\ %Ici : n = 4; m = 6
|
||||
\hline
|
||||
I & 12 & 27 & 61 & 49 & 83 & 35 & {\color{yellow}18} & {\color{orange}15}\\
|
||||
\hline
|
||||
II & 23 & 39 & 78 & 28 & 65 & 42 & {\color{yellow}32} & {\color{orange}5}\\
|
||||
\hline
|
||||
III & 67 & 56 & 92 & 24 & 53 & 54 & {\color{yellow}14} & {\color{orange}29}\\
|
||||
\hline
|
||||
IV & 71 & 43 & 91 & 67 & 40 & 49 & {\color{yellow}9} & {\color{orange}3}\\
|
||||
\hline
|
||||
demande & {\color{yellow}9} & {\color{yellow}11}
|
||||
& {\color{yellow}28} & {\color{yellow}6} & {\color{yellow}14}
|
||||
& {\color{yellow}5} & {\color{yellow}73} &\\
|
||||
\hline
|
||||
$\Delta_c$ & {\color{orange}11} & {\color{orange}12}
|
||||
& {\color{orange}17} & {\color{orange}4} & {\color{orange}13}
|
||||
& {\color{orange}7} & &\\
|
||||
\hline
|
||||
\end{tabular}\\
|
||||
\\
|
||||
Données : *[c]=matrice \underline{des coûts unitaires}
|
||||
$c_{ij}$ = coût du transport de 1 tonne depuis l'originne (i) vers le client (j)\\
|
||||
* On connait la disponibilité totale de chaque fournisseur.\\
|
||||
* On connait la demande totale de chaque client.\\
|
||||
** Hypothèse :
|
||||
$ \displaystyle { \sum_{origines} } disponnibilit\acute{e}s\ des\ d\acute{e}p\hat{o}ts
|
||||
= { \sum_{client} } demandes\ des\ clients$\\
|
||||
|
||||
|
||||
Remarque: On peut tourjours se ramener à ce cas, quitte à créer une origine
|
||||
fictive ou un client fictif pour absorber la différence entre
|
||||
${\sum_{disponibilit\acute{e}}}$ et ${\sum_{demandes}}$.\\
|
||||
$\rightarrow$ programme de transport :\\
|
||||
on cherche la matrice [X] $\rightarrow$
|
||||
$x_{ij}$=quantité transportée depuis i vers j.\\
|
||||
|
||||
Matric X 4/6 ?\\
|
||||
|
||||
Contraintes liant les différentes inconnues $x_{ij}$ :\\
|
||||
(1) chaque origine délivre la totalité de sa disponibilité $\rightarrow$
|
||||
contraintes de ligne.\\
|
||||
${\sum_n^{j=1}}x{ij} = a_{i}$,
|
||||
$\forall{i}=1,2,...,m$\\
|
||||
|
||||
(2) chaque client reçoit la totalité de la quantité
|
||||
demandée $\rightarrow$ contraintes de colonnes
|
||||
${\sum_m^{i=1}}x_{ij} = b_{j}$, $\forall{j}=1,2,...,n$
|
||||
|
||||
Parmi tous les plans de transport X=[$x_{ij}$] valides
|
||||
(respectant toutes les contraintes), on cherche le plan de transport de coût
|
||||
minimal.\\
|
||||
Le coût d'un plan de transport donné est :
|
||||
$z = {\sum_m^{i=1}\sum_n^{j=1}}x_{ij}C_{ij}$
|
||||
|
||||
Evaluation de la difficulté du problème.
|
||||
* nombre d'inconnues : n x m
|
||||
ici 24 inconnues.
|
||||
* nombre d'équations imposées
|
||||
(contraintes) n + m = 10 équations.
|
||||
* nombre d'équations indépendantes
|
||||
n + m - 1, ici 9\\
|
||||
$ \displaystyle { \sum } disponnibilit\acute{e}s\ des\ d\acute{e}p\hat{o}ts
|
||||
= { \sum } demandes\ des\ clients$\\
|
||||
\underline{Définition :} Un plan de transport est dit non dégénéré si
|
||||
l'excès d'inconnues par nombre d'équations indépendantes est nul.
|
||||
$\rightarrow$ on cherche un plan de transport ayant n x m - (m + m - 1) variables nulles
|
||||
[15 variables nulles, 9 variables non nulles]
|
||||
Méthode de recherche du plan de transport de coût minimal
|
||||
(ou plan de transport optimal)
|
||||
2 phases :
|
||||
(1) Recherche d'un plan de transport non dégéré qui sert de solution de
|
||||
base pour la phase 2
|
||||
$\rightarrow$ heuristique de Balas-Hammer
|
||||
(2) En partant du plan de transport procuré par la phase 1,
|
||||
on cherche par itération successives le plan de transport optimal.\\
|
||||
\underline{Phase 1} heuristique de Balas-Hammer
|
||||
(ou méthode de la différence maximale) $\rightarrow$ On calcule pour chaque 'rangée'
|
||||
(ligne ou colonne) la différence entre le coût unitaire le plus petit
|
||||
et le coût unitaire immédiatement supérieur.\\
|
||||
|
||||
On affecte à cette case (i,j) [ici(III, 4)] la quantité de marchandise la plus
|
||||
élevée possible.\\
|
||||
C'est à dire le minimun du couple {disponibilité, demande} associé à cette
|
||||
case : Min{6, 16} = 6.\\
|
||||
\[
|
||||
X=\bordermatrix{~ & 1 & 2 & 3 & 4 & 5 & 6 & ~\cr
|
||||
I & & & 18 & & & & {\color{yellow}18}\cr
|
||||
II & 9 & 11 & 7 & & & 5 & {\color{yellow}32}\cr
|
||||
III & & & 3 & 6 & 5 & & {\color{yellow}14}\cr
|
||||
IV & & & & & 9 &&{\color{yellow}9}\cr
|
||||
~ & {\color{yellow}9} & {\color{yellow}11}
|
||||
& {\color{yellow}28} & {\color{yellow}6}
|
||||
& {\color{yellow}14} & {\color{yellow}5} & {\color{yellow}73}\cr}
|
||||
\]
|
||||
|
||||
On repére le $\Delta_{maximal}\ \Delta_e\approx \Delta_c$
|
||||
On s'intéresse à la case de coût unitaire minimun situé dans la rangée
|
||||
correspondant au $\Delta_{maximal}$ et on actualise la disponibitlié ou
|
||||
la demande restante $\rightarrow$ ici : 14 $\rightarrow$ 14 - 6 = 8\\
|
||||
Cette opération a éliminé une rangée, et elle a permis de fixer
|
||||
une variable $x_{ij}$
|
||||
\begin{tabular}{|c|c|c|c|c|c|c|c|}
|
||||
\hline
|
||||
& 1 & 2 & 3 & 5 & 6 & disponnibilité & $\Delta_e$ lignes\\ %Ici : n = 4; m = 6
|
||||
\hline
|
||||
I & 12 & 27 & 61 & 83 & 35 & {\color{yellow}18} & {\color{orange}15}\\
|
||||
\hline
|
||||
II & 23 & 39 & 78 & 65 & 42 & {\color{yellow}32} & {\color{orange}16}\\
|
||||
\hline
|
||||
III & 67 & 56 & 92 & 53 & 54 & {\color{yellow}8} & {\color{orange}1}\\
|
||||
\hline
|
||||
IV & 71 & 43 & 91 & 40 & 49 & {\color{yellow}9} & {\color{orange}3}\\
|
||||
\hline
|
||||
demande & {\color{yellow}9} & {\color{yellow}11} & {\color{yellow}28}
|
||||
& {\color{yellow}14} & {\color{yellow}5} & {\color{yellow}67} &\\
|
||||
\hline
|
||||
$\Delta_c$ & {\color{orange}11} & {\color{orange}12}
|
||||
& {\color{orange}17} & {\color{orange}13} & {\color{orange}7} & &\\
|
||||
\hline
|
||||
\end{tabular}\\
|
||||
\\
|
||||
$z = 3535$ solution de base, de bonne qualité, mais pas optimale.\\
|
||||
|
||||
2eme phase : recherche de la solution optimale $\rightarrow$ on construit le
|
||||
graphe biparti associé à la solution de base précédente.
|
||||
|
||||
\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) {$II$};
|
||||
\node[main node] (2) [right of=1] {$6$};
|
||||
\node[main node] (3) [below of=1]{$I$};
|
||||
\node[main node] (4) [below of=3]{$III$};
|
||||
\node[main node] (5) [below of=4]{$IV$};
|
||||
\node[main node] (6) [below of=2]{$1$};
|
||||
\node[main node] (7) [below of=6]{$2$};
|
||||
\node[main node] (8) [below of=7]{$3$};
|
||||
\node[main node] (9) [below of=8]{$4$};
|
||||
\node[main node] (10) [below of=9]{$5$};
|
||||
|
||||
\path[every node/.style={font=\sffamily\small}]
|
||||
(1) edge [right] node[right] {42} (2)
|
||||
(1) edge [right] node[right] {78} (8)
|
||||
(1) edge [right] node[right] {23} (6)
|
||||
(1) edge [right] node[right] {39} (7)
|
||||
(3) edge [right] node[right] {61} (8)
|
||||
(4) edge [right] node[right] {92} (8)
|
||||
(4) edge [right] node[right] {24} (9)
|
||||
(4) edge [right] node[right] {53} (10)
|
||||
(4) edge [right] node[right] {} (2)
|
||||
(5) edge [right] node[right] {40} (10)
|
||||
;
|
||||
\end{tikzpicture}
|
||||
\end{figure}
|
||||
On value ce graphe avec les coût unitaires.
|
||||
On affect aux différents sommets un potentiel.
|
||||
$\rightarrow$ potentiel 0 à l'origine de l'arc de coût max, ici le sommet III.
|
||||
$\rightarrow$ différence de potentiel arc(i,j) :
|
||||
$v_j-v_i=C_{ij}$
|
||||
|
||||
On calcule le coût marginal de chacune des liaisons (i,j) inutilisées dans
|
||||
la solution de base : $S_{ij}=v_i-v_j+c_{ij}$\\
|
||||
On cherche s'il existe une liaison inutilisée de coût marginal négatif\\
|
||||
$S_{I1} = 31 - 37 + 12 = 6$\\
|
||||
$S_{I2}=31-53+27=5$\\
|
||||
$S_{III,6}=0-56+54=-2$\\
|
||||
Ici un seul coût marginal < 0\\
|
||||
$\rightarrow$ La solution analysée n'est pas optimale.\\
|
||||
$\rightarrow$ on utilise une chaine améliorante.\\
|
||||
|
||||
\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) {$III$};
|
||||
\node[main node] (2) [right of=1] {$6$};
|
||||
\node[main node] (3) [right of=2] {$II$};
|
||||
\node[main node] (4) [right of=3] {$3$};
|
||||
\node[main node] (5) [right of=4] {$II$};
|
||||
|
||||
\path[every node/.style={font=\sffamily\small}]
|
||||
(2) edge [right] node[right] {3} (1)
|
||||
(3) edge [right] node[right] {1} (2)
|
||||
(4) edge [right] node[right] {10} (3)
|
||||
(5) edge [right] node[right] {0} (4)
|
||||
;
|
||||
\end{tikzpicture}
|
||||
\end{figure}
|
||||
|
||||
\[
|
||||
X=\bordermatrix{~ & 1 & 2 & 3 & 4 & 5 & 6 & ~\cr
|
||||
I & & & 18 & & & & {\color{yellow}18}\cr
|
||||
II & 9 & 11 & {\color{red}10} & & & {\color{red}2} & {\color{yellow}32}\cr
|
||||
III & & & {\color{red}0} & 6 & 5 & {\color{red}3} & {\color{yellow}14}\cr
|
||||
IV & & & & & 9 &&{\color{yellow}9}\cr
|
||||
~ & {\color{yellow}9} & {\color{yellow}11}
|
||||
& {\color{yellow}28} & {\color{yellow}6}
|
||||
& {\color{yellow}14} & {\color{yellow}5} & {\color{yellow}73}\cr}
|
||||
\]
|
||||
|
||||
|
||||
On cherche la quantité déplaçable la plus élevée possible.
|
||||
$\rightarrow$ on augmente d'une même quantité $\alpha$ tous les arcs
|
||||
à l'endroit et on diminue de $\alpha$ tous les arcs à l'envers :
|
||||
$\alpha = 3$\\
|
||||
Le coût de cette solution est de $z = 18 * 61 + 9 * 23 + ...$\\
|
||||
$z=3235 + S_{III,6} * \alpha$\\
|
||||
$z=3529$
|
||||
|
||||
\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) {$I$};
|
||||
\node[main node] (2) [right of=1] {$3$};
|
||||
\node[main node] (3) [below of=1]{$II$};
|
||||
\node[main node] (4) [below of=3]{$III$};
|
||||
\node[main node] (5) [below of=4]{$IV$};
|
||||
\node[main node] (6) [below of=2]{$1$};
|
||||
\node[main node] (7) [below of=6]{$2$};
|
||||
\node[main node] (8) [below of=7]{$6$};
|
||||
\node[main node] (9) [below of=8]{$4$};
|
||||
\node[main node] (10) [below of=9]{$5$};
|
||||
|
||||
\path[every node/.style={font=\sffamily\small}]
|
||||
(1) edge [right] node[right] {61} (2)
|
||||
(3) edge [right] node[right] {78} (2)
|
||||
(3) edge [right] node[right] {23} (6)
|
||||
(3) edge [right] node[right] {39} (7)
|
||||
(3) edge [right] node[right] {42} (8)
|
||||
(4) edge [right] node[right] {54} (8)
|
||||
(4) edge [right] node[right] {24} (9)
|
||||
(4) edge [right] node[right] {53} (10)
|
||||
(5) edge [right] node[right] {40} (10)
|
||||
|
||||
;
|
||||
\end{tikzpicture}
|
||||
\end{figure}
|
||||
$S_{I,1}=17-23+12=6$\\
|
||||
$S_{I,2}=17-39+27=5$\\
|
||||
tous les $S_{ij}$ des liaisons inutilisées sont > 0 $\rightarrow$ arrêt
|
||||
$\rightarrow$ le plan de trnasport analysé est optimal.\\
|
||||
\underline{Remarque :} Si il existe un $S_{ij}$ de liaison inutilisée
|
||||
qui soit égal à 0, cela signifie qu'il existe une autre solution de même coût.
|
||||
|
||||
\[
|
||||
X=\bordermatrix{~ & 1 & 2 & 3 & 4 & 5 & 6 & ~\cr
|
||||
I & & & 18 & & & & {\color{yellow}18}\cr
|
||||
II & 9 & 11 & {\color{red}10} & & & {\color{red}2} & {\color{yellow}32}\cr
|
||||
III & & & & 6 & 5 & {\color{red}3} & {\color{yellow}14}\cr
|
||||
IV & & & & & 9 &&{\color{yellow}9}\cr
|
||||
~ & {\color{yellow}9} & {\color{yellow}11}
|
||||
& {\color{yellow}28} & {\color{yellow}6}
|
||||
& {\color{yellow}14} & {\color{yellow}5} & {\color{yellow}73}\cr}
|
||||
\]
|
||||
|
Reference in New Issue
Block a user