Chemcept Ltd.
Chemical Engineering Software. Specializing in the Development of Chemical
Engineering Software & Engineering
Consultancy
Software Products
Chemcept-Simanopt: A Simulation and Optimization Package.
Simanopt is a process simulation and optimization system built around a set of
very fast simulation models. The models employ simplified physical properties
that enable analytical or semi-analytical solutions. The Chemcept-data
physical properties system is employed to provide the required physical
properties. The principles of the fast reliable simulation are described in
the pages on physical properties
. Essentially, we are aiming for simulations ten thousand times faster than
conventional process simulations. At the same time, we are aiming at extreme
reliability. Work published by Johns & Vadhwana has shown that these goals are
achievable. There is no benefit for a one-off simulation. For such
simulations, the extra precision available from a conventional simulator
outweighs any speed disadvantage. Furthermore, for one-off simulations, the
user usually has a good estimate of the solution. This estimate permits good
starting estimates for iteration so that extreme model reliability is not
required.
For most applications, it is not worth investing time to make much faster
computer run times. Certainly, speed increases of a factor of two to five are
quickly overtaken by advances in computer hardware. A factor of two to five is
the most that can be achieved by conventional code optimization. A speed
increase of 10000 requires a radically different approach. It provides a speed
advantage that will require 25 to 30 years of hardware advances to match.
Furthermore, when coupled with improved reliability, it permits a range of
applications that are otherwise scarcely practicable. Simanopt has the
following application areas:
1) Very fast, reliable simulation. This feature is, in itself, of marginal
benefit. However, it enables results to be obtained for difficult problems
that may crash a conventional simulator.
2) Optimization. Multi-variable optimization may take thousands of iterations
to converge. Acceptable conventional run times of a fraction of a minute
become unacceptable run times of a fraction of a day. Furthermore, during the
iteration, the optimizer may throw completely unrealistic values at the
simulator (columns with millions of stages, pressures of millions of bars etc).
These unrealistic values will be eliminated as the optimization progresses.
However, they may crash a conventional simulator and prevent the optimal
solution ever being reached. Often a conventional simulator will be used to
fine-tune the optimum. However, even in these cases, the excellent initial
estimate provided by Simanopt converts an impossible optimization to a feasible
optimization.
3) Simulation under uncertainty. Most engineering designs are undertaken in
the face of uncertainty. Statistical information may be available on the data
uncertainties such as physical properties, model performance. However,
thousands of simulations may be required to estimate performance statistics
from data statistics. Again, a very fast simulator is required. Any
additional uncertainty introduced by the simplified models can be scoped.
Thus, the simulation itself can estimate the potential impact of the simplified
model uncertainties compared to the inevitable data uncertainties. The results
provide guidance on whether further simulation with a conventional high-quality
simulator is needed.
4) Optimization under uncertainty. These optimizations are challenging and may
require tens of thousands of model simulations. They are particularly
challenging when the optimization includes conditional decisions. For example,
we may create a "nest" such as:
Optimize (generate potentially optimal values of
adjustable design variables)
Evaluate
Uncertainty (generate possible outcomes for each uncertain variable)
Re-optimize
(generate potentially optimal values of operating variables)
This type of optimization strategy is realistic. Thus, in the outermost loop,
we generate possible reactor sizes, separator sizes etc. In the next loop, we
generate possible outcomes for the physical design generated in the outer loop.
For example, we may be uncertain of a reaction rate. Possible outcomes would
be that the reaction rate is high, or the reaction rate is low. If the rate is
high, there is an operation optimization in the inner loop. For example, we
could increase production rate, decrease recycle of unconverted raw materials,
or increase product purity. If the rate is low, we may reduce production rate,
increase recycle of unconverted raw material, or pay the cost penalty of making
lower specification product. Consider the situation in which, for every set of
uncertain outcomes, it takes 100 iterations to optimize the operating
variables. Consider also that for every set of design variables, we need to
generate 100 sets of possible outcomes adequately to cover the range of
uncertainties. Finally, consider that it takes 100 iterations to optimize the
design variables. Under these conditions, it takes 100×100×100 process
simulations to reach an optimal design. Very fast, reliable simulation is
required to get results in any reasonable computational time.
5) Process Synthesis. In Process Synthesis, we augment conventional
optimization to include integer variables. Thus, in a conventional
optimization, we optimize lengths, diameters and flow rates, which are all real
numbers. Conventional non-linear optimization handles such problems. In
Process Synthesis, we also make optimal decisions about technology and
connectivity. Technology decisions may include "do we use distillation or
liquid/liquid extraction?". Connectivity decisions may include "do we recycle
unconverted raw material, if so, to where do we recycle it?". These decisions
are included as additional variables. They are normally binary variables, such
as: 0 = distillation, 1 = liquid/liquid extraction. Adding these binary
variables increases computer run times exponentially. Thus, the simplest way
to handle a problem with 10 binary variables would be to consider every
possible combination of the variables, giving 1024 combinations. We then have
1024 conventional optimizations. Efficient integer optimization techniques are
available that require only a fraction of these combinations to be evaluated.
Furthermore, they do not require complete optimization of the real-value
subproblems in order to identify the optimum. Nevertheless, it can be proven
that computer run times still increase exponentially with number of binary
variables. At the innermost loop, the process may be simulated millions of
times. Very fast simulation is required to handle such problems. Furthermore,
very robust simulations are required. As structures are changed automatically,
completely unrealistic values may be thrown at the simulator for which
realistic results are required.
Simanopt is still under development and will not be available for at least a
year.
Note that the Simanopt approach becomes quite impractical for large numbers of
integer variables. It also requires a prior choice as to what integer options
might be required. For problems with very large numbers of integer variables,
and in which the possible process structures cannot be defined in advance, our
other complementary tool,
Chemcept-Design
is the tool of choice.