Anzeige
Archiv - Navigation
1800to1804
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Rekursion - zusätzliche Bedingungen

Rekursion - zusätzliche Bedingungen
16.12.2020 15:16:35
Chris
Liebes Forum,
ich würde hier gerne einen alten Beitrag von mir aufgreifen auf den ich leider nicht mehr antworten kann.
Mir wurde damals vom User "onur" bereits sehr weitergeholfen. Die Liste von ihm hatte ich nun bis Mitte diesen Jahres in Nutzung. Nun sind weitere Anforderungen dazugekommen und ich brauche leider erneut Hilfe.
Kurz zur Ausgangssituation:
Es geht um die Kombination möglicher Verkäufe von Positionen mittels Rekursion, um ausgehend von einem negativen Kontostand mindestens auf den Betrag 0 zu kommen. Siehe hierzu gerne auch der alte Beitrag:
https://www.herber.de/forum/cgi-bin/callthread.pl?index=1603327#1603684
Nun sind hierzu noch Bedingungen hinzugekommen - in der Beispieldatei stehen in Spalte D "Kategorien". Über dem Losbutton will ich nun die maximale Anzahl an Verkäufen sowie für jede Kategorie auflisten, die das Rekursion-Schema ebenso übernehmen soll. Gut wäre es noch die Möglichkeit zu haben einen Ziel-Kontostand eingeben zu können statt dem 0-Wert auf den die Datei aktuell rechnet. Die neuen Zellen, die in der Berechnung aktuell noch nicht relevant sind habe ich mal bläulich hinterlegt. Wenn diese Zellen leer sind soll das Rekursion-Schema wie im bisherigen Stil durchrechnen.
Fein wäre es noch, wenn zwischen tabellarischer Auflistung, Bedingungen/Parametern und dem Bereich wo die Rekursion dann die Kombinationsmöglichkeiten auflistet jeweils eine Spalte frei wäre so wie im 2. Tab "Layout" zu sehen. Außerdem wäre die Kategorie vor dem Parameter Wert besser aufgehoben als dahinter, ebenso im 2. Tab zu sehen. Aber wir wollen ja nicht direkt übertreiben, das ist in der Tat nicht ganz so wichtig. :)
Wäre sehr dankbar für jede Hilfe!
Einblick in die Beispieldatei wie folgt hier:
https://www.herber.de/bbs/user/142368.xlsm
Beste Grüße und vielen Dank
Chris

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Rekursion - zusätzliche Bedingungen
16.12.2020 17:14:01
Yal
Hallo Chris,
ein Baum rekursiv durchzulaufen ist sicher sehr sexy, aber deine Fragestellung ist eine klassische Lineare Optimierung und lässt üblicherweise mit dem Solver lösen.
Nicht weil es schöner wäre(Onur liefert auf dem Punkt), sondern flexibler.
Solver einschalten: Datei, Optionen, Add-ins, Los..., Häckchen bei "Solver"
Dann lässt sich der ZielKontostand in N8 eintragen und Solver abrufen (unter Daten, ganz rechts). Anschliessend die Variable in Spalte A lesen.
Dies kann unter Makro gemacht werden, um alle Szenarien durchzulaufen.
https://www.herber.de/bbs/user/142376.xlsm
Viel Erfolg
Yal
Userbild
Anzeige
AW: Rekursion - zusätzliche Bedingungen
17.12.2020 10:46:05
Chris
Hallo Yal,
vielen Dank für deinen Input.
Das mit dem Solver wurde mir auch schon nahegelegt.
Ich muss sagen ich finde das aber leider nicht so einfach zu bedienen wie einfach auf einen Knopf drücken zu können. Ich will die User damit nicht "überfordern" und die meisten haben eben leider sehr wenig mit Excel am Hut.
Wenn es im bisherigen Schema über Makros nicht klappt muss ich mir eben einen anderen Weg, ggf. über den Solver, einfallen lassen. Aber wie bisher wäre es schöner.
Besten Dank schon mal und bleib Gesund
Chris
AW: Rekursion - zusätzliche Bedingungen
17.12.2020 11:04:53
Chris
Hallo Yal,
nochmal eine Antwort, sorry. Irgendwie komme ich mit dem Schema dieses Forums noch nicht so zurecht, ich übe mich in Besserung.
Falls es in meiner ursprüngliche Arbeitsmappe falsch rüberkam: Die erste Spalte Verkauf dient nicht als Bedingung. Ich weiß vorab nicht welche Positionen ich verkaufe, es stehen nur alle möglichen Positionen zum Verkauf. Das schöne am bisherigen Schema war, dass es mir dann alle möglichen Kombis an Verkäufen auflistet. Genau so wie aktuell nur eben ohne die Bedingungen. Jetzt wäre es mit Bedingungen noch klasse.
Leider funktioniert in deiner Mappe bei mir auch das Makro nicht. Oder ich stelle mich zu blöd an für Solver und Makro.
Liebe Grüße
Chris
Anzeige
AW: Rekursion - zusätzliche Bedingungen
17.12.2020 11:39:31
Yal
Hallo Chris,
Sorry, vielleicht war meine Erklärung nicht vollständig. In dem Datei habe ich es versäumt, das Makro zu löschen. Es war nur ein Test von mir.
Ich gehe davon aus, dass Dir das Wissen über den Solver fehlt:
In den Zellen A4:A11 sind die Eingabe, die den Solver ändern kann (Es gibt zwar gerade einen Zustand drin, wird vom Solver ignoriert). Es sind 9 Werte, die, wie ich es verstanden habe, 0 oder 1 sein dürfen ("x"). Es sind die Kombi 000 000 000 bis 111 111 111, also 2^9=512 Kombinationen. Der Solver geht diese durch, mit ein Paar Optimierung, sodass nicht alle durchgerechnet werden, und prüft die Einhaltung der Bedingungen. Es stoppt, wenn der Ziel der minimale Wert in K14 gefunden ist. Dann bleiben die entsprechende Eingangswert für diese Zielwert in A4:A11 stehen.
Das Makro hat (genauer gesagt: sollte) lediglich das Ziel, in Schleife:
_ der Bedingungswert Saldo in N8 zu setzen,
_ den Solver zu starten,
_ das Ergbnis zu lesen und auf diese Seite zu legen.
Also das Makro richtig zu stellen, ist die eigentliche Restaufgabe (neben Solver kennenlernen und verstehen).
Viel Erfolg
Yal
Anzeige
AW: Rekursion - zusätzliche Bedingungen
17.12.2020 11:44:53
Chris
Hallo Yal,
danke - das erklärt manches.
Ich versuche es zu verstehen und umzusetzen.
Habe ich aber richtig verstanden, dass der Solver dann "nur" die Kombi an Verkäufen auflistet, die den niedrigsten Wert ergeben? Es ist leider nicht immer nur der niedrigste Wert relevant sondern ggf. auch andere Kombis.
LG
Chris
AW: Rekursion - zusätzliche Bedingungen
17.12.2020 12:00:27
Yal
Hallo Chris,
Es ist ja eine der Grenze der Lineare Optimierung: gibt es zu einer minimalen Wert nur eine oder mehrere Kombinationen(pro gegebene Bedingung, versteht sich)? Der Solver gibt dazu keine Antwort. Aber der rekursive Baumdurchlauf auch nicht.
Zu der Aussage "Es ist leider nicht immer nur der niedrigste Wert relevant", verstehe ich:
ist es besser das Minimal zu erreichen, in dem ich 5 Verkäufe betätige, oder leicht über das Minimal mit nur 2 Verkäufe?
Es hängt an dem Datenmodell: wenn weniger Verkauf besser ist, weil Kosten pro Verkauf vorhanden sind, müsste eine Berechnung eingetragen werden, um die Verkaufskosten zu berücksichtigen.
Genau da wird die Lösung mit Solver sich bewahren: es ist flexibler.
VG
Yal
Anzeige
AW: Rekursion - zusätzliche Bedingungen
17.12.2020 15:33:09
Chris
Hi Yal,
kann dir noch nicht ganz folgen warum es flexibler sein soll (zwingend sein muss?).
Vllt. habe ich das auch noch nicht korrekt erklärt.
Soll natürlich nicht heißen, dass du Unrecht hast.
Hab mich mal selber mit der Unterstützung eines Kollegen probiert und finde die Datei im Anhang nun sehr flexibel:
https://www.herber.de/bbs/user/142403.xlsm
LG
Chris
AW: Rekursion - zusätzliche Bedingungen
17.12.2020 16:35:21
Yal
Hallo Chris,
wenn die Voraussetzung ist, alle Kombi die das Minima erfüllt, aufzulisten, dann kann der Solver das nicht. Daher ist deine bzw Onur's Lösung besser.
Bei stets wachsende oder sich ändernde Bedingungen (ist nur ein Verkauf pro Kategorie oder Produkt erweiterungsfähig?), kommt man immer wieder auf Werkzeuge, die mitgeliefert sind. Die sind meistens wartungsarmer als eigene Gewerk.
Übrigens, wenn in G10:G13 überall 2 eingebe, habe ich Kombi mit 4 verkäufe, Trotz max 3.
VG Yal
Anzeige
AW: Rekursion - zusätzliche Bedingungen
17.12.2020 17:17:49
Chris
Hallo Yal,
ich betrachte die Felder separat.
Max. 3 in Summe und je max. 2 pro Kategorie bedeutet dann eben max. 2 der einen Kategorie + 1 der anderen Kategorie oder andersherum. Oder weniger. Aber nicht beide zusammen, also 4.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige