Sie sind auf Seite 1von 32

ASPEN CUSTOM MODELER - Problemtypen

4 - 1

4.

Die Problemtypen

4.1.

Einführung und Übersicht

Moderne Simulationsprogramme bieten dem Nutzer die Möglichkeit, neben der Untersuchung des Systemverhaltens unter vorgegebenen Bedingungen (sogenannten Parameterstudien) auch Problemstellungen bearbeiten zu können, die zwar auch auf der Bestimmung des System-

verhaltens unter vorgegebenen Bedingungen beruhen, die in ihrer Zielstellung aber darüber hinaus gehen. Die dafür notwendigen Tools orientieren sich an den Problemtypen, die der Verfahrenstechniker zu lösen hat. Im Falle von ACM ergeben sich folgende Problemtypen für die Analyse und die Gestaltung verfahrenstechnischer Systeme, die unterstützt werden:

S

Bestimmung des statischen und des dynamischen Verhaltens

S

Programmierbare Szenarien für die dynamische Simulation

S

Parameterschätzung in statischen Modellen

S

Parameterschätzung in dynamischen Modellen

S

Optimierung des Systemverhaltens.

Für alle diese Problemtypen stellt die Bestimmung eines bestimmten Systemzustandes unter vorgegebenen Bedingungen das Kernproblem dar; durch die Zusatzfunktionen werden gewisser- maßen die Bedingungen für jede Bestimmung dieses Zustandes vorgegeben. Im Falle der Parameterschätzungen werden die Modellparameter systematisch verändert, während bei der Optimierung des Systemverhaltens gewisse Entscheidungsvariablen (Prozessgrößen, Ab- messungen usw. ) variiert werden.

Die Bearbeitung eines bestimmten Problemtyps stellt an den Nutzer folgende Anforderungen:

S

Er muss das Systemverhalten und die Systemstruktur mit Hilfe der Entwicklungs- werkzeuge von ACM in Form von Programmabschnitten beschreiben.

S

Er muss die für den Problemtyp zusätzlich notwendigen Tools durch Programmabschnit- te beschreiben.

S

Er muss über die Oberfläche der Entwicklungsumgebung die für den Problemtyp not- wendigen Einstellungen vornehmen und die Problembearbeitung starten.

Er muss die für die Diskussion der Problemlösung adäquaten Präsentationswerkzeuge auswählen. Die Werkzeuge für das Erfüllen der ersten Anforderung wurden in den Abschnitten 2. und 3. beschrieben. Im folgenden werden die Werkzeuge für die Erfüllung der zweiten und dritten Anforderung beschrieben; die letzte Anforderung ist Gegenstand des Abschnittes 5.

S

4.2.

Simulation des statischen und/oder des dynamischen Verhaltens

4.2.1.

Interaktive Vorbereitung und Steuerung eines Simulationslaufs

Die Untersuchungen des statischen und/oder des dynamischen Verhaltens unter vorgegebenen

Bedingungen (Parameterstudien) erfordern keine zusätzlichen Programmabschnitte, die über die in den Abschnitten 2. und 3. beschriebenen programmiersprachlichen Ausdrucksmittel für die Beschreibung des Systemverhaltens hinausgehen. Damit ergeben sich zwei Aufgaben, die der Nutzer hierbei zu erfüllen hat:

S

Es sind die evt. noch freien Eigenschaften der Größen, die den Spezifikationsklassen Fixed oder Initial angehören, mit Werten zu belegen.

S

Die Simulation ist zu starten.

4 - 2

ASPEN CUSTOM MODELER - Problemtypen

Zugriff auf die Eigenschaften einer Modellinstanz (Prozesseinheit)

Vor dem Start und auch nach einer Unterbrechung der Simulation kann der Nutzer die Werte der

Eigenschaften in einer jeden Modellinstanz, die die Spezifikation Fixed besitzt, interaktiv (also ohne Rückgriff auf die Programmabschnitte) verändern. Zu Beginn einer dynamischen Simulati- on kann er auch die Anfangswerte für die Größen, die den Spezifikationen Initial und Rateinitial angehören, mit Anfangswerten belegen. Dafür ist wie folgt vorzugehen:

S

Die gewünschte Modellinstanz ist im Fließschema zu markieren (anklicken). Mit der rechten Maustaste ist das Popup-Menü aufzurufen.

S

Es ist der Menüpunkt AllVariables anzuklicken. Es erscheint eine Tabelle, die die Werte der Eigenschaften für alle Variablen und Parameter der gewählten Modellinstanz enthält. Im folgenden Bild ist ein Beispiel gegeben:

enthält. Im folgenden Bild ist ein Beispiel gegeben: Im dargestellten Beispiel sind die Eigenschaften Value und

Im dargestellten Beispiel sind die Eigenschaften Value und Spec für alle Größen dar- gestellt.

Über die Maus können die Felder ausgewählt und über die Tastatur neu belegt werden.

Soll die Tabelle um weitere Eigenschaften ergänzt werden, so ist im Bereich der Tabelle die rechte Maustaste zu betätigen. Es erscheint ein Popup-Menü. In diesem Menü ist der Punkt Pro- perties zu aktivieren. Es erscheint das in neben- stehender Abbildung gezeigte Formular. In der linken Tabelle Available Attributes stehen die möglichen Attribute, in der rechten Tabelle Selec- ted Attributes stehen die für die Darstellung ausge- wählten Attribute. Durch Markieren und Betäti- gung der Schalter mit den Pfeilen können Eigen- schaften von einer Tabelle in die andere verscho- ben werden.

S Anschließend kann die Simulation gestartet bzw. fortgesetzt werden.

S

S

Tabelle in die andere verscho- ben werden. S Anschließend kann die Simulation gestartet bzw. fortgesetzt werden.

ASPEN CUSTOM MODELER - Problemtypen

4 - 3

Steuerung der Abarbeitung eines Simulationslaufs

Die Werkzeugleiste des Arbeitsbereichs stellt die im folgenden Bild dargestellten Schalter für die Steuerung der Abarbeitung eines Simulationslaufs bereit (die Funktionen sind auch über den Menüpunkt Run der Kopfzeile zu erreichen):

auch über den Menüpunkt Run der Kopfzeile zu erreichen): Im Run-Type -Feld kann der Problemtyp aus

Im Run-Type-Feld kann der Problemtyp aus einer Pickliste gewählt werden. Folgende Einträge sind wählbar:

Run-Type

Bedeutung

Initialization

Der Anfangszustand für eine dynamische Simulation wird her- gestellt. Die Anfangsbedingungen werden angenommen; die Si- mulationszeit wird auf Null gesetzt.

Steady State

Es wird der statische Zustand des Systems bestimmt. Sind DGL im Modellgleichungssystem enthalten, werden die zeitlichen Ab- leitungen zu Null gesetzt.

Dynamic

Das dynamische Verhalten des Systems wird bestimmt.

Estimation

Es wird ein Problem der Parameterschätzung angenommen; der Typ geht aus dem Programm hervor.

Optimization

Es wird ein Optimierungsproblem gelöst. Zielfunktion und Ne- benbedingungen sind durch das Programm vorzugeben.

In der nachfolgenden Tabelle werden die Schalter der Werkzeugleiste, die für die Ablaufs- teuerung von Bedeutung sind, erklärt:

4 - 4

ASPEN CUSTOM MODELER - Problemtypen

Schalter

Bedeutung

Run

Die Bearbeitung wird für den ausgewählten Problemtyp gestartet.

Step

Die Bearbeitung wird im Schrittbetrieb gestartet. Jede Betätigung des Schalters hat den nächsten Schritt zur Folge.

Pause

Eine Problembearbeitung wird angehalten; die Fortsetzung ist mit dem Run- bzw. dem Step-Schalter möglich.

Restart

Der Simulationslauf wird in den Anfangszustand gebracht (dieser Schalter hat die gleiche Wirkung wie der Problemtyp Initialize).

Rewind

