Professional Documents
Culture Documents
10 CrudeColumnOptimization
10 CrudeColumnOptimization
Workshop
A crude column with pump arounds and side-strippers can converge in
a few seconds using a wide variety of product quality specifications.
However, the complexity of the model and intrinsic interaction between
variables can make it very difficult to use the model alone as a decision-
making tool.
Learning Objectives
After completing this module, you will be able to use the Derivative
Utility to:
Prerequisites
Before beginning this module you will need to know how to:
2
Process Overview
4 Crude Column Optimization
Price Revenue
3
Revenues ($/m ) ($/h)
Naphtha 14.00 2100
Kerosene 12.00 743
Diesel 10.00 1300
AGO 6.00 180
Residue 2.00 580
Costs ($/MM kJ)
Condenser 0.12 15
Flash zone duty 3.00 287
Profits (approximately) 4600
From the cost and revenues table above, we can determine that it would
be most desirable to get the maximum quantity of Naphtha possible,
since it is the highest value product, and of course, concurrently
minimise the energy consumption. This is not a simple task because the
market requires that product quality standards be taken into account.
The following table shows these standards:
4
Crude Column Optimization 5
In this case, the prices for the Energy values are given in MMKJ/h and,
since this unit is not available in the HYSYS unit library, we will need to
define it.
5
6 Crude Column Optimization
Figure 1
6
Crude Column Optimization 7
Figure 2
7
8 Crude Column Optimization
Derivative Utility
The Derivative Utility is used to hold all the data used for defining the
HYSYS Optimizer variables, constraints, and the Objective Function.
Figure 3
8
Crude Column Optimization 9
We will use only the distillation column as the desired unit operation.
Using this mode will optimize variables pertaining to the Atmospheric
Crude Tower unit operation.
Figure 4
The needed optimization objects for the utility (in the case of the
Derivative Utility: Optimization Variables, Constraints, and Objective
Function variables) can be added directly from this view. In the
Derivative Utility Configuration group, there is a drop-down list on the
right side of the group.
9
10 Crude Column Optimization
Figure 5
7. Select OptVars and click the Add button to the left of the drop-down
list. The selection view is displayed:
Figure 6
10
Crude Column Optimization 11
Figure 7
The Object Name column lets you modify the name of the created
variables. In addition, the Attached Object and attached Property
columns are also displayed in the view, as well as the variable's current
value.
The Master and Runtime radio buttons toggle the display between all
objects and those being considered for the current evaluation. The
properties can be filtered into the following:
• Optimize flag
• Minimum
• Maximum
• Range (optional)
• Global Minimum
From the list of variables, if • Global Maximum
you uncheck the “Optimize
flag” check box for certain
variables, the Master list will
The Global inputs are appropriate only for real time applications and
still show you all the can be set at the same values as the minimum and maximum.
variables (selected and non-
selected) whereas the
Runtime list shows only the
The Optimize flag works in conjunction with Runtime and Master lists.
selected ones. When the optimization problem is being set up, this flag is evaluated for
11
12 Crude Column Optimization
each variable. If the flag is false, then the variable is not exposed to the
Optimizer and the value remains at its starting value for the length of the
solution. With this, you can easily switch between optimization
problems by turning variables and constraints on and off. The value for
the variable Range is used in the calculation of a perturbation (= range x
perturbation factor). If none is provided, the span (maximum -
minimum) is used for the calculations.
Adding Variables
We need to add all of the optimization variables in the same way. Notice
that only those variables shown as blue in the simulation (input values)
can be selected since they must be available for updating during the
optimization. In this example, those variables that are specified as
Active specs in the column will need to be accessed through this
derivative utility.
9. Click the Add button with the OptVars option selected in the drop-
down list.
10. Add the steam flowrates. Since the specified value (blue) in this case
is in the stream itself, you will be able to access it through this object
directly as you did with the Bttm Stream Flowrate.
Figure 8
12
Crude Column Optimization 13
Figure 9
Make sure that all values from the Current Value column are in blue,
since they’ll be changed later by the optimizer.
12. Select the Input view from the Variables tree on the left.
13. Complete the minimum and maximum values for each of the
variables.
Minimum Maximum
Minimum and maximum
values are the boundaries Flowrates Steam (kg/h)
for the variables in the
700 AGO Steam Flow 1600
optimization; this is the valid
range for the optimization. 2000 Bttm Steam Flowrate 4800
800 Diesel Steam Flow 1900
Flowrates Products
0 Off Gas Flowrate (kgmole/h) 10
110 Naphtha Flowrate (m3/h) 190
46 Kero Flowrate (m3/h) 80
104 Diesel Flowrate (m3/h) 156
20 AGO Flowrate (m3/h) 40
13
14 Crude Column Optimization
Minimum Maximum
Energy (MMKJ/h)
-33 Kero PA Duty -60
-25 Diesel PA Duty -50
-25 AGO PA Duty -50
Pump Around Draw Rates (m3/h)
240 Kero PA Flowrate 400
150 Diesel PA Flowrate 250
150 AGO PA Flowrate 250
Additional Specs
6 Kero Reb Duty (MMKJ/h) 10
17 Liq Flow Stg 27 (m3/h) 30
• Use flag
• Minimum
• Maximum
• Scale
14
Crude Column Optimization 15
14. Click on the Add button with the ProcCons option activated in the
drop-down list as shown:
Figure 10
We could add the distillation points from the Boiling point Curves utility,
but that would take more time than if we took the values from the
Column’s Monitor page (they will save calculation time).
Use a descriptive name as 15. Add the required Distillation Points on the Monitor page of the
this will make it easier to find Column Property view if they are not already there.
with the Object Navigator.
Figure 11
15
16 Crude Column Optimization
16. Repeat the steps in order to complete the whole list of Constraint
variables as displayed in the previous table.
17. For the heavy streams, we will include Flash Point and Pour Point
specifications by selecting them from the column.
18. Go to the Monitor page.
19. Click the Add Spec button.
We can also view these
properties with the 20. Click the Add Spec button again and select Cold Properties.
corresponding utility but it
will be better to gather all Figure 12
the information within the
Monitor page.
16
Crude Column Optimization 17
22. Add two new process constraints for the Energy streams (you can
select these directly from the stream).
Figure 13
17
18 Crude Column Optimization
All the variables with a cost associated may be listed into the
Constraints/Objective Function tab. The HYSYS SQP optimizer will only
minimize the Objective Function. For this reason the revenues have to
be expressed as negative, and the cost values positive.
Thus, every single variable will have, as a result, its current value
multiplied by the associated cost/revenue. The Jacobian will minimize
the individual values that will end in a total minimum (the sum of all the
values from the list).
Price
3
Revenues ($/m )
Naphtha 14.00
Kerosene 12.00
Diesel 10.00
AGO 6.00
Residue 2.00
Costs ($/MM kJ)
Condenser 0.12
Flash zone duty 3.00
Profits
18
Crude Column Optimization 19
23. To add Objective Function variables, click on the Add button with
the ObjFunc option selected.
Figure 15
24. For this problem, individual objective function objects are installed
as shown below. Select the Naphtha product Volume Flowrate
(because the price is in $/m3).
Figure 16
19
20 Crude Column Optimization
Figure 17
20
Crude Column Optimization 21
Optimizer
The Optimizer interface is used to collect all of the derivative utilities
within the current simulation case and provide them to the
optimization algorithm. The Optimizer is invoked by pressing F5 or by
opening the Simulation menu and selecting Optimizer.
Figure 18
21
22 Crude Column Optimization
22