Version 04 als eigenes Repository

Erster Commit des Strangs "Optimierte Entscheidungsfindung mit Python"
(Version 04). Die Historie der 71 Commits bis zur Trennung bleibt im
uebergeordneten Repository OR_mit_Python liegen, das ab jetzt nur noch
Version_03 (eingefroren) verwaltet und Version_04/ ignoriert.

Bewusst kein "git subtree split": Der Pfad Version_04/ existiert erst seit
der Verzeichnistrennung, ein Split braechte daher nur 7 der 41 einschlaegigen
Commits - eine Teilhistorie, die vollstaendig aussieht und es nicht ist.

Stand: 5 Teile, 23 Kapitel, 5 Anhaenge, 292 Abschnitte, 703 Querverweise,
325 Indexmarken, 73 Beispielprogramme, 32 SVGs, 4 Plotly-Figuren,
25 Notebooks, PDF mit 715 Seiten.

Zusaetzlich in diesem Commit:

* pyproject.toml mit Abhaengigkeitsgruppen finance, large-scale, api,
  figures, dev, empfehlungen. Die abgedruckte requirements.txt bleibt
  unveraendert daneben bestehen. ortools steht in der Grundausstattung,
  highspy erst in [large-scale] - so kann der HiGHS-Symbolkonflikt bei der
  schlanken Installation gar nicht erst auftreten.

* Dabei zwei Funde: graphviz wird von erzeuge_architektur_diagramme.py
  importiert, fehlt aber in requirements.txt (jetzt in [figures]); pymoo
  steht in requirements.txt, wird aber von keinem Programm importiert,
  sondern nur im Kapitel Metaheuristiken empfohlen (jetzt in
  [empfehlungen]).

* NEUER_TITEL.md nach Kritik_und_Verbesserungsvorschlaege/ verschoben - es
  ist die Vorlage des Titelblatts, kein Bestandteil des Werks. Die beiden
  Fundstellen in PROGRESS.md und erzeuge_titelseite.py nachgezogen.

* PROGRESS.md nannte noch den Untertitel der ersten Fassung; auf den
  tatsaechlichen aus erzeuge_titelseite.py korrigiert.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
dschlueter 2026-09-08 01:20:09 +02:00
commit b7af2f1d9a
468 changed files with 262141 additions and 0 deletions

View file

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 14.1.2 (20260126.1125)
-->
<!-- Title: d22 Pages: 1 -->
<svg width="359pt" height="248pt"
viewBox="7.00 7.00 352.00 241.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(11.2 236.51)">
<title>d22</title>
<!-- primal -->
<g id="node1" class="node">
<title>primal</title>
<path fill="#eef2ff" stroke="#4338ca" stroke-width="2" d="M302.3,-225.31C302.3,-225.31 34.12,-225.31 34.12,-225.31 28.12,-225.31 22.12,-219.31 22.12,-213.31 22.12,-213.31 22.12,-153.03 22.12,-153.03 22.12,-147.03 28.12,-141.03 34.12,-141.03 34.12,-141.03 302.3,-141.03 302.3,-141.03 308.3,-141.03 314.3,-147.03 314.3,-153.03 314.3,-153.03 314.3,-213.31 314.3,-213.31 314.3,-219.31 308.3,-225.31 302.3,-225.31"/>
<text xml:space="preserve" text-anchor="start" x="35.09" y="-205.32" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#4338ca">PRIMALES PROBLEM &#160;(Unternehmer)</text>
<text xml:space="preserve" text-anchor="start" x="35.09" y="-181.17" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Maximiere Gewinn aus Produkten</text>
<text xml:space="preserve" text-anchor="start" x="35.09" y="-171.17" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Zielfunktion: &#160;&#160;max &#160;cᵀx</text>
<text xml:space="preserve" text-anchor="start" x="35.09" y="-161.17" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Restriktionen: &#160;A x ≤ b</text>
<text xml:space="preserve" text-anchor="start" x="35.09" y="-151.17" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Variablen: &#160;x ≥ 0 &#160;(Produktionsmengen)</text>
</g>
<!-- dual -->
<g id="node2" class="node">
<title>dual</title>
<path fill="#ecfeff" stroke="#0891b2" stroke-width="2" d="M324.42,-84.28C324.42,-84.28 12,-84.28 12,-84.28 6,-84.28 0,-78.28 0,-72.28 0,-72.28 0,-12 0,-12 0,-6 6,0 12,0 12,0 324.42,0 324.42,0 330.42,0 336.42,-6 336.42,-12 336.42,-12 336.42,-72.28 336.42,-72.28 336.42,-78.28 330.42,-84.28 324.42,-84.28"/>
<text xml:space="preserve" text-anchor="start" x="12.96" y="-64.29" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#0891b2">DUALES PROBLEM &#160;(Ressourcen&#45;Bewerter)</text>
<text xml:space="preserve" text-anchor="start" x="12.96" y="-40.14" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Minimiere Bewertung der Ressourcen</text>
<text xml:space="preserve" text-anchor="start" x="12.96" y="-30.14" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Zielfunktion: &#160;&#160;min &#160;bᵀy</text>
<text xml:space="preserve" text-anchor="start" x="12.96" y="-20.14" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Restriktionen: &#160;Aᵀy ≥ c</text>
<text xml:space="preserve" text-anchor="start" x="12.96" y="-10.14" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Variablen: &#160;y ≥ 0 &#160;(Schattenpreise)</text>
</g>
<!-- primal&#45;&gt;dual -->
<g id="edge1" class="edge">
<title>primal&#45;&gt;dual</title>
<path fill="none" stroke="#7c3aed" stroke-width="2.4" d="M168.21,-127.45C168.21,-117.65 168.21,-107.44 168.21,-97.65"/>
<polygon fill="#7c3aed" stroke="#7c3aed" stroke-width="2.4" points="165.06,-127.45 168.21,-136.45 171.36,-127.45 165.06,-127.45"/>
<polygon fill="#7c3aed" stroke="#7c3aed" stroke-width="2.4" points="171.36,-97.72 168.21,-88.72 165.06,-97.72 171.36,-97.72"/>
<text xml:space="preserve" text-anchor="middle" x="193.71" y="-109.53" font-family="DejaVu Sans" font-size="10.00" fill="#7c3aed"> &#160;Dualität &#160;</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB