Ich habe M Intervalle auf der realen Linie, jeweils mit einem positiven Gewicht. Ich muss N unter ihnen so auswählen, dass sie sich nicht überschneiden und die maximale Summe geben. Wie kann ich das effizient machen?Optimierung der Gesamtsumme der gewichteten Intervalle
Wenn es keine Teilmenge von N nicht überlappenden Intervallen gibt, gibt es keine Lösung.
Ohne die Non-Overlap-Einschränkung ist die Frage trivial: Wählen Sie die N größten Gewichte. Aufgrund der Einschränkung funktioniert dies nicht mehr. In meinem Fall sind N und M klein (< 20), aber ich hoffe, dass es eine effizientere Lösung gibt, als alle Teilmengen erschöpfend auszuprobieren.
@PatrickTrentin: Neben der Tatsache, dass ich ein fehlt die erforderlichen Werkzeuge und Fähigkeiten, wird das für die rechnerische Effizienz der Lösung sorgen? –
@PatrickTrentin: Optimieren diese Tools die Rechenkomplexität? Und bauen sie überhaupt Algorithmen? Nach Paul Hankin gibt es sicherlich eine polynomiale Lösung. –
"Wenn Sie einen speziellen Algorithmus haben, um Ihr Problem zu lösen, gehen Sie darauf": Ich bitte um einen. Meiner Meinung nach wäre * SMT * ein Vorschlaghammer für * Miss * Fliegen hier. –