Excel Solver funktioniert nicht wie gewollt

FrazeColder

Lt. Commander
Registriert
Okt. 2013
Beiträge
1.718
Hallo zusammen,

ich habe ein einfaches Optimierungsproblem und würde dieses gerne mit dem Microsoft Solver lösen. Allerdings tut der Solver nicht das, was er soll.

Kurz zum Hintergrund: In der Aufgabenstellung ist das Bruttogehalt für das Jahr 2021, 2022 und 2023 gegeben. Es sollen nun Werbungskosten in Höhe von 17.000,00 € so verteilt werden, dass man möglichst viel von der Steuer wieder erstattet bekommt. Sprich, die Zahlungen müssen so über das Jahr verteilt werden, dass der Betrag der über die Steuer wiedererstattet werden kann möglichst hoch ist.

Hierfür habe ich mir nun mehrere Zeilen zusammengebaut.
1. Gehalt vorher: Ist die Summe des Bruttogehaltes in dem jeweiligen Jahr
2. Steuern vorher: Die Einkommenssteuer, die nach der Formel des BMF auf das Gehalt zu zahlen ist
3. Zahlungen: Die Summe der Zahlungen, die pro Jahr gezahlt werden soll (muss in Summe 17000 nach 3 Jahren ergeben)
4. Gehalt nachher: Ist der Betrag aus Gehalt Vorher des Jahres minus dem Betrag der Zahlung aus dem entsprechenden Jahr
5. Steuern nachher: Sind die Einkommenssteuern, die auf das Gehalt aus Zeile 4 anfallen (auch hier wieder nach der Formel des BMF)
6. Steuern gespart: Die Differenz zwischen was ich vorher an Steuern bezahlt (Zeile 2) habe und was ich nach Abzug der Werbungskosten bezahlen müsste (Zeile 5). Die Summe hiervon steht rechts daneben.

Die Summe aus der Zeile Steuern gespart soll nun mit dem Solver maximiert werden. Dies ist meine Zielvariable (F11). Meine Variablen sind die Zellen B6:D6. Die Nebenbedingung ist, dass die Summe der Zahlungen (F6) eben immer 17.000,00 € ergeben muss.

Der Solver rechnet auch, allerdings ist das Ergebnis falsch. Er teilt die Zahlungen einfach gleichmäßig auf alle 3 Jahre auf, sprich jeweils ein Drittel.

Meine Frage ist nun, wieso macht er das und wie kann ich den Solver dazu bekommen, die Summe der gesparten Steuern zu maximieren?

Hier die Excel: https://drive.google.com/file/d/1XtSWwmMaod8HPQyxdGc2ctrgO9xf3t9H/view?usp=sharing.

Viele Grüße und vielen Dank
 
2021 -> 3500 €
2022 -> 13500 €

Damit solltest du am meisten sparen
 
Dein Problem hat halt mehrere lokale Maxima.
Da hilft nur:
  • Anpassen der Zielfunktion
  • Anpassen der Nebenbedinungen (Bspw. Grenzwerte setzen, Kopplungen)
  • mehrfach optimieren und zwischen unterschiedlichen Optimierern hin und her wechseln
  • Einstellungen von den Optimierern verändern
 
Zuletzt bearbeitet:
Suxxess schrieb:
2021 -> 3500 €
2022 -> 13500 €

Damit solltest du am meisten sparen

Danke für die Antwort. Aber wie hast Du das ausgerechnet? Ich würde gerne den Solver funktionfähig bekommen, da ich noch andere Aufgaben damit lösen muss.
Ergänzung ()

Scientist schrieb:
Dein Problem hat halt mehrere lokale Maxima.
Da hilft nur:
  • Anpassen der Zielfunktion
  • Anpassen der Nebenbedinungen (Bspw. Grenzwerte setzen, Kopplungen)
  • mehrfach optimieren und zwischen unterschiedlichen Optimierern hin und her wechseln

Aber es muss doch trotzdem ein Ergebniss geben, welches das Maxiumum ist in der Summe, auch wenn es mehrere lokale Maxima gibt?
 
Ja, natuerlich gibt es ein globales Maximum.
Je nach Optimierer verrennen sie sich aber in lokale Maxima und stecken dann dort fest und kommen da nicht mehr weg.

Unterschiedliche Optimierer gehen unterschiedliche Wege und bleiben woanders hängen.
Wenn einer hängen bleibt, laeuft ein anderer von der selben Stelle vielleicht noch ein Stueck weiter und bleibt wieder woanders haengen, usw.

Der Weg haengt auch vom Startpunkt ab (siehe Einstellungen).
Und den Weg kannst du allgemein ueber die Bedingungen deines Zielwertes beeinflussen.
Idealerweise so, dass keine lokalen Maxima auftreten.

Bei komplexen Problemen wird meist auch gar nicht das globale Maximum gefunden.
Hier ist meist auch nur das Ziel, ein lokales Maximum zu finden, welche nah am globalen ist.

Bspw. mit EA finde ich ein Maximum von 6.026 € (0,89 €, 3.456,60 €, 13.540,66 €).
Das liegt uebrigens ueber dem von Suxxess (6.025 €).
 
  • Gefällt mir
Reaktionen: FrazeColder
Zurück
Oben