diff --git a/CLAUDE.md b/CLAUDE.md index 2660a64..9a74227 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -161,6 +161,12 @@ Im PDF steht stattdessen ein Hinweis auf die Website. Das Buch steht online auf , das Repository oeffentlich auf . +Die Website hat vier Übersichtsseiten: `index.html` (Landing), `programme.html`, +`notebooks.html` und `stichwortverzeichnis.html`. Die beiden Downloadverzeichnisse +`programme/` und `Notebooks_04/` bekommen je eine `index.html`, die auf ihre Übersicht +weiterleitet — sonst antwortet der Webserver mit 403, weil Directory-Listing abgeschaltet +ist. + **Nach jedem `--pdf --html` muss `OR_HTML_04/` neu auf den Webserver kopiert werden** — sonst laeuft die veroeffentlichte Fassung dem Repository hinterher. Woran man das merkt: Ein `curl -s https://jamulix.de/OR/lp.html | grep -c colab.research` muss **0** ergeben, und die diff --git a/OR_HTML_04/Notebooks_04.zip b/OR_HTML_04/Notebooks_04.zip new file mode 100644 index 0000000..c61c607 Binary files /dev/null and b/OR_HTML_04/Notebooks_04.zip differ diff --git a/OR_HTML_04/Notebooks_04/index.html b/OR_HTML_04/Notebooks_04/index.html new file mode 100644 index 0000000..86ec4c9 --- /dev/null +++ b/OR_HTML_04/Notebooks_04/index.html @@ -0,0 +1,4 @@ + + +Weiterleitung +

Weiter zur Übersicht.

