ift7020-notes-de-cours/chapitre8.tex

128 lines
5.1 KiB
TeX
Raw Normal View History

2018-04-24 01:15:01 +00:00
\section{Chapitre 8: La programmation linéaire}
2018-04-20 05:03:58 +00:00
\label{sec:ch8}
2018-04-24 01:15:01 +00:00
\subsection{Forme normale}
\label{sec:formenormale}
\begin{alignat*}{2}
& \text{maximiser} && c^Tx \\
& \text{sujet à} & \quad &
\begin{aligned}[t]
Ax& \leq b & \\
x& \geq 0 &
\end{aligned}
\end{alignat*}
Équivalences de problèmes:
\begin{itemize}
\item $\min c^Tx \iff \max (-c^T)x$
\item $a^Tx \geq k \iff (-a^T)x \leq -k$
\item $a^Tx = k \iff a^Tx \leq k \wedge a^Tx \geq k$
\item $x_i$ libre devient $x_i=x_i^{+} - x_i^{-}, \quad x_i^{+} \geq 0 \wedge x_i^{-} \geq 0$
\end{itemize}
\subsection{Polytope convexe}
\label{sec:polytopeconvexe}
L'espace des solutions d'un système d'inégalités linéaires forme un polytope convexe. Il est possible de résoudre graphiquement un programme linéaire. La solution se situe nécessairement sur un sommet. Si le problème a plus d'une solution, alors celle-ci est définie par une face, ce qui inclus les sommets.
Un espace est convexe le segment reliant deux point de cet espace est entièrement inclus dans l'espace. Combinaison convexe:
\begin{align}
\alpha\vec{x}+(1-\alpha)\vec{y} \in S
\end{align}
Soit deux solutions valides $y$ et $z$, toute solution $\alpha\vec{y}+(1-\alpha)\vec{z}$ est aussi valide si $\alpha \in \left[ 0,1 \right]$
\subsection{Algorithme du simplexe}
\label{sec:simplexe}
\begin{itemize}
\item Exploite deux propriétés:
\begin{itemize}
\item Solution à un sommet du polytope
\item Espace de recherche convexe
\end{itemize}
\item Trouve une solution réalisable
\item Parcours les sommets du polytope
\item Variables d'écart: convertir les inéquations en équations en ajoutant une variable. Il y a une variable d'écart par contrainte du programme.
\item Solution initiale: débute avec une solution réalisable. Ce peux être $x_i=0$.
\item Solution de base: contient $m$ variables non-nulles dont les colonnes forment une base.
\item Solution réalisable de base: Solution de base qui satisfait toutes les équations avec des valeurs non négatives. Forment l'ensemble des sommets du polytope
\end{itemize}
Changement de base: Une variable entre dans la base en devenant positive et une autre quitte en devenant nulle
\begin{table}[ht]
\centering
\label{tab:simplexe}
\begin{tabular}{|l|l|l|l|l|l|}
\hline
\textbf{$-c_1$} & \textbf{$-c_2$} & \textbf{$-c_3$} & \textbf{$\ldots$} & \textbf{$-c_n$} & \textbf{$v$} \\ \hline
$a_{11}$ & $a_{12}$ & $a_{13}$ & $\ldots$ & $a_{1n}$ & $b_1$ \\ \hline
$a_{21}$ & $a_{22}$ & $a_{23}$ & $\ldots$ & $a_{2n}$ & $b_2$ \\ \hline
$\ldots$ & $\ldots$ & $\ldots$ & $\ldots$ & $\ldots$ & $\ldots$ \\ \hline
$a_{m1}$ & $a_{m2}$ & $a_{m3}$ & $\ldots$ & $a_{mn}$ & $b_m$ \\ \hline
\end{tabular}
\caption{Tableau du simplexe}
\end{table}
Invariants du tableau:
\begin{itemize}
\item Les colonnes de la base ont une valeur nulle sauf une composante qui a une valeur de 1
\item Le coût d'une variable de la base est 0
\item La valeur objectif apparait dans le coin supérieur droit
\item La valeur des variables non-nulles apparait à la dernière colonne de droite. Ces valeurs sont non-négatives
\end{itemize}
Opération de pivot:
2018-04-24 02:09:13 +00:00
\begin{itemize}
\item Choix de la variable $x_j$ qui entre dans la base: coût négatif et valeur absolue la plus grande
\item On minimise le ratio $\frac{b_i}{a_{ij}}$ pour choisir le pivot.
\item On divise la rangée $i$ par $a_{ij}$
\item On soustrait $a_{kj}$ fois la rangée $i$ de la rangée $k$ pour que $a_{kj}$ devienne nul
\item On soustrait $c_j$ fois la rangée $i$ de la première rangée du tableau
\end{itemize}
Lorsque tous les coefficients des variables de $-f(x)+k$ sont positifs, on a un minimum global. Cette solution réalisable de base est optimale.
Complexité moyenne en temps polynomial. Pire cas en temps exponentiel.
\subsection{Solution initiale}
\label{sec:solutioninitiale}
\begin{itemize}
\item Lorsqu'une valeur négative se trouve à droite de l'équation, il n'y a pas de solution de base réalisable.
\item On doit alors multiplier par -1 les deux côtés de cet équation et ajouter une variable temporaire à chaque équation linéaire.
\item On remplace la fonction objectif par la minimisation des variables temporaires.
\item Une solution réalisable de base optimale pour ce problème (le cout des variable temporaires est de 1) est une solution réalisable de base pour le problèmes original. Si on ne réussis pas à trouver de solution de base optimale, le problème n'est pas réalisable
\end{itemize}
Si toutes les valeurs de la colonne du pivot sont nulles ou négatives, la valeur objective tend vers l'infini. C'est un problème non borné.
\subsection{Chemin le plus court}
\label{sec:cheminpluscourt}
\subsection{Dualité}
\label{sec:dualite}
\subsection{Problèmes en nombres entiers}
\label{sec:nombresentiers}
\subsection{Matrices totalement unimodulaires}
\label{sec:matricestotalementunimod}
2018-04-24 01:15:01 +00:00
2018-04-20 05:03:58 +00:00
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "notes_de_cours"
%%% End: