• Aucun résultat trouvé

4.4 Résultats de simulation

6.2.3 Méthode de régression linéaire : Lasso

Pour la dernière méthode de résolution du problème d'optimisation, l'utilisation d'une pé- nalisation `1 est proposée, sur la base de l'intuition suivante : pour maximiser l'horizon de

production, il vaudrait mieux n'utiliser que les machines strictement nécessaires à chaque ins- tant pour atteindre la demande. Cela revient à minimiser la surproduction tout en minimisant le nombre de machines utilisées en même temps, an de conserver du potentiel pour la n de l'ordonnancement et éventuellement atteindre la demande pendant un temps plus long. Cela peut être fait par le biais du contrôle de la sparsité1 du vecteur solution F , qui a alors la même

structure que si le nombre de composantes non nulles étaient contraint.

La pénalisation par une norme `1 a fait l'objet de nombreux travaux dans les domaines de

l'intelligence articielle pour l'apprentissage automatique (machine learning), des statistiques et du traitement du signal [37, 27]. Elle a en particulier été proposée pour la recherche d'une solution creuse pour un système d'équations linéaires sous déterminé (qui admet une innité de solutions) [37] et pour l'approximation ane par morceaux [59]. Ces diérents travaux ont conduit à d'importantes découvertes dans les domaines des mathématiques et de l'informatique en lien avec la frontière entre P et NP [26]. Dans le domaine des statistiques, l'utilisation d'une norme `1pour une régression linéaire se retrouve dans l'algorithme du Lasso (pour Least Absolute

Shrinkage and Selection Operator), proposé par Tibshirani [100]. Le cas du Lasso est une instance très particulière d'approche par relaxation convexe d'un problème NP dur. Elle a en eet conduit à soulever la question de la probabilité avec laquelle l'approche convexe permet de retrouver le support de la solution, à une époque où la majeure partie de la communauté de la théorie de la complexité se préoccupait essentiellement de donner des schémas d'approximation pire-cas.

C'est ce type d'approche que nous nous proposons d'utiliser pour résoudre le problème d'op- timisation considéré. le principe du Lasso est tout d'abord expliqué dans la partie 6.2.3.1, puis l'algorithme de résolution basé sur le Lasso est détaillé dans la partie 6.2.3.2.

6.2.3.1 Principe du Lasso

Le Lasso est une technique de régression linéaire basée sur la fonctionnelle des moindres carrés, à laquelle est ajoutée une pénalisation des coecients de régression prenant la forme d'une norme `1. Cette norme `1 est un substitut pour la quasi-norme `0, qui, par dénition, mesure

le nombre de composantes non nulles d'un vecteur. La solution du problème d'optimisation est appelée un estimateur Lasso. Pour le problème considéré ici et suivant les notations introduites précédemment, l'estimateur Lasso Fb est déni par l'équation (6.32) :

1. La notion de  sparsité  peut être rapprochée de celle de densité. On dit qu'un vecteur est  sparse  ou  creux  lorsqu'une très grande proportion de ses composantes est nulle (voir [26]).

124 Chapitre 6. Prols continus - approche globale b F = argmin F ∈Rm(T +1)   1 2 σ(t) − m X j=1 fj(t) 2 2 + λ kF k1   ∀ 0 6 t 6 T, avec λ ∈ R+ (6.32)

Chaque composante de F étant par hypothèse positif, cet estimateur Lasso peut être exprimé de la façon suivante : b F = argmin F ∈Rm(T +1)   1 2 T X t=0  σ(t) − m X j=1 fj(t) 2 + λ T X t=0 m X j=1 fj(t)   avec λ ∈ R+ (6.33)

L'objectif est d'estimer les composantes de F , tout en en éliminant certaines en ramenant leurs coecients à zéro. Le Lasso est ainsi une méthode eectuant simultanément une estimation et une sélection de variables [100]. La sélection est eectuée par la pénalisation `1, dénie par le

second terme de l'équation (6.32). Cette partie de l'estimateur Lasso fait ainsi tendre de façon continue des composantes du vecteur F vers 0 lorsque λ augmente. Lorsque λ est assez grand, certaines composantes fj(t) sont xées à 0. Cela impose une certaine sparsité à la solution F .

La dénition d'un coecient λ approprié permet ainsi de faire une sélection des machines et de ne pas toutes les utiliser à chaque instant. Cela est cohérent avec l'objectif de maximisation de l'horizon. Cette sélection des machines à utiliser à chaque instant est faite conjointement avec la détermination de leur contribution au débit total fourni. Cette étape d'estimation est eectuée par le premier terme de l'estimateur Lasso déni dans l'équation (6.32). Ce premier terme permet d'assurer que le débit total fourni par la plate-forme de machines considérée atteint au moins la demande σ(t) à chaque instant t, sachant que la détermination de chaque composante fj(t)est

faite sous la contrainte 0 6 fj(t) 6 fmaxj(t) ∀ 0 6 t 6 T, ∀ 1 6 j 6 m.

6.2.3.2 Algorithme de résolution

La technique du Lasso présentée dans la partie précédente est utilisée pour la résolution du problème d'optimisation avec une de ses variantes, l'Adaptive Lasso. Cette technique, proposée par Zou dans [108], est une version adaptée du Lasso classique présenté précédemment, dans laquelle la pénalisation `1 est pondérée. Toutes les composantes de F ne sont pas pénalisées de

manière égale, mais suivant un vecteur w = [w1(t), . . . , wj(t), . . . , wm(t)]. Cette pondération est

utilisée pour adapter la pénalisation du vecteur à optimiser à sa valeur à l'itération précédente. Chaque wj(t) est alors déni en fonction du fj(t) correspondant. Cela permet d'accélérer la

vitesse de convergence de la méthode globale. Il a été démontré par Zou que l'Adaptive Lasso est aussi ecace que d'autres techniques de modélisation sparse [108].

b F = argmin F   1 2 T X t=0  σ(t) − m X j=1 fj(t) 2 + λ T X t=0 m X j=1 wj(t)fj(t)   avec λ ∈ R+ (6.34)

6.2 Méthodes de résolution 125

application du Lasso classique, utilisée pour initialiser le vecteur F . Ce même vecteur est ensuite optimisé sur plusieurs itérations. Au cours de chacune de ces itérations, un ou plusieurs Adaptive Lasso sont appliqués, suivis d'une mise à jour des débits maximum atteignables en fonction des valeurs des fj (voir algorithme 14) et d'une projection des contributions fj de chaque machine

Mj sur le débit maximal atteignable correspondant fmaxj (voir algorithme 15). De même que

pour la méthode des projections successives, l'optimisation du vecteur solution F est stoppée lorsque ses variations ne sont plus signicatives. La méthode utilisant le principe du Lasso est alors répétée tant que la diérence entre deux valeurs successives de F reste supérieure à un certain seuil ε : |F − Fprec| > ε.

Algorithme 17: Algorithme de résolution utilisant la technique du Lasso

Données :

T : horizon de décision

l : numéro d'itération pour l'optimisation de la solution F w: vecteur de pondération de la pénalisation `1

Entrées :

fmaxj(t): débit maximal atteignable à chaque temps t, pour chaque machine Mj

aj : vitesse de décroissance du débit maximal fmaxj(t)

σ(t): prol de demande

ITlasso : nombre d'itérations de la méthode de l'Adaptive Lasso λ: coecient de la pénalisation `1 de la méthode du Lasso

ε: valeur de seuil pour la condition d'arrêt du processus de résolution µ, υ : coecients d'approximation convexe de l'évolution de fmax Sorties :

F = [f1(t), f2(t), . . . , fj(t), . . . , fm(t)]: ordonnancement dénissant les contributions de chaque

machine Mj pour chaque temps t avec 0 6 t 6 T

K : horizon de production atteint par l'ordonnancement F l ← 0

fj(l)(t) ← 0 ∀ 1 6 j 6 m, ∀ 0 6 t 6 T

// Première application du Lasso classique : F(l+1)← argmin F(l) 12 T P t=0  σ(t) − m P j=1 fj(l)(t) 2 + λ m P j=1 fj(l)(t) ! ∀ 0 6 t 6 T l ← l + 1 répéter Fprec← F(l)

// Application de l'Adaptive Lasso : pour itlasso = 1 à ITlasso faire

w ← mise à jour des pondérations de la pénalisation `1

F(l+1)← argminF(l) 12 T P t=0  σ(t) − m P j=1 fj(l)(t) 2 + λ T P t=0 m P j=1 wj(t)f (l) j (t) ! l ← l + 1

// Projections sur les contraintes :

fmax ← MAJfmax(F(l),fmax, a, µ, υ)(voir algorithme 14)

F(l+1)projfmax(F(l),fmax)(voir algorithme 15)

l ← l + 1

jusqu'à |F(l)− Fprec| < ε

K ←horizon de production de la solution F(l)

126 Chapitre 6. Prols continus - approche globale