• Aucun résultat trouvé

1.2 D´ ecomposition de Benders

1.2.4 Points d’impl´ ementation

La d´ecomposition de Benders consid`ere les variables x et zk comme variables de premier niveau, ce qui ram`ene le probl`eme `a une question de faisabilit´e :

η∗ = min yk,η>0 η ∀k ∈ K, Wkyk+ η > hk− Tkx k 1) ∀k ∈ K, Bkyk > bk (λk2) ∀k ∈ K, qkyk+ η > zk (λk3) (1.27)

La faisabilit´e de tous les sous-probl`emes ´equivaut `a η∗= 0. On remarque qu’on a η∗= 0, si et seulement tous les sous-probl`emes en k sont satisfaits ind´ependamment les uns des autres. Cela se d´ecompose en K probl`emes ind´ependants, avec η∗ = minkηk∗ :

η∗k= min η,yk>0η s.c : Wky + η > hk− Tkx k 1) Bkyk> bk k 2) qkyk+ η > zk (λk3) (1.28)

Si pour tout k, ηk∗ = 0, la valeur courante x, zk fournit l’optimum. Sinon, pour chaque sous bloc k tel que ηk∗ > 0, la coupe `a g´en´erer s’´ecrit :

X k

λk1(hk− Tkx) +X k

λk2bk− λk3zk6 0 (1.29)

1.2.4 Points d’impl´ementation

Cette section traite de points sp´ecifiques d’impl´ementations de la d´ecomposition de Benders. Trois types d’impl´ementations sont d´ecrits, l’impl´ementation s´equentielle, l’impl´ementation Branch&Cut dans le cas d’un PLNE, et l’impl´ementation heuristique tronqu´ee.

Impl´ementation s´equentielle L’impl´ementation s´equentielle d’une d´ecomposition de Benders calcule `a l’optimalit´e le PMR `a chaque it´eration avec les coupes d´ej`a g´en´er´ees. La s´eparation s’applique `a la solution optimale x obtenue, calculant autant de PL que de probl`eme esclaves. Si des coupes viol´ees peuvent ˆetre ajout´ees, on r´eit`ere le processus en recalculant le probl`eme maˆıtre avec les coupes g´en´er´ees, sinon la solution obtenue est prouv´ee optimale, l’algorithme s’arrˆete. Chaque it´eration fournit une borne duale du probl`eme apr`es un calcul de PMR. La borne duale est croissante au cours des it´erations, pas toujours strictement.

`

A partir de la solution optimale du PMR obtenue x, on peut reconstituer une solution primale par (1.18). Dans le cas o`u le PMR est continu, une succession PL est calcul´ee, les PMR s’obtenant en rajoutant un petit nombre en contraintes. Une telle impl´ementation est efficace en calculant l’algorithme le PMR par simplexe dual avec un d´emarrage `a chaud utilisant de la derni`ere solution, toujours dual-r´ealisable. Dans

1.2. D ´ECOMPOSITION DE BENDERS 31 le cas o`u le PMR est entier, chaque it´eration demande un calcul `a l’optimalit´e d’un PLNE. Un tel sch´ema n’est envisageable en pratique que si le PMR se r´esout ais´ement.

Impl´ementation Branch&Cut Quand le PMR est entier, une impl´ementation en Branch&Cut permet de parcourir un seul arbre de Branch&Bound sur les variables du PMR. L’algorithme de s´eparation est valide pour une solution x fractionnaire, comme dans la d´ecomposition de Benders du relˆach´e continu. L’id´ee est alors d’ajouter `a chaque nœud toutes les coupes de Benders viol´ees par la solution fractionnaire en cours. Quand la solution fractionnaire d’un nœud ne viole plus de coupes de Benders, on effectue des branchements, pour aboutir `a des solutions enti`eres. Lorsqu’une solution enti`ere trouv´ee ne viole pas de coupe de Benders, c’est une solution r´ealisable du probl`eme, on a une borne primale. Les bornes duales obtenues par relaxation continue et d´ecomposition de Benders `a chaque nœud fournissent des bornes duales du probl`eme conditionnellement aux branchements r´ealis´es. Les it´erations de d´ecomposition de Benders portent alors sur des probl`emes continus, o`u l’impl´ementation s´equentielle avec un d´emarrage `a chaud par l’algorithme de simplexe dual est efficace.

