Initializing Optimizing Variables in PARROT

Variables that have been entered into Gibbs energy expressions for model parameters in the setup file have to be initialized and given start values before they are optimized.

You have to estimate what start values to give to the optimizing variables based on your knowledge of the system or of relevantly similar systems. There are no general rules for what start values your optimizing variables should have. If you are not able to make any informed estimation about what start values to use, then you may not be able to find a good fit between your experimental data and your calculated results.  In this case, it is often best to start the optimization in the so-called alternate mode. In alternate mode, the PARROT module helps you find some reasonable start values for your optimizing variables.

About Alternate Mode

Even if you are starting your optimization in alternate mode, you still have to initialize the optimizing variables though (you can all give them a start value of 0).

To initialize an optimizing variable and to give it a start value, use either SET_OPTIMIZING_VARIABLE or SET_SCALED_VARIABLE. Using SET-OPTIMZING_VARIABLE results in a scaling factor equal to the current value of the parameter unless the current value is zero, in which case the scaling factor is 1000. This is typically appropriate for enthalpic parameters, but not necessarily for other parameters. The scaling factor is the factor by which the optimizing variable value is varied during the optimization.

For example, if you want to optimize the variables V1, V2, V11, V13 and V17, then you could enter the following in the setup file:

SET_OPTIMIZING_VARIABLE 1 +43000

SET_OPTIMIZING_VARIABLE 2 -35.2

SET_OPTIMIZING_VARIABLE 11 +72000

SET_OPTIMIZING_VARIABLE 13 +27000

SET_OPTIMIZING_VARIABLE 17 -100000

The value given to each optimizing variable (+43000 for variable V1 for example) is also that variable’s initial scaling factor. If you want to set the initial scaling factor of a variable to a value that is lower or higher than its start value, then use SET-SCALED_VARIABLE <start value><scaling factor><min value><max value>.