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 Exp1 nommé \PYGZdq{}Expérience1\PYGZdq{}}
|
|
\PYG{n}{Data} \PYG{n}{Exp1}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}Experience1\PYGZdq{}}\PYG{p}{);}
|
|
\PYG{c+c1}{//Générer 100 point aléatoirement suivant un modèle affine (polynomial de degré 1)}
|
|
\PYG{n}{Exp1}\PYG{p}{.}\PYG{n}{randSet}\PYG{p}{(}\PYG{l+m+mi}{100}\PYG{p}{,}\PYG{l+m+mi}{1}\PYG{p}{,}\PYG{l+m+mf}{1.}\PYG{p}{);}
|
|
\PYG{c+c1}{//Créer un modèle linéaire basé sur les données expérimentales Exp1 }
|
|
\PYG{n}{LinearApprox} \PYG{n}{Lin1}\PYG{p}{(}\PYG{n}{Exp1}\PYG{p}{);}
|
|
|
|
\PYG{c+c1}{//Créer un pointeur de type Model vers le modèle linéaire}
|
|
\PYG{n}{Model}\PYG{o}{*} \PYG{n}{Mod1} \PYG{o}{=} \PYG{k}{new} \PYG{n}{LinearApprox}\PYG{p}{(}\PYG{n}{Lin1}\PYG{p}{);}
|
|
|
|
\PYG{c+c1}{//Créer la méthode d\PYGZsq{}optimisation pour le modèle linéaire}
|
|
\PYG{n}{SimulatedAnnealing} \PYG{n}{Opti1}\PYG{p}{(}\PYG{n}{Mod1}\PYG{p}{);}
|
|
\PYG{n}{Opti1}\PYG{p}{.}\PYG{n}{initialise}\PYG{p}{();}
|
|
\PYG{n}{Opti1}\PYG{p}{.}\PYG{n}{execute}\PYG{p}{();}
|
|
\PYG{n}{Opti1}\PYG{p}{.}\PYG{n}{finalise}\PYG{p}{();}
|
|
|
|
\PYG{n}{free}\PYG{p}{(}\PYG{n}{Mod1}\PYG{p}{);}
|
|
|
|
\PYG{k}{return} \PYG{l+m+mi}{0}\PYG{p}{;}
|
|
\PYG{p}{\PYGZcb{}}
|
|
\end{Verbatim}
|