Die Simulation kann von einem zurückliegenden Zustand aus wieder ge- startet werden. Voraussetzung dafür ist, dass ein Schnappschuss für den gewünschten Zeitpunkt existiert. Wenn der Schalter betätigt wird, erscheint darum die Liste der im Archiv verfügbaren Schnappschüsse.

Reset

Die Problembearbeitung wird in den Startzustand versetzt. Im Unterschied zu Restart werden aber zur Initialisierung der Variablen die in den Varia- blentypen definierten Standardwerte herangezogen.

Die Indikatoren für den Bearbeitungszustand und das Status-Fenster In der Fußzeile des Fensterrahmens der Entwicklungsumgebung befinden sich einige Anzeigen, die den Nutzer über den aktuellen Bearbeitungszustand informieren. In der folgenden Übersicht sind die Zeichen, die im Indikatorfeld auftreten können, erklärt:

Das Problem ist unterspezifiziert; es gibt mehr Unbekannte als Gleichungen.

Das Problem ist überspezifiziert; es gibt mehr Gleichungen als Unbekannte.

Das Problem ist komplett spezifiziert und kann bearbeitet werden.

Es liegt kein zu bearbeitendes Problem vor.

Das Problem ist bezüglich der zu initialisierenden Variablen (Anfangswerte) unterspezifiziert.

Das Problem ist bezüglich der zu initialisierenden Variablen (Anfangswerte) überspezifiziert.

Das Problem ist strukturell singulär; das Gleichungssystem ist so beschaffen, dass es in Teilsysteme zerfällt, die nicht miteinander gekoppelt sind, die aber in sich unter- oder überbestimmt sind.

ASPEN CUSTOM MODELER - Problemtypen

4 - 5

Das Statusfenster hat den im folgenden Bild angegebenen Aufbau:

Statusfenster hat den im folgenden Bild angegebenen Aufbau: Dieses Fenster liefert zunächst noch einmal die

Dieses Fenster liefert zunächst noch einmal die Statusanzeige. Über den Schalter Check Legali- ty/Index kann das Problem auf seine strukturellen Eigenschaften überprüft werden, ohne dass ein Lösungsschritt ausgeführt wird. Die im Feld Find aufgeführten Schalter erlauben die Analyse der Variablen, wobei die einzelnen Kategorien durch die Schalter unterschieden werden. Die anschließend angebotenen Formulare sind unkompliziert aufgebaut, so dass sie keiner weitergehenden Beschreibung bedürfen. Über den Schalter Script kann ein spezielles Initialisierungsskript erzeugt werden, das die gerade vorgenommenen Änderungen in der Variablen-Spezifikation zu einem späteren Zeit- punkt wieder herstellt.

Das Fenster stellt drei Formulare bereit; in der Abbildung ist das Formular General angezeigt. Die Formulare Fixed Changes und Initial Changes bieten dem Nutzer die Möglichkeit, die Werte jener Variablen seines Problems zu verändern, die diesen Kategorien angehören. Auf diese Änderungen bezieht sich das erwähnte Skript.

4.2.2. Tasks

Soll das Systemverhalten unter zeitlich veränderlichen äußeren Bedingungen oder inneren Parametern untersucht werden, entstehen sehr schnell komplexe Szenarien, die mit der inter- aktiven Steuerung durch den Bediener nicht mehr effizient zu beherrschen sind. In diesem Fall bietet es sich an, die zeitlich veränderlichen äußeren Bedingungen und die Parameterver- änderungen durch spezielle Steuerprogramme, die als Tasks bezeichnet werden, während der Simulation einstellen zu lassen.

4 - 6

ASPEN CUSTOM MODELER - Problemtypen

Eine Task besteht aus einem Bedingungsteil und einem Anweisungsteil. Sind die Bedingungen erfüllt, so wird der Anweisungsteil ausgeführt. Im folgenden wird die Syntax der Fließschema- Task beschrieben. Eine Fließschema-Task wird separat erzeugt, übersetzt und für die Ab- arbeitung vorgesehen.

Erzeugen einer Fließschema-Task

Es sind folgende Schritte erforderlich:

- Im All Items - Abschnitt des Explorer ist der Ordner Flowsheet anzuklicken. Anschlie- ßend erscheint er markiert.

- Im Contents - Abschnitt ist ein Doppelklick auf das Icon Add Task auszuführen.

- Es erscheint eine Dialogbox. In das Eingabefeld ist der Name der neuen Task einzutra- gen.

- Es erscheint ein Texteditor-Fenster, in dem sich bereits der Rahmen einer Task befindet. Der Programmtext kann nun eingegeben werden. Nach Abschluss der Eingabe kann über die rechte Maustaste ein Popup-Menü erzeugt werden. In diesem Menü erreicht man über den Menüpunkt Build den Compile Befehl.

- War die Übersetzung erfolgreich, so wird der Text automatisch gespeichert, sonst wird zunächst gefragt, ob eine Speicherung erfolgen soll. Im Mitteilungsfenster erscheinen die Fehlermitteilungen, die während der Übersetzung generiert werden.

- Das Editorfenster ist zu schließen.

Es erscheint nun ein neues Icon mit dem Namen der erzeugten Task im Contents - Abschnitt. Wenn es eine rote Markierung hat, so war die Übersetzung nicht erfolgreich. Wenn man dieses Icon markiert (Klick mit der linken Maustaste), so kann man über die rechte Maustaste ein Popup-Menü aktivieren, über dessen Menüpunkt Edit der Programmtext zur erneuten Be- arbeitung wiederum im Texteditor bereitgestellt wird.

Aktivierung / Deaktivierung einer Fließschema-Task

Bevor eine Task für die Steuerung des Ablaufs der Simulation wirksam wird, muss sie aktiviert werden. Die Aktivierung läuft in folgenden Schritten ab:

- Im All Items - Abschnitt des Explorer ist der Ordner Flowsheet anzuklicken.

- Im Contents - Abschnitt ist ein Doppelklick auf das Icon der zu aktivierenden Task auszuführen. Das Icon erscheint anschließend mit einem blauen Häkchen. Eine andere Möglichkeit der Aktivierung ist über das Popup-Menü gegeben, das nach dem Anklicken des Icon der Task mit der rechten Maustaste erscheint. In diesem Menü ist der Punkt Activate auszuwählen.

Die Aktivierung wirkt wie ein rastender Schalter. Für die Deaktivierung einer Task ist darum genau wie bei der Aktivierung zu verfahren.

Task-Programmierung

Die Syntax der Fließschema-Task folgt im wesentlichen den im Handbuch für ASPEN DYNAMICS ( Abschnitt 7. ) beschriebenen Formeln. Es können nunmehr aber auch die für ACM beschriebenen Sprachelemente (z.B. Bedingte Anweisung, Laufanweisung) genutzt

ASPEN CUSTOM MODELER - Problemtypen

4 - 7

werden. Damit ergeben sich neue Möglichkeiten für die Formulierung von komplexen Szena- rien.

Eine Task lässt sich durch folgende Syntaxformel beschreiben:

ereignisgetriebene task

TASK task_name RUNS startbedingung task_anweisung ;

END

startbedingung { prozessbedingung | BEFORE INITIALIZATION | AFTER INITIALIZATION | BEFORE STEP | AFTER STEP | AFTER ERROR }

prozessbedingung [ ONCE ] WHEN bedingung

Die Schlüsselworte und metasprachlichen Begriffe haben folgende Bedeutung:

TASK

END Schließt den Programmabschnitt ab.

RUNS

task_name Ein Bezeichner, der nur für eine Task vergeben werden kann. task_anweisung Eine Folge von Anweisungen, die die Aktionen beschreiben, die ausge- führt werden, wenn die Startbedingung erfüllt ist. startbedingung Beschreibt die für den Start der Task notwendig zu erfüllende Bedin-

gung. Hierbei gibt es zwei Grundformen: Die Startbedingung kann durch eine Bedingung gegeben sein, die auf gewisse Zustandsgrößen oder auf die Simulationszeit zugreift; sie kann aber auch auf der Struktur des Simulationslaufs beruhen. Für den ersten Fall ist eine Prozessbedingung zu formulieren; für den zweiten Fall sind die Schlüsselwörter BEFORE INITIALIZATION, AFTER INITIALIZATION, BEFORE STEP, AFTER STEP und AFTER ERROR zu verwenden, deren Bedeutun- gen sich unmittelbar erschließen. bedingung Ein logischer Ausdruck, der eine Startbedingung definiert, die auf Zu- standsgrößen oder die Simulationszeit Bezug nimmt. prozessbedingung Die Prozessbedingung wird im Wesentlichen durch den Wert eines logischen Ausdrucks bestimmt. Für den Fall, dass dieser Ausdruck den Wert “wahr” annimmt, wird die Anweisungsfolge der Task abgearbeitet, sonst ist sie wirkungslos. Die Abarbeitung erfolgt immer, wenn die Bedingung erfüllt ist, es sei denn, dem Schlüsselwort RUNS folgt der Operator ONCE: in diesem Fall wird die Task nur beim ersten Erfüllt- sein der Startbedingung abgearbeitet, später wird diese ignoriert.

Eröffnet den Programmabschnitt.

Leitet den Bedingungsabschnitt, der das Startereignis definiert, ein.

4 - 8

ASPEN CUSTOM MODELER - Problemtypen

! Der logische Ausdruck

Der logische Ausdruck, der in einer Prozessbedingung auftreten kann, besteht aus Bezeichnern

für Block- und/oder Stromvariablen, der Zeitvariablen sowie Vergleichsoperatoren. Die Zeit- variable hat den festen Namen Time. Die Blockvariablen werden nach folgender Syntax gebildet:

blockname.[portname.]variablenname

Für die Bezeichnung der Stromvariablen gilt eine ähnliche Syntax:

stromname.variablenname

! Taskanweisungen

Die Taskanweisungen beschreiben die Aktionen, die ausgeführt werden sollen, wenn die Startbedingung erfüllt ist. Für diese Aktionen stehen im wesentlichen die Ausdrucksmittel der

ACM-Programmiersprache zur Verfügung. Es werden im folgenden lediglich die Sprach- elemente behandelt, die in ihrer Funktionalität typisch für die Task-Programmierung sind, die demzufolge im Abschnitt 3. auch noch nicht behandelt wurden .

ereignisgesteuertes_warten WAIT FOR bedingung ;

Die Taskabarbeitung wird so lange angehalten, bis der logische Ausdruck bedingung erfüllt ist. Die Taskabarbeitung wird mit der der Wartebedingung folgenden Anweisung fortgesetzt.

ereignisgesteuerter_neustart RESTART WHEN bedingung ;

Die Taskabarbeitung wird unterbrochen. Wenn die Bedingung erfüllt ist, wird die Task, mit der ersten Anweisung beginnend, neu gestartet.

pause_anweisung PAUSE ;

Die Simulation wird unterbrochen und kann nur durch einen externen Bedienereingriff fortge- setzt werden (z.B. über das Run button der Werkzeugleiste).

mitteilung_erzeugen PRINT “ zeichenkette “ ;

Die Zeichenkette, die alle darstellbaren Zeichen enthalten kann, wird im Fenster Simulation Messages angezeigt.

ASPEN CUSTOM MODELER - Problemtypen

4 - 9

erzeuge_schnappschuss CREATE SNAPSHOT schnappschuss_name;

Durch diese Anweisung wird ein Schnappschuss erzeugt (zu Schnappschüssen s. Abschnitt 5.). Der Name des Schnappschusses wird in das entsprechende Archiv-File aufgenommen.

rampenfunktion RAMP ( variable, endwert, zeitintervall );

Die Rampenfunktion erzeugt einen abschnittsweisen linearen Verlauf der angegebenen Varia- blen ( variable ). Dieser lineare Verlauf wird durch die Konstante endwert begrenzt und er- streckt sich über die Dauer von zeitintervall. Außerhalb des vorgegebenen Intervalls nimmt die Variable den konstanten Endwert an.

Beispiele

Task soll_neu RUNS WHEN Time==1.2 // Festlegung eines Regler-Sollwertes b2.SPo: 0.9; Create Snapshot "Test-Schnappschuss";

End

Task sicher RUNS WHEN tank.p > 10 // Oeffnen eines Ventils, wenn p > 10 bar. Ventil.hv : 10

End

Task init RUNS AFTER INITIALIZATION // Festlegung des Eingangsstromes nach der Initialisierung eingang.temp : 50;

END

4 - 10

ASPEN CUSTOM MODELER - Problemtypen

4.3.

Parameterschätzung

4.3.1.

Erzeugung des Skripts für die Problembeschreibung

Die Parameterschätzung in Modellen ist eine wichtige Anwendungsklasse, die von ACM unterstützt wird. Dabei sind zwei Problemstellungen zu unterscheiden:

2. die Parameterschätzung in statischen Modellen (s. Abschnitt 4.3.2.)

3. die Parameterschätzung in dynamischen Modellen (s. Abschnitt 4.3.3.), die als Systeme

von Differentialgleichungen erster Ordnung vorliegen. Für beide Problemstellungen ist es erforderlich, ein VBS -Skript zu schreiben, das die Umge- bungsbedingungen für die Parameterschätzung bereitstellt. Dazu gehören folgende Informatio- nen:

4. Die zu schätzenden Modellparameter sind zu definieren.

5. Die Datensätze werden in einer bestimmten Ordnung bereitgestellt.

6. Die für die Parameterschätzung heranzuziehenden Datensätze sind festzulegen.

7. Die Abarbeitung der Parameterschätzung ist zu aktivieren.

1

Das Skript wird in folgenden Schritten erstellt:

8. Im All Items - Fenster des Explorer ist der Ordner Flowsheet zu markieren.

9. Im Contents - Fenster des Explorer ist auf das Symbol Add Script ein Doppelklick auszuführen.

10. Es erscheint ein Eingabefeld, in das der Name des neuen Skripts einzutragen ist.

11. Anschließend wird das Texteditor-Fenster geöffnet; der Skript-Text kann jetzt erzeugt werden.

Nach dem Schließen des Texteditors kann das Skript wie folgt abgearbeitet bzw. verändert werden:

S

Im Contents - Fenster des Explorer wird für jedes Skript ein Symbol erzeugt; das Symbol für das gewünschte Skript ist zu markieren.

S

Mit der rechten Maustaste ist das Popup.Menü aufzurufen.

S

Über den Menüpunkt Invoce Script wird die Abarbeitung des Skriptes eingeleitet. Falls ein Fehler auftritt, wird die Skriptabarbeitung unterbrochen und eine Fehlermitteilung ausgegeben.

S

Über den Menüpunkt Edit wird der Texteditor erneut aktiviert. Der Skripttext kann nun modifiziert werden.

4.3.2.

Parameterschätzung in statischen Modellen

Beschreibung des zu lösenden Problems

Der folgende Funktionen-Vektor sei gegeben:

Problems Der folgende Funktionen-Vektor sei gegeben: 1 VBS - Visual Basic Script; eine Skriptsprache zur

1 VBS - Visual Basic Script; eine Skriptsprache zur Programmierung von automatisierten Kommandofolgen unter WIN95/98 sowie für die Entwicklung von Anwenderprogrammen für MS-Programmpakete.

ASPEN CUSTOM MODELER - Problemtypen

4 - 11

Die einzelnen Größen haben folgende Bedeutung:

y

Vektor der z abhängigen Variablen

x

Vektor der m unabhängigen Variablen

b

Vektor der p Parameter

Der Funktionen-Vektor hat z Zeilen.

Folgendes Problem ist zu lösen:

Die folgenden Größen seien gegeben:

Problem ist zu lösen: Die folgenden Größen seien gegeben: Dabei handelt es sich um n Datensätze,
Problem ist zu lösen: Die folgenden Größen seien gegeben: Dabei handelt es sich um n Datensätze,

