Zum Forum springen
Benachrichtigungen
Alles löschen

Algorithmus zum einsortieren in Budgets

8 Beiträge
3 Benutzer
33 Reactions
869 Ansichten
swizz
Beigetreten: 02.03.2006
Oldschool Grinder

Hallo,

bei uns in der Schule wird einmal im Jahr eine Schulbuchbestellung durchgeführt. Dabei gibt es 4 Budgets aus denen die Bücher bezahlt werden. Eine Einschränkung ist, dass aus einem der 4 Budgets nur eine bestimmte Art von Büchern (Deutschbücher) bezahlt werden darf.

Ich mache es bisher so, dass ich mein Gesamtbudget berechne und danach dann die Bücher die ich kaufen will auswähle. Anschließend schiebe ich Posten per Hand so hin und her, dass in den einzelnen Budgets der nicht verbrauchte Betrag möglichst gering ist. Das dauert manchmal recht lange. Da ich das regelmäßig mache, habe ich überlegt, ob man das nicht irgendwie automatisieren kann.

Ich habe schon mal ein wenig gesucht und bin auf die Stichworte Rucksackproblem, Greedy-Algorithmus und dynamische Programmierung gestoßen. Ein konkreter Ansatz fehlt mir da leider.

Ich hätte dazu zwei Fragen
1) Gibt es dafür eine halbwegs einfache Lösung, dass man sowas als Laie hinbekommt? Oder ist das so komplex, dass ich da meine Zeit verschwende?
2) Falls es eine einfache Lösung gibt. Kann mir jemand einen Tipp geben, wie ich das hinbekomme?


Antwort
Zitat
7 Antworten
rmsds
Beigetreten: 29.08.2018
Legacy Member

Wenn Du excel hast, kannst du dafür den excel-Solver benutzen.

1. Oben waagerecht die Budgets.
2. Links senkrecht die Bücher und Preise.
3. Im Solver die Bedingungen angeben (für die Deutschbücher ein festes Budget).

Wie man das macht, hatte ich mal hier erklärt:

ExcelSolver


Antwort
Zitat
swizz Themenstarter
swizz
Beigetreten: 02.03.2006
Oldschool Grinder

Danke, das schau ich mir mal an. Mal gucken, ob das hinbekomme.


Antwort
Zitat
rmsds
Beigetreten: 29.08.2018
Legacy Member

Ja. Falls Du es nicht hinbekommst, sag nochmal Bescheid. Dann mach ich dir auch ein kleines 5 Minuten-Video.


Antwort
Zitat
rmsds
Beigetreten: 29.08.2018
Legacy Member

Ok, hier dann die Excel-Solver-Lösung für das swizz-Problem.


Antwort
Zitat
swizz Themenstarter
swizz
Beigetreten: 02.03.2006
Oldschool Grinder

Cool danke dir. Ich habe es nicht hinbekommen und es per Hand gemacht. Ich schau morgen male, ob ich deine Lösung reproduziert kriege.


Antwort
Zitat
Lyseroto
Beigetreten: 18.01.2007
Oldschool Grinder

@rmsds: danke für das Video! ich arbeite täglich mit Excel und kannte den Solver noch gar nicht :f_eek:

was mir als erstes in den Sinn kommt wäre folgendes: wenn ich nur eine Limitierung habe, nämlich dass nur mit budget 3 eine bestimmte Art von Büchern gekauft werden darf, könnte man dann nicht die anderen 3 budgets in einen Topf werfen? Mit den Restwerten der 3 "freien" budgets könnte man dann noch ein weiteres Buch kaufen.


Antwort
Zitat
rmsds
Beigetreten: 29.08.2018
Legacy Member

Wenn du nur mit einem Budget rechnen willst, ist der GRG-Algorithmus unbrauchbar. Dann solltest Du den Simplex-LP wählen und unter Optionen die Ganzzahloptimalität auf 0 setzen. Auch solltest Du unbedingt Mindest- und Höchstzahl der Bücher angeben. Dann erhältst Du absolut perfekte Ergebnisse.

Ich wusste nicht, ob OP die 3 Budgets einzeln abrechnen musste.

Gruß rmsds

Gelb = Budget, Grün = zu kaufende Bücher, Blau = Ergebnis

Spoiler


Antwort
Zitat
Teilen: