31 lines
1.7 KiB
Plaintext
Executable File
31 lines
1.7 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 Exp2 nommé \PYGZdq{}Expérience2\PYGZdq{}}
|
|
\PYG{n}{Data} \PYG{n}{Exp2}\PYG{p}{(}\PYG{l+s}{\PYGZdq{}Experience2\PYGZdq{}}\PYG{p}{);}
|
|
\PYG{c+c1}{//Générer 100 point aléatoirement suivant un modèle polynomial de degré 2}
|
|
\PYG{n}{Exp2}\PYG{p}{.}\PYG{n}{randSet}\PYG{p}{(}\PYG{l+m+mi}{100}\PYG{p}{,}\PYG{l+m+mi}{2}\PYG{p}{,}\PYG{l+m+mf}{1.}\PYG{p}{);}
|
|
\PYG{c+c1}{//Créer un modèle polynomial de degré 2 basé sur les données expérimentales Exp2}
|
|
\PYG{n}{PolynomialApprox} \PYG{n}{Pol2}\PYG{p}{(}\PYG{n}{Exp2}\PYG{p}{,}\PYG{l+m+mi}{2}\PYG{p}{);}
|
|
|
|
\PYG{c+c1}{//Créer un pointeur de type Model vers le modèle polynomial}
|
|
\PYG{n}{Model}\PYG{o}{*} \PYG{n}{Mod2} \PYG{o}{=} \PYG{k}{new} \PYG{n}{PolynomialApprox}\PYG{p}{(}\PYG{n}{Pol2}\PYG{p}{);}
|
|
|
|
\PYG{c+c1}{//Créer la méthode d\PYGZsq{}optimisation pour le modèle polynomial}
|
|
\PYG{n}{SimulatedAnnealing} \PYG{n}{Opti2}\PYG{p}{(}\PYG{n}{Mod2}\PYG{p}{);}
|
|
\PYG{n}{Opti2}\PYG{p}{.}\PYG{n}{initialise}\PYG{p}{();}
|
|
\PYG{n}{Opti2}\PYG{p}{.}\PYG{n}{execute}\PYG{p}{();}
|
|
\PYG{n}{Opti2}\PYG{p}{.}\PYG{n}{finalise}\PYG{p}{();}
|
|
|
|
\PYG{n}{free}\PYG{p}{(}\PYG{n}{Mod2}\PYG{p}{);}
|
|
|
|
\PYG{k}{return} \PYG{l+m+mi}{0}\PYG{p}{;}
|
|
\PYG{p}{\PYGZcb{}}
|
|
\end{Verbatim}
|