Gegeben ein gerichteter Graph, wo jeder Vektor einen nicht-negativen Kosten hat und jeder Eckpunkt einen nicht-negativen Gewinn hat, wie finden Sie den überspannenden Unterbaum von die Grafik mit maximalem Gewinn? Ich möchte die Kosten auf ein bestimmtes Budget beschränken. Ich suche nach einem Approximationsalgorithmus für das Problem mit polynomieller Zeitkomplexität und dem theoretischen Approximationsfaktor.Approximationsalgorithmus für beschränkten maximalen überspannenden Unterbaum für gerichtete Graph
Approximationsalgorithmus für beschränkten maximalen überspannenden Unterbaum für gerichtete Graph
Antwort
einen Spanning Unterbaum
Ich gehe davon aus, dass Sie ein arborescence gemeint. Fixiere eine Wurzel u (oder versuche einfach alle Ecken für einen zusätzlichen Faktor von | V |). Für jeden Lichtbogen ein, lassen Sie x ein eine 0-1 Indikatorvariable für die Mitgliedschaft in der Arboreszenz sein. Für jeden Vertex v, lassen Sie y v gleich sein. Die offensichtliche ganzzahlige Programm
∑ v Gewinn (v) maximieren y v
∑ a Kosten (a) x a ≤ Budget
& forall; v ≠ u. &für alle; S & subseteq; V, U ∈ S, v ∉ S. y v ≤ ∑ a ∈ S × (V & setminus; S)x a
& forall; ein. x a ∈ {0, 1}
& forall; v. y v ∈ {0, 1}
Leider ist die Einstückigkeit Lücke unendliche. Nachdem ich das gleiche Problem mit einigen anderen Formulierungen hatte, vermute ich ziemlich stark, dass es keinen Approximationsalgorithmus mit einem “ vernünftigen ” Approximationsverhältnis gibt. Diese Problematik kombiniert die Buy-at-Bulk-Mechanik mit dem budgetierten Maximum-Coverage-Problem, wodurch die Grenzkosten für zusätzliche Coverage extrem günstig werden können, was zu einem Schwellwertverhalten führt, das einer Approximation entgegensteht .Ein Ausweg könnte darin bestehen, sich für eine bikriteriale Näherung zu entscheiden (d. H. Dem Approximationsalgorithmus ein größeres Budget geben).