Commit f4f861ed authored by Simon de Givry's avatar Simon de Givry
Browse files

more updates 2020

parent 169131c4
No preview for this file type
......@@ -57,6 +57,7 @@
\documentclass[handout]{beamer}
\usepackage{etex}
\usepackage{pgfpages}
%\pgfpagesuselayout{1 on 1}[a4paper,border shrink=5mm, landscape]
\pgfpagesuselayout{4 on 1}[a4paper,border shrink=5mm, landscape]
%\pgfpagesuselayout{2 on 1}[a4paper,portrait,border shrink=5mm]
\else
......@@ -78,6 +79,7 @@
\graphicspath{{img/}}
\usepackage[french,algonl,ruled]{algorithm2e}
\usepackage{animate}
%\usepackage{movie15}
\usepackage{tikz}
\usepackage{xcolor}
......@@ -638,7 +640,7 @@ parcours des arêtes en $O(n^2)$.
\begin{frame}{\bf Matrices et graphes}
Produit de deux matrices $n \times n$ naïf est en $O(n^3)$. Pas
d'améliorations importantes (eg. algorithme de Sollen en
d'améliorations importantes (eg. algorithme de Sollin en
$O(n^{\log_2(7)})$).\\[5mm]
Pour manipuler les matrices, on utilise l'algèbre de Boole
......@@ -1167,6 +1169,8 @@ Pour tout arc $(u, v) \in A$, on a $\delta(s, v) \leq \delta(s, u) + w(u, v)$.
\uncover<4>{L'algorithme est en $O(|S||A|)$.}
\end{frame}
%----------------------------------------------------------------
%%arborescence = plusieus chemins élémentaires de taille au plus S-1 (sinon circuits absorbants)
%%la relaxation se propage necessairement sur ces chemins optimaux a chaque etape i on capture les chemins optimaux de taille i
\shrink{
\begin{frame}{\bf Correction}
......@@ -1215,9 +1219,9 @@ Cas de graphes avec des poids tous positifs ou nuls.\vfill
%----------------------------------------------------------------
\begin{frame}{\bf Dijkstra}
\SetKwFunction{PCCD}{Dijkstra}
\SetKwFunction{PCCD}{Dijkstra}
\begin{algorithm}[H]
\PCCD{$G,w,s$}\;
\Procedure{\PCCD{$G,w,s$}}{
\InitSSSP{$G,s$}\;
$V \gets \varnothing$\;
$Q \gets S$\;
......@@ -1230,6 +1234,7 @@ $Q \gets S$\;
}
$V \gets V \cup \{u\}$\;
}
}
\end{algorithm}
\end{frame}
......@@ -1293,7 +1298,7 @@ d[u]$
\end{frame}
%----------------------------------------------------------------
\shrink{
%%\shrink{
\begin{frame}{\bf Complexité}
On utilise une file de priorité.
......@@ -1305,7 +1310,7 @@ d[u]$
\item en $O(|S|.\log(|S|)+|A|)$ (Tas de Fibonacci).
\end{itemize}
\end{frame}
}
%%}
%----------------------------------------------------------------
\begin{frame}{\bf $A^*$}
......@@ -1344,7 +1349,7 @@ d[u]$
%----------------------------------------------------------------
\begin{frame}{\bf Exemple}
\begin{algorithm}[H]
\PCCGOSC{$G,w,s$}\;
\Procedure{\PCCGOSC{$G,w,s$}}{
\TriTop{$G$}\;
\InitSSSP{$G,s$}\;
\PourCh{sommet $u$ de $G$ pris dans l'ordre du tri topologique}
......@@ -1354,6 +1359,7 @@ d[u]$
\Relax{$u,v,w$}\;
}
}
}
\end{algorithm}
En $\theta(|S|+|A|)$.
......@@ -1591,7 +1597,7 @@ Maximum $\equiv$ Minimum\\
}
%----------------------------------------------------------------
\begin{frame}{\bf Exemple}
%%il existe deux solutions en changeant b-c par a-h
\begin{center}
\includegraphics[width=0.66\textwidth]{Ex-Prim}
\end{center}
......@@ -1605,9 +1611,12 @@ Un représentant de commerce ou VRP souhaite faire une tournée en visitant $n$
\begin{center}
\ifanim
\includegraphics[width=0.6\textwidth]{world_anim}
\includegraphics[width=0.5\textwidth]{world-30}
%%\includegraphics[width=0.6\textwidth]{world_anim}
%\includemovie{0.6\textwidth}{0.6\textwidth}{./img/world_anim.gif}
\else
\includegraphics[width=0.6\textwidth]{world-30}
\includegraphics[width=0.5\textwidth]{world-30}
%\includemovie{0.6\textwidth}{0.6\textwidth}{./img/world_anim.gif}
%\animategraphics[autoplay,loop,width=0.5\textwidth]{10}{world.anim1a-}{0}{359}
\fi
......@@ -1624,8 +1633,8 @@ Un représentant de commerce ou VRP souhaite faire une tournée en visitant $n$
On a $|S|=n$ et $|A|=\frac{n(n-1)}{2}$.\\[2mm]
{\em Cycle hamiltonien}~: cycle élémentaire de $G$ qui contient chaque sommet de $S$.\\[2mm]
{\em Cycle hamiltonien}~: cycle élémentaire de $G$ qui contient chaque sommet de $S$. On a $(n-1)!/2$ (permutations).\\[2mm]
Objectif~: Trouver un cycle hamiltonien ou {\em tour} de longueur minimum.
\end{defin}
......@@ -1633,7 +1642,8 @@ Le problème du voyageur de commerce est NP-difficile.\\[3mm]
Remarque~: tester l'existence d'un cycle hamiltonien dans un graphe quelconque est NP-complet\\[2mm]
Remarque~: tester l'existence d'un {\em cycle eulerien} (cycle simple de $G$ qui contient chaque arête de $A$) est polynômial (sommets tous de degré pair)
Remarque~: tester l'existence d'un {\em cycle eulerien} (cycle simple contenant toutes les arêtes) est polynômial (sommets tous de degré pair)
%% par exemple: absence pour K4 mais existe pour K5
\end{frame}
%----------------------------------------------------------------
\begin{frame}{\bf Algorithme de séparation et évaluation}
......@@ -1656,21 +1666,23 @@ Remarque~: tester l'existence d'un {\em cycle eulerien} (cycle simple de $G$ qui
% }
\Function{\BB{$VRP:(G,c)$}}{
Construire un tour $H$ approché\;
$U \gets c(H)$ /* majorant initial */\;
$U \gets c(H)$ /* majorant initial */\; %% can be random
$Q \gets \{G\}$\;
\Tq{$Q\neq \varnothing$}{
$G_i \gets $ Extrait($Q$)\;
/* Résout une relaxation du sous-problème $G_i$ */\;
$L_i = $ optimum d'une relaxation de $G_i$\;
$L_i = $ optimum d'une relaxation de $G_i$\; %% sum of two minimum edges per node divided by two
\Si{$L_i < U$}{
\Si{la solution relaxée est un tour}{$U \gets L_i$ /* optimum de $G_i$ */\;}
\Sinon{%/* Règle de branchement (partition de problèmes plus contraints en restreignant les arêtes possibles de $A_i$) */\;
\Sinon{%/* Règle de branchement (partition de problèmes plus contraints en restreignant les arêtes possibles de $A_i$: ($c(A,B)=0$, $\{A,B\}$ inclus) ou ($c(A,B)=\infty$, $\{A,B\}$ exclus)) */\; %% ou bien choix du successeur du noeud courant
$Q \gets Q \cup \{G_{i_1},\ldots,G_{i_q}\}$\;}
} \Sinon{/* Abandon de $G_i$ */}
}
\Retour{optimum $U$\;}
}
\end{algorithm}
%%Example Brand and bound for TSP: http://lcm.csa.iisc.ernet.in/dsa/node187.html
%%https://www.geeksforgeeks.org/traveling-salesman-problem-using-branch-and-bound-2/ %% attention, bug dans leur calcul minorant
\end{frame}
%----------------------------------------------------------------
\begin{frame}{\bf Relaxation LP}
......@@ -1798,8 +1810,11 @@ Il est possible d'extraire un cycle hamiltonien de $W$ en supprimant les sommets
%\begin{center}
\ifanim
\includegraphics[width=1.1\textwidth]{cartatsp_anim_nn}
\includegraphics[width=1.1\textwidth]{cartatspanimate-52}
%\includegraphics[width=1.1\textwidth]{cartatsp_anim_nn}
%\includemovie{1.1\textwidth}{1.1\textwidth}{./img/cartatsp_anim_nn.gif}
\else
%\includemovie{1.1\textwidth}{1.1\textwidth}{./img/cartatsp_anim_nn.gif}
\includegraphics[width=1.1\textwidth]{cartatspanimate-52}
%\animategraphics[autoplay,loop,width=1.1\textwidth]{2}{cartatspanimate-}{17}{52}
\fi
......@@ -1810,8 +1825,11 @@ Il est possible d'extraire un cycle hamiltonien de $W$ en supprimant les sommets
%\begin{center}
\ifanim
\includegraphics[width=1.1\textwidth]{cartatsp_anim_sd}
\includegraphics[width=1.1\textwidth]{cartatspanimate-89}
%\includegraphics[width=1.1\textwidth]{cartatsp_anim_sd}
%\includemovie{1.1\textwidth}{1.1\textwidth}{./img/cartatsp_anim_sd.gif}
\else
%\includemovie{1.1\textwidth}{1.1\textwidth}{./img/cartatsp_anim_sd.gif}
\includegraphics[width=1.1\textwidth]{cartatspanimate-89}
%\animategraphics[autoplay,loop,width=1.1\textwidth]{2}{cartatspanimate-}{54}{89}
\fi
......
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