Dabei handelt es sich um n Datensätze, die aus Experimenten gewonnen wurden. Die Matrix X enthält die Einstellungen der unabhängigen Variablen; die Matrix Y stellt die Versuchsergebnisse für die z abhängigen Variablen dar. Die Parameter sind im Parametervektor b zusammengefasst. Die Elemente dieses Vektors sollen so bestimmt werden, dass gilt:

dieses Vektors sollen so bestimmt werden, dass gilt: Skriptsyntax Die Kodierung des konkreten Schätzproblems
dieses Vektors sollen so bestimmt werden, dass gilt: Skriptsyntax Die Kodierung des konkreten Schätzproblems

Skriptsyntax Die Kodierung des konkreten Schätzproblems wird im Rahmen eines VBS-Skripts vorgenom- men. Dieses Skript hat folgenden Aufbau:

skript_für_statische_parameterschätzung DIM name_der_anwendung SET name_der_anwendung = APPLICATION SET name_der_simulation = APPLICATION.SIMULATION

parameterdefinition

datensatz

start_der_parameterschätzung

4 - 12

ASPEN CUSTOM MODELER - Problemtypen

Die vordefinierten Variablen und Methoden sind durch Fettdruck hervorgehoben. Für die eingeführten Begriffe gelten folgende Definitionen:

parameterdefinition name_der_simulation.AddEstimateVariable

“ block_name.variablen_name“

In diesen Anweisungen sind die zu schätzenden Parameter festzulegen; dabei ist jeder Parameter durch seinen Namen und den Block, in dem er auftritt, zu kennzeichnen. Die zu schätzenden Parameter müssen die Spezifikation Fixed besitzen.

datensatz SET satz_name = name_der_simulation.NewExperiment( “bezeichnung“,“SteadyState“) satz_name.AddFixedPoint “ block_name. variablen_name “ , wert

satz_name.AddSSMeasurePoint “ block_name. variablen_name “ , wert , gewicht

satz_name.SetWight gewicht_des_satzes

Folgende Sachverhalte sind zu berücksichtigen:

S

Jeder Datensatz ist durch einen derartigen Abschnitt zu kodieren; die Skripttexte werden damit sehr umfangreich! Jeder Datensatz erhält zunächst einen Namen, der in den folgenden Zeilen immer als erster Bestandteil der Definitionen anzugeben ist.

Der Bezeichner (erster Parameter von NewExperiment) des Datensatzes ist eine beliebi- ge Zeichenkette; die Zeichenkette “SteadyState“(zweiter Parameter von NewExper- iment) ist immer anzugeben.

Zunächst werden die unabhängigen Variablen angegeben. Für jede Variable ist eine Zeile vorgesehen, die zunächst den Aufruf der Methode AddFixedPoint enthält, gefolgt von der vollständigen Bezeichnung der unabhängigen Variablen.

Mit der Methode AddSSMeasurePoint werden, in ähnlicher Weise wie für die un- abhängigen Variablen, die Angaben für die abhängigen Variablen angefügt. Für eine abhängige Variable ist zusätzlich ein Gewichtsfaktor anzugeben, der den Anteil der Variablen in der Summe der Quadrate der Abweichungen zu wichten gestattet. Es handelt sich dabei, gemäß der oben angegebenen Definition, um die Faktoren .

S

S

S

ji

S

Zusätzlich zur Wichtung der einzelnen Variablen kann auch der Datensatz als Ganzes mit einem Gewicht versehen werden. Das kann über den Aufruf der Methode SetWight geschehen. Es handelt sich dabei, gemäß der oben angegebenen Definition, um die Faktoren g .

i

start_der_parameterschätzung name_der_simulation.AddExperiment(satz_name)

name_der_simulation.RunMode = “ Estimation“ name_der_simulation.Run(TRUE)

ASPEN CUSTOM MODELER - Problemtypen

4 - 13

Folgende Sachverhalte sind zu beachten:

S

Mit der Methode AddExperiment wird ein Datensatz in die Auswertung aufgenommen. An dieser Stelle kann der Anwender das Datenpaket schnüren, das für die Parameter- schätzung herangezogen wird.

S

Mit der Zuweisung der Zeichenkette Estimation zur Variablen RunMode wird der Simulationsmodus auf Parameterschätzung umgestellt.

S

Der Aufruf der Methode Run aktiviert die Parameterschätzung.

Hinweis:

Kommentare in VBS-Skripts sind beliebige Zeichenketten, die mit dem Zeichen beginnen.

Beispiel

Die Parameter p1 und p2 in folgender Modellfunktion sind zu bestimmen:

p1 und p2 in folgender Modellfunktion sind zu bestimmen: Der folgende ACM-Programmabschnitt beschreibt diesen

Der folgende ACM-Programmabschnitt beschreibt diesen Zusammenhang:

MODEL block

y

AS RealVariable;

x

AS RealVariable(fixed);

p1,p2 AS RealVariable(fixed);

y- p1 - exp(p2*x)=0;

END

Dieses Modell wird als Block test im Fließschema instantiiert.

Das VBS-Skript, das die Daten enthält und den Ablauf der Parameterschätzung steuert, hat dann folgende Form:

DIM esti1 SET esti1=APPLICATION SET simul = application.simulation

‘ Definition der zu schätzenden Parameter simul.AddEstimateVariable "test.p1" simul.AddEstimateVariable "test.p2"

‘ Definition der Datensätze

SET e1 = Application.Simulation.NewExperiment("exp1","Steady State")

e1.AddFixedPoint "test.x" , 0.00 e1.AddSSMeasurePoint "test.y" ,3.00 , 1.00 SET e2 = Application.Simulation.NewExperiment("exp2","Steady State") e2.AddFixedPoint "test.x" , 1.00 e2.AddSSMeasurePoint "test.y" , 3.22 , 1.00

4 - 14

ASPEN CUSTOM MODELER - Problemtypen

SET e3 = Application.Simulation.NewExperiment("exp3","Steady State") e3.AddFixedPoint "test.x" , 2.00 e3.AddSSMeasurePoint "test.y" , 3.49 , 1.00 SET e4 = Application.Simulation.NewExperiment("exp4","Steady State") e4.AddFixedPoint "test.x" , 3.00 e4.AddSSMeasurePoint "test.y" , 3.82 , 1.00 SET e5 = Application.Simulation.NewExperiment("exp5","Steady State") e5.AddFixedPoint "test.x" , 4.00 e5.AddSSMeasurePoint "test.y" , 4.23 , 1.00 SET e6 = Application.Simulation.NewExperiment("exp6","Steady State") e6.AddFixedPoint "test.x" , 5.00 e6.AddSSMeasurePoint "test.y" , 4.72 , 1.00 SET e7 = Application.Simulation.NewExperiment("exp7","Steady State") e7.AddFixedPoint "test.x" , 6.00 e7.AddSSMeasurePoint "test.y" , 5.32 , 1.00 SET e8 = Application.Simulation.NewExperiment("exp8","Steady State") e8.AddFixedPoint "test.x" , 7.00 e8.AddSSMeasurePoint "test.y" , 6.06 , 1.00 SET e9 = Application.Simulation.NewExperiment("exp9","Steady State") e9.AddFixedPoint "test.x" , 8.00 e9.AddSSMeasurePoint "test.y" , 6.95 , 1.00 SET e10 = Application.Simulation.NewExperiment("exp10","Steady State") e10.AddFixedPoint "test.x" , 9.00 e10.AddSSMeasurePoint "test.y" , 8.05 , 1.00

‘ Aufnahme der Datensätze in das Schätzprogramm

simul.AddExperiment(e1)

simul.AddExperiment(e2)

simul.AddExperiment(e3)

simul.AddExperiment(e4)

simul.AddExperiment(e5)

simul.AddExperiment(e6)

simul.AddExperiment(e7)

simul.AddExperiment(e8)

simul.AddExperiment(e9)

simul.AddExperiment(e10)

‘ Start der Schätzung

simul.RunMode = "Estimation" simul.run(TRUE)

