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

Optimierungsmodell aufstellen

Nach dieser Lektion: Ich kann eine Entscheidung als Variablen, Zielfunktion und Nebenbedingungen aufschreiben.

Lektion, 60 Min.1 BefehlJupyterLab-Lab für Data Science: pandas, Matplotlib und scikit-learn im Browser

Wie viel soll die Bäckerei backen?

Operations Research, auf Deutsch Unternehmensforschung, übersetzt eine Entscheidung in ein Modell und sucht den besten erlaubten Plan. Damit entscheiden Firmen zum Beispiel, was sie bei knapper Ofenzeit backen.

Eine Bäckerei kann Brötchen und Brezeln backen. Ofen und Teig reichen aber nicht für alles. Sie lernen, diese Lage in drei Teilen aufzuschreiben.

Am Ende dieser Lektion

Notiz

Ich kann eine Entscheidung als Variablen, Zielfunktion und Nebenbedingungen aufschreiben.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
Entscheidungsvariableeine Zahl, die Sie frei wählen dürfenBleche Brötchen
Zielfunktiondie Rechnung, die einen Plan bewertetGewinn in Euro
Nebenbedingungeine Grenze, die ein Plan einhalten mussOfen: höchstens 4 Stunden
Zulässiger Planein Plan, der alle Grenzen einhält
Lineares Programmein Modell, in dem nur Summen von Vielfachen vorkommen

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

Eine Entscheidungsvariable ist, was Sie wählen

Zuerst fragen Sie: Was dürfen wir entscheiden? Jede solche Zahl ist eine Entscheidungsvariable. Die Bäckerei wählt x, die Zahl der Bleche Brötchen, und y, die Zahl der Bleche Brezeln.

Ein Plan ist ein Wert für jede Variable. Der Plan (2, 2) heißt: zwei Bleche Brötchen und zwei Bleche Brezeln.

Beispiel: was die Bäckerei weiß

Ein Blech BrötchenEin Blech BrezelnVorrat am Tag
Gewinn in Euro5030
Ofenzeit in Stunden114
Teig in Kilo216

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

Die Zielfunktion bewertet jeden Plan mit einer Zahl

Die Zielfunktion rechnet aus einem Plan eine Zahl aus, die Sie möglichst groß oder klein haben wollen. Hier ist es der Gewinn: 50 mal x plus 30 mal y.

Für den Plan (2, 2) ist das 50 mal 2 plus 30 mal 2, also 160 Euro. Die Zielfunktion sagt nur, wie gut ein Plan ist. Ob er erlaubt ist, sagen andere Regeln.

Einen Plan mit drei Werten prüfen

Befehl
docker exec jupyter python3 -c "x=3; y=1; print(x+y <= 4, 2*x+y <= 6, 50*x+30*y)"

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 Befehl prüft den Plan (3, 1)

Der Befehl oben prüft den Plan (3, 1) im Lab. Er schreibt drei Werte: ob der Ofen reicht, ob der Teig reicht und wie hoch der Gewinn wäre. Die Ausgabe ist True False 180: Der Ofen reicht, der Teig nicht, denn 2 mal 3 plus 1 sind 7 Kilo.

Nebenbedingungen sagen, was erlaubt ist

Eine Nebenbedingung ist eine Grenze in Form eines Vergleichs. Der Ofen: x plus y höchstens 4. Der Teig: 2 mal x plus y höchstens 6.

Dazu kommt, dass Bleche nie negativ sind: x und y sind mindestens 0. Ein Plan, der alle Grenzen einhält, heißt zulässig.

Einen Plan in Python bewerten

Code: python
# Ein Plan: 1 Blech Brötchen und 3 Bleche Brezeln.
bleche_broetchen = 1
bleche_brezeln = 3
ofen_stunden = bleche_broetchen * 1 + bleche_brezeln * 1
teig_kilo = bleche_broetchen * 2 + bleche_brezeln * 1
gewinn_euro = bleche_broetchen * 50 + bleche_brezeln * 30
print("Ofen:", ofen_stunden, "von 4 Stunden")
print("Teig:", teig_kilo, "von 6 Kilo")
print("Gewinn:", gewinn_euro, "Euro")
# Ändern Sie bleche_brezeln auf 4 und starten Sie erneut.
# Welche Grenze wird dann überschritten?

Ein häufiger Fehler

Warnung

Viele denken, ein zulässiger Plan sei schon der beste. Zulässig heißt nur: erlaubt. Der Plan (0, 0) ist zulässig und bringt 0 Euro. Der beste Plan ist der zulässige mit der besten Zielfunktion.

Linear heißt: nur Summen von Vielfachen

Ein lineares Programm hat eine Zielfunktion und Nebenbedingungen, die nur aus Summen von Vielfachen der Variablen bestehen. Es kommt kein x mal y und kein x hoch 2 vor.

Das passt, wenn zwei Bleche doppelt so viel Teig brauchen wie eines. Genau dann lässt sich das Modell sicher und schnell lösen.

Dasselbe Muster in drei Lagen

LageEntscheidungsvariablenZielNebenbedingung
BäckereiBleche je SorteGewinn möglichst großOfenzeit und Teig sind begrenzt
MensaplanPortionen je GerichtKosten möglichst kleinMindestens 60 Gramm Eiweiß je Mahlzeit
DienstplanPersonen je SchichtLohnkosten möglichst kleinIn jeder Schicht arbeiten mindestens drei Personen

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

Ü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.