Inheritance of Parameter Values#
If you use concurrent environment or multi-objective environment, you may want these supporting environments to have different values for their parameters. For example, you may want to set different algorithmic parameters when running multiple solves concurrently or set different time limits on various phases of a multi-objective solve.
When creating a concurrent environment or a multi-objective environment, all parameter values are left at their default values. Whether parameter changes in the model environment are considered in the supporting environment can be controlled by the parameter InheritParams. The default value applies all parameters from the model environment to the supporting environment. Note that it does not matter whether parameters in the model environment were changed before or after the supporting environment was created, as long as they are changed before the optimization is started.
Here are some use-cases that you may want to consider.
Use the Main Environment and Change Some Values#
When you want the supporting environment to behave like the model environment, except for a few parameters, leave InheritParams to its default value and just set in the supporting environment the values for the parameters that need to be changed. Parameters set in the supporting environment take precedence over those in the model environment.
Only Consider the Supporting Environment#
When you want to configure a supporting environment by starting from the default values for all parameters, but the model environment has non-default values for some parameters, set InheritParams in the supporting environment to 0. Parameter values from the model environment will not be considered. Only parameters set in the supporting environment will be applied. If you want to have this behavior for all supporting environments, you can also set InheritParams=0 in the model environment.