next up previous contents
suivant: Inconvénients monter: Première stratégie (TRIMIN1.C) précédent: Première stratégie (TRIMIN1.C)   Table des matières

Canevas de la procédure


PROC triangulation(ent nbCordesTracees, ent i) EST

  co On ne trace pas de corde issue du sommet i fco
  co ENCORE POSSIBLE fco
  SI i<NBSOMMETS - 3 ALORS
     triangulation(nbCordesTracees, i+1 )
  FSI

  co On trace l'une des cordes issue de Si fco
  POUR chaque corde j issue du sommet i FAIRE
     co SATISFAISANT fco
     SI valideCorde(i, j, nbCordesTracees) ALORS
        longueurCourante=longueurCourante + longueurCorde(i,j)
        SI longueurCourante < longueurOptimale ALORS
           co ENREGISTRER fco
           EnregistrerCorde(i,j)
           co SOLTROUVEE fco
           SI nbCordesTracees = NBSOMMETS - 3 ALORS
              longueurOptimale = longueurCourante
              EnregistrerLeTrace
           SINON
              co ENCORE POSSIBLE fco
              SI i<NBSOMMETS - 3 ALORS
                 triangulation(nbCordesTracees+1, i+1)
              FSI
           FSI
        FSI
        co DEFAIRE fco
        longueurCourante=longueurCourante - longueurCorde(i,j)
     FSI
  FAIT

  FIN

Remarque: lors de l'enregistrement de la solution, on est certain de remplacer la solution optimale par la nouvelle solution optimale, vu qu'une heuristique a été mise en place dans "SATISFAISANT" permettant d'arrêter la triangulation courante si la longueurCourante est >= longueurOptimale.



Alexandre DAGAN
2000-07-07