31 lines
1.6 KiB
Plaintext
Executable File
31 lines
1.6 KiB
Plaintext
Executable File
\begin{Verbatim}[commandchars=\\\{\}]
|
|
\PYG{c+cp}{\PYGZsh{}include}\PYG{c+cpf}{\PYGZlt{}stdlib.h\PYGZgt{}}
|
|
\PYG{c+cp}{\PYGZsh{}include}\PYG{c+cpf}{\PYGZlt{}time.h\PYGZgt{}}
|
|
\PYG{c+cp}{\PYGZsh{}include}\PYG{c+cpf}{\PYGZdq{}models.h\PYGZdq{}}
|
|
\PYG{c+cp}{\PYGZsh{}include}\PYG{c+cpf}{\PYGZdq{}methods.h\PYGZdq{}}
|
|
|
|
\PYG{k+kt}{int} \PYG{n+nf}{main}\PYG{p}{()\PYGZob{}}
|
|
\PYG{n}{srand}\PYG{p}{(}\PYG{n}{time}\PYG{p}{(}\PYG{n+nb}{NULL}\PYG{p}{));}
|
|
|
|
\PYG{c+c1}{//Créer un ensemble de données Villes nommé \PYGZdq{}30Villes\PYGZdq{}}
|
|
\PYG{n}{Data} \PYG{n}{Villes}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}30Villes\PYGZdq{}}\PYG{p}{);}
|
|
\PYG{c+c1}{//Générer 30 point distribué uniformément sur le carré [[0;1],[0;1]]}
|
|
\PYG{n}{Villes}\PYG{p}{.}\PYG{n}{randSet}\PYG{p}{(}\PYG{l+m+mi}{30}\PYG{p}{);}
|
|
\PYG{c+c1}{//Créer un modèle du voyageur de commerce sur la base de la distribution Villes}
|
|
\PYG{n}{TSP} \PYG{n}{TSP30}\PYG{p}{(}\PYG{n}{Villes}\PYG{p}{);}
|
|
|
|
\PYG{c+c1}{//Créer un pointeur de type Model vers le modèle du voyageur de commerce}
|
|
\PYG{n}{Model}\PYG{o}{*} \PYG{n}{Mod} \PYG{o}{=} \PYG{k}{new} \PYG{n}{TSP}\PYG{p}{(}\PYG{n}{TSP30}\PYG{p}{);}
|
|
|
|
\PYG{c+c1}{//Créer la méthode d\PYGZsq{}optimisation pour le modèle du voyageur de commerce}
|
|
\PYG{n}{SimulatedAnnealing} \PYG{n}{Opti}\PYG{p}{(}\PYG{n}{Mod}\PYG{p}{);}
|
|
\PYG{n}{Opti}\PYG{p}{.}\PYG{n}{initialise}\PYG{p}{();}
|
|
\PYG{n}{Opti}\PYG{p}{.}\PYG{n}{execute}\PYG{p}{();}
|
|
\PYG{n}{Opti}\PYG{p}{.}\PYG{n}{finalise}\PYG{p}{();}
|
|
|
|
\PYG{n}{free}\PYG{p}{(}\PYG{n}{Mod}\PYG{p}{);}
|
|
|
|
\PYG{k}{return} \PYG{l+m+mi}{0}\PYG{p}{;}
|
|
\PYG{p}{\PYGZcb{}}
|
|
\end{Verbatim}
|