Complexité du problème de couverture d'intervalle


17

Considérons le problèmeQ suivant Q : On nous donne un entier et k intervalles [ l i , r i ] avec 1 ≤ l i ≤ r i ≤ 2 n . On nous donne également 2 n entiers d 1 , … , d 2 n ≥ 0 . La tâche consiste à sélectionner un nombre minimum d'intervalles [ l i , r i ]nk[li,ri]1≤li≤ri≤2n2nd1,…,d2n≥0[li,ri]de telle sorte que pour chaque , au moins d i intervalles contenant l'entier i sont sélectionnés.i=1,…,2ndii

Il n'est pas difficile de voir que peut être résolu en temps polynomial (voir ci-dessous).Q

Considérons maintenant le problèmeQ′ légèrement modifié Q 'suivant : L'entrée du problème est la même que précédemment. Cependant, la tâche consiste maintenant à sélectionner un nombre minimum d'intervalles tel que pour chaque , au moins d 2 i - 1 intervalles contenant l'entier 2 i - 1 ou au moins d 2 i intervalles contenant l'entier 2 i sont sélectionnés (avec «ou» nous entendons le ou logique habituel).i=1,…,nd2i−12i−1d2i2i

Ma question: peut-il être résolu en temps polynomial?Q′

Voici deux façons de résoudre efficacement:Q

Un algorithme simple et gourmand: balayez les intervalles de gauche à droite et ne sélectionnez que le nombre d'intervalles nécessaire pour «satisfaire» les nombres . Chaque fois qu'il y a un choix entre différents intervalles, choisissez celui (s) avec le point final droit maximal.di

Un programme entier: pour chaque intervalle introduisez une variable de décision x i ∈ { 0 , 1 } avec x i = 1 si l'intervalle est sélectionné. L'objectif est de minimiser x 1 + … + x k , soumis aux contraintes ∑ j : i ∈ [ l j , r j ] x j ≥ d i[li,ri]xi∈{0,1}xi=1x1+…+xk∑j:i∈[lj,rj]xj≥di. La matrice de contraintes de ce programme entier a les propriétés consécutives et donc la relaxation de programmation linéaire de ce programme a une solution optimale entière.

Merci pour toutes les astuces, et aussi pour les références!

Réponses:


-1

Chaque instance de Q peut être transformée en une instance du problème de couverture de plusieurs ensembles, où les emplacements sont les intervalles , couvrant une séquence consécutive de points de demande (= entiers d i ).[li,ri]di


3
G=(V1,V2,E)V1V1V2
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.