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>
BIN
OR_HTML_04/bilder_04/kap01_analytik_reifegrad.png
Normal file
|
After Width: | Height: | Size: 48 KiB |
48
OR_HTML_04/bilder_04/kap01_analytik_reifegrad.svg
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
<?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: d01 Pages: 1 -->
|
||||
<svg width="507pt" height="87pt"
|
||||
viewBox="7.00 7.00 500.00 79.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 75.48)">
|
||||
<title>d01</title>
|
||||
<!-- desk -->
|
||||
<g id="node1" class="node">
|
||||
<title>desk</title>
|
||||
<path fill="#eef2ff" stroke="#4338ca" stroke-width="2" d="M117.42,-64.28C117.42,-64.28 12,-64.28 12,-64.28 6,-64.28 0,-58.28 0,-52.28 0,-52.28 0,-12 0,-12 0,-6 6,0 12,0 12,0 117.42,0 117.42,0 123.42,0 129.42,-6 129.42,-12 129.42,-12 129.42,-52.28 129.42,-52.28 129.42,-58.28 123.42,-64.28 117.42,-64.28"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="21.96" y="-44.29" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#4338ca">DESKRIPTIV</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="12.96" y="-20.14" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Business Intelligence</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="12.96" y="-10.14" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">„Was ist passiert?“</text>
|
||||
</g>
|
||||
<!-- pred -->
|
||||
<g id="node2" class="node">
|
||||
<title>pred</title>
|
||||
<path fill="#ecfeff" stroke="#0891b2" stroke-width="2" d="M300.34,-64.28C300.34,-64.28 184.42,-64.28 184.42,-64.28 178.42,-64.28 172.42,-58.28 172.42,-52.28 172.42,-52.28 172.42,-12 172.42,-12 172.42,-6 178.42,0 184.42,0 184.42,0 300.34,0 300.34,0 306.34,0 312.34,-6 312.34,-12 312.34,-12 312.34,-52.28 312.34,-52.28 312.34,-58.28 306.34,-64.28 300.34,-64.28"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="203.75" y="-44.29" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#0891b2">PRÄDIKTIV</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="185.38" y="-20.14" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Data Science / ML</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="185.38" y="-10.14" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">„Was wird geschehen?“</text>
|
||||
</g>
|
||||
<!-- desk->pred -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>desk->pred</title>
|
||||
<path fill="none" stroke="#334155" stroke-width="2" d="M130.13,-32.14C139.73,-32.14 149.74,-32.14 159.65,-32.14"/>
|
||||
<polygon fill="#334155" stroke="#334155" stroke-width="2" points="159.62,-35.29 168.62,-32.14 159.62,-28.99 159.62,-35.29"/>
|
||||
</g>
|
||||
<!-- pres -->
|
||||
<g id="node3" class="node">
|
||||
<title>pres</title>
|
||||
<path fill="#7c3aed" stroke="#7c3aed" stroke-width="2" d="M472.76,-64.28C472.76,-64.28 367.34,-64.28 367.34,-64.28 361.34,-64.28 355.34,-58.28 355.34,-52.28 355.34,-52.28 355.34,-12 355.34,-12 355.34,-6 361.34,0 367.34,0 367.34,0 472.76,0 472.76,0 478.76,0 484.76,-6 484.76,-12 484.76,-12 484.76,-52.28 484.76,-52.28 484.76,-58.28 478.76,-64.28 472.76,-64.28"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="372.42" y="-44.29" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#ffffff">PRÄSKRIPTIV</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="368.3" y="-20.14" font-family="DejaVu Sans" font-size="10.00" fill="#ffffff">Operations Research</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="368.3" y="-10.14" font-family="DejaVu Sans" font-size="10.00" fill="#ffffff">„Was sollen wir tun?“</text>
|
||||
</g>
|
||||
<!-- pred->pres -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>pred->pres</title>
|
||||
<path fill="none" stroke="#334155" stroke-width="2" d="M313.31,-32.14C322.97,-32.14 332.93,-32.14 342.7,-32.14"/>
|
||||
<polygon fill="#334155" stroke="#334155" stroke-width="2" points="342.46,-35.29 351.46,-32.14 342.46,-28.99 342.46,-35.29"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.8 KiB |
BIN
OR_HTML_04/bilder_04/kap01_vier_bausteine.png
Normal file
|
After Width: | Height: | Size: 63 KiB |
58
OR_HTML_04/bilder_04/kap01_vier_bausteine.svg
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
<?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: d02 Pages: 1 -->
|
||||
<svg width="447pt" height="271pt"
|
||||
viewBox="7.00 7.00 439.00 264.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 260.04)">
|
||||
<title>d02</title>
|
||||
<!-- param -->
|
||||
<g id="node1" class="node">
|
||||
<title>param</title>
|
||||
<path fill="#fffbeb" stroke="#d97706" stroke-width="2" d="M292.54,-248.84C292.54,-248.84 128.62,-248.84 128.62,-248.84 122.62,-248.84 116.62,-242.84 116.62,-236.84 116.62,-236.84 116.62,-206.56 116.62,-206.56 116.62,-200.56 122.62,-194.56 128.62,-194.56 128.62,-194.56 292.54,-194.56 292.54,-194.56 298.54,-194.56 304.54,-200.56 304.54,-206.56 304.54,-206.56 304.54,-236.84 304.54,-236.84 304.54,-242.84 298.54,-248.84 292.54,-248.84"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="167.08" y="-228.85" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#d97706">PARAMETER</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="129.58" y="-204.7" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Konstanten, Daten, Preise, Limits</text>
|
||||
</g>
|
||||
<!-- var -->
|
||||
<g id="node2" class="node">
|
||||
<title>var</title>
|
||||
<path fill="#eef2ff" stroke="#4338ca" stroke-width="2" d="M314.29,-151.56C314.29,-151.56 106.88,-151.56 106.88,-151.56 100.88,-151.56 94.88,-145.56 94.88,-139.56 94.88,-139.56 94.88,-109.28 94.88,-109.28 94.88,-103.28 100.88,-97.28 106.88,-97.28 106.88,-97.28 314.29,-97.28 314.29,-97.28 320.29,-97.28 326.29,-103.28 326.29,-109.28 326.29,-109.28 326.29,-139.56 326.29,-139.56 326.29,-145.56 320.29,-151.56 314.29,-151.56"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="107.83" y="-131.57" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#4338ca">ENTSCHEIDUNGSVARIABLEN</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="107.83" y="-107.42" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">x₁, x₂, …, xₙ : Was wird gesteuert?</text>
|
||||
</g>
|
||||
<!-- param->var -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>param->var</title>
|
||||
<path fill="none" stroke="#334155" stroke-width="2" d="M210.58,-193.65C210.58,-184.6 210.58,-174.32 210.58,-164.53"/>
|
||||
<polygon fill="#334155" stroke="#334155" stroke-width="2" points="213.74,-164.56 210.59,-155.56 207.44,-164.56 213.74,-164.56"/>
|
||||
</g>
|
||||
<!-- ziel -->
|
||||
<g id="node3" class="node">
|
||||
<title>ziel</title>
|
||||
<path fill="#ecfdf5" stroke="#059669" stroke-width="2" d="M181.17,-54.28C181.17,-54.28 12,-54.28 12,-54.28 6,-54.28 0,-48.28 0,-42.28 0,-42.28 0,-12 0,-12 0,-6 6,0 12,0 12,0 181.17,0 181.17,0 187.17,0 193.17,-6 193.17,-12 193.17,-12 193.17,-42.28 193.17,-42.28 193.17,-48.28 187.17,-54.28 181.17,-54.28"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="42.58" y="-34.29" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#059669">ZIELFUNKTION</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="12.96" y="-10.14" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Minimiere Kosten / Maximiere ROI</text>
|
||||
</g>
|
||||
<!-- var->ziel -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>var->ziel</title>
|
||||
<path fill="none" stroke="#334155" stroke-width="2" d="M178.22,-96.37C165.71,-85.91 151.23,-73.81 137.97,-62.73"/>
|
||||
<polygon fill="#334155" stroke="#334155" stroke-width="2" points="140.28,-60.55 131.35,-57.2 136.24,-65.39 140.28,-60.55"/>
|
||||
</g>
|
||||
<!-- neben -->
|
||||
<g id="node4" class="node">
|
||||
<title>neben</title>
|
||||
<path fill="#ecfeff" stroke="#0891b2" stroke-width="2" d="M412.17,-54.28C412.17,-54.28 237,-54.28 237,-54.28 231,-54.28 225,-48.28 225,-42.28 225,-42.28 225,-12 225,-12 225,-6 231,0 237,0 237,0 412.17,0 412.17,0 418.17,0 424.17,-6 424.17,-12 424.17,-12 424.17,-42.28 424.17,-42.28 424.17,-48.28 418.17,-54.28 412.17,-54.28"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="245.46" y="-34.29" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#0891b2">NEBENBEDINGUNGEN</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="237.96" y="-10.14" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Harte Schranken: Budget, Kapazität</text>
|
||||
</g>
|
||||
<!-- var->neben -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>var->neben</title>
|
||||
<path fill="none" stroke="#334155" stroke-width="2" d="M242.95,-96.37C255.46,-85.91 269.94,-73.81 283.2,-62.73"/>
|
||||
<polygon fill="#334155" stroke="#334155" stroke-width="2" points="284.93,-65.39 289.82,-57.2 280.89,-60.55 284.93,-65.39"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.5 KiB |
BIN
OR_HTML_04/bilder_04/kap02_konvexitaet.png
Normal file
|
After Width: | Height: | Size: 94 KiB |
1744
OR_HTML_04/bilder_04/kap02_konvexitaet.svg
Normal file
|
After Width: | Height: | Size: 50 KiB |
BIN
OR_HTML_04/bilder_04/kap03_solver_architektur.png
Normal file
|
After Width: | Height: | Size: 88 KiB |
67
OR_HTML_04/bilder_04/kap03_solver_architektur.svg
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
<?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: d05 Pages: 1 -->
|
||||
<svg width="456pt" height="317pt"
|
||||
viewBox="7.00 7.00 449.00 310.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 305.51)">
|
||||
<title>d05</title>
|
||||
<!-- modell -->
|
||||
<g id="node1" class="node">
|
||||
<title>modell</title>
|
||||
<path fill="#eef2ff" stroke="#4338ca" stroke-width="2" d="M346.17,-294.31C346.17,-294.31 87.75,-294.31 87.75,-294.31 81.75,-294.31 75.75,-288.31 75.75,-282.31 75.75,-282.31 75.75,-242.03 75.75,-242.03 75.75,-236.03 81.75,-230.03 87.75,-230.03 87.75,-230.03 346.17,-230.03 346.17,-230.03 352.17,-230.03 358.17,-236.03 358.17,-242.03 358.17,-242.03 358.17,-282.31 358.17,-282.31 358.17,-288.31 352.17,-294.31 346.17,-294.31"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="88.71" y="-274.32" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#4338ca">PYTHON-MODELLIERUNGSSCHICHT</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="88.71" y="-250.17" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">scipy.optimize.linprog · Google OR-Tools</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="88.71" y="-240.17" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">CVXPY · Pyomo / PuLP</text>
|
||||
</g>
|
||||
<!-- engines -->
|
||||
<g id="node2" class="node">
|
||||
<title>engines</title>
|
||||
<polygon fill="#0891b2" stroke="none" points="12.96,-130.14 12.96,-164.64 420.96,-164.64 420.96,-130.14 12.96,-130.14"/>
|
||||
<polygon fill="none" stroke="#0891b2" points="12.96,-130.14 12.96,-164.64 420.96,-164.64 420.96,-130.14 12.96,-130.14"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="118.34" y="-144.29" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#ffffff">SOLVER-ENGINES (C / C++)</text>
|
||||
<polygon fill="#ecfeff" stroke="none" points="12.96,-98.64 12.96,-130.14 161.46,-130.14 161.46,-98.64 12.96,-98.64"/>
|
||||
<polygon fill="none" stroke="#0891b2" points="12.96,-98.64 12.96,-130.14 161.46,-130.14 161.46,-98.64 12.96,-98.64"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="47.46" y="-111.69" font-family="DejaVu Sans" font-weight="bold" font-size="11.00" fill="#0891b2">LP · MIP · QP</text>
|
||||
<polygon fill="#ecfeff" stroke="none" points="161.46,-98.64 161.46,-130.14 292.71,-130.14 292.71,-98.64 161.46,-98.64"/>
|
||||
<polygon fill="none" stroke="#0891b2" points="161.46,-98.64 161.46,-130.14 292.71,-130.14 292.71,-98.64 161.46,-98.64"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="177.21" y="-111.69" font-family="DejaVu Sans" font-weight="bold" font-size="11.00" fill="#0891b2">Constraint · SAT</text>
|
||||
<polygon fill="#ecfeff" stroke="none" points="292.71,-98.64 292.71,-130.14 420.96,-130.14 420.96,-98.64 292.71,-98.64"/>
|
||||
<polygon fill="none" stroke="#0891b2" points="292.71,-98.64 292.71,-130.14 420.96,-130.14 420.96,-98.64 292.71,-98.64"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="301.71" y="-111.69" font-family="DejaVu Sans" font-weight="bold" font-size="11.00" fill="#0891b2">Konvex · QP · NLP</text>
|
||||
<polygon fill="#ffffff" stroke="none" points="12.96,-53.64 12.96,-98.64 161.46,-98.64 161.46,-53.64 12.96,-53.64"/>
|
||||
<polygon fill="none" stroke="#0891b2" points="12.96,-53.64 12.96,-98.64 161.46,-98.64 161.46,-53.64 12.96,-53.64"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="21.96" y="-79.19" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">HiGHS</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="21.96" y="-65.69" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">(Open Source / Default)</text>
|
||||
<polygon fill="#ffffff" stroke="none" points="161.46,-53.64 161.46,-98.64 292.71,-98.64 292.71,-53.64 161.46,-53.64"/>
|
||||
<polygon fill="none" stroke="#0891b2" points="161.46,-53.64 161.46,-98.64 292.71,-98.64 292.71,-53.64 161.46,-53.64"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="170.46" y="-79.19" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">CP-SAT</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="170.46" y="-65.69" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">(Kombinatorik / SAT)</text>
|
||||
<polygon fill="#ffffff" stroke="none" points="292.71,-53.64 292.71,-98.64 420.96,-98.64 420.96,-53.64 292.71,-53.64"/>
|
||||
<polygon fill="none" stroke="#0891b2" points="292.71,-53.64 292.71,-98.64 420.96,-98.64 420.96,-53.64 292.71,-53.64"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="312.96" y="-79.19" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">OSQP / Clarabel</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="318.59" y="-65.69" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">(Konvex / QP)</text>
|
||||
<polygon fill="#ffffff" stroke="none" points="12.96,-8.64 12.96,-53.64 161.46,-53.64 161.46,-8.64 12.96,-8.64"/>
|
||||
<polygon fill="none" stroke="#0891b2" points="12.96,-8.64 12.96,-53.64 161.46,-53.64 161.46,-8.64 12.96,-8.64"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="21.96" y="-34.19" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">Gurobi / CPLEX / Xpress</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="48.96" y="-20.69" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">(Kommerziell)</text>
|
||||
<polygon fill="#ffffff" stroke="none" points="161.46,-8.64 161.46,-53.64 292.71,-53.64 292.71,-8.64 161.46,-8.64"/>
|
||||
<polygon fill="none" stroke="#0891b2" points="161.46,-8.64 161.46,-53.64 292.71,-53.64 292.71,-8.64 161.46,-8.64"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="176.84" y="-34.19" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">SCIP / CBC / GLPK</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="176.84" y="-20.69" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">(OSS akademisch)</text>
|
||||
<polygon fill="#ffffff" stroke="none" points="292.71,-8.64 292.71,-53.64 420.96,-53.64 420.96,-8.64 292.71,-8.64"/>
|
||||
<polygon fill="none" stroke="#0891b2" points="292.71,-8.64 292.71,-53.64 420.96,-53.64 420.96,-8.64 292.71,-8.64"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="307.34" y="-34.19" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">IPOPT</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="307.34" y="-20.69" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">(NLP / nichtlinear)</text>
|
||||
</g>
|
||||
<!-- modell->engines -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>modell->engines</title>
|
||||
<path fill="none" stroke="#334155" stroke-width="2" d="M216.96,-229.34C216.96,-216.51 216.96,-200.95 216.96,-184.91"/>
|
||||
<polygon fill="#334155" stroke="#334155" stroke-width="2" points="220.11,-185.2 216.96,-176.2 213.81,-185.2 220.11,-185.2"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="282.96" y="-198.53" font-family="DejaVu Sans" font-size="10.00" fill="#334155">  C-API / FFI / Matrix-Export</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.8 KiB |
BIN
OR_HTML_04/bilder_04/kap04_primal_dual.png
Normal file
|
After Width: | Height: | Size: 80 KiB |
40
OR_HTML_04/bilder_04/kap04_primal_dual.svg
Normal 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  (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:   max  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:  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:  x ≥ 0  (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  (Ressourcen-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:   min  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:  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:  y ≥ 0  (Schattenpreise)</text>
|
||||
</g>
|
||||
<!-- primal->dual -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>primal->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">  Dualität  </text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.7 KiB |
BIN
OR_HTML_04/bilder_04/kap06_cp_sat_propagation.png
Normal file
|
After Width: | Height: | Size: 88 KiB |
50
OR_HTML_04/bilder_04/kap06_cp_sat_propagation.svg
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
<?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: d09 Pages: 1 -->
|
||||
<svg width="393pt" height="321pt"
|
||||
viewBox="7.00 7.00 386.00 314.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 310.04)">
|
||||
<title>d09</title>
|
||||
<!-- store -->
|
||||
<g id="node1" class="node">
|
||||
<title>store</title>
|
||||
<path fill="#eef2ff" stroke="#4338ca" stroke-width="2" d="M290.3,-298.84C290.3,-298.84 80.63,-298.84 80.63,-298.84 74.63,-298.84 68.63,-292.84 68.63,-286.84 68.63,-286.84 68.63,-246.56 68.63,-246.56 68.63,-240.56 74.63,-234.56 80.63,-234.56 80.63,-234.56 290.3,-234.56 290.3,-234.56 296.3,-234.56 302.3,-240.56 302.3,-246.56 302.3,-246.56 302.3,-286.84 302.3,-286.84 302.3,-292.84 296.3,-298.84 290.3,-298.84"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="111.96" y="-278.85" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#4338ca">CONSTRAINT STORE</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="81.59" y="-254.7" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Domain x₁ ∈ {1, 2, 3, 4},  x₂ ∈ {2, 3, 4, 5}</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="81.59" y="-244.7" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Constraint: x₁ + x₂ = 7</text>
|
||||
</g>
|
||||
<!-- prop -->
|
||||
<g id="node2" class="node">
|
||||
<title>prop</title>
|
||||
<path fill="#ecfeff" stroke="#0891b2" stroke-width="2" d="M331.92,-191.56C331.92,-191.56 39,-191.56 39,-191.56 33,-191.56 27,-185.56 27,-179.56 27,-179.56 27,-129.28 27,-129.28 27,-123.28 33,-117.28 39,-117.28 39,-117.28 331.92,-117.28 331.92,-117.28 337.92,-117.28 343.92,-123.28 343.92,-129.28 343.92,-129.28 343.92,-179.56 343.92,-179.56 343.92,-185.56 337.92,-191.56 331.92,-191.56"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="39.96" y="-171.57" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#0891b2">CONSTRAINT PROPAGATION  (Filterung)</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="39.96" y="-147.42" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">• x₁ = 1 ⇒ x₂ = 6  (nicht in Domain!)</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="39.96" y="-137.42" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">  ⟶ entferne 1 aus Domain(x₁)</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="39.96" y="-127.42" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">• Reduziert: x₁ ∈ {2, 3, 4}, x₂ ∈ {3, 4, 5}</text>
|
||||
</g>
|
||||
<!-- store->prop -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>store->prop</title>
|
||||
<path fill="none" stroke="#334155" stroke-width="2" d="M185.46,-233.8C185.46,-224.58 185.46,-214.29 185.46,-204.28"/>
|
||||
<polygon fill="#334155" stroke="#334155" stroke-width="2" points="188.61,-204.33 185.46,-195.33 182.31,-204.33 188.61,-204.33"/>
|
||||
</g>
|
||||
<!-- sat -->
|
||||
<g id="node3" class="node">
|
||||
<title>sat</title>
|
||||
<path fill="#f5f3ff" stroke="#7c3aed" stroke-width="2" d="M358.92,-74.28C358.92,-74.28 12,-74.28 12,-74.28 6,-74.28 0,-68.28 0,-62.28 0,-62.28 0,-12 0,-12 0,-6 6,0 12,0 12,0 358.92,0 358.92,0 364.92,0 370.92,-6 370.92,-12 370.92,-12 370.92,-62.28 370.92,-62.28 370.92,-68.28 364.92,-74.28 358.92,-74.28"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="12.96" y="-54.29" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#7c3aed">SAT-SEARCH & CONFLICT LEARNING  (Nogoods)</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="12.96" y="-30.14" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">• Bei Widerspruch lernt der SAT-Core eine Klausel</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="12.96" y="-20.14" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">  („diese Belegung nie wieder prüfen“)</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="12.96" y="-10.14" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">• Non-chronological Backtracking</text>
|
||||
</g>
|
||||
<!-- prop->sat -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>prop->sat</title>
|
||||
<path fill="none" stroke="#334155" stroke-width="2" d="M185.46,-116.31C185.46,-106.95 185.46,-96.76 185.46,-86.92"/>
|
||||
<polygon fill="#334155" stroke="#334155" stroke-width="2" points="188.61,-87.21 185.46,-78.21 182.31,-87.21 188.61,-87.21"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.4 KiB |
BIN
OR_HTML_04/bilder_04/kap06_jobshop_gantt.png
Normal file
|
After Width: | Height: | Size: 44 KiB |
1327
OR_HTML_04/bilder_04/kap06_jobshop_gantt.svg
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
OR_HTML_04/bilder_04/kap09_unsicherheit_ansaetze.png
Normal file
|
After Width: | Height: | Size: 55 KiB |
45
OR_HTML_04/bilder_04/kap09_unsicherheit_ansaetze.svg
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
<?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: d13 Pages: 1 -->
|
||||
<svg width="568pt" height="178pt"
|
||||
viewBox="7.00 7.00 561.00 170.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 166.48)">
|
||||
<title>d13</title>
|
||||
<!-- t -->
|
||||
<g id="node1" class="node">
|
||||
<title>t</title>
|
||||
<polygon fill="#7c3aed" stroke="none" points="12.96,-112.14 12.96,-146.64 532.71,-146.64 532.71,-112.14 12.96,-112.14"/>
|
||||
<polygon fill="none" stroke="#7c3aed" points="12.96,-112.14 12.96,-146.64 532.71,-146.64 532.71,-112.14 12.96,-112.14"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="132.96" y="-126.29" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#ffffff">ANSÄTZE FÜR UNBEKANNTE ZUKUNFT</text>
|
||||
<polygon fill="#eef2ff" stroke="none" points="12.96,-80.64 12.96,-112.14 168.21,-112.14 168.21,-80.64 12.96,-80.64"/>
|
||||
<polygon fill="none" stroke="#7c3aed" points="12.96,-80.64 12.96,-112.14 168.21,-112.14 168.21,-80.64 12.96,-80.64"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="46.33" y="-93.69" font-family="DejaVu Sans" font-weight="bold" font-size="11.00" fill="#4338ca">MONTE CARLO</text>
|
||||
<polygon fill="#ecfeff" stroke="none" points="168.21,-80.64 168.21,-112.14 366.96,-112.14 366.96,-80.64 168.21,-80.64"/>
|
||||
<polygon fill="none" stroke="#7c3aed" points="168.21,-80.64 168.21,-112.14 366.96,-112.14 366.96,-80.64 168.21,-80.64"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="177.21" y="-93.69" font-family="DejaVu Sans" font-weight="bold" font-size="11.00" fill="#0891b2">STOCHASTISCHES RECOURSE</text>
|
||||
<polygon fill="#ecfdf5" stroke="none" points="366.96,-80.64 366.96,-112.14 532.71,-112.14 532.71,-80.64 366.96,-80.64"/>
|
||||
<polygon fill="none" stroke="#7c3aed" points="366.96,-80.64 366.96,-112.14 532.71,-112.14 532.71,-80.64 366.96,-80.64"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="375.96" y="-93.69" font-family="DejaVu Sans" font-weight="bold" font-size="11.00" fill="#059669">ROBUSTE OPTIMIERUNG</text>
|
||||
<polygon fill="#ffffff" stroke="none" points="12.96,-8.64 12.96,-80.64 168.21,-80.64 168.21,-8.64 12.96,-8.64"/>
|
||||
<polygon fill="none" stroke="#7c3aed" points="12.96,-8.64 12.96,-80.64 168.21,-80.64 168.21,-8.64 12.96,-8.64"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="21.96" y="-61.19" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">• Simuliert Szenarien</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="21.96" y="-47.69" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">• Misst Verlustverteilung</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="21.96" y="-34.19" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">• Reine Evaluierung,</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="36.21" y="-20.69" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">  keine Optimierung</text>
|
||||
<polygon fill="#ffffff" stroke="none" points="168.21,-8.64 168.21,-80.64 366.96,-80.64 366.96,-8.64 168.21,-8.64"/>
|
||||
<polygon fill="none" stroke="#7c3aed" points="168.21,-8.64 168.21,-80.64 366.96,-80.64 366.96,-8.64 168.21,-8.64"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="177.21" y="-61.19" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">• Entscheidet Stufe 1</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="177.21" y="-47.69" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">• Passt in Stufe 2 an</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="177.21" y="-34.19" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">• Optimiert Erwartungswert</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="197.46" y="-20.69" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">  über alle Szenarien</text>
|
||||
<polygon fill="#ffffff" stroke="none" points="366.96,-8.64 366.96,-80.64 532.71,-80.64 532.71,-8.64 366.96,-8.64"/>
|
||||
<polygon fill="none" stroke="#7c3aed" points="366.96,-8.64 366.96,-80.64 532.71,-80.64 532.71,-8.64 366.96,-8.64"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="375.96" y="-61.19" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">• Sucht den Worst-Case</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="375.96" y="-47.69" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">• Keine Verteilungs-</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="396.96" y="-34.19" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">  annahme nötig</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.6 KiB |
BIN
OR_HTML_04/bilder_04/kap10_zustandskette.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
61
OR_HTML_04/bilder_04/kap10_zustandskette.svg
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
<?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: d14 Pages: 1 -->
|
||||
<svg width="543pt" height="97pt"
|
||||
viewBox="7.00 7.00 536.00 89.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 85.48)">
|
||||
<title>d14</title>
|
||||
<!-- S0 -->
|
||||
<g id="node1" class="node">
|
||||
<title>S0</title>
|
||||
<path fill="#eef2ff" stroke="#4338ca" stroke-width="2" d="M92.67,-74.28C92.67,-74.28 12,-74.28 12,-74.28 6,-74.28 0,-68.28 0,-62.28 0,-62.28 0,-12 0,-12 0,-6 6,0 12,0 12,0 92.67,0 92.67,0 98.67,0 104.67,-6 104.67,-12 104.67,-12 104.67,-62.28 104.67,-62.28 104.67,-68.28 98.67,-74.28 92.67,-74.28"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="12.96" y="-54.29" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#4338ca">Zustand S₀</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="12.96" y="-30.14" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">t = 0</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="12.96" y="-20.14" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Aktion a₀</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="12.96" y="-10.14" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Kosten C₀</text>
|
||||
</g>
|
||||
<!-- S1 -->
|
||||
<g id="node2" class="node">
|
||||
<title>S1</title>
|
||||
<path fill="#ecfeff" stroke="#0891b2" stroke-width="2" d="M240.34,-74.28C240.34,-74.28 159.67,-74.28 159.67,-74.28 153.67,-74.28 147.67,-68.28 147.67,-62.28 147.67,-62.28 147.67,-12 147.67,-12 147.67,-6 153.67,0 159.67,0 159.67,0 240.34,0 240.34,0 246.34,0 252.34,-6 252.34,-12 252.34,-12 252.34,-62.28 252.34,-62.28 252.34,-68.28 246.34,-74.28 240.34,-74.28"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="160.63" y="-54.29" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#0891b2">Zustand S₁</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="160.63" y="-30.14" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">t = 1</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="160.63" y="-20.14" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Aktion a₁</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="160.63" y="-10.14" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Kosten C₁</text>
|
||||
</g>
|
||||
<!-- S0->S1 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>S0->S1</title>
|
||||
<path fill="none" stroke="#334155" stroke-width="2" d="M105.51,-37.14C115.03,-37.14 125.06,-37.14 134.88,-37.14"/>
|
||||
<polygon fill="#334155" stroke="#334155" stroke-width="2" points="134.67,-40.29 143.67,-37.14 134.67,-33.99 134.67,-40.29"/>
|
||||
</g>
|
||||
<!-- dots -->
|
||||
<g id="node3" class="node">
|
||||
<title>dots</title>
|
||||
<text xml:space="preserve" text-anchor="middle" x="322.34" y="-30.14" font-family="DejaVu Sans" font-size="20.00" fill="#334155">…</text>
|
||||
</g>
|
||||
<!-- S1->dots -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>S1->dots</title>
|
||||
<path fill="none" stroke="#334155" stroke-width="2" d="M253.09,-37.14C263.45,-37.14 274.13,-37.14 283.89,-37.14"/>
|
||||
<polygon fill="#334155" stroke="#334155" stroke-width="2" points="283.62,-40.29 292.62,-37.14 283.62,-33.99 283.62,-40.29"/>
|
||||
</g>
|
||||
<!-- ST -->
|
||||
<g id="node4" class="node">
|
||||
<title>ST</title>
|
||||
<path fill="#059669" stroke="#059669" stroke-width="2" d="M509.01,-69.28C509.01,-69.28 404.34,-69.28 404.34,-69.28 398.34,-69.28 392.34,-63.28 392.34,-57.28 392.34,-57.28 392.34,-17 392.34,-17 392.34,-11 398.34,-5 404.34,-5 404.34,-5 509.01,-5 509.01,-5 515.01,-5 521.01,-11 521.01,-17 521.01,-17 521.01,-57.28 521.01,-57.28 521.01,-63.28 515.01,-69.28 509.01,-69.28"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="405.3" y="-49.29" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#ffffff">Endzustand Sₜ</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="405.3" y="-25.14" font-family="DejaVu Sans" font-size="10.00" fill="#ffffff">t = T</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="405.3" y="-15.14" font-family="DejaVu Sans" font-size="10.00" fill="#ffffff">alles verkauft</text>
|
||||
</g>
|
||||
<!-- dots->ST -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>dots->ST</title>
|
||||
<path fill="none" stroke="#334155" stroke-width="2" d="M349.17,-37.14C358.12,-37.14 368.66,-37.14 379.57,-37.14"/>
|
||||
<polygon fill="#334155" stroke="#334155" stroke-width="2" points="379.47,-40.29 388.47,-37.14 379.47,-33.99 379.47,-40.29"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.5 KiB |
BIN
OR_HTML_04/bilder_04/kap11_ledoit_wolf_shrinkage.png
Normal file
|
After Width: | Height: | Size: 84 KiB |
61
OR_HTML_04/bilder_04/kap11_ledoit_wolf_shrinkage.svg
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
<?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: d15 Pages: 1 -->
|
||||
<svg width="425pt" height="301pt"
|
||||
viewBox="7.00 7.00 417.00 294.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 290.04)">
|
||||
<title>d15</title>
|
||||
<!-- S0 -->
|
||||
<g id="node1" class="node">
|
||||
<title>S0</title>
|
||||
<path fill="#fff1f3" stroke="#e11d48" stroke-width="2" d="M302.29,-278.84C302.29,-278.84 88.88,-278.84 88.88,-278.84 82.88,-278.84 76.87,-272.84 76.87,-266.84 76.87,-266.84 76.87,-206.56 76.87,-206.56 76.87,-200.56 82.87,-194.56 88.87,-194.56 88.87,-194.56 302.29,-194.56 302.29,-194.56 308.29,-194.56 314.29,-200.56 314.29,-206.56 314.29,-206.56 314.29,-266.84 314.29,-266.84 314.29,-272.84 308.29,-278.84 302.29,-278.84"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="89.83" y="-258.85" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#e11d48">STICHPROBEN-KOVARIANZ  S</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="89.83" y="-234.7" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">• T < N: singulär (Rang < N)</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="89.83" y="-224.7" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">• T ≈ N: instabil, Eigenwerte streuen</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="89.83" y="-214.7" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">• kleine Eigenwerte unterschätzt</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="89.83" y="-204.7" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">  ⟶ Solver nutzt Scheinkorrelationen</text>
|
||||
</g>
|
||||
<!-- LW -->
|
||||
<g id="node2" class="node">
|
||||
<title>LW</title>
|
||||
<path fill="#059669" stroke="#059669" stroke-width="2" d="M315.79,-151.56C315.79,-151.56 75.38,-151.56 75.38,-151.56 69.38,-151.56 63.37,-145.56 63.37,-139.56 63.37,-139.56 63.37,-109.28 63.37,-109.28 63.37,-103.28 69.37,-97.28 75.37,-97.28 75.37,-97.28 315.79,-97.28 315.79,-97.28 321.79,-97.28 327.79,-103.28 327.79,-109.28 327.79,-109.28 327.79,-139.56 327.79,-139.56 327.79,-145.56 321.79,-151.56 315.79,-151.56"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="76.33" y="-131.57" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#ffffff">LEDOIT-WOLF SHRINKAGE  Σ(LW)</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="76.33" y="-107.42" font-family="DejaVu Sans" font-size="10.00" fill="#ffffff">Σ(LW) = (1 − δ) · S  +  δ · F</text>
|
||||
</g>
|
||||
<!-- S0->LW -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>S0->LW</title>
|
||||
<path fill="none" stroke="#334155" stroke-width="2" d="M195.58,-193.69C195.58,-184.04 195.58,-173.82 195.58,-164.31"/>
|
||||
<polygon fill="#334155" stroke="#334155" stroke-width="2" points="198.74,-164.35 195.59,-155.35 192.44,-164.35 198.74,-164.35"/>
|
||||
</g>
|
||||
<!-- S -->
|
||||
<g id="node3" class="node">
|
||||
<title>S</title>
|
||||
<path fill="#ecfeff" stroke="#0891b2" stroke-width="2" d="M163.17,-54.28C163.17,-54.28 12,-54.28 12,-54.28 6,-54.28 0,-48.28 0,-42.28 0,-42.28 0,-12 0,-12 0,-6 6,0 12,0 12,0 163.17,0 163.17,0 169.17,0 175.17,-6 175.17,-12 175.17,-12 175.17,-42.28 175.17,-42.28 175.17,-48.28 169.17,-54.28 163.17,-54.28"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="12.96" y="-34.29" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#0891b2">Stichprobenmatrix S</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="12.96" y="-10.14" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">unverzerrt, hohes Rauschen</text>
|
||||
</g>
|
||||
<!-- LW->S -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>LW->S</title>
|
||||
<path fill="none" stroke="#334155" stroke-width="2" d="M164.93,-96.37C153.18,-86.01 139.62,-74.04 127.16,-63.05"/>
|
||||
<polygon fill="#334155" stroke="#334155" stroke-width="2" points="129.42,-60.85 120.59,-57.26 125.26,-65.58 129.42,-60.85"/>
|
||||
</g>
|
||||
<!-- F -->
|
||||
<g id="node4" class="node">
|
||||
<title>F</title>
|
||||
<path fill="#eef2ff" stroke="#4338ca" stroke-width="2" d="M390.29,-54.28C390.29,-54.28 218.88,-54.28 218.88,-54.28 212.88,-54.28 206.88,-48.28 206.88,-42.28 206.88,-42.28 206.88,-12 206.88,-12 206.88,-6 212.88,0 218.88,0 218.88,0 390.29,0 390.29,0 396.29,0 402.29,-6 402.29,-12 402.29,-12 402.29,-42.28 402.29,-42.28 402.29,-48.28 396.29,-54.28 390.29,-54.28"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="219.83" y="-34.29" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#4338ca">Strukturiertes Target F</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="219.83" y="-10.14" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">verzerrt, kein Rauschen</text>
|
||||
</g>
|
||||
<!-- LW->F -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>LW->F</title>
|
||||
<path fill="none" stroke="#334155" stroke-width="2" d="M226.53,-96.37C238.38,-86.01 252.07,-74.04 264.65,-63.05"/>
|
||||
<polygon fill="#334155" stroke="#334155" stroke-width="2" points="266.58,-65.54 271.29,-57.25 262.44,-60.8 266.58,-65.54"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.1 KiB |
BIN
OR_HTML_04/bilder_04/kap12_efficient_frontier.png
Normal file
|
After Width: | Height: | Size: 86 KiB |
2255
OR_HTML_04/bilder_04/kap12_efficient_frontier.svg
Normal file
|
After Width: | Height: | Size: 60 KiB |
BIN
OR_HTML_04/bilder_04/kap13_cvar_zielfunktion.png
Normal file
|
After Width: | Height: | Size: 52 KiB |
1600
OR_HTML_04/bilder_04/kap13_cvar_zielfunktion.svg
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
OR_HTML_04/bilder_04/kap14_engine_overview.png
Normal file
|
After Width: | Height: | Size: 158 KiB |
96
OR_HTML_04/bilder_04/kap14_engine_overview.svg
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
<?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: d19 Pages: 1 -->
|
||||
<svg width="503pt" height="516pt"
|
||||
viewBox="7.00 7.00 495.00 509.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 504.6)">
|
||||
<title>d19</title>
|
||||
<!-- s1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>s1</title>
|
||||
<path fill="#fffbeb" stroke="#d97706" stroke-width="2" d="M370.67,-493.4C370.67,-493.4 128,-493.4 128,-493.4 122,-493.4 116,-487.4 116,-481.4 116,-481.4 116,-441.12 116,-441.12 116,-435.12 122,-429.12 128,-429.12 128,-429.12 370.67,-429.12 370.67,-429.12 376.67,-429.12 382.67,-435.12 382.67,-441.12 382.67,-441.12 382.67,-481.4 382.67,-481.4 382.67,-487.4 376.67,-493.4 370.67,-493.4"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="128.96" y="-473.41" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#d97706">1 · HISTORISCHE DATENPIPELINE</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="128.96" y="-449.26" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Automatischer Download bereinigter</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="128.96" y="-439.26" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Kursdaten über 5 Jahre</text>
|
||||
</g>
|
||||
<!-- s2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>s2</title>
|
||||
<path fill="#eef2ff" stroke="#4338ca" stroke-width="2" d="M230.67,-386.12C230.67,-386.12 12,-386.12 12,-386.12 6,-386.12 0,-380.12 0,-374.12 0,-374.12 0,-333.84 0,-333.84 0,-327.84 6,-321.84 12,-321.84 12,-321.84 230.67,-321.84 230.67,-321.84 236.67,-321.84 242.67,-327.84 242.67,-333.84 242.67,-333.84 242.67,-374.12 242.67,-374.12 242.67,-380.12 236.67,-386.12 230.67,-386.12"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="12.96" y="-366.13" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#4338ca">2 · FAKTOR-SCORING-MODELL</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="12.96" y="-341.98" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">12−1M Momentum</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="12.96" y="-331.98" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">als Rendite-Signal μₜ</text>
|
||||
</g>
|
||||
<!-- s1->s2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>s1->s2</title>
|
||||
<path fill="none" stroke="#334155" stroke-width="2" d="M210.58,-428.39C197.67,-417.77 183.12,-405.8 169.58,-394.66"/>
|
||||
<polygon fill="#334155" stroke="#334155" stroke-width="2" points="171.69,-392.32 162.73,-389.03 167.68,-397.18 171.69,-392.32"/>
|
||||
</g>
|
||||
<!-- s3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>s3</title>
|
||||
<path fill="#ecfeff" stroke="#0891b2" stroke-width="2" d="M468.29,-386.12C468.29,-386.12 286.38,-386.12 286.38,-386.12 280.38,-386.12 274.38,-380.12 274.38,-374.12 274.38,-374.12 274.38,-333.84 274.38,-333.84 274.38,-327.84 280.38,-321.84 286.38,-321.84 286.38,-321.84 468.29,-321.84 468.29,-321.84 474.29,-321.84 480.29,-327.84 480.29,-333.84 480.29,-333.84 480.29,-374.12 480.29,-374.12 480.29,-380.12 474.29,-386.12 468.29,-386.12"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="287.33" y="-366.13" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#0891b2">3 · ROBUSTE KOVARIANZ</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="287.33" y="-341.98" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Ledoit-Wolf-Shrinkage auf</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="287.33" y="-331.98" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">rollierendem 252-Tage-Fenster</text>
|
||||
</g>
|
||||
<!-- s1->s3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>s1->s3</title>
|
||||
<path fill="none" stroke="#334155" stroke-width="2" d="M288.09,-428.39C301,-417.77 315.55,-405.8 329.09,-394.66"/>
|
||||
<polygon fill="#334155" stroke="#334155" stroke-width="2" points="330.99,-397.18 335.94,-389.03 326.98,-392.32 330.99,-397.18"/>
|
||||
</g>
|
||||
<!-- s4 -->
|
||||
<g id="node4" class="node">
|
||||
<title>s4</title>
|
||||
<path fill="#f5f3ff" stroke="#7c3aed" stroke-width="2" d="M383.42,-278.84C383.42,-278.84 115.25,-278.84 115.25,-278.84 109.25,-278.84 103.25,-272.84 103.25,-266.84 103.25,-266.84 103.25,-226.56 103.25,-226.56 103.25,-220.56 109.25,-214.56 115.25,-214.56 115.25,-214.56 383.42,-214.56 383.42,-214.56 389.42,-214.56 395.42,-220.56 395.42,-226.56 395.42,-226.56 395.42,-266.84 395.42,-266.84 395.42,-272.84 389.42,-278.84 383.42,-278.84"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="116.21" y="-258.85" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#7c3aed">4 · OR-OPTIMIERUNGSKERN (CVXPY)</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="116.21" y="-234.7" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Max. Momentum − CVaR − Reibung</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="116.21" y="-224.7" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Hard Constraints: Sektor-Caps, No-Short</text>
|
||||
</g>
|
||||
<!-- s2->s4 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>s2->s4</title>
|
||||
<path fill="none" stroke="#334155" stroke-width="2" d="M160.09,-321.11C173,-310.49 187.55,-298.52 201.09,-287.38"/>
|
||||
<polygon fill="#334155" stroke="#334155" stroke-width="2" points="202.99,-289.9 207.94,-281.75 198.98,-285.04 202.99,-289.9"/>
|
||||
</g>
|
||||
<!-- s3->s4 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>s3->s4</title>
|
||||
<path fill="none" stroke="#334155" stroke-width="2" d="M338.58,-321.11C325.67,-310.49 311.12,-298.52 297.58,-287.38"/>
|
||||
<polygon fill="#334155" stroke="#334155" stroke-width="2" points="299.69,-285.04 290.73,-281.75 295.68,-289.9 299.69,-285.04"/>
|
||||
</g>
|
||||
<!-- s5 -->
|
||||
<g id="node5" class="node">
|
||||
<title>s5</title>
|
||||
<path fill="#ecfeff" stroke="#0891b2" stroke-width="2" d="M393.54,-171.56C393.54,-171.56 105.12,-171.56 105.12,-171.56 99.12,-171.56 93.12,-165.56 93.12,-159.56 93.12,-159.56 93.12,-119.28 93.12,-119.28 93.12,-113.28 99.12,-107.28 105.12,-107.28 105.12,-107.28 393.54,-107.28 393.54,-107.28 399.54,-107.28 405.54,-113.28 405.54,-119.28 405.54,-119.28 405.54,-159.56 405.54,-159.56 405.54,-165.56 399.54,-171.56 393.54,-171.56"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="106.08" y="-151.57" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#0891b2">5 · REBALANCING & ORDER-EXECUTION</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="106.08" y="-127.42" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Monatliche Neugewichtung mit</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="106.08" y="-117.42" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">realer Transaktionskosten-Verbuchung</text>
|
||||
</g>
|
||||
<!-- s4->s5 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>s4->s5</title>
|
||||
<path fill="none" stroke="#334155" stroke-width="2" d="M249.33,-213.83C249.33,-204.53 249.33,-194.21 249.33,-184.31"/>
|
||||
<polygon fill="#334155" stroke="#334155" stroke-width="2" points="252.49,-184.58 249.34,-175.58 246.19,-184.58 252.49,-184.58"/>
|
||||
</g>
|
||||
<!-- s6 -->
|
||||
<g id="node6" class="node">
|
||||
<title>s6</title>
|
||||
<path fill="#059669" stroke="#059669" stroke-width="2" d="M388.29,-64.28C388.29,-64.28 110.38,-64.28 110.38,-64.28 104.38,-64.28 98.37,-58.28 98.37,-52.28 98.37,-52.28 98.37,-12 98.37,-12 98.37,-6 104.37,0 110.37,0 110.37,0 388.29,0 388.29,0 394.29,0 400.29,-6 400.29,-12 400.29,-12 400.29,-52.28 400.29,-52.28 400.29,-58.28 394.29,-64.28 388.29,-64.28"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="111.33" y="-44.29" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#ffffff">6 · LEISTUNGSREPORT & BENCHMARK</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="111.33" y="-20.14" font-family="DejaVu Sans" font-size="10.00" fill="#ffffff">Sharpe, Max Drawdown, CAGR</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="111.33" y="-10.14" font-family="DejaVu Sans" font-size="10.00" fill="#ffffff">vs. S&P 500 (SPY)</text>
|
||||
</g>
|
||||
<!-- s5->s6 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>s5->s6</title>
|
||||
<path fill="none" stroke="#334155" stroke-width="2" d="M249.33,-106.55C249.33,-97.25 249.33,-86.93 249.33,-77.03"/>
|
||||
<polygon fill="#334155" stroke="#334155" stroke-width="2" points="252.49,-77.3 249.34,-68.3 246.19,-77.3 252.49,-77.3"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 8.2 KiB |
BIN
OR_HTML_04/bilder_04/kap15_or_plattform.png
Normal file
|
After Width: | Height: | Size: 144 KiB |
81
OR_HTML_04/bilder_04/kap15_or_plattform.svg
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
<?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: d18 Pages: 1 -->
|
||||
<svg width="350pt" height="581pt"
|
||||
viewBox="7.00 7.00 343.00 574.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 569.6)">
|
||||
<title>d18</title>
|
||||
<!-- s0 -->
|
||||
<g id="node1" class="node">
|
||||
<title>s0</title>
|
||||
<path fill="#fffbeb" stroke="#d97706" stroke-width="2" d="M225.42,-558.4C225.42,-558.4 69.75,-558.4 69.75,-558.4 63.75,-558.4 57.75,-552.4 57.75,-546.4 57.75,-546.4 57.75,-506.12 57.75,-506.12 57.75,-500.12 63.75,-494.12 69.75,-494.12 69.75,-494.12 225.42,-494.12 225.42,-494.12 231.42,-494.12 237.42,-500.12 237.42,-506.12 237.42,-506.12 237.42,-546.4 237.42,-546.4 237.42,-552.4 231.42,-558.4 225.42,-558.4"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="87.59" y="-538.41" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#d97706">QUELL-SYSTEME</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="70.71" y="-514.26" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">ERP / CRM / HR-Kalender</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="70.71" y="-504.26" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Marktdaten-Feeds / Broker-APIs</text>
|
||||
</g>
|
||||
<!-- s1 -->
|
||||
<g id="node2" class="node">
|
||||
<title>s1</title>
|
||||
<path fill="#ecfeff" stroke="#0891b2" stroke-width="2" d="M255.42,-437.37C255.42,-437.37 39.75,-437.37 39.75,-437.37 33.75,-437.37 27.75,-431.37 27.75,-425.37 27.75,-425.37 27.75,-385.09 27.75,-385.09 27.75,-379.09 33.75,-373.09 39.75,-373.09 39.75,-373.09 255.42,-373.09 255.42,-373.09 261.42,-373.09 267.42,-379.09 267.42,-385.09 267.42,-385.09 267.42,-425.37 267.42,-425.37 267.42,-431.37 261.42,-437.37 255.42,-437.37"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="40.71" y="-417.38" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#0891b2">DATA QUALITY & SNAPSHOTS</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="40.71" y="-393.23" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Validierung (Pydantic / Pandera)</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="40.71" y="-383.23" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Unveränderlicher Planungs-Snapshot</text>
|
||||
</g>
|
||||
<!-- s0->s1 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>s0->s1</title>
|
||||
<path fill="none" stroke="#334155" stroke-width="2" d="M147.59,-493.36C147.59,-480.02 147.59,-464.3 147.59,-449.91"/>
|
||||
<polygon fill="#334155" stroke="#334155" stroke-width="2" points="150.74,-450.24 147.59,-441.24 144.44,-450.24 150.74,-450.24"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="204.96" y="-462.62" font-family="DejaVu Sans" font-size="10.00" fill="#334155">  Events / REST / Polling</text>
|
||||
</g>
|
||||
<!-- s2 -->
|
||||
<g id="node3" class="node">
|
||||
<title>s2</title>
|
||||
<path fill="#eef2ff" stroke="#4338ca" stroke-width="2" d="M267.42,-316.34C267.42,-316.34 27.75,-316.34 27.75,-316.34 21.75,-316.34 15.75,-310.34 15.75,-304.34 15.75,-304.34 15.75,-254.06 15.75,-254.06 15.75,-248.06 21.75,-242.06 27.75,-242.06 27.75,-242.06 267.42,-242.06 267.42,-242.06 273.42,-242.06 279.42,-248.06 279.42,-254.06 279.42,-254.06 279.42,-304.34 279.42,-304.34 279.42,-310.34 273.42,-316.34 267.42,-316.34"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="28.71" y="-296.35" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#4338ca">OPTIMIERUNGS-WORKER (async)</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="28.71" y="-272.2" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Queue (Celery / Redis / Dramatiq)</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="28.71" y="-262.2" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Solver: OR-Tools / HiGHS / CVXPY</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="28.71" y="-252.2" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Timeouts, Fallbacks, Diagnose</text>
|
||||
</g>
|
||||
<!-- s1->s2 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>s1->s2</title>
|
||||
<path fill="none" stroke="#334155" stroke-width="2" d="M147.59,-372.29C147.59,-359.17 147.59,-343.68 147.59,-329.18"/>
|
||||
<polygon fill="#334155" stroke="#334155" stroke-width="2" points="150.74,-329.34 147.59,-320.34 144.44,-329.34 150.74,-329.34"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="183.59" y="-341.59" font-family="DejaVu Sans" font-size="10.00" fill="#334155">  JSON-Payload</text>
|
||||
</g>
|
||||
<!-- s3 -->
|
||||
<g id="node4" class="node">
|
||||
<title>s3</title>
|
||||
<path fill="#f5f3ff" stroke="#7c3aed" stroke-width="2" d="M283.17,-185.31C283.17,-185.31 12,-185.31 12,-185.31 6,-185.31 0,-179.31 0,-173.31 0,-173.31 0,-133.03 0,-133.03 0,-127.03 6,-121.03 12,-121.03 12,-121.03 283.17,-121.03 283.17,-121.03 289.17,-121.03 295.17,-127.03 295.17,-133.03 295.17,-133.03 295.17,-173.31 295.17,-173.31 295.17,-179.31 289.17,-185.31 283.17,-185.31"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="12.96" y="-165.32" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#7c3aed">DISPOSITION & HUMAN-IN-THE-LOOP</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="12.96" y="-141.17" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Web-UI / Dashboard</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="12.96" y="-131.17" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Freigabeprozess (Mensch bestätigt)</text>
|
||||
</g>
|
||||
<!-- s2->s3 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>s2->s3</title>
|
||||
<path fill="none" stroke="#334155" stroke-width="2" d="M147.59,-241.32C147.59,-227.74 147.59,-212.21 147.59,-198.07"/>
|
||||
<polygon fill="#334155" stroke="#334155" stroke-width="2" points="150.74,-198.1 147.59,-189.1 144.44,-198.1 150.74,-198.1"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="237.59" y="-210.56" font-family="DejaVu Sans" font-size="10.00" fill="#334155">  Ergebnis + Kostenzerlegung + Logs</text>
|
||||
</g>
|
||||
<!-- s4 -->
|
||||
<g id="node5" class="node">
|
||||
<title>s4</title>
|
||||
<path fill="#ecfdf5" stroke="#059669" stroke-width="2" d="M243.79,-64.28C243.79,-64.28 51.38,-64.28 51.38,-64.28 45.38,-64.28 39.38,-58.28 39.38,-52.28 39.38,-52.28 39.38,-12 39.38,-12 39.38,-6 45.38,0 51.38,0 51.38,0 243.79,0 243.79,0 249.79,0 255.79,-6 255.79,-12 255.79,-12 255.79,-52.28 255.79,-52.28 255.79,-58.28 249.79,-64.28 243.79,-64.28"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="59.84" y="-44.29" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#059669">AUSFÜHRUNGSSCHICHT</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="52.34" y="-20.14" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Kalender-Sync / Push-Benachrichtigung</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="52.34" y="-10.14" font-family="DejaVu Sans" font-size="10.00" fill="#1a1a2e">Broker-Order-Routing</text>
|
||||
</g>
|
||||
<!-- s3->s4 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>s3->s4</title>
|
||||
<path fill="none" stroke="#334155" stroke-width="2" d="M147.59,-120.27C147.59,-106.93 147.59,-91.21 147.59,-76.82"/>
|
||||
<polygon fill="#334155" stroke="#334155" stroke-width="2" points="150.74,-77.15 147.59,-68.15 144.44,-77.15 150.74,-77.15"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="174.96" y="-89.53" font-family="DejaVu Sans" font-size="10.00" fill="#334155">  Audit-Trail</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 7.4 KiB |
BIN
OR_HTML_04/bilder_04/kap15_praxisfallen.png
Normal file
|
After Width: | Height: | Size: 84 KiB |
49
OR_HTML_04/bilder_04/kap15_praxisfallen.svg
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
<?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: d17 Pages: 1 -->
|
||||
<svg width="654pt" height="232pt"
|
||||
viewBox="7.00 7.00 646.00 224.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 220.48)">
|
||||
<title>d17</title>
|
||||
<!-- t -->
|
||||
<g id="node1" class="node">
|
||||
<title>t</title>
|
||||
<polygon fill="#1a1a2e" stroke="none" points="12.96,-166.14 12.96,-200.64 618.21,-200.64 618.21,-166.14 12.96,-166.14"/>
|
||||
<polygon fill="none" stroke="#1a1a2e" points="12.96,-166.14 12.96,-200.64 618.21,-200.64 618.21,-166.14 12.96,-166.14"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="191.83" y="-180.29" font-family="DejaVu Sans" font-weight="bold" font-size="13.00" fill="#ffffff">DIE 5 FALLSTRICKE IN DER PRAXIS</text>
|
||||
<polygon fill="#fff1f3" stroke="none" points="12.96,-134.64 12.96,-166.14 230.46,-166.14 230.46,-134.64 12.96,-134.64"/>
|
||||
<polygon fill="none" stroke="#1a1a2e" points="12.96,-134.64 12.96,-166.14 230.46,-166.14 230.46,-134.64 12.96,-134.64"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="21.96" y="-147.69" font-family="DejaVu Sans" font-weight="bold" font-size="11.00" fill="#e11d48">1.  INFEASIBILITY-FALLE</text>
|
||||
<polygon fill="#ffffff" stroke="none" points="230.46,-134.64 230.46,-166.14 618.21,-166.14 618.21,-134.64 230.46,-134.64"/>
|
||||
<polygon fill="none" stroke="#1a1a2e" points="230.46,-134.64 230.46,-166.14 618.21,-166.14 618.21,-134.64 230.46,-134.64"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="239.46" y="-146.69" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">Unlösbare Modelle durch starre, widersprüchliche Hard Constraints</text>
|
||||
<polygon fill="#fffbeb" stroke="none" points="12.96,-103.14 12.96,-134.64 230.46,-134.64 230.46,-103.14 12.96,-103.14"/>
|
||||
<polygon fill="none" stroke="#1a1a2e" points="12.96,-103.14 12.96,-134.64 230.46,-134.64 230.46,-103.14 12.96,-103.14"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="21.96" y="-116.19" font-family="DejaVu Sans" font-weight="bold" font-size="11.00" fill="#d97706">2.  ERKLÄRBARKEITS-LÜCKE</text>
|
||||
<polygon fill="#ffffff" stroke="none" points="230.46,-103.14 230.46,-134.64 618.21,-134.64 618.21,-103.14 230.46,-103.14"/>
|
||||
<polygon fill="none" stroke="#1a1a2e" points="230.46,-103.14 230.46,-134.64 618.21,-134.64 618.21,-103.14 230.46,-103.14"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="239.46" y="-115.19" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">Mangelnde Akzeptanz wegen fehlender Begründungen (Black-Box)</text>
|
||||
<polygon fill="#f5f3ff" stroke="none" points="12.96,-71.64 12.96,-103.14 230.46,-103.14 230.46,-71.64 12.96,-71.64"/>
|
||||
<polygon fill="none" stroke="#1a1a2e" points="12.96,-71.64 12.96,-103.14 230.46,-103.14 230.46,-71.64 12.96,-71.64"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="21.96" y="-84.69" font-family="DejaVu Sans" font-weight="bold" font-size="11.00" fill="#7c3aed">3.  OVERFITTING / REGIME-SHIFT</text>
|
||||
<polygon fill="#ffffff" stroke="none" points="230.46,-71.64 230.46,-103.14 618.21,-103.14 618.21,-71.64 230.46,-71.64"/>
|
||||
<polygon fill="none" stroke="#1a1a2e" points="230.46,-71.64 230.46,-103.14 618.21,-103.14 618.21,-71.64 230.46,-71.64"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="239.46" y="-83.69" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">Perfekt auf die Vergangenheit optimiert – scheitert in Krisen</text>
|
||||
<polygon fill="#ecfeff" stroke="none" points="12.96,-40.14 12.96,-71.64 230.46,-71.64 230.46,-40.14 12.96,-40.14"/>
|
||||
<polygon fill="none" stroke="#1a1a2e" points="12.96,-40.14 12.96,-71.64 230.46,-71.64 230.46,-40.14 12.96,-40.14"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="21.96" y="-53.19" font-family="DejaVu Sans" font-weight="bold" font-size="11.00" fill="#0891b2">4.  DATENVERZUG / LOOKAHEAD</text>
|
||||
<polygon fill="#ffffff" stroke="none" points="230.46,-40.14 230.46,-71.64 618.21,-71.64 618.21,-40.14 230.46,-40.14"/>
|
||||
<polygon fill="none" stroke="#1a1a2e" points="230.46,-40.14 230.46,-71.64 618.21,-71.64 618.21,-40.14 230.46,-40.14"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="239.46" y="-52.19" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">Signale nutzen Daten, die zum Handlungszeitpunkt fehlten</text>
|
||||
<polygon fill="#eef2ff" stroke="none" points="12.96,-8.64 12.96,-40.14 230.46,-40.14 230.46,-8.64 12.96,-8.64"/>
|
||||
<polygon fill="none" stroke="#1a1a2e" points="12.96,-8.64 12.96,-40.14 230.46,-40.14 230.46,-8.64 12.96,-8.64"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="21.96" y="-21.69" font-family="DejaVu Sans" font-weight="bold" font-size="11.00" fill="#4338ca">5.  LAUFZEIT-EXPLOSION</text>
|
||||
<polygon fill="#ffffff" stroke="none" points="230.46,-8.64 230.46,-40.14 618.21,-40.14 618.21,-8.64 230.46,-8.64"/>
|
||||
<polygon fill="none" stroke="#1a1a2e" points="230.46,-8.64 230.46,-40.14 618.21,-40.14 618.21,-8.64 230.46,-8.64"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="239.46" y="-20.69" font-family="DejaVu Sans" font-size="11.00" fill="#1a1a2e">NP-schwere Modelle verfehlen reale Timeouts bei Wachstum</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.2 KiB |
BIN
OR_HTML_04/bilder_04/kap_cvar_var_vergleich.png
Normal file
|
After Width: | Height: | Size: 99 KiB |
2609
OR_HTML_04/bilder_04/kap_cvar_var_vergleich.svg
Normal file
|
After Width: | Height: | Size: 82 KiB |
BIN
OR_HTML_04/bilder_04/kap_fundament_kondition.png
Normal file
|
After Width: | Height: | Size: 132 KiB |
2601
OR_HTML_04/bilder_04/kap_fundament_kondition.svg
Normal file
|
After Width: | Height: | Size: 88 KiB |
BIN
OR_HTML_04/bilder_04/kap_fundament_polyeder.png
Normal file
|
After Width: | Height: | Size: 102 KiB |
2108
OR_HTML_04/bilder_04/kap_fundament_polyeder.svg
Normal file
|
After Width: | Height: | Size: 58 KiB |
BIN
OR_HTML_04/bilder_04/kap_graphen_min_cost_flow.png
Normal file
|
After Width: | Height: | Size: 54 KiB |
95
OR_HTML_04/bilder_04/kap_graphen_min_cost_flow.svg
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
<?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)
|
||||
-->
|
||||
<!-- Pages: 1 -->
|
||||
<svg width="633pt" height="201pt"
|
||||
viewBox="0.00 0.00 633.00 201.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(4 196.84)">
|
||||
<text xml:space="preserve" text-anchor="middle" x="312.56" y="-177.44" font-family="DejaVu Sans" font-size="12.00">Kostenminimaler Fluss: 140 € für 30 Einheiten</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="312.56" y="-163.19" font-family="DejaVu Sans" font-size="12.00">Kantenbeschriftung: Fluss / Kapazität, Kosten je Einheit</text>
|
||||
<!-- Werk_A -->
|
||||
<g id="node1" class="node">
|
||||
<title>Werk_A</title>
|
||||
<path fill="#ecfdf5" stroke="#059669" stroke-width="2" d="M87.54,-156.34C87.54,-156.34 12,-156.34 12,-156.34 6,-156.34 0,-150.34 0,-144.34 0,-144.34 0,-117.13 0,-117.13 0,-111.13 6,-105.13 12,-105.13 12,-105.13 87.54,-105.13 87.54,-105.13 93.54,-105.13 99.54,-111.13 99.54,-117.13 99.54,-117.13 99.54,-144.34 99.54,-144.34 99.54,-150.34 93.54,-156.34 87.54,-156.34"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="49.77" y="-140.36" font-family="DejaVu Sans" font-size="10.00">Werk A</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="49.77" y="-127.61" font-family="DejaVu Sans" font-size="10.00">Angebot +20</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="49.77" y="-114.86" font-family="DejaVu Sans" font-size="10.00">Knotenpreis 4 €</text>
|
||||
</g>
|
||||
<!-- Umschlag -->
|
||||
<g id="node3" class="node">
|
||||
<title>Umschlag</title>
|
||||
<path fill="#f5f3ff" stroke="#7c3aed" stroke-width="2" d="M375.83,-83.34C375.83,-83.34 300.29,-83.34 300.29,-83.34 294.29,-83.34 288.29,-77.34 288.29,-71.34 288.29,-71.34 288.29,-44.13 288.29,-44.13 288.29,-38.13 294.29,-32.13 300.29,-32.13 300.29,-32.13 375.83,-32.13 375.83,-32.13 381.83,-32.13 387.83,-38.13 387.83,-44.13 387.83,-44.13 387.83,-71.34 387.83,-71.34 387.83,-77.34 381.83,-83.34 375.83,-83.34"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="338.06" y="-67.36" font-family="DejaVu Sans" font-size="10.00">Umschlag</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="338.06" y="-54.61" font-family="DejaVu Sans" font-size="10.00">Durchleitung</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="338.06" y="-41.86" font-family="DejaVu Sans" font-size="10.00">Knotenpreis 0 €</text>
|
||||
</g>
|
||||
<!-- Werk_A->Umschlag -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Werk_A->Umschlag</title>
|
||||
<path fill="none" stroke="#b45309" stroke-width="4" d="M100.31,-118.1C147.88,-105.97 220.02,-87.58 272.16,-74.29"/>
|
||||
<polygon fill="#b45309" stroke="#b45309" stroke-width="4" points="272.95,-77.69 281.78,-71.83 271.23,-70.91 272.95,-77.69"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="193.91" y="-109.82" font-family="DejaVu Sans" font-size="9.00" fill="#b45309">15 / 15, 2 €  ⟵ voll</text>
|
||||
</g>
|
||||
<!-- Kunde_1 -->
|
||||
<g id="node4" class="node">
|
||||
<title>Kunde_1</title>
|
||||
<path fill="#eef2ff" stroke="#4338ca" stroke-width="2" d="M613.12,-156.34C613.12,-156.34 533.83,-156.34 533.83,-156.34 527.83,-156.34 521.83,-150.34 521.83,-144.34 521.83,-144.34 521.83,-117.13 521.83,-117.13 521.83,-111.13 527.83,-105.13 533.83,-105.13 533.83,-105.13 613.12,-105.13 613.12,-105.13 619.12,-105.13 625.12,-111.13 625.12,-117.13 625.12,-117.13 625.12,-144.34 625.12,-144.34 625.12,-150.34 619.12,-156.34 613.12,-156.34"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="573.47" y="-140.36" font-family="DejaVu Sans" font-size="10.00">Kunde 1</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="573.47" y="-127.61" font-family="DejaVu Sans" font-size="10.00">Bedarf -15</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="573.47" y="-114.86" font-family="DejaVu Sans" font-size="10.00">Knotenpreis -1 €</text>
|
||||
</g>
|
||||
<!-- Werk_A->Kunde_1 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Werk_A->Kunde_1</title>
|
||||
<path fill="none" stroke="#0891b2" stroke-width="2.5" d="M100.32,-130.74C195.01,-130.74 401.63,-130.74 507.34,-130.74"/>
|
||||
<polygon fill="#0891b2" stroke="#0891b2" stroke-width="2.5" points="507.17,-134.24 517.17,-130.74 507.17,-127.24 507.17,-134.24"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="338.06" y="-133.44" font-family="DejaVu Sans" font-size="9.00" fill="#334155">5 / 10, 5 €</text>
|
||||
</g>
|
||||
<!-- Werk_B -->
|
||||
<g id="node2" class="node">
|
||||
<title>Werk_B</title>
|
||||
<path fill="#ecfdf5" stroke="#059669" stroke-width="2" d="M87.54,-57.34C87.54,-57.34 12,-57.34 12,-57.34 6,-57.34 0,-51.34 0,-45.34 0,-45.34 0,-18.13 0,-18.13 0,-12.13 6,-6.13 12,-6.13 12,-6.13 87.54,-6.13 87.54,-6.13 93.54,-6.13 99.54,-12.13 99.54,-18.13 99.54,-18.13 99.54,-45.34 99.54,-45.34 99.54,-51.34 93.54,-57.34 87.54,-57.34"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="49.77" y="-41.36" font-family="DejaVu Sans" font-size="10.00">Werk B</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="49.77" y="-28.61" font-family="DejaVu Sans" font-size="10.00">Angebot +10</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="49.77" y="-15.86" font-family="DejaVu Sans" font-size="10.00">Knotenpreis 4 €</text>
|
||||
</g>
|
||||
<!-- Werk_B->Umschlag -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Werk_B->Umschlag</title>
|
||||
<path fill="none" stroke="#cbd5e1" stroke-dasharray="5,2" d="M100.31,-36.24C149.22,-40.68 224.08,-47.48 276.49,-52.24"/>
|
||||
<polygon fill="#cbd5e1" stroke="#cbd5e1" points="275.86,-55.69 286.14,-53.11 276.5,-48.72 275.86,-55.69"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="193.91" y="-52.03" font-family="DejaVu Sans" font-size="9.00" fill="#94a3b8">0 / 10, 4 €  (ungenutzt)</text>
|
||||
</g>
|
||||
<!-- Kunde_2 -->
|
||||
<g id="node5" class="node">
|
||||
<title>Kunde_2</title>
|
||||
<path fill="#eef2ff" stroke="#4338ca" stroke-width="2" d="M613.12,-57.34C613.12,-57.34 533.83,-57.34 533.83,-57.34 527.83,-57.34 521.83,-51.34 521.83,-45.34 521.83,-45.34 521.83,-18.13 521.83,-18.13 521.83,-12.13 527.83,-6.13 533.83,-6.13 533.83,-6.13 613.12,-6.13 613.12,-6.13 619.12,-6.13 625.12,-12.13 625.12,-18.13 625.12,-18.13 625.12,-45.34 625.12,-45.34 625.12,-51.34 619.12,-57.34 613.12,-57.34"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="573.47" y="-41.36" font-family="DejaVu Sans" font-size="10.00">Kunde 2</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="573.47" y="-28.61" font-family="DejaVu Sans" font-size="10.00">Bedarf -15</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="573.47" y="-15.86" font-family="DejaVu Sans" font-size="10.00">Knotenpreis -3 €</text>
|
||||
</g>
|
||||
<!-- Werk_B->Kunde_2 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>Werk_B->Kunde_2</title>
|
||||
<path fill="none" stroke="#b45309" stroke-width="4" d="M100.44,-22.29C166.16,-10.96 285.65,5.56 387.83,-2.49 427.11,-5.58 470.66,-12.32 505.6,-18.55"/>
|
||||
<polygon fill="#b45309" stroke="#b45309" stroke-width="4" points="504.58,-21.92 515.04,-20.27 505.84,-15.03 504.58,-21.92"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="338.06" y="-5.19" font-family="DejaVu Sans" font-size="9.00" fill="#b45309">10 / 10, 6 €  ⟵ voll</text>
|
||||
</g>
|
||||
<!-- Umschlag->Kunde_1 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>Umschlag->Kunde_1</title>
|
||||
<path fill="none" stroke="#0891b2" stroke-width="2.5" d="M388.56,-73.22C423.4,-84.11 470.35,-98.8 508.09,-110.6"/>
|
||||
<polygon fill="#0891b2" stroke="#0891b2" stroke-width="2.5" points="506.83,-113.87 517.41,-113.52 508.91,-107.19 506.83,-113.87"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="454.83" y="-103.48" font-family="DejaVu Sans" font-size="9.00" fill="#334155">10 / 20, 1 €</text>
|
||||
</g>
|
||||
<!-- Umschlag->Kunde_2 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>Umschlag->Kunde_2</title>
|
||||
<path fill="none" stroke="#0891b2" stroke-width="2.5" d="M388.56,-52.22C423.24,-48.36 469.94,-43.16 507.6,-38.96"/>
|
||||
<polygon fill="#0891b2" stroke="#0891b2" stroke-width="2.5" points="507.71,-42.47 517.26,-37.89 506.94,-35.52 507.71,-42.47"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="454.83" y="-50.53" font-family="DejaVu Sans" font-size="9.00" fill="#334155">5 / 10, 3 €</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 8 KiB |
BIN
OR_HTML_04/bilder_04/kap_graphen_vrp_touren.png
Normal file
|
After Width: | Height: | Size: 142 KiB |
1889
OR_HTML_04/bilder_04/kap_graphen_vrp_touren.svg
Normal file
|
After Width: | Height: | Size: 58 KiB |
BIN
OR_HTML_04/bilder_04/kap_lp_simplex_ecken.png
Normal file
|
After Width: | Height: | Size: 101 KiB |
2018
OR_HTML_04/bilder_04/kap_lp_simplex_ecken.svg
Normal file
|
After Width: | Height: | Size: 57 KiB |
BIN
OR_HTML_04/bilder_04/kap_markowitz_restriktionen.png
Normal file
|
After Width: | Height: | Size: 99 KiB |
1873
OR_HTML_04/bilder_04/kap_markowitz_restriktionen.svg
Normal file
|
After Width: | Height: | Size: 57 KiB |
BIN
OR_HTML_04/bilder_04/kap_mehrziel_pareto.png
Normal file
|
After Width: | Height: | Size: 94 KiB |
1788
OR_HTML_04/bilder_04/kap_mehrziel_pareto.svg
Normal file
|
After Width: | Height: | Size: 55 KiB |
BIN
OR_HTML_04/bilder_04/kap_metaheuristiken_landschaft.png
Normal file
|
After Width: | Height: | Size: 157 KiB |
2900
OR_HTML_04/bilder_04/kap_metaheuristiken_landschaft.svg
Normal file
|
After Width: | Height: | Size: 90 KiB |
BIN
OR_HTML_04/bilder_04/kap_milp_runden.png
Normal file
|
After Width: | Height: | Size: 138 KiB |
3177
OR_HTML_04/bilder_04/kap_milp_runden.svg
Normal file
|
After Width: | Height: | Size: 98 KiB |
BIN
OR_HTML_04/bilder_04/kap_milp_suchbaum.png
Normal file
|
After Width: | Height: | Size: 46 KiB |
89
OR_HTML_04/bilder_04/kap_milp_suchbaum.svg
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
<?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)
|
||||
-->
|
||||
<!-- Pages: 1 -->
|
||||
<svg width="581pt" height="301pt"
|
||||
viewBox="0.00 0.00 581.00 301.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(4 296.63)">
|
||||
<text xml:space="preserve" text-anchor="middle" x="286.68" y="-277.23" font-family="DejaVu Sans" font-size="12.00">Branch-and-Bound: 5 gelöste LPs statt aller ganzzahligen Punkte</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="286.68" y="-262.98" font-family="DejaVu Sans" font-size="12.00">max 5x₁ + 4x₂  u.d.N.  6x₁+4x₂ ≤ 24,  x₁+2x₂ ≤ 6</text>
|
||||
<!-- P₀ -->
|
||||
<g id="node1" class="node">
|
||||
<title>P₀</title>
|
||||
<path fill="#eef2ff" stroke="#4338ca" stroke-width="2" d="M356.91,-256.13C356.91,-256.13 216.88,-256.13 216.88,-256.13 210.88,-256.13 204.88,-250.13 204.88,-244.13 204.88,-244.13 204.88,-216.92 204.88,-216.92 204.88,-210.92 210.88,-204.92 216.88,-204.92 216.88,-204.92 356.91,-204.92 356.91,-204.92 362.91,-204.92 368.91,-210.92 368.91,-216.92 368.91,-216.92 368.91,-244.13 368.91,-244.13 368.91,-250.13 362.91,-256.13 356.91,-256.13"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="286.89" y="-240.15" font-family="DejaVu Sans" font-size="10.00">P₀</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="286.89" y="-227.4" font-family="DejaVu Sans" font-size="10.00">x = (3; 1,5), Schranke Z ≤ 21</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="286.89" y="-214.65" font-family="DejaVu Sans" font-size="10.00">x2 gebrochen — verzweigen</text>
|
||||
</g>
|
||||
<!-- A -->
|
||||
<g id="node2" class="node">
|
||||
<title>A</title>
|
||||
<path fill="#ecfeff" stroke="#0891b2" stroke-width="2" d="M270.41,-153.67C270.41,-153.67 109.38,-153.67 109.38,-153.67 103.38,-153.67 97.37,-147.67 97.37,-141.67 97.37,-141.67 97.37,-114.46 97.37,-114.46 97.37,-108.46 103.37,-102.46 109.37,-102.46 109.37,-102.46 270.41,-102.46 270.41,-102.46 276.41,-102.46 282.41,-108.46 282.41,-114.46 282.41,-114.46 282.41,-141.67 282.41,-141.67 282.41,-147.67 276.41,-153.67 270.41,-153.67"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="189.89" y="-137.69" font-family="DejaVu Sans" font-size="10.00">A</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="189.89" y="-124.94" font-family="DejaVu Sans" font-size="10.00">x = (3,33; 1), Schranke Z ≤ 20,67</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="189.89" y="-112.19" font-family="DejaVu Sans" font-size="10.00">x1 gebrochen — verzweigen</text>
|
||||
</g>
|
||||
<!-- P₀->A -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>P₀->A</title>
|
||||
<path fill="none" stroke="#5c6380" d="M262.42,-204.17C250.24,-191.56 235.36,-176.15 222.26,-162.58"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="224.88,-160.26 215.42,-155.5 219.84,-165.12 224.88,-160.26"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="256.68" y="-176.37" font-family="DejaVu Sans" font-size="9.00">x2 ≤ 1</text>
|
||||
</g>
|
||||
<!-- B -->
|
||||
<g id="node5" class="node">
|
||||
<title>B</title>
|
||||
<path fill="#fffbeb" stroke="#b45309" stroke-width="2" d="M439.41,-153.67C439.41,-153.67 326.38,-153.67 326.38,-153.67 320.38,-153.67 314.38,-147.67 314.38,-141.67 314.38,-141.67 314.38,-114.46 314.38,-114.46 314.38,-108.46 320.38,-102.46 326.38,-102.46 326.38,-102.46 439.41,-102.46 439.41,-102.46 445.41,-102.46 451.41,-108.46 451.41,-114.46 451.41,-114.46 451.41,-141.67 451.41,-141.67 451.41,-147.67 445.41,-153.67 439.41,-153.67"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="382.89" y="-137.69" font-family="DejaVu Sans" font-size="10.00">B</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="382.89" y="-124.94" font-family="DejaVu Sans" font-size="10.00">Z = 18 ≤ Incumbent 20</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="382.89" y="-112.19" font-family="DejaVu Sans" font-size="10.00">→ gekappt</text>
|
||||
</g>
|
||||
<!-- P₀->B -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>P₀->B</title>
|
||||
<path fill="none" stroke="#5c6380" d="M311.12,-204.17C323.17,-191.56 337.9,-176.15 350.87,-162.58"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="353.25,-165.15 357.63,-155.5 348.19,-160.31 353.25,-165.15"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="353.15" y="-176.37" font-family="DejaVu Sans" font-size="9.00">x2 ≥ 2</text>
|
||||
</g>
|
||||
<!-- A1 -->
|
||||
<g id="node3" class="node">
|
||||
<title>A1</title>
|
||||
<path fill="#ecfdf5" stroke="#059669" stroke-width="2" d="M161.79,-51.21C161.79,-51.21 12,-51.21 12,-51.21 6,-51.21 0,-45.21 0,-39.21 0,-39.21 0,-12 0,-12 0,-6 6,0 12,0 12,0 161.79,0 161.79,0 167.79,0 173.79,-6 173.79,-12 173.79,-12 173.79,-39.21 173.79,-39.21 173.79,-45.21 167.79,-51.21 161.79,-51.21"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="86.89" y="-35.23" font-family="DejaVu Sans" font-size="10.00">A1</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="86.89" y="-22.48" font-family="DejaVu Sans" font-size="10.00">x = (3; 1), Z = 19</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="86.89" y="-9.73" font-family="DejaVu Sans" font-size="10.00">ganzzahlig — neuer Incumbent</text>
|
||||
</g>
|
||||
<!-- A->A1 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>A->A1</title>
|
||||
<path fill="none" stroke="#5c6380" d="M163.9,-101.71C150.85,-88.98 134.87,-73.4 120.86,-59.74"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="123.56,-57.48 113.96,-53 118.68,-62.49 123.56,-57.48"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="156.86" y="-73.91" font-family="DejaVu Sans" font-size="9.00">x1 ≤ 3</text>
|
||||
</g>
|
||||
<!-- A2 -->
|
||||
<g id="node4" class="node">
|
||||
<title>A2</title>
|
||||
<path fill="#ecfdf5" stroke="#059669" stroke-width="2" d="M367.79,-51.21C367.79,-51.21 218,-51.21 218,-51.21 212,-51.21 206,-45.21 206,-39.21 206,-39.21 206,-12 206,-12 206,-6 212,0 218,0 218,0 367.79,0 367.79,0 373.79,0 379.79,-6 379.79,-12 379.79,-12 379.79,-39.21 379.79,-39.21 379.79,-45.21 373.79,-51.21 367.79,-51.21"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="292.89" y="-35.23" font-family="DejaVu Sans" font-size="10.00">A2</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="292.89" y="-22.48" font-family="DejaVu Sans" font-size="10.00">x = (4; 0), Z = 20</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="292.89" y="-9.73" font-family="DejaVu Sans" font-size="10.00">ganzzahlig — neuer Incumbent</text>
|
||||
</g>
|
||||
<!-- A->A2 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>A->A2</title>
|
||||
<path fill="none" stroke="#5c6380" d="M215.89,-101.71C228.94,-88.98 244.92,-73.4 258.93,-59.74"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="261.11,-62.49 265.83,-53 256.23,-57.48 261.11,-62.49"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="259.86" y="-73.91" font-family="DejaVu Sans" font-size="9.00">x1 ≥ 4</text>
|
||||
</g>
|
||||
<!-- ergebnis -->
|
||||
<g id="node6" class="node">
|
||||
<title>ergebnis</title>
|
||||
<polygon fill="#f8fafc" stroke="#94a3b8" points="567.36,-248.53 400.44,-248.53 400.44,-212.53 573.36,-212.53 573.36,-242.53 567.36,-248.53"/>
|
||||
<polyline fill="none" stroke="#94a3b8" points="567.36,-248.53 567.36,-242.53"/>
|
||||
<polyline fill="none" stroke="#94a3b8" points="573.36,-242.53 567.36,-242.53"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="486.89" y="-227.4" font-family="DejaVu Sans" font-size="10.00">Optimum: x* = (4; 0), Z* = 20</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 7.3 KiB |
BIN
OR_HTML_04/bilder_04/kap_praxisfallen_schichten.png
Normal file
|
After Width: | Height: | Size: 68 KiB |
103
OR_HTML_04/bilder_04/kap_praxisfallen_schichten.svg
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
<?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)
|
||||
-->
|
||||
<!-- Pages: 1 -->
|
||||
<svg width="709pt" height="369pt"
|
||||
viewBox="0.00 0.00 709.00 369.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(4 364.66)">
|
||||
<text xml:space="preserve" text-anchor="middle" x="350.58" y="-344.31" font-family="DejaVu Sans" font-size="13.00">Die Schichten von or_kern.py — alle Pfeile zeigen nach innen</text>
|
||||
<!-- io -->
|
||||
<g id="node1" class="node">
|
||||
<title>io</title>
|
||||
<path fill="#fffbeb" stroke="#b45309" stroke-width="2" d="M248.04,-237.7C248.04,-237.7 12,-237.7 12,-237.7 6,-237.7 0,-231.7 0,-225.7 0,-225.7 0,-198.49 0,-198.49 0,-192.49 6,-186.49 12,-186.49 12,-186.49 248.04,-186.49 248.04,-186.49 254.04,-186.49 260.04,-192.49 260.04,-198.49 260.04,-198.49 260.04,-225.7 260.04,-225.7 260.04,-231.7 254.04,-237.7 248.04,-237.7"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="130.02" y="-221.72" font-family="DejaVu Sans" font-size="10.00">Ein- und Ausgabe</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="130.02" y="-208.97" font-family="DejaVu Sans" font-size="10.00">lade_produktionsproblem() · schreibe_ergebnis()</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="130.02" y="-196.22" font-family="DejaVu Sans" font-size="10.00">Excel, CSV — die Wirklichkeit des Anwenders</text>
|
||||
</g>
|
||||
<!-- dom -->
|
||||
<g id="node5" class="node">
|
||||
<title>dom</title>
|
||||
<path fill="#eef2ff" stroke="#4338ca" stroke-width="2" d="M465.04,-139.24C465.04,-139.24 271,-139.24 271,-139.24 265,-139.24 259,-133.24 259,-127.24 259,-127.24 259,-100.03 259,-100.03 259,-94.03 265,-88.03 271,-88.03 271,-88.03 465.04,-88.03 465.04,-88.03 471.04,-88.03 477.04,-94.03 477.04,-100.03 477.04,-100.03 477.04,-127.24 477.04,-127.24 477.04,-133.24 471.04,-139.24 465.04,-139.24"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="368.02" y="-123.26" font-family="DejaVu Sans" font-size="10.00">Domäne</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="368.02" y="-110.51" font-family="DejaVu Sans" font-size="10.00">Produkt · Produktionsproblem</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="368.02" y="-97.76" font-family="DejaVu Sans" font-size="10.00">validiert (Pydantic), kennt keinen Solver</text>
|
||||
</g>
|
||||
<!-- io->dom -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>io->dom</title>
|
||||
<path fill="none" stroke="#5c6380" d="M153.56,-185.74C166.52,-171.78 180.02,-157.24 180.02,-157.24 180.02,-157.24 210.63,-150.3 247.15,-142.03"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="247.66,-145.5 256.64,-139.88 246.11,-138.67 247.66,-145.5"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="235.52" y="-159.94" font-family="DejaVu Sans" font-size="9.00">liest ein, schreibt zurück</text>
|
||||
</g>
|
||||
<!-- bau -->
|
||||
<g id="node2" class="node">
|
||||
<title>bau</title>
|
||||
<path fill="#f5f3ff" stroke="#7c3aed" stroke-width="2" d="M432.04,-336.16C432.04,-336.16 256,-336.16 256,-336.16 250,-336.16 244,-330.16 244,-324.16 244,-324.16 244,-296.95 244,-296.95 244,-290.95 250,-284.95 256,-284.95 256,-284.95 432.04,-284.95 432.04,-284.95 438.04,-284.95 444.04,-290.95 444.04,-296.95 444.04,-296.95 444.04,-324.16 444.04,-324.16 444.04,-330.16 438.04,-336.16 432.04,-336.16"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="344.02" y="-320.18" font-family="DejaVu Sans" font-size="10.00">Modellbauer — austauschbar</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="344.02" y="-307.43" font-family="DejaVu Sans" font-size="10.00">loese_mit_glop() · loese_mit_scipy()</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="344.02" y="-294.68" font-family="DejaVu Sans" font-size="10.00">je Solver einer, gleiche Signatur</text>
|
||||
</g>
|
||||
<!-- erg -->
|
||||
<g id="node4" class="node">
|
||||
<title>erg</title>
|
||||
<path fill="#ecfeff" stroke="#0891b2" stroke-width="2" d="M588.66,-237.7C588.66,-237.7 437.38,-237.7 437.38,-237.7 431.38,-237.7 425.38,-231.7 425.38,-225.7 425.38,-225.7 425.38,-198.49 425.38,-198.49 425.38,-192.49 431.38,-186.49 437.38,-186.49 437.38,-186.49 588.66,-186.49 588.66,-186.49 594.66,-186.49 600.66,-192.49 600.66,-198.49 600.66,-198.49 600.66,-225.7 600.66,-225.7 600.66,-231.7 594.66,-237.7 588.66,-237.7"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="513.02" y="-221.72" font-family="DejaVu Sans" font-size="10.00">Ergebnis — solverunabhängig</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="513.02" y="-208.97" font-family="DejaVu Sans" font-size="10.00">SolverStatus · Loesung</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="513.02" y="-196.22" font-family="DejaVu Sans" font-size="10.00">fünf Bibliotheken, eine Sprache</text>
|
||||
</g>
|
||||
<!-- bau->erg -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>bau->erg</title>
|
||||
<path fill="none" stroke="#5c6380" d="M388.87,-283.96C410.25,-271.76 436.01,-257.05 458.51,-244.21"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="459.99,-247.39 466.94,-239.39 456.52,-241.31 459.99,-247.39"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="446.34" y="-258.4" font-family="DejaVu Sans" font-size="9.00">liefert</text>
|
||||
</g>
|
||||
<!-- bau->dom -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>bau->dom</title>
|
||||
<path fill="none" stroke="#5c6380" d="M336.56,-284.02C330.52,-263.37 323.02,-237.7 323.02,-237.7 323.02,-237.7 323.02,-186.49 323.02,-186.49 323.02,-186.49 334.57,-168.05 345.97,-149.85"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="348.88,-151.79 351.22,-141.45 342.95,-148.07 348.88,-151.79"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="368.02" y="-209.17" font-family="DejaVu Sans" font-size="9.00">baut das Modell aus</text>
|
||||
</g>
|
||||
<!-- pruef -->
|
||||
<g id="node3" class="node">
|
||||
<title>pruef</title>
|
||||
<path fill="#ecfdf5" stroke="#059669" stroke-width="2" d="M689.16,-336.16C689.16,-336.16 546.88,-336.16 546.88,-336.16 540.88,-336.16 534.88,-330.16 534.88,-324.16 534.88,-324.16 534.88,-296.95 534.88,-296.95 534.88,-290.95 540.88,-284.95 546.88,-284.95 546.88,-284.95 689.16,-284.95 689.16,-284.95 695.16,-284.95 701.16,-290.95 701.16,-296.95 701.16,-296.95 701.16,-324.16 701.16,-324.16 701.16,-330.16 695.16,-336.16 689.16,-336.16"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="618.02" y="-320.18" font-family="DejaVu Sans" font-size="10.00">Abnahmeprüfung</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="618.02" y="-307.43" font-family="DejaVu Sans" font-size="10.00">pruefe_loesung()</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="618.02" y="-294.68" font-family="DejaVu Sans" font-size="10.00">prüft die Lösung OHNE Solver</text>
|
||||
</g>
|
||||
<!-- pruef->erg -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>pruef->erg</title>
|
||||
<path fill="none" stroke="#5c6380" d="M590.16,-283.96C577.48,-272.31 562.32,-258.39 548.81,-245.97"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="551.49,-243.69 541.76,-239.5 546.76,-248.84 551.49,-243.69"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="579.92" y="-258.4" font-family="DejaVu Sans" font-size="9.00">prüft</text>
|
||||
</g>
|
||||
<!-- pruef->dom -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>pruef->dom</title>
|
||||
<path fill="none" stroke="#5c6380" d="M616.98,-284.06C615.52,-248.01 613.02,-186.49 613.02,-186.49 613.02,-186.49 534.17,-163.36 465.93,-143.35"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="467.12,-140.05 456.54,-140.6 465.15,-146.77 467.12,-140.05"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="642.02" y="-209.17" font-family="DejaVu Sans" font-size="9.00">prüft gegen</text>
|
||||
</g>
|
||||
<!-- erg->dom -->
|
||||
<!-- regel -->
|
||||
<g id="node6" class="node">
|
||||
<title>regel</title>
|
||||
<polygon fill="#f8fafc" stroke="#94a3b8" points="487.85,-51.03 242.19,-51.03 242.19,0 493.85,0 493.85,-45.03 487.85,-51.03"/>
|
||||
<polyline fill="none" stroke="#94a3b8" points="487.85,-51.03 487.85,-45.03"/>
|
||||
<polyline fill="none" stroke="#94a3b8" points="493.85,-45.03 487.85,-45.03"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="255.14" y="-33.84" font-family="DejaVu Sans" font-size="9.00">Die Domäne importiert nichts von außen.</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="255.14" y="-22.59" font-family="DejaVu Sans" font-size="9.00">Deshalb kostet ein Solverwechsel eine Funktion —</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="255.14" y="-11.34" font-family="DejaVu Sans" font-size="9.00">und kein einziges Fachdetail.</text>
|
||||
</g>
|
||||
<!-- dom->regel -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>dom->regel</title>
|
||||
<path fill="none" stroke="#94a3b8" stroke-dasharray="5,2" d="M368.02,-87.26C368.02,-75.95 368.02,-62.67 368.02,-51.41"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 8.5 KiB |
BIN
OR_HTML_04/bilder_04/kap_qp_kkt.png
Normal file
|
After Width: | Height: | Size: 194 KiB |
3473
OR_HTML_04/bilder_04/kap_qp_kkt.svg
Normal file
|
After Width: | Height: | Size: 100 KiB |
BIN
OR_HTML_04/bilder_04/kap_testing_dienst.png
Normal file
|
After Width: | Height: | Size: 75 KiB |
144
OR_HTML_04/bilder_04/kap_testing_dienst.svg
Normal file
|
|
@ -0,0 +1,144 @@
|
|||
<?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)
|
||||
-->
|
||||
<!-- Pages: 1 -->
|
||||
<svg width="496pt" height="553pt"
|
||||
viewBox="0.00 0.00 496.00 553.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(4 549.04)">
|
||||
<text xml:space="preserve" text-anchor="middle" x="244.04" y="-528.69" font-family="DejaVu Sans" font-size="13.00">Optimierungsdienst: warum die Antwort 202 lautet, nicht 200</text>
|
||||
<!-- klient -->
|
||||
<g id="node1" class="node">
|
||||
<title>klient</title>
|
||||
<path fill="#ecfeff" stroke="#0891b2" stroke-width="2" d="M237.91,-520.54C237.91,-520.54 129.38,-520.54 129.38,-520.54 123.38,-520.54 117.37,-514.54 117.37,-508.54 117.37,-508.54 117.37,-494.08 117.37,-494.08 117.37,-488.08 123.37,-482.08 129.38,-482.08 129.38,-482.08 237.91,-482.08 237.91,-482.08 243.91,-482.08 249.91,-488.08 249.91,-494.08 249.91,-494.08 249.91,-508.54 249.91,-508.54 249.91,-514.54 243.91,-520.54 237.91,-520.54"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="183.64" y="-504.56" font-family="DejaVu Sans" font-size="10.00">Aufrufer</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="183.64" y="-491.81" font-family="DejaVu Sans" font-size="10.00">(curl, Fachanwendung)</text>
|
||||
</g>
|
||||
<!-- post -->
|
||||
<g id="node2" class="node">
|
||||
<title>post</title>
|
||||
<path fill="#eef2ff" stroke="#4338ca" stroke-width="2" d="M394.04,-445.08C394.04,-445.08 283.25,-445.08 283.25,-445.08 277.25,-445.08 271.25,-439.08 271.25,-433.08 271.25,-433.08 271.25,-418.62 271.25,-418.62 271.25,-412.62 277.25,-406.62 283.25,-406.62 283.25,-406.62 394.04,-406.62 394.04,-406.62 400.04,-406.62 406.04,-412.62 406.04,-418.62 406.04,-418.62 406.04,-433.08 406.04,-433.08 406.04,-439.08 400.04,-445.08 394.04,-445.08"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="338.64" y="-429.1" font-family="DejaVu Sans" font-size="10.00">POST /plaene</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="338.64" y="-416.35" font-family="DejaVu Sans" font-size="10.00">JSON mit dem Problem</text>
|
||||
</g>
|
||||
<!-- klient->post -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>klient->post</title>
|
||||
<path fill="none" stroke="#5c6380" d="M223.96,-481.2C243.53,-471.93 267.24,-460.69 288.02,-450.85"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="289.35,-454.08 296.89,-446.64 286.35,-447.76 289.35,-454.08"/>
|
||||
</g>
|
||||
<!-- get -->
|
||||
<g id="node7" class="node">
|
||||
<title>get</title>
|
||||
<path fill="#eef2ff" stroke="#4338ca" stroke-width="2" d="M157.29,-44.75C157.29,-44.75 12,-44.75 12,-44.75 6,-44.75 0,-38.75 0,-32.75 0,-32.75 0,-18.28 0,-18.28 0,-12.28 6,-6.29 12,-6.29 12,-6.29 157.29,-6.29 157.29,-6.29 163.29,-6.29 169.29,-12.29 169.29,-18.29 169.29,-18.29 169.29,-32.75 169.29,-32.75 169.29,-38.75 163.29,-44.75 157.29,-44.75"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="84.64" y="-28.77" font-family="DejaVu Sans" font-size="10.00">GET /plaene/{id}</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="84.64" y="-16.02" font-family="DejaVu Sans" font-size="10.00">laeuft · fertig · fehlgeschlagen</text>
|
||||
</g>
|
||||
<!-- klient->get -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>klient->get</title>
|
||||
<path fill="none" stroke="#5c6380" d="M157.63,-481.2C128,-459.44 83.64,-426.85 83.64,-426.85 83.64,-426.85 83.64,-426.85 83.64,-116.51 83.64,-116.51 84.02,-83.05 84.31,-56.94"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="87.8,-57.15 84.42,-47.11 80.81,-57.07 87.8,-57.15"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="107.27" y="-255.9" font-family="DejaVu Sans" font-size="9.00">fragt nach</text>
|
||||
</g>
|
||||
<!-- gesund -->
|
||||
<g id="node8" class="node">
|
||||
<title>gesund</title>
|
||||
<path fill="#ecfeff" stroke="#0891b2" stroke-width="2" d="M233.79,-445.08C233.79,-445.08 133.5,-445.08 133.5,-445.08 127.5,-445.08 121.5,-439.08 121.5,-433.08 121.5,-433.08 121.5,-418.62 121.5,-418.62 121.5,-412.62 127.5,-406.62 133.5,-406.62 133.5,-406.62 233.79,-406.62 233.79,-406.62 239.79,-406.62 245.79,-412.62 245.79,-418.62 245.79,-418.62 245.79,-433.08 245.79,-433.08 245.79,-439.08 239.79,-445.08 233.79,-445.08"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="183.64" y="-429.1" font-family="DejaVu Sans" font-size="10.00">GET /gesundheit</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="183.64" y="-416.35" font-family="DejaVu Sans" font-size="10.00">für die Überwachung</text>
|
||||
</g>
|
||||
<!-- klient->gesund -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>klient->gesund</title>
|
||||
<path fill="none" stroke="#5c6380" stroke-dasharray="1,5" d="M183.64,-481.39C183.64,-474.08 183.64,-465.53 183.64,-457.39"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="187.15,-457.47 183.65,-447.47 180.15,-457.47 187.15,-457.47"/>
|
||||
</g>
|
||||
<!-- valid -->
|
||||
<g id="node3" class="node">
|
||||
<title>valid</title>
|
||||
<path fill="#f5f3ff" stroke="#7c3aed" stroke-width="2" d="M317.6,-354.68C317.6,-354.68 249.15,-325.6 249.15,-325.6 243.63,-323.26 243.63,-318.56 249.15,-316.22 249.15,-316.22 317.6,-287.14 317.6,-287.14 323.12,-284.8 334.17,-284.8 339.69,-287.14 339.69,-287.14 408.14,-316.22 408.14,-316.22 413.66,-318.56 413.66,-323.26 408.14,-325.6 408.14,-325.6 339.69,-354.68 339.69,-354.68 334.17,-357.02 323.12,-357.02 317.6,-354.68"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="328.64" y="-324.16" font-family="DejaVu Sans" font-size="10.00">Pydantic prüft</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="328.64" y="-311.41" font-family="DejaVu Sans" font-size="10.00">die Eingabe</text>
|
||||
</g>
|
||||
<!-- post->valid -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>post->valid</title>
|
||||
<path fill="none" stroke="#5c6380" d="M336.81,-405.97C335.82,-395.73 334.54,-382.58 333.29,-369.73"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="336.81,-369.71 332.35,-360.1 329.84,-370.39 336.81,-369.71"/>
|
||||
</g>
|
||||
<!-- fehler -->
|
||||
<g id="node4" class="node">
|
||||
<title>fehler</title>
|
||||
<path fill="#fffbeb" stroke="#b45309" stroke-width="2" d="M247.29,-235.2C247.29,-235.2 144,-235.2 144,-235.2 138,-235.2 132,-229.2 132,-223.2 132,-223.2 132,-195.99 132,-195.99 132,-189.99 138,-183.99 144,-183.99 144,-183.99 247.29,-183.99 247.29,-183.99 253.29,-183.99 259.29,-189.99 259.29,-195.99 259.29,-195.99 259.29,-223.2 259.29,-223.2 259.29,-229.2 253.29,-235.2 247.29,-235.2"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="195.64" y="-219.22" font-family="DejaVu Sans" font-size="10.00">422</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="195.64" y="-206.47" font-family="DejaVu Sans" font-size="10.00">Fehler benannt,</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="195.64" y="-193.72" font-family="DejaVu Sans" font-size="10.00">bevor ein Solver läuft</text>
|
||||
</g>
|
||||
<!-- valid->fehler -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>valid->fehler</title>
|
||||
<path fill="none" stroke="#5c6380" d="M297.8,-294.56C279.3,-279.35 255.57,-259.85 235.64,-243.47"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="237.9,-240.8 227.95,-237.15 233.46,-246.2 237.9,-240.8"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="277.28" y="-255.9" font-family="DejaVu Sans" font-size="9.00">ungültig</text>
|
||||
</g>
|
||||
<!-- an -->
|
||||
<g id="node5" class="node">
|
||||
<title>an</title>
|
||||
<path fill="#ecfdf5" stroke="#059669" stroke-width="2" d="M361.16,-228.83C361.16,-228.83 296.12,-228.83 296.12,-228.83 290.12,-228.83 284.12,-222.83 284.12,-216.83 284.12,-216.83 284.12,-202.37 284.12,-202.37 284.12,-196.37 290.12,-190.37 296.12,-190.37 296.12,-190.37 361.16,-190.37 361.16,-190.37 367.16,-190.37 373.16,-196.37 373.16,-202.37 373.16,-202.37 373.16,-216.83 373.16,-216.83 373.16,-222.83 367.16,-228.83 361.16,-228.83"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="328.64" y="-212.85" font-family="DejaVu Sans" font-size="10.00">202 Accepted</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="328.64" y="-200.1" font-family="DejaVu Sans" font-size="10.00">+ Auftrags-ID</text>
|
||||
</g>
|
||||
<!-- valid->an -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>valid->an</title>
|
||||
<path fill="none" stroke="#5c6380" d="M328.64,-281.37C328.64,-268.14 328.64,-253.53 328.64,-241.03"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="332.15,-241.33 328.65,-231.33 325.15,-241.33 332.15,-241.33"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="341.77" y="-255.9" font-family="DejaVu Sans" font-size="9.00">gültig</text>
|
||||
</g>
|
||||
<!-- an->klient -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>an->klient</title>
|
||||
<path fill="none" stroke="#5c6380" stroke-dasharray="5,2" d="M355.98,-229.66C386.49,-250.95 431.64,-282.45 431.64,-282.45 431.64,-282.45 431.64,-359.37 431.64,-359.37 431.64,-359.37 418.64,-445.08 418.64,-445.08 418.64,-445.08 329.88,-465.94 261.46,-482.02"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="261.08,-478.52 252.15,-484.21 262.68,-485.33 261.08,-478.52"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="458.46" y="-380.07" font-family="DejaVu Sans" font-size="9.00">sofort zurück</text>
|
||||
</g>
|
||||
<!-- rechne -->
|
||||
<g id="node6" class="node">
|
||||
<title>rechne</title>
|
||||
<path fill="#f5f3ff" stroke="#7c3aed" stroke-width="2" d="M368.54,-136.74C368.54,-136.74 266.75,-136.74 266.75,-136.74 260.75,-136.74 254.75,-130.74 254.75,-124.74 254.75,-124.74 254.75,-110.28 254.75,-110.28 254.75,-104.28 260.75,-98.28 266.75,-98.28 266.75,-98.28 368.54,-98.28 368.54,-98.28 374.54,-98.28 380.54,-104.28 380.54,-110.28 380.54,-110.28 380.54,-124.74 380.54,-124.74 380.54,-130.74 374.54,-136.74 368.54,-136.74"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="317.64" y="-120.76" font-family="DejaVu Sans" font-size="10.00">Hintergrundrechnung</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="317.64" y="-108.01" font-family="DejaVu Sans" font-size="10.00">rechne() → or_kern</text>
|
||||
</g>
|
||||
<!-- an->rechne -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>an->rechne</title>
|
||||
<path fill="none" stroke="#5c6380" d="M326.31,-189.49C324.87,-177.67 322.98,-162.22 321.34,-148.76"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="324.84,-148.59 320.16,-139.09 317.9,-149.44 324.84,-148.59"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="338.14" y="-157.44" font-family="DejaVu Sans" font-size="9.00">startet</text>
|
||||
</g>
|
||||
<!-- rechne->get -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>rechne->get</title>
|
||||
<path fill="none" stroke="#5c6380" stroke-dasharray="5,2" d="M258.5,-97.33C231.69,-88.64 205.89,-80.28 205.89,-80.28 205.89,-80.28 170.63,-64.64 138.14,-50.24"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="139.68,-47.09 129.12,-46.24 136.84,-53.49 139.68,-47.09"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="258.77" y="-71.73" font-family="DejaVu Sans" font-size="9.00">hinterlegt das Ergebnis</text>
|
||||
</g>
|
||||
<!-- regel -->
|
||||
<g id="node9" class="node">
|
||||
<title>regel</title>
|
||||
<polygon fill="#f8fafc" stroke="#94a3b8" points="434.48,-51.03 194.81,-51.03 194.81,0 440.48,0 440.48,-45.03 434.48,-51.03"/>
|
||||
<polyline fill="none" stroke="#94a3b8" points="434.48,-51.03 434.48,-45.03"/>
|
||||
<polyline fill="none" stroke="#94a3b8" points="440.48,-45.03 434.48,-45.03"/>
|
||||
<text xml:space="preserve" text-anchor="start" x="207.77" y="-33.84" font-family="DejaVu Sans" font-size="9.00">Eine Optimierung dauert Sekunden bis Minuten.</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="207.77" y="-22.59" font-family="DejaVu Sans" font-size="9.00">Synchron beantwortet, blockiert sie den Dienst</text>
|
||||
<text xml:space="preserve" text-anchor="start" x="207.77" y="-11.34" font-family="DejaVu Sans" font-size="9.00">und läuft in jedes Gateway-Timeout.</text>
|
||||
</g>
|
||||
<!-- rechne->regel -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>rechne->regel</title>
|
||||
<path fill="none" stroke="#94a3b8" stroke-dasharray="5,2" d="M317.64,-97.42C317.64,-84.01 317.64,-65.93 317.64,-51.39"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
1
OR_HTML_04/bilder_04/plotly/kap06_jobshop_gantt.html
Normal file
1
OR_HTML_04/bilder_04/plotly/kap_mehrziel_pareto.html
Normal file
BIN
OR_HTML_04/bilder_04/teil2_solverwahl.png
Normal file
|
After Width: | Height: | Size: 104 KiB |
163
OR_HTML_04/bilder_04/teil2_solverwahl.svg
Normal file
|
|
@ -0,0 +1,163 @@
|
|||
<?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)
|
||||
-->
|
||||
<!-- Pages: 1 -->
|
||||
<svg width="740pt" height="532pt"
|
||||
viewBox="0.00 0.00 740.00 532.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(4 527.75)">
|
||||
<text xml:space="preserve" text-anchor="middle" x="365.89" y="-507.4" font-family="DejaVu Sans" font-size="13.00">Welches Werkzeug passt zu meinem Problem? (Teil II)</text>
|
||||
<!-- f1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>f1</title>
|
||||
<polygon fill="#eef2ff" stroke="#4338ca" stroke-width="1.6" points="538.52,-499.25 434,-470.87 538.52,-442.49 643.04,-470.87 538.52,-499.25"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="538.52" y="-474.12" font-family="DejaVu Sans" font-size="10.00">Fahrzeuge, Depots,</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="538.52" y="-461.37" font-family="DejaVu Sans" font-size="10.00">Zeitfenster?</text>
|
||||
</g>
|
||||
<!-- f2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>f2</title>
|
||||
<polygon fill="#eef2ff" stroke="#4338ca" stroke-width="1.6" points="422.52,-399.24 270.75,-370.86 422.52,-342.48 574.29,-370.86 422.52,-399.24"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="422.52" y="-374.11" font-family="DejaVu Sans" font-size="10.00">Ja/Nein-Entscheidungen,</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="422.52" y="-361.36" font-family="DejaVu Sans" font-size="10.00">Zuordnungen, Reihenfolgen?</text>
|
||||
</g>
|
||||
<!-- f1->f2 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>f1->f2</title>
|
||||
<path fill="none" stroke="#5c6380" d="M513.35,-448.6C497.2,-434.96 475.99,-417.04 458.13,-401.95"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="460.72,-399.55 450.82,-395.77 456.2,-404.9 460.72,-399.55"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="493.75" y="-417.94" font-family="DejaVu Sans" font-size="9.00">nein</text>
|
||||
</g>
|
||||
<!-- routing -->
|
||||
<g id="node6" class="node">
|
||||
<title>routing</title>
|
||||
<path fill="#fffbeb" stroke="#b45309" stroke-width="2" d="M696.16,-390.09C696.16,-390.09 610.88,-390.09 610.88,-390.09 604.88,-390.09 598.88,-384.09 598.88,-378.09 598.88,-378.09 598.88,-363.63 598.88,-363.63 598.88,-357.63 604.88,-351.63 610.88,-351.63 610.88,-351.63 696.16,-351.63 696.16,-351.63 702.16,-351.63 708.16,-357.63 708.16,-363.63 708.16,-363.63 708.16,-378.09 708.16,-378.09 708.16,-384.09 702.16,-390.09 696.16,-390.09"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="653.52" y="-374.11" font-family="DejaVu Sans" font-size="10.00">OR-Tools Routing</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="653.52" y="-361.36" font-family="DejaVu Sans" font-size="10.00">(Kapitel Graphen)</text>
|
||||
</g>
|
||||
<!-- f1->routing -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>f1->routing</title>
|
||||
<path fill="none" stroke="#5c6380" d="M563.47,-448.6C580.84,-433.8 604.13,-413.96 622.66,-398.16"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="624.84,-400.9 630.18,-391.75 620.3,-395.57 624.84,-400.9"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="603.22" y="-417.94" font-family="DejaVu Sans" font-size="9.00">ja</text>
|
||||
</g>
|
||||
<!-- f3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>f3</title>
|
||||
<polygon fill="#eef2ff" stroke="#4338ca" stroke-width="1.6" points="264.52,-286.48 122.5,-258.1 264.52,-229.72 406.54,-258.1 264.52,-286.48"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="264.52" y="-261.35" font-family="DejaVu Sans" font-size="10.00">Zielfunktion und alle</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="264.52" y="-248.6" font-family="DejaVu Sans" font-size="10.00">Nebenbedingungen linear?</text>
|
||||
</g>
|
||||
<!-- f2->f3 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>f2->f3</title>
|
||||
<path fill="none" stroke="#5c6380" d="M390.93,-347.71C366.19,-330.38 331.63,-306.14 304.89,-287.4"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="307.23,-284.76 297.03,-281.89 303.21,-290.5 307.23,-284.76"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="367.42" y="-317.93" font-family="DejaVu Sans" font-size="9.00">nein</text>
|
||||
</g>
|
||||
<!-- f4 -->
|
||||
<g id="node4" class="node">
|
||||
<title>f4</title>
|
||||
<polygon fill="#eef2ff" stroke="#4338ca" stroke-width="1.6" points="581.52,-299.23 431.25,-258.1 581.52,-216.97 731.79,-258.1 581.52,-299.23"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="581.52" y="-267.73" font-family="DejaVu Sans" font-size="10.00">Logische Regeln</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="581.52" y="-254.98" font-family="DejaVu Sans" font-size="10.00">(wenn-dann, entweder-oder)</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="581.52" y="-242.23" font-family="DejaVu Sans" font-size="10.00">oder Zeitplanung?</text>
|
||||
</g>
|
||||
<!-- f2->f4 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>f2->f4</title>
|
||||
<path fill="none" stroke="#5c6380" d="M454.31,-347.71C476.01,-332.6 505.23,-312.24 530.19,-294.85"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="532.08,-297.8 538.29,-289.22 528.08,-292.06 532.08,-297.8"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="501" y="-317.93" font-family="DejaVu Sans" font-size="9.00">ja</text>
|
||||
</g>
|
||||
<!-- f5 -->
|
||||
<g id="node5" class="node">
|
||||
<title>f5</title>
|
||||
<polygon fill="#eef2ff" stroke="#4338ca" stroke-width="1.6" points="134.52,-151.22 0,-122.84 134.52,-94.46 269.04,-122.84 134.52,-151.22"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="134.52" y="-126.09" font-family="DejaVu Sans" font-size="10.00">Nur Fluss oder</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="134.52" y="-113.34" font-family="DejaVu Sans" font-size="10.00">Zuordnung im Netzwerk?</text>
|
||||
</g>
|
||||
<!-- f3->f5 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>f3->f5</title>
|
||||
<path fill="none" stroke="#5c6380" d="M241.58,-233.58C220.32,-211.79 188.55,-179.22 165.14,-155.22"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="167.78,-152.92 158.29,-148.21 162.77,-157.81 167.78,-152.92"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="211.05" y="-181.17" font-family="DejaVu Sans" font-size="9.00">ja</text>
|
||||
</g>
|
||||
<!-- teil3 -->
|
||||
<g id="node11" class="node">
|
||||
<title>teil3</title>
|
||||
<path fill="#fffbeb" stroke="#b45309" stroke-width="2" d="M379.16,-140.84C379.16,-140.84 305.88,-140.84 305.88,-140.84 299.88,-140.84 293.88,-134.84 293.88,-128.84 293.88,-128.84 293.88,-116.84 293.88,-116.84 293.88,-110.84 299.88,-104.84 305.88,-104.84 305.88,-104.84 379.16,-104.84 379.16,-104.84 385.16,-104.84 391.16,-110.84 391.16,-116.84 391.16,-116.84 391.16,-128.84 391.16,-128.84 391.16,-134.84 385.16,-140.84 379.16,-140.84"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="342.52" y="-119.72" font-family="DejaVu Sans" font-size="10.00">weiter in Teil III</text>
|
||||
</g>
|
||||
<!-- f3->teil3 -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>f3->teil3</title>
|
||||
<path fill="none" stroke="#5c6380" d="M279.19,-232.03C292.65,-209.05 312.53,-175.07 326.42,-151.35"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="329.36,-153.26 331.39,-142.86 323.31,-149.72 329.36,-153.26"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="324.81" y="-181.17" font-family="DejaVu Sans" font-size="9.00">nein</text>
|
||||
</g>
|
||||
<!-- cpsat -->
|
||||
<g id="node7" class="node">
|
||||
<title>cpsat</title>
|
||||
<path fill="#f5f3ff" stroke="#7c3aed" stroke-width="2" d="M532.16,-142.07C532.16,-142.07 452.88,-142.07 452.88,-142.07 446.88,-142.07 440.88,-136.07 440.88,-130.07 440.88,-130.07 440.88,-115.61 440.88,-115.61 440.88,-109.61 446.88,-103.61 452.88,-103.61 452.88,-103.61 532.16,-103.61 532.16,-103.61 538.16,-103.61 544.16,-109.61 544.16,-115.61 544.16,-115.61 544.16,-130.07 544.16,-130.07 544.16,-136.07 538.16,-142.07 532.16,-142.07"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="492.52" y="-126.09" font-family="DejaVu Sans" font-size="10.00">CP-SAT</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="492.52" y="-113.34" font-family="DejaVu Sans" font-size="10.00">(Kapitel CP-SAT)</text>
|
||||
</g>
|
||||
<!-- f4->cpsat -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>f4->cpsat</title>
|
||||
<path fill="none" stroke="#5c6380" d="M558.6,-222.78C543.99,-200.91 525.3,-172.91 511.52,-152.29"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="514.5,-150.44 506.03,-144.07 508.67,-154.33 514.5,-150.44"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="546.1" y="-181.17" font-family="DejaVu Sans" font-size="9.00">ja</text>
|
||||
</g>
|
||||
<!-- milp -->
|
||||
<g id="node8" class="node">
|
||||
<title>milp</title>
|
||||
<path fill="#ecfeff" stroke="#0891b2" stroke-width="2" d="M685.54,-142.07C685.54,-142.07 581.5,-142.07 581.5,-142.07 575.5,-142.07 569.5,-136.07 569.5,-130.07 569.5,-130.07 569.5,-115.61 569.5,-115.61 569.5,-109.61 575.5,-103.61 581.5,-103.61 581.5,-103.61 685.54,-103.61 685.54,-103.61 691.54,-103.61 697.54,-109.61 697.54,-115.61 697.54,-115.61 697.54,-130.07 697.54,-130.07 697.54,-136.07 691.54,-142.07 685.54,-142.07"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="633.52" y="-126.09" font-family="DejaVu Sans" font-size="10.00">MILP: HiGHS / CP-SAT</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="633.52" y="-113.34" font-family="DejaVu Sans" font-size="10.00">(Kapitel MILP)</text>
|
||||
</g>
|
||||
<!-- f4->milp -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>f4->milp</title>
|
||||
<path fill="none" stroke="#5c6380" d="M595.87,-220.33C604.1,-199.24 614.29,-173.11 622,-153.37"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="625.18,-154.85 625.55,-144.26 618.66,-152.3 625.18,-154.85"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="642.97" y="-192.42" font-family="DejaVu Sans" font-size="9.00">nein</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="642.97" y="-181.17" font-family="DejaVu Sans" font-size="9.00">(Fixkosten,</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="642.97" y="-169.92" font-family="DejaVu Sans" font-size="9.00">Kardinalität)</text>
|
||||
</g>
|
||||
<!-- netz -->
|
||||
<g id="node9" class="node">
|
||||
<title>netz</title>
|
||||
<path fill="#ecfdf5" stroke="#059669" stroke-width="2" d="M116.29,-51.21C116.29,-51.21 16.75,-51.21 16.75,-51.21 10.75,-51.21 4.75,-45.21 4.75,-39.21 4.75,-39.21 4.75,-12 4.75,-12 4.75,-6 10.75,0 16.75,0 16.75,0 116.29,0 116.29,0 122.29,0 128.29,-6 128.29,-12 128.29,-12 128.29,-39.21 128.29,-39.21 128.29,-45.21 122.29,-51.21 116.29,-51.21"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="66.52" y="-35.23" font-family="DejaVu Sans" font-size="10.00">Spezialalgorithmus:</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="66.52" y="-22.48" font-family="DejaVu Sans" font-size="10.00">Min-Cost-Flow,</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="66.52" y="-9.73" font-family="DejaVu Sans" font-size="10.00">Ungarische Methode</text>
|
||||
</g>
|
||||
<!-- f5->netz -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>f5->netz</title>
|
||||
<path fill="none" stroke="#5c6380" d="M117.36,-97.81C109.4,-86.66 99.78,-73.19 91.07,-60.99"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="94.16,-59.3 85.51,-53.19 88.47,-63.37 94.16,-59.3"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="106.31" y="-69.91" font-family="DejaVu Sans" font-size="9.00">ja</text>
|
||||
</g>
|
||||
<!-- lp -->
|
||||
<g id="node10" class="node">
|
||||
<title>lp</title>
|
||||
<path fill="#eef2ff" stroke="#4338ca" stroke-width="2" d="M242.04,-51.21C242.04,-51.21 165,-51.21 165,-51.21 159,-51.21 153,-45.21 153,-39.21 153,-39.21 153,-12 153,-12 153,-6 159,0 165,0 165,0 242.04,0 242.04,0 248.04,0 254.04,-6 254.04,-12 254.04,-12 254.04,-39.21 254.04,-39.21 254.04,-45.21 248.04,-51.21 242.04,-51.21"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="203.52" y="-35.23" font-family="DejaVu Sans" font-size="10.00">LP: scipy.linprog</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="203.52" y="-22.48" font-family="DejaVu Sans" font-size="10.00">oder highspy</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="203.52" y="-9.73" font-family="DejaVu Sans" font-size="10.00">(Kapitel LP)</text>
|
||||
</g>
|
||||
<!-- f5->lp -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>f5->lp</title>
|
||||
<path fill="none" stroke="#5c6380" d="M151.93,-97.81C160.01,-86.66 169.77,-73.19 178.61,-60.99"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="181.23,-63.34 184.26,-53.19 175.56,-59.23 181.23,-63.34"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="182.9" y="-69.91" font-family="DejaVu Sans" font-size="9.00">nein</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
BIN
OR_HTML_04/bilder_04/teil3_solverwahl.png
Normal file
|
After Width: | Height: | Size: 113 KiB |
163
OR_HTML_04/bilder_04/teil3_solverwahl.svg
Normal file
|
|
@ -0,0 +1,163 @@
|
|||
<?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)
|
||||
-->
|
||||
<!-- Pages: 1 -->
|
||||
<svg width="990pt" height="408pt"
|
||||
viewBox="0.00 0.00 990.00 408.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(4 403.74)">
|
||||
<text xml:space="preserve" text-anchor="middle" x="490.89" y="-383.39" font-family="DejaVu Sans" font-size="13.00">Welches Werkzeug passt zu meinem Problem? (Teil III)</text>
|
||||
<!-- g1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>g1</title>
|
||||
<polygon fill="#eef2ff" stroke="#4338ca" stroke-width="1.6" points="510.89,-375.24 395.88,-346.86 510.89,-318.48 625.91,-346.86 510.89,-375.24"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="510.89" y="-350.11" font-family="DejaVu Sans" font-size="10.00">Sind die Daten sicher</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="510.89" y="-337.36" font-family="DejaVu Sans" font-size="10.00">bekannt?</text>
|
||||
</g>
|
||||
<!-- g2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>g2</title>
|
||||
<polygon fill="#eef2ff" stroke="#4338ca" stroke-width="1.6" points="370.89,-275.23 259.62,-234.1 370.89,-192.97 482.16,-234.1 370.89,-275.23"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="370.89" y="-243.72" font-family="DejaVu Sans" font-size="10.00">Entscheidung fällt in</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="370.89" y="-230.97" font-family="DejaVu Sans" font-size="10.00">mehreren Stufen</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="370.89" y="-218.22" font-family="DejaVu Sans" font-size="10.00">über die Zeit?</text>
|
||||
</g>
|
||||
<!-- g1->g2 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>g1->g2</title>
|
||||
<path fill="none" stroke="#5c6380" d="M483.9,-324.5C464.33,-309.02 437.44,-287.74 414.8,-269.83"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="417.23,-267.3 407.22,-263.84 412.89,-272.79 417.23,-267.3"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="463.18" y="-293.93" font-family="DejaVu Sans" font-size="9.00">nein</text>
|
||||
</g>
|
||||
<!-- g4 -->
|
||||
<g id="node4" class="node">
|
||||
<title>g4</title>
|
||||
<polygon fill="#eef2ff" stroke="#4338ca" stroke-width="1.6" points="651.89,-275.23 506.88,-234.1 651.89,-192.97 796.91,-234.1 651.89,-275.23"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="651.89" y="-243.72" font-family="DejaVu Sans" font-size="10.00">Zielfunktion konvex?</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="651.89" y="-230.97" font-family="DejaVu Sans" font-size="10.00">(Quadrate, Normen,</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="651.89" y="-218.22" font-family="DejaVu Sans" font-size="10.00">log/exp konvex kombiniert)</text>
|
||||
</g>
|
||||
<!-- g1->g4 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>g1->g4</title>
|
||||
<path fill="none" stroke="#5c6380" d="M538.08,-324.5C556.93,-309.7 582.53,-289.59 604.67,-272.2"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="606.71,-275.05 612.41,-266.12 602.38,-269.54 606.71,-275.05"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="580.92" y="-293.93" font-family="DejaVu Sans" font-size="9.00">ja</text>
|
||||
</g>
|
||||
<!-- g3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>g3</title>
|
||||
<polygon fill="#eef2ff" stroke="#4338ca" stroke-width="1.6" points="155.89,-149.72 40.88,-121.34 155.89,-92.96 270.91,-121.34 155.89,-149.72"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="155.89" y="-124.59" font-family="DejaVu Sans" font-size="10.00">Wahrscheinlichkeiten</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="155.89" y="-111.84" font-family="DejaVu Sans" font-size="10.00">bekannt?</text>
|
||||
</g>
|
||||
<!-- g2->g3 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>g2->g3</title>
|
||||
<path fill="none" stroke="#5c6380" d="M324.77,-209.34C288.68,-190.75 238.71,-165 202.5,-146.35"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="204.51,-143.45 194.02,-141.98 201.3,-149.67 204.51,-143.45"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="266.7" y="-168.42" font-family="DejaVu Sans" font-size="9.00">nein</text>
|
||||
</g>
|
||||
<!-- dp -->
|
||||
<g id="node6" class="node">
|
||||
<title>dp</title>
|
||||
<path fill="#fffbeb" stroke="#b45309" stroke-width="2" d="M452.16,-140.57C452.16,-140.57 307.62,-140.57 307.62,-140.57 301.62,-140.57 295.62,-134.57 295.62,-128.57 295.62,-128.57 295.62,-114.11 295.62,-114.11 295.62,-108.11 301.62,-102.11 307.62,-102.11 307.62,-102.11 452.16,-102.11 452.16,-102.11 458.16,-102.11 464.16,-108.11 464.16,-114.11 464.16,-114.11 464.16,-128.57 464.16,-128.57 464.16,-134.57 458.16,-140.57 452.16,-140.57"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="379.89" y="-124.59" font-family="DejaVu Sans" font-size="10.00">Dynamische Programmierung</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="379.89" y="-111.84" font-family="DejaVu Sans" font-size="10.00">(Bellman)</text>
|
||||
</g>
|
||||
<!-- g2->dp -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>g2->dp</title>
|
||||
<path fill="none" stroke="#5c6380" d="M374.12,-193.43C375.21,-179.97 376.41,-165.17 377.44,-152.57"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="380.91,-153.05 378.23,-142.8 373.93,-152.48 380.91,-153.05"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="379.95" y="-168.42" font-family="DejaVu Sans" font-size="9.00">ja</text>
|
||||
</g>
|
||||
<!-- stoch -->
|
||||
<g id="node7" class="node">
|
||||
<title>stoch</title>
|
||||
<path fill="#f5f3ff" stroke="#7c3aed" stroke-width="2" d="M137.79,-38.46C137.79,-38.46 12,-38.46 12,-38.46 6,-38.46 0,-32.46 0,-26.46 0,-26.46 0,-12 0,-12 0,-6 6,0 12,0 12,0 137.79,0 137.79,0 143.79,0 149.79,-6 149.79,-12 149.79,-12 149.79,-26.46 149.79,-26.46 149.79,-32.46 143.79,-38.46 137.79,-38.46"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="74.89" y="-22.48" font-family="DejaVu Sans" font-size="10.00">Zweistufige stochastische</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="74.89" y="-9.73" font-family="DejaVu Sans" font-size="10.00">Optimierung, Szenarien</text>
|
||||
</g>
|
||||
<!-- g3->stoch -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>g3->stoch</title>
|
||||
<path fill="none" stroke="#5c6380" d="M136.9,-96.87C125.02,-82.18 109.66,-63.19 97.2,-47.79"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="100.21,-45.95 91.2,-40.38 94.76,-50.35 100.21,-45.95"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="123.99" y="-62.79" font-family="DejaVu Sans" font-size="9.00">ja</text>
|
||||
</g>
|
||||
<!-- robust -->
|
||||
<g id="node8" class="node">
|
||||
<title>robust</title>
|
||||
<path fill="#f5f3ff" stroke="#7c3aed" stroke-width="2" d="M289.16,-38.46C289.16,-38.46 186.62,-38.46 186.62,-38.46 180.62,-38.46 174.62,-32.46 174.62,-26.46 174.62,-26.46 174.62,-12 174.62,-12 174.62,-6 180.62,0 186.62,0 186.62,0 289.16,0 289.16,0 295.16,0 301.16,-6 301.16,-12 301.16,-12 301.16,-26.46 301.16,-26.46 301.16,-32.46 295.16,-38.46 289.16,-38.46"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="237.89" y="-22.48" font-family="DejaVu Sans" font-size="10.00">Robuste Optimierung</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="237.89" y="-9.73" font-family="DejaVu Sans" font-size="10.00">(Worst Case)</text>
|
||||
</g>
|
||||
<!-- g3->robust -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>g3->robust</title>
|
||||
<path fill="none" stroke="#5c6380" d="M174.91,-97.12C186.94,-82.44 202.54,-63.39 215.21,-47.93"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="217.69,-50.42 221.32,-40.47 212.28,-45.98 217.69,-50.42"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="246.16" y="-68.41" font-family="DejaVu Sans" font-size="9.00">nein,</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="246.16" y="-57.16" font-family="DejaVu Sans" font-size="9.00">nur Bandbreiten</text>
|
||||
</g>
|
||||
<!-- g5 -->
|
||||
<g id="node5" class="node">
|
||||
<title>g5</title>
|
||||
<polygon fill="#eef2ff" stroke="#4338ca" stroke-width="1.6" points="646.89,-149.72 492.88,-121.34 646.89,-92.96 800.91,-121.34 646.89,-149.72"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="646.89" y="-124.59" font-family="DejaVu Sans" font-size="10.00">Quadratisch mit</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="646.89" y="-111.84" font-family="DejaVu Sans" font-size="10.00">linearen Nebenbedingungen?</text>
|
||||
</g>
|
||||
<!-- g4->g5 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>g4->g5</title>
|
||||
<path fill="none" stroke="#5c6380" d="M650.08,-192.8C649.61,-182.57 649.12,-171.61 648.66,-161.44"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="652.16,-161.32 648.21,-151.48 645.17,-161.63 652.16,-161.32"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="653" y="-168.42" font-family="DejaVu Sans" font-size="9.00">ja</text>
|
||||
</g>
|
||||
<!-- nichtkonvex -->
|
||||
<g id="node11" class="node">
|
||||
<title>nichtkonvex</title>
|
||||
<path fill="#fffbeb" stroke="#b45309" stroke-width="2" d="M969.79,-146.94C969.79,-146.94 838,-146.94 838,-146.94 832,-146.94 826,-140.94 826,-134.94 826,-134.94 826,-107.73 826,-107.73 826,-101.73 832,-95.73 838,-95.73 838,-95.73 969.79,-95.73 969.79,-95.73 975.79,-95.73 981.79,-101.73 981.79,-107.73 981.79,-107.73 981.79,-134.94 981.79,-134.94 981.79,-140.94 975.79,-146.94 969.79,-146.94"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="903.89" y="-130.97" font-family="DejaVu Sans" font-size="10.00">scipy.optimize.minimize</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="903.89" y="-118.22" font-family="DejaVu Sans" font-size="10.00">mit mehreren Startpunkten</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="903.89" y="-105.47" font-family="DejaVu Sans" font-size="10.00">— nur lokales Optimum!</text>
|
||||
</g>
|
||||
<!-- g4->nichtkonvex -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>g4->nichtkonvex</title>
|
||||
<path fill="none" stroke="#5c6380" d="M708.45,-208.24C746.01,-191.73 795.56,-169.96 835.36,-152.46"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="836.65,-155.72 844.4,-148.49 833.83,-149.31 836.65,-155.72"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="810.22" y="-168.42" font-family="DejaVu Sans" font-size="9.00">nein</text>
|
||||
</g>
|
||||
<!-- qp -->
|
||||
<g id="node9" class="node">
|
||||
<title>qp</title>
|
||||
<path fill="#ecfeff" stroke="#0891b2" stroke-width="2" d="M611.91,-38.46C611.91,-38.46 531.88,-38.46 531.88,-38.46 525.88,-38.46 519.88,-32.46 519.88,-26.46 519.88,-26.46 519.88,-12 519.88,-12 519.88,-6 525.88,0 531.88,0 531.88,0 611.91,0 611.91,0 617.91,0 623.91,-6 623.91,-12 623.91,-12 623.91,-26.46 623.91,-26.46 623.91,-32.46 617.91,-38.46 611.91,-38.46"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="571.89" y="-22.48" font-family="DejaVu Sans" font-size="10.00">QP über CVXPY</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="571.89" y="-9.73" font-family="DejaVu Sans" font-size="10.00">(OSQP, Clarabel)</text>
|
||||
</g>
|
||||
<!-- g5->qp -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>g5->qp</title>
|
||||
<path fill="none" stroke="#5c6380" d="M628.36,-95.59C617.68,-81.34 604.22,-63.38 593.13,-48.57"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="595.93,-46.47 587.13,-40.57 590.33,-50.67 595.93,-46.47"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="617.64" y="-62.79" font-family="DejaVu Sans" font-size="9.00">ja</text>
|
||||
</g>
|
||||
<!-- konvex -->
|
||||
<g id="node10" class="node">
|
||||
<title>konvex</title>
|
||||
<path fill="#ecfdf5" stroke="#059669" stroke-width="2" d="M782.91,-38.46C782.91,-38.46 660.88,-38.46 660.88,-38.46 654.88,-38.46 648.88,-32.46 648.88,-26.46 648.88,-26.46 648.88,-12 648.88,-12 648.88,-6 654.88,0 660.88,0 660.88,0 782.91,0 782.91,0 788.91,0 794.91,-6 794.91,-12 794.91,-12 794.91,-26.46 794.91,-26.46 794.91,-32.46 788.91,-38.46 782.91,-38.46"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="721.89" y="-22.48" font-family="DejaVu Sans" font-size="10.00">CVXPY</text>
|
||||
<text xml:space="preserve" text-anchor="middle" x="721.89" y="-9.73" font-family="DejaVu Sans" font-size="10.00">— prüft Konvexität selbst</text>
|
||||
</g>
|
||||
<!-- g5->konvex -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>g5->konvex</title>
|
||||
<path fill="none" stroke="#5c6380" d="M665.43,-95.59C676.11,-81.34 689.57,-63.38 700.66,-48.57"/>
|
||||
<polygon fill="#5c6380" stroke="#5c6380" points="703.46,-50.67 706.66,-40.57 697.86,-46.47 703.46,-50.67"/>
|
||||
<text xml:space="preserve" text-anchor="middle" x="705.25" y="-62.79" font-family="DejaVu Sans" font-size="9.00">nein</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
BIN
OR_HTML_04/bilder_04/titelseite.png
Normal file
|
After Width: | Height: | Size: 230 KiB |
2812
OR_HTML_04/bilder_04/titelseite.svg
Normal file
|
After Width: | Height: | Size: 98 KiB |