\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}