diff --git a/OR_HTML_04/Operations_Research_mit_Python_Version_04.pdf b/OR_HTML_04/Operations_Research_mit_Python_Version_04.pdf index 98f119d..03afc5d 100644 Binary files a/OR_HTML_04/Operations_Research_mit_Python_Version_04.pdf and b/OR_HTML_04/Operations_Research_mit_Python_Version_04.pdf differ diff --git a/OR_HTML_04/anhang-fehlerdiagnose.html b/OR_HTML_04/anhang-fehlerdiagnose.html index 47a4ca9..96e312b 100644 --- a/OR_HTML_04/anhang-fehlerdiagnose.html +++ b/OR_HTML_04/anhang-fehlerdiagnose.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/anhang-glossar-literatur.html b/OR_HTML_04/anhang-glossar-literatur.html index 8ec842a..450aa13 100644 --- a/OR_HTML_04/anhang-glossar-literatur.html +++ b/OR_HTML_04/anhang-glossar-literatur.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/anhang-loesungen.html b/OR_HTML_04/anhang-loesungen.html index a1d76ce..56077cd 100644 --- a/OR_HTML_04/anhang-loesungen.html +++ b/OR_HTML_04/anhang-loesungen.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/anhang-modellierungsmuster.html b/OR_HTML_04/anhang-modellierungsmuster.html index 5c1fe95..ecb4675 100644 --- a/OR_HTML_04/anhang-modellierungsmuster.html +++ b/OR_HTML_04/anhang-modellierungsmuster.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/anhang-spickzettel.html b/OR_HTML_04/anhang-spickzettel.html index c57927e..68e1c96 100644 --- a/OR_HTML_04/anhang-spickzettel.html +++ b/OR_HTML_04/anhang-spickzettel.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/bruecke.html b/OR_HTML_04/bruecke.html index 909a935..5761b31 100644 --- a/OR_HTML_04/bruecke.html +++ b/OR_HTML_04/bruecke.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/cpsat.html b/OR_HTML_04/cpsat.html index 4f97ddf..1c94c64 100644 --- a/OR_HTML_04/cpsat.html +++ b/OR_HTML_04/cpsat.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/cvar.html b/OR_HTML_04/cvar.html index 7843c7b..604ce25 100644 --- a/OR_HTML_04/cvar.html +++ b/OR_HTML_04/cvar.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/dekomposition.html b/OR_HTML_04/dekomposition.html index c5e59af..dea376c 100644 --- a/OR_HTML_04/dekomposition.html +++ b/OR_HTML_04/dekomposition.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/dynamische-programmierung.html b/OR_HTML_04/dynamische-programmierung.html index 61231b5..e614af3 100644 --- a/OR_HTML_04/dynamische-programmierung.html +++ b/OR_HTML_04/dynamische-programmierung.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/einfuehrung.html b/OR_HTML_04/einfuehrung.html index 4e3583f..f62dd75 100644 --- a/OR_HTML_04/einfuehrung.html +++ b/OR_HTML_04/einfuehrung.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/finanzdaten.html b/OR_HTML_04/finanzdaten.html index 15c0fed..157b18a 100644 --- a/OR_HTML_04/finanzdaten.html +++ b/OR_HTML_04/finanzdaten.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/fundament.html b/OR_HTML_04/fundament.html index a238092..6e4c970 100644 --- a/OR_HTML_04/fundament.html +++ b/OR_HTML_04/fundament.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/graphen.html b/OR_HTML_04/graphen.html index a1acfef..514691c 100644 --- a/OR_HTML_04/graphen.html +++ b/OR_HTML_04/graphen.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/handelsmaschine.html b/OR_HTML_04/handelsmaschine.html index 3a70cb5..a694738 100644 --- a/OR_HTML_04/handelsmaschine.html +++ b/OR_HTML_04/handelsmaschine.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/index.html b/OR_HTML_04/index.html index 12bc292..87e491e 100644 --- a/OR_HTML_04/index.html +++ b/OR_HTML_04/index.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/lp.html b/OR_HTML_04/lp.html index 269eea6..236a392 100644 --- a/OR_HTML_04/lp.html +++ b/OR_HTML_04/lp.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/markowitz.html b/OR_HTML_04/markowitz.html index c8180f4..b8cc280 100644 --- a/OR_HTML_04/markowitz.html +++ b/OR_HTML_04/markowitz.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/mehrziel.html b/OR_HTML_04/mehrziel.html index ab79eda..30e6941 100644 --- a/OR_HTML_04/mehrziel.html +++ b/OR_HTML_04/mehrziel.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/metaheuristiken.html b/OR_HTML_04/metaheuristiken.html index 0ce41b7..cada582 100644 --- a/OR_HTML_04/metaheuristiken.html +++ b/OR_HTML_04/metaheuristiken.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/milp.html b/OR_HTML_04/milp.html index 1b96f59..464ff25 100644 --- a/OR_HTML_04/milp.html +++ b/OR_HTML_04/milp.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/modellierung.html b/OR_HTML_04/modellierung.html index fa34a06..ae89408 100644 --- a/OR_HTML_04/modellierung.html +++ b/OR_HTML_04/modellierung.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/notation.html b/OR_HTML_04/notation.html index 1994cca..d1c74d9 100644 --- a/OR_HTML_04/notation.html +++ b/OR_HTML_04/notation.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/notebooks.html b/OR_HTML_04/notebooks.html new file mode 100644 index 0000000..0787475 --- /dev/null +++ b/OR_HTML_04/notebooks.html @@ -0,0 +1,116 @@ + + + + + +Notebooks · Optimierte Entscheidungsfindung mit Python + + + + + + + + + + +
+ + +
+ + +
+

Notebooks

Zu jedem Kapitel gehört ein Jupyter-Notebook mit allen Codeblöcken in Lesereihenfolge — insgesamt 25. Drei Wege, sie auszuführen: in einer lokalen Jupyter-Installation öffnen, in Google Colab hochladen, oder mit dem Kurs-Image starten, das alle Solver mitbringt:

docker run --rm -p 127.0.0.1:8888:8888 or-mit-python

Alle 25 Notebooks als ZIP (208 KB)

Vorspann

Kapitel

Anhänge

