Glossar: Sprungleiste, Abkürzungen ausschreiben, CLAUDE.md-Regel
Sprungleiste (A B C ... Z) im Glossar — wie im Stichwortverzeichnis:
ein Klick je Buchstabe springt zur '## <Buchstabe>'-Überschrift.
Eingebaut in erzeuge_glossar_04.py als {=html}-Rohblock (nur HTML,
im PDF bedeutungslos).
Abkürzungen beim ersten Mal ausschreiben: 'VaR' → 'VaR (Value at Risk)',
'EVPI' → 'EVPI (Expected Value of Perfect Information)' als Link-Text
bei der ersten Nennung je Datei; danach nur die Abkürzung. 19 Abkürzungen
erfasst (VaR, CVaR, KKT, NLP, MILP, EVPI, LP, QP, ...).
CLAUDE.md: Regel 'Glossar-Links: Fachbegriffe im Fließtext automatisch
verlinkt' dokumentiert — resolve_glossar(), LINK_TEXTE,
ABBREV_ERSTE_NENNUNG, _NICHT_AUTO_LINKEN, _ZU_KURZ_ABK, .glossar-link,
{gl:}-Marke, Sprungleiste, {#gloss:<slug>}-Anchor.
This commit is contained in:
parent
e8abb66d75
commit
0e2c011732
47 changed files with 545 additions and 561 deletions
10
OR_HTML_04/qp-nlp.html
generated
10
OR_HTML_04/qp-nlp.html
generated
|
|
@ -118,7 +118,7 @@
|
|||
<p><strong>📌 Kapitel auf einen Blick</strong></p>
|
||||
<p><strong>Worum geht es?</strong> Risiko ist quadratisch. Sobald Varianz ins Spiel kommt, verlässt man die Welt der <a href="anhang-glossar.md#gloss:polyeder" class="glossar-link">Polyeder</a>. Dieses Kapitel liefert das mathematische Fundament für die gesamte Portfoliooptimierung in <a href="bruecke.html#teil-anwendungen">Teil IV</a>.</p>
|
||||
<p><strong>Voraussetzungen:</strong> <a href="fundament.html#kap-fundament">Kapitel 2</a> (Konvexität, Eigenwerte), <a href="lp.html#kap-lp">Kapitel 5</a> (Dualität, Schattenpreise). Gradienten werden in <a href="#sec:qp-nlp-lernziele">Abschnitt 11.2</a> wiederholt.</p>
|
||||
<p><strong>Danach können Sie:</strong> Ein quadratisches Programm aufstellen, die <a href="anhang-glossar.md#gloss:karush-kuhn-tucker-bedingungen-kkt" class="glossar-link">KKT</a>-Bedingungen anwenden, den Zusammenhang zwischen <a href="anhang-glossar.md#gloss:lagrange-multiplikator" class="glossar-link">Lagrange-Multiplikator</a> und <a href="anhang-glossar.md#gloss:schattenpreis" class="glossar-link">Schattenpreis</a> erklären, eine gültige <a href="anhang-glossar.md#gloss:kovarianzmatrix" class="glossar-link">Kovarianzmatrix</a> konstruieren — und mit nicht-konvexen Problemen umgehen, ohne ein lokales Optimum für das Optimum zu halten.</p>
|
||||
<p><strong>Danach können Sie:</strong> Ein quadratisches Programm aufstellen, die <a href="anhang-glossar.md#gloss:karush-kuhn-tucker-bedingungen-kkt" class="glossar-link">KKT (Karush-Kuhn-Tucker-Bedingungen)</a>-Bedingungen anwenden, den Zusammenhang zwischen <a href="anhang-glossar.md#gloss:lagrange-multiplikator" class="glossar-link">Lagrange-Multiplikator</a> und <a href="anhang-glossar.md#gloss:schattenpreis" class="glossar-link">Schattenpreis</a> erklären, eine gültige <a href="anhang-glossar.md#gloss:kovarianzmatrix" class="glossar-link">Kovarianzmatrix</a> konstruieren — und mit nicht-konvexen Problemen umgehen, ohne ein lokales Optimum für das Optimum zu halten.</p>
|
||||
<p><strong>Zeitbedarf:</strong> ca. 6,5 Stunden.</p>
|
||||
<p><strong>Programme:</strong><br />
|
||||
<code>QP_Grundlagen.py</code><br />
|
||||
|
|
@ -217,7 +217,7 @@ Risiko der Mischung: 8.90 %</code></pre>
|
|||
<h2 id="sec:qp-nlp-lernziele">11.2 Lernziele</h2>
|
||||
<p>Nach diesem Kapitel können Sie …</p>
|
||||
<ol type="1">
|
||||
<li>… ein <strong>quadratisches Programm (<a href="anhang-glossar.md#gloss:quadratische-programmierung-qp" class="glossar-link">QP</a>)</strong> aufstellen und von einem allgemeinen nichtlinearen Programm abgrenzen.</li>
|
||||
<li>… ein <strong>quadratisches Programm (<a href="anhang-glossar.md#gloss:quadratische-programmierung-qp" class="glossar-link">QP (Quadratische Programmierung)</a>)</strong> aufstellen und von einem allgemeinen nichtlinearen Programm abgrenzen.</li>
|
||||
<li>… die <strong>KKT-Bedingungen</strong> herleiten und auf ein Optimierungsproblem anwenden.</li>
|
||||
<li>… den Zusammenhang zwischen <strong>Lagrange-Multiplikator</strong> und <strong>Schattenpreis</strong> erklären.</li>
|
||||
<li>… zwischen <strong>konvex</strong> und <strong>streng konvex</strong> unterscheiden und eine gültige, positiv semidefinite <strong>Kovarianzmatrix</strong> konstruieren.</li>
|
||||
|
|
@ -458,7 +458,7 @@ DCP-konvex (CVXPY-Pruefung)? False
|
|||
</tr>
|
||||
<tr class="odd">
|
||||
<td><span class="math inline">\lambda_i^*</span> selbst</td>
|
||||
<td>Der <strong>Schattenpreis</strong> von Bedingung <span class="math inline">i</span> — dieselbe Größe wie im <a href="anhang-glossar.md#gloss:lineare-programmierung-lp" class="glossar-link">LP</a> (<a href="lp.html#kap-lp">Kapitel 5</a>), nur für krumme Ränder.</td>
|
||||
<td>Der <strong>Schattenpreis</strong> von Bedingung <span class="math inline">i</span> — dieselbe Größe wie im <a href="anhang-glossar.md#gloss:lineare-programmierung-lp" class="glossar-link">LP (Lineare Programmierung)</a> (<a href="lp.html#kap-lp">Kapitel 5</a>), nur für krumme Ränder.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
@ -1164,7 +1164,7 @@ Drei Konsequenzen fuer die Praxis:
|
|||
<tbody>
|
||||
<tr class="odd">
|
||||
<td><strong>Ipopt</strong> (über <code>cyipopt</code> oder <a href="anhang-glossar.md#gloss:pyomo" class="glossar-link">Pyomo</a>)</td>
|
||||
<td>lokaler <a href="anhang-glossar.md#gloss:nichtlineare-programmierung-nlp" class="glossar-link">NLP</a>-Solver</td>
|
||||
<td>lokaler <a href="anhang-glossar.md#gloss:nichtlineare-programmierung-nlp" class="glossar-link">NLP (Nichtlineare Programmierung)</a>-Solver</td>
|
||||
<td>Innere-Punkte-Verfahren für große, glatte NLPs mit tausenden Variablen — deutlich leistungsfähiger als <code>scipy</code>, aber ebenfalls <strong>nur lokal</strong></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
|
|
@ -1234,7 +1234,7 @@ Drei Konsequenzen fuer die Praxis:
|
|||
</ul>
|
||||
<p>Alle drei schwanken mit 20 %. Leerverkäufe sind in seinem Mandat erlaubt, die Gewichte dürfen also negativ werden; sie müssen sich nur zu 100 % summieren.</p>
|
||||
<p>Sein erster Versuch mit CVXPY bricht ab:</p>
|
||||
<pre><code>[DCPError](anhang-glossar.md#gloss:dcperror){.glossar-link}: Problem does not follow [DCP](anhang-glossar.md#gloss:dcp-disciplined-convex-programming){.glossar-link} rules.
|
||||
<pre><code>[DCPError](anhang-glossar.md#gloss:dcperror){.glossar-link}: Problem does not follow [DCP (Disciplined Convex Programming)](anhang-glossar.md#gloss:dcp-disciplined-convex-programming){.glossar-link} rules.
|
||||
The objective is not DCP. Its following subexpressions are not: QuadForm(...)</code></pre>
|
||||
<p>Er hält das für eine Einschränkung der Bibliothek und weicht auf <code>scipy</code> aus:</p>
|
||||
<div class="sourceCode" id="cb13"><pre class="sourceCode python"><code class="sourceCode python"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="im">import</span> numpy <span class="im">as</span> np</span>
|
||||
|
|
|
|||
Loading…
Reference in a new issue