/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N S   R E L A T I V E S   A U   R E C U I T   S I M U L E  :                                             */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xrk/recuit_2D.1B$I' :                                                                                          */
/*                                                                                                                                   */
/*                    Jean-Francois Colonna (LACTAMME, 1994??????????).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        R E S T A U R A T I O N   E V E N T U E L L E   D E   L ' E T A T   A N T E R I E U R  :                                   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
                         Test(IL_FAUT(utiliser_une_temperature))
                              Bblock
                              EGAL(seuil_de_la_probabilite_de_retour_en_arriere
                                  ,EXPX(NEGA(INVZ(MUL2(constante_K_de_temperature,temperature_courante))))
                                   );
                              GENERATION_D_UNE_VALEUR(probabilite_de_retour_en_arriere
                                                     ,PROBABILITE_NULLE
                                                     ,PROBABILITE_UNITE
                                                      );

                              Test(IL_FAUT(changer_la_temperature_a_chaque_essai))
                                   Bblock
                                   INCR(temperature_courante,pas_de_la_temperature);
                                        /* Incrementation (en pas le pas est en general negatif...) de la temperature a chaque       */
                                        /* essai...                                                                                  */
                                   Eblock
                              ATes
                                   Bblock
                                   Test(IFEQ(numero_de_l_essai,nombre_d_essais_par_image))
                                        Bblock
                                        INCR(temperature_courante,pas_de_la_temperature);
                                        /* Incrementation (en pas le pas est en general negatif...) de la temperature uniquement     */
                                        /* avant chaque nouvelle image...                                                            */
                                        Eblock
                                   ATes
                                        Bblock
                                        Eblock
                                   ETes
                                   Eblock
                              ETes
                              Eblock
                         ATes
                              Bblock
                              Eblock
                         ETes

                         CALCUL_DE_LA_SOMME_DES_DIFFERENCES_DES_CARRES(anti_qualite_du_placement_des_points_apres);
                                        /* Calcul de la "qualite" du placement courant des points (apres la tentative de deplacement */
                                        /* aleatoire de ceux-ci).                                                                    */

                         Test(IFOU(IFGT(anti_qualite_du_placement_des_points_apres,anti_qualite_du_placement_des_points_avant)
                                  ,IFLT(probabilite_de_retour_en_arriere,seuil_de_la_probabilite_de_retour_en_arriere)
                                   )
                              )
                              Bblock
                              DoIn(point,PREMIER_POINT_DU_RESEAU,DERNIER_POINT_DU_RESEAU,I)
                                   Bblock
                                   TRANSFERT_POINT_3D(ACCES_POINT(point),ACCES_SAUVEGARDE_POINT(point));
                                        /* Restauration de la configuration initiale des points lorsque le qualite obtenue est       */
                                        /* moindre apres qu'avant...                                                                 */
                                   Eblock
                              EDoI
                              Eblock
                         ATes
                              Bblock
                              Eblock
                         ETes

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        G E S T I O N   D U   T E M P S   S I M U L E  :                                                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
                         INCR(temps
                             ,SCAL(FU
                                  ,SOUS(MUL2(nombre_de_periodes_de_la_simulation,nombre_d_essais_par_image)
                                       ,MUL2(PREMIERE_ITERATION_D_UN_Komp,PREMIERE_ITERATION_D_UN_Komp)
                                        )
                                  ,SOUS(COORDONNEE_BARYCENTRIQUE_MAXIMALE
                                       ,COORDONNEE_BARYCENTRIQUE_MINIMALE
                                        )
                                   )
                              );
                                        /* Et simulation d'un temps dans [0,1]...                                                    */
                         Eblock
                                        /* ATTENTION : le 'Bblock' associe est dans '$xrk/recuit_2D.1A$I'...                         */



Copyright © Jean-François Colonna, 2019-2021.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / Ecole Polytechnique, 2019-2021.