+
+ + +
+
+ + + + + + diff --git a/OR_HTML_04/oekosystem.html b/OR_HTML_04/oekosystem.html index 124f6d9..b346716 100644 --- a/OR_HTML_04/oekosystem.html +++ b/OR_HTML_04/oekosystem.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/praxisfallen.html b/OR_HTML_04/praxisfallen.html index 365d9f4..00b770a 100644 --- a/OR_HTML_04/praxisfallen.html +++ b/OR_HTML_04/praxisfallen.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/prognose.html b/OR_HTML_04/prognose.html index 57cfc73..e2f01a2 100644 --- a/OR_HTML_04/prognose.html +++ b/OR_HTML_04/prognose.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/programme.html b/OR_HTML_04/programme.html index ece26a1..4087bd9 100644 --- a/OR_HTML_04/programme.html +++ b/OR_HTML_04/programme.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/programme/index.html b/OR_HTML_04/programme/index.html new file mode 100644 index 0000000..992bcf4 --- /dev/null +++ b/OR_HTML_04/programme/index.html @@ -0,0 +1,4 @@ + + +Weiterleitung +

Weiter zur Übersicht.

diff --git a/OR_HTML_04/projektwerkstatt.html b/OR_HTML_04/projektwerkstatt.html index 0b86d50..f40b055 100644 --- a/OR_HTML_04/projektwerkstatt.html +++ b/OR_HTML_04/projektwerkstatt.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/qp-nlp.html b/OR_HTML_04/qp-nlp.html index 6c55b48..faae301 100644 --- a/OR_HTML_04/qp-nlp.html +++ b/OR_HTML_04/qp-nlp.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/stichwortverzeichnis.html b/OR_HTML_04/stichwortverzeichnis.html index 24feda8..24f74a0 100644 --- a/OR_HTML_04/stichwortverzeichnis.html +++ b/OR_HTML_04/stichwortverzeichnis.html @@ -94,12 +94,12 @@
- +
-

Stichwortverzeichnis

219 Fachbegriffe. Ein Klick führt zum jeweiligen Kapitel/Abschnitt (statt einer im Web bedeutungslosen Seitenzahl wie im gedruckten Register).

A

Absolutbetrag (Modellierungsmuster)Anhang B: Katalog der Modellierungsmuster
Aktivierungsschalter (Modellierungsmuster)Anhang B: Katalog der Modellierungsmuster
AlternativoptimaAnhang E: Glossar und Literatur

B

Bedingte Kopplung (Konjunktion)Anhang B: Katalog der Modellierungsmuster

C

D

DualitätstheorieAnhang E: Glossar und Literatur

E

Entweder-Oder-BedingungAnhang B: Katalog der Modellierungsmuster

F

Falsche Dualwerte (Fehlerbild)Anhang C: Fehlerdiagnose-Handbuch

G

Gestaffelte Preise (stückweise linear)Anhang B: Katalog der Modellierungsmuster
Gini-KoeffizientProjektwerkstatt

H

Herfindahl-IndexProjektwerkstatt

I

IIS (Irreducible Infeasible Subset)Anhang C: Fehlerdiagnose-Handbuch
Implikation (Modellierungsmuster)Anhang B: Katalog der Modellierungsmuster
Importfehler (ortools und highspy)Anhang C: Fehlerdiagnose-Handbuch
Instabile Lösung (Fehlerbild)Anhang C: Fehlerdiagnose-Handbuch

J

K

Kanonische StandardformAnhang E: Glossar und Literatur
Kohärentes RisikomaßAnhang E: Glossar und Literatur

L

Lagrange-MultiplikatorAnhang E: Glossar und Literatur
Laufzeitexplosion (Fehlerbild)Anhang C: Fehlerdiagnose-Handbuch
Lineare Programmierung (LP)Anhang E: Glossar und Literatur

M

Maximum DrawdownAnhang E: Glossar und Literatur

N

Nichtlineare Programmierung (NLP)Anhang E: Glossar und Literatur

O

P

