Je développerai la réponse de Yuval Filmus en fournissant une interprétation basée sur des problèmes d'optimisation multi-objectifs .
Optimisation et approximation à objectif unique
En informatique, nous étudions souvent les problèmes d'optimisation avec un seul objectif (par exemple, minimiser f ( x ) soumis à une certaine contrainte). Pour prouver, par exemple, l'exhaustivité de NP, il est courant de considérer le problème budgétaire correspondant . Par exemple, dans le problème de la clique maximale, l'objectif est de maximiser la cardinalité de la clique, et le problème budgétaire est le problème de décider s'il existe une clique de taille au moins k , où k est donné dans le cadre de l'entrée à le problème.
Lorsqu'il n'est pas possible de calculer efficacement une solution optimale, comme dans le cas du problème de clique maximale, nous recherchons un algorithme d'approximation , une fonction qui génère une solution dans un facteur multiplicatif d'une solution optimale. Vous pouvez également envisager un algorithme d'approximation pour le problème budgétaire, une fonction qui génère une solution qui satisfait f ( x ) ≥ ck dans le cas d'un problème de maximisation, où c est un nombre inférieur à un. Dans cette situation, la solution peut violer la contrainte dure f ( x ) ≥ k , mais la "gravité" de la violation est limitée par c .
Optimisation multi-objectif et approximation bi-critère
Dans certains cas, vous souhaiterez peut-être optimiser deux objectifs simultanément. Pour un exemple approximatif, je peux vouloir maximiser mes "revenus" tout en minimisant mes "coûts". Dans une telle situation, il n'y a pas de valeur optimale unique, car il y a un compromis entre les deux objectifs; pour plus d'informations, consultez l'article Wikipedia sur l'efficacité de Pareto .
Une façon de transformer un problème d'optimisation à deux objectifs en un problème d'optimisation à objectif unique (pour lequel nous pouvons raisonner sur la valeur optimale de la fonction objectif) est de considérer les deux problèmes de contrainte , un pour chaque objectif. Si le problème est de maximiser simultanément f ( x ) tout en minimisant g ( x ), le premier problème de contrainte est de minimiser g ( x ) soumis à la contrainte f ( x ) ≥ k , où k est donné dans le cadre de l'entrée de ce problème d'optimisation à objectif unique. Le deuxième problème de contrainte est défini de manière similaire.
Un algorithme d'approximation ( α , β ) - bicriteria pour le premier problème de contrainte est une fonction qui prend un paramètre de budget k en entrée et sort une solution x telle que
- f(x)≥αk ,
- g(x)≤βg(x∗) ,
où est une solution qui atteint la valeur optimale pour g . Un algorithme d'approximation à deux critères pour le deuxième problème de contrainte génère une solution telle quex∗
- f(x)≥αf(x∗) ,
- g(x)≤βℓ ,
En d'autres termes, l'algorithme d'approximation à deux critères est simultanément une approximation du problème budgétaire dans le premier objectif et du problème d'optimisation dans le deuxième objectif. (Cette définition a été adaptée de la page quatre de « Optimisation submodulaire avec couverture submodulaire et contraintes de sac à dos submodulaire », par Iyer et Bilmes, 2013.)
Les inégalités changent de direction lorsque les objectifs passent du maximum au minimum ou vice versa.