Uploaded by Vladimir Nanfuñay Lora

Optimizador SQP hysys

advertisement
Copyright Notice
The copyright in this manual and its associated computer program are the property of
Hyprotech Ltd. All rights reserved. Both this manual and the computer program have
been provided pursuant to a License Agreement containing restrictions on use.
Hyprotech reserves the right to make changes to this manual or its associated computer
program without obligation to notify any person or organization. Companies, names and
data used in examples herein are fictitious unless otherwise stated.
No part of this manual may be reproduced, transmitted, transcribed, stored in a retrieval
system, or translated into any other language, in any form or by any means, electronic,
mechanical, magnetic, optical, chemical manual or otherwise, or disclosed to third
parties without the prior written consent of Hyprotech Ltd., Suite 800, 707 - 8th Avenue
SW, Calgary AB, T2P 1H5, Canada.
© 2001 Hyprotech Ltd. All rights reserved.
HYSYS.RTO, HYSYS, HYSYS.Plant, HYSYS.Process, HYSYS.Refinery, HYSYS.Concept,
HYSYS.OTS, and HYSIM are registered trademarks of Hyprotech Ltd.
Microsoft® Windows®, Windows® 95/98, Windows® NT and Windows® 2000 are
registered trademarks of the Microsoft Corporation.
This product uses WinWrap® Basic, Copyright 1993-1998, Polar Engineering and
Consulting.
Documentation Credits
Authors of the current release, listed in order of historical start on project:
Ian McKay, B.Sc.; Lisa Hugo, B.Sc., B.A.; Conrad Gierer, B.A.Sc.; Nana Nguyen, B.Sc.
Since software is always a work in progress, any version, while representing a milestone,
is nevertheless but a point in a continuum. Those individuals whose contributions
created the foundation upon which this work is built have not been forgotten. The
current authors would like to thank the previous contributors.
A special thanks is also extended by the authors to everyone who contributed through
countless hours of proof-reading and testing.
Contacting Hyprotech
Hyprotech can be conveniently accessed via the following:
Website:
Technical Support:
Information and Sales:
www.hyprotech.com
support@hyprotech.com
info@hyprotech.com
Detailed information on accessing Hyprotech Technical Support can be found in the
Technical Support section in the preface to this manual.
Table of Contents
1
2
3
4
Introducing HYSYS.RTO................................... 1-1
1.1
What is HYSYS.RTO......................................................... 1-3
1.2
Use of the Manuals ........................................................... 1-5
1.3
Technical Support ............................................................. 1-8
Installing HYSYS.RTO ...................................... 2-1
2.1
Basic Requirements .......................................................... 2-3
2.2
Installing HYSYS.RTO ...................................................... 2-4
Using HYSYS.RTO ............................................ 3-1
3.1
Role of the SubFlowsheet ................................................. 3-3
3.2
Optimization Objects ......................................................... 3-4
3.3
Collection Utilities .............................................................. 3-5
3.4
Optimizer Interface ............................................................ 3-6
3.5
Data Reconciliation/Parameter Estimation Problem ......... 3-6
3.6
Optimization Problem ........................................................ 3-7
3.7
Creating a Collection Utility ............................................... 3-7
The Optimizer ................................................... 4-1
4.1
5
6
Optimizer Interface ............................................................ 4-3
The Derivative Utility ....................................... 5-1
5.1
HYSYS.RTO Variables - Properties .................................. 5-3
5.2
HYSYS.RTO Constraints - Properties............................... 5-9
ESTIM DRU Overview ....................................... 6-1
6.1
The Problem...................................................................... 6-3
6.2
The Solution ...................................................................... 6-3
6.3
The Benefits ...................................................................... 6-4
6.4
ESTIM DRU Facilities........................................................ 6-5
6.5
Using ESTIM DRU ............................................................ 6-5
6.6
Configuring A Fitting Problem ........................................... 6-9
6.7
Estim Data Set Analysis .................................................. 6-17
i
6.8
Optimization Objects ....................................................... 6-17
6.9
General Notes ................................................................. 6-22
6.10 ESTIM DRU DIAGNOSTIC FILE OUTPUT..................... 6-23
7
Data Reconciliation Utility............................... 7-1
7.1
8
Heat Exchanger Network Data Reconciliation .................. 7-3
Derivative Utility and Optimizer....................... 8-1
8.1
The Derivative Utility ......................................................... 8-3
8.2
Optimizer ......................................................................... 8-11
Index ..................................................................I-1
ii
Introducing HYSYS.RTO
1-1
1 Introducing
HYSYS.RTO
1.1 What is HYSYS.RTO ..................................................................................... 3
1.2 Use of the Manuals....................................................................................... 5
1.3 Technical Support ........................................................................................ 8
1-1
1-2
1-2
Introducing HYSYS.RTO
1.1
1-3
What is HYSYS.RTO
HYSYS.RTO is a real-time on-line optimization software package that
combines two proven technologies: rigorous first principal models and
thermodynamic methods from HYSYS, and optimization and data
reconciliation routines from RTO.
Optimization within HYSYS is based on a simultaneous modular
approach. A flowsheet model is developed as a collection of
SubFlowsheets (SFS or the modular blocks) which are connected via
streams. Within each SFS are a collection of unit operations and
streams which are appropriate to be solved together. During the course
of the optimization run, each SubFlowsheet is solved using one of the
standard HYSYS solvers (non-sequential modular or one of the
available column solvers).
When the model is being posed to the optimizer, each product stream
from one SFS that serves as a feed stream to another SFS is "torn". The
act of tearing the stream creates a collection of connection equations
which the optimizer will solve as part of its calculations. In the case of
nested SubFlowsheets, the tearing occurs at the terminal locations (i.e.,
between the stream which is calculated as the product of one unit
operation, and the stream which feeds the next unit operation). There
are no intermediate tears constructed.
Recycle locations in the flowsheet should be defined at the transition
across a SubFlowsheet boundary. This additional transfer basis allows
the flowsheet to be initialized correctly, and then have the recycle
replaced by connection equations when the model is posed to the
optimizer.
Within each of the SubFlowsheets are a number of decision variables,
true process constraints and objective function variables. These are
individually selected and configured by you and are automatically
associated with the corresponding block when the problem is posed to
the optimizer.
Upon configuration of the flowsheet, Derivative Utilities can be
attached to the various SubFlowsheet operations. These utilities allow
the tearing of the appropriate streams to be invoked, and the various
optimization objects (decision variables, constraints, objective
function variables) collected into lists which are provided to the
optimizer.
1-3
1-4
What is HYSYS.RTO
When the optimizer is invoked, it accesses these lists from each of the
utilities in order to construct its solution matrix. During the course of
its solution, the optimizer will necessary configuration information
from each of the objects in order to determine aspects such as step size,
derivative evaluations etc.
In the simultaneous modular approach, the blocks are treated as a
matrix of variables (decision and tear) and constraints (true process
constraints and connection equations). The derivatives that the
optimizer then sees from any block are of the entire constraints vector
with respect to each individual variable within the block. If the block
contains variables which are part of the objective function, the gradient
is also determined for each of the variables.
During the optimization, values are returned to the flowsheet via the
utilities to be evaluated by the models, with the calculated results (tear
equation residuals, process constraint values, objective function, etc.)
returned to the optimizer. The interaction between the optimizer and
the flowsheet continues until the defined solution criteria is met.
1-4
Introducing HYSYS.RTO
1.2
1-5
Use of the Manuals
The following section lists a number of conventions used throughout
the documentation.
Keywords for Mouse Actions
As you work through various procedures in the manuals, you will be
given instructions on performing specific functions or commands.
Instead of repeating certain phrases for mouse instructions, keywords
are used to imply a longer instructional phrase:
These are the normal (default)
settings for the mouse, but you
can change the positions of the
left- and right-buttons.
Keywords
Action
Point
Move the mouse pointer to position it over an item.
For example, point to an item to see its Tool Tip.
Click
Position the mouse pointer over the item, and rapidly
press and release the left mouse button. For
example, click Close button to close the current
window.
Right-Click
As for click, but use the right mouse button. For
example, right-click an object to display the Object
Inspection menu.
Double-Click
Position the mouse pointer over the item, then
rapidly press and release the left mouse button
twice. For example, double-click the HYSYS icon to
launch the program.
Drag
Position the mouse pointer over the item, press and
hold the left mouse button, move the mouse while
the mouse button is down, and then release the
mouse button. For example, you drag items in the
current window, to move them.
Tool Tip
Whenever you pass the mouse pointer over certain
objects, such as tool bar icons and flowsheet
objects, a Tool Tip will be displayed. It will contain a
brief description of the action that will occur if you
click on that button or details relating to the object.
A number of text formatting conventions are also used throughout the
manuals:
Format
Example
When you are asked to invoke a HYSYS menu
command, the command is identified by bold
lettering.
File-Save indicates
opening the File menu and
choosing the Save
command.
When you are asked to select a HYSYS button,
the button is identified by bold, italicized
lettering.
Cancel identifies the
Cancel button on a
particular view.
1-5
1-6
Use of the Manuals
Note that blank spaces are
acceptable in the names of
streams and unit operations.
Format
Example
When you are asked to select a key or keys to
perform a certain function, keyboard
commands are identified by words in bold and
small capitals (small caps).
"Select the F1 key."
The name of a HYSYS View (or window) is
indicated by bold lettering.
Session Preferences
The name of a Group within a view is identified
by bold lettering.
Initial Build Home View.
The name of Radio Buttons and Check Boxes
are identified by bold lettering.
Ignored
Material and energy stream names are
identified by bold lettering.
Column Feed,
CondenserDuty
Unit operation names are identified by bold
lettering.
Inlet Separator,
Atmospheric Tower
HYSYS unit operation types are identified by
bold, uppercase lettering.
HEAT EXCHANGER,
SEPARATOR,
When you are asked to provide keyboard input,
it will be indicated by bold lettering.
"Type 100 for the stream
temperature."
Bullets and Numbering
Bulleted and numbered lists will be used extensively throughout the
manuals. Numbered lists are used to break down a procedure into
steps, for example:
1.
Select the Name cell.
2.
Type a name for the operation.
3.
Press ENTER to accept the name.
Bulleted lists are used to identify alternative steps within a procedure,
or for simply listing like objects. A sample procedure that utilizes
bullets is:
1.
Move to the Name cell by doing one of the following:
• Select the Name cell
• Press ALT N
2.
Type a name for the operation.
• Press ENTER to accept the name.
Notice the two alternatives for completing Step 1 are indented to
indicate their sequence in the overall procedure.
1-6
Introducing HYSYS.RTO
1-7
A bulleted list of like objects might describe the various groups on a
particular view. For example, the Options page of the Simulation tab on
the Session Preferences view has three groups, namely:
• General Options
• Errors
• Column Options
Callouts
A callout is a label and arrow that describes or identifies an object. An
example callout describing a graphic is shown below:
Figure 1.1
HYSYS Icon
Annotations
Annotation text appears in the
outside page margin.
Text appearing in the outside margin of the page supplies you with
additional or summary information about the adjacent graphic or
paragraph. An example is shown to the left.
Shaded Text Boxes
A shaded text box provides you with important information regarding
HYSYS' behaviour, or general messages applying to the manual.
Examples include:
The resultant temperature of the mixed streams may be quite
different than those of the feed streams, due to mixing effects.
Before proceeding, you should have read the introductory
section which precedes the example problems in this manual.
The use of many of these conventions will become more apparent as
you progress through the manuals.
1-7
1-8
Technical Support
1.3
Technical Support
There are several ways in which you can contact Technical Support. If
you cannot find the answer to your question in the manuals, we
encourage you to visit our Website at www.software.aeat.com, where a
variety of information is available to you, including:
•
•
•
•
•
answers to frequently asked questions
example cases and product information
technical papers
news bulletins
hyperlink to support email.
You can also access Support directly via email. A listing of Technical
Support Centres including the Support email address is at the end of
this chapter. When contacting us via email, please include in your
message:
• Your full name, company, phone and fax numbers.
• The version of HYSYS you are using (shown in the Help, About
HYSYS view).
• The serial number of your HYSYS security key.
• A detailed description of the problem (attach a simulation case
if possible).
We also have toll free lines that you may use. When you call, please have
the same information available.
1-8
Introducing HYSYS.RTO
1-9
Technical Support Centres
Calgary, Canada
AEA Technology Engineering Software
support@software.aeat.com (email)
Hyprotech Ltd.
(403) 520-6181 (local - technical support)
Suite 800, 707 - 8th Avenue SW
1-888-757-7836 (toll free - technical support)
Calgary, Alberta
(403) 520-6601 (fax - technical support)
T2P 1H5
1-800-661-8696 (information & sales)
Barcelona, Spain (Rest of Europe)
AEA Technology Engineering Software
support@software.aeat.com (email)
Hyprotech Europe S.L.
+34 93 215 68 84 (technical support)
Pg. de Gràcia 56, 4th floor
900 161 900 (toll free - technical support - Spain only)
E-08007 Barcelona, Spain
+34 93 215 42 56 (fax - technical support)
+34 93 215 68 84 (information & sales)
Oxford, UK (UK clients only)
AEA Technology Engineering Software
support@software.aeat.com (email)
Hyprotech
0800 7317643 (freephone technical support)
404 Harwell, Didcot
+44 1235 434351 (fax - technical support)
Oxfordshire, OX11 0RA
+44 1235 435555 (information &
United Kingdom
sales)
Kuala Lumpur, Malaysia
AEA Technology Engineering Software
Hyprotech Ltd., Malaysia
Lot E-3-3a, Dataran Palma
support@software.aeat.com (email)
Jalan Selaman ½, Jalan Ampang
+60 3 470 3880 (technical support)
68000 Ampang, Selangor
+60 3 471 3811 (fax - technical support)
Malaysia
+60 3 470 3880 (information & sales)
Yokohama, Japan
AEA Technology Engineering Software
AEA Hyprotech KK
Plus Taria Bldg. 6F.
3-1-4, Shin-Yokohama
Kohoku-ku
support@software.aeat.com (email)
Yokohama, Japan
81 45 476 5051 (technical support)
222-0033
81 45 476 5051 (information & sales)
1-9
1-10
Technical Support
Offices
Calgary, Canada
Yokohama, Japan
Tel: (403) 520-6000
Tel: 81 45 476 5051
Fax: (403) 520-6040/60
Fax: 81 45 476 3055
Toll Free: 1-800-661-8696
1-10
Newark, DE, USA
Houston, TX, USA
Tel: (302) 369-0773
Tel: (713) 339-9600
Fax: (302) 369-0877
Fax: (713) 339-9601
Toll Free: 1-800-688-3430
Toll Free: 1-800-475-0011
Oxford, UK
Barcelona, Spain
Tel: +44 1235 435555
Tel: +34 93 215 68 84
Fax: +44 1235 434294
Fax: +34 93 215 42 56
Oudenaarde, Belgium
Düsseldorf, Germany
Tel: +32 55 310 299
Tel: +49 211 577933 0
Fax: +32 55 302 030
Fax: +49 211 577933 11
Hovik, Norway
Cairo, Egypt
Tel: +47 67 10 6464
Tel: +20 2 702 0824
Fax: +47 67 10 6465
Fax: +20 2 702 0289
Kuala Lumpur, Malaysia
Seoul, Korea
Tel: +60 3 470 3880
Tel: 82 2 3453 3144 5
Fax: +60 3 470 3811
Fax: 82 2 3453 9772
Installing HYSYS.RTO
2-1
2 Installing HYSYS.RTO
2.1 Basic Requirements..................................................................................... 3
2.2 Installing HYSYS.RTO .................................................................................. 4
2-1
2-2
2-2
Installing HYSYS.RTO
2.1
2-3
Basic Requirements
The following system requirements will ensure satisfactory
performance by HYSYS.RTO on reasonably sized simulation cases.
System Component
Microprocessor
Operating System
Physical Memory
Total Memory
Requirement
Pentium or better
Version available for DEC Alpha
Microsoft Windows NT or Windows 95/98
Windows NT
- 32 MB of RAM
Windows 95/98
- 24 MB
Windows NT
-RAM+Virtual Memory
Windows 95/98
> 64 MB
> 48 MB
Disk Space
Approximately 70 MB of free disk space is required.
Serial Port
The green security key used with the "standalone"
version of HYSYS.RTO can only be attached to a
serial communications port of the computer running
the application (do not plug in a serial mouse behind
the security key).
Parallel Port
The grey security key used with the "network" version
of HYSYS.RTO must be attached to the parallel
communications port of a computer on the network.
Monitor/Video
Minimum usable: SVGA (800x600).
Recommended: SVGA (1024x768).
Keyboard
Enhanced (101 key) keyboard.
Mouse
Required. Note that a mouse cannot be plugged into
the back of the green serial port key used with the
"standalone" version of HYSYS.RTO.
2-3
2-4
Installing HYSYS.RTO
2.2
Installing HYSYS.RTO
The HYSYS.Process installation program will install all necessary files
related to the RTO optimization and data reconciliation routines.
Please follow the installation procedure outlined in the HYSYS.Process
Get Started manual under Section 2.2 - Installing HYSYS.
2-4
Using HYSYS.RTO
3-1
3 Using HYSYS.RTO
3.1 Role of the SubFlowsheet ........................................................................... 3
3.1.1 Simultaneous Modular Optimization ........................................................ 3
3.1.3 Implementation in HYSYS.RTO ............................................................... 4
3.1.4 Overview .................................................................................................. 4
3.2 Optimization Objects ................................................................................... 4
3.3 Collection Utilities ........................................................................................ 5
3.4 Optimizer Interface....................................................................................... 6
3.5 Data Reconciliation/Parameter Estimation Problem................................. 6
3.5.1 General Procedure................................................................................... 6
3.6 Optimization Problem .................................................................................. 7
3.6.1 General Procedure................................................................................... 7
3.6.2 Flowsheet Tearing .................................................................................... 7
3.7 Creating a Collection Utility ........................................................................ 7
3.7.1 Derivative Utility ..................................................................................... 10
3.7.2 Optimization Objects .............................................................................. 14
3.7.3 Optimization Object Installation.............................................................. 14
3-1
3-2
3-2
Using HYSYS.RTO
3.1
3-3
Role of the
SubFlowsheet
In the standard HYSYS modeling environment, the SubFlowsheet
provides a number of capabilities. It allows you to provide a logical
grouping of operations to facilitate understanding of the process
behaviour. In addition, it provides the mechanism to encapsulate a
solver (i.e., the Column SubFlowsheet) or to use different fluid packages
(thermodynamics, component slates, etc.) within a simulation.
For optimization, the sub-flowsheet provides the same benefits plus a
number of additional capabilities for the simultaneous modular
approach. Foremost, it provides a location where the standard
propagation of information can be broken. Once a model has been torn
for optimization, information will not propagate from one
SubFlowsheet to another. This limits calculations to only those which
are needed at a point in time. Similarly, by choosing the structure of the
SubFlowsheets appropriately, unnecessary equations are never posed
to the optimizer. In addition, if derivatives are being generated
numerically, the potential for noise in the generated derivatives is
minimized by constructing suitably sized SubFlowsheets.
For operations which can deliver analytical derivatives, these must be
encapsulated within a single sub-flowsheet. For example, HYSYS
columns which are being solved by the Newton solver will be able to
deliver the Jacobian matrix to the optimizer directly. Extension unit
operations, which deliver analytical derivatives will be handled in the
same manner.
3.1.1 Simultaneous Modular
Optimization
Simultaneous Modular Optimization (SMO) is a hybrid between
Sequential Modular and Open Equation forms of optimization. It
utilizes modular solvers to solve the unit operations themselves, and
the Optimizer solver to solve both the Optimization and connection
equation problems.
3-3
3-4
Optimization Objects
3.1.2 Implementation in HYSYS.RTO
In HYSYS.RTO, the SMO has been facilitated by the development of
Optimization Objects (which provide a generic interface to flowsheet
variables), configuration utilities (Data Reconciliation and Derivative)
and flowsheet tearing. The act of tearing the flowsheet blocks the
propagation of information across the torn location, creating a set of
connections equations which are exposed to the Optimizer for solution
as part of the optimization problem.
3.1.3 Overview
For the HYSYS user, the key pieces to configuring an optimization or
data reconciliation problem are:
• Optimization Objects - a generic set of objects which are
used to identify the underlying flowsheet variable, and provide
the necessary configuration information for use by Optim or
Estim
• Collection Utilities - utilities which are used to identify the
"pieces" of the flowsheet which are to be exposed to Optim or
Estim
• Optim and Estim parameters, tolerances and flags
Note that the mechanics for creating either a Data Reconciliation or
Optimization problem are essentially identical. The only differences are
the optimization object types which will be utilized, the Optim or Estim
properties, tolerances and flags to be configured, and some procedures
which are specific to the type of problem being solved.
3.2
Optimization Objects
Optimization objects are the mechanism of identifying the flowsheet
variables which are to be considered as part of the problem. The
optimization and data reconciliation routines have the ability to set
and retrieve flowsheet values as well as the necessary configuration
parameters via the optimization object. While there are a number of
different optimization object types, they all serve the same basic
function.
3-4
Using HYSYS.RTO
3-5
The primary differences between the optimization objects are the
properties they contain, and how Optim or Estim treats them. For
flowsheet optimization, there are:
• Optimization Variable - these are the decision variables for
the optimization. These must be specified (blue) variables.
• Constraints - these are the true process constraints, bounded
variables These are instantiated by you. These must be
calculated (black) variables.
• Objective Function Variables - a variable which is part of the
overall objective function. Each variable has its own defining
equation, the results of which are combined into a single
flowsheet objective function. These must be calculated (black)
variables.
For Data Reconciliation and Parameter Estimation, there are:
• DCS Tags - variables for which you have a set of
measurements, which are to be used to calculate offsets in the
measurements, and update fitting parameters. These can be
either specified or calculated variables.
• Fitting Parameters - variables whose value is to be directly
adjusted to match the supplied data. These must be specified
(blue) variables.
There is a third type of Optimization Object used for Data
Reconciliation called a DRU Stream (Data Reconciliation Utility
Stream). This is essentially a data holder, i.e., it allows for multiple sets
of stream data, each corresponding to a different data set, to be
supplied by you. These values are taken as supplied, no offsetting is
calculated for these streams.
3.3
Collection Utilities
Derivative and Data Reconciliation Utility
There are two utilities which are used by HYSYS.RTO to provide the
primary interface between the flowsheet model and the solver. These
are the Data Reconciliation Utility and the Derivative Utility. Their
primary purpose is to collect appropriate optimization objects which
are then exposed to the solvers.
These utilities are first "attached" with unit operation(s) within the
flowsheet model. Then, based on the types of optimization objects that
utility type is interested in, it collects those objects of the correct types
which are themselves attached to variables which are related to the
targeted unit operations and their corresponding streams.
3-5
3-6
Optimizer Interface
It is the corresponding lists of "variables" and "constraints" that are
exposed to Optim.
3.4
Optimizer Interface
The Optimizer interface in HYSYS provides the collection points for the
utilities within the flowsheet. Depending on the mode, the Optimizer
invokes either Estim (Data Reconciliation and Parameter Fitting) or
Optim (Optimization) and provides the necessary interfaces back into
the process model.
3.5
Data Reconciliation/
Parameter Estimation
Problem
3.5.1 General Procedure
1.
Build the flowsheet.
2.
Install a Data Reconciliation utility.
3.
Select the unit operations from the flowsheet which are associated
with the variables to be fit, or for which you have measured data
for. The streams that are attached to the unit operations are
automatically obtained at the same time.
4.
Install Fitting Parameters from the Utility and attach them to the
appropriate flowsheet variables to be fit.
5.
Supply appropriate values for the Fitting Parameters.
6.
Install DCS Tags and attach them to flowsheet variables for which
you have measured data.
7.
Supply required values for the Tags.
8.
Supply the measured data.
9.
If necessary, turn on the multiple data set option for attached
streams, and supply corresponding data.
10. Set the appropriate Estim properties, tolerances and flags.
11. Invoke the HYSYS Optimizer F5 and turn on Data Reconciliation
mode.
12. Identify the utility which contains unit operations and streams to
be reconciled.
13. Start the data reconciliation.
3-6
Using HYSYS.RTO
3.6
3-7
Optimization Problem
3.6.1 General Procedure
1.
Build the flowsheet
2.
Install a Derivative utility
3.
Select Flowsheet Wide for the Unit Operation
4.
Install Optimization Variables from the utility and attach them to
the appropriate flowsheet variables.
5.
Supply appropriate values for the Optimization Variables.
6.
Install Constraints and attach them to appropriate flowsheet
variables.
7.
Supply required values for the Constraints.
8.
Install the objective function object(s) and attach them to
appropriate flowsheet variables.
9.
Configure the appropriate prices for the objective function objects.
10. Invoke the Optimizer F5 and select Optimization.
11. Change appropriate Optim properties, tolerances and flags.
12. Start the Optimization.
3.6.2
Flowsheet Tearing
There is an additional feature available for optimization which involves
Flowsheet Tearing. With this approach, specific streams in the
flowsheet are "torn" with appropriate connection equations written.
These additional variables and constraints are passed to the Optimizer
to be solved as part of the optimization problem. Typically this
approach will require multiple derivative utilities to be constructed.
3.7
Creating a Collection
Utility
Utilities are created from the FlowSheet Tools Menu Bar, or by using the
CTRL U hot key combination. This will produce a view containing the
available and installed utilities in the flowsheet. Select Derivative
Utility (as shown in Figure 3.1) or Data Recon Utility, and press the Add
Utility button. This will bring up the appropriate Utility property view
3-7
3-8
Creating a Collection Utility
Figure 3.1
Utility Property View
Both the Data Reconciliation and Derivative Utility property views
contain a number of tabs, which are essentially organized around the
optimization object types (variables, constraints, fitting parameters,
DCS Tags, etc.). Both utilities contain a similar section at the top of the
view that provides access, on every tab, to the features for unit
operation attachment and optimization object creation for the
problem. While optimization objects can be created from the flowsheet
prior to installing a utility, it is recommended that this be done from
this location. Once unit operations have been selected, optimization
objects, which are created, are tested as to whether they are associated
with the attached operations and streams.
Immediate feedback is provided when the objects have been created as
they are added directly to the lists contained within the utility, and are
displayed directly on the property view. Information can either be
supplied as objects are added, or at any time prior to running the
solver.
3-8
Using HYSYS.RTO
3-9
Figure 3.2
The tabs of the Derivative Utility are defined as follows:
Tab
Description
Structural Non-Zeroes
Allows you to assign variable/constraint
associations such that a Jacobian element is
always assigned to the pair regardless of the
Jacobian Tolerance.
Independent Variables
Access to the collection of variables (optimization
Variables, Connection Equation Variables, and
Solution Variables) associated with the utility
Constraints/Objective
Function
Access to the collection of dependent variables
(Constraints, Technical Constraints, Solution
Constraints and Objective Function variables)
associated with the utility.
Derivative Analysis
Access to a the numerical perturbation
mechanism to allow examination of the sparsity
pattern and Jacobian values, gradient and model
noise which will be generated by the gradient
calculations of the solution.
3-9
3-10
Creating a Collection Utility
3.7.1 Derivative Utility
Figure 3.3
Configuration Group Box
At the top of the Derivative Utility property view is the Derivative
Utility Configureation group box, which is displayed on every tab. This
provides access to:
3-10
Field
Description
Unit Operation
Selection
Select the unit operation(s) for the given utility.
Add
Add variables, constraints and objective function
objects.
Master/Run Time
Toggle
Switch between Master and Run Time lists for display
purposes. The Master List is all variables or
constraints which are attached to utility. During the
set up phase of an optimization problem, each
variable and constraint is evaluated for its current
parameter settings. Those which do not qualify for
the current problem (i.e., the Optimize Flag is false)
are not included in the list of variables and constraints
exposed to the Optimizer, which is the Run Time list.
This button allows you to switch between lists
(including while the problem is running).
Using HYSYS.RTO
3-11
Unit Operation Selection.
Figure 3.4
There are three modes for the derivative utility:
Mode
Selection
Flowsheet Wide
This mode is appropriate when minimal flowsheet
tearing is to be employed, and no special
derivative and solution mechanisms (such as
extension operations) are to be utilized. In this
mode, a single derivative utility is utilized for the
entire flowsheet.
Specific Unit Operation
Typically this will be a SubFlowsheet, which will
be torn on both the feeds and products. The
SubFlowsheet will typically contain several unit
operations which will be solved either using the
HYSYS standard solver, or one of the column
solvers.
Extension Operation
Utilized when the SubFlowsheet contains an
extension operation which will be solved using
the available OLE functions to allow the solver to
solve the model equations as part of the
optimization problem
It is best to select the desired unit operation prior to installing any of
the remaining optimization objects. Part of the procedure of attaching
the unit operation to the utility is obtain all existing optimization
objects (of the appropriate type) from the simulation case.
For example, if the Specific Unit Oper radio button is selected, the view
shown in Figure 3.5 will be produced.
3-11
3-12
Creating a Collection Utility
Figure 3.5
Select the target unit operations from the Object column of the view.
Note that SubFlowsheets (i.e., Columns), are to be selected as an
Object, not as a Flowsheet.
When a Unit Operation is selected, the utility will display all
optimization objects currently installed in the simulation case which
are associated (attached to) the unit operation(s) and their associated
streams.
Object and Property Filters
From the perspective of Optim, there are only variables and
constraints. However, to assist in the interpretation of the optimization
problem, these lists are divided according to the source of the attached
variable. On the corresponding tabs of the utility are radio buttons
which filter the objects into these types.
3-12
Using HYSYS.RTO
3-13
Figure 3.6
For the Variables tab, the Independent Properties can be selected by
sugin the following radio buttons:
Variable
Description
Optimization Variable
True decision variables.
Tear Variables
Variables which have been created by the tearing
of a flowsheet stream
Solution Variables
Variables which have been created to support an
extension operation which is to be solved as part
of the optimization problem.
Further filtering is provided to indicate which of the given object
properties are:
Radio Button
Description
Input
Required user input.
Output
Values which are output from Optim.
Results
Values which are the results of the optimization
problem.
All
Access to all properties. There are a number of
internal properties (i.e., Sparse Column), which
are contained inside of the optimization object,
but are used as internal values for the solution.
3-13
3-14
Creating a Collection Utility
All of the appropriate optimization object types are displayed on the
tab in a worksheet format. In addition to the properties, the view will
display the flowsheet object and variable that each optimization object
is associated with. Values which can be specified are indicated in blue,
while those which are calculated are displayed in black. Unit
conversion is provided for each of the appropriate object property
combinations.
3.7.2 Optimization Objects
The Optimization object types which are used for optimization
problems are:
Type
Description
Optimization Variable
These are the decision variables for the
optimization. These must be specified (blue)
variables.
Constraints
These are the true process constraints, bounded
variables These are instantiated by you. These
must be calculated (black) variables.
Objective Function
Variables
A variable which is part of the overall objective
function. Each variable has its own defining
equation, the results of which are combined into
a single flowsheet objective function. These must
be calculated (black) variables.
3.7.3 Optimization Object
Installation
Optimization objects appropriate for the utility (in the case of the
Derivative utility - Optimization Variables, Constraints and Objective
Function variables) can be added directly from the view. In the upper
right corner of the Derivative Utility Configuration group box is a drop
down list containing these three options. By choosing the appropriate
option and pressing the Add button, the selection view is displayed:
3-14
Using HYSYS.RTO
3-15
Figure 3.7
By making the selection as shown (Flowsheet, Object, Variable and
Variable Specifics), the Optimization Variable is created and is added
into the utilities collection:
By default, the new object is given the next available name. However,
you can edit the name of the object directly from the utility view by
highlighting the name in the Object Name column and typing in a new
string, as shown below
Figure 3.8
3-15
3-16
Creating a Collection Utility
Constraints and Objective Function Objects are added in a similar
manner. When an object of a given type has been added, the utility will
automatically be switched to the appropriate tab and filter type.
Specified Versus Calculated Values
Note that when you install a variable or constraint, it is essential that
you examine the status of the Current Value property. Variables must
display a status of Blue (specifiable), while Constraints must display a
status of Black (calculated).
Units and Delta Properties
All communication with Optim for property values is conducted in
HYSYS internal units. However, you can input your values in any unit
set desired, the conversion is handled internally. There are certain
properties (typically span or range type properties) which are handled
differently based on the variable type they are attached to (i.e., pressure
and temperature). When you input a value for these types of property/
variable combinations, the input is converted automatically to Delta;
i.e., a Range for a temperature variable of 1 C will display as 1.8 F if the
unit set is changed.
The only location where the chosen Units set influences the problem is
with respect to the Objective Function object. The default formula for
an Objective Function object is variable value X price. The calculations
which are performed for determining the individual contribution of
that object to the overall objective function are done in display units.
For example, if the objective function object is attached to a
LiquidVolumeFlow variable, and the current display units are in
Barrels/Day, the actual display value (1000 bbl/day) are used in
determining the contribution to the objective function. You can create
a new unit set (Tools/Preferences) for this purpose. Note that if you
store a case and then reload it from disk, you should ensure that the
correct units set is being used prior to running the optimization
problem.
Derivative Analysis
The Derivative Analysis tab of the utility property view provides access
to the Jacobian and Gradient calculation mechanism which will be
used during the solution. You can examine different perturbation sizes,
and single and two sided gradient calculations and see their impact on
3-16
Using HYSYS.RTO
3-17
the calculated Jacobian and gradient for the variables. Filtering is
provided to allow examination of subsets of the overall variable and
constraint lists. In addition, you can examine the model noise to
determine if tighter solution tolerances on the individual unit
operations (i.e., Columns) is necessary. Typically, a tighter solution
tolerance requires more individual calculations at any phase, but
improves the quality of the Jacobian being returned to Optim and
reduces the time of the overall problem solution.
Figure 3.9
When the calculations are complete, you can examine both the
individual Jacobian elements, or the Gradient, as well as the noise of
the model. While the default solution tolerances for unit operations is
valid for modelling purposes, experience has shown that a tighter
tolerance is more appropriate for Jacobian evaluations (where small
changes are being applied to determine the direction).
This is the original absolute model noise (comparison of the original
value of the constraint, to the calculated value when the variable is
returned to its starting value), while the screen below shows the values
when a tighter tolerance is used in the calculations.
3-17
3-18
Creating a Collection Utility
Figure 3.10
In addition to examining the affects of the perturbation size, gradient
types, etc., on the calculated Jacobian and Gradient, you can also use
the Derivative Analysis tab to determine the size of the Ranges that are
best suited for the optimization problem. The size of the perturbation
which applied to the variable is determined by the Range x the
perturbation. The Range is different from the span (which is used by
the Optimizer in the Jacobian normalization, and is calculated as the
Maximum - the Minimum).
Figure 3.11
If you have not supplied a value for the Range, the Span will be used in
determining the size of the perturbation. The reason for providing the
span is that it allows you better control over the perturbation which is
being applied to the given variable, i.e., large enough to generate a
sensical response, without impacting the conditioning of the
optimization problem (i.e., a desired very small range to work with on
the variable itself).
3-18
The Optimizer
4-1
4 The Optimizer
4.1 Optimizer Interface....................................................................................... 3
4.1.1 Calculations ........................................................................................... 20
4.1.2 Results ................................................................................................... 20
4-1
4-2
4-2
The Optimizer
4.1
4-3
Optimizer Interface
While the derivative utilities are utilized for collecting and configuring
the individual optimization objects for the problem, the Optimizer in
turn collects all of the utilities and exposes the combined list of
variables and constraints to Optim. In addition, this is the location
where you set the tolerances, flags and settings for the Optimization
problem in its entirety. The Optimizer is accessed by pressing the F5
key.
Figure 4.1
The radio button selection provided along the bottom of the view
provides access to the available options:
•
•
•
•
Default - the existing HYSYS Optimizer
Optimization - access to Optimization (Optim)
Data Recon - access to Data Reconciliation (Estim)
Model - used specifically for Real Time applications.
Depending on the selection of the radio button, additional tabs are
displayed on the view. A number of tabs (Testing, Properties, Transfer
and Object Transfer) relate solely to the Real Time interfaces and
should not be utilized. All of the necessary configuration for the
Optimization Problem can be accessed through the Optim
4-3
4-4
Optimizer Interface
Configuration tab.
There are three pieces of the Configuration:
• SetUp - identifying the optimization algorithm to be used, type
of perturbations, level of diagnostics, etc.
• Tolerances - access to the various solution tolerances and
Optim parameters.
• Flags - access to the various Optim configuration options
which are Booleans.
Optim Configuration Set Up Inputs (Set Up
Radio Button)
These inputs consist of the following Optimizer properties:
Algorithm
The algorithm to be used by the Optimizer, which is one of:
• SS_LP - A single-shot linear programming algorithm
• MDC_SLP - A sequential linear programming algorithm
• MDC_SQP - A two-phase sequential quadratic programming
algorithm with large-scale sparse matrix handling features
• NAG_SQP - A single-phase sequential quadratic programming
algorithm
Suggested Default: MDC_SQP
LP Options
Used to select the options to be used with the SS_LP algorithm. This
selection is one of:
• None
• Initialise - A single run of the linear programming algorithm is
conducted, and the Objective Value property of the Optimizer is
reset to 0.0.
• Intercepts - This option causes the Optimizer Fix Variable
Spans flag to be switched on prior to carrying out the SS_LP
optimization.
• Gradients - This option causes the Optimizer constraint and
objective function gradients to be re-evaluated prior to carrying
out the SS_LP optimization. Otherwise, the gradients used
during the SS_LP optimization will be those found at the
previous point.
4-4
The Optimizer
4-5
Note that the SS_LP algorithm is not included in the current version.
Gradient Calculations
An option which specifies whether one-sided or two-sided gradient
calculations are used:
• 1-sided - This option causes forward differences to be used
when constructing gradient approximations.
• 2-sided - This option causes central differences to be used.
This option requires twice as many function evaluations at a
given solution, but may provide a more accurate estimate of
the constraint and objective gradients, particularly for highly
non-linear problems, or problems featuring large amounts of
noise.
In both cases, the perturbation size used for the Optimizer internal
variables is given by the Optimizer Perturbation property.
Suggested Default: 1-sided
Diagnostic Print Level
None - No Optimizer diagnostic file is produced.
Partial_1, Partial_2, or Partial_3 - Increasing levels of Optimizer output
in the diagnostic file.
Full - The maximum amount of useful information in the Optimizer
diagnostic file.
Excessive - This should be used only for debugging the Optimizer.
Suggested Default: Partial_2
Max. Iterations
A parameter which fulfils two roles:
• When Algorithm is set to MDC_SQP / MDC_SLP, this
parameter gives the maximum number of Optimizer iterations
allowed to improve an already feasible solution.
• When Algorithm is set to NAG_SQP, this parameter gives the
maximum number of major iterations. A major iteration in this
case consists of a sequence of minor iterations which minimise
a linearly constrained subproblem.
Suggested Default: 50
4-5
4-6
Optimizer Interface
Max. Feasible Point
This parameter also fulfils two roles:
• When Algorithm is set to MDC_SQP / MDC_SLP, this
parameter gives the maximum number of Optimizer iterations
allowed to find the first feasible solution.
• When Algorithm is set to NAG_SQP, this parameter gives the
maximum number of minor iterations. A minor iteration in this
case represents a sequence of local improvements to the
linearized problem within a major iteration.
Suggested Default: 20
Max. Constraint Relaxations
This parameter is related to the Relax Violated Constraints flag. This flag
is used to drive the Optimizer constraint bounds to their extreme values
allowed by the Optimizer tolerances.
This is occasionally done in order to help the feasible point search part
of the MDC_SQP algorithm find the first feasible solution. The Max.
Constraint Relaxations parameter gives a limit on the number of times
this is allowed to occur.
Suggested Default: 0
Max. Hessian Resets
The MDC_SQP algorithm operates using an approximation to the
matrix of second derivatives of the objective function. On some
problems, it is necessary to reset this approximation to the diagonal
matrix arising from the FPS Hessian Diagonal parameter (during the
FPS search) or to the diagonal matrix arising from the OPT Hessian
Diagonal parameter (during the OPT search). The Max. Hessian Resets
parameter gives a limit on the number of times this can be done.
This is useful if the algorithm is suffering from step convergence; it is
not used when the algorithm converges according to any other criteria.
Suggested Default: 0
4-6
The Optimizer
4-7
Verify
In the NAG_SQP algorithm, it is possible to carry out numerical
checking on gradient elements. Setting Verify to -1 switches off this
checking. The extent of the numerical checking conducted by the
NAG_SQP algorithm depends on the setting for Verify.
A value of 0 results in a check on the gradients at the first feasible point.
A value of 1 results in a check of the Optimizer objective gradients. A
value of 2 results in a check on the Optimizer constraint gradients. A
value of 3 checks both types of gradient. The checking takes place at the
start of the optimization.
Suggested Default: -1
DV_Level
Used to specify which gradients should be estimated by the NAG_SQP
algorithm. When DV_Level is set to 3, no action is taken. When set to 2,
missing objective gradients are estimated. When set to 1, missing
constraint gradients are estimated. When set to 0, both are estimated.
This parameter is only to be used for debugging the Optimizer.
Suggested Default: 3
Objective Value
This displays the current plant model objective function value as
calculated by the Optimizer.
Termination Reason
An output from the optimization run, which is one of:
• OK - used by the FPS to indicate a feasible termination of this
phase.
• Impossible - This output signifies either a non-implemented
Optimizer algorithm has been selected, or the algorithms could
not find a solution to the linearized problem. In this case the
problem constraint/variable bounds and feasibility tolerance
parameters should be checked.
• No variables - The number of variables in the problem is zero.
4-7
4-8
Optimizer Interface
• Step convergence - During the Optimizer OPT phase of
MDC_SQP, the stepping back procedure has resulted in a step
collapse to below the Step solution tolerance.
• Cost convergence - During the Optimizer OPT phase of
MDC_SQP, two successive objective function values have
returned a difference in cost less than the Cost solution
tolerance. Note that only feasible points are considered for this
test.
• Flat - A special case of cost convergence in which the
objective function gradient is zero. Usually indicates an
incorrectly defined (or scaled) objective function.
• Gradient convergence - Occurs when the gradient of the
Lagrangian function for the given optimization problem is less
than the Gradient solution tolerance.
• Globally infeasible - This occurs when the feasible region
cannot be seen from the FPS starting point (i.e., even the
linearization of the problem does not yield a feasible solution).
• The MDC_SQP Optimizer expands the variable local bounds
(the Minimum and Maximum properties of the variables) out to
the global bounds (the Global Minimum and Global Maximum
properties of the variables) in order to attempt to solve the
linearized problem with these bounds. If this still yields no
solution, the FPS phase conducts a sequence of steps aimed
at minimising the constraint violations.
• An objective function is constructed which contains the sum of
the constraint violations, and this function is minimised,
producing a feasible solution to the problem (if one exists).
• Infeasible - In the FPS phase of the optimization, if a step
collapse takes place whilst looking for a feasible point, then the
problem is considered to be infeasible due to this. This is not
the same as Globally infeasible.
• Unbounded - This occurs when the objective function is
unbounded below (or is badly scaled), i.e., can be reduced
without limit. This usually indicates incorrectly set constraint
and/or variable bounds.
• Time out (feasible) - This report is generated by the OPT
phase of the MDC_SQP Optimizer, when the number of
Optimizer iterations during the OPT phase exceeds the
Optimizer Max. Iterations parameter.
• Time out (infeasible) - This report is similar to the Time out
(feasible) report, except occurs during the FPS phase, when
the number of iterations exceeds the Max. Feasible Point
parameter.
• Not converged - A report solely from the NAG_SQP algorithm.
• Not run - Set during the Optimizer initialisation phase. This is
reported in the Optimizer screen while the Optimizer is
initialising.
• Stopped - Occurs when the you stop the Optimizer using the
control box on the Optimizer screen (beside the spreadsheet
button).
4-8
The Optimizer
4-9
Actual Optimizer
This is output from the Optimizer. It gives the number of iterations the
Optimizer has conducted after finding the first feasible solution, when
the MDC_SQP/SLP algorithms are used. When the NAG_SQP algorithm
is used, this returns the number of major iterations used.
Feasible Point Iterations
This is output from the Optimizer. It gives the number of iterations the
Optimizer has conducted in order to find the first feasible solution,
again when the MDC_SQP/SLP algorithms are used. When NAG_SQP is
used, this returns the number of minor iterations from the last major
iteration (in this case the usefulness of this parameter is limited).
Solution Phase
This is output from the Optimizer. It describes the current phase of the
Optimizer search, which is one of:
• Initialise - A report that the Optimizer is initialising the
diagnostics file, and preparing to carry out the FPS search.
• Results - Reported when the Optimizer is writing the final
solution to the diagnostics file and completing any postoptimization calculations.
• Setup - The Optimizer variables and constraints are being
inspected and set-up internally by the Optimizer using the usersupplied data.
• FPS - The beginning of the FPS phase of the Optimizer.
• FPS Deriv - The Optimizer is calculating the gradients of the
constraints and objective function during the FPS phase. This
occurs every time the Optimizer adjusts the current solution to
improve the feasibility of the current point.
• FPS Visible - The Optimizer has successfully solved the
linearized problem during the FPS phase.
• FPS Invisible - The linearized problem at the current solution
in the FPS phase cannot be solved.
• FPS Shrink - The Optimizer is stepping back during the FPS
phase. This occurs when the projected point in the FPS is less
feasible than the current point, and so the projected point is
adjusted.
• Optim - The Optimizer is preparing to enter the FPS phase.
• OPT Deriv - The Optimizer is calculating the constraint and
objective function gradients during the OPT phase.
4-9
4-10
Optimizer Interface
• OPT Search - The Optimizer has successfully found a new,
improved solution which remains feasible, and has moved the
current solution to this point.
• OPT Shrink - The Optimizer is stepping back in the OPT
phase. This occurs if either the projected solution is infeasible,
or the objective function has increased.
Gradient Evaluations
This reports the number of gradient (constraint and objective function)
evaluations during the course of the optimization. At present, this gives
the correct number only when the Numerical Gradients flag is checked.
Model Evaluations
This reports the number of plant model evaluations during the course
of the optimization. At present, this gives the correct number only
when the Numerical Gradients flag is checked.
Code Version
The current version of the Optimizer.
Total CPU Time
This reports the total time taken during both phases of the
Optimization, in minutes and seconds.
Start Objective
This gives the plant model cost function value at the starting point,
before carrying out any optimization. The value is scaled using the
Optimizer Objective Scale Factor property.
Optim Configuration Tolerance Inputs
(Tolerance Radio Button)
This section contains the tolerances to be used for generating
approximations to the objective and constraint functions, controlling
the path taken to Optimizer feasible/optimal solutions, and for
determining whether an optimum point has been reached:
4-10
The Optimizer
4-11
Sigma
This tolerance is not currently used.
Linesearch Tolerance
This is used by the NAG_SQP algorithm to control the accuracy of the
linesearch phase.
Suggested Default: 0.8
Function Precision
Gives the precision to which functions are to be evaluated by the
NAG_SQP algorithm. Used when constructing default Optimizer
control parameters.
Suggested Default: 10-8
Optimality Tolerance
Gives the accuracy with which the linearized problem is solved by the
MDC_SQP algorithm. This parameter is a tolerance below which any
changes to the cost function of the linearized problem are considered
to have caused cost convergence when solving the linearized problem.
Suggested Default: 10-8
Row Tolerance
A tolerance used with the NAG_SQP algorithm which gives the
feasibility tolerance within which linear constraints are to be satisfied.
If a linear constraint violates a bound by a value not greater than the
Row Tolerance (in absolute terms) the constraint is considered to be
feasible by NAG_SQP.
In the current version of the Optimizer all constraints are considered
to be non-linear, and so this property is not used.
Nonlinear Row Tolerance.
As for Row Tolerance, except this applies to constraints defined as nonlinear.
Suggested Default: 10-8
4-11
4-12
Optimizer Interface
Step
The step convergence limit used in the MDC_SQP algorithm. If the
algorithm at any point makes a step which is less than the Step
tolerance, the algorithm is considered to have converged on step.
Suggested Default: 10-2
Gradient
The tolerance which is the maximum value of the Lagrangian function
gradient for which the MDC_SQP algorithm is considered to have
converged on Lagrangian gradient. A value of 0.0 forces convergence of
either the Step or Cost kind.
Suggested Default: 0.0
Cost
This is the maximum magnitude of change in scaled objective function
between Optimizer steps for which the Optimizer is considered to have
converged on cost.
Suggested Default: 10-4
Zeta
The tolerance which is used in conjunction with the constraint Scale
properties to define the feasibility tolerance for constraints in the
MDC_SQP algorithm. The feasibility tolerance for an individual
constraint is Zeta * Scale, for the given constraint. A value of 1.0 means
that the feasibility of the individual constraints is controlled uniquely
through the individual constraint Scale property.
Suggested Default: 1.0
Bind
A tolerance used with the NAG_SQP algorithm and in the solution of
the linearized problem in the MDC_SQP algorithm. This tolerance gives
a value which is the maximum absolute difference between a
constraint and one of its bounds below which the constraint is
considered to be binding (active) in the linearized problem.
4-12
The Optimizer
4-13
In general, the solution of the linearized problem satisfies the
constraint Minimum and Maximum property bounds, whereas the
solution of the true non-linear problem satisfies the bounds (
Minimum - Zeta * Scale, Maximum + Zeta * Scale ) for the given
constraint. In this way, by enforcing tighter bounds in the linearization,
there is a greater likelihood of the problem remaining feasible when the
non-linearities are re-introduced.
Suggested Default: 10-8
Perturbation
The change in the scaled variables during gradient evaluation. An
individual variable in the Optimizer is scaled according to the variable
Minimum property, and the variable Span property (or the Range
property if the Optimizer Fix Variable Spans property is checked).
In general, the Optimizer scales the problem variables v to produce a
set of internal scaled variables x, according to the formula.
v j – min
x j = ------------------S
Where min is the variable Minimum property, and S is the variable
Range property if the Optimizer Fix Variable Spans flag property is
checked (the variable Span property otherwise). This allows equal
magnitude gradients to be produced for all internal variables x,
regardless of the magnitude of the external (model) variables v, by
suitable choice of the variable Range properties.
The perturbation which is applied to the external variables v is
therefore S @ , where@ is the Optimizer Perturbation property.
Suggested Default: 10-3
Max. Iteration Step
Calculated by the Optimizer, this gives the current maximum step
under consideration for projecting the current point to the new point.
The size of this parameter is based on the current history of the
optimization run.
4-13
4-14
Optimizer Interface
Base Search Step
The upper limit for Max. Iteration Step. When the Optimizer finds a
sequence of good linear approximations to the constraints and
simultaneously improves the objective function, the Max. Iteration Step
can be reset to the Base Search Step.
Suggested Default: 2.0
Max. Allowed Move
This parameter gives the maximum allowable change in a scaled
(internal Optimizer) variable over the entire course of an optimization
run. A value of 1.0 indicates a 100% change in the variable.
Suggested Default: 2.0
FPS Hessian Diagonal
These give the starting values of the diagonal elements of the
approximated Hessian matrices before the FPS phase of the Optimizer,
of the MDC SQP algorithm.
Suggested Default: 1.0
OPT Hessian Diagonal
These give the starting values of the diagonal elements of the
approximated Hessian matrices before the FPS and OPT phases of the
Optimizer respectively, of the MDC SQP algorithm.
Suggested Default: 0.1
Jacobian Elimination
The value below which entries in the Jacobian matrix are deemed to be
pure model noise, and are set to zero (or when the Optimizer Sparse
Jacobian flag is checked, are excluded from the Jacobian sparsity
pattern and hence never re-evaluated in future).
Suggested Default: 10-12
4-14
The Optimizer
4-15
Max. CPU Usage
This parameter is not currently used.
Objective Scale Factor
This is used for scaling the objective function (and its gradient). The
given function is divided by the Objective Scale Factor.
Suggested Default: 1.0
Major Damping Parameter
Used in the NAG_SQP algorithm to restrict the effects of major iteration
variable moves of the scaled variables and the Lagrange multipliers. A
value of 2.0 restricts the variable move to 200%.
Suggested Default: 2.0
Minor Damping Parameter
Used in NAG_SQP to restrict the effects of minor iteration variable
moves. As Major Damping Parameter.
Suggested Default: 2.0
Penalty Parameter
This is used solely in the NAG_SQP algorithm. It is used for forcing
convergence of the linearized constraints solved in each NAG_SQP
minor iteration to their non-linear versions which are actually
evaluated in the major iterations. The larger the Penalty Parameter the
slower the algorithm converges upon a feasible solution, however, this
may be necessary for highly non-linear constraints.
Suggested Default: 1.0
Scaling Type
The scaling algorithm to be used by the NAG_SQP algorithm. When set
to 0, no scaling is done. Otherwise the NAG_SQP algorithm attempts to
scale the Jacobian matrix in order to make the matrix coefficients as
close to 1 as possible. To scale the rows only, the parameter should be
set to 1. To scale the rows and columns, the parameter should be set to
2.
Suggested Default: 0.0
4-15
4-16
Optimizer Interface
Flow Field / Gradient Evaluation
Not used.
Optim Configuration Flag Inputs (Flag Radio
Button)
This section contains the Optimizer properties used for controlling the
nature of the Optimizer search, for specify methods for handling the
constraints, for initialising and terminating the Optimizer, and for
specifying the nature of the gradient calculations, amongst other
things.
Omit Tech. Constraints
Indicates whether the technical constraints (specifications) are to be
omitted entirely from the constraint residuals when searching for a
feasible point. Technical constraints are those which are used in order
to obtain a valid model solution, e.g. pressure drop or mass balance
residuals. Process constraints are those which relate to the actual
process being modelled, e.g. vessel pressure or unit throughput limits.
Suggested Default: unchecked
Relax Violated Constraints
If the MDC_SQP algorithm cannot find a feasible point, one method of
proceeding is to relax the constraints. This property is therefore a flag
indicating whether all of the constraints (unchecked) or only those
which are currently violated (checked) are to be relaxed, during
constraint relaxation. The maximum number of relaxation steps is
given by the Max. Constraint Relaxations parameter.
Relaxing the violated constraints within the context of the MDC_SQP
algorithm means that the constraint bounds in the linearized problem
(usually set to the constraint Minimum and Maximum properties) are
expanded out to the bounds ( Minimum - Zeta * Scale, Maximum + Zeta
* Scale ) for the given constraint.
Thus, under normal circumstances the linearized problem is solved to
a much higher tolerance level than the true non-linear problem (which
thus improves the chances of the current solution remaining feasible
upon introducing the non-linearities back into the problem). However,
when the Optimizer relaxes the violated constraints both problems are
4-16
The Optimizer
4-17
solved to the same tolerance (the capacity of the solution of the
linearized problem to satisfy the non-linearities is therefore much
reduced).
Suggested Default: unchecked
Recentre
This is checked for testing purposes, in which case the Optimizer
reflects the effects created by an on-line Optimizer. The Optimizer
variable soft limits (the Minimum and Maximum properties) are recalculated so that at the start of optimization, the current value of the
variable lies mid-way between the soft limits, while ensuring that the
soft limits do not fall out of range of the global limits.
Suggested Default: unchecked
Restricted Step
Used to indicate to MDC_SQP that the Max. Allowed Move parameter is
to be used to limit the overall change in the Optimizer variables
brought about during optimization. When this flag is checked, the
optimization algorithm reduces the upper bound of each optimization
variable by the Max. Allowed Move parameter, and increases the lower
bound by the same amount.
Suggested Default: unchecked
Include Fixed Constraints
If this is checked then Optimizer variables which have their Optimize
Flag property checked are nevertheless included in the optimization.
This acts on every variable, and its Optimize flag property is checked.
Otherwise, such variables remain with fixed values during the
optimization.
Suggested Default: unchecked
NAG Calculated Gradients
If this flag is checked when the NAG_SQP algorithm is being used, then
the NAG_SQP algorithm itself will carry out numerical calculation of
any gradient elements needed.
Suggested Default: unchecked
4-17
4-18
Optimizer Interface
Fix Variable Spans
This flag indicates whether the Span (i.e. Maximum - Minimum) of the
Optimizer variables is to be calculated and stored, or taken directly
from the stream Range property (which is user-specified for each
variable).
Suggested Default: unchecked
Sparse Jacobian
Checked when the user wishes the Optimizer to calculate the Jacobian
matrix of constraint gradients in sparse form (by storing only the
nonzero elements, which usually indicate constraint-variable
functional dependence). This is done once, at the start of the
optimization, and establishes which Jacobian elements will be stored
for the rest of the optimization (the sparsity pattern).
Suggested Default: unchecked
Numerical Gradients
Used to indicate to the Optimizer the origin of the gradient elements for
the constraints and objective function.
• If the flag is checked, the Optimizer carries out numerical
calculation of the gradients by direct perturbation of variables
using the method specified in the Gradient Calculation flag.
• If it is unchecked, the Optimizer obtains the gradient elements
from HYSYS.RTO using the same method. The main difference
is that in the latter case certain gradient elements may be
computed analytically, and are therefore potentially more
accurate.
Suggested Default: unchecked
Include Scales
Whether the constraint Scale properties are to be included when
normalising the Jacobian matrix of constraint gradients and calculating
the bounds for the linearized subproblems in the MDC_SQP algorithm.
Suggested Default: unchecked
4-18
The Optimizer
4-19
Adjust Scaling
Not used.
Pert_Reset
Used at the start of the optimization to indicate that the gradient
calculation process removes noise elements (checked) or not
(unchecked).
When calculating the gradient functions by perturbing Optimizer
variables, model noise is introduced into the gradient elements, which
can mislead the Optimizer. When perturbing variable vj, , if it does not
affect constraint ci, the corresponding noise can be removed from the
gradients by recalculating the constraint functions after removing the
perturbation from the variable.
This recalculation is done only once for each variable, (i.e., for the first
gradient calculation) which is used for establishing the sparsity pattern
of the Jacobian matrix. The sparsity pattern is stored for use during the
rest of the optimization, if the Sparse Jacobian property flag of the
Optimizer is checked.
The advantages of this method are: it removes noise terms which can
mislead the Optimizer; it does not need the Jacobian Elimination
tolerance parameter, which may be difficult to set; it is required once
only; the efficient sparse storage of the Jacobian eliminates this kind of
noise from all future Optimizer steps.
The disadvantages are that for certain models it may take much more
CPU time to carry out the extra plant model evaluations, compared
with the use of the Jacobian Elimination tolerance method; and the
presence of structural zeros in the Jacobian matrix are ignored. A
structural zero is a forced presence of a Jacobian element, which,
during first pass evaluation of the Jacobian, is zero and therefore could
be excluded from the sparsity pattern.
Ideally, this flag should be checked along with the Sparse Jacobian flag,
since this then takes full advantage of the removal of model noise in
terms of future computation of gradients, and their storage. However, it
is still possible to use this method with a dense Jacobian matrix (where
all zero elements are retained during optimization).
Suggested Default: unchecked
If empty or invalid values are entered, the Optimizer uses a set of inbuilt default values.
4-19
4-20
Optimizer Interface
4.1.1 Calculations
The Optimizer controls the running of the continuous optimization
algorithms. A description of the techniques used is given in the
Continuous Optimizer Overview.
4.1.2 Results
The results produced at the end of the optimization run are:
•
•
•
•
•
A price for the current model data
Values of the Optimizer constraints and variables
Shadow prices for the constraints and variables, if they exist
A termination reason
A feasibility flag for the model data at termination of the
Optimizer
• Iterations taken.
• CPU time taken
4-20
The Derivative Utility
5-1
5 The Derivative Utility
5.1 HYSYS.RTO Variables - Properties ............................................................. 3
5.1.1
5.1.2
5.1.3
5.1.4
Inputs: Object Object Name - Range ....................................................... 4
Inputs: Global Minimum - Price ................................................................ 6
Inputs: Sparse Column - Jac Num ........................................................... 7
Calculations ............................................................................................. 8
5.2 HYSYS.RTO Constraints - Properties......................................................... 9
5.2.1
5.2.2
5.2.3
5.2.4
Inputs: Object Name - Maximum............................................................ 10
Inputs: Scale - Sparse Row.................................................................... 11
Inputs: Current - Bias1 ........................................................................... 13
Calculations ........................................................................................... 14
5-1
5-2
5-2
The Derivative Utility
5.1
5-3
HYSYS.RTO Variables
- Properties
Figure 5.1
The Variables in a HYSYS.RTO optimization problem are held in a
Derivative Utility. This is used for holding all of the data used for
defining the HYSYS.RTO Optimizer constraints and variables. For
detailed information on the Optimizer properties, see the Optimizer
Properties document[3].
• The Optimizer contains a number of properties used for
specifying and controlling an optimization problem for a given
HYSYS.RTO case.
• The Optimizer is associated with a Derivative Utility which
contains, amongst other things, a list of Independent Properties
and Dependent Properties. The Independent Properties are
the variables in the plant model which are changed in order to
satisfy the Dependent Properties (the constraints on the plant
model) simultaneously minimising the plant model cost
function.
5-3
5-4
HYSYS.RTO Variables - Properties
This document has the following styles:
• All properties of the Optimizer/Variables/Constraints are shown
in italic.
• Important notes are shown in bold.
5.1.1 Inputs: Object Object Name Range
Figure 5.2
The Independent Properties have a number of inputs:
• Object Name - The name of the HYSYS.RTO object which is
used as optimiser variable.
• Attached Object - The object (e.g. Stream or Unit Op, etc.)
that is attached or associated with the listed variable.
• Attached Property - The property relating to the Attached
Object and variable.
• Start Value - The starting value for the property of the Object
Name in the plant model.
5-4
The Derivative Utility
5-5
• Status - The current status of the variable, which is calculated
by the Optimiser. Unlike constraints, variables are not allowed
to move out of their bounds. The Status property is set to one
of:
• Not Evaluated - The status of the variable has not been
evaluated by the Optimiser.
• Inactive - The variable Output property lies between the
Minimum and Maximum properties, but not on one of the
bounds.
• Equality - The maximum and minimum properties of the
variable, Minimum and Maximum, are equal, and the Output
property has the same value as well.
• Active Low - The variable Output property value is equal to
that of the Minimum.
• Active High - The variable Output property value is equal to
that of the Maximum
• Current Value - The current value for the property ov the
Object Name in the plant model.
• Optimise Flag - Determines if the variable is to be used in the
optimization process. If this flag is not set, no attempt is made
by the Optimiser to include this variable into optimization
process.
• Minimum - The lower bound property for the variable during
the optimization process. This value might be different from its
global minimum, if the change in the variable is restricted to its
allowed amount, set by the maximum rate of change, during
the period in the optimization process.
• Maximum - The upper bound property for the variable during
the optimization process. This value might be different from its
global maximum, if the change in the variable is restricted to its
allowed amount, set by the maximum rate of change, during
the period in the optimization process.
• Range - A user-specified alternative for the span. The purpose
of the range is to scale the gradients of the cost function and
constraints, in order to give similar gradient magnitudes for
each variable. The gradients of the objective function (and
constraints) vary inversely with the variable ranges.
5-5
5-6
HYSYS.RTO Variables - Properties
5.1.2
Inputs: Global Minimum - Price
Figure 5.3
• Global Minimum - represents the absolute minimum value for
which the variable is operated in. This value is user-specified
• Global Maximum - represents the absolute maximum value
for which the variable is operated in. This value is also userspecified
• Span - the difference between the Global Minimum and Global
Maximum values for the variable, and is calculated by the
variable set-up. The role of the span is to convert every
variable into the range (0, 1), in order to use uniform numerical
perturbations and convergence tests.
• Output - is the current value of the variable in the plant model.
The output value is determined by the optimiser during the
optimization process.
• Price - The shadow price (Lagrange multiplier) for the given
variable, calculated by the Optimiser. The shadow price is used
to estimate the effect which small changes to variable bounds
have on the plant cost function.
5-6
The Derivative Utility
5.1.3
5-7
Inputs: Sparse Column - Jac
Num
Figure 5.4
• Sparse Column - The column occupied by the given variable
in the Jacobian matrix. Unused variables will be given a sparse
column of 0.
• Old Var Value - This is the cached value of variable prior to
perturbation, during gradient calculation.
• Delta Var - The change in variable after perturbation, during
gradient evaluation.
• Gradient • Tear Variable • Jac Offset - The Jacobian Offset.
• Jac Num - The Jacobian Number.
5-7
5-8
HYSYS.RTO Variables - Properties
5.1.4 Calculations
The following properties are set by you before an optimization run:
•
•
•
•
•
Global Minimum
Global Maximum
Range
Start value
Sparse Column
The following properties are initialised by the HYSYS.RTO model before
an optimization run:
• Minimum
• Maximum
• Span
The following properties are updated by the HYSYS.RTO model during
an optimization run:
• Old Var Val
• Delta Var
The following properties are updated by the Optimizer during and after
an optimization run:
• Status
• Price
• Output
5-8
The Derivative Utility
5.2
5-9
HYSYS.RTO
Constraints Properties
Figure 5.5
The constraints in a HYSYS.RTO optimization problem are held in a
Derivative Utility. This is used for holding all of the data used for
defining the HYSYS.RTO Optimizer constraints and variables. For
detailed information on the Optimizer properties, see the Optimizer
Properties document[3].
• The Optimizer contains a number of properties used for
specifying and controlling an optimization problem for a given
HYSYS.RTO case.
• The Optimizer is associated with a Derivative Utility which
contains, amongst other things, a list of Independent Properties
and Dependent Properties. The Independent Properties are
the variables in the plant model which are changed in order to
satisfy the Dependent Properties (the constraints on the plant
model) simultaneously minimising the plant model cost
function.
5-9
5-10
HYSYS.RTO Constraints -
This document has the following styles:
• All properties of the Optimizer/Variables/Constraints are shown
in italic.
• Important notes are shown in bold.
5.2.1
Inputs: Object Name Maximum
Figure 5.6
The Dependent Properties have a number of inputs:
• Object Name - The name of the HYSYS.RTO object to be
constrained.
• Attached Object - The object (e.g. Stream or Unit Op, etc.)
that is attached or associated with the listed variable.
• Property - The property related to the Attached Object and
variable.
• Current Value - The current value for the property of the object
Name.
• Use Flag -Determines whether the constraint is to be used in
the optimization. If this flag is not set, no attempt is made by
the Optimizer to satisfy this constraint.
5-10
The Derivative Utility
5-11
• Minimum - The lower bound for the constraint, which is userspecified.
• Maximum - The upper bound for the constraint, which is also
user-specified.
5.2.2
Inputs: Scale - Sparse Row
Figure 5.7
• Scale - A user-supplied number which gives the scale on which
the feasibility of the constraint is to be measured. This property
is used in conjunction with the Optimizer Zeta property, which
is a relative feasibility tolerance. In general, a constraint is said
to be feasible if:
Minimum – Scale ´ Zeta Current
Maximum + Scale ´ Zeta
Where Minimum and Maximum are the lower and upper bound
properties respectively, of the constraint, and Current is its
current value (equivalent to Hooked Property for constraints
which have the Use Flag checked).
• Minimum Chi Square - Determines whether or not a chisquare test is done for the constraint.
• Status - The current status of the constraint, which is
calculated by the Optimizer. The Status property is set to one
of:
5-11
5-12
HYSYS.RTO Constraints -
• Not Evaluated - The status of the constraint has not been
evaluated by the Optimizer.
• Inactive - The constraint Current property lies between the
Minimum and Maximum properties, but is neither Active
High nor Active Low.
• Violated Low - The constraint Current property is less than
Minimum - Scale x Zeta, where Scale is the constraint Scale
property and Zeta is the Optimizer Zeta tolerance property.
• Violated High - The Current property is greater than
Maximum + Scale x Zeta.
• Active Low - The constraint Current property is less than
Minimum + Scale x Zeta, but greater than Minimum - Scale
x Zeta.
• Active High - The constraint Current property is greater
than Maximum - Scale x Zeta, but less than Maximum +
Scale x Zeta.
• Normalization - When the Jacobian matrix is first calculated
(first pass evaluation) the Normalization property for the
constraint is set to be the largest Jacobian entry in the row (
Sparse Row ) of the Jacobian matrix corresponding to this
constraint. This number is used to normalise the rest of the
given Jacobian row, for all remaining Optimizer search steps
(i.e., is not recalculated).
• Base Value - When calculating the gradient of a given
constraint with respect to each variable, the internal scaled
variable is perturbed away from the current point by adding the
number specified in the Optimizer Perturbation property. The
new value of the constraint is found corresponding to the new
variable value, and the change in constraint, divided by the
change in the variable, is the corresponding Jacobian element.
The constraint Base property stores the pre-perturbation value
of the constraint. Under certain circumstances, however, the
Base property itself can change during the Jacobian
calculation. This is due to the fact that removing a perturbation
from a perturbed variable, and re-running the plant model, will
not reproduce the previous Base property within the constraint
Current property; this is due to noise in the model arising from
non-zero convergence tolerances (i.e., the de-perturbed
constraint Current differs slightly from the pre-perturbed
Current).
Therefore, under certain circumstances (when the Pert_Reset
flag property of the Optimizer is checked) the Optimizer will
remove the perturbation from the variable, re-run the plant
model, and then re-set the Base property of the constraint to
match the re-calculated Current property. This eliminates
associated noise from the Jacobian matrix. This method is
discussed in more detail in the Optimizer Properties
document[3], in the Pert_Reset section.
• Price - The shadow price (Lagrange multiplier) for the given
constraint, calculated by the Optimizer. If a feasible solution
has been found by the Optimizer, then a simple interpretation
5-12
The Derivative Utility
5-13
of the Lagrange multiplier is that it gives the gradient of the cost
function along the corresponding constraint normal. Thus, the
shadow price indicates the approximate change to the
objective function when increasing (i.e., relaxing) the given
active bound by a unit amount.
• Hard Constraint - A user-specified flag which indicates
whether the constraint is a technical one, i.e., is a process
specification such as a mass balance or a temperature, as
opposed to purely an economic constraint.
• Off Flag - A user-specified flag which indicates whether the
constraint is in the 'off' state, or not. This is often used when
related items of equipment are being constrained, which
themselves have an on-off behaviour.
• Sparse Row - The number of the row in the Jacobian matrix
which is occupied by the given constraint.
5.2.3
Inputs: Current - Bias1
Figure 5.8
• Current - the current value the constraint possesses in the
plant model.
• Old Cons Value - the value of the constraint prior to
perturbation of a variable, during gradient calculation.
• Bias1 -
5-13
5-14
HYSYS.RTO Constraints -
• Delta Cons - The change in constraint after perturbing a
variable, during gradient evaluation.
5.2.4
Calculations
The following properties are updated by the HYSYS.RTO model during
an optimization run:
• Base Value
• Old Cons Val
The following properties are updated by the Optimizer during and after
an optimization run:
•
•
•
•
•
5-14
Status
Normalization
Price
Sparse Row
Current
ESTIM DRU Overview
6-1
6 ESTIM DRU Overview
6.1 The Problem.................................................................................................. 3
6.2 The Solution.................................................................................................. 3
6.3 The Benefits.................................................................................................. 4
6.4 ESTIM DRU Facilities ................................................................................... 5
6.4.1 Error Detection/Correction ....................................................................... 5
6.4.2 Model Updating ........................................................................................ 5
6.4.3 Utilities ..................................................................................................... 5
6.5 Using ESTIM DRU......................................................................................... 5
6.5.1 The Measurement Problem...................................................................... 6
6.5.2 Basic Methods ......................................................................................... 6
6.6 Configuring A Fitting Problem .................................................................... 9
6.6.1
6.6.2
6.6.3
6.6.4
6.6.5
Configuration Tab ................................................................................... 10
Results Tab ............................................................................................ 12
Stream Initialization Tab ......................................................................... 14
Parameter Fit Tab................................................................................... 15
DCS Tags Tab ........................................................................................ 16
6.7 Estim Data Set Analysis ............................................................................ 17
6.8 Optimization Objects ................................................................................. 17
6.8.1 Connection Tab ...................................................................................... 18
6.8.2 Properties Tab........................................................................................ 19
6.8.3 Transfer Tab............................................................................................ 21
6.9 General Notes ............................................................................................. 22
6-1
6-2
6.10 ESTIM DRU DIAGNOSTIC FILE OUTPUT................................................ 23
6.10.1 Initial Problem Parameters ................................................................... 23
6.10.2 Iteration Output .................................................................................... 25
6.10.3 Final Output ......................................................................................... 27
6-2
ESTIM DRU Overview
6.1
6-3
The Problem
Modern instrumentation, distributed control and management
information systems produce a wealth of plant data. The plant
operator/manager has a problem trying to make sense of all this data
where:
• It may be inconsistent or inaccurate.
• It may not give a complete or understandable indication of plant
performance.
In addition, plant models can only be configured to a specific
operational instance, whereas the performance of actual equipment
will vary as conditions change and equipment degrades. Thus, the
model behaviour may start to diverge from actual plant behaviour.
6.2
The Solution
The ESTIM DRU addresses these issues and produces concise
information to aid decision making and aid model tuning and off-line
investigation.
Firstly, it can perform data reconciliation. Measurements are subject to
error and, therefore, provide inconsistent information. ESTIM DRU can
detect and correct measurement errors, thereby providing a consistent
and accurate data set.
Secondly, a model representing a specific item of plant can be updated
whereby ESTIM DRU will be able to reconcile model and actual plant
values, to ensure that the model continues to represent actual plant
performance.
6-3
6-4
The Benefits
6.3
The Benefits
The ESTIM DRU brings real benefits by ensuring good representation
of plant equipment, and providing indications of poor plant data as an
aid to decision making in the following areas:
• Identification of process unit performance, in particular
condition monitoring.
• Identification and quantification of instrument errors.
This leads to improvements due to:
• Better process operation in general
• More effective and efficient equipment maintenance and/or
replacement
• More effective and efficient instrument maintenance
• Improved plant model representation
Applications
Current applications of the ESTIM DRU include:
•
•
•
•
•
•
•
•
•
Compressor model updating/condition monitoring
Catalyst performance monitoring/updating
Thermal cracker model updating
Steam system data reconciliation
Gas turbine model parameter updating
Heat exchanger fouling effect updating
Reactor model parameter updating
Boiler model updating and condition monitoring
General network reconciliation (e.g. oil & gas fields, steam
systems, etc.)
In fact, anywhere where plant measurements are available around
process equipment, the ESTIM DRU can sensibly be applied.
6-4
ESTIM DRU Overview
6.4
6-5
ESTIM DRU Facilities
6.4.1 Error Detection/Correction
No measurement is perfect; by using a number of sets of data and
statistical routines, the ESTIM DRU sorts the good from the bad and
only uses good data. This is a pre-requisite for model updating and the
essence of data reconciliation.
6.4.2 Model Updating
The ESTIM DRU can update the parameters of even the most complex
model.
6.4.3 Utilities
The ESTIM DRU invokes a number of statistical and optimization
routines to perform the following tasks:
• Parameter Estimation - Calculation of model parameters
which may change with time, such as reaction rate coefficients,
heat transfer coefficients, etc.
• Data Reconciliation - Model based reconciliation of overdetermined systems, such as steam system mass balancing,
where there are many flow-meters, or estimation of power
output of a turbine with both steam flow and driven load being
measured.
• Bad Data Elimination - Results of data reconciliation
calculations can be examined statistically to determine whether
bad data is present, and if so eliminate the bad data.
6.5
Using ESTIM DRU
The ESTIM DRU comes in the form of a tool kit, comprised of the
following:
• A set of related screens in HYSYS for attaching an ESTIM
DRU to a HYSYS plant model simulation case.
• Demonstration examples describing how to use the DRU[1].
This enables you to configure plant model updating and data
reconciliation routines within the HYSYS environment without
recourse to programming or expert assistance.
6-5
6-6
Using ESTIM DRU
6.5.1 The Measurement Problem
Measurement devices are often assumed to have zero bias and random
errors, i.e. the instrument is assumed to be in working order, correctly
calibrated so that any deviations from true are due to "noise".
Expressed mathematically we have:
y = x+e
Where y is the reading on the instrument, x is the true measurement
and e the error. The mean of e is assumed to be zero and the
distribution symmetric, i.e. the error is assumed equally likely to be
positive or negative and, given enough readings, its affect will
disappear.
This model of instrument errors is used as a basis of many traditional
methods of data reconciliation, e.g. least squares. However, equation
(1) is not generally the case and, in practice, the most serious problem
is due to gross errors and real bias, represented by broken or badly
calibrated instruments. Thus, it is no surprise that the application of
traditional methods is unsatisfactory and has the effect of sharing out
the errors so that in a case where just one instrument is in error, all
instruments are affected.
Therefore, methods such as least squares cannot be relied on
exclusively. Within ESTIM DRU these methods are pre-fixed by others
which are based on the assumption that measurements may be either
grossly wrong or out of calibration.
6.5.2
Basic Methods
There are a number of techniques within ESTIM DRU that can be used.
The current available techniques are:
Elimination Of Measurement Bias
As identified in the last section, where there are systematic errors and
failures the real world problem is transformed into one where there is
no bias and the errors are random. This is done in two ways.
• Allowance for Systematic Errors - To cope with systematic
errors offset variables are introduced into the problem to
represent these errors.
6-6
ESTIM DRU Overview
6-7
• Integer Programming - This technique allows the
identification of grossly wrong instruments, i.e. stuck or failed.
Instruments from the historical data-set can be systematically
disregarded.
Solution of the Unbiased Problem
• Normal Least Squares - This estimator requires no statistical
(a priori) weighting may be applied to an accurate measuring
device, such as a thermocouple, and a lower weighting to an
analyser. Fundamental weighting exists between offsets and
parameters to bias the calculation method between these two
types of fitting.
• Minimum knowledge of the measurement and calculates the
values of the model parameters (and measurement offsets)
which minimise the sum of the squares of the differences
between the actual and predicted data.
• Weighted Least Squares - The least squares estimator may
be modified by adding weighting factors on certain errors to
either preferentially reduce errors or allow for differences in
measurement quality. For example, a higher Variance - If we
have information on the variance (likely error bound) of the
measuring elements we can use a minimum variance
estimator. This minimises the variance of the estimator, rather
than the error squared. It can be compared to weighted least
squares with weights of 1/ .
Practical Considerations
When using parameter updating for a model it is important to have a
large enough history of results, which, over a short time period is
unlikely. There are two reasons for this requirement.
• Firstly, it is impossible to update a performance curve, such as
the efficiency/flow curve on a compressor, from a small knot of
data. Depending on the technique, the best that can happen is
that the curve will move up or down, the worst that can happen
is that the curve becomes totally wrong towards the extremes.
• Secondly, it is impossible to calculate a goodness-of-fit
parameter. This makes determination of faulty measurements
difficult.
When these problems are anticipated, it is better to adopt a strategy
where an updated correction factor is applied to the model curve
instead of updating the performance curve.
This does not preclude updating performance curves in the longer term
by manual inspection and re-fitting.
HYSYS models are written in such a way that it is a simple task for
ESTIM DRU to update either a curve or a performance parameter.
6-7
6-8
Using ESTIM DRU
Estim. Offline - For Model Updating
Using the ESTIM DRU for model updating is purely a matter of
configuration. No programming or expert knowledge is required.
The basic task is to identify the following elements:
• A list of measured values from the plant which are to be used
to update model parameters. These values should represent
data that could be used as inputs to the model and data that
corresponds to calculated results of an associated model run.
At a minimum, at least one data-point corresponding to a
model result must be configured.
• A list of parameters which are to be updated. The parameters
should have an effect on the chosen model calculated results.
• A list (subset) of the measurement data to which offsets are to
be applied.
• Scaling to be applied to the measurement data and general
problem. This should initially be chosen so that the scaled
values are of the same order of magnitude, before further
scaling is implemented to bias certain measurements.
• The model to be run which produces the modelled values. This
may be a model of the whole plant, or just of a single unit.
The following is an example of model updating.
If we take a model with parameters, for example a compressor, the
flowchart within ESTIM DRU would consist of the following steps:
1.
Read actual performance data from measurements.
2.
Calculate model performance based on measured model input
data.
3.
Optimise model parameters to minimise the difference between
actual performance (measured) and predicted performance
(calculated).
4.
Calculate goodness of fit and statistical properties based on
selected model parameters. If the goodness of fit is acceptable,
update the model parameters.
The following is an example of the steps involved in measurement
offset fitting, including data elimination:
6-8
1.
Read actual performance data from measurements.
2.
Calculate model performance based on zero-offset measured
model input data.
ESTIM DRU Overview
3.
Optimise measured data offsets to minimise the difference
between actual performance (measured) and predicted
performance (calculated).
4.
Calculate goodness of fit and statistical properties based on
selected measurement offsets. If the goodness of fit is acceptable,
update the measured data offsets.
5.
Calculate the data elimination goodness of fit. If the fit is good, the
task is completed. If the fit is bad, eliminate the offset fitting for the
data set with the largest relative offset, and allow the offset to
"float" (i.e. remove from the offset portion of the fitting function
and allow the routine to select an unrestricted fit value).
Recalculate the fitting problem with the eliminated data set.
6.6
6-9
Configuring A Fitting
Problem
The ESTIM DRU fitting configuration is carried out in HYSYS using the
Data Reconciliation Utility model detailed below. Figure 6.1 shows the
Data Reconciliation Utility property view.
Figure 6.1
6-9
6-10
Configuring A Fitting Problem
6.6.1 Configuration Tab
The Configuration tab of the Data Reconciliation Utility property view
is comprised of three groups: Problem Formulation, Solver
Parameters and Tolerances and Data Set Configuration.
Problem Formulation Group
This group defines the main user-controls to be supplied with data in
order to fit the parameter and/or measured data offsets. In the Fitting
column, the parameter fitting can be switched off or on using the Mode
box.
The Confidence can be set to determine the level of fit required for a
good result. The higher the confidence, the closer the fit needs to be to
a normalised curve for the fit to be deemed good.
The Run After N counter allows the ESTIM DRU model to be exercised
to only perform the fit calculations every N-th time. This allows the
associated measurement data blocks to gather the historical data
without full recalculation being performed for each new data set. If
required, the counter can be set to 1. The Current field indicates the
current number of runs related to this.
The Maximum box allows you to enter a maximum number of
iterations (error function gradient evaluations, i.e., optimizer moves)
for calculating the optimal parameters.
In addition, the utility produces a diagnostic file: diagnostic print can
be set to levels of None, through to Downpour (no diagnostics through
to full diagnostics).
Solver Parameters and Tolerances Group
The ESTIM DRU tolerances can be user defined using the Data
Reconciliation Utility property view. If tolerances are not defined,
default values (generated/set by the optimization algorithm) are used.
The Central and Forward Difference Intervals are used to determine
the perturbation in the parameters / offset used for the calculation of
the (error function) objective gradients with respect to the variables. If
these values are not set, the optimization routine will use additional
model evaluations to determine the values to be used.
6-10
ESTIM DRU Overview
6-11
The Optimality Tolerance is the smallest relative change in the total
error function during the error minimisation below which the
optimization is deemed to have converged by the algorithm.
The Linesearch tolerance is used by the optimization routine to
determine the accuracy of the optimal step with respect to the gradient
evaluations. The larger the Linesearch tolerance, the further along the
optimal path the next optimal step will be. This number must be
between zero and one.
The Maximum Step determines how far each of the variables
(parameters, offsets) can be moved in an optimal step. This prevents
the optimizer from overstepping on each iteration, thus speeding
solution.
The Objective Scaling allows the emphasis between offset and
parameter fitting to be varied when both offsets and parameters are
fitted simultaneously. The emphasis is squared based on the given
number; a function scale factor of 10 places 100 times more emphasis
on the elimination of measured / model error than on fitting the offsets.
The Convergence Tolerance is the smallest change to occur to every
parameter/offset below which the minimization is deemed to have
converged.
Data Set Configuration Group
The minimum number of good data sets required for an Estim DRU
calculation is given in Minimum Data sets. A good data set is one which
is not excluded at the start of the ESTIM DRU calculation. The
maximum number of historical data sets to be stored locally during the
estimation (but not necessarily all used) is given in Maximum Data
Sets. You can set this in order to store as many time-slices of
information as he/she wishes (although the upper limit is 32).
The number of data sets in the parameter estimation problem is given
in Current Data Sets. Eventually, after a sufficient number of ESTIM
DRU runs this number is equal to the Maximum Data Sets parameter.
The measurement horizon for the data is given in Horizon. This gives
the number of most-recent data sets to be used in the ESTIM DRU, out
of the Maximum Data Sets stored.
6-11
6-12
Configuring A Fitting Problem
6.6.2 Results Tab
Figure 6.2
The updating routine produces a set of results, which can be seen on
the Results tab of the Data Reconciliation Utility property view.
The Fit Error (Total) gives the total sum of the errors, for all the
datablocks of reach good historical data-set, between the measured
values and the model calculated values, the error being calculated
using the final value of the predicted parameters and measurement
offsets.
The value of x2 gives the x2 calculation bases on the sum of the data
block errors scaled by the sigma, s, for each of the output data blocks.
This value is then checked against the maximum x2 value (Maximum
Chi2), which is calculated from the stated confidence and the
calculated number of degrees of freedom (Degrees of Freedom) for the
problem. If the calculated x2 values is less than the maximum value, the
Fit flag is deemed good, and the parameters and offsets are updated. A
bad fit will leave the parameters and offsets with their original values.
The Goodness of Fit returns whether a good or bad fit was returned by
the x2-test. Major Iterations indicates the number of parameter
variation steps undertaken by the optimization algorithm with
minimizing the total error.
6-12
ESTIM DRU Overview
6-13
The value for Function Calls indicates how many times the plant model
was executed by the updating algorithm in arriving at the fit answer.
The change in objective function can be seen by comparing the
Starting Objective to Final Objective. The objective quoted is the actual
objective seen by the optimization routine, and is based on the scaled
offsets and error functions.
A summary of the user-supplied parameters is also supplied in the
Number Of group.
Parameter/Offsets
These are the most important results obtained from the updating. They
define the parameters which most accurately describe the actual plant
for the data given in the model input and output blocks.
The parameter results can be viewed on the Parameter Fit tab.
The calculated offsets can be seen by examining the individual data
blocks on the DCS Tags tab as shown in the next section.
In most cases, successive updating over time should result in a
progressively more accurate solution.
6-13
6-14
Configuring A Fitting Problem
6.6.3 Stream Initialization Tab
Figure 6.3
Figure 6.3 shows the Stream Initialization tab. This indicates the
connections from the estimated entries in the plant model to the
measurement data list that contains the input and the output
measurement data blocks. The screen identifies whether a
measurement data block is a model input or calculated result.
This form displays information concerning flowsheet model inlet /
outlet streams, energy streams, and internal streams. An inlet stream is
a stream in the model which is an inlet to a reconciled unit operation
(targeted using the Target Objects button), but not an outlet. An outlet
stream is one which is an outlet to a reconciled unit operation, but not
an inlet.
Energy stream refers to the standard HYSYS energy streams. Internal
streams are those which are both inlet and outlet streams (i.e., are both
feeds and products to unit operations), or are either feeds or products
to a unit operation which is not reconciled. The initialisation prior to
carrying out a run of the estimation is done using DRU streams,
streams created by you specially for the purpose of storing simulated
plant data in flowsheet streams; the DRU streams are effectively storage
6-14
ESTIM DRU Overview
6-15
mechanisms. The Multiple flag column indicates whether historical
data is available for the flowsheet stream, data which is stored in the
ESTIM DRU object; if unchecked, any specified values of the
corresponding flowsheet stream are held constant for the duration of
the parameter estimation.
The Data Sets column indicates the number of data sets available for
each stream kind (Inlet, in this case). The Comp Basis column
represents the basis for the component calculation in each stream.
6.6.4 Parameter Fit Tab
Figure 6.4
The model parameters can be accessed from the Parameter Fit tab of
the Data Reconciliation Utility property view. These are the parameters
which will be adjusted to give the best fit of the model to the data given
in the output blocks, e.g. the efficiency of a heat exchanger or the
reaction coefficients of a reactor model.
The Minimum and Maximum values define the range over which the
parameters will be allowed to vary. These values should be considered
carefully so as not to constrain the model to a region in which the
model solution is greatly different from the actual plant.
6-15
6-16
Configuring A Fitting Problem
The Start and Current values show the values of the parameters before
and after an update was carried out. After an update, and only if the fit
is good, the new values are placed directly into the model. The Result
Value stores the value of the parameter after the last run of the ESTIM
DRU. The Hooked Object/Variable refer to the object and property in
the flowsheet model which is estimated.
6.6.5 DCS Tags Tab
Figure 6.5
The DCS Tags tab is used for defining the transfer of measured data to
the flowsheet model during the ESTIM DRU calculations.
The Tag Filter group has options to display model Input data, Output
data, or All data (input and output), depending on the radio button
checked. Input data consists of property values of streams which are
read used in the model, but are not reconciled. Output data consists of
property values are then reconciled to these (read) values by the
parameter estimation algorithms in the ESTIM DRU.
6-16
ESTIM DRU Overview
6.7
6-17
Estim Data Set
Analysis
Figure 6.6
When running ESTIM DRU offline, the Data Set Analysis view can be
used to see how well each variable behaves over up to 15 data sets, or
how up to 15 variables perform against observed plant data for any
particular data set. The absolute and percentage difference between
the observed and predicted data, and the arithmetic average and
standard deviation of these differences are displayed to show the
statistical accuracy of the model. The Data Set Analysis view is
accessed by clicking on the Data Set Analysis button on the Data
Reconciliation Utility property view after running the ESTIM DRU
offline. The view includes both ‘Good’ and ‘Bad’ data. You can select the
data sets to include the analysis, and either input tags or output tags.
The analysis is run by clicking the Run button on the above screen.
6.8
Optimization Objects
An ESTIM DRU stream (discussed in Section 6.6.3 - Stream
Initialization Tab) and DCS Tags (discussed in Section 6.6.5 - DCS Tags
Tab) are considered to be Optimization Objects. These optimization
objects are input tags or output tags, corresponding to input or output
data from the model. These objects can be accessed by selecting
Optimization Objects from the Flowsheet menu on the desktop. A
given optimization object can be edited by highlighting it and clicking
the Edit button on the Select Optimization Object dialog.
6-17
6-18
Optimization Objects
Figure 6.7
The Optimization Object property view for the selected object appears.
There are three tabs in this property view: Connection, Properties and
Transfer. These tabs are described in the following sections.
6.8.1 Connection Tab
Figure 6.8
The Connection tab gives the connections of an optimization object to
the flowsheet Object name. The connection in this case is to an extra
data value of the T-100 column.
6-18
ESTIM DRU Overview
6-19
6.8.2 Properties Tab
Figure 6.9
The second tab lists the Properties of an optimization object. The
myvarval property (“my variable value”) stores the value of the
connected object property. The scale value is used to scale the
measured values, and hence the (measured - model) error, to ensure
the optimizer objective function sees the errors with required
weightings. Generally, the scaling should be chosen so that the relative
values for each of the errors on the model outputs is approximately
equal. This ensures the optimizer chooses a fair set of parameters and/
or offsets to fit equally on the measured outputs.
If an output is to be favoured, its scaling should be smaller so that the
relative error is larger, thus forcing the optimizer to correct that error in
preference to the other errors. For offset fitting the scaling is important
for both input and output blocks since the offset is scaled by this
amount for the objective function. For output blocks the scaling is also
used to calculate the relative error between the measured and model
values, so offset will be scaled the same as the error. To counter this, the
ESTIM DRU tolerances allow the overall offset portion of the objective
function to be scaled differently to the error portion, thus enabling
preference of fitting for either offsets or parameters. When parameter
fitting only, the scaling is only relevant to the output blocks where it is
used to scale the absolute error to a relative error.
6-19
6-20
Optimization Objects
The offset value indicates the absolute offset to be applied to the
measure values; this can be a fixed, known amount, or an offset
calculated by the fitting algorithm. The exact use is determined by the
set-up flags in the data block. For offset fitting, there are no minimum
and maximum limits since the optimizer will be attempting to
minimize the value of the offsets, and thus be driving them to zero.
The error property stores the calculated error between the fitted model
data and the actual measured data, for a given data set. The sigma
property is an estimate of the true asymptotic standard deviation, s, of
the measured value from the plant. The estimate is updated at each run
of the ESTIM DRU in such a way as to cause it to asymptotically
approach the correct value for the instrument. The update takes
account of the current value of sigma, and weighting which takes into
account the previous estimate. The initial value of sigma chosen is
typically large (~1000), in order to provide a good initial fit. Sigma is
only calculated for output data blocks (Output Tags).
The value of sigma is used to calculate the goodness of fit; the scaled
error between model calculated value and the measured value is
divided by the sigma value to determine the effect of the data block in
the overall x2 fit calculations. The smaller the value, the smaller the
error allowed to maintain a good fit. Where the sigma is not reset on
each run, the closer the measured value is to the model value, the
smaller the calculated sigma will be for use in the cumulative sigma
update. As this is calculated cumulatively, it will tend to its natural
sigma value. It should be noted that the sigma value is only used for the
goodness of fit calculations, and plays no part in the actual fitting
optimization.
The next_value property is the value most recently assigned to the
given tag (i.e., as if it were read in from a DCS system).
The remaining properties have no units dependency on the
connection:
• Count - is the number of measured value updates to the DCS
Tag since the last estimation run.
• Totcount - is the total number of measured value updates.
• Calc_bias - used to tell the algorithm that the data block is to
be included in the offset fitting set, and thus the offset will be
adjusted to attempt to minimize the measured/model error. If
the data-block is set to calculate offsets, then it will also be
included in the bad data elimination algorithm.
• Over_data - is not currently used in the ESTIM DRU.
6-20
ESTIM DRU Overview
6-21
• Next_good - stores whether the next value (obtained from the
use in the offline case, or from a DCS system in the on-line
case) is considered good or bad data.
• Input - indicates if the variable is an input to the model or not.
• Use_bias - is set by you if you want merely to use the current
biases during model runs, not the updated ones, if they are
calculated. The flag is used to tell the algorithm that a fixed,
known offset is to be applied to each set of measured data for
use in the generation of measure/model error. In this case, the
offset value will not be calculated, and the data block will not be
included for elimination in the bad data elimination algorithm.
• Fill - is reserved for future use.
• Eliminated - is returned as a result from the bad data
elimination algorithm to indicate that the data set has been
deemed bad. in this case, the offset is removed from the
objective function and allowed to “float”. The resultant model
calculated value is then available from the myvarval field. The
flag can also be used during normal offset fitting to determine a
model calculated value without restricting the offset in the
normal optimization objective function.
• Curval, and curerror - indicates the current value and error of
the object in the calculation, respectively.
6.8.3 Transfer Tab
Figure 6.10
The Transfer tab lists the Transfer flags of an optimization object.
These flag properties are not used in the offline situation.
6-21
6-22
General Notes
6.9
General Notes
If the ESTIM DRU model has a Run After N value set, it will only run
every N-th time, thus allowing the data blocks to build up the historical
data for the actual fitting calculations. This allows the historical data to
be stored before the fitting calculations are performed.
Setting up the Bad Data Elimination
Problem (GROSS ERROR DETECTION)
The bad data elimination problem is set up and calculated using the
Data Reconciliation Utility screen. Bad data elimination is specified by
selecting the Gross Error Detection:Perform Calculations flag. This
selection assumes that the ESTIM DRU has been configured with the
offset data blocks that correspond to the measurements that are
available for elimination.
The Mode indicates whether Full fitting will be performed, or if a
Shortcut (single) data set is used. The single data set mode will use the
first good set, and will not fit parameters defined in the ESTIM DRU
Parameter Fit tab. The purpose of this mode is to provide a quick
method of determining bad data within a single set based on the
associated model.
After the ESTIM DRU is run with these settings, the results can be seen
as usual in the Estim Results tab of the Data Reconciliation Utility
screen. No. of Eliminations and Max Eliminations show how many
data blocks have been eliminated in the given problem, and show how
many accepted eliminations are allowed before the fitting cannot be
exercised further.
The confidence is similar to that for the standard fitting, in that it is
used to calculate the Maximum x2 to determine whether a good fit has
been achieved. The Fit Error (Total) is compared to the maximum
tolerance to give the Goodness of Fit flag. The tolerance figure is based
on a x2 distribution for the offsets only, expecting a good fit to have
small offsets close to zero value.
The fitting calculation is always performed when the elimination
model is run.
6-22
ESTIM DRU Overview
6.10
6-23
ESTIM DRU
DIAGNOSTIC FILE
OUTPUT
The following section details the diagnostics available from ESTIM
DRU and the associated optimization routine.
There are three sections produced in the diagnostic output from an
ESTIM DRU run. These sections are covered separately. In addition,
several levels of output are available, based on the level chosen within
the ESTIM DRU. The descriptions below will deal with diagnostics
produced when the Downpour diagnostic option is chosen. All output
produced is generated by the optimization routines; MDC Technology
Ltd. do not currently supply additional output from the ESTIM DRU
routine.
The name of the diagnostic file produced by the ESTIM DRU is of the
form <ESTIM DRU name> .txt, where <ESTIM DRU name> is the name
of your ESTIM DRU object in HYSYS.
6.10.1 Initial Problem Parameters
The first section of output produced by the optimization routine details
the input parameters for the particular problem to be solved. These are
either supplied as a result of the problem, or are defaults used by the
algorithm. Since the application of the optimizer to the ESTIM DRU
task is an unconstrained problem, several of the parameters and
variables produced as part of the output are not relevant to the task,
and should be ignored.
• Linear constraints - the number of linear constraints in the
problem. This is not applicable for ESTIM DRU.
• Linear feasibility - the maximum acceptable violation of linear
constraints at a feasible point. This is not applicable for ESTIM
DRU.
• Variables - the number of variables (parameters or offsets) to
be optimized (fitted) in the current problem.
• Crash tolerance - this is used when COLD start is selected.
Variables within this tolerance of their bounds are selected for
the initial working set of the problem.
• Infinite bound size - any bound greater/less than this number
is considered +/- ¥ .
6-23
6-24
ESTIM DRU DIAGNOSTIC FILE
• COLD start - specifies the initial working set for the problem.
This is chosen from the initial value of the variables, including
variables at, near, or just violating their bounds.
• Infinite step size - the magnitude of a change in the variables
that would indicate an unbounded problem (the objective is
said to be unbounded in the feasible region). Since ESTIM
DRU variables are all bounded between -1 and +1, this
parameter is not relevant to an ESTIM DRU task.
• EPS (machine precision) - the machine precision, used to
determine the default values for several other parameters.
• Step limit - the maximum change in a variable on the first step
of the linesearch. This prevents overflow situations from
occurring.
• Nonlinear constraints - the number of non-linear constraints.
This is not applicable for ESTIM DRU problems.
• Nonlinear feasibility - the maximum acceptable violation of
non-linear constraints at a feasible point. This is not applicable
for ESTIM DRU problems.
• Nonlinear objective vars - number of (non-linear) variables
used to minimise the objective function.
• Optimality tolerance - the accuracy of the final iterate to
approximate a solution to the problem, i.e. a solution is deemed
valid if the relative change in the objective function is less than
this tolerance. In effect this value indicates the number of
correct figures required in the objective function at solution (i.e.
if the tolerance is 10-6 and the optimization terminated
successfully, approximately the first six figures of the objective
function will be correct. This is an indication of the "tightness" of
the problem solution.
• Nonlinear Jacobian vars - the number of variables used to
evaluate the Jacobian matrix of the problem.
• Linesearch tolerance - the accuracy of the step taken during
each iteration to approximate a minimum of the merit function
along the search direction. This determines how far along the
search path the next point is to be taken.
• Derivative level - this indicates how many of the objective (and
constraint) gradients are supplied to the algorithm. ESTIM DRU
uses the algorithm with a level of 0, which indicates that all
gradients are not supplied, and have to be calculated using
difference approximations.
• Function precision - the accuracy with which functions are
assumed to be evaluated.
• Verify level - a value of zero indicates that the optimization
routine performs a 'cheap' finite-difference test on the objective
gradient components of the problem. This is not applicable for
ESTIM DRU (where no gradients are supplied).
• Major iterations limit - the maximum number of major
iterations performed before the problem is terminated
(unsuccessfully).
6-24
ESTIM DRU Overview
6-25
• Major print level - determines the output level on each major
iteration.
• Minor iterations limit - the maximum number of iterations
used to calculate the optimality of the QP subproblem.
• Minor print level - determines the output level on each minor
iteration.
• Difference interval - the interval used in the forward difference
approximation for the objective gradients in the Jacobian
matrix.
• Central difference interval - the interval used in the central
difference approximation for the objective gradients in the
Jacobian matrix. Central difference approximations are used if
the forward difference approximations are found to be not
accurate enough.
• JTJ initial Hessian - controls the initial value of the upper
triangular matrix R (the estimate of the transformed and reordered Hessian of the Lagrangian). J is the objective Jacobian
matrix.
• Reset frequency - the number of major iterations after which
the Hessian is reset to JTJ.
In addition to the above parameters, the work arrays are checked for
suitable sizing, and a summary of the Jacobian element estimations is
given.
6.10.2 Iteration Output
On each major iteration output is generated to detail the progress of the
optimization algorithm in minimising the ESTIM DRU function. The
output for each iteration is given under the iteration header, Major
iteration n. The following list details the tabulated output produced;
the heading is only produced for the first iteration.
• Itn - the major iteration count.
• ItQP - the sum of the iterations required by the feasibility and
optimality phases of the QP problem (which generates the
optimal step direction and length). Large values indicate
difficulty in finding a new optimal point.
• Step - the step, , taken along the computed search path. On
a reasonably behaved problem this will tend to unity.
• Nfun - the cumulative number of subfunctions needed for the
linesearch (excluding finite difference calculations). This
provides a guide on the amount of work performed in the
linesearch.
6-25
6-26
ESTIM DRU DIAGNOSTIC FILE
• Objective - this is the value of the objective function, which
should decrease monotonically as the optimization progresses.
This should not be confused with the objective function
calculated upon termination of the ESTIM DRU task. This value
is also repeated after the table (with more significant figures).
• Bnd - the number of simple bound constraints in the predicted
active set. This is not applicable for the ESTIM DRU task, and
will always be zero (after the first iteration).
• Lin - the number of linear constraints in the predicted active set.
This is not applicable for the ESTIM DRU task, and will always
be zero.
• Nz - the number of variables less the number of constraints in
the predicted active set. For an ESTIM DRU task this will
always be the number of parameters or offsets which are being
fitted.
• Norm Gf - the Euclidean norm of the gradients of the objective
function with respect to the free (unbounded) variables.
• Norm Gz - the Euclidean norm of the projected gradient. This
will be approximately zero near the solution.
• Cond H - the lower bound on the condition number of the
Hessian approximation, H.
• Cond Hz - the lower bound on the condition number of the
projected Hessian approximation, Hz. The larger this number
is, the more difficult the problem is to minimise.
• Cond T - the lower bound on the condition number of the
matrix of predicted active constraints. This is not relevant to the
ESTIM DRU application.
• Conv - this is a three letter indication of the convergence test
status. The letters indicate True or False. The letters detail the
following points, in order:
• the sequence of iterates has converged
• the projected gradient (Norm Gz) is sufficiently small
• the constraint residual norm in the active set (Norm C) is
sufficiently small. (This is always true in the ESTIM DRU
application.)
The following letters may appear at the end of an output line:
• C - indicates the use of central difference approximations in
the gradient evaluations.
• L - indicates that the linesearch produced a change in a
variable greater than specified by STEP LIMIT.
• R - indicates that refactorisation of the approximated
Hessian has been performed.
For each major iteration a section is produced detailing the "Values of
the constraints and their predicted status". The variables are listed in
order, giving the value of the scaled variable (which is scaled internal to
6-26
ESTIM DRU Overview
6-27
the optimization routine between -1 and +1), and its predicted status.
For instance, if a parameter is allowed to vary in the model between 0
and 100, and lies at the model value of 25, the scaled value internal to
the optimization routine would be -0.5. The predicted status is a binary
number, zero indicating the variable is free, and one indicating the
variable is at one of its bounds.
Also produced are the diagonals of R, which are the triangulation
factors of the transformed and re-ordered Hessian.
6.10.3 Final Output
Upon termination of the optimization algorithm, whether successful or
not, the final output is produced. The number of subfunction calls
made by the optimization routine will differ from that made by the
ESTIM DRU task, since ESTIM DRU evaluates the subfunction outside
of the optimization routine as part of its solution. The following details
are written as final output from the optimization algorithm.
• INFORM - this details the status of the algorithm solution. Zero
indicates successful solution.
• MAJITS - the number of major iterations performed.
• NFUN - the total number of function evaluations performed
during the optimization (excluding those needed for gradient
estimations).
• NGRAD - the number of function evaluations performed for
gradient estimations.
• Varbl - The name (V) and the index of the variable.
• Value - The scaled value of variable V.
• State - the status of the variable. FR indicates the variable is
unbounded, LL indicates the variable is bounded at its lower
limit, and UL indicates the variable is bounded at its upper limit.
• Lower Bound - this is the value of the lower bound for the
variable within the optimization routine. For ESTIM DRU tasks
this will always be -1.
• Upper Bound - this is the value of the upper bound for the
variable within the optimization routine. For ESTIM DRU tasks
this will always be +1.
• Lagr Mult - this gives the Lagrangian multiplier of the variable,
if the variable is bounded. The value will be zero for a free
variable, positive for a variable at its lower limit, and negative
for a variable at its upper limit.
• Residual - this is the difference between the variable and its
NEAREST bound.
The optimization routine termination code is printed and the final
value of the (internal) objective function is displayed as the last output
(this is not the same as displayed by ESTIM DRU, since the
optimization value is internally scaled).
6-27
6-28
6-28
ESTIM DRU DIAGNOSTIC FILE
Data Reconciliation Utility
7-1
7 Data Reconciliation
Utility
7.1 Heat Exchanger Network Data Reconciliation........................................... 3
7.1.1 Installing/Viewing the DRU....................................................................... 5
7-1
7-2
7-2
Data Reconciliation Utility
7.1
7-3
Heat Exchanger
Network Data
Reconciliation
For Data Reconciliation and Parameter Estimation, there are:
• DCS Tags - variables for which you have a set of
measurements, which are to be used to calculate offsets in the
measurements, and update fitting parameters. These can be
either specified or calculated variables.
• Fitting Parameters - variables whose value is to be directly
adjusted to match the supplied data. These must be specified
(blue) variables.
There is a third type of Optimization Object used for Data
Reconciliation called a DRU Stream (Data Reconciliation Utility
Stream). This is essentially a data holder, i.e., it allows for multiple sets
of stream data, each corresponding to a different data set, to be
supplied by you. These values are taken as supplied, no offsetting is
calculated for these streams.
The following section lists the properties which are found with each
optimization object type.
• Name - the display name of the property
• Type - can be either input (required user input), output
(calculated value by the solver), internal (a value which is being
used by the solver in its solution), or RTO (appropriate only for
real time applications)
• Data Type - either a double, an integer, a Boolean, or text.
7-3
7-4
Heat Exchanger Network Data
Fitting Parameter
Name
Type
Data Type
Description
Minimum
Input
Double
The bound on the parameter
Input
Double
The upper bound on the
parameter
Input
Boolean
Determines whether to include
the parameter in the current run
Input
Double
The desired starting value for
the parameter
Output
Double
What is currently being sent
from Estim for evaluation
Output
Double
The final answer
Type
Data Type
Description
Input
Double
The lower bound on the
constraint
Input
Double
The offset to be applied to the
measured value
Output
Double
The calculated total error for the
tag
Input
Boolean
Whether Estim is to calculate a
bias for the tag
Input
Double
Whether Estim is to use the
current bias in calculations
Output
Double
Percentage of the offset value
with respect to the scaled value.
Input
Double
A flag which indicates whether
the tag is an “input” (specified
flowsheet variable)
Output
Boolean
Whether Estim has eliminated
the tag from the problem
Evaluated
Value
Internal
Double
The measured value which is
currently being utilized in the
Current
Error
Internal
Double
The error for the current
measured value
RTO
Boolean
The value which has been
transferred from the Plant
RTO
Double
The current count (number of
data points)
RTO
Double
The total number of data points
Maximum
Fit
Start Value
Evaluate
Result
Value
DCS Tag
Name
Scale
Offset
Total Error
Calculate
Bias
Use Bias
Percent
Input
Eliminated
Next Value
Count
Total
Count
7-4
Data Reconciliation Utility
Name
Type
Data Type
Description
RTO
Double
Logical, when TRUE, will turn
off an instrument, ignoring the
data linked to that particular
instrument in the dataset.
RTO
Double
A flag which indicates whether
the Next Value is good
RTO
Double
Biasing limit, a positive number.
When bias is used as the
optimiser variable, it is restricted
to a range [current_bias-limit,
current_bias+limit], usually with
current_bias=0. If limit is set to
zero, the range is assumed to
be unbounded.
Over Data
Next Good
Limit
7-5
7.1.1 Installing/Viewing the DRU
A simple heat exchanger network will be used to illustrate the
installation and configuration of a Data Reconcilation problem:
Figure 7.1
Data Reconciliation Utility
Open the hen.hsc sample case which can be found in the HYSYS.RTO
Cases folder. You can view the PFD by clicking on the PFD button in the
Tool Bar.
PFD Button
To install a DRU, open the Tools menu and select Utilities. Click on
Data Recon Utility in the list box on the right and click on Add Utility
button. In the case that you’ve opened, hen.hsc, a DRU has already
been installed, so you will view that DRU. In the list box on the left, click
on Data Recon Utility-1 and then click on the View Utility button.
7-5
7-6
Heat Exchanger Network Data
The Data Reconciliation Utility property view appears as shown in
Figure 7.2.
Figure 7.2
There are five tabs in this property view:
• Configuration - define the problem type (parameter fit, data
offsetting or both) and set the remaining solution options
• Results -updated results of the progress and final solution of
the data reconcilation, as well as additional configuration
information (number of input tags, output tags, etc.)
• Stream Initialisation - create the DRU Streams and configure
them (if necessary)
• Parameter Fit - provides access to, and installation of, Fitting
Parameter optimization objects associated with the
operation(s) and streams being considered.
• DCS Tags - provides access to and installation of DCS tag
objects associated with the operation(s) and streams being
considered.
7-6
Data Reconciliation Utility
7-7
Selection of Unit Operation(s)
The first step in the implementation of the Data Reconciliation Utility
is the selection of the unit operations to be considered (press the Target
Object button). This will produce the Target Objects view shown in
Figure 7.3:
Figure 7.3
This view will display all of the unit operations currently attached to the
Utility. You can either Add or Remove unit operations from the utilities
collection.
The Object Filter group found at the bottom left of the view provides
options for filtering the display of available objects. In addition, the
Flowsheet Wide option is provided to allow the application of the Data
Reconciliation Utility to the entire flowsheet. For this example, this is
the correct choice.
When you have moved the desired items into the right column
(highlight them in the Available Objects list and then press the right
arrow button), press the Accept List button . The appropriate
optimization objects (DCSTags, DRUStreams and Fitting Parameters
which are attached to these operations and their associated streams
will be collected from the simulation case.
7-7
7-8
Heat Exchanger Network Data
Figure 7.4
The Stream Initialization tab allows you to acccess (and create if
desired) the DRU Streams (Data Reconciliation Utility Streams) which
are used to hold multiple sets of Feed, Product or Internal Stream data
for a Data Reconciliation Utility.
There are a number of features associated with the DRU's (such as
converting data for a new Component Basis in an associated stream,
inserting and removing data sets , etc).
For this problem however, the composition of the Feeds and Products
will remain fixed, and Tags will be used to modify any of the stream data
for the problem.
If a "Specific Stream" is selected, it will allow an Internal stream (one
that is connected to two unit operations in the collection) to be created.
This can be used to store internal stream data from the results of the
data reconciliation (a copy of the stream data is saved for each data set).
By default all of the DRU's will have their Multiple flag set to True. This
needs to be turned "off" for Inlet DRU's.
7-8
Data Reconciliation Utility
7-9
Figure 7.5 illustrates the option of selecting a new stream basis for the
flowsheet stream, which will result in any of the supplied data (if
desired) being converted to the new basis.
Figure 7.5
There are three options when a new basis is chosen for the streams
compositional basis. You can choose to set all supplied values to
unknown, convert the previously supplied value to the new basis, or
retain the values as supplied and have them interpreted in the new
basis.
7-9
7-10
Heat Exchanger Network Data
The next step is the installation of the fitting parameters. Go to the
Parameter Fit tab.
Figure 7.6
The Fit Parameters that are seen in the table on this tab are selected via
the Add button beside the Fit Parameter drop down menu. When you
click on the Add button, the Select Optimization Variable view is
displayed. The first Fit Parameter that was selected for the DRU was the
E-100 object, Spec Value variable and the UA variable specifics as
shown in Figure 7.7.
Figure 7.7
7-10
Data Reconciliation Utility
7-11
Selection of Tags
Move to the DCS Tags tab in the Data Reconciliation Utiltiy property
view.
Figure 7.8
The Input DCS Tags that are seen in the Tag Filter group on this tab are
selected via the Add button beside the DCS Tags drop down menu.
When you click on the Add button, the Select Optimization Variable
view is displayed. The first Input DCS Tag that was selected for the DRU
was selected as shown in below.
Figure 7.9
7-11
7-12
Heat Exchanger Network Data
The tag is automatically placed in the Tag Filter list as the variable
(Stream 2 Flow) is specified in the flowsheet.
The Output DCS Tags were added as shown below.
Figure 7.10
If you return to the Configuration tab of the Utility, and specify the
minimum number of data sets to be 4 the appropriate number of data
sets will be created for each tag and DRU Stream.
Return to the DCS Tags tab and in the Tag Filter group, click on the All
radio button and the Parameters radio button. The configuration data
was supplied for each of the Input and Output tabs as described in the
following table:
7-12
Tag
Offset
Limit
Scale
Sigma
Calc Bias
Use Bias
2 Flow
0
0
1
1000
False
False
3 Flow
0
0
1
1000
False
False
59 Flow
0
0
1
1000
False
False
30 Flow
0
0
1
1000
False
False
14 Flow
0
0
1
1000
False
False
1 Flow
0
0
1
1000
False
False
Data Reconciliation Utility
Tag
Offset
Limit
Scale
Sigma
Calc Bias
Use Bias
61 T
0
0
1
1000
False
False
4T
0
0
1
1000
False
False
5T
0
0
1
1000
False
False
7T
0
0
1
1000
False
False
8T
0
0
1
1000
False
False
7-13
The DCS Tags tab appears as follows:
Figure 7.11
Select the Measured Data radio button and view the data:
Tag
Data Set 1
Data Set 2
Data Set 3
Data Set 4
2 Flow (lbmole/hr)
900
1000
1100
1200
3 Flow (lbmol/hr)
1450
1550
1650
1750
59 Flow (lbmol/hr)
600
550
500
450
30 Flow (lbmol/hr)
1500
1600
1700
1800
14 Flow (lbmol/hr)
1350
1450
1550
1650
1 Flow (lbmol/hr)
2350
2550
2750
2950
61 T (F)
-33.25
-33.16
-33.06
-32.96
4 T (F)
-24.48
-23.01
-21.59
-20.24
7-13
7-14
Heat Exchanger Network Data
Tag
Data Set 1
Data Set 2
Data Set 3
Data Set 4
5 T (F)
-59.96
-56.64
-53.63
-50.88
7 T (F)
-37.89
-37.12
-36.34
-35.57
8 T (F)
-44.85
-43.85
-42.80
-41.76
Figure 7.12
7-14
Derivative Utility and Optimizer
8-1
8 Derivative Utility and
Optimizer
8.1 The Derivative Utility.................................................................................... 3
8.1.1 Required Input for Variables..................................................................... 8
8.1.2 Required Input for Constraints ................................................................. 9
8.1.3 Objective Function Variables.................................................................. 10
8.2 Optimizer..................................................................................................... 11
8.2.1 Running the Optimization....................................................................... 12
8-1
8-2
8-2
Derivative Utility and Optimizer
8.1
8-3
The Derivative Utility
In order to further illustrate how to use HYSYS.RTO to solve
optimization problems, the following process is used. This example
models the distillation of a crude tower. The Optimizer will be use to
determine the optimum steam feed rates.
Figure 8.1
Step 1. Installing/Viewing the Derivative
Utility
Open the R-13opt.dox.hsc case which can be found in the HYSYS.RTO
Cases folder. You can view the PFD by clicking on the PFD button in the
Tool Bar.
PFD Button
To install a Derivative Utility, open the Tools menu and select Utilities.
Click on Derivative Utility in the list box on the right and click on the
Add Utility button. In the case that you’ve opened, R-13opt.dox.hsc, a
Derivative Utility has already been installed, so you will view that utility.
In the list box on the left, click on Utility-1 and then click on the View
Utility button. The Derivative Utility property view appears as shown
in Figure 8.2.
8-3
8-4
The Derivative Utility
Figure 8.2
Selection of Unit Operation(s)
The first step in the implementation of the Derivative Utility is the
selection of the unit operations to be considered (press the Operations
button). This will produce the following dialog:
Figure 8.3
There are three modes for the derivative utility:
8-4
Derivative Utility and Optimizer
8-5
• Flowsheet Wide - this mode is appropriate when minimal
flowsheet tearing is to be employed, and no special derivative
and solution mechanisms (such as extension operations) are to
be utilized. In this mode, a single derivative utility is utilized for
the entire flowsheet.
• Specific Unit Operation - typically this will be a
SubFlowsheet, which will be torn on both the feeds and
products. The SubFlowsheet will typically contain several unit
operations which will be solved either using the HYSYS
standard solver, or one of the column solvers.
• Extension Operation - utilized when the SubFlowsheet
contains an extension operation which will be solved using the
available OLE functions to allow the solver to solve the model
equations as part of the optimization problem.
It is best to select the desired unit operation prior to installing any of
the remaining optimization objects. You should attach all existing
optimization objects to the Derivative Utility, and this is how the
correct mode is chosen.
For this example, a Specific Unit Operation (T-100) is selected for the
derivative utility. We will use this mode because we want to optimize
variables in pertaining to the T-100 unit operation.
Figure 8.4
Installing Optimization Variables from the
Utility
Optimization objects appropriate for the utility (in the case of the
Derivative Utility - Optimization Variables, Constraints and Objective
function variables) can be added directly from the view. In the
Derivative Utility Configuration group, there is a drop down menu on
the right hand side of the group. The drop down list contains three
options, Propcons, OptVars and ObjFunc.
8-5
8-6
The Derivative Utility
Figure 8.5
By choosing the appropriate option (OptVar in this case) and pressing
the Add button to the left of the drop down menu, the selection view is
displayed.
Figure 8.6
By making the selection as shown, the Optimization Variable is created
and is added into the utility. By default, the new object is given the next
available name. However, you can edit the name of the object directly
from the utility view by highlighting the name in the Object Name
column and typing in a new string.
8-6
Derivative Utility and Optimizer
8-7
When optimization objects have been created for the model, they are
displayed in a WorkSheet format as shown below.
Figure 8.7
The Object Name column allows you to modify the name of the created
variables. In addition, the Attached Object and Attached Property are
also displayed in the view, as well as the variable's current value. The
start value is updated at the start of an optimization run.
There are several other properties displayed on this view. If desired, you
may look at them now.
The Independent Properties radio buttons filter the overall list of
variables to those of the specific types described previously. In
addition, the Master and Runtime lists will toggle the display between
all objects, and those which are being considered for the current
evaluation.
The properties themselves can be filtered into:
•
•
•
•
All - all properties
Input - properties requiring user input
Output - calculated and outputted values
Results - solution results.
8-7
8-8
The Derivative Utility
8.1.1 Required Input for Variables
The only required input for optimization variables are: Optimize Flag,
Minimum, Maximum, Range (optional), Global Minimum and Global
Maximum. The latter are appropriate only for real time applications,
and can be set at the same values as the minimum and maximum.
The Optimize flag works in conjunction with Run Time and Master
lists. When the optimization problem is being set up, this flag is
evaluated for each variable. If the flag is false, then the variable will not
be exposed to the Optimizer and the value will remain at its starting
value for the length of the solution. With this, you can switch problems
easily by turning variables and constraints on and off.
The value for the variable Range is used for the calculation of a
perturbation, range x perturbation factor. If none is provided, then the
span (maximum - minimum) is used for the calculations.
All required input for the variables can be done through the Utility
view, which provides access to unit conversion capabilities.
The following tab shows all inputs of optimization variables:
Figure 8.8
8-8
Derivative Utility and Optimizer
8-9
Constraints (ProcCons) and Objective Function (ObjFunc) objects can
similarly be added from the view by choosing the appropriate option in
the drop down menu next to the Add Button.
8.1.2 Required Input for Constraints
The required inputs for Constraints are: Use Flag, Minimum,
Maximum and Scale. All constraints are treated by the Optimizer as
ranged constraints, i.e., the value of the constraint should lie between
the minimum and maximum at solution, within the prescribed Scale
tolerance. The scale can be considered as an approach, the boundary
around the minimum and maximum values that define whether the
constraint is active, or violated. This information is reported during and
after the solution as the status of the constraint.
The following tab shows input of constraints. To view this tab, click on
the Constraints/Objective Function tab and select the Proc.
Constraints radio button in the Dependant Properties group box, as
shown in Figure 8.9:
Figure 8.9
8-9
8-10
The Derivative Utility
8.1.3 Objective Function Variables
Objective function variables are installed individually, which facilitates
the calculation of the gradient during the course of Jacobian
evaluations.
Alternatively, an Objective Function can be built in a spreadsheet
operation, with a single cell representing the results, and having a
single objective function object attached to this result cell.
For this problem, individual objective function objects are installed as
shown below.
Note that the Prices of the
objective function objects are
based on Field Units.
To view this screen, change the Dependant Properties radio button to
Obj. Functions.
Figure 8.10
At this point, all required input (for the various objects) has been
provided, and the Optimizer can be invoked.
8-10
Derivative Utility and Optimizer
8.2
8-11
Optimizer
The Optimizer interface is used to collect all of the derivative utilities
within the current simulation case and provide them to the Optimizer.
The Optimizer is invoked by pressing F5 or, open the Simulation menu
and then select Optimizer.
In order to access the configuration options for the Optimizer, you
must first select the Optimization radio button at the bottom of the
view. This will provide access to the Optim Configuration tab, as shown
below.
Figure 8.11
In addition, the Optimizer Control drop down at the bottom of the view
provides the mechanism to Start, Stop, Restart, and control the solving
mode of the Optimizer.
8-11
8-12
Optimizer
The Configuration group box in the upper left corner of the view
contains a collection of radio buttons which control the information
and input options that are displayed:
• SetUp - Selection of the optimization scheme, print levels, as
well displaying the running results
• Tolerances - Specification of Optimizer settings and solution
tolerances.
• Flags - Access to a number of flag settings which control the
solution mechanism
8.2.1 Running the Optimization
Once all of the information has been configured, the model can be run.
To run the model, select Start on the Optimizer Control view, using the
drop down menu. You may have to scroll though the list in order to find
this option.
Figure 8.12
While the model is running, you can move through HYSYS, but don't
change any of the values.
8-12
Derivative Utility and Optimizer
8-13
You can examine the results on the variables and constraints via the
Derivative Utility.
This screen is accessed through the Derivative Utility group box in the
Optimizer view.
Figure 8.13
8-13
8-14
Optimizer
Figure 8.14
Examining the Process Constraints/Results combination, the
constraints have been sorted to show those which are violated,
followed by those which are active, followed by those which are
inactive.
For more information, you can also look at the information displayed
when the Obj. Functions radio button is selected. Here we can see the
cost/profit of each item.
8-14
Index
B
Central difference interval
See also ESTIM DRU
initial problem parameters
COLD start
See also ESTIM DRU
initial problem parameters
Collection Utilities 3-5
constraints/objective function 3-9
creating 3-7
data reconciliation 3-5
derivative 3-5
derivative analysis 3-9
independent variables 3-9
structural non-zeroes 3-9
Cond H
See also ESTIM DRU
iteration output
Cond Hz
See also ESTIM DRU
iteration output
Cond T
See also ESTIM DRU
iteration output
Conv
See also ESTIM DRU
iteration output
Crash tolerance
See also ESTIM DRU
initial problem parameters
heat exchanger 7-3
Data Recon Utility 7-1
DCS tag selection 7-11
DCS Tag terminology 7-4
DCS Tags 7-3
fitting parameter terminology 7-4
fitting parameters 7-3
installing and viewing 7-5
property view 6-9
Configuration tab 6-10
DCS Tags tab 6-16, 7-11
Parameter Fit tab 6-15, 7-10
Results tab 6-12
Stream Initialization tab 6-14, 7-8
selecting unit ops 7-7
stream 7-3
Data Reconciliation
parameter estimation problem 3-6
Data Set Configuration
See also Data Recon Utility
Configuration tab
Derivative Analysis 3-16
Derivative level
See also ESTIM DRU
initial problem parameters
Derivative Utility 3-10, 5-1
(dependent) constraints calculations 5-14
(dependent) constraints properties 5-9
independent variable calculations 5-8
independent variable properties 5-3
Difference interval
See also ESTIM DRU
initial problem parameters
DRU Stream
See also Data Recon Utility
stream
D
E
Data Recon
EPS (machine precision)
Bnd
See also ESTIM DRU
iteration output
C
I-1
I-2
See also ESTIM DRU
initial problem parameters
Estim Data Set Analysis 6-17
ESTIM DRU
applications 6-4
basic methods 6-6
benefits 6-4
diagnostic file output 6-23
final output 6-27
initial problem parameters 6-23
iteration output 6-25
error detection/correction 6-5
facilities 6-5
fitting configuration 6-9
general notes 6-22
gross error detection 6-22
measurement problem 6-6
model updating 6-5
overview 6-1
practical considerations 6-7
solution 6-7
utilities 6-5
utilizing 6-5
Estim Offline 6-8
See also ESTIM DRU
iteration output
ItQP
See also ESTIM DRU
iteration output
J
JJ initial Hessian
See also ESTIM DRU
initial problem parameters
L
Flowsheet Tearing 3-7
Flowsheet Wide 7-7
Function precision
See also ESTIM DRU
initial problem parameters
Lagr Mult
See also ESTIM DRU
final output
Lin
See also ESTIM DRU
iteration output
Linear constraints
See also ESTIM DRU
initial problem parameters
Linear feasibility
See also ESTIM DRU
initial problem parameters
Linesearch tolerance
See also ESTIM DRU
initial problem parameters
Lower Bound
See also ESTIM DRU
final output
H
M
HYSYS.RTO+
definition 1-3
installation 2-1
requirements 2-3
using the program 3-1
Majits
See also ESTIM DRU
final output
Major iterations limit
See also ESTIM DRU
initial problem parameters
Major print level
See also ESTIM DRU
initial problem parameters
Minor iterations limit
See also ESTIM DRU
initial problem parameters
Minor print level
See also ESTIM DRU
initial problem parameters
Model updating 6-8
F
I
Infinite bound size
See also ESTIM DRU
initial problem parameters
Infinite step size
See also ESTIM DRU
initial problem parameters
Inform
See also ESTIM DRU
final output
I-2
Itn
Index
N
Ngrad
See also ESTIM DRU
final output
Nonlinear constraints
See also ESTIM DRU
initial problem parameters
Nonlinear feasibility
See also ESTIM DRU
initial problem parameters
Nonlinear Jacobian vars
See also ESTIM DRU
initial problem parameters
Nonlinear objective vars
See also ESTIM DRU
initial problem parameters
Norm Gz
See also ESTIM DRU
iteration output
NormGf
See also ESTIM DRU
iteration output
Nz
See also ESTIM DRU
iteration output
O
Objective
See also ESTIM DRU
iteration output
Optim Configuration
actual optimizer 4-9
algorithm 4-4
base search step 4-14
bind 4-12
code version 4-10
cost 4-12
diagnostic print level 4-5
DV_level 4-7
feasible point iterations 4-9
fix variable spans 4-18
flag inputs 4-16
FPS Hessian diagonal 4-14
function precision 4-11
gradient 4-12
gradient calculations 4-5
gradient evaluations 4-10
include fixed constraints 4-17
I-3
include scales 4-18
Jacobian elimination 4-14
linesearch tolerance 4-11
LP options 4-4
major damping parameter 4-15
max. allowed move 4-14
max. constraint relaxations 4-6
max. CPU usage 4-15
max. feasible point 4-6
max. Hessian resets 4-6
max. iteration step 4-13
max. iterations 4-5
minor damping parameter 4-15
model evaluations 4-10
NAG calculated gradients 4-17
nonlinear row tolerance 4-11
numerical gradients 4-18
objective scale factor 4-15
objective value 4-7
omit tech. constraints 4-16
OPT Hessian diagonal 4-14
optimality tolerance 4-11
penalty parameter 4-15
pert_reset 4-19
perturbation 4-13
recentre 4-17
relaxed violated constraints 4-16
restricted step 4-17
row tolerance 4-11
scaling type 4-15
set up inputs 4-4
sigma 4-11
solution phase 4-9
sparse Jacobian 4-18
start objective 4-10
step 4-12
termination reason 4-7
tolerance inputs 4-10
total CPU time 4-10
verify 4-7
zeta 4-12
Optimality tolerance
See also ESTIM DRU
initial problem parameters
Optimization
problem 3-7
Optimization Objects 3-4, 6-17
constraints 3-5
DCS Tags 3-5
I-3
I-4
fitting parameters 3-5
installation 3-14
objective function variables 3-5
optimization variable 3-5
property view
Connection tab 6-18
Properties tab 6-19
Transfer tab 6-21
types 3-14
Optimizer 4-1
calculations 4-20
interface 3-6, 4-3
optim configuration 4-4
results 4-20
P
Parameter Estimation
DCS Tags 7-3
fitting parameters 7-3
Parameter/Offsets
See also Data Recon Utility
Results tab
Problem Formulation
See also Data Recon Utility
Configuration tab
R
Reset frequency
See also ESTIM DRU
initial problem parameters
Residual
See also ESTIM DRU
final output
S
Simultaneous Modular Optimization 3-3
Solver Parameters and Tolerances
See also Data Recon Utility
Configuration tab
State
See also ESTIM DRU
final output
Step
See also ESTIM DRU
iteration output
Step limit
See also ESTIM DRU
initial problem parameters
SubFlowsheet 3-3
I-4
implementation in HYSYS.RTO+ 3-4
overview 3-4
T
Technical Support 1-8
agents 1-11
centres 1-9
offices 1-10
U
Upper bound
See also ESTIM DRU
final output
Use of Manuals
conventions 1-5
mouse actions 1-5
Utilities
Bad Data Elimination 6-5
Data Reconciliation 6-5
Parameter Estimation 6-5
V
Value
See also ESTIM DRU
final output
Varbl
See also ESTIM DRU
final output
Verify level
See also ESTIM DRU
initial problem parameters
Download