• Aucun résultat trouvé

1.4 Algorithmes de Branch-and-Bound par Intervalles : IBBA

1.4.2 Technique de type Branch-and-Bound

Les algorithmes bien connus sous le nom de Branch-and-Bound (ou Séparation-Évaluation) sont basés sur des principes de dichotomies et d’exclusion. Ainsi, ces algorithmes essaient à chaque étape d’éliminer des parties du domaine initial où la solution est recherchée.

L’idée principale est de découper le domaine initial X ⊆ IRnr× INne× Qnc

i=1Ki× Bnben

pavés plus petits Z ⊆ X et d’éliminer les pavés Z, si et seulement si, il est prouvé que le pavé Z ne contient pas l’optimum global. Pour effectuer ces éliminations, seuls les calculs des bornes inférieures et supérieures d’une fonction considérée sur un pavé sont nécessaires ; ils sont notées bi(f, Z) pour la borne inférieure de f sur Z et bs(f, Z) pour la borne supérieure. Ces bornes sont calculées en utilisant l’analyse des intervalles [Moo66].

En considérant la notation ˜f qui représentera la solution courante dans l’algorithme (en fait, c’est juste la meilleure évaluation de f à cette étape de l’algorithme telle que les contraintes

soient satisfaites), on a :

1. Aucune solution globale n’est dans Z, si bi(f, Z) > ˜f, une borne inférieure de f sur Z est plus grande qu’une solution déjà trouvée ˜f alors aucun point de Z ne peut être solution du problème considéré (réciproquement si l’on considère un problème de maximisation, on regardera si bs(f, Z) < ˜f),

2. Aucune solution est dans Z, si il existe un k tel que bs(gk, Z) > 0, ou si il existe un k tel que bi(hk, Z) > 0 ou bs(hk, Z) < 0 (dans ce dernier cas, une petite valeur réelle doit être introduite car les contraintes égalités ne peuvent être numériquement vérifiées qu’à  près, ceci est dû aux approximations des calculs et des représentations des nombres réels par des nombres à virgule flottante).

Ceci implique que les encadrements précis de l’optimum et de toutes les solutions sont attendus à la fin de ce type d’algorithme. En effet, à chaque étape de l’algorithme, on a les propriétés suivantes pour tous les pavés restants à considérer, soit Z ⊆ X un tel pavé :

1. bi(f, Z) ≤ ˜f,

2. Il est impossible de prouver qu’il existe au moins une contrainte qui n’est pas satisfaite dans Z.

Comme l’algorithme s’arrête quand le minimum global est suffisamment précis, inférieur à un  fixé, une solution −globale est atteinte (cad à  près) : ˜y correspondant à ˜f. Cependant, une solution meilleure peut exister dans des éléments restants de la listeL à la fin de l’algorithme. Seulement, même dans le meilleur des cas cette solution ne pourra pas être inférieure à ˜f− . Ainsi, en fixant correctement la valeur de , la solution obtenue par l’utilisation de l’algorithme précédent, soit(˜y, ˜f), sera suffisamment intéressante et pourra être considérée comme la solution globale de notre problème de conception ; plus précisément une solution −globale du problème considéré, car : ∀y ∈ [ (z,Z)∈L Z, f(y) ≥ f(˜y) −  = ˜f− , où [ (z,Z)∈L

Z est l’union de tous les pavés restants dans la listeL à la fin de l’exécution de l’algo- rithme de Branch-and-Bound. En considérant les problèmes applicatifs de cette thèse, seulement 3 à 5 chiffres de précision sont généralement nécessaires pour les dimensions des actionneurs. Ceci fixera les précisions désirées.

Si nous sommes intéressés par le calcul de toutes les solutions correspondant à la valeur du minimum −global trouvé, soit ˜f, le test d’arrêt devra être remplacé par le suivant :

˜f− min

(z,Z)∈Lz <  et∀Z ∈ L, z U

i − ziL≤ 0i,∀i.

Les valeurs 0i doivent être fixées par le concepteur, elles correspondent à la précision sou- haitée pour toutes les variables ; des valeurs distinctes 0idoivent être considérées parce que les problèmes de conception considérés ne sont pas en général homogènes ; i.e. les grandeurs des variables peuvent être très différentes comme par exemple la densité de courant (de l’ordre de 106) comparé à l’épaisseur des aimants (de l’ordre de103pour un moteur de10 N·m). Pour les

variables discrètes (i.e. entières, booléennes ou de catégorie) la valeur des 0i sera fixée à0 (par convention dans IBBA). Donc, à la fin de l’algorithme, la valeur du minimum −global sera ˜f

1.4. Algorithmes de Branch-and-Bound par Intervalles : IBBA 23 Algorithme 1 IBBA

1: Poser X ←− le domaine initial dans lequel le minimum global est cherché, {X ⊆ IRnr × INne × Qnc

i=1Ki× Bnb}.

2: Poser ˜f←− +∞. 3: PoserL ←− (+∞, X).

4: Extraire deL l’élément dont la borne inférieure est la plus petite. 5: Découpé le pavé considéré suivant une direction, cela donne V1, V2. 6: Pour j := 1 à 2 Faire

7: Calculer vj ←− bi(f, Vj) (une borne inférieure de f sur Vj).

8: Calculer toutes les bornes inférieures et supérieures de toutes les contraintes sur Vj; des étapes de déductions utilisant les contraintes permettent de réduire Vj, [Mes97, Mes04].

9: Si ˜f≥ vjet aucune contrainte n’est violée Alors 10: Insérer(vj, Vj) dans L.

11: Poser ˜f←− min(˜f, f(m)), où m est le centre de Vj, si et seulement si m satisfait toutes les contraintes.

12: Si ˜f a été modifié Alors

13: Éliminer deL tous les pavés (z, Z) tels que z > ˜f et poser ˜x ←− m. 14: Fin Si

15: Fin Si 16: Fin Pour 17: Si (˜f− min

(z,Z)∈Lz <  (où z = bi(f, Z))) Alors

18: STOP 19: Sinon

20: Revenir à l’étape 4 21: Fin Si

et tous les pavés Z restants dans la listeL seront suffisamment petits (en prenant en compte la précision fixée pour toutes les variables).

Ces pavés Z auront la propriété suivante : bi(f, Z) ∈ [˜f − , ˜f]. Ainsi, toutes les solutions seront dans l’union des pavés Z restants dans la liste L. Il est toujours possible que pour un tel pavé optimal Z, on ne puisse toujours pas prouver qu’une contrainte est satisfaite ou non, et donc, on ne pourra pas savoir dans ce cas si la solution −globale appartient à ce pavé Z ou non. Cependant, en considérant des applications telles que celles issues de la conception optimale d’actionneur, pour chaque pavé Z suffisamment précis, on ne considérera qu’une seule solution possible en tronquant les décimales des composantes de Z à partir du moment où les décimales des bornes inférieures et supérieures ne coïncident plus ; par exemple, considérons le diamètre d’un moteur D ∈ [0, 13852; 0, 13858] correspondant à une précision souhaitée de l’ordre de 0, 0001 , on prendra la valeur réelle 0, 1385 m. Ainsi, seulement une solution pour le pavé Z de L sera considérée et dans ce cas on déterminera aisément si les contraintes sont satisfaites ou pas et si la solution correspondante est toujours dans l’intervalle[˜f− , ˜f].

En conséquence, l’ensemble de toutes les solutions intéressantes correspondant au minimum −global ˜f pourra être déterminé.