Commit 898253fb authored by Aliaume Lopez's avatar Aliaume Lopez

Merge branch 'master' of gitlab.crans.org:alopez/projet-optimisation

parents 8d97e9ca bc7c6665
......@@ -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}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment