Contenu à completer un peu et mise en page à faire.

This commit is contained in:
Benjamin Frottier 2012-05-29 11:23:40 +02:00
parent 55e99dd4ac
commit 55f4854dca
1 changed files with 267 additions and 0 deletions

View File

@ -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}
\]