Das Ergebnis ist der AllVariables-Tabelle für den Block test zu entnehmen:

= "Estimation" simul.run(TRUE) Das Ergebnis ist der AllVariables -Tabelle für den Block test zu entnehmen:

ASPEN CUSTOM MODELER - Problemtypen

4 - 15

4.3.3.

Parameterschätzung in dynamischen Modellen

Beschreibung des zu lösenden Problems

Das folgende System gewöhnlicher Differentialgleichungen 1. Ordnung sei gegeben:

Differentialgleichungen 1. Ordnung sei gegeben: Die einzelnen Größen haben folgende Bedeutung: x Vektor

Die einzelnen Größen haben folgende Bedeutung:

x

Vektor der m Zustandsvariablen

u

Vektor der Steuergrößen

b

Vektor der p Parameter

f

Vektor der rechten Seiten des DGL-Systems

t

Zeit

Durch Messungen sind zeitliche Verläufe der Zustandsvariablen gegeben. Wenn man annimmt, dass die Messungen für alle Zustandsgrößen jeweils zu den gleichen Zeitpunkten erfolgen, lässt sich jeder Verlauf durch eine Matrix wie folgt darstellen:

sich jeder Verlauf durch eine Matrix wie folgt darstellen: Die Komponenten des Steuervektors u sind für

Die Komponenten des Steuervektors u sind für eine Verlaufsmatrix jeweils konstant, können sich aber von Verlauf zu Verlauf ändern. Die Parameter im oben eingeführten DGL-System sind so zu schätzen, dass das folgende Kriterium erfüllt wird:

ändern. Die Parameter im oben eingeführten DGL-System sind so zu schätzen, dass das folgende Kriterium erfüllt
ändern. Die Parameter im oben eingeführten DGL-System sind so zu schätzen, dass das folgende Kriterium erfüllt

4 - 16

ASPEN CUSTOM MODELER - Problemtypen

Skriptsyntax Die Kodierung des konkreten Schätzproblems wird im Rahmen eines VBS-Skripts vorgenom- men. Dieses Skript ist in der Abschnittsstruktur dem Skript für die Parameterschätzung in statischen Modellen sehr ähnlich:

skript_für_dynamische_parameterschätzung DIM name_der_anwendung SET name_der_anwendung = APPLICATION SET name_der_simulation = APPLICATION.SIMULATION

name_der_simulation.ResetEstimation

parameterdefinition

datensatz

start_der_parameterschätzung

Die vordefinierten Variablen und Methoden sind durch Fettdruck hervorgehoben. Die Syntax für die Definition der zu schätzenden Parameter ist die gleiche wie die für die Schätzung in statischen Modellen (s. Abschnitt 4.3.2.) angegebene:

parameterdefinition name_der_simulation.AddEstimateVariable

“ block_name.variablen_name“

Die Definition eines Datensatzes, der gerade einer Verlaufsmatrix entspricht, gehorcht folgender Syntax:

datensatz SET satz_name = name_der_simulation.NewExperiment( “bezeichnung“,“Dynamic“) satz_name.AddFixedPoint “ block_name. variablen_name “ , wert

satz_name.AddInitialPoint “ block_name. variablen_name “ , anfangs_wert

satz_name.AddDynMeasurePoint “ block_name. variablen_name “ ,zeit, wert , gewicht

satz_name.SetWight gewicht_des_satzes

Folgende Sachverhalte sind zu berücksichtigen:

S Jede Verlaufsmatrix ist als Datensatz durch einen derartigen Abschnitt zu kodieren; die Skripttexte werden damit sehr umfangreich! Jeder Datensatz erhält zunächst einen

ASPEN CUSTOM MODELER - Problemtypen

4 - 17

S

S

S

S

Namen, der in den folgenden Zeilen immer als erster Bestandteil der Definitionen anzugeben ist.

Der Bezeichner (erster Parameter von NewExperiment) des Datensatzes ist eine beliebi- ge Zeichenkette; die Zeichenkette “Dynamic“(zweiter Parameter von NewExperiment) ist immer anzugeben.

Zunächst werden die Werte der Steuergrößen, die für das Experiment als Konstanten angenommen werden können, angegeben. Für jede Variable ist eine Zeile vorgesehen, die zunächst den Aufruf der Methode AddFixedPoint enthält, gefolgt von der voll- ständigen Bezeichnung der unabhängigen Variablen. Nach einem Komma folgt der Wert der Konstanten.

Die Angaben für die Verläufe der Zustandsgrößen werden mit der Methode AddDyn- MeasurePoint angefügt. Dem Variablenbezeichner folgt, jeweils durch Komma ge-

trennt, der Zeitpunkt, der Wert der Zustandsgröße und ein Gewichtsfaktor. Bei letzterem

(k)

handelt es sich, gemäß der oben angegebenen Definition, um die Faktoren .

ji

Zusätzlich zur Wichtung der einzelnen Variablen kann auch der Datensatz als Ganzes mit einem Gewicht versehen werden. Das kann über den Aufruf der Methode SetWight geschehen. Es handelt sich dabei, gemäß der oben angegebenen Definition, um die Faktoren g .

k

Der Start einer Parameterschätzung kann nun durch folgende Kommandofolge eingeleitet werden:

start_der_parameterschätzung name_der_simulation.AddExperiment(satz_name)

name_der_simulation.RunMode = “ Estimation“ name_der_simulation.Run(TRUE)

Die Festlegungen aus Abschnitt 4.3.2. sind zu beachten.

Beispiel

Ein biologischer Wachstumsprozess kann durch das folgende Differentialgleichungssystem (MONOD-Kinetik) beschrieben werden:

(M ONOD -Kinetik) beschrieben werden: Die Parameter sind bekannte Konstanten. Aus gemessenen
(M ONOD -Kinetik) beschrieben werden: Die Parameter sind bekannte Konstanten. Aus gemessenen
(M ONOD -Kinetik) beschrieben werden: Die Parameter sind bekannte Konstanten. Aus gemessenen

Die Parameter sind bekannte Konstanten. Aus gemessenen Verläufen für die Zu- standsgrößen X und S sind die Parameter zu schätzen. Das Modell wird durch den folgenden ACM-Programmabschnitt beschrieben:

X und S sind die Parameter zu schätzen. Das Modell wird durch den folgenden ACM-Programmabschnitt beschrieben:

4 - 18

ASPEN CUSTOM MODELER - Problemtypen

MODEL raktion // Modell fuer biologischen Wachstumsprozess

mue_max,ks,y

AS RealVariable(Fixed);

s0,D

AS RealParameter;

x,s

AS RealVariable;

$x = (mue_max*(s/(ks+s))-D)*x; $s = (s0-s)*D-(mue_max*s/(ks+s))*x/y;

END

Im folgenden VBS-Skript werden die Daten definiert und die Parameterschätzung gestartet:

DIM applic SET applic=APPLICATION SET simul=APPLICATION.SIMULATION

simul.ResetEstimation

simul.AddEstimateVariable "B1.mue_max" simul.AddEstimateVariable "B1.y" simul.AddEstimateVariable "B1.ks"

SET dex=simul.NewExperiment("EXP1","Dynamic") dex.AddDynMeasurePoint "b1.x", 2.0,2.4, 1.0 dex.AddDynMeasurePoint "b1.s", 2.0,14.0, 1.0 dex.AddDynMeasurePoint "b1.x", 4.0,2.2, 1.0 dex.AddDynMeasurePoint "b1.s", 4.0,21.0, 1.0 dex.AddDynMeasurePoint "b1.x", 6.0,2.0, 1.0 dex.AddDynMeasurePoint "b1.s", 6.0,24.0, 1.0 dex.AddDynMeasurePoint "b1.x", 8.0,2.2, 1.0 dex.AddDynMeasurePoint "b1.s", 8.0,26.0, 1.0 dex.AddDynMeasurePoint "b1.x", 10.0,2.1, 1.0 dex.AddDynMeasurePoint "b1.s", 10.0,27.0, 1.0 dex.AddDynMeasurePoint "b1.x", 12.0,2.1, 1.0 dex.AddDynMeasurePoint "b1.s", 12.0,29.0, 1.0

