Optimierung mit dem Excel-Solver

In diesem Beitrag geht es um ein Thema aus dem wirtschaftswissenschaftlichen Fachgebiet des „Operation Research“, OR genannt. OR beschäftigt sich mit mathematischen Methoden, um betriebswirtschaftliche Probleme zu lösen, z.B. das Problem der Bestimmung von optimalen Losgrößen in der Produktion. Unter gewissen Bedingungen existieren Algorithmen zur Bestimmung von optimalen Lösungen; teilweise führen nur numerische Verfahren zum Ziel. Ein bekannter und relativ einfach verständlicher Algorithmus zur Lösung von linearen Optimierungsproblemen ist der Simplex-Algorithmus.

Hier soll es jedoch nicht um den Algorithmus selbst gehen, sondern um das Excel-Add-In namens „Solver“, in dem drei Methoden zur Lösung von Optimierungsmodellen implementiert sind und einfach angewandt werden können. Der Solver ist ein zugekauftes Modul der Firma Frontline Systems Inc.

Im Folgenden wird die Nutzung in Excel 2010 anhand eines Beispiels vorgestellt. Die verwendete Excel-Datei kann heruntergeladen werden (siehe ganz unten).
Um den Solver nutzen zu können, muß man ihn zunächst mal aktivieren. Dies geschieht über das Menü Datei / Optionen / Add-Ins.

Excel Solver: Add-In aktivieren

Ganz unten gibt es die Option „Verwalten / Excel-Add-Ins / Gehe zu“. Der Solver kann dann angehakt werden und wird dann in der Add-In-Liste erscheinen. Weiterhin wird ein Ribbon „Analyse“ mit einem Knopf „Solver“ im Menü „Daten“ erscheinen.

Das Beispiel

Excel Solver: Beispielmodell

Der Screenshot zeigt ein sehr simples Optimierungsbeispiel: eine Firma bzw. ein Bereich einer Firma stellt zwei Produkte A und B her. Die Produkte unterscheiden sich bzgl. des Deckungsbeitrags, den ein produziertes Stück liefert. Pro produziertem Stück von A wird ein DB (Gewinn) von 6 Einheiten erzielt, pro Stück von B werden 8 EUR erzielt. Hieraus würde sich ohne weitere Restriktionen ergeben, möglichst viele Produkte des Typs B herzustellen, da hierbei mehr Gewinn erzielt wird. Berücksichtigt man aber beispielsweise, daß das Produkt B eine von zwei Maschinen wesentlich stärker beansprucht als Produkt A, ist die Sache nicht mehr so klar. Im einzelnen soll es hier um zwei Maschinen gehen, die in unterschiedlicher Weise beansprucht werden, und deren Kapazitäten auf 300 Einheiten (Maschine 1) bzw. 110 Einheiten (Maschine 2) beschränkt sind.

Man kann nun verschiedene Lösungsvorschläge für die zu produzierenden Stückzahlen in das Excel-Sheet eintragen (C3 und C4) und sieht dann in Zeile 6, welcher Gewinn sich ergeben würde (die sogenannte Zielfunktion), und welche Kapazität der Maschinen beansprucht würde. Zeile 10 zeigt dann, ob die Lösung gültig ist, d.h. daß die Planung keine Kapazitätsüberschreitung verursachen würden. Im Arbeitsblatt „Manuell“ ist diese Logik auf einzelne Zeilen je Lösungsvorschlag komprimiert. Obere Schranken für die Lösung findet man schnell, so daß man recht einfach alle Lösungsmöglichkeiten aufzählen kann und die Zeile mit dem maximalen (gültigen) Gewinn sucht. Dieser manuelle Weg dient ausschließlich zur Beschäftigung mit dem Beispiel. Für die Nutzung des Solvers ist er nicht nötig – und im Normalfall sind die Probleme zu komplex, als daß man sie so einfach in Gänze darstellen (eine Zeile je möglicher Kombination) und lösen kann.

Der Solver

Der Aufruf des Solvers über das Menü Daten / Analyse bringt den folgenden Dialog:

Excel Solver: Add-In ausführen

Im Wesentlichen dient er dazu, das Modell, das man wie im Beispiel in einem Bereich eines Excel-Sheets unterbringt, für den Solver bekannt zu machen. Man sagt also dem Solver, welche Zelle die zu optimierende Größe enthält und ob diese maximiert (Gewwin) oder minimiert (Kosten) werden soll. Weiterhin wird ein Bereich angegeben, der die veränderbaren Parameter enthält, also z.B. die zu planenden Stückzahlen. Schließlich müssen die Nebenbedingungen, im Beispiel die Kapazitätsrestriktionen bekannt gemacht werden.

Der Klick auf „Lösen“ startet den Solver. Wenn dieser eine Lösung findet, wird diese präsentiert und auf Wunsch in das Arbeitsblatt übernommen.
Möglich ist auch, mit dem Solver durch Lösungsvorschläge zu iterieren.
Es gibt einige erweiterte Möglichkeiten, z.B. die Methodenauswahl, die Möglichkeit, Modelle zu Laden/Speichen (wobei dies automatisch mit dem Excel-Workbook geschieht), und es werden einige Reports zur Verfügung gestellt (Antwortbericht, Sensitivitätsanalyse, Grenzwertanalyse).

Die Beschreibung dieser Möglichkeiten sprengt den Rahmen dieses Beitrags. Er endet hier mit einer Darstellung der Zusammenhänge zwischen den Modell-Definitionen im Arbeitsblatt und den Angaben im Solver-Dialog.

Excel Solver: Konfiguration

Download: Das Beispiel-Arbeitsblatt (XLSX)