
OPTIMISE
Function:
The OPTIMISE command is used to
initiate an optimisation run in which thermodynamic parameters marked
as OPTIMISED or LINKED are adjusted automatically to minimise the
differences between calculated properties and experimental values (see
LIST) as defined in an experimental data file (see DEFINE). Options
allow different ALGORITHMs, and TOLERANCEs to be selected for the
optimisation process, the overall number of comparisons made between
calculation and experiment (MAXIMUM_FUNCTIONS) to be limited and a
method for monitoring progress (by means of TEXT or GRAPHICAL output)
to be specified. In the case of GRAPHICAL monitoring a frequency for
updating the output can be specified.
Parameters:

algorithm


maximum_functions

 output_type   tolerance   update_graphics 
Defaults:

algorithm=lcqndf

 maximum_functions = 100   output_type = graphical;   tolerance = 0.01   update_graphics = 1 
Examples:

optimise !


optimise algorithm = upolyt toler = 0.001 out = graph !

 opt alg = lsqndn max = 500 !   optimise max = 0 ! 
Parameter
values:
ALGORITHM

ALGORITHM takes the values LCQNDF / UPOLYT / LSQNDN


ALGORITHM is used to select
the algorithm to be used in subsequent optimisation runs, that is to
say the mathematical method employed to determine the best possible
values for OPTIMISED parameters. Options are selected by entering the
keywords LCQNDF, UPOLYT and LSQNDN. The default, if no other choice is
made, is LCQNDF. The
LCQNDF and LSQNDN algorithms work best when the parameters being
changed are reasonably close to their final values. UPOLYT is a
often a better choice when the parameters being changed are far from
their final values. LCQNDF
requests use of the LCQNDF (Linearly Constrained Quasi Newton Function
only) algorithm. This algorithm is used by default. UPOLYT
requests use of the UPOLYT (Unconstrained POLYTope) algorithm. This
algorithm is recommended for general use rather than LCQNDF or LSQNDN. LSQNDN
requests use of the LSQNDN (Least Squares No Derivatives Needed)
algorithm. This works in a similar way to LCQNDF but also makes
available a detailed statistical analysis of each optimisation run. 
MAXIMUM_FUNCTIONS

takes the value <number>


MAXIMUM_FUNCTIONS is used to
specify a maximum number of times for the sum of squares of errors,
minimised during an optimisation run, to be evaluated. The default
value is 100. Setting too low a value may not allow enough scope for
the best possible set of thermodynamic parameters to be found. Setting
too high a value, especially with a small TOLERANCE, may lead to
unnecessary calculations being performed to try an improve an already
adequate result. The chosen number, a positive integer, should be
entered after the MAXIMUM_FUNCTIONS keyword. For example: optimise max_fun = 500 ! During
an optimisation run results are reported, graphically or in text form,
whenever a new lowest value for the sum of squares of errors is found,
that is to say when a new iteration begins. Each iteration may involve
more than one evaluation of the sum of squares of errors.


OUTPUT_TYPE  takes the values GRAPHICAL / TEXT    OUTPUT_TYPE
is used to select whether the progress of subsequent optimisation runs
is to be monitored graphically or by means of tables or intermediate
parameter values output to the screen. It should be followed either by
the keyword GRAPHICAL or by the keyword TEXT. GRAPHICAL is the default
option. The tabular output generated by entering TEXT may be lengthy.
GRAPHICAL
generates graphs showing changes made to individual parameters during
the course of each optimisation run and the effects of these changes on
the sum of squares of errors being minimised. Plots are updated with a
frequency requested using UPDATE_GRAPHICS. TEXT
generates tables showing changes made to individual parameters during
the course of each optimisation run and the effects of these changes on
the sum of squares of errors being minimised. New tables are output
with a frequency requested using UPDATE_GRAPHICS. Output may be lengthy.   TOLERANCE  takes the value <number>    TOLERANCE
is used to specify a target accuracy to be achieved in optimisation
runs. In the case of the LCQNDF and LSQNDN algorithms the value
supplied is interpreted as a target accuracy for each thermodynamic
parameter, expressed a fraction of its SCALE (see MODIFY). In the case
of UPOLYT it is interpreted as a limiting value for the sum of squares
of errors, minimised during each optimisation run.
The required TOLERANCE should be entered as a positive number immediately following the TOLERANCE keyword. For example:
optimise tolerance = 0.001 !
For
most purposes there will be no need to change the default value of 105
adopted by the program. This is close to the lower limit of suitable
values.   UPDATE_GRAPHICS  takes the value <number>    UPDATE_GRAPHICS
is used to specify a frequency for updating the output, text or
graphics, used to monitor the progress of optimisation runs. This is
expressed as a number of iterations to be completed before each update,
entered as a positive integer after the UPDATE_GRAPHICS keyword. For
example:
optimise update 5 !
An
iteration is completed each time a new lowest value for the sum of
squares of errors, minimised during optimisation runs, is found. By
default output is updated at the end of every iteration, that is to say
UPDATE_GRAPHICS = 1.  



Updated
4 August 2010