simul.AddExperiment(dex)

simul.options.integrator = 5

simul.RunMode="Estimation"

simul.run(TRUE)

In der folgenden Tabelle sind zunächst die Anfangsnäherungen für die zu schätzenden Parameter zusammengestellt:

ASPEN CUSTOM MODELER - Problemtypen

4 - 19

ASPEN CUSTOM MODELER - Problemtypen 4 - 19 In der folgenden Tabelle sind die Ergebnisse dargestellt:

In der folgenden Tabelle sind die Ergebnisse dargestellt:

19 In der folgenden Tabelle sind die Ergebnisse dargestellt: Im folgenden Diagramm ist der Verlauf der

Im folgenden Diagramm ist der Verlauf der Zustandsgrößen mit den identifizierten Parametern dargestellt:

dargestellt: Im folgenden Diagramm ist der Verlauf der Zustandsgrößen mit den identifizierten Parametern dargestellt:

4 - 20

ASPEN CUSTOM MODELER - Problemtypen

4.4.

Optimierung

4.4.1.

Problembeschreibung

4.4.1.1

Das statische Optimierungsproblem 2

Die Formulierung eines Optimierungsproblems umfasst die Definition des Zielkriteriums und die Aufstellung der Nebenbedingungen, die sich in Form von Gleichungen und/oder Unglei- chungen ergeben.

Zielfunktion und Zielkriterium

Die Zielfunktion ist ein quantitatives Bewertungskriterium für das Systemverhalten, das von einer Reihe von Variablen abhängt. Ziel der Optimierung ist es, die freien Variablen (Ent- scheidungsvariablen) so zu bestimmen, dass die Zielfunktion ein Extremum annimmt:

so zu bestimmen, dass die Zielfunktion ein Extremum annimmt: Nebenbedingungen Es sind Nebenbedingungen in Gleichungsform

Nebenbedingungen

Es sind Nebenbedingungen in Gleichungsform und in Ungleichungsform zu unterscheiden:

- Nebenbedingungen in Gleichungsform:

zu unterscheiden: - Nebenbedingungen in Gleichungsform: Diese Nebenbedingungen folgen in der Regel aus den
zu unterscheiden: - Nebenbedingungen in Gleichungsform: Diese Nebenbedingungen folgen in der Regel aus den

Diese Nebenbedingungen folgen in der Regel aus den Modellgleichungen. Sie beschreiben die bestehenden Abhängigkeiten zwischen den Variablen, von denen die Zielfunktion abhängt. Die Anzahl der Entscheidungsvariablen ergibt sich aus der Ge- samtanzahl der Variablen, vermindert um die Anzahl der Nebenbedingungen in Gleichungsform.

- Nebenbedingungen in Ungleichungsform:

Diese Nebenbedingungen folgen aus physikalischen und technischen (auch sicherheits- technischen) Grenzen.

2 Ausführliche Darstellung s. LV “Systemverfahrenstechnik“.

ASPEN CUSTOM MODELER - Problemtypen

4 - 21

ASPEN CUSTOM MODELER - Problemtypen 4 - 21 4.4.1.2 Das dynamische Optimierungsproblem Mit ACM 11.1. wird
ASPEN CUSTOM MODELER - Problemtypen 4 - 21 4.4.1.2 Das dynamische Optimierungsproblem Mit ACM 11.1. wird

4.4.1.2 Das dynamische Optimierungsproblem

Mit ACM 11.1. wird die Möglichkeit eröffnet, auch dynamische Optimierungsprobleme zu lösen. Die gesuchte Lösung ist aber bei dieser Problemstellung i .a. ein System von Funktionen. Dabei handelt es sich um die zeitlichen Verläufe der Steuergrößen, die so zu wählen sind, dass ein vorgegebenes Zielkriterium erfüllt wird. Wenn jedoch nur die Entwurfsgrößen ( z.B. die Reglerparameter oder die Abmessungen einer Prozesseinheit ) als Entscheidungsvariablen heranzuziehen sind, wird die Problemstellung der statischen sehr ähnlich. Allerdings ist auch in diesem Falle zu beachten, dass die Nebenbedingungen die Form von Differentialgleichungen haben; die Lösungsstrategie wird sich somit von der statischen unterscheiden.

Zielfunktion und Zielkriterium

Die Zielfunktion ist auch im dynamischen Fall das quantitative Bewertungskriterium für das Systemverhalten. Ziel der Optimierung ist es, die freien Variablen (Entscheidungsvariablen) so zu bestimmen, dass die Zielfunktion ein Extremum annimmt:

so zu bestimmen, dass die Zielfunktion ein Extremum annimmt: In der Regel hat die Zielfunktion die

In der Regel hat die Zielfunktion die Form eines Integrals; das Zielkriterium nimmt dann folgende Form an:

Integrals; das Zielkriterium nimmt dann folgende Form an: Nebenbedingungen Auch im Falle des dynamischen

Nebenbedingungen

Auch im Falle des dynamischen Optimierungsproblems sind Nebenbedingungen in Gleichungs- form und in Ungleichungsform zu unterscheiden:

Nebenbedingungen in Gleichungsform:

S Diese Art der Nebenbedingungen hat die Form eine Systems gewöhnlicher Differential- gleichungen erster Ordnung:

4 - 22

ASPEN CUSTOM MODELER - Problemtypen

4 - 22 ASPEN CUSTOM MODELER - Problemtypen Auch diese Nebenbedingungen folgen in der Regel aus
4 - 22 ASPEN CUSTOM MODELER - Problemtypen Auch diese Nebenbedingungen folgen in der Regel aus

Auch diese Nebenbedingungen folgen in der Regel aus den Modellgleichungen.

S

Nebenbedingungen in Ungleichungsform:

Hier ergeben sich keine Unterschiede in der Formulierung im Vergleich zur statischen Problemstellung.

4.4.2.

Die Wege in ACM für die Beschreibung eines Optimierungsproblems

Die Formulierung eines Optimierungsproblems in ACM erfordert (gemäß der Problembeschrei- bung) folgende Schritte:

S

Kodierung der Zielfunktion und Festlegung des Typs des Extremums der Zielfunktion.

S

Formulierung des Systemmodells (Nebenbedingungen in Gleichungsform).

S

Formulierung evt. weiterer Nebenbedingungen in Gleichungsform.

S

Formulierung der Nebenbedingungen in Ungleichungsform.

S

Festlegung der Entscheidungsvariablen.

S Festlegung der Entscheidungsvariablen. Dem Nutzer stehen in der Regel mehrere We- ge offen, um

Dem Nutzer stehen in der Regel mehrere We- ge offen, um diese Schritte abzuarbeiten. Ein wichtiges Hilfsmit- tel ist der Optimization- Ordner, der über den Menüpunkt Tools und Menüeintrag Optimiza- tion aktiviert wird. Der Ordner stellt eine Reihe von Formularen bereit. Das Formular Setup ist im nebenstehenden Bild dargestellt:

In diesem Formular kann zunächst der Typ des Optimierungsproblems eingestellt werden (im Beispiel liegt ein statisches Problem vor). Für die beiden Problemstellungen sind unterschiedli- che Schalter und Eingabefelder aktiv (s. nachfolgende Beschreibungen). Mit dem Schalter Options wird das Optionsformular für den Optimierungsalgorithmus geöffnet.

ASPEN CUSTOM MODELER - Problemtypen

4 - 23

Über die Pickliste Optimizer kann das Optimierungsverfahren ausgewählt werden. Über die jeweiligen Eingabefelder können die Parameter des Verfahrens festgelegt werden. Der Schalter Create Script erlaubt es, ein VBS-Skript für die Automatisierung der Problem- bearbeitung einzurichten. In den folgenden Abschnitten wird dargelegt, wie mit diesem Formular-Ordner bzw. mit anderen Konstrukten ein statisches bzw. dynamisches Optimierungsproblem in ACM beschrieben werden kann.

4.4.3. Die Formulierung eines statischen Optimierungsproblems in ACM

Die im Rahmen der Problembeschreibung eingeführten Elemente eines statischen Optimierungs- problems werden im folgenden beschrieben.

Zielfunktion Die Zielfunktion wird im CONSTRAINTS-Unterabschnitt des Fließschema-Abschnittes formuliert ( im Abschnitt 3.4.2. wird beschrieben, wie ein solcher Abschnitt erzeugt wird). Sie hat die syntaktische Form einer Gleichung (s. Abschnitt 3.3.4).

Die Definition der Zielfunktion erfolgt im Formular Objective Variables (s. nebenstehendes Bild) im Ordner Optimization (s. Abschnitt 4.4.2.). Mit dem Schalter Find wird ein Such- formular aktiviert, das es dem Nutzer gestattet, die Variable auszusuchen, die für sein aktuelles Problem die Zielfunktion ist. A us dem Suchformular ist die ge- wünschte Variable in das Feld Variable zu ziehen. Mit dem Schalter Add kann sie dann der Liste hinzugefügt werden. Die Variable hat die Spezifi- kation Free. Mit den Schaltern Remove und Remove All können be- reits getätigte Einträge wieder gelöscht werden. Im Feld The sum of wird der Typ des anzu- strebenden Extremums eingestellt.

of wird der Typ des anzu- strebenden Extremums eingestellt. Formulierung des Systemmodells und Definition der

Formulierung des Systemmodells und Definition der Entscheidungsvariablen

Die Formulierung des Systemmodells ist so zu vollziehen, wie bei jeder anderen Simulation auch. Es ist lediglich darauf zu achten, dass bestimmte Größen jetzt als freie Entscheidungs-

4 - 24

ASPEN CUSTOM MODELER - Problemtypen

variablen eingeführt werden müssen. Das sind gerade die Variablen, die nicht durch Modellglei- chungen oder durch andere Nebenbedingungen in Gleichungsform bestimmt werden.

andere Nebenbedingungen in Gleichungsform bestimmt werden. Für die Definition der Ent- scheidungsvariablen kann ein

Für die Definition der Ent- scheidungsvariablen kann ein For mular im O r d n e r Optimization genutzt werden. Es handelt sich dabei um das Formular Decision Variables (s. nebenstehende Abbildung).

Das Auffinden und Eintragen der Entscheidungsvariablen erfolgt völlig analog zum Auf- finden der Variablen für die Zielfunktion (s. oben).

Nebenbedingungen in Gleichungsform Nebenbedingungen in Gleichungsform können auch im CONSTRAINTS-Unterabschnitt des Fließschema-Abschnittes angegeben werden. Sie haben dann die Form von Gleichungen (s. Abschnitt 3.3.4). Eventuell notwendig werdende Deklarationen können in diesem Unterabschnitt eingeführt werden.

Nebenbedingungen in Ungleichungsform Die Nebenbedingungen in Ungleichungsform werden im CONSTRAINTS-Unterabschnitt des Fließschema-Abschnittes definiert. Die Ungleichungen werden durch Einführung von „Schlupf- variablen“ in Gleichungsform gebracht. Diese Variablen können nur positive Werte annehmen. Im folgenden Beispiel wird gezeigt, wie man durch Einführung einer Schlupfvariablen eine Ungleichung in eine Gleichung überführen kann:

eine Ungleichung in eine Gleichung überführen kann: ist die Schlupfvariable; da diese stets einen Wert größer

ist die Schlupfvariable; da diese stets einen Wert größer Null hat, ist die ursprüngliche Ungleichung jederzeit erfüllt.

In ACM gibt es den speziellen Typ der Slack-Variablen; Schlupfvariable müssen diesem Typ

angehören. Die soeben behandelte Ungleichung wäre dann wie folgt zu kodieren:

s

x

A

,

x

AS

RealVariable;

sx

AS

SlackVariable;

ASPEN CUSTOM MODELER - Problemtypen

4 - 25

Beispiel

Das nachfolgend dargestellte Verteilungsproblem ist zu lösen:

nachfolgend dargestellte Verteilungsproblem ist zu lösen: Die Prozesseinheit B5 ist der Verteiler, der den

Die Prozesseinheit B5 ist der Verteiler, der den Eingangsvolumenstrom auf die beiden Stränge aufteilt. Die Modellgleichung für diesen Verteiler enthält der folgende Modell-Abschnitt:

MODEL verteiler

inp

out1,out2 AS Output in_out;

vpunkt

AS INPUT in_out;

AS

RealVariable (FIXED);

out1.vp=vpunkt-out2.vp;

out1.c=inp.c;

out2.c=inp.c;

END

Der Port-Typ in_out ist wie folgt definiert:

PORT in_out

vp AS RealVariable;

c AS RealVariable;

END

Die in den Zweigen auftretenden Reaktoren werden als ideale Rührkesselreaktoren modelliert. Es läuft eine irreversible Zerfallsreaktion nach dem Mechanismus A B ab. Das Reaktormodell wird durch den folgenden Modell-Abschnitt beschrieben:

MODEL rkr

k,V AS RealVariable(Fixed); inp AS INPUT in_out;

out

out.vp=inp.vp; out.c = inp.c/(1+k*v/inp.vp);

AS

OUTPUT

in_out;

END

4 - 26

ASPEN CUSTOM MODELER - Problemtypen

Die Definition der Zielfunktion erfolgt im Fließschema-Abschnitt:

CONSTRAINTS

Z AS RealVariable(Objective); Z = b1.out.c*b5.out2.vp + b4.out.c*b5.out1.vp; END

Die Ergebnisse sind der folgenden Tabelle zu entnehmen:

Z = b1.out.c*b5.out2.vp + b4.out.c*b5.out1.vp; END Die Ergebnisse sind der folgenden Tabelle zu entnehmen:

ASPEN CUSTOM MODELER - Problemtypen

4 - 27

4.4.4. Die Formulierung eines dynamischen Optimierungsproblems in ACM

Für die Beschreibung dynamischer Optimierungsprobleme werden die entsprechenden Formula- re des Optimization-Ordners (s. Abschnitt 4.4.2.) herangezogen.

Setup Im folgenden Bild ist das Setup-Formular dieses Ordners für eine dynamische Optimierung dargestellt. Der Auswahlschalter ist auf Perform Dynamic Optimization gesetzt. Damit wird der Unterabschnitt Dynamic Op- timization aktiv.:

Im Feld Final Time ist der End- zeitpunkt anzugeben. Über den Schalter Create Task kann eine Task automatisch er- zeugt werden, die den Ablauf des optimierten Prozesses nach Ab- schluss der Berechnungen steuert, wobei die ermittelten optimalen Steuerungen herangezogen wer- den. Über den Schalter Create Script kann ein VBS-Skript erzeugt wer- den, das ebenfalls die Simulation des optimierten Prozesses bei Aufruf einleitet.

Simulation des optimierten Prozesses bei Aufruf einleitet. Diskretisierung I m Formular Control Discretization werden

Diskretisierung

optimierten Prozesses bei Aufruf einleitet. Diskretisierung I m Formular Control Discretization werden die Festle-

I m Formular Control Discretization werden die Festle- gungen für die zeitliche Begren- zung des Optimierungsproblems und für die Diskretisierung der Steuergrößen getroffen. Im Abschnitt Final Time wird der Zeithorizont festgelegt. Es gibt hierfür zwei Möglichkeiten. Im Abschnitt Control Variable Elements werden die Bedingun- gen für die Diskretisierung der Steuergrößen festgelegt. Auch hier gibt es mehrere Möglichkei- ten.

4 - 28

ASPEN CUSTOM MODELER - Problemtypen

Zielfunktion Die Zielfunktion wird wie bei statischen Problemen i.a. im CONSTRAINTS-Unterabschnitt des Fließschema-Abschnittes formuliert. Über das Formular Objective Variables wird die Ziel-

