operations_research/OR_HTML_04/Notebooks_04
Repository files (latest commit first)
Filename Latest commit message Latest commit date
dschlueter 5c49725d5c Notebook-Uebersichtsseite - das fehlende Gegenstueck zu programme.html
Der 403 auf /OR/Notebooks_04/ hatte eine andere Ursache als vermutet: Beim
Eintragen der Website-Adresse ins README hatte ich in der Lesen-Tabelle das
VERZEICHNIS verlinkt. Keine Seite der Website tut das - die Kapitelseiten
zeigen direkt auf Notebooks_04/<name>.ipynb, und das funktioniert. Der
Webserver verweigert Directory-Listing, zu Recht.

Die Frage "gibt es so etwas nicht schon?" war aber berechtigt und hat die
eigentliche Luecke sichtbar gemacht: baue_programme_seite() erzeugt seit
jeher programme.html, eine gestaltete Uebersicht der 76 Programme. Fuer die
25 Notebooks gab es kein Gegenstueck - sie wurden ausgeliefert, aber keine
Seite listete sie.

Neu ist baue_notebooks_seite(), nach demselben Muster und mit denselben
Bausteinen: die Zuordnung Seite -> Notebook kommt fertig aus
baue_notebooks(), Rahmen und Navigation aus baue_seiten_schablone() und
baue_sidebar_html(). Gruppiert nach Vorspann, Kapiteln und Anhaengen; der
einleitende Absatz nennt die drei Wege, ein Notebook auszufuehren.

Dazu ein ZIP mit allen 25 Notebooks (208 KB), byteidentisch ueber zwei
Laeufe. Ein ZIP speichert je Eintrag die Aenderungszeit; ohne festen Wert
entstuende bei jedem Bau eine andere Datei, und da OR_HTML_04/ versioniert
ist, wuechse das Repository bei jedem Lauf. Die Eintraege werden deshalb
sortiert und mit ZipInfo(date_time=(1980,1,1,0,0,0)) geschrieben - dieselbe
Sorgfalt wie svg.hashsalt bei den Diagrammen.

Gegen kuenftige 403 schreiben spiegle_notebooks() und baue_programme_seite()
je eine dreizeilige index.html mit meta refresh in ihr Downloadverzeichnis.
Das behebt zugleich denselben latenten Fall bei programme/.

Ein eigener Fehler, zum zweiten Mal derselbe: Das .replace(",", ".") fuer
deutsche Tausenderpunkte hing am Ende eines mehrzeiligen f-Strings - und in
Python bindet die Methode an die GESAMTE zusammengesetzte Zeichenkette. Aus
"Drei Wege, sie auszufuehren" wurde "Drei Wege. sie auszufuehren". Exakt der
Fehler, vor dem ich in erzeuge_wirkung.py selbst einen Kommentar hinterlassen
hatte. Die Zahl wird jetzt getrennt formatiert.

Geprueft: 25 gelistete Notebooks, 0 tote Links auf der Seite, ZIP mit 25
Eintraegen und identischen Zeitstempeln, Seitenleisteneintrag auf allen 40
Seiten mit Seitenleiste, --check fehlerfrei, PDF unveraendert 759 Seiten.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-08 15:20:06 +02:00
..
anhang-fehlerdiagnose.ipynb Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
bruecke.ipynb Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
cpsat.ipynb Phase 6.3: Parallelitaet und Determinismus - gemessen statt behauptet 2026-09-08 11:19:53 +02:00
cvar.ipynb Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
dekomposition.ipynb Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
dynamische-programmierung.ipynb Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
einfuehrung.ipynb Aufgeraeumt: 33 PNG-Zweitfassungen, Bau-Ueberbleibsel, Ausgabepfade 2026-09-08 14:22:26 +02:00
finanzdaten.ipynb Sechster und siebter Fund: die letzten handgeschriebenen Nummern 2026-09-08 09:52:41 +02:00
fundament.ipynb Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
graphen.ipynb Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
handelsmaschine.ipynb Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
index.html Notebook-Uebersichtsseite - das fehlende Gegenstueck zu programme.html 2026-09-08 15:20:06 +02:00
lp.ipynb Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
markowitz.ipynb Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
mehrziel.ipynb Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
metaheuristiken.ipynb Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
milp.ipynb Phase 6.3: Parallelitaet und Determinismus - gemessen statt behauptet 2026-09-08 11:19:53 +02:00
modellierung.ipynb Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
oekosystem.ipynb Phase 8.2: Solver-Isolation ohne subprocess-Codestrings 2026-09-08 12:39:34 +02:00
praxisfallen.ipynb Phase 8.2: Solver-Isolation ohne subprocess-Codestrings 2026-09-08 12:39:34 +02:00
prognose.ipynb Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
qp-nlp.ipynb Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
supplychain.ipynb Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
testing.ipynb Phase 8.2: Solver-Isolation ohne subprocess-Codestrings 2026-09-08 12:39:34 +02:00
unsicherheit.ipynb Phase 6.1: Chance Constraints - die Zusage "mit 95 % Sicherheit" 2026-09-08 01:57:19 +02:00
vorwort.ipynb Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00