• Aucun résultat trouvé

Intégration du simplexe paramétrique et de la génération de colonnes

5.8 Diagramme de Gantt d’une solution dans RECIFE PC

6.4.1 Intégration du simplexe paramétrique et de la génération de colonnes

6.4.1.1 Interaction entre les algorithmes

La procédure de génération de colonnes peut être vue comme une généralisation du simplexe mono- objectif, en cela qu’elle est destinée à résoudre une formulation de PL en prenant en compte le coût réduit de variables non présentes initialement dans la formulation. Sa procédure est en outre composée d’exé- cutions successives du simplexe, visant à résoudre le PMR. Le simplexe paramétrique intègre quant à lui également une exécution du simplexe mono-objectif classique dans sa première phase. Ceci nous permet d’identifier les points d’interaction les plus évidents pouvant exister entre une procédure de génération de colonnes et la résolution paramétrique, qui peuvent donc être, au choix :

– chaque résolution du PMR au sein de la génération de colonnes peut être suivie d’une deuxième phase du simplexe paramétrique ;

– l’intégralité de la procédure de génération de colonnes peut être vue comme la première phase du simplexe paramétrique puisqu’elle permet la résolution à l’optimalité de la formulation restreinte à un objectif.

Il apparaît que la seconde approche est nettement plus cohérente. En effet, celle-ci permet, sans mod- ification, d’utiliser la génération de colonnes pour réaliser la première phase du simplexe paramétrique en fournissant la première solution efficace au problème biobjectif, à savoir la solution pour λ = 1. Toute- fois, dans la perspective d’obtenir l’ensemble des solutions efficaces, un certain nombre de difficultés additionnelles doivent être mises en lumière.

6.4.1.2 Difficultés anticipées

La génération de colonnes, bien que fournissant la solution optimale continue selon un objectif, s’achève avec une formulation incomplète, c’est-à-dire un sous-ensemble des variables du problème. Plus précisément, son utilisation signifie justement qu’il n’est pas souhaitable (ou pas possible) de prendre toutes les variables en compte au sein d’un algorithme de résolution.

La seconde phase du simplexe paramétrique nécessite le calcul du coût réduit de toutes les variables relativement aux deux objectifs. Classiquement, chaque opération de pivot réalisée pendant la seconde phase du simplexe paramétrique induit un recalcul de la totalité des coûts réduits des variables pour les deux objectifs. L’ensemble de ces coûts réduits est en outre nécessaire pour calculer les valeurs

successives du paramètre λ et sélectionner le prochain pivot à réaliser. Par extension, la connaissance de la totalité des coûts réduits selon les deux objectifs est donc indispensable à la détermination des solutions efficaces.

De ce fait, l’absence d’une grande partie des variables de la formulation, du fait de l’utilisation de la génération de colonnes comme première phase, est problématique pour la deuxième phase du simplexe paramétrique. Ceci peut être d’autant plus marqué dans le cas d’objectifs négativement corrélés, puisqu’il est alors probable que les variables générées lors de la première phase soient particulièrement peu pertinentes en regard du second objectif. Les solutions trouvées par la deuxième phase du simplexe paramétrique seront en conséquence efficaces pour le problème restreint aux variables générées, mais seront probablement dominées pour la formulation complète.

Ainsi, dans la perspective d’obtenir l’ensemble des solutions efficaces, il est nécessaire de calculer également le coût réduit selon les deux objectifs de l’ensemble des variables ne figurant pas dans la formulation à l’issue de la génération de colonnes. Ceci nécessite donc, de façon analogue à ce qui est réalisé dans le cadre de la génération de colonnes par la résolution du sous-problème, de calculer les coûts réduits des variables non encore présentes dans la formulation. Ceci revient donc à résoudre deux sous- problèmes à chaque itération de la seconde phase du simplexe paramétrique, à savoir un pour chaque objectif. Nous voyons donc ici que les performances de l’algorithme peuvent être aisément dégradées si au moins l’un des deux sous-problèmes est coûteux à résoudre en terme de temps de calcul.

Enfin, tout comme la génération de colonnes peut nécessiter un grand nombre d’itérations pour at- teindre la solution optimale, le simplexe paramétrique peut également nécessiter un grand nombre de pivots afin de trouver l’ensemble des solutions efficaces. Toutefois, si le nombre d’itérations dans une procédure de génération de colonnes peut être influencé par la qualité de la sélection des colonnes à chaque itération, la recherche de l’ensemble de toutes les solutions efficaces de la formulation biobjectif nécessite quant à elle dans tous les cas exactement une itération par solution efficace. Il n’y a de ce fait a prioripas de levier permettant de réduire le nombre d’itérations tout en recherchant l’ensemble des solutions efficaces.

Une piste à explorer afin de pallier à ce problème peut consister à sacrifier l’exactitude de l’ensemble des solutions efficaces en ne cherchant le nouveau pivot qu’au sein d’un sous-ensemble de toutes les variables :

– soit en n’effectuant la recherche qu’au sein des variables générées, ce qui peut toutefois laisser anticiper des résultats de qualité moyenne si les objectifs sont négativement corrélés, tel que nous l’avons expliqué au-dessus ;

– soit en limitant la recherche à un sous-ensemble de toutes les colonnes possibles, sans pour autant se cantonner à l’ensemble généré lors de la première phase.

Toutefois, selon la formulation, il peut être possible de profiter de sous-problèmes pouvant être résolus aisément de façon complète. Ceci dépend bien entendu de la structure de la formulation.

Il est donc nécessaire de s’intéresser au calcul des coûts réduits selon chacun des objectifs afin d’éval- uer la difficulté de résolution des sous-problèmes associés et leur impact sur l’ensemble du problème. En comparant leurs expressions respectives pour les deux formulations proposées, il est possible d’identifier les opportunités algorithmiques à mettre en place.