Potentiellement, un nombre important de coupes de Benders peut ˆetre g´en´er´e, ce qui peut devenir prohibitif en terme d’espace m´emoire. Pour ´eviter cela, une impl´ementation classique en Branch&Cut d´efinit des coupes locales : une coupe de Benders g´en´er´ee `a un nœud n’est ´ecrite que pour les nœuds successeurs. Cette approche a ´et´e utilis´ee dans [17], o`u l’impl´ementation est r´ealis´ee sous cplex `a l’aide de callbacks. Des coupes de Benders non utilis´ees depuis un grand nombre d’it´erations sont retir´ees pour lib´erer de l’espace m´emoire. Un tel algorithme de Branch&Cut est compatible avec la g´en´eration de coupes d’int´egrit´e `a chaque nœuds de l’arbre de Branch&Cut, similairement `a la section 1.1.4.

Approche heuristique tronqu´ee Dans le cas d’un PLNE, l’approche s´equentielle est limitante en temps de calculs quand l’approche Branch&Cut est limitante en espace m´emoire. Dans les deux cas, les tailles des probl`emes r´esolubles `a l’optimalit´e sont limit´ees. Un compromis est souvent ´elabor´e sur de grands probl`emes, par exemple dans [101] et [91], aboutissant `a des heuristiques bas´ees sur la d´ecomposition de Ben- ders. La relaxation continue est calcul´ee exactement par d´ecomposition de Benders suivant l’impl´ementation s´equentielle, et le calcul de PLNE est poursuivi avec les coupes g´en´er´ees sur la relaxation PL, sans g´en´eration de nouvelles coupes de Benders, pour une approche Cut &Branch. Les bornes duales obtenues par l’approche Cut&Branch fournissent des bornes duales du probl`eme complet.

G´en´eration de coupes de Benders Pour g´en´erer des coupes de Benders, seule une solution partielle (x, α) est n´ecessaire. Le calcul `a l’optimalit´e du PMR permet de prouver que la solution partielle est opti- male si elle respecte toutes les coupes de Benders. Ainsi, pour les premi`eres it´erations de la d´ecomposition de Benders, le calcul `a l’optimalit´e est facultatif. Lorsque le PMR est un PLNE, pour ´economiser du temps de r´esolution sur les premi`eres it´erations d’une impl´ementation s´equentielle. Dans un tel cadre, la PPC a ´

et´e utilis´ee pour fournir des r´esolutions acc´el´er´es de PMR dans [70].

Dans le cas de sous-probl`emes ind´ependants, on peut acc´el´erer les temps de calcul en r´esolvant un nombre d´etermin´e de sous-probl`emes aux premi`eres it´erations. Cela permet aussi de ne pas g´en´erer de coupes redondantes. En effet, dans le cas o`u deux sous blocs sont identiques, les coupes de Benders g´en´er´ees sont identiques. L’application associant aux coefficients matriciels et `a la solution de premier niveau la coupe de Benders associ´ee est lin´eaire et donc continue. Pour une solution de premier niveau donn´ee, des valeurs de coefficients matriciels ”proches” induisent des coupes de Benders ”proches”.

Un point crucial pour acc´el´erer la terminaison d’un algorithme de g´en´eration de coupes est la stabili- sation, diminuer le nombre d’it´erations n´ecessaires. La stabilisation d’une d´ecomposition de Benders a ´et´e peu ´etudi´ee sp´ecifiquement dans la litt´erature. Nous r´ef´erons `a [21] pour des techniques g´en´erales de stabil-

isation de g´en´eration de coupes ou de colonnes, et `a [76] pour des techniques de stabilisation de coupes de Benders avec une application `a un probl`eme d’ordonnancement. Nous notons enfin que la PPC peut ˆetre utile pour fournir des coupes de Benders renforc´ees, en nous r´ef´erant `a [110].

Instabilit´e num´erique et coupes de Benders Un point crucial pour impl´ementer la d´ecomposition de Benders est que les coupes de Benders d´ependent des solutions duales. Les erreurs d’arrondis num´eriques s’accumulent dans le PMR avec l’ajout de coupes de Benders, un grand soin doit ˆetre apport´e aux arrondis num´eriques : une coupe λ1(h − T x) + λ2b 6 λ3α avec λ3 tr`es petit, se trouvant arrondi `a 0, devient une coupe de faisabilit´e fausse. Pour minimiser les instabilit´es num´eriques d’arrondis, il est souhaitable d’avoir des coefficients de mˆeme ordre de grandeur. Pour ce faire, on peut tut d’abord normaliser les variables. Il est ´egalement souhaitable que les variables duales des sous-probl`emes aient le mˆeme ordre de grandeur. L`a encore, on peut op´erer une op´eration de normalisation. Pour ´ecrire les variables duales, on avait introduit η pour mesurer les violations de contraintes sans avoir normalis´e. Pour chaque contrainte j, cela on remplace 1 × ηj par ˜ηj = Mjηj o`u Mj > 0 indique l’ordre de grandeur de la contrainte j.