• Aucun résultat trouvé

7.1 Heuristiques constructives

7.1.3 Algorithmes de type gloutons/Relax and Fix

Des algorithmes gloutons ont ´et´e impl´ement´es en construisant une solution par r´esolution successive de petits PLNE d’optimisation locale. Contrairement aux gloutons classiques, ces probl`emes d’optimisations vont placer plusieurs arrˆets `a la fois, garantissant une optimisation de meilleure qualit´e. Deux variantes de construction ont ´et´e consid´er´ees, construire la solution unit´es par unit´es, ou cycles par cycles.

Algorithme glouton unit´es par unit´es La strat´egie gloutonne ”par unit´es” consid`ere autant de probl`emes que d’unit´es nucl´eaires, en optimisant simultan´ement les arrˆets d’un mˆeme r´eacteur. Une premi`ere impl´ementation consid´erait s´equentiellement les planning `a optimiser. Les unit´es non consid´er´ees dans l’op- timisation courante et qui n’ont pas ´et´e d´ej`a trait´ees ´etaient alors consid´er´ees comme des unit´es de type 1, en leur affectant un coˆut de production d’une unit´e de type 1 existante. Les unit´es d´ej`a optimis´ees pr´ec´edemment avait alors leur planning fig´e `a la valeur de l’optimisation r´ealis´ee. Les plannings trait´es ´

etaient alors fig´es dans la suite `a la valeur de leur optimisation via les contraintes de fenˆetres de temps, les variables consid´er´ees de production nucl´eaires non fig´ees `a 0 ´etant alors de cardinalit´e inf´erieure aux variables de production. On peut alors utiliser directement la formulation de la section 5.3.1 avec de telles modifications.

Avec cette m´ethode, on fige successivement des dates d’arrˆets, telles que les contraintes couplantes d’ordonnancement (CT14 `a CT21) soient v´erifi´ees avec les pr´ec´edentes d´ecisions, sans pouvoir les remettre en question. Il pouvait ainsi arriver qu’un probl`eme de planification des arrˆets d’une unit´e soit infaisable, `a cause des contraintes d’ordonnancement et des arrˆets pr´ec´edemment fig´es. Pour avoir une m´ethode robuste,

il s’av´erait alors n´ecessaire de relˆacher les contraintes couplantes d’ordonnancement de CT14 `a CT21, et de r´eparer les violations des contraintes d’ordonnancement comme pr´ec´edemment en consid´erant le PLNE frontal de la section 5.3.1 avec un fort poids de minimisation de l’´ecart `a la solution ainsi construite.

Face `a ces d´esagr´ements, et pour r´eduire l’asym´etrie provoqu´ee par le choix de l’ordre de fixation, une approche parall´elisable en consid´erant des sous probl`emes ind´ependants de fixation des variables s’av´erait adapt´e. Le probl`eme d’optimisation pour chaque r´eacteur consid`ere alors la formulation 5.3.1 en agr´egeant toutes les autres unit´es en une unit´e de type 1. Il s’agit d’un planning id´eal de l’unit´e consid´er´ee ind´ependamment des autres, l’arbitrage des modifications pour respecter les contraintes d’or- donnancement ´etant alors effectu´e par la r´eparation. Par une telle construction, des solutions sont g´en´er´ees tr`es rapidement, les probl`emes de r´esolution par unit´es ´etant instantan´es.

Algorithme glouton cycles par cycles Une autre strat´egie gloutonne est de proc´eder cycles par cycles planifiant successivement les arrˆets. De mani`ere `a avoir des calculs interm´ediaires plus faciles `a r´esoudre, on utilise une formulation tronqu´ee ne consid´erant que les Ko premiers arrˆets, la production ´etant alors proche du type 1 apr`es l’arrˆet Ko :

vKo= min Pi,kCrldi,kri,k+Pj,tC prd j,t Dtpj,t AordoKo d > aordoKo

∀i, k < Ko, Rmini,k di,k,W 6 ri,k 6 Rmaxi,k di,k,W ∀i, k 6 Ko, xiniti,k 6 Smaxi,k

∀i, k < Ko, xf ini,k = xiniti,k −P

tDtpi,k,t+ ∆i,k > 0

∀i, k < Ko, xf ini,k 6 Amaxi,k+1+ (Smaxi,k − Amaxi,k+1) (1 − di,k+1,W) ∀i, k 6 Ko xiniti,k − Boi,k = ri,k+

Qi,k−1 Qi,k (x f in i,k−1− Boi,k−1) ∀j, t, Pminsj,t6 pj,t6 Pmaxsj,t ∀t, P i,kpi,k,t+ P jpj,t> Dem t d ∈ {0, 1}N, r, p, xinit, > 0

Les contraintes AordoKo d > aordoKo sont les contraintes d’ordonnancement restreintes aux variables di,k,w pour k 6 Ko. Dans cette formulation, on a dˆu relˆacher la contrainte de positivit´e du stock du cycle Ko pour que la production nucl´eaire puisse se faire jusqu’au dernier pas de temps `a puissance maximale, et en esp´erant que les arrˆets suivants soient suffisamment loin pour ne pas perturber la d´ecision prise localement. En outre, la valorisation du stock final est supprim´ee, comme cela n’a plus de sens.

Un premier algorithme glouton proc´ederait en calculant `a chaque it´eration k o`u les k − 1 premiers cycles ont ´et´e fix´es le probl`eme vk apr`es avoir fix´e les fenˆetres de temps des k − 1 premiers cycles sur les valeurs calcul´ees aux it´erations pr´ec´edentes, fixant les solutions obtenues comme valeur d´efinitive des k premiers cycles avant de passer `a l’it´eration k + 1.

Une telle approche est s´equentielle, non parall´elisable, chaque sous-probl`eme n´ecessitant la sortie du pr´ec´edent. Dans le cas o`u un sous probl`eme se trouve irr´ealisable ou qu’aucune solution primale n’a ´et´e exhib´ee, la r´esolution s’en trouve arrˆet´ee, et il n’y a aucun m´ecanisme de r´eparation d’impl´ement´e. Cette approche ne garantit donc pas de fournir une solution en temps contraint. De nombreuses irr´ealisabilit´es apparaissaient, pas manque d’anticipation. Les arrˆets d’un cycle k sont fig´es sans consid´erer de r´ealisabilit´e des cycles suivants : des infaisabilit´es pouvant apparaˆıtre suite `a une mauvaise fixation d’un cycle k avec les contraintes d’anticipation maximales, des fenˆetres de temps des cycles suivants, et des ordonnancements restreignant la faisabilit´e.

7.1. HEURISTIQUES CONSTRUCTIVES 125 Pour ce faire, on a donc consid´er´e un cycle suppl´ementaire, pour garantir l’existence de solutions futures au cycle suivant. `A chaque it´eration k o`u les k−1 premiers cycles ont ´et´e fix´es, on consid`ere alors le probl`eme vk+1 apr`es avoir fix´e les fenˆetres de temps des k − 1 premiers cycles sur les valeurs calcul´ees aux it´erations pr´ec´edentes, fixant les solutions obtenues comme valeur d´efinitive des k premiers cycles avant de passer `a l’it´eration k + 1. Par une telle approche, les probl`emes d’optimisation consid`erent le placement de 2I arrˆets, contre K pour l’approche de construction unit´es par unit´es. Cela g´en`ere des probl`emes d’optimisation qui ne se r´esolvent pas instantan´ement, mais avec une convergence suffisamment acc´el´er´ee pour que toutes les instances soient calculables. Les temps de calculs `a l’optimalit´e ´etaient inf´erieurs `a 5 minutes pour les instances des jeux B et X hors B8 et B9.

La r´esolution en temps fix´e, avec un param`etre de r´esolution activant les heuristiques (mipemphasis =4) ´etait tr`es bien adapt´e. La variabilit´e des temps de calculs suivant les cycles (par l’interm´ediaire des amplitudes des fenˆetres de temps) a ´et´e prise en compte dans les temps de calculs impartis. Pour les instances B8 et B9, 10 minutes ´etait un temps de convergence insuffisant, les it´erations les plus critiques n´ecessitant 20 minutes pour fournir une solution primale d’un ordre de grandeur acceptable.

On remarque que l’on pourrait r´eutiliser de l’information pour un d´emarrage `a chaud. Pour le placement du cycle k, la boucle pr´ec´edente avait donn´e une solution r´ealisable pour les variables d’arrˆet du cycle k. En fixant ces valeurs dans vk+1, on a un probl`eme de taille I, qui peut fournir des solutions initiales pour un d´emarrage `a chaud de l’it´eration k, et ainsi faciliter la convergence du PLNE.