Optimization > Set response to be optimized > Defining objective functions for optimization |
The objective or goal function is a mathematical equation describing the objective or goal of the modeling exercise. The optimization algorithm will vary the selected responses to give the best value (maximum or minimum) for the objective function. For example, the objective function selected could be yield, and the temperature varied to maximize the yield for a reaction step.
The choice and definition of your objective function is very important in getting the desired optimum. Ask yourself:
Objective functions can range in complexity, but there are in general three types:
Simple functions: These are a measure of the final quality of the simulated operation only.
Objective function |
Comments |
Amount of product e.g. solution.Product |
Not recommended if you intend to use substrate as an optimization response. The amount of product depends strongly on the amount of reagent and substrate (scale of operation), i.e. increasing the amount of substrate will increase the amount of product, but the percentage yield may not have increased |
Yield e.g. solution.Product/solution.substrate.initial |
Based on the ratio of the amount of product produced to substrate charged. This is a good indicator of the quality of the final material. |
Selectivity e.g. solution.P/ (solution.product+solution.impurity) |
Based on the ratio of product to product plus impurities. This can be used at any scale, but does not directly account for the amount of substrate used, so can be highest at the start of a simulation, leading to an optimum with a very short cycle time (if end time is a selected response for optimization) and low conversion. |
Conversion e.g. 1-solution.substrate/ solution.substrate.initial |
Based on the amount of substrate converted. This does not measure the quality of the final material (i.e. how much desired product was formed). |
Of the above functions, the first is automatically available in Optimization and each of the other three can be set up on your Process sheet using a single Calculate statement. When the variables 'Yield' or 'Selectivity' are used, these are automatically preselected as the Objective Function when you open the Optimization window.
Functions involving time: When cycle time needs to be reduced as well as quality increased, the objective function should represent both of these. One possibility is is to maximize product formed per unit time (e.g. bulk liquid.Product/time). This function can be set up on your Process sheet using a single Calculate statement.
Economic/profit based functions: These functions allow inclusion of reagent costs, product price, workup costs, separation costs, etc.
An example for determining the optimum processing time could be:
Profit = Price of product – Separation costs – operating costs
Profit =wA*solution.product – wS*solution.substrate.initial – wR*time – wD*tdowntime
Where
wA = price of product per mole;
solution.P = moles of P at end of batch;
wS = separation cost per mole of A charged;
solution.substrate.initial = initial moles of substrate A;
wR = operating cost per unit of reaction time;
time = reaction time;
wD = operating cost per unit of downtime;
tdowntime = downtime
To use the above functions in a Dynochem model, the variables Profit, wA, wS, wR , wD and tdowntime would need to be listed on the Process sheet.