Zum Inhalt springen

KALKÜL · Technik im Detail

KALKÜL sucht den besten Plan, der alle Regeln hält.

Wie KALKÜL aus Regeln und Ziel ein Optimierungsproblem baut, mit Schranke löst und den Plan vor der Freigabe exakt gegen dieselben Regeln prüft.

Nicht jede Frage lautet Ja oder Nein. Oft heißt sie: Welcher Plan ist der beste, der alle Regeln einhält? KALKÜL übersetzt sie in ein Optimierungsproblem aus Variablen, einer Zielfunktion und Nebenbedingungen und löst es mit Verfahren, die zeigen können, wie nah die Lösung am Bestmöglichen liegt. Die Nebenbedingungen sind dieselben Regeln wie bei der Prüfung. So ist die Optimierung ausgelegt; der Demonstrator prüft Vorschläge, er optimiert nicht.

Diese Seite beschreibt die Bauweise des Systems. Gebaut sind der Prototyp von Freigabe und Protokoll und der Demonstrator von KALKÜL; den ganzen Stand finden Sie unter Was heute steht.

Auf dieser Seite
  1. 01Variablen, Ziel und Nebenbedingungen
  2. 02Linear, ganzzahlig, mit Schranke
  3. 03Der Plan wird noch einmal geprüft
  4. 04Zeit, Abbruch und Widerspruch
  5. 05Mehrere Ziele ausdrücklich gewichten
  6. 06Eckdaten
  7. 07Weiter

Variablen, Ziel und Nebenbedingungen

Ein Optimierungsproblem hat drei Teile. Die Variablen sind die Größen, die der Plan festlegt: reelle Zahlen wie eine Menge, ganze Zahlen wie eine Anzahl, binäre Entscheidungen wie ein Ja oder Nein je Möglichkeit. Die Zielfunktion misst, was besser sein soll, und wird minimiert oder maximiert. Die Nebenbedingungen sind die Regeln, die jeder zulässige Plan einhält.

Die Nebenbedingungen werden nicht für die Optimierung neu geschrieben. Sie stammen aus denselben Regeln mit derselben Fassung und Version, die KALKÜL bei der Prüfung benutzt. Es gäbe sonst zwei Fassungen derselben Vorschrift, und die eine könnte abweichen. Harte Regeln sind Nebenbedingungen und werden nie verletzt. Weiche Regeln, also Vorlieben, gehen als Strafterm mit ausdrücklichem Gewicht in das Ziel ein.

Linear, ganzzahlig, mit Schranke

Sind Ziel und Nebenbedingungen linear, ist das ein lineares Programm, das sich mit dem Simplex-Verfahren oder mit Innere-Punkte-Verfahren lösen lässt. Kommen ganzzahlige oder binäre Variablen hinzu, wird daraus ein gemischt-ganzzahliges Programm (MILP), für das Branch-and-Bound und Branch-and-Cut die gängigen Verfahren sind. Aufgaben mit logischen Bedingungen, etwa Reihenfolgen und Zuordnungen, löst alternativ die Constraint-Programmierung, zum Beispiel mit CP-SAT aus OR-Tools. Als Löser kommen offene wie HiGHS und SCIP in Frage; welcher läuft, steht im Nachweis.

Ein Löser liefert nicht nur eine Lösung, sondern eine Schranke: den besten Zielwert, der überhaupt noch möglich ist. Der Abstand zwischen der besten gefundenen Lösung und dieser Schranke heißt Lücke. Ist sie null, ist der Plan nachweislich optimal. Ist sie größer, ist er ein zulässiger Plan mit ehrlicher Güte, und KALKÜL nennt die Lücke und nicht nur den Plan.

Unsichere Parameter lassen sich robust behandeln: Statt eines Werts gilt ein Intervall, und der Plan muss für jeden Wert darin zulässig sein. Das verbindet die Optimierung mit der Rechnung mit Intervallen.

Der beste Plan innerhalb der Grenzen

Grenzen und ein Sperrraum bilden den zulässigen Raum. Der Ausgangsplan läuft durch den Sperrraum, der optimierte Plan liegt so nah am Ziel, wie die Regeln es zulassen, und bleibt innerhalb.

Optimierung in KALKÜL: Ausgangsplan, Grenzen, Sperrraum, optimierter PlanGrenzen und ein Sperrraum bilden den zulässigen Raum. Der Ausgangsplan läuft durch den Sperrraum, der optimierte Plan liegt so nah am Ziel, wie die Regeln es zulassen, und bleibt innerhalb.GRÖSSEZEITOBERGRENZEUNTERGRENZESPERRRAUMERSTER ZEITPUNKTGEGENBEISPIEL
  • Regel Obergrenze (obergrenze).
  • Regel Untergrenze (untergrenze).
  • Regel Sperrraum (sperrraum).
  • Vorschlag als Band um eine Mittellinie.
  • Zerlegung bis Tiefe 3: geprüfte Kästen als Linie, offene schraffiert.
  • Gegenbeispiel an Regel Gegenbeispiel, erster Zeitpunkt markiert.
  • Zweiter Vorschlag, innerhalb aller Schranken.
RECHENRAUM · SCHRANKEN STATT WERTE

Der Plan wird noch einmal geprüft

Ein numerischer Löser rechnet im Gleitkomma und mit Toleranzen: Eine Nebenbedingung gilt dort als erfüllt, wenn sie um nicht mehr als eine kleine Zulässigkeitstoleranz verletzt ist. Für ein Ziel ist das unerheblich, für eine Regel, die eine Grenze meint, nicht. Die Sicherheit darf nicht an einer Toleranz hängen.

KALKÜL behandelt den Plan des Optimierers darum wie jeden Vorschlag. Er wird auf die Teilung gebracht, die die Handlung kennt, und mit dem exakten Verfahren gegen dieselben Regeln geprüft, mit dem SMT-Löser oder mit Intervallen. Erst das Ergebnis dieser Prüfung ist der Nachweis. Verletzt der Plan eine Regel, geht er mit dem Gegenbeispiel an die Optimierung zurück, die eine Nebenbedingung verschärft. Der Optimierer darf irren, die Prüfung nicht.

Optimieren, dann prüfen

Regeln und Ziel werden zu einem Problem, der Löser liefert einen Plan mit Schranke. Der Plan geht als Vorschlag zur exakten Prüfung. Ein Bruch führt mit Gegenbeispiel zurück zum Löser.

Optimierung in KALKÜL: Problem, Löser, Plan mit Schranke, Prüfung gegen dieselben RegelnRegeln und Ziel werden zu einem Problem, der Löser liefert einen Plan mit Schranke. Der Plan geht als Vorschlag zur exakten Prüfung. Ein Bruch führt mit Gegenbeispiel zurück zum Löser.mit SchrankeGegenbeispielREGELN UND ZIELNACHWEISPROBLEMLÖSERPLANPRÜFUNG
  • Ablauf von Regeln und Ziel bis Nachweis: Problem, Löser, Plan, Prüfung.
  • Problem zu Löser.
  • Löser mit Schranke Plan.
  • Plan zu Prüfung.
  • Prüfung Gegenbeispiel Löser (Rückweg).
ABLAUF · WEGE OHNE MENGEN

Zeit, Abbruch und Widerspruch

Optimierung braucht Zeit, und die Zeit ist begrenzt. Der Löser läuft mit einem Rechenbudget und liefert, wann immer es endet, den besten bisher gefundenen zulässigen Plan mit der aktuellen Schranke. Abgebrochen wird bei Ablauf der Zeit oder wenn die Lücke eine vorgegebene Grenze unterschreitet. Beides steht im Ergebnis. Einen Plan ohne Angabe der Lücke gibt KALKÜL nicht aus.

Gibt es keinen zulässigen Plan, ist das ein eigenes Ergebnis mit eigener Aussage: Die Regeln widersprechen einander. KALKÜL nennt dann die kleinste Menge von Regeln, die zusammen keinen Plan zulassen. Löser kennen sie unter den Namen Unsatisfiable Core und Irreducible Infeasible Subsystem. Für die Pflege der Regeln ist das wertvoll, denn es zeigt, welche Vorschriften sich im Betrieb gegenseitig ausschließen.

Die Läufe sind wiederholbar. Fassung der Regeln, Version des Lösers, Einstellungen und Startwert stehen im Nachweis, und dieselben Eingaben führen bei gleicher Einstellung zum selben Plan.

Mehrere Ziele ausdrücklich gewichten

Wo mehrere Ziele zählen, wird der Zielkonflikt nicht im Löser versteckt. KALKÜL kennt drei Wege: die gewichtete Summe mit sichtbaren Gewichten, die lexikografische Ordnung, die erst das erste Ziel optimiert und danach das zweite unter der Bedingung, dass das erste nicht schlechter wird, und die Pareto-Menge, also alle Pläne, die in keinem Ziel zu verbessern sind, ohne ein anderes zu verschlechtern.

Gewichte und Ordnung sind Daten mit Version und einem Verantwortlichen. Der Plan nennt, mit welchen Gewichten er entstand. Wer eine Gewichtung ändert, ändert eine Entscheidung, und das steht im Verlauf. Eine harte Regel lässt sich nie durch ein Gewicht aufwiegen; ein Plan, der sie brechen müsste, braucht eine Ausnahme mit Freigabe.

Eckdaten

Problem
Variablen (reell, ganzzahlig, binär), Zielfunktion, Nebenbedingungen aus den Regeln der Prüfung
Regeln
hart als Nebenbedingung, weich als Strafterm mit Gewicht; eine Fassung mit einer Version
Verfahren
Simplex, Innere-Punkte, Branch-and-Bound und Branch-and-Cut, Constraint-Programmierung (CP-SAT)
Löser
offen, etwa HiGHS und SCIP; Version im Nachweis
Güte
Schranke und Lücke werden mit dem Plan ausgegeben
Prüfung
Plan gegen dieselben Regeln, exakt, mit SMT-Löser oder Intervallen; erst das ist der Nachweis
Kein Plan
kleinste widersprüchliche Regelmenge
Mehrere Ziele
gewichtete Summe, lexikografisch oder Pareto; Gewichte als versionierte Daten
Wiederholbar
Fassung der Regeln, Löser, Einstellungen und Startwert im Nachweis

Weiter

Welche Planung machen Sie heute mit einer Tabelle und viel Erfahrung? Ihre Regeln schreiben wir mit Ihnen als Nebenbedingungen auf.