Ich habe den Graphen wie Lukas zu einem euler'schen erweitert und dann für einen Eulerzyklus mittels DP die beste Möglichkeit ihn abzufahren ermittelt. Um den Graphen zu einen euler'schen zu erweitern, wollte ich die Summe der hinzugefügten Kanten minimieren, was ein matching-Problem ist. Leider habe ich das nicht mehr geschafft, weswegen ich einen effektiven (vermutlich optimalen) aber verteufelt ineffizienten Algorithmus habe.
Erweiterungen sind, dass man den Startpunkt und die Punkte (es können mehrere sein) an denen man nachladen kann frei wählen darf (der Startpunkt muss kein solcher sein).
Zudem kann man die Kapazität verändern, falls das eine erweiterung ist.
Maximilian J said:
Um den Graphen zu einen euler'schen zu erweitern, wollte ich die Summe der hinzugefügten Kanten minimieren, was ein matching-Problem ist. Leider habe ich das nicht mehr geschafft, weswegen ich einen effektiven (vermutlich optimalen) aber verteufelt ineffizienten Algorithmus habe.
Das ist interessant, ich hatte exakt dasselbe Problem wie du beim Erweitern :D. Habe mich schließlich dazu entschlossen, falls die Anzahl Knoten ungeraden Grads dies zulässt (<18), alle Möglichkeiten auszuprobieren und ansonsten Simulated Annealing verwendet.