diff --git a/rapport/presentation.tex b/rapport/presentation.tex index d13b1910d181c511c5e77aaf882d2e0c7b460ed9..2ed9f8899ca167e2337d2b21aea7cb881dc7e6fa 100644 --- a/rapport/presentation.tex +++ b/rapport/presentation.tex @@ -355,15 +355,6 @@ \end{exampleblock} \end{frame} -\subsection{Ajout de contraintes pour l'intégralité} - -\begin{frame} - \frametitle{Contraintes supplémentaires} - - \begin{block}{coucou} - Copier ici ce qu'on lira de la présentation de Nathanaël - \end{block} -\end{frame} \begin{frame} @@ -424,7 +415,7 @@ \end{block} \ds - $0.9$s pour inverser les 100 matrices\dots + $0.9$s pour inverser les mêmes 100 matrices\dots \end{frame} @@ -432,9 +423,25 @@ \begin{frame} \frametitle{Simplexe} - Implémentation du simplexe maison - - Les performances dégeu (quantifier !) + +\begin{block}{Implémentation} + +\begin{itemize} + +\item PL sous forme standard : Maximiser $c^Tx$ avec $Ax = b$, $x \ge 0$ + +\item règle de Bland pour le pivotage + +\item résoudre un problème de Phase 1, et un autre en Phase 2 + +\end{itemize} + +\end{block} + +\ds + +Mais des performances immondes. + \end{frame} \begin{frame} @@ -458,23 +465,33 @@ \begin{frame} \frametitle{Coupe minimale} - In the MinimumCutPhase, the subset A of the graphs vertices grows starting with an arbitrary single vertex until - A is equal to V. In each step, the vertex which is outside of A, but most tightly connected with A - is added to the set A. - - Shrink G by merging the two vertices added last. - - After one phase of the MinimumCutPhase, the two vertices are merged as a new - vertex, and edges from the two vertices to a remaining vertex are replaced by - an edge weighted by the sum of the weights of the previous two edges. Edges - joining the merged nodes are removed. If there is a minimum cut of G - separating s and t, the C is a minimum cut of G. If not, then the minimum cut - of G must have s and t on a same side. Therefore, the algorithm would merge - them as one node. - - \[ - O(n (m+n) \log n) - \] + +\begin{block}{Implémentation "naïve"} + +Recherche des coupes minimales entre tous les couples de sommets. + +O($|V|^3|E|^2$) (avec Edmonds-Karp) + +\end{block} + +\ds + +Des performances suffisantes pour un "mauvais" simplexe. + +\es + +\begin{block}{Stoer-Wagner} + +Tout faire en même temps. +\ds + + +Complexité : O($|V|(|E| + |V| \log|V|)$). +\end{block} +\ds + +Implémenté dans NetworkX. + \end{frame} \section{Résultats obtenus} @@ -486,7 +503,7 @@ \begin{exampleblock}{Sur un problème avec 657 points} \begin{figure} \centering - \subfloat[Solution ($48452$)]{ + \subfloat[Solution du PL($48452$)]{ \includegraphics[width=5cm]{../images/0CVX_d657_separationfinie.png} } \subfloat[Tour associé ($51181$)]{ @@ -507,17 +524,15 @@ \section{Dualité} -\subsection{Calcul du problème dual} - \begin{frame} - \frametitle{Expression du problème dual} +\frametitle{Problème dual} \begin{equation} \label{eqn:dual} \boxed{ \begin{array}{rll} - \textrm{max} & \displaystyle- \sum_{uv \in E'} \lambda_{1,uv} x_{uv} - 2 \sum_{u \in V} \nu_u + 2 \sum_{S \in W} \lambda_{3,S} \\ - & \lambda_1 \geq 0 \\ + \textrm{Maximiser} & \displaystyle- \sum_{uv \in E'} \lambda_{1,uv} x_{uv} - 2 \sum_{u \in V} \nu_u + 2 \sum_{S \in W} \lambda_{3,S} \\ + \textrm{Avec} & \lambda_1 \geq 0 \\ & \lambda_2 \geq 0 \\ & \lambda_3 \geq 0 \\ & c_{E'} - \lambda_1 + \lambda_2 + {}^t D_{E'} \nu - {}^t G_{E'} \lambda_3 = 0 @@ -546,6 +561,22 @@ Avec $D_{E'}$ la matirce d'incidence du graphe restreint à $E'$, et $G_{E'}$ la \end{frame} +\section*{Conclusion} +\begin{frame} + \frametitle{Conclusion} + + \begin{block}{Contraintes supplémentaires} + Copier ici ce qu'on lira de la présentation de Nathanaël + \end{block} + + \begin{block}{Des résultats pertinents} + Marge d'erreur + \end{block} + + \begin{alertblock}{La faiblesse de Python} + Well-typed programs go exponentially wrong + \end{alertblock} +\end{frame} \section*{Bibliographie}