funktion als solche vereinbart. Zum Umgang mit den Schaltern in diesem Formular s. Abschnitt

4.4.3.

Festlegung des Typs des Extremums

Der Typ des Extremums wird im Formular zur Zielfunktion (Objective Variables) festgelegt (s. auch Abschnitt 4.4.3.).

Formulierung des Systemmodells und Definition der Entscheidungsvariablen Die Formulierung des Systemmodells, das bei der dynamischen Optimierung ein System von Differentialgleichungen ist, erfolgt über Instanzen der Modellblöcke. Im Unterschied zu stati- schen Optimierungsproblemen gibt es aber jetzt drei Typen von Entscheidungsvariablen:

2. „Normale“ Entscheidungsvariablen (Decision Variables), die den Entwurfsgrößen entsprechen.

3. Steuergrößen (Control Variables), deren zeitlicher Verlauf gesucht ist.

4. Anfangswerte (Initial Variables) von Zustandsgrößen.

Das Formular Decision Variables im Optimization-Ordner ist bereits im Abschnitt 4.4.3. beschrieben worden. Für die Festlegung der Steuergrößen sind zwei Punkte von Bedeutung. Die Lösung des Problems bezüglich dieser Entscheidungsvariablen besteht in der Ermittlung des zeitlichen Verlaufs dieser Größen. In ACM wird dieser Verlauf abschnittsweise bestimmt; die Verläufe der Steuergrößen werden also zeitlich diskretisiert. Die Schrittweite für die Zeitintervalle, innerhalb derer die Steuergrößen jeweils als konstant angenommen werden, ist im Control Variable Elements- Formular über das Eingabefeld Number of Elements festzulegen. Die Definition der Variablen, die für das Problem als Steuergrößen gelten, wird im Formular

Control Variables (s. nebenstehendes Bild) vorgenommen. Dieses Formular hat den gleichen funktionellen Aufbau wie das Formular Decision Variables. Wenn die Berechnungen abge- schlossen sind, kann über dieses Formular auch die Ergebnisdar- stellung angefordert werden. Die darzustellende Steuergröße ist im Formular zu markieren. An- schließend ist mit der rechten Maustaste ein Popup-Menü zu erzeugen; in diesem Menü ist der Punkt View Control Ele- ment Results auszuwählen. Es erscheint ein Fenster mit den ermittelten Stützstellen.

ist der Punkt View Control Ele- ment Results auszuwählen. Es erscheint ein Fenster mit den ermittelten

ASPEN CUSTOM MODELER - Problemtypen

4 - 29

Sollen die Anfangswerte von Zustandsgrößen als Entscheidungsvariable für die Optimierung herangezogen werden, so ist das Formular Initial Variables zu nutzen. Dieses Formular ist den bisher beschriebenen Formularen analog in der Handhabung.

Nebenbedingungen in Gleichungsform Nebenbedingungen in Gleichungsform können auch im CONSTRAINTS-Unterabschnitt des Fließschema-Abschnittes angegeben werden (s. Abschnitt 4.4.3). Für den Fall, dass der optimale Verlauf von Steuergrößen zu bestimmen ist, können keine Nebenbedingungen berücksichtigt werden.

Nebenbedingungen in Ungleichungsform Die Nebenbedingungen in Ungleichungsform werden im CONSTRAINTS-Unterabschnitt des Fließschema-Abschnittes definiert. Die Ungleichungen werden durch Einführung von „Schlupf- variablen“ in Gleichungsform gebracht (s. Abschnitt 4.4.3). Für den Fall, dass der optimale Verlauf von Steuergrößen zu bestimmen ist, können keine Nebenbedingungen berücksichtigt werden.

Beispiel :

Regler-Parametrierung nach einem Integralkriterium

Ein PI-Regler ist für eine Füllstandsregelung einzustellen. Dabei soll das ITAE-Kriterium als Optimierungskriterium für die Bestimmung der Reglerparameter herangezogen werden. Dieses Kriterium ist wie folgt definiert:

werden. Dieses Kriterium ist wie folgt definiert: Im nachfolgenden Bild ist das Fließschema für das zu

Im nachfolgenden Bild ist das Fließschema für das zu optimierende System dargestellt. Das Element Z ist ein Berechnungsblock der Systembibliothek, der für die Berechnung des ITAE-Kriteriums genutzt werden kann.

Element Z ist ein Berechnungsblock der Systembibliothek, der für die Berechnung des ITAE-Kriteriums genutzt werden kann.

4 - 30

ASPEN CUSTOM MODELER - Problemtypen

Als Entscheidungsvariablen werden die Verstärkung und die Nachstellzeit des PI-Reglers gewählt. Als Anfangsschätzungen wurden gewählt: K =2, T =40 s. Diese Näherungen für die Reglerparameter führten zu dem im nachfolgenden Bild dargestellten Regelvorgang nach einem Führungssprung.

R

n

dargestellten Regelvorgang nach einem Führungssprung. R n Nach Abschluss der Optimierung nach dem ITAE-Kriterium

Nach Abschluss der Optimierung nach dem ITAE-Kriterium ergibt sich die folgende Sprung- antwort.

Führungssprung. R n Nach Abschluss der Optimierung nach dem ITAE-Kriterium ergibt sich die folgende Sprung- antwort.

ASPEN CUSTOM MODELER - Problemtypen

4 - 31

Die optimalen Reglerparameter besitzen danach die Werte K =2 T =96 s. Es ist zu beachten, dass die Einschwingzeit sich deutlich verkürzt.

R

n

Beispiel:

Optimale Steuerung

über-

führt werden. Diese Veränderung soll so gewählt werden, dass das folgende Kriterium erfüllt ist:

Der Füllstand in einem Behälter soll von einem Startzustand H in einen Endzustand H

0

Ende

soll von einem Startzustand H in einen Endzustand H 0 Ende Der erste Term des Integranden
soll von einem Startzustand H in einen Endzustand H 0 Ende Der erste Term des Integranden

Der erste Term des Integranden bewertet die Abweichung der Zustandsgröße H vom Zielwert; der zweite Term ist ein Maß für den Aufwand, der für die Änderung des Zulaufs notwendig ist (g ist ein Wichtungsfaktor). Die Nebenbedingung (in Form einer DGL!) hat die bekannte Form:

Nebenbedingung (in Form einer DGL!) hat die bekannte Form: Bei der Steuergröße, deren zeitlicher Verlauf gesucht

Bei der Steuergröße, deren zeitlicher Verlauf gesucht ist, handelt es sich um den Zulauf . Die Modellgleichung ist im folgenden Modellabschnitt enthalten:

Modellgleichung ist im folgenden Modellabschnitt enthalten: MODEL behaelt // Behaelter-Modell h AS OUTPUT RealVariable;

MODEL behaelt

// Behaelter-Modell

h AS OUTPUT RealVariable;

A,hv AS RealParameter;

eingang AS INPUT iop; ausgang AS OUTPUT iop;

$h=(eingang.vp-ausgang.vp)/A;

ausgang.vp=hv*sqrt(h);

END

Die Größe eingang.vp wird zur Entscheidungsvariablen vom Typ Control Variable. Die Ziel- funktion wird im CONSTRAINTS-Abschnitt kodiert:

CONSTRAINTS

I

AS RealVariable;

g

AS RealVariable(Fixed);

$I

= (tank.h-Z.Sp)^2+g*(tank.eingang.vp-tank.hv*sqrt(Z.Sp))^2;

END

4 - 32

ASPEN CUSTOM MODELER - Problemtypen

Das folgende Diagramm zeigt den optimalen Verlauf von Zustandsgröße und Steuergröße, sowie das Ergebnisformular.

Das folgende Diagramm zeigt den optimalen Verlauf von Zustandsgröße und Steuergröße, sowie das Ergebnisformular.
Das folgende Diagramm zeigt den optimalen Verlauf von Zustandsgröße und Steuergröße, sowie das Ergebnisformular.