Wenn die Optimierung eines Ziels ein anderes kostet
Ein System mit zwei Leistungszielen — sagen wir, Subsystem-A-Leistung (P_A) & Subsystem-B-Leistung (P_B) — hat einen zulässigen Bereich: die Menge von (P_A, P_B) Paaren, die unter den gemeinsamen Ressourcen erreichbar sind.
Innerhalb des zulässigen Bereichs ist die Pareto-Grenzlinie die Grenze, an der Sie P_A nicht verbessern können, ohne P_B zu verschlechtern, oder umgekehrt. Jeder Punkt auf dieser Grenzlinie ist ein gültiges Systemoptimum, abhängig von den den einzelnen Zielen zugewiesenen Gewichtungen.
Komponenten-A-Optimum: maximiere P_A unabhängig von P_B. Dies liegt am rechtesten zulässigen Punkt — auf der Pareto-Grenzlinie am extremen Ende, wo P_A maximiert ist & P_B aufgegeben wird.
Komponenten-B-Optimum: maximiere P_B unabhängig von P_A. Ähnlich, an der Oberseite der Grenzlinie mit maximiertem P_B.
Systemoptimum: irgendwo im Inneren der Pareto-Grenzlinie, balancierend beide Ziele. Es liegt zwischen den beiden Komponenten-Optima. Keine Komponente läuft bei ihrem individuellen Maximum — aber das System als Ganzes funktioniert am besten.
Hammings Differenzialanalysator: die verbesserten Verstärker maximierten P_A (Verstärkerleistung), verschoben aber den Betriebspunkt außerhalb des Schnittstellen-Design-Envelop, was P_B (Erdungs-/Interferenzleistung) verschlechterte. Das Systemoptimum erforderte ein Zurückfahren der Verstärkerleistung, um innerhalb der Schnittstellen-Toleranz zu bleiben.
Lokalisieren Sie das Systemoptimum
Ein System hat zwei Subsysteme. Subsystem-A-Leistung P_A = 2x − x², erreichbar für x ∈ [0, 2]. Subsystem-B-Leistung P_B = 2(1−x) − (1−x)², erreichbar für dasselbe x. Die gemeinsame Variable x stellt dar, wie eine gemeinsame Ressource (sagen wir, Bandbreite oder Energie) zwischen Subsystemen aufgeteilt wird. Gesamtleistung: P_total = P_A + P_B.
Zulässige Regionen & Bindende Constraints
Ein System, das Constraints unterliegt, arbeitet innerhalb einer zulässigen Region F im Parameterraum. Die Constraints definieren die Grenze von F.
Bindender Constraint: ein Constraint, das mit Gleichheit am Optimum erfüllt wird (das Optimum liegt auf der Constraint-Grenze).
Nicht bindender Constraint: ein Constraint, das mit strenger Ungleichheit am Optimum erfüllt wird (das Optimum liegt streng innerhalb der Grenze).
Das Maximumprinzip (ein allgemeines Ergebnis aus der Optimierungstheorie): Für ein lineares Ziel über einer konvexen zulässigen Region liegt das Optimum immer bei einem Scheitelpunkt der zulässigen Region — d.h. bei der Schnittmenge bindender Constraints. Das Optimum liegt nie im Inneren, es sei denn, das Ziel ist flach (konstant) in eine Richtung.
Hammings Regel 2 in geometrischen Begriffen: die Begrenzungsbedingungen (Constraints) eines Systems sind oft wichtiger als die Optimalwerte innerhalb der Grenzen, da das Optimum an der Grenze liegt, nicht im Inneren. Richtig gestalten der Constraint-Struktur bestimmt, wo die zulässige Region liegt; sobald Sie die Region haben, liegt das Optimum an ihrer Grenze.
Die Schnittstelle ist nicht die Eigenschaft von A oder B allein — sie gehört zum gemeinsamen System. Dies ist der Grund, warum Tests auf Komponentenebene (Test A allein, Test B allein) Schnittstellenfehler übersehen. Der Constraint ist nur im gemeinsamen Parameterraum sichtbar.
Welcher Constraint ist bindend?
Ein Kommunikationssystem hat drei Entwurfsvariablen: Sendeleistung P (in Watt), Bandbreite B (in MHz) & Rauschzahl NF (in dB). Die Datenrate C = B · log₂(1 + P/(N₀ · B · 10^(NF/10))), wobei N₀ der Rauschpegel ist.
Das System hat drei Constraints: P ≤ 10 W (Leistungsbudget), B ≤ 20 MHz (Spektrumzuteilung), NF ≤ 6 dB (Hardwarelimit). Das Ziel ist, C zu maximieren.
Die Schnittstelle als ein gemeinsamer Constraint
Modellieren Sie zwei Subsysteme A & B als in ihren eigenen Parameterräumen P_A & P_B arbeitend. Die Schnittstelle zwischen ihnen definiert einen gemeinsamen Constraint: eine Beziehung zwischen einem Parameter in P_A & einem Parameter in P_B, die erfüllt werden muß, damit das System funktioniert.
Beispiel: In Hammings Differenzialanalysator geben die Verstärker (Subsystem A) einen Strom I_out aus. Die Erdungsschaltung (Subsystem B) kann einen maximalen Strom I_max tolerieren. Der Schnittstellen-Constraint: I_out ≤ I_max.
Wenn Sie Subsystem A verbessern (bessere Verstärker), nimmt I_out zu. Wenn I_out > I_max, wird der Schnittstellen-Constraint verletzt — die beiden Subsysteme befinden sich nicht mehr in einem gültigen Betriebsbereich ihres gemeinsamen Parameterraums.
Schnittstellendesign-Prinzip: der Schnittstellen-Constraint definiert die Grenze zwischen gültigem & ungültigem Betrieb. Der Komponentendesigner muß diese Grenze kennen. Der Systemtechniker muß überprüfen, daß sie nicht verletzt wird, wenn sich eine Komponente ändert.
Die Schnittstelle ist nicht die Eigenschaft von A oder B allein — sie gehört zum gemeinsamen System. Dies ist der Grund, warum Tests auf Komponentenebene (Test A allein, Test B allein) Schnittstellenfehler übersehen. Der Constraint ist nur im gemeinsamen Parameterraum sichtbar.
Schnittstellenfehler-Analyse
Ein Softwaresystem hat zwei Services: Service A (Datenaufnahme) & Service B (Datenverarbeitung). Service A schreibt Datensätze in eine Nachrichtenwarteschlange; Service B liest aus der Warteschlange. Der Schnittstellen-Constraint: die Nachrichtenwarteschlange kann maximal 10.000 Nachrichten halten. Durchsatz von Service A: T_A Nachrichten pro Sekunde. Durchsatz von Service B: T_B Nachrichten pro Sekunde.