Positiv (semi-)definitAnhang E: Glossar und Literatur

Q

R

S

T

TransaktionskostenAnhang E: Glossar und Literatur

U

Umrüstkosten (Modellierungsmuster)Anhang B: Katalog der Modellierungsmuster
Unbounded (Fehlerbild)Anhang C: Fehlerdiagnose-Handbuch
UnsicherheitsmengeAnhang E: Glossar und Literatur
Unsinniges Ergebnis (Fehlerbild)Anhang C: Fehlerdiagnose-Handbuch

V

Vehicle Routing Problem (VRP)Anhang E: Glossar und Literatur
Verdächtig guter Backtest (Fehlerbild)Anhang C: Fehlerdiagnose-Handbuch
Vertauschte Spalten (Fehlerbild)Anhang C: Fehlerdiagnose-Handbuch

W

Weiche Grenze mit StrafkostenAnhang B: Katalog der Modellierungsmuster
Widersprüchliche Solver (Fehlerbild)Anhang C: Fehlerdiagnose-Handbuch
Wurzel-Zeit-RegelAnhang E: Glossar und Literatur

Z

Zuordnungsproblem (1:1)Anhang B: Katalog der Modellierungsmuster
Zwei-Phasen-Simplex-MethodeAnhang A: Lösungen zu allen Übungsaufgaben
+

Stichwortverzeichnis

219 Fachbegriffe. Ein Klick führt zum jeweiligen Kapitel/Abschnitt (statt einer im Web bedeutungslosen Seitenzahl wie im gedruckten Register).

A

Absolutbetrag (Modellierungsmuster)Anhang B: Katalog der Modellierungsmuster
Aktivierungsschalter (Modellierungsmuster)Anhang B: Katalog der Modellierungsmuster
AlternativoptimaAnhang E: Glossar und Literatur

B

Bedingte Kopplung (Konjunktion)Anhang B: Katalog der Modellierungsmuster

C

D

DualitätstheorieAnhang E: Glossar und Literatur

E

Entweder-Oder-BedingungAnhang B: Katalog der Modellierungsmuster

F

Falsche Dualwerte (Fehlerbild)Anhang C: Fehlerdiagnose-Handbuch

G

Gestaffelte Preise (stückweise linear)Anhang B: Katalog der Modellierungsmuster
Gini-KoeffizientProjektwerkstatt

H

Herfindahl-IndexProjektwerkstatt

I

IIS (Irreducible Infeasible Subset)Anhang C: Fehlerdiagnose-Handbuch
Implikation (Modellierungsmuster)Anhang B: Katalog der Modellierungsmuster
Importfehler (ortools und highspy)Anhang C: Fehlerdiagnose-Handbuch
Instabile Lösung (Fehlerbild)Anhang C: Fehlerdiagnose-Handbuch

J

K

Kanonische StandardformAnhang E: Glossar und Literatur
Kohärentes RisikomaßAnhang E: Glossar und Literatur

L

Lagrange-MultiplikatorAnhang E: Glossar und Literatur
Laufzeitexplosion (Fehlerbild)Anhang C: Fehlerdiagnose-Handbuch
Lineare Programmierung (LP)Anhang E: Glossar und Literatur

M

Maximum DrawdownAnhang E: Glossar und Literatur

N

Nichtlineare Programmierung (NLP)Anhang E: Glossar und Literatur

O

P

Positiv (semi-)definitAnhang E: Glossar und Literatur

Q

R

S

T

TransaktionskostenAnhang E: Glossar und Literatur

U

Umrüstkosten (Modellierungsmuster)Anhang B: Katalog der Modellierungsmuster
Unbounded (Fehlerbild)Anhang C: Fehlerdiagnose-Handbuch
UnsicherheitsmengeAnhang E: Glossar und Literatur
Unsinniges Ergebnis (Fehlerbild)Anhang C: Fehlerdiagnose-Handbuch

V

Vehicle Routing Problem (VRP)Anhang E: Glossar und Literatur
Verdächtig guter Backtest (Fehlerbild)Anhang C: Fehlerdiagnose-Handbuch
Vertauschte Spalten (Fehlerbild)Anhang C: Fehlerdiagnose-Handbuch

W

Weiche Grenze mit StrafkostenAnhang B: Katalog der Modellierungsmuster
Widersprüchliche Solver (Fehlerbild)Anhang C: Fehlerdiagnose-Handbuch
Wurzel-Zeit-RegelAnhang E: Glossar und Literatur

Z

Zuordnungsproblem (1:1)Anhang B: Katalog der Modellierungsmuster
Zwei-Phasen-Simplex-MethodeAnhang A: Lösungen zu allen Übungsaufgaben
diff --git a/OR_HTML_04/supplychain.html b/OR_HTML_04/supplychain.html index 2cab71e..d473fed 100644 --- a/OR_HTML_04/supplychain.html +++ b/OR_HTML_04/supplychain.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/synthese-anwendungen.html b/OR_HTML_04/synthese-anwendungen.html index 62679d4..a2fc60b 100644 --- a/OR_HTML_04/synthese-anwendungen.html +++ b/OR_HTML_04/synthese-anwendungen.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/synthese-grundlagen.html b/OR_HTML_04/synthese-grundlagen.html index 68b539a..c4e76c2 100644 --- a/OR_HTML_04/synthese-grundlagen.html +++ b/OR_HTML_04/synthese-grundlagen.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/synthese-kernverfahren.html b/OR_HTML_04/synthese-kernverfahren.html index 0b88707..990418d 100644 --- a/OR_HTML_04/synthese-kernverfahren.html +++ b/OR_HTML_04/synthese-kernverfahren.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/synthese-nichtlinear.html b/OR_HTML_04/synthese-nichtlinear.html index 3afef95..9b34839 100644 --- a/OR_HTML_04/synthese-nichtlinear.html +++ b/OR_HTML_04/synthese-nichtlinear.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/synthese-praxis.html b/OR_HTML_04/synthese-praxis.html index 04ed126..400b199 100644 --- a/OR_HTML_04/synthese-praxis.html +++ b/OR_HTML_04/synthese-praxis.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/testing.html b/OR_HTML_04/testing.html index 429280a..20c2a22 100644 --- a/OR_HTML_04/testing.html +++ b/OR_HTML_04/testing.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/unsicherheit.html b/OR_HTML_04/unsicherheit.html index bafb6d2..858c575 100644 --- a/OR_HTML_04/unsicherheit.html +++ b/OR_HTML_04/unsicherheit.html @@ -94,7 +94,7 @@
- +
diff --git a/OR_HTML_04/vorwort.html b/OR_HTML_04/vorwort.html index 0ff571c..ca40407 100644 --- a/OR_HTML_04/vorwort.html +++ b/OR_HTML_04/vorwort.html @@ -94,7 +94,7 @@
- +
diff --git a/Operations_Research_mit_Python_Version_04.pdf b/Operations_Research_mit_Python_Version_04.pdf index 98f119d..03afc5d 100644 Binary files a/Operations_Research_mit_Python_Version_04.pdf and b/Operations_Research_mit_Python_Version_04.pdf differ diff --git a/Operations_Research_mit_Python_Version_04/build_version_04.py b/Operations_Research_mit_Python_Version_04/build_version_04.py index 289bf28..4a1ae20 100644 --- a/Operations_Research_mit_Python_Version_04/build_version_04.py +++ b/Operations_Research_mit_Python_Version_04/build_version_04.py @@ -34,6 +34,7 @@ import os import re import subprocess import sys +import zipfile HIER = os.path.dirname(os.path.abspath(__file__)) BASIS = os.path.dirname(HIER) @@ -1541,6 +1542,7 @@ def baue_sidebar_html(struktur: list[dict], aktuelle_seite: str, pdf_verfuegbar: + "".join(teile_html) + '