Approche de relaxation
Transcription
Approche de relaxation
Approche de relaxation Considérons le problème de programmation mathématique ( MP ) Min f ( x ) Sujet à fi ( x ) ≤ 0 i ∈ M = {1,… , m} x ∈ X ⊂ Rn où f , f1 ,… f m sont des fonctions à valeurs réelles. Étant donné un sous-ensemble d'indices L ⊂ M , la relaxation ( MPL ) du problème original est définie comme suit: ( MPL ) Min f ( x ) Sujet à fi ( x ) ≤ 0 i ∈ L x ∈ X ⊂ Rn . Ainsi, les contraintes fi ( x ) ≤ 0, i ∈ M − L sont éliminées. Étant donné un sous-ensemble d'indices L ⊂ M , la relaxation ( MPL ) du problème original est définie comme suit: ( MPL ) Min f ( x ) Sujet à fi ( x ) ≤ 0 i ∈ L x ∈ X ⊂ Rn . Ainsi, les contraintes fi ( x ) ≤ 0, i ∈ M − L sont éliminées. Hypothèse: Si une relaxation ( MPL ) est réalisable et bornée inférieurement, alors le minimum est atteint en un point x L . Procédure de rélaxation Initialisation. Soit f = −∞. Choisir un sous-ensemble L ⊂ M . Étape 1. Résoudre la relaxation ( MPL ) . Si ( MPL ) n'est pas réalisable, terminer la procédure puisque ( MP ) n'est pas réalisable lui non plus. Si ( MPL ) n'est pas bornée inférieurement, alors aller à l'étape 2. Sinon, soit x L une solution optimale de ( MPL ) ;aller à l'étape 3. Étape 2. Si toutes les contraintes fi ( x ) ≤ 0, i ∈ M − L, demeurent satisfaites alors que la valeur de ( MPL ) tend vers − ∞, alors terminer la procédure puisque le problème original ( MP ) n'est pas borné inférieurement. Initialisation. Soit f = −∞. Choisir un sous-ensemble L ⊂ M . Étape 1. Résoudre la relaxation ( MPL ) . Si ( MPL ) n'est pas réalisable, terminer la procédure puisque ( MP ) n'est pas réalisable lui non plus. Si ( MPL ) n'est pas bornée inférieurement, alors aller à l'étape 2. Sinon, soit x L une solution optimale de ( MPL ) ;aller à l'étape 3. Étape 2. Si toutes les contraintes fi ( x ) ≤ 0, i ∈ M − L, demeurent satisfaites alors que la valeur de ( MPL ) tend vers − ∞, alors terminer la procédure puisque le problème original ( MP ) n'est pas borné inférieurement. Sinon, soit V ⊂ M comportant l'indice d'au moins une contrainte i ∈ M − L qui devient positive lorsque la valeur de ( MPL ) tend vers − ∞. Remplacer L par L′ = L ∪ V , et reprendre l'étape 1. Étape 1. Résoudre la relaxation ( MPL ) . Sinon, soit x L une solution optimale de ( MPL ) ;aller à l'étape3. ( ) Étape 3. Si fi x L ≤ 0, pour tout i ∈ M − L, terminer la procédure car x L est une solution optimale de ( MP ) . Sinon, déterminer un sous-ensemble V ⊂ M comportant l'indice d'au moins une contrainte i où fi x L > 0. ( ) ( ) Etape 4. Remplacer L par L′ = L ∪ V , f par f x L , et reprendre l'étape 1. Théorème 1. (Convergence) La procédure de relaxation se termine en un nombre fini d'itérations. Preuve. Puisque l'ensemble d'indices M comporte un nombre fini d'éléments, alors il comporte un nombre fini de sous-ensembles différents. Maintenant, à chaque itération, le nouveau sous-ensemble L′ ⊂ M est obtenu en ajoutant au moins un indice au sous-ensemble actuel L. Ainsi, ce processus ne peut être répété qu'un nombre fini de fois avant que L′ devienne égal à M. □ En acceptant d'ajouter des hypothèses supplémentaires sur la convexité de X est des fonctions f , f1 ,… , f m , la procédure peut être modifiée pour réduire le nombre de contraintes dans la relaxation. Ceci nous permet de modifier la procédure comme suit. Procédure de rélaxation; cas convexe Initialisation. Soit f = −∞. Choisir un sous-ensemble L ⊂ M . Étape 1. Résoudre la relaxation ( MPL ) . Si ( MPL ) n'est pas réalisable, terminer la procédure puisque ( MP ) n'est pas réalisable lui non plus. Si ( MPL ) n'est pas bornée inférieurement, alors aller à l'étape 2. Sinon, soit x L une solution optimale de ( MPL ) ;aller à l'étape3. Étape 2. Si toutes les contraintes fi ( x ) ≤ 0, i ∈ M − L, demeurent satisfaites alors que la valeur de ( MPL ) tend vers − ∞, alors terminer la procédure puisque le problème original ( MP ) n'est pas borné inférieurement. Initialisation. Soit f = −∞. Choisir un sous-ensemble L ⊂ M . Étape 1. Résoudre la relaxation ( MPL ) . Si ( MPL ) n'est pas réalisable, terminer la procédure puisque ( MP ) n'est pas réalisable lui non plus. Si ( MPL ) n'est pas bornée inférieurement, alors aller à l'étape 2. Sinon, soit x L une solution optimale de ( MPL ) ;aller à l'étape 3′. Étape 2. Si toutes les contraintes fi ( x ) ≤ 0, i ∈ M − L, demeurent satisfaites alors que la valeur de ( MPL ) tend vers − ∞, alors terminer la procédure puisque le problème original ( MP ) n'est pas borné inférieurement. Sinon, soit V ⊂ M comportant l'indice d'au moins une contrainte i ∈ M − L qui devient positive lorsque la valeur de ( MPL ) tend vers − ∞. Remplacer L par L′ = L ∪ V , et reprendre l'étape 1. Étape 1. Résoudre la relaxation ( MPL ) . Sinon, soit x L une solution optimale de ( MPL ) ;aller à l'étape 3′. ( ) Étape 3′. Si fi x L ≤ 0, pour tout i ∈ M − L, terminer la procédure car x L est une solution optimale de ( MP ) . Sinon, déterminer un sous-ensemble V ⊂ M comportant l'indice d'au moins une contrainte i où fi x L > 0. Déterminer également le sous-ensemble d'indices suivant ( ) ( ) } { Etape 4′. Si f ( x ) = f , remplacer L par L′ = L ∪ V , D ⊂ i ∈ L : fi x L < 0 L et reprendre l'étape 1. ( ) ( ) Si f x L > f , remplacer L par L′ = L ∪ V − D, f par f x L ,et reprendre l'étape 1. Pour analyser la convergence de la procédure dans le cas convexe, nous introduisons d'abord les deux lemmes suivants. Lemme 2. Sous les hypothèses de convexité sur X et sur les fonctions f , f1 ,… , f m , la solution optimale x L est aussi optimale pour la relaxation définie avec le sous-ensemble d'indices Lɶ = L − D. Preuve. Par contradiction, supposons que xɶ est une solution optimale de la relaxation définie avec Lɶ = L − D, et que f ( xɶ ) < f ( x L ) . Considérons les points x (θ ) sur le segment de droite reliant xɶ et x L : x (θ ) = θ xɶ + (1 − θ ) x L , θ ∈ [ 0,1]. Puisque X est convexe, alors x (θ ) ∈ X pour tout θ ∈ [ 0,1] . Considérons les points x (θ ) sur le segment de droite reliant xɶ et x L : x (θ ) = θ xɶ + (1 − θ ) x L , θ ∈ [ 0,1]. Puisque X est convexe, alors x (θ ) ∈ X pour tout θ ∈ [ 0,1] . Également, puisque f i est convexe sur X pour tout i = 1,… , m, f i ( x (θ ) ) ≤ θ f i ( xɶ ) + (1 − θ ) f i ( x L ) , θ ∈ [ 0,1]. Alors, pour i ∈ L − D, fi ( xɶ ) ≤ 0 et fi ( x L ) ≤ 0, et par conséquent f i ( x (θ ) ) ≤ θ f i ( xɶ ) + (1 − θ ) f i ( x L ) ≤ 0, θ ∈ [ 0,1] . Maintenant, pour i ∈ D, f i ( x L ) < 0, et par conséquent si f i ( xɶ ) ≤ 0, alors f i ( x (θ ) ) ≤ θ fi ( xɶ ) + (1 − θ ) fi ( x L ) ≤ 0, θ ∈ [ 0,1] ; Également, puisque f i est convexe sur X pour tout i = 1,… , m, f i ( x (θ ) ) ≤ θ f i ( xɶ ) + (1 − θ ) f i ( x L ) , θ ∈ [ 0,1]. Alors, pour i ∈ L − D, fi ( xɶ ) ≤ 0 et fi ( x L ) ≤ 0, et par conséquent f i ( x (θ ) ) ≤ θ f i ( xɶ ) + (1 − θ ) f i ( x L ) ≤ 0, θ ∈ [ 0,1] . Maintenant, pour i ∈ D, f i ( x L ) < 0, et par conséquent si f i ( xɶ ) ≤ 0, alors f i ( x (θ ) ) ≤ θ f i ( xɶ ) + (1 − θ ) f i ( x L ) ≤ 0, θ ∈ [ 0,1] ; si f i ( xɶ ) > 0, alors f i ( x (θ ) ) ≤ θ fi ( xɶ ) + (1 − θ ) fi ( x L ) ≤ 0 ⇔ θ f i ( xɶ ) − fi ( x L ) ≤ − f i ( x L ) − fi ( x L ) ⇔θ ≤ ∈ ( 0,1) . L f i ( xɶ ) − fi ( x ) ( ) ( ) Maintenant, pour i ∈ D, f i ( x L ) < 0, et par conséquent si f i ( xɶ ) ≤ 0, alors f i ( x (θ ) ) ≤ θ f i ( xɶ ) + (1 − θ ) f i ( x L ) ≤ 0, θ ∈ [ 0,1] ; si f i ( xɶ ) > 0, alors f i ( x (θ ) ) ≤ θ f i ( xɶ ) + (1 − θ ) f i ( x L ) ≤ 0 ⇔ θ f i ( xɶ ) − f i ( x L ) ≤ − f i ( x L ) − fi ( x L ) ⇔θ ≤ ∈ ( 0,1) . L fi ( xɶ ) − f i ( x ) ( ) ( ) Par conséquent, si − fi ( x L ) ɶ ) > 0 , θ ≤ θɶ = Min : f x ( i L i∈D f i ( xɶ ) − f i ( x ) alors x (θ ) est une solution réalisable de ( MPL ) . ( ) Par conséquent, si − fi ( x L ) θ ≤ θɶ = Min : f i ( xɶ ) > 0 , L i∈D f i ( xɶ ) − f i ( x ) alors x (θ ) est une solution réalisable de ( MPL ) . ( ) Considérons une valeur 0<θ ≤ θɶ. Puisque f est convexe sur X , f x (θ ) ≤ θ f ( xɶ ) + (1 − θ ) f ( x L ) ( ) < θ f ( x L ) + (1 − θ ) f ( x L ) puisque θ >0 et que f ( xɶ ) < f ( x L ) et ainsi f x (θ ) < f ( x L ) , contredisant l'optimalité de □ ( x L ) pour la relaxation ( MPL ) . ( ) Lemme 3. f ( x L′ ) ≥ f ( x L ) (valeur optimale non décroissante). Preuve. Si L′ = L ∪ V , alors le domaine réalisable de la relaxation définie avec L′ est plus petit ou égal que celui de la relaxation définie avec L. Par conséquent, f ( x L′ ) ≥ f ( x L ) . Si L′ = L ∪ V − D, alors par le lemme 2, f ( x L − D ) = f ( x L ) . Ainsi le même argument que précédemment s'applique pour démontrer que f ( x L′ ) ≥ f ( x L ) . □ Théorème 4. (Convergence) La procédure de relaxation se termine en un nombre fini d'itérations. Preuve. Puisque M = {1,… , m} comporte un nombre fini d'éléments, alors il comporte un nombre fini de sous-ensembles différents. Aussi longtemps que les valeurs optimales des relaxations successives sont strictement croissantes, alors aucun sous-ensemble utilisé pour définir ces relaxations ne peut se répéter. De plus, lorsque f ( x L ) = f , aucune contrainte n'est relaxée et au moins une nouvelle est ajoutée pour définir la prochaine relaxation ( MPL′ ) . Par conséquent, la valeur de f ne peut demeurer constante que pour un nombre fini d'itérations avant que L′ = M . □