Optimization

CPLEX version

RiverWare was upgraded to use CPLEX 12.2.

Optimization Diagnostics

The Diagnostics Manager dialog was modified to give you control over optimization diagnostics. The previously disabled Optimization button was removed while an Enable All Optimization Diagnostics toggle was added. When checked, this gives you all optimization diagnostics.

Optimization Parameters

Location of Non-default Parameters

All non-default settings of optimization parameters are now saved in the model file. As a result, the "Save non-default settings to parameter file" checkbox was removed from the "Set Optimization Solver Parameters" dialog. Further, RiverWare no longer makes use of the following files:

• cplex.par

• goals.par

• cplex.init.par

• goals.init.par

If you had been using one of the override files, cplex.init.par or goals.init.par in the optimization working directory, and want to continue to use these non-default values with a given model (we don't expect this to be the case), then you will need to load the model, interactively set parameters to non-default values as necessary, then save the model.

New Optimization Parameters

The following new Optimization “goal” parameters were added:

• SATISFACTION VAR OBJECTIVE COEFF: This value is used as the coefficient in objectives expressions for derived objectives (single minimax, repeated minimax, and summation). For minimax objectives, the objective expression is:

a * x

where a is the satisfaction variable coefficient and x is the satisfaction variable. For summation objectives, the objective expression is:

(a * x_1) + (a * x_2) + ... + (a * x_n)

where a is the satisfaction variable coefficient and x_i is the satisfaction variable associated with the i'th soft constraint.

• FRESH BASIS_FREQUENCY: This integer parameter controls how often the solver starts with a fresh basis when solving an optimization problem. If the number of variables frozen since the last fresh basis is greater than this parameter's value, then the solver discards the basis before solving the problem again. The default value is 100.

Miscellaneous

Following are miscellaneous changes to the optimization solution:

• For SUMMATION objectives, the solution's objective value is now reported in the diagnostics as average percent satisfied, e.g.:

"SUMMATION constraints are on average 99.9% satisfied."

• Similarly, the Run Status dialog display of the Objective Value is now the average percent satisfied, whereas previously it was the raw objective value.

• Raised the maximum value to which integer values may be set from 16777215 to 2147483647 and lowered the minimum from -16777215 to -2147483647.

• To improve numerical stability and performance, additional freezing is done when a minimax objective is fully satisfied.

Revised: 08/02/2021