6.5 Retrieving information items

After the optimization the user has access to the solution as well as to a report containing a large amount of additional information items. For example, one can obtain information about:

  • timing: total optimization time, time spent in various optimizer subroutines, number of iterations, etc.

  • solution quality: feasibility measures, solution norms, constraint and bound violations, etc.

  • problem structure: counts of variables of different types, constraints, nonzeros, etc.

  • integer optimizer: integrality gap, objective bound, number of cuts, etc.

and more. Information items are numerical values of integer, long integer or double type. The full list can be found in the API reference:

Remark

For efficiency reasons, not all information items are automatically computed after optimization. To force all information items to be updated use the parameter MSK_IPAR_AUTO_UPDATE_SOL_INFO.

Retrieving the values

Values of information items are returned in the info field of the model object.

Each information item is identified by a unique name. The example below reads two pieces of data from the solver: total optimization time and the number of interior-point iterations.

Listing 6.4 Information items example. Click here to download.
    fprintf("Optimizer time %.3f\n", model.info.MSK_DINF_OPTIMIZER_TIME);
    fprintf("#iterations    %d\n",   model.info.MSK_IINF_INTPNT_ITER);