Grundlagen Operations Research
Grundlagen Operations Research
Details finden Sie im Syllabus und in den häufigen Fragen.
Die Klausur: 90 Minuten, 90 Punkte, dazu bis zu 8 Bonuspunkte. Auswertung eines früheren Wintersemesters:
Bonuspunkte zählen erst ab einer bestandenen Klausur (mind. 4,0).
Neu: Wir modellieren mit Julia
In dieser Veranstaltung lösen wir Optimierungsprobleme mit Julia, dem Paket JuMP und dem Solver HiGHS. Julia ersetzt GAMS vollständig und ist klausurrelevant.

Noch nie mit OpenOlat gearbeitet?
Wir laden Sie erst in den Kurs ein, nachdem Sie sich einmal angemeldet haben, bitte zeitnah:
Haase u. a. (2016)

Vlćek u. a. (2023)

Vlćek u. a. (2024)

Mickein u. a. (2022)
Gesellschaften
Zeitschriften (Auswahl)
Ein LOP besitzt eine lineare Zielfunktion und ausschließlich lineare Nebenbedingungen.
Allgemeine Form
Entscheidungsvariable, Zielkoeffizient, Parameter.
Ein Frachtführer bedient die Relation Hamburg–Kiel. Für eine Fahrt stehen noch 5 Palettenstellplätze zur Verfügung; die Zuladung darf 9 Tonnen nicht überschreiten. Über eine Frachtbörse erhält er zwei Auftragsangebote.
Fragestellung
Wie viele Paletten je Angebot maximieren seine Erlöse ()?
| Auftrag | Stückerlös | Paletten | Tonnen |
|---|---|---|---|
| 1 | 20 | 1 | 1 |
| 2 | 30 | 1 | 3 |
| LKW-Kapazität | 5 | 9 |
Gesucht: die erlösmaximale Übernahme an Aufträgen.
Idee
Bei zwei Entscheidungsvariablen können wir jede zulässige Lösung als Punkt in der Ebene zeichnen. Die Zielfunktion wird zu einer Geraden, die wir so weit wie möglich in Richtung besserer Werte verschieben.
Das gibt uns ein Gefühl dafür, warum die optimale Lösung an einer Ecke des zulässigen Bereichs liegt, bevor wir später rechnerisch (Simplex) vorgehen.
Entscheidungsvariablen
Wir geben einen Zielwert vor, z. B. :
Jeder Punkt liefert denselben Erlös.
Erhöhen wir den Zielwert auf :
Die Gerade wandert parallel nach rechts oben.
Je Abnahmemenge eine Palette, höchstens 5:
Grenzgerade :
Auftrag 1 wiegt 1 t, Auftrag 2 wiegt 3 t, höchstens 9 t:
Grenzgerade :
Beide Restriktionen gleichzeitig erfüllt (und ):
Die Schnittmenge bildet den konvexen Lösungsraum.
Frage: Wo in dieser Fläche liegt der beste Punkt?
Ergebnis
Der maximale Erlös beträgt 120 EUR.
Optimalwerte , :
Beide Restriktionen sind mit Gleichheit erfüllt. Das Optimum liegt im Schnittpunkt der beiden Grenzgeraden.
Eckpunktsatz (anschaulich)
Besitzt ein lineares Optimierungsproblem eine optimale Lösung, so wird sie stets in mindestens einem Eckpunkt des konvexen Lösungsraums angenommen.
Frage: Und bei einer Minimierung?
Dieselbe Idee: die Zielgerade wandert in die andere Richtung, bis sie den Bereich zuletzt berührt: wieder ein Eckpunkt.
Sinnvoll sind nur ganzzahlige Palettenmengen. Eigentlich müsste zusätzlich gefordert werden.
Das Optimum ist der Schnittpunkt der beiden bindenden Nebenbedingungen:
Dass dieser Schnittpunkt zufällig ganzzahlig ist, ist ein Glücksfall. Im Allgemeinen ist Ganzzahligkeit nicht garantiert (→ Vorlesung 08).
Freie Variablen
Darf eine Variable auch negativ sein, ersetzt man sie durch mit .
Frage: Wie wird aus einer Ungleichung eine Gleichung?
Wir ergänzen Schlupfvariablen :
Eine Schlupfvariable erfasst den nicht genutzten Rest einer Restriktion.
Lineares Optimierungsproblem
Gleichungssystem
Das Gleichungssystem ist die Grundlage des Simplex-Algorithmus (Vorlesung 02).
Dasselbe Problem, gelöst mit Julia, JuMP und HiGHS:
using JuMP, HiGHS
modell = Model(HiGHS.Optimizer)
set_silent(modell)
@variable(modell, X1 >= 0) # Abnahmemenge Auftrag 1
@variable(modell, X2 >= 0) # Abnahmemenge Auftrag 2
@objective(modell, Max, 20X1 + 30X2) # Umsatzerlöse in EUR
@constraint(modell, Paletten, X1 + X2 <= 5) # max. 5 Paletten
@constraint(modell, Gewicht, X1 + 3X2 <= 9) # max. 9 Tonnen
optimize!(modell)
println("F* = ", objective_value(modell),
" mit X1 = ", value(X1), ", X2 = ", value(X2))F* = 120.0 mit X1 = 3.0, X2 = 2.0
Die Zelle liefert die bereits grafisch bestimmte Lösung:
Optimale Lösung
So können Sie Ihre Handrechnungen jederzeit überprüfen, mehr dazu im Abschnitt Julia.
Vorlesung 01: Graphisches Lösen | Zur Webseite