Rucksack- Knapsack- Optimierungsproblem
Also ich habe in Excel eine Auflistung von Fahrzeugen mit
zugehöriger Höchstgeschwindigkeit und Verkaufspreis. Jetzt
soll ich die 20 Fahrzeuge herausfiltern, die zusammen maximal
eine Millionen Euro kosten und gleichzeitig die Summe der
Höchstgeschwindigkeiten maximal wird. Wie stelle ich das am
besten an?
Hallo Bert,
aus großen mathematischen Defiziten heraus (außerdem war mir das zuviel Text *gg*) kann ich nicht beurteilen ob es sich um das Rucksackproblem wie Christoph sagt handelt.
Aber ich gehe stark davon aus.
Ich mutmaße mal o.W. der Excel-Solver bietet nicht die Leistungsfähigkeit um das Problem zu lösen also bleibt da wohl nur eine Lösung in C, VB o.ä.
Für Excel-VBA fand ich nichts. Aber für VB.Net fand ich eine Lösung:
http://www.activevb.de/tipps/vbnettipps/tipp0018.html
Mangels VB.Net geschweige denn Wissen darüber kann ich mit dem Code nix anfangen und ihn auch nicht beurteilen.
Du könntest deine Tabelle als txt-Datei abspeichern und hochladen mittels FAQ:2861
Wenn die Preise o.ä. vertraulich sind, so verändere sie. Wichtig ist daß die Aufgabe lösbar bleibt.
Dann klär das mit dem hiesigen Moderator ab, ob er deinen Artikel von hier ins .NET-Brett verschiebt. (Multiposting ist in W-w-w verboten)
Dort fragst du dann an ob dort jmd willens ist dir aus dem Code eine EXE zu kompilieren, die du dann mit Parametern selbst starten kannst.
Der Aufruf der exe könnte dann so aussehen:
rucksack.exe C:\Test\Tabelle.txt C:\Test\Ergebnis.txt 20 1000000
Mit den Parametern hast du Steuerungsmöglichkeiten für die exe.
Du teilst mit wo die Datei ist, wo das Ergebnis hin soll, wieviele Autos, welche Preissumme.
Das sind ja alles Dinge die mal wechseln können und du kannst ja IN der exe nix ändern deshalb via Parameter beeinflußen.
Um die exe dann so zu starten gibt es dann vielfältige Möglichkeiten, durch einen Klick auf einen Button in Excel, über eine Dos-Batch u.v.m.
Gruß
Reinhard