<div class="wims_chemin">\reload{<img src="gifs/doc/etoile.gif" alt="rechargez" width="20" height="20" border=0>}\link{main}{Optimisation linaire} <img src="gifs/arrows/right3.32.gif" alt=" ---> " width="25" height="15" border=0 valign="bottom"> \link{mainS4}{IV  Mthode du simplexe} <img src="gifs/arrows/right3.32.gif" alt=" ---> " width="25" height="15" border=0 valign="bottom"> \link{mainS4S5}{IV-5  Algorithme du simplexe} <img src="gifs/arrows/right3.32.gif" alt=" ---> " width="25" height="15" border=0 valign="bottom"> IV-5-3  Algorithme</div><table width=100%><tr><td valign=top><div class="left_toc"><p>
\link{mainS1}{I  Programmation linaire}

\link{mainS2}{II  Mthode graphique}

\link{mainS3}{III  Mthode des sommets}

<div class="left_selection">\link{mainS4}{IV  Mthode du simplexe}</div>

\link{mainS5}{V  Algorithme du simplexe standard}

\link{mainS6}{VI  Dualit en programmation linaire}


\link{index}{Index}</div></td><td valign=top align=left width=100%><div class="wimsdoc">


<div class="algorithm"><br> <i>/* On suppose que l'on dispose d'une base ralisable \( B \) */</i>  <br> \( y_B = B^{-1}b \)<br> \( Z = c_{B}^* y_B \)<br> \( w_N^* = \left\{ \begin{matrix}  c_N^* -c_B^* B^{-1}N & \mbox{si }"\max"\\ c_B^* B^{-1}N-c_N^* & \mbox{si }"\min" \end{matrix}  \right. \)<br><b>while</b>\( w_N^*\not<= 0_N^* \) <b>do</b><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; choisir \( s \) telle que \( w_s = w_N^*e_s>0 \)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \( \gamma = B^{-1}N_s \)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>if</b>\( \gamma <= 0_B \) <b>then</b><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; optimum infini <i>/* \( \sup = +\infty \mbox{ ou }\inf = -\infty \) */</i>  <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>else</b> <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; calculer \( \lambda = \min \{ \frac{(B^{-1}b)_i}{\gamma_i} \; \slash \; \gamma_i >0\} \)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dterminer \( r \) pour lequel \( \lambda \) est atteint<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b><b>end</b> <b>if</b></b> <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \( Z \leftarrow \left\{ \begin{matrix}  Z+\lambda w_s & \mbox{si }"\max"\\ Z-\lambda w_s & \mbox{si }"\min" \end{matrix}  \right. \)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \( B \leftarrow B'\; \; \; \) <i>/* \( B_r \) est remplace par \( N_s \) */</i>  <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \( N \leftarrow N'\; \; \; \) <i>/* \( N_s \) est remplace par \( B_r \) */</i>  <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \( (y_B)_i \leftarrow \left\{ \begin{matrix}  (y_B)_i -\lambda \gamma_i & \mbox{pour }i\neq r\\ \lambda & \mbox{pour }i = r \end{matrix}  \right. \)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Calculer \( w_N^* \)<br><b><b>end</b> <b>while</b></b> <br> Optimum atteint en \( y = (\; _{0_N}^{y_B}) \) et il vaut \( Z \)<br><i>/* Fin de l'algorithme */</i>  </div></div></td><td valign=top align=right> <div class="right_toc">
\link{mainS4S5S1}{IV-5-1  Condition d'optimalit}

\link{mainS4S5S2}{IV-5-2  Amlioration de la fonction d'objectif}

<div class="right_selection">\link{mainS4S5S3}{IV-5-3  Algorithme}</div>

\link{mainS4S5S4}{IV-5-4  Rgle de pivotage}
</div><center>\reload{<img src="gifs/doc/etoile.gif" alt="rechargez" width="20" height="20" border=0>}</center></td></tr></table>