Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Sensitivitätsanalyse und Schattenpreise

Nach dieser Lektion: Ich kann sagen, wie sich der beste Gewinn ändert, wenn ich einen Vorrat um eine Einheit erhöhe.

Lektion, 65 Min.3 BefehleJupyterLab-Lab für Data Science: pandas, Matplotlib und scikit-learn im Browser

Lohnt sich eine Stunde mehr Ofenzeit?

Die Sensitivitätsanalyse zeigt, wie sich der beste Plan ändert, wenn sich eine Grenze verschiebt. Der Schattenpreis sagt, wie viel Gewinn eine zusätzliche Einheit eines knappen Vorrats bringt.

Damit entscheidet die Bäckerei, ob ein zusätzlicher Ofenabend oder ein Sack Mehl mehr sein Geld wert ist.

Am Ende dieser Lektion

Notiz

Ich kann sagen, wie sich der beste Gewinn ändert, wenn ich einen Vorrat um eine Einheit erhöhe.

Schlüsselwörter

BegriffWas er bedeutet
Sensitivitätsanalysedie Frage, wie empfindlich die Lösung auf Änderungen reagiert
Schattenpreisder Mehrgewinn durch eine zusätzliche Einheit eines Vorrats
Bindende Grenzeeine Grenze, die im besten Plan ganz ausgenutzt wird
Reserveder Teil eines Vorrats, der im besten Plan übrig bleibt
Gültigkeitsbereichdie Spanne, in der ein Schattenpreis stimmt

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Eine bindende Grenze ist ganz ausgenutzt

Im besten Plan (2, 2) braucht die Bäckerei alle 4 Ofenstunden und alle 6 Kilo Teig. Diese beiden Grenzen sind bindend.

Dazu kommt eine dritte Grenze: Die Theke fasst höchstens 5 Bleche Brötchen. Der Plan nutzt nur 2 davon. Die übrigen 3 sind die Reserve, und die Grenze bindet nicht.

Beispiel: Verbrauch und Reserve im besten Plan

GrenzeVerbrauchVorratReserveBindend?
Ofen in Stunden440ja
Teig in Kilo660ja
Theke in Blechen Brötchen253nein

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Der Schattenpreis ist der Gewinn einer weiteren Einheit

Der Schattenpreis einer Grenze sagt, um wie viel der beste Gewinn steigt, wenn ihr Vorrat um eine Einheit wächst. Sie berechnen ihn, indem Sie das Modell einmal mit dem größeren Vorrat lösen.

Bei einer Grenze mit Reserve ist er 0: Mehr davon nützt nichts, weil schon etwas übrig ist.

Der Ofen läuft 5 statt 4 Stunden

Befehl
docker exec jupyter python3 -c "from scipy.optimize import linprog; r = linprog([-50, -30], A_ub=[[1, 1], [2, 1]], b_ub=[5, 6]); print(-r.fun)"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Der Teig reicht für 7 statt 6 Kilo

Befehl
docker exec jupyter python3 -c "from scipy.optimize import linprog; r = linprog([-50, -30], A_ub=[[1, 1], [2, 1]], b_ub=[4, 7]); print(-r.fun)"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Aus 160 Euro werden 170 und 180

Der beste Gewinn war 160 Euro. Mit 5 Ofenstunden sind es 170, die Stunde bringt also 10 Euro. Mit 7 Kilo Teig sind es 180, das Kilo bringt 20 Euro.

Ein Kilo Teig ist hier doppelt so viel wert wie eine Ofenstunde. Wer nur eines zukaufen kann, kauft Teig.

Alle drei Schattenpreise auf einmal lesen

Befehl
docker exec jupyter python3 -c "from scipy.optimize import linprog; r = linprog([-50, -30], A_ub=[[1, 1], [2, 1], [1, 0]], b_ub=[4, 6, 5]); print(-r.ineqlin.marginals)"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ein Schattenpreis gilt nur ein Stück weit

Der Schattenpreis stimmt nur, solange die beste Ecke dieselben Grenzen behält. Bei der Bäckerei gilt die 10 Euro je Ofenstunde zwischen 4 und 6 Stunden.

Danach reicht der Teig nicht mehr: Mehr Ofenzeit bringt nichts, denn der Teig ist dann die Bremse. Diese Spanne heißt Gültigkeitsbereich.

Beispiel: bester Gewinn bei wachsender Ofenzeit

Ofen in StundenBester Gewinn in EuroMehrgewinn gegenüber vorher
4160
517010
618010
71800

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Ein häufiger Fehler

Warnung

Viele denken, der Schattenpreis gelte für beliebig viele Einheiten. Er gilt nur im Gültigkeitsbereich. Wer 10 Stunden Ofenzeit zukauft, rechnet mit 100 Euro Mehrgewinn und bekommt 20.

Den Gewinn bei mehr Ofenzeit ausprobieren

Code: python
# Probieren statt Ecken: alle Pläne in Halbschritten.
def bester_gewinn(ofen_stunden):
    bester = 0
    for a in range(0, 25):
        for b in range(0, 25):
            x = a / 2
            y = b / 2
            if x + y <= ofen_stunden and 2 * x + y <= 6:
                gewinn = 50 * x + 30 * y
                if gewinn > bester:
                    bester = gewinn
    return bester

for ofen in [4, 5, 6, 7]:
    print("Ofen", ofen, "Stunden: Gewinn", bester_gewinn(ofen))
# Ändern Sie in der Bedingung die 6 des Teigs in 8 und starten Sie erneut.
# Ab welcher Ofenzeit steigt der Gewinn jetzt nicht mehr?

Über dieses Lab und seinen Quellcode: JupyterLab-Lab für Data Science: pandas, Matplotlib und scikit-learn im Browser

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.