CAPÍTULO I: FÁTIMA NO TEMPO QUESTÃO HISTÓRICA.
1.4 A Misericórdia, chave no acontecimento de Fátima
DansuneimplémentationlassiquedelamétaheuristiqueGRASP,laphasede
onstru-tion onsiste à déterminer un ensemble d'éléments andidatspouvant être ajoutés à la
so-lution partielle ourante tout en maintenant la réalisabilité. La séletion de l'élément à
inorporer est déterminée selon un poids : les éléments orrespondant aux poids les plus
forts sont insérés en priorité. Lespoids sont donnés par un algorithme glouton qui évalue
l'augmentation de la fontion objetive qu'engendre l'insertion des andidats. Dans notre
as, ils sont tout d'abord initialisés à une valeur donnée (liée au oût de la priorité de
l'intervention dans la fontion objetive) et mis à jour à haque itération en prenant en
ompte lessolutions préédemment renontrées. La méthodologie GRASP lassique
onsi-dère une liste restritive de andidats (RCL pour restrited andidate list) omposée des
α % des andidats ayant les poids les plus élevés, α ∈ [0,100]. Les andidats sont alors hoisis aléatoirement dans la RCL an de les insérer dans la solution partielle ourante.
Dans notreapprohe,laRCLestomposéedetoutes lesinterventions, equi orrespondà
xer la variableα à lavaleur 100. Les interventions sont insérées selon l'ordre déroissant des poids et sont hoisies aléatoirement enas d'égalité.
Séletion d'un andidat
Initialement, le poids d'un andidat est xé à la valeur du oeient de sa priorité
dans la fontion objetive et nous xons arbitrairement un poids d'une valeur de 1 pour
les interventions de priorité 4. Ainsi, les andidats de priorité 1 (respetivement 2, 3) ont
un poids de 28 (resp. 14 ,4)et les andidatsde priorité 4 ont unpoids de 1.L'algorithme
glouton séletionneleandidat quialaplushautevaleurde poids.Lorsquedeuxandidats
ont le même poids,le hoix estfait aléatoirement. D'autre part, un andidat ne peut être
séletionné siau moinsl'unde ses prédéesseursne l'estpas.
L'algorithme gloutonherhe àinsérerunandidat selonles troisritèressuivants:(1)
lejour leplustt; (2a)l'équipe quinéessitelemoinsde tehniienssupplémentairespour
traiter l'intervention; (2b)ladatede début au plustt. Le proessusestrépété jusqu'àe
Reherhe du jour au plus tt
La première étape onsiste à aluler ladate de départau plus ttde l'intervention I. Elle orrespond à un ouple de valeurs jour et heure notées d(I) et s(I). Pour ela, nous herhons ladateden auplus tardparmi tousles prédéesseursde I, s(Imax) +T(Imax)
tellequeImax∈P red(I)etImaxestinséréelejourdmax.Sis(Imax)+T(Imax)+T(I)> Hmax
alors d(I) =dmax+ 1sinon d(I) =dmax.Dans tousles ass(I) =s(Imax) +T(Imax).
Calul du nombre minimum de tehniiens requis pourun andidat
Lesritères(2a)et (2b)dépendentdestehniiensdisponiblesetdeséquipesexistantes
le jour d(I). An de respeter le ritère (2a), le nombre de tehniiens néessaire à la onstrution d'unenouvelle équipedoitêtre onnu. L'algorithme vériequeles niveaux de
ompétene requis par l'intervention I sont satisfaits par une équipe donnée ǫ. Si 'est le as, il n'est pas néessaire d'ajouter un tehniien à l'équipe ǫ. Dans le as ontraire, le nombreminimum detehniiensàajouteràǫestdéterminédemanièreheuristiqueàpartir des tehniiens disponibles le jour d(I). Nous notons techsǫ(I) le nombre de tehniiens néessaires pour assigner I à l'équipe ǫ (ǫ = 0 si une nouvelle équipe doit être réée). Il reste à aluler ladatede début auplus ttde I pour eséquipes.
Calul de la date de début au plus tt
L'étape suivante de l'algorithme onsiste à aluler la date au plus tt sǫ(I) de pla-niation de l'intervention I ave l'équipe ǫ. Dans le as d'une nouvelle équipe, il s'agit simplement delavaleurs(I).Sinon, pour haune deséquipesretenues,onessaied'insérer
I au plustt dansleurplanning.
Choix entre (2a) et (2b)
L'ordre desritères (2a) et (2b)dépend dela valeur de d(I) obtenue préédemment. Il dépendégalementde ladatedendeladernièreintervention demême prioritéqueI pour lespriorités1,2,3etdeladatedentotalepourlapriorité4(i.e.ti,oùidésignelapriorité du andidat I). Si d(I)×Hmax+s(I) +T(I) < ti alors la ondition (2a) est onsidérée avant la ondition (2b). Sinon, la ondition (2b) a la priorité. En eet, si l'insertion de
I ne provoque pas d'augmentation de la date de n de la dernière intervention de même priorité queI, alorsellen'inuepassurlavaleurdelafontionobjetive.Danse as,nous herhons à minimiser lenombre de tehniiens à ajouter avant de minimiser la valeur de
En résumé, pour favoriser la ondition (2a), l'algorithme hoisit l'équipe ǫ ave la va-leur minimale techsǫ(I) orrespondante. Si plusieurs équipes ont la même valeur, l'équipe hoisieestellepourlaquellelavaleursǫ(I) estminimale. Pour favoriserlaondition(2b), l'algorithmehoisitl'équipeǫavelavaleurminimalesǫ(I)etelleayantlavaleurminimale
techsǫ(I) s'ilexiste aumoins deuxéquipesave la même valeur sǫ(I).
Utilisation d'une permutation des poids dans l'algorithme glouton
Desexpérienespréliminaires nousont montré queleritère dehoix desinterventions
pourl'algorithmegloutonn'estpastrivialet,enpartiulier,qu'ilneorrespondpastoujours
à l'ordre des oeients des priorités dans la fontion objetive. Notons w(I) le poids de l'intervention I. Supposons que w(I) soit égal au oeient de la priorité de I dans la fontion objetive. Cela revient à hoisir les interventions de haute priorité d'abord. La
gure5.1représente unesolution généréeparl'algorithmeglouton dansesonditions.Les
poidsdesinterventionssont:28pourlesinterventionsdepriorité1;14pourlesinterventions
de priorité 2; 4 pour les interventions de priorité 3; 1pour ellesde priorité 4.Dans ette
gure, haque ligne représente un tehniien : le premier tehniien est représenté par la
ligne duhautet ledernier tehniien parlalignedubas.Chaqueretanglenoirorrespond
à un jour de ongés et haque ligne vertiale orrespond à la n d'une journée. La valeur
de lafontion objetive de ette solutionest 17820.
Fig. 5.1 Solution ave unobjetif de 17820 pour l'instane 8de l'ensembledata-setA
priorité 1 priorité 2 priorité3
Il est possible d'aeter les poids aux interventions de manière diérente. Supposons
que lesinterventions de priorité 4aient un poids de28, ellesde priorité 3un poids de14,
elles de priorité 1 un poids de 4 et elles de priorité 2 un poids de 1. Cette aetation
orrespond à utiliser la permutation (4,3,1,2) despoids. La gure 5.2 donne une solution
générée ave l'algorithme glouton en utilisant es poids. La valeur de l'objetif de ette
solution est17355. Notonsque lespoidsdesinterventions nesont pasutilisés pour évaluer
Fig. 5.2 Solution ave unobjetif de 17355 pour l'instane 8de l'ensembledata-setA
priorité 1 priorité 2 priorité3
Cetexemplemontreque,pouretteinstane,ilestpréférabledexerunpoidsfortpour
les interventions de priorité 3 et d'utiliser la permutation (4,3,1,2) despoids assoiés aux
priorités. Nouspréisonsquelespermutations(4,3,1,2),(3,2,1,4), (4,3,2,1)et (4,2,1,3) sont
équivalentes pour l'algorithme glouton dansle as de gure où il n'y a pas d'intervention
de priorité 4.
Mise à jour des poids
Undesinonvénientspotentielsde l'arhiteture GRASPstandard estqu'elleneprend
pas en ompte les solutions préédemment visitées.Dans l'implémentation proposée, nous
utilisons l'information fournie par les solutions préédentes pour diriger la reherhe vers
deszonespotentiellement prometteuses.Ceiestréalisé,àhaqueitération,en mettant
à jourles poids desandidatsenonsidérant les aratéristiquesdessolutions préédentes.
Notons wp(I), lepoids assoié à l'intervention I selon lapermutation pdes poids assoiés aux priorités. Par exemple, supposons que p = (3,2,1,4), alors wp(I) = 28 si la priorité
de I est 3,wp(I) = 14si la priorité de I est 2,et. À la n de l'exéution de l'algorithme
glouton, lespoidsdes interventions sontmis àjour à partir del'information fournie parla
solution générée [65℄. Cette mise à jour onsiste à ajouter la valeur wp(I) aux dernières interventions de haque priorité et à tous leurs prédéesseurs de manière à planier es
interventions plus ttàl'itération suivante.L'algorithme 5.2illustreette proédure.
Algorithme 5.2 Phasede miseàjour
mise_a_jour_poids(p) {