• Aucun résultat trouvé

Extension du concept de robustesse : violation contrôlée des contraintes

de la programmation linéaire adopté dans la présente introduction : le lecteur se reportera au livre [9] et à l’article [6] pour plus de détails. Le point essentiel que le lecteur doit réaliser est que les codes disponibles en programmation conique, tel Sedumi [39], permettent de résoudre avec très grande efficacité des problèmes de taille respectable, ce qui rend la généralisation discutée tout à fait opérationnelle.

3.9

Extension du concept de robustesse : violation contrôlée des

contraintes

La programmation robuste ne prend en considération que les aléas qui font partie de l’ensemble d’incertitude. Une solution «robuste» peut donc violer les contraintes pour certains aléas qui ne font pas partie de l’ensemble d’aléas, à un niveau éventuellement inacceptable. Nous pourrions songer à accroître l’ensemble d’incertitude pour y inclure une plus grande proportion d’évé- nements rares, mais ce n’est pas une réponse adéquate au problème. En effet, en agrandissant l’ensemble d’incertitude, nous diminuons l’ensemble des solutions robustes, au point que cet ensemble peut devenir vide. De fait il est généralement impossible qu’une même solution respecte la contrainte dans la totalité des cas de figure. Il faut donc admettre qu’une violation est possible. Mais dans quelle mesure ?

Dans [4], les auteurs proposent une réponse qui s’appuie sur l’idée suivante. Une solution robuste

étendue doit satisfaire deux critères :

1. Elle doit être robuste au sens habituel, c’est-à-dire que pour toute réalisation de l’aléa dans l’ensemble d’incertitude, la contrainte doit être exactement satisfaite.

2. Si l’aléa n’appartient pas à l’ensemble d’incertitude, une violation de la contrainte peut être acceptée, mais cette violation doit être «contrôlée».

Par définition, une solution robuste étendue est donc robuste au sens classique. Le concept de solution robuste étendue est donc plus restrictif, mais il couvre tous les cas de figure de l’incertitude.

Que faut-il entendre par «violation contrôlée» ? Les auteurs de [4] suggèrent que la violation soit bornée par une fonction proportionnelle à la distance de l’aléa à l’ensemble d’incertitude. Sans avoir encore défini cette distance, nous voyons tout de suite que, si l’aléa appartient à l’ensemble d’incertitude, la violation doit être nulle puisque la distance à l’ensemble d’incertitude est nulle. Nous couvrons ainsi les deux conditions dans la définition d’une solution étendue.

3.9.1 Définition formelle de la robustesse étendue

Pour formaliser l’idée, il faut définir une «distance» à l’ensemble d’incertitude. Faisons-le d’une manière abstraite pour commencer. Comme dans nos exemples précédents, la contrainte

(¯a + P ξ)Tx = ¯aTx + (PTx)Tξ ≤ 0 doit être satisfaite pour tous les ξ dans l’ensemble d’incertitude.

3.9. EXTENSION DU CONCEPT DE ROBUSTESSE : VIOLATION CONTRÔLÉE DES CONTRAINTES

Nous supposons que Ω = Rp et que Ξ est convexe. Nous introduisons une fonction distance convexe d(ξ, Ξ) entre ξ et l’ensemble Ξ. Une solution sera dite robuste étendue si elle satis- fait

¯

aTx + (PTx)Tξ ≤ αd(ξ, Ξ), ∀ξ ∈ Ω

où α > 0 est un paramètre choisi par le décideur qui contrôle l’ampleur de la violation tolérée. Notez que ξ est pris dans tout l’ensemble des possibles. Nous testons la robustesse étendue d’une solution x en vérifiant la condition

max

ξ∈Ω{(P

Tx)Tξ − αd(ξ, Ξ)} ≤ −¯aTx.

Soit maintenant δ : Rp→ R+ une norme sous-tendant la distance d. Ainsi

d(ξ, Ξ) = min

ξ0∈Ξδ(ξ − ξ

0).

La contrepartie robuste étendue de la contrainte s’obtient en résolvant le problème d’optimisation convexe max ξ∈Rp{(P Tx)Tξ − α min ξ0∈Ξδ(ξ − ξ 0 )} = max ξ∈Rp{(P Tx)Tξ + α max ξ0∈Ξ {−δ(ξ − ξ 0 )}} = max{(PTx)Tξ − αδ(ξ − ξ0) | ξ ∈ Rp, ξ0 ∈ Ξ}.

3.9.2 Robustesse étendue dans le cadre de la programmation linéaire

Comme dans les sections précédentes, nous voulons construire une contre-partie robuste de l’inégalité de départ en termes d’un système d’inégalités à satisfaire. Si nous souhaitons que ce système soit linéaire, il faut choisir un ensemble d’incertitude polyédrique et une norme appropriée. Cette norme doit pouvoir être décrite par un nombre fini d’inégalités linéaires, comme la norme `∞ ou `1, ou une combinaison des deux, voire une norme induite par un borné

avec un intérieur non vide. Les choix de l’ensemble d’incertitude et de la norme sont a priori indépendants. Il y a cependant une certaine logique à lier les deux et plus particulièrement à utiliser la norme induite par l’ensemble d’incertitude lui-même.

Pour illustrer le propos de manière concrète, nous considérons le cas d’un ensemble d’incertitude défini comme l’intersection de la boule de rayon k dans la norme `∞ et de la boule de rayon

k√p dans la norme `1. Rendons explicite la dépendance de cet ensemble par rapport à k en

écrivant

Ξ(k) = {ξ ∈ Ω | ||ξ||1 ≤ k

p, ||ξ||∞≤ k}.

Le polyèdre Ξ(k) induit la norme

δ(µ) = min{k | µ ∈ Ξ(k)} = max{√1

p||µ||1, ||µ||∞}.

Pour trouver la distance d’un point ξ à l’ensemble Ξ il faut résoudre le problème d’optimisa- tion

d(ξ, Ξ) = min

3.9. EXTENSION DU CONCEPT DE ROBUSTESSE : VIOLATION CONTRÔLÉE DES CONTRAINTES

La figure 3.4 illustre la distance de ξ à l’ensemble Ξ dans la norme composite choisie. Les courbes en traits tiretés représentent des ensembles de points équidistants de ξ. Le point ν ∈ Ξ est un des points les plus proches de ξ. (Ce point n’est pas unique parce que la fonction distance choisie n’est pas strictement convexe.) La distance calculée est d(ξ, Ξ) = δ(ν, ξ) = 2.53.

Ξ ν ξ d = 1 d = 2 d = 2.53

Fig. 3.4 – Distance d(ξ, Ξ) dans la norme composite

La question posée est de savoir si le problème de maximisation qui intervient dans la définition de l’équivalent robuste peut se formuler comme un programme linéaire. Pour répondre affirma- tivement, nous opérons quelques transformations. Commençons par la plus simple qui introduit une variable auxiliaire ζ. Cela donne

max

ξ,ν,ζ (P

Tx)Tξ − αζ

δ(ξ − ν) ≤ ζ ν ∈ Ξ, ξ ∈ Ω.

La maximisation de l’objectif force ζ à prendre une valeur aussi petite que possible. Cela assure l’égalité δ(µ) = ζ.

La transformation suivante vise à exprimer que ν appartient à Ξ. Pour cela, il faut faire intervenir les valeurs absolues des composantes, ce que nous réalisons classiquement par une décomposition en parties positive et négative. De même, la norme δ que nous avons choisie peut s’exprimer à l’aide des valeurs absolues des composantes de µ = ξ − ν. Ces décompositions µ = µ+− µ− et ν = ν+− ν− vont nous permettre d’éliminer µ, ν et ξ de la formulation. Nous pourrons alors écrire le test de robustesse comme

maxµ,ν,ζ (PTx)T[(µ+− µ−) + (ν+− ν−)] − αζ 0 ≤ µ+≤ ζ 0 ≤ µ−≤ ζ (µ++ µ−)Te ≤ ζ√p 0 ≤ ν+≤ k 0 ≤ ν−≤ k (ν++ ν−)Te ≤ k√p. (3.18)

3.9. EXTENSION DU CONCEPT DE ROBUSTESSE : VIOLATION CONTRÔLÉE DES CONTRAINTES

Pour qu’une solution optimale µ+ et µ− de (3.18) corresponde bien à la décomposition de µ en parties positive et négative, il faut que la condition de complémentarité µ+i µ−i = 0 soit vérifiée pour chaque coordonnée i = 1, . . . , p. (La même condition doit être vérifiée pour ν.) Il est facile de voir que si ce n’était pas le cas à l’optimum, il serait toujours possible de définir la décomposition alternative µ = ˜µ+− ˜µ, avec ˜µ+ i = µ+i − min{µ+i , µ − i } ≥ 0 et ˜µ − i = µ − i − min{µ+i , µ − i } ≥ 0.

Cette décomposition satisfait la condition µ+i µ−i = 0 tout en préservant l’ensemble des autres contraintes ; quant à l’objectif, sa valeur est inchangée. Le même raisonnement peut s’appliquer à ν+et ν−. Il existe donc une solution optimale pour laquelle nous avons bien la décomposition en parties positive et négative. L’équivalence est donc établie.

Le dual du problème linéaire (3.18) est min u,v,ρ,σ k(v ++ v− ) + σk√p (u++ u−)Te + ρ√p ≤ α ρ e + u+ ≥ PTx ρ e + u− ≥ −PTx σ e + v+≥ −PTx σ e + v−≥ PTx u+, u−, v+, v−, ρ, σ ≥ 0.

L’équivalent robuste étendu de la contrainte a(x)Tξ ≤ 0 est donc l’ensemble d’inégalités sur les variables x, u, v, σ k(v++ v−) + σk√p ≤ −¯aTx (u++ u−)Te + ρ√p ≤ α ρ e + u+ ≥ PTx ρ e + u− ≥ −PTx σ e + v+ ≥ −PTx σ e + v− ≥ PTx u+, u−, v+, v−, ρ, σ ≥ 0. (3.19)

La robustesse étendue fait appel à un paramètre α de tolérance de la violation. Plus ce paramètre est petit, plus la violation de la contrainte est restreinte. Si α tend vers l’infini, nous retrouvons la solution robuste standard pour laquelle la contrainte n’est plus prise en considération si l’aléa se trouve hors de l’ensemble d’incertitude.

Dans le test de robustesse (3.18), l’ensemble Ω est tout Rp. En pratique Ω est un ensemble plus restreint. Par exemple, si le paramètre incertain est une quantité physique, cette quantité peut ne prendre que des valeurs positives. Cela induit une contrainte sur ξ. Prenons le cas simple d’un ensemble Ω = {ξ | ξ ≤ ξ ≤ ¯ξ} défini par des contraintes de boîte. Le test de robustesse étendue est obtenu en résolvant le problème (3.18) auquel nous ajoutons la contrainte

ξ ≤ (µ+− µ−) + (ν+− ν−) ≤ ¯ξ.