# 15.7 Enumerations¶

- MSKbasindtypee¶
Basis identification

- MSK_BI_NEVER (0)¶
Never do basis identification.

- MSK_BI_ALWAYS (1)¶
Basis identification is always performed even if the interior-point optimizer terminates abnormally.

- MSK_BI_NO_ERROR (2)¶
Basis identification is performed if the interior-point optimizer terminates without an error.

- MSK_BI_IF_FEASIBLE (3)¶
Basis identification is not performed if the interior-point optimizer terminates with a problem status saying that the problem is primal or dual infeasible.

- MSK_BI_RESERVERED (4)¶
Not currently in use.

- MSKboundkeye¶
Bound keys

- MSK_BK_LO (0)¶
The constraint or variable has a finite lower bound and an infinite upper bound.

- MSK_BK_UP (1)¶
The constraint or variable has an infinite lower bound and an finite upper bound.

- MSK_BK_FX (2)¶
The constraint or variable is fixed.

- MSK_BK_FR (3)¶
The constraint or variable is free.

- MSK_BK_RA (4)¶
The constraint or variable is ranged.

- MSKmarke¶
Mark

- MSK_MARK_LO (0)¶
The lower bound is selected for sensitivity analysis.

- MSK_MARK_UP (1)¶
The upper bound is selected for sensitivity analysis.

- MSKsimdegene¶
Degeneracy strategies

- MSK_SIM_DEGEN_NONE (0)¶
The simplex optimizer should use no degeneration strategy.

- MSK_SIM_DEGEN_FREE (1)¶
The simplex optimizer chooses the degeneration strategy.

- MSK_SIM_DEGEN_AGGRESSIVE (2)¶
The simplex optimizer should use an aggressive degeneration strategy.

- MSK_SIM_DEGEN_MODERATE (3)¶
The simplex optimizer should use a moderate degeneration strategy.

- MSK_SIM_DEGEN_MINIMUM (4)¶
The simplex optimizer should use a minimum degeneration strategy.

- MSKtransposee¶
Transposed matrix.

- MSK_TRANSPOSE_NO (0)¶
No transpose is applied.

- MSK_TRANSPOSE_YES (1)¶
A transpose is applied.

- MSKuploe¶
Triangular part of a symmetric matrix.

- MSK_UPLO_LO (0)¶
Lower part.

- MSK_UPLO_UP (1)¶
Upper part.

- MSKsimreforme¶
Problem reformulation.

- MSK_SIM_REFORMULATION_ON (1)¶
Allow the simplex optimizer to reformulate the problem.

- MSK_SIM_REFORMULATION_OFF (0)¶
Disallow the simplex optimizer to reformulate the problem.

- MSK_SIM_REFORMULATION_FREE (2)¶
The simplex optimizer can choose freely.

- MSK_SIM_REFORMULATION_AGGRESSIVE (3)¶
The simplex optimizer should use an aggressive reformulation strategy.

- MSKsimdupvece¶
Exploit duplicate columns.

- MSK_SIM_EXPLOIT_DUPVEC_ON (1)¶
Allow the simplex optimizer to exploit duplicated columns.

- MSK_SIM_EXPLOIT_DUPVEC_OFF (0)¶
Disallow the simplex optimizer to exploit duplicated columns.

- MSK_SIM_EXPLOIT_DUPVEC_FREE (2)¶
The simplex optimizer can choose freely.

- MSKsimhotstarte¶
Hot-start type employed by the simplex optimizer

- MSK_SIM_HOTSTART_NONE (0)¶
The simplex optimizer performs a coldstart.

- MSK_SIM_HOTSTART_FREE (1)¶
The simplex optimize chooses the hot-start type.

- MSK_SIM_HOTSTART_STATUS_KEYS (2)¶
Only the status keys of the constraints and variables are used to choose the type of hot-start.

- MSKintpnthotstarte¶
Hot-start type employed by the interior-point optimizers.

- MSK_INTPNT_HOTSTART_NONE (0)¶
The interior-point optimizer performs a coldstart.

- MSK_INTPNT_HOTSTART_PRIMAL (1)¶
The interior-point optimizer exploits the primal solution only.

- MSK_INTPNT_HOTSTART_DUAL (2)¶
The interior-point optimizer exploits the dual solution only.

- MSK_INTPNT_HOTSTART_PRIMAL_DUAL (3)¶
The interior-point optimizer exploits both the primal and dual solution.

- MSKpurifye¶
Solution purification employed optimizer.

- MSK_PURIFY_NONE (0)¶
The optimizer performs no solution purification.

- MSK_PURIFY_PRIMAL (1)¶
The optimizer purifies the primal solution.

- MSK_PURIFY_DUAL (2)¶
The optimizer purifies the dual solution.

- MSK_PURIFY_PRIMAL_DUAL (3)¶
The optimizer purifies both the primal and dual solution.

- MSK_PURIFY_AUTO (4)¶
TBD

- MSKcallbackcodee¶
Progress callback codes

- MSK_CALLBACK_BEGIN_BI (0)¶
The basis identification procedure has been started.

- MSK_CALLBACK_BEGIN_CONIC (1)¶
The callback function is called when the conic optimizer is started.

- MSK_CALLBACK_BEGIN_DUAL_BI (2)¶
The callback function is called from within the basis identification procedure when the dual phase is started.

- MSK_CALLBACK_BEGIN_DUAL_SENSITIVITY (3)¶
Dual sensitivity analysis is started.

- MSK_CALLBACK_BEGIN_DUAL_SETUP_BI (4)¶
The callback function is called when the dual BI phase is started.

- MSK_CALLBACK_BEGIN_DUAL_SIMPLEX (5)¶
The callback function is called when the dual simplex optimizer started.

- MSK_CALLBACK_BEGIN_DUAL_SIMPLEX_BI (6)¶
The callback function is called from within the basis identification procedure when the dual simplex clean-up phase is started.

- MSK_CALLBACK_BEGIN_INFEAS_ANA (7)¶
The callback function is called when the infeasibility analyzer is started.

- MSK_CALLBACK_BEGIN_INTPNT (8)¶
The callback function is called when the interior-point optimizer is started.

- MSK_CALLBACK_BEGIN_LICENSE_WAIT (9)¶
Begin waiting for license.

- MSK_CALLBACK_BEGIN_MIO (10)¶
The callback function is called when the mixed-integer optimizer is started.

- MSK_CALLBACK_BEGIN_OPTIMIZER (11)¶
The callback function is called when the optimizer is started.

- MSK_CALLBACK_BEGIN_PRESOLVE (12)¶
The callback function is called when the presolve is started.

- MSK_CALLBACK_BEGIN_PRIMAL_BI (13)¶
The callback function is called from within the basis identification procedure when the primal phase is started.

- MSK_CALLBACK_BEGIN_PRIMAL_REPAIR (14)¶
Begin primal feasibility repair.

- MSK_CALLBACK_BEGIN_PRIMAL_SENSITIVITY (15)¶
Primal sensitivity analysis is started.

- MSK_CALLBACK_BEGIN_PRIMAL_SETUP_BI (16)¶
The callback function is called when the primal BI setup is started.

- MSK_CALLBACK_BEGIN_PRIMAL_SIMPLEX (17)¶
The callback function is called when the primal simplex optimizer is started.

- MSK_CALLBACK_BEGIN_PRIMAL_SIMPLEX_BI (18)¶
The callback function is called from within the basis identification procedure when the primal simplex clean-up phase is started.

- MSK_CALLBACK_BEGIN_QCQO_REFORMULATE (19)¶
Begin QCQO reformulation.

- MSK_CALLBACK_BEGIN_READ (20)¶
**MOSEK**has started reading a problem file.

- MSK_CALLBACK_BEGIN_ROOT_CUTGEN (21)¶
The callback function is called when root cut generation is started.

- MSK_CALLBACK_BEGIN_SIMPLEX (22)¶
The callback function is called when the simplex optimizer is started.

- MSK_CALLBACK_BEGIN_SIMPLEX_BI (23)¶
The callback function is called from within the basis identification procedure when the simplex clean-up phase is started.

- MSK_CALLBACK_BEGIN_SOLVE_ROOT_RELAX (24)¶
The callback function is called when solution of root relaxation is started.

- MSK_CALLBACK_BEGIN_TO_CONIC (25)¶
Begin conic reformulation.

- MSK_CALLBACK_BEGIN_WRITE (26)¶
**MOSEK**has started writing a problem file.

- MSK_CALLBACK_CONIC (27)¶
The callback function is called from within the conic optimizer after the information database has been updated.

- MSK_CALLBACK_DUAL_SIMPLEX (28)¶
The callback function is called from within the dual simplex optimizer.

- MSK_CALLBACK_END_BI (29)¶
The callback function is called when the basis identification procedure is terminated.

- MSK_CALLBACK_END_CONIC (30)¶
The callback function is called when the conic optimizer is terminated.

- MSK_CALLBACK_END_DUAL_BI (31)¶
The callback function is called from within the basis identification procedure when the dual phase is terminated.

- MSK_CALLBACK_END_DUAL_SENSITIVITY (32)¶
Dual sensitivity analysis is terminated.

- MSK_CALLBACK_END_DUAL_SETUP_BI (33)¶
The callback function is called when the dual BI phase is terminated.

- MSK_CALLBACK_END_DUAL_SIMPLEX (34)¶
The callback function is called when the dual simplex optimizer is terminated.

- MSK_CALLBACK_END_DUAL_SIMPLEX_BI (35)¶
The callback function is called from within the basis identification procedure when the dual clean-up phase is terminated.

- MSK_CALLBACK_END_INFEAS_ANA (36)¶
The callback function is called when the infeasibility analyzer is terminated.

- MSK_CALLBACK_END_INTPNT (37)¶
The callback function is called when the interior-point optimizer is terminated.

- MSK_CALLBACK_END_LICENSE_WAIT (38)¶
End waiting for license.

- MSK_CALLBACK_END_MIO (39)¶
The callback function is called when the mixed-integer optimizer is terminated.

- MSK_CALLBACK_END_OPTIMIZER (40)¶
The callback function is called when the optimizer is terminated.

- MSK_CALLBACK_END_PRESOLVE (41)¶
The callback function is called when the presolve is completed.

- MSK_CALLBACK_END_PRIMAL_BI (42)¶
The callback function is called from within the basis identification procedure when the primal phase is terminated.

- MSK_CALLBACK_END_PRIMAL_REPAIR (43)¶
End primal feasibility repair.

- MSK_CALLBACK_END_PRIMAL_SENSITIVITY (44)¶
Primal sensitivity analysis is terminated.

- MSK_CALLBACK_END_PRIMAL_SETUP_BI (45)¶
The callback function is called when the primal BI setup is terminated.

- MSK_CALLBACK_END_PRIMAL_SIMPLEX (46)¶
The callback function is called when the primal simplex optimizer is terminated.

- MSK_CALLBACK_END_PRIMAL_SIMPLEX_BI (47)¶
The callback function is called from within the basis identification procedure when the primal clean-up phase is terminated.

- MSK_CALLBACK_END_QCQO_REFORMULATE (48)¶
End QCQO reformulation.

- MSK_CALLBACK_END_READ (49)¶
**MOSEK**has finished reading a problem file.

- MSK_CALLBACK_END_ROOT_CUTGEN (50)¶
The callback function is called when root cut generation is terminated.

- MSK_CALLBACK_END_SIMPLEX (51)¶
The callback function is called when the simplex optimizer is terminated.

- MSK_CALLBACK_END_SIMPLEX_BI (52)¶
The callback function is called from within the basis identification procedure when the simplex clean-up phase is terminated.

- MSK_CALLBACK_END_SOLVE_ROOT_RELAX (53)¶
The callback function is called when solution of root relaxation is terminated.

- MSK_CALLBACK_END_TO_CONIC (54)¶
End conic reformulation.

- MSK_CALLBACK_END_WRITE (55)¶
**MOSEK**has finished writing a problem file.

- MSK_CALLBACK_IM_BI (56)¶
The callback function is called from within the basis identification procedure at an intermediate point.

- MSK_CALLBACK_IM_CONIC (57)¶
The callback function is called at an intermediate stage within the conic optimizer where the information database has not been updated.

- MSK_CALLBACK_IM_DUAL_BI (58)¶
The callback function is called from within the basis identification procedure at an intermediate point in the dual phase.

- MSK_CALLBACK_IM_DUAL_SENSIVITY (59)¶
The callback function is called at an intermediate stage of the dual sensitivity analysis.

- MSK_CALLBACK_IM_DUAL_SIMPLEX (60)¶
The callback function is called at an intermediate point in the dual simplex optimizer.

- MSK_CALLBACK_IM_INTPNT (61)¶
The callback function is called at an intermediate stage within the interior-point optimizer where the information database has not been updated.

- MSK_CALLBACK_IM_LICENSE_WAIT (62)¶
**MOSEK**is waiting for a license.

- MSK_CALLBACK_IM_LU (63)¶
The callback function is called from within the LU factorization procedure at an intermediate point.

- MSK_CALLBACK_IM_MIO (64)¶
The callback function is called at an intermediate point in the mixed-integer optimizer.

- MSK_CALLBACK_IM_MIO_DUAL_SIMPLEX (65)¶
The callback function is called at an intermediate point in the mixed-integer optimizer while running the dual simplex optimizer.

- MSK_CALLBACK_IM_MIO_INTPNT (66)¶
The callback function is called at an intermediate point in the mixed-integer optimizer while running the interior-point optimizer.

- MSK_CALLBACK_IM_MIO_PRIMAL_SIMPLEX (67)¶
The callback function is called at an intermediate point in the mixed-integer optimizer while running the primal simplex optimizer.

- MSK_CALLBACK_IM_ORDER (68)¶
The callback function is called from within the matrix ordering procedure at an intermediate point.

- MSK_CALLBACK_IM_PRESOLVE (69)¶
The callback function is called from within the presolve procedure at an intermediate stage.

- MSK_CALLBACK_IM_PRIMAL_BI (70)¶
The callback function is called from within the basis identification procedure at an intermediate point in the primal phase.

- MSK_CALLBACK_IM_PRIMAL_SENSIVITY (71)¶
The callback function is called at an intermediate stage of the primal sensitivity analysis.

- MSK_CALLBACK_IM_PRIMAL_SIMPLEX (72)¶
The callback function is called at an intermediate point in the primal simplex optimizer.

- MSK_CALLBACK_IM_QO_REFORMULATE (73)¶
The callback function is called at an intermediate stage of the conic quadratic reformulation.

- MSK_CALLBACK_IM_READ (74)¶
Intermediate stage in reading.

- MSK_CALLBACK_IM_ROOT_CUTGEN (75)¶
The callback is called from within root cut generation at an intermediate stage.

- MSK_CALLBACK_IM_SIMPLEX (76)¶
The callback function is called from within the simplex optimizer at an intermediate point.

- MSK_CALLBACK_IM_SIMPLEX_BI (77)¶
The callback function is called from within the basis identification procedure at an intermediate point in the simplex clean-up phase. The frequency of the callbacks is controlled by the

`MSK_IPAR_LOG_SIM_FREQ`

parameter.

- MSK_CALLBACK_INTPNT (78)¶
The callback function is called from within the interior-point optimizer after the information database has been updated.

- MSK_CALLBACK_NEW_INT_MIO (79)¶
The callback function is called after a new integer solution has been located by the mixed-integer optimizer.

- MSK_CALLBACK_PRIMAL_SIMPLEX (80)¶
The callback function is called from within the primal simplex optimizer.

- MSK_CALLBACK_READ_OPF (81)¶
The callback function is called from the OPF reader.

- MSK_CALLBACK_READ_OPF_SECTION (82)¶
A chunk of \(Q\) non-zeros has been read from a problem file.

- MSK_CALLBACK_SOLVING_REMOTE (83)¶
The callback function is called while the task is being solved on a remote server.

- MSK_CALLBACK_UPDATE_DUAL_BI (84)¶
The callback function is called from within the basis identification procedure at an intermediate point in the dual phase.

- MSK_CALLBACK_UPDATE_DUAL_SIMPLEX (85)¶
The callback function is called in the dual simplex optimizer.

- MSK_CALLBACK_UPDATE_DUAL_SIMPLEX_BI (86)¶
The callback function is called from within the basis identification procedure at an intermediate point in the dual simplex clean-up phase. The frequency of the callbacks is controlled by the

`MSK_IPAR_LOG_SIM_FREQ`

parameter.

- MSK_CALLBACK_UPDATE_PRESOLVE (87)¶
The callback function is called from within the presolve procedure.

- MSK_CALLBACK_UPDATE_PRIMAL_BI (88)¶
The callback function is called from within the basis identification procedure at an intermediate point in the primal phase.

- MSK_CALLBACK_UPDATE_PRIMAL_SIMPLEX (89)¶
The callback function is called in the primal simplex optimizer.

- MSK_CALLBACK_UPDATE_PRIMAL_SIMPLEX_BI (90)¶
The callback function is called from within the basis identification procedure at an intermediate point in the primal simplex clean-up phase. The frequency of the callbacks is controlled by the

`MSK_IPAR_LOG_SIM_FREQ`

parameter.

- MSK_CALLBACK_UPDATE_SIMPLEX (91)¶
The callback function is called from simplex optimizer.

- MSK_CALLBACK_WRITE_OPF (92)¶
The callback function is called from the OPF writer.

- MSKcheckconvexitytypee¶
Types of convexity checks.

- MSK_CHECK_CONVEXITY_NONE (0)¶
No convexity check.

- MSK_CHECK_CONVEXITY_SIMPLE (1)¶
Perform simple and fast convexity check.

- MSK_CHECK_CONVEXITY_FULL (2)¶
Perform a full convexity check.

- MSKcompresstypee¶
Compression types

- MSK_COMPRESS_NONE (0)¶
No compression is used.

- MSK_COMPRESS_FREE (1)¶
The type of compression used is chosen automatically.

- MSK_COMPRESS_GZIP (2)¶
The type of compression used is gzip compatible.

- MSK_COMPRESS_ZSTD (3)¶
The type of compression used is zstd compatible.

- MSKconetypee¶
Cone types

- MSK_CT_QUAD (0)¶
The cone is a quadratic cone.

- MSK_CT_RQUAD (1)¶
The cone is a rotated quadratic cone.

- MSK_CT_PEXP (2)¶
A primal exponential cone.

- MSK_CT_DEXP (3)¶
A dual exponential cone.

- MSK_CT_PPOW (4)¶
A primal power cone.

- MSK_CT_DPOW (5)¶
A dual power cone.

- MSK_CT_ZERO (6)¶
The zero cone.

- MSKdomaintypee¶
Cone types

- MSK_DOMAIN_R (0)¶

- MSK_DOMAIN_RZERO (1)¶
The zero vector.

- MSK_DOMAIN_RPLUS (2)¶
The positive orthant.

- MSK_DOMAIN_RMINUS (3)¶
The negative orthant.

- MSK_DOMAIN_QUADRATIC_CONE (4)¶
The quadratic cone.

- MSK_DOMAIN_RQUADRATIC_CONE (5)¶
The rotated quadratic cone.

- MSK_DOMAIN_PRIMAL_EXP_CONE (6)¶
The primal exponential cone.

- MSK_DOMAIN_DUAL_EXP_CONE (7)¶
The dual exponential cone.

- MSK_DOMAIN_PRIMAL_POWER_CONE (8)¶
The primal power cone.

- MSK_DOMAIN_DUAL_POWER_CONE (9)¶
The dual power cone.

- MSK_DOMAIN_PRIMAL_GEO_MEAN_CONE (10)¶
The primal geometric mean cone.

- MSK_DOMAIN_DUAL_GEO_MEAN_CONE (11)¶
The dual geometric mean cone.

- MSK_DOMAIN_SVEC_PSD_CONE (12)¶
The vectorized positive semidefinite cone.

- MSKnametypee¶
Name types

- MSK_NAME_TYPE_GEN (0)¶
General names. However, no duplicate and blank names are allowed.

- MSK_NAME_TYPE_MPS (1)¶
MPS type names.

- MSK_NAME_TYPE_LP (2)¶
LP type names.

- MSKdataformate¶
Data format types

- MSK_DATA_FORMAT_EXTENSION (0)¶
The file extension is used to determine the data file format.

- MSK_DATA_FORMAT_MPS (1)¶
The data file is MPS formatted.

- MSK_DATA_FORMAT_LP (2)¶
The data file is LP formatted.

- MSK_DATA_FORMAT_OP (3)¶
The data file is an optimization problem formatted file.

- MSK_DATA_FORMAT_FREE_MPS (4)¶
The data a free MPS formatted file.

- MSK_DATA_FORMAT_TASK (5)¶
Generic task dump file.

- MSK_DATA_FORMAT_PTF (6)¶
(P)retty (T)ext (F)format.

- MSK_DATA_FORMAT_CB (7)¶
Conic benchmark format,

- MSK_DATA_FORMAT_JSON_TASK (8)¶
JSON based task format.

- MSKsolformate¶
Data format types

- MSK_SOL_FORMAT_EXTENSION (0)¶
The file extension is used to determine the data file format.

- MSK_SOL_FORMAT_B (1)¶
Simple binary format

- MSK_SOL_FORMAT_TASK (2)¶
Tar based format.

- MSK_SOL_FORMAT_JSON_TASK (3)¶
JSON based format.

- MSKdinfiteme¶
Double information items

- MSK_DINF_ANA_PRO_SCALARIZED_CONSTRAINT_MATRIX_DENSITY (0)¶
Density percentage of the scalarized constraint matrix.

- MSK_DINF_BI_CLEAN_DUAL_TIME (1)¶
Time spent within the dual clean-up optimizer of the basis identification procedure since its invocation.

- MSK_DINF_BI_CLEAN_PRIMAL_TIME (2)¶
Time spent within the primal clean-up optimizer of the basis identification procedure since its invocation.

- MSK_DINF_BI_CLEAN_TIME (3)¶
Time spent within the clean-up phase of the basis identification procedure since its invocation.

- MSK_DINF_BI_DUAL_TIME (4)¶
Time spent within the dual phase basis identification procedure since its invocation.

- MSK_DINF_BI_PRIMAL_TIME (5)¶
Time spent within the primal phase of the basis identification procedure since its invocation.

- MSK_DINF_BI_TIME (6)¶
Time spent within the basis identification procedure since its invocation.

- MSK_DINF_INTPNT_DUAL_FEAS (7)¶
Dual feasibility measure reported by the interior-point optimizer. (For the interior-point optimizer this measure is not directly related to the original problem because a homogeneous model is employed.)

- MSK_DINF_INTPNT_DUAL_OBJ (8)¶
Dual objective value reported by the interior-point optimizer.

- MSK_DINF_INTPNT_FACTOR_NUM_FLOPS (9)¶
An estimate of the number of flops used in the factorization.

- MSK_DINF_INTPNT_OPT_STATUS (10)¶
A measure of optimality of the solution. It should converge to \(+1\) if the problem has a primal-dual optimal solution, and converge to \(-1\) if the problem is (strictly) primal or dual infeasible. If the measure converges to another constant, or fails to settle, the problem is usually ill-posed.

- MSK_DINF_INTPNT_ORDER_TIME (11)¶
Order time (in seconds).

- MSK_DINF_INTPNT_PRIMAL_FEAS (12)¶
Primal feasibility measure reported by the interior-point optimizer. (For the interior-point optimizer this measure is not directly related to the original problem because a homogeneous model is employed).

- MSK_DINF_INTPNT_PRIMAL_OBJ (13)¶
Primal objective value reported by the interior-point optimizer.

- MSK_DINF_INTPNT_TIME (14)¶
Time spent within the interior-point optimizer since its invocation.

- MSK_DINF_MIO_CLIQUE_SEPARATION_TIME (15)¶
Separation time for clique cuts.

- MSK_DINF_MIO_CMIR_SEPARATION_TIME (16)¶
Separation time for CMIR cuts.

- MSK_DINF_MIO_CONSTRUCT_SOLUTION_OBJ (17)¶
If

**MOSEK**has successfully constructed an integer feasible solution, then this item contains the optimal objective value corresponding to the feasible solution.

- MSK_DINF_MIO_DUAL_BOUND_AFTER_PRESOLVE (18)¶
Value of the dual bound after presolve but before cut generation.

- MSK_DINF_MIO_GMI_SEPARATION_TIME (19)¶
Separation time for GMI cuts.

- MSK_DINF_MIO_IMPLIED_BOUND_TIME (20)¶
Separation time for implied bound cuts.

- MSK_DINF_MIO_INITIAL_FEASIBLE_SOLUTION_OBJ (21)¶
If the user provided solution was found to be feasible this information item contains it’s objective value.

- MSK_DINF_MIO_KNAPSACK_COVER_SEPARATION_TIME (22)¶
Separation time for knapsack cover.

- MSK_DINF_MIO_LIPRO_SEPARATION_TIME (23)¶
Separation time for lift-and-project cuts.

- MSK_DINF_MIO_OBJ_ABS_GAP (24)¶
Given the mixed-integer optimizer has computed a feasible solution and a bound on the optimal objective value, then this item contains the absolute gap defined by

\[|\mbox{(objective value of feasible solution)}-\mbox{(objective bound)}|.\]Otherwise it has the value -1.0.

- MSK_DINF_MIO_OBJ_BOUND (25)¶
The best known bound on the objective function. This value is undefined until at least one relaxation has been solved: To see if this is the case check that

`MSK_IINF_MIO_NUM_RELAX`

is strictly positive.

- MSK_DINF_MIO_OBJ_INT (26)¶
The primal objective value corresponding to the best integer feasible solution. Please note that at least one integer feasible solution must have been located i.e. check

`MSK_IINF_MIO_NUM_INT_SOLUTIONS`

.

- MSK_DINF_MIO_OBJ_REL_GAP (27)¶
Given that the mixed-integer optimizer has computed a feasible solution and a bound on the optimal objective value, then this item contains the relative gap defined by

\[\frac{| \mbox{(objective value of feasible solution)}-\mbox{(objective bound)} | }{\max(\delta,|\mbox{(objective value of feasible solution)}|)}.\]where \(\delta\) is given by the parameter

`MSK_DPAR_MIO_REL_GAP_CONST`

. Otherwise it has the value \(-1.0\).

- MSK_DINF_MIO_PROBING_TIME (28)¶
Total time for probing.

- MSK_DINF_MIO_ROOT_CUTGEN_TIME (29)¶
Total time for cut generation.

- MSK_DINF_MIO_ROOT_OPTIMIZER_TIME (30)¶
Time spent in the contiuous optimizer while processing the root node relaxation.

- MSK_DINF_MIO_ROOT_PRESOLVE_TIME (31)¶
Time spent presolving the problem at the root node.

- MSK_DINF_MIO_ROOT_TIME (32)¶
Time spent processing the root node.

- MSK_DINF_MIO_TIME (33)¶
Time spent in the mixed-integer optimizer.

- MSK_DINF_MIO_USER_OBJ_CUT (34)¶
If the objective cut is used, then this information item has the value of the cut.

- MSK_DINF_OPTIMIZER_TIME (35)¶
Total time spent in the optimizer since it was invoked.

- MSK_DINF_PRESOLVE_ELI_TIME (36)¶
Total time spent in the eliminator since the presolve was invoked.

- MSK_DINF_PRESOLVE_LINDEP_TIME (37)¶
Total time spent in the linear dependency checker since the presolve was invoked.

- MSK_DINF_PRESOLVE_TIME (38)¶
Total time (in seconds) spent in the presolve since it was invoked.

- MSK_DINF_PRESOLVE_TOTAL_PRIMAL_PERTURBATION (39)¶
Total perturbation of the bounds of the primal problem.

- MSK_DINF_PRIMAL_REPAIR_PENALTY_OBJ (40)¶
The optimal objective value of the penalty function.

- MSK_DINF_QCQO_REFORMULATE_MAX_PERTURBATION (41)¶
Maximum absolute diagonal perturbation occurring during the QCQO reformulation.

- MSK_DINF_QCQO_REFORMULATE_TIME (42)¶
Time spent with conic quadratic reformulation.

- MSK_DINF_QCQO_REFORMULATE_WORST_CHOLESKY_COLUMN_SCALING (43)¶
Worst Cholesky column scaling.

- MSK_DINF_QCQO_REFORMULATE_WORST_CHOLESKY_DIAG_SCALING (44)¶
Worst Cholesky diagonal scaling.

- MSK_DINF_READ_DATA_TIME (45)¶
Time spent reading the data file.

- MSK_DINF_REMOTE_TIME (46)¶
The total real time in seconds spent when optimizing on a server by the process performing the optimization on the server

- MSK_DINF_SIM_DUAL_TIME (47)¶
Time spent in the dual simplex optimizer since invoking it.

- MSK_DINF_SIM_FEAS (48)¶
Feasibility measure reported by the simplex optimizer.

- MSK_DINF_SIM_OBJ (49)¶
Objective value reported by the simplex optimizer.

- MSK_DINF_SIM_PRIMAL_TIME (50)¶
Time spent in the primal simplex optimizer since invoking it.

- MSK_DINF_SIM_TIME (51)¶
Time spent in the simplex optimizer since invoking it.

- MSK_DINF_SOL_BAS_DUAL_OBJ (52)¶
Dual objective value of the basic solution. Updated if

`MSK_IPAR_AUTO_UPDATE_SOL_INFO`

is set or by the method`MSK_updatesolutioninfo`

.

- MSK_DINF_SOL_BAS_DVIOLCON (53)¶
Maximal dual bound violation for \(x^c\) in the basic solution. Updated if

`MSK_IPAR_AUTO_UPDATE_SOL_INFO`

is set or by the method`MSK_updatesolutioninfo`

.

- MSK_DINF_SOL_BAS_DVIOLVAR (54)¶
Maximal dual bound violation for \(x^x\) in the basic solution. Updated if

`MSK_IPAR_AUTO_UPDATE_SOL_INFO`

is set or by the method`MSK_updatesolutioninfo`

.

- MSK_DINF_SOL_BAS_NRM_BARX (55)¶
Infinity norm of \(\barX\) in the basic solution.

- MSK_DINF_SOL_BAS_NRM_SLC (56)¶
Infinity norm of \(s_l^c\) in the basic solution.

- MSK_DINF_SOL_BAS_NRM_SLX (57)¶
Infinity norm of \(s_l^x\) in the basic solution.

- MSK_DINF_SOL_BAS_NRM_SUC (58)¶
Infinity norm of \(s_u^c\) in the basic solution.

- MSK_DINF_SOL_BAS_NRM_SUX (59)¶
Infinity norm of \(s_u^X\) in the basic solution.

- MSK_DINF_SOL_BAS_NRM_XC (60)¶
Infinity norm of \(x^c\) in the basic solution.

- MSK_DINF_SOL_BAS_NRM_XX (61)¶
Infinity norm of \(x^x\) in the basic solution.

- MSK_DINF_SOL_BAS_NRM_Y (62)¶
Infinity norm of \(y\) in the basic solution.

- MSK_DINF_SOL_BAS_PRIMAL_OBJ (63)¶
Primal objective value of the basic solution. Updated if

`MSK_IPAR_AUTO_UPDATE_SOL_INFO`

is set or by the method`MSK_updatesolutioninfo`

.

- MSK_DINF_SOL_BAS_PVIOLCON (64)¶
Maximal primal bound violation for \(x^c\) in the basic solution. Updated if

`MSK_IPAR_AUTO_UPDATE_SOL_INFO`

is set or by the method`MSK_updatesolutioninfo`

.

- MSK_DINF_SOL_BAS_PVIOLVAR (65)¶
Maximal primal bound violation for \(x^x\) in the basic solution. Updated if

`MSK_IPAR_AUTO_UPDATE_SOL_INFO`

is set or by the method`MSK_updatesolutioninfo`

.

- MSK_DINF_SOL_ITG_NRM_BARX (66)¶
Infinity norm of \(\barX\) in the integer solution.

- MSK_DINF_SOL_ITG_NRM_XC (67)¶
Infinity norm of \(x^c\) in the integer solution.

- MSK_DINF_SOL_ITG_NRM_XX (68)¶
Infinity norm of \(x^x\) in the integer solution.

- MSK_DINF_SOL_ITG_PRIMAL_OBJ (69)¶
Primal objective value of the integer solution. Updated if

`MSK_IPAR_AUTO_UPDATE_SOL_INFO`

is set or by the method`MSK_updatesolutioninfo`

.

- MSK_DINF_SOL_ITG_PVIOLACC (70)¶
Maximal primal violation for affine conic constraints in the integer solution. Updated if

`MSK_IPAR_AUTO_UPDATE_SOL_INFO`

is set or by the method`MSK_updatesolutioninfo`

.

- MSK_DINF_SOL_ITG_PVIOLBARVAR (71)¶
Maximal primal bound violation for \(\barX\) in the integer solution. Updated if

`MSK_IPAR_AUTO_UPDATE_SOL_INFO`

is set or by the method`MSK_updatesolutioninfo`

.

- MSK_DINF_SOL_ITG_PVIOLCON (72)¶
Maximal primal bound violation for \(x^c\) in the integer solution. Updated if

`MSK_IPAR_AUTO_UPDATE_SOL_INFO`

is set or by the method`MSK_updatesolutioninfo`

.

- MSK_DINF_SOL_ITG_PVIOLCONES (73)¶
Maximal primal violation for primal conic constraints in the integer solution. Updated if

`MSK_IPAR_AUTO_UPDATE_SOL_INFO`

is set or by the method`MSK_updatesolutioninfo`

.

- MSK_DINF_SOL_ITG_PVIOLDJC (74)¶
Maximal primal violation for disjunctive constraints in the integer solution. Updated if

`MSK_IPAR_AUTO_UPDATE_SOL_INFO`

is set or by the method`MSK_updatesolutioninfo`

.

- MSK_DINF_SOL_ITG_PVIOLITG (75)¶
Maximal violation for the integer constraints in the integer solution. Updated if

`MSK_IPAR_AUTO_UPDATE_SOL_INFO`

is set or by the method`MSK_updatesolutioninfo`

.

- MSK_DINF_SOL_ITG_PVIOLVAR (76)¶
Maximal primal bound violation for \(x^x\) in the integer solution. Updated if

`MSK_IPAR_AUTO_UPDATE_SOL_INFO`

is set or by the method`MSK_updatesolutioninfo`

.

- MSK_DINF_SOL_ITR_DUAL_OBJ (77)¶
Dual objective value of the interior-point solution. Updated if

`MSK_IPAR_AUTO_UPDATE_SOL_INFO`

is set or by the method`MSK_updatesolutioninfo`

.

- MSK_DINF_SOL_ITR_DVIOLACC (78)¶
Maximal dual violation for the affine conic constraints in the interior-point solution. Updated if

`MSK_IPAR_AUTO_UPDATE_SOL_INFO`

is set or by the method`MSK_updatesolutioninfo`

.

- MSK_DINF_SOL_ITR_DVIOLBARVAR (79)¶
Maximal dual bound violation for \(\barX\) in the interior-point solution. Updated if

`MSK_IPAR_AUTO_UPDATE_SOL_INFO`

is set or by the method`MSK_updatesolutioninfo`

.

- MSK_DINF_SOL_ITR_DVIOLCON (80)¶
Maximal dual bound violation for \(x^c\) in the interior-point solution. Updated if

`MSK_IPAR_AUTO_UPDATE_SOL_INFO`

is set or by the method`MSK_updatesolutioninfo`

.

- MSK_DINF_SOL_ITR_DVIOLCONES (81)¶
Maximal dual violation for conic constraints in the interior-point solution. Updated if

`MSK_IPAR_AUTO_UPDATE_SOL_INFO`

is set or by the method`MSK_updatesolutioninfo`

.

- MSK_DINF_SOL_ITR_DVIOLVAR (82)¶
Maximal dual bound violation for \(x^x\) in the interior-point solution. Updated if

`MSK_IPAR_AUTO_UPDATE_SOL_INFO`

is set or by the method`MSK_updatesolutioninfo`

.

- MSK_DINF_SOL_ITR_NRM_BARS (83)¶
Infinity norm of \(\barS\) in the interior-point solution.

- MSK_DINF_SOL_ITR_NRM_BARX (84)¶
Infinity norm of \(\barX\) in the interior-point solution.

- MSK_DINF_SOL_ITR_NRM_SLC (85)¶
Infinity norm of \(s_l^c\) in the interior-point solution.

- MSK_DINF_SOL_ITR_NRM_SLX (86)¶
Infinity norm of \(s_l^x\) in the interior-point solution.

- MSK_DINF_SOL_ITR_NRM_SNX (87)¶
Infinity norm of \(s_n^x\) in the interior-point solution.

- MSK_DINF_SOL_ITR_NRM_SUC (88)¶
Infinity norm of \(s_u^c\) in the interior-point solution.

- MSK_DINF_SOL_ITR_NRM_SUX (89)¶
Infinity norm of \(s_u^X\) in the interior-point solution.

- MSK_DINF_SOL_ITR_NRM_XC (90)¶
Infinity norm of \(x^c\) in the interior-point solution.

- MSK_DINF_SOL_ITR_NRM_XX (91)¶
Infinity norm of \(x^x\) in the interior-point solution.

- MSK_DINF_SOL_ITR_NRM_Y (92)¶
Infinity norm of \(y\) in the interior-point solution.

- MSK_DINF_SOL_ITR_PRIMAL_OBJ (93)¶
Primal objective value of the interior-point solution. Updated if

`MSK_IPAR_AUTO_UPDATE_SOL_INFO`

is set or by the method`MSK_updatesolutioninfo`

.

- MSK_DINF_SOL_ITR_PVIOLACC (94)¶
Maximal primal violation for affine conic constraints in the interior-point solution. Updated if

`MSK_IPAR_AUTO_UPDATE_SOL_INFO`

is set or by the method`MSK_updatesolutioninfo`

.

- MSK_DINF_SOL_ITR_PVIOLBARVAR (95)¶
Maximal primal bound violation for \(\barX\) in the interior-point solution. Updated if

`MSK_IPAR_AUTO_UPDATE_SOL_INFO`

is set or by the method`MSK_updatesolutioninfo`

.

- MSK_DINF_SOL_ITR_PVIOLCON (96)¶
Maximal primal bound violation for \(x^c\) in the interior-point solution. Updated if

`MSK_IPAR_AUTO_UPDATE_SOL_INFO`

is set or by the method`MSK_updatesolutioninfo`

.

- MSK_DINF_SOL_ITR_PVIOLCONES (97)¶
Maximal primal violation for conic constraints in the interior-point solution. Updated if

`MSK_IPAR_AUTO_UPDATE_SOL_INFO`

is set or by the method`MSK_updatesolutioninfo`

.

- MSK_DINF_SOL_ITR_PVIOLVAR (98)¶
Maximal primal bound violation for \(x^x\) in the interior-point solution. Updated if

`MSK_IPAR_AUTO_UPDATE_SOL_INFO`

is set or by the method`MSK_updatesolutioninfo`

.

- MSK_DINF_TO_CONIC_TIME (99)¶
Time spent in the last to conic reformulation.

- MSK_DINF_WRITE_DATA_TIME (100)¶
Time spent writing the data file.

- MSKfeaturee¶
License feature

- MSK_FEATURE_PTS (0)¶
Base system.

- MSK_FEATURE_PTON (1)¶
Conic extension.

- MSKliinfiteme¶
Long integer information items.

- MSK_LIINF_ANA_PRO_SCALARIZED_CONSTRAINT_MATRIX_NUM_COLUMNS (0)¶
Number of columns in the scalarized constraint matrix.

- MSK_LIINF_ANA_PRO_SCALARIZED_CONSTRAINT_MATRIX_NUM_NZ (1)¶
Number of non-zero entries in the scalarized constraint matrix.

- MSK_LIINF_ANA_PRO_SCALARIZED_CONSTRAINT_MATRIX_NUM_ROWS (2)¶
Number of rows in the scalarized constraint matrix.

- MSK_LIINF_BI_CLEAN_DUAL_DEG_ITER (3)¶
Number of dual degenerate clean iterations performed in the basis identification.

- MSK_LIINF_BI_CLEAN_DUAL_ITER (4)¶
Number of dual clean iterations performed in the basis identification.

- MSK_LIINF_BI_CLEAN_PRIMAL_DEG_ITER (5)¶
Number of primal degenerate clean iterations performed in the basis identification.

- MSK_LIINF_BI_CLEAN_PRIMAL_ITER (6)¶
Number of primal clean iterations performed in the basis identification.

- MSK_LIINF_BI_DUAL_ITER (7)¶
Number of dual pivots performed in the basis identification.

- MSK_LIINF_BI_PRIMAL_ITER (8)¶
Number of primal pivots performed in the basis identification.

- MSK_LIINF_INTPNT_FACTOR_NUM_NZ (9)¶
Number of non-zeros in factorization.

- MSK_LIINF_MIO_ANZ (10)¶
Number of non-zero entries in the constraint matrix of the problem to be solved by the mixed-integer optimizer.

- MSK_LIINF_MIO_INTPNT_ITER (11)¶
Number of interior-point iterations performed by the mixed-integer optimizer.

- MSK_LIINF_MIO_NUM_DUAL_ILLPOSED_CER (12)¶
Number of dual illposed certificates encountered by the mixed-integer optimizer.

- MSK_LIINF_MIO_NUM_PRIM_ILLPOSED_CER (13)¶
Number of primal illposed certificates encountered by the mixed-integer optimizer.

- MSK_LIINF_MIO_PRESOLVED_ANZ (14)¶
Number of non-zero entries in the constraint matrix of the problem after the mixed-integer optimizer’s presolve.

- MSK_LIINF_MIO_SIMPLEX_ITER (15)¶
Number of simplex iterations performed by the mixed-integer optimizer.

- MSK_LIINF_RD_NUMACC (16)¶
Number of affince conic constraints.

- MSK_LIINF_RD_NUMANZ (17)¶
Number of non-zeros in A that is read.

- MSK_LIINF_RD_NUMDJC (18)¶
Number of disjuncive constraints.

- MSK_LIINF_RD_NUMQNZ (19)¶
Number of Q non-zeros.

- MSK_LIINF_SIMPLEX_ITER (20)¶
Number of iterations performed by the simplex optimizer.

- MSKiinfiteme¶
Integer information items.

- MSK_IINF_ANA_PRO_NUM_CON (0)¶
Number of constraints in the problem. This value is set by

`MSK_analyzeproblem`

.

- MSK_IINF_ANA_PRO_NUM_CON_EQ (1)¶
Number of equality constraints. This value is set by

`MSK_analyzeproblem`

.

- MSK_IINF_ANA_PRO_NUM_CON_FR (2)¶
Number of unbounded constraints. This value is set by

`MSK_analyzeproblem`

.

- MSK_IINF_ANA_PRO_NUM_CON_LO (3)¶
Number of constraints with a lower bound and an infinite upper bound. This value is set by

`MSK_analyzeproblem`

.

- MSK_IINF_ANA_PRO_NUM_CON_RA (4)¶
Number of constraints with finite lower and upper bounds. This value is set by

`MSK_analyzeproblem`

.

- MSK_IINF_ANA_PRO_NUM_CON_UP (5)¶
Number of constraints with an upper bound and an infinite lower bound. This value is set by

`MSK_analyzeproblem`

.

- MSK_IINF_ANA_PRO_NUM_VAR (6)¶
Number of variables in the problem. This value is set by

`MSK_analyzeproblem`

.

- MSK_IINF_ANA_PRO_NUM_VAR_BIN (7)¶
Number of binary (0-1) variables. This value is set by

`MSK_analyzeproblem`

.

- MSK_IINF_ANA_PRO_NUM_VAR_CONT (8)¶
Number of continuous variables. This value is set by

`MSK_analyzeproblem`

.

- MSK_IINF_ANA_PRO_NUM_VAR_EQ (9)¶
Number of fixed variables. This value is set by

`MSK_analyzeproblem`

.

- MSK_IINF_ANA_PRO_NUM_VAR_FR (10)¶
Number of free variables. This value is set by

`MSK_analyzeproblem`

.

- MSK_IINF_ANA_PRO_NUM_VAR_INT (11)¶
Number of general integer variables. This value is set by

`MSK_analyzeproblem`

.

- MSK_IINF_ANA_PRO_NUM_VAR_LO (12)¶
Number of variables with a lower bound and an infinite upper bound. This value is set by

`MSK_analyzeproblem`

.

- MSK_IINF_ANA_PRO_NUM_VAR_RA (13)¶
Number of variables with finite lower and upper bounds. This value is set by

`MSK_analyzeproblem`

.

- MSK_IINF_ANA_PRO_NUM_VAR_UP (14)¶
Number of variables with an upper bound and an infinite lower bound. This value is set by

`MSK_analyzeproblem`

.

- MSK_IINF_INTPNT_FACTOR_DIM_DENSE (15)¶
Dimension of the dense sub system in factorization.

- MSK_IINF_INTPNT_ITER (16)¶
Number of interior-point iterations since invoking the interior-point optimizer.

- MSK_IINF_INTPNT_NUM_THREADS (17)¶
Number of threads that the interior-point optimizer is using.

- MSK_IINF_INTPNT_SOLVE_DUAL (18)¶
Non-zero if the interior-point optimizer is solving the dual problem.

- MSK_IINF_MIO_ABSGAP_SATISFIED (19)¶
Non-zero if absolute gap is within tolerances.

- MSK_IINF_MIO_CLIQUE_TABLE_SIZE (20)¶
Size of the clique table.

- MSK_IINF_MIO_CONSTRUCT_SOLUTION (21)¶
This item informs if

**MOSEK**constructed an initial integer feasible solution.-1: tried, but failed,

0: no partial solution supplied by the user,

1: constructed feasible solution.

- MSK_IINF_MIO_INITIAL_FEASIBLE_SOLUTION (22)¶
This item informs if

**MOSEK**found the solution provided by the user to be feasible0: solution provided by the user was not found to be feasible for the current problem,

1: user provided solution was found to be feasible.

- MSK_IINF_MIO_NODE_DEPTH (23)¶
Depth of the last node solved.

- MSK_IINF_MIO_NUM_ACTIVE_NODES (24)¶
Number of active branch and bound nodes.

- MSK_IINF_MIO_NUM_BRANCH (25)¶
Number of branches performed during the optimization.

- MSK_IINF_MIO_NUM_CLIQUE_CUTS (26)¶
Number of clique cuts.

- MSK_IINF_MIO_NUM_CMIR_CUTS (27)¶
Number of Complemented Mixed Integer Rounding (CMIR) cuts.

- MSK_IINF_MIO_NUM_GOMORY_CUTS (28)¶
Number of Gomory cuts.

- MSK_IINF_MIO_NUM_IMPLIED_BOUND_CUTS (29)¶
Number of implied bound cuts.

- MSK_IINF_MIO_NUM_INT_SOLUTIONS (30)¶
Number of integer feasible solutions that have been found.

- MSK_IINF_MIO_NUM_KNAPSACK_COVER_CUTS (31)¶
Number of clique cuts.

- MSK_IINF_MIO_NUM_LIPRO_CUTS (32)¶
Number of lift-and-project cuts.

- MSK_IINF_MIO_NUM_RELAX (33)¶
Number of relaxations solved during the optimization.

- MSK_IINF_MIO_NUM_REPEATED_PRESOLVE (34)¶
Number of times presolve was repeated at root.

- MSK_IINF_MIO_NUMBIN (35)¶
Number of binary variables in the problem to be solved by the mixed-integer optimizer.

- MSK_IINF_MIO_NUMBINCONEVAR (36)¶
Number of binary cone variables in the problem to be solved by the mixed-integer optimizer.

- MSK_IINF_MIO_NUMCON (37)¶
Number of constraints in the problem to be solved by the mixed-integer optimizer.

- MSK_IINF_MIO_NUMCONE (38)¶
Number of cones in the problem to be solved by the mixed-integer optimizer.

- MSK_IINF_MIO_NUMCONEVAR (39)¶
Number of cone variables in the problem to be solved by the mixed-integer optimizer.

- MSK_IINF_MIO_NUMCONT (40)¶
Number of continuous variables in the problem to be solved by the mixed-integer optimizer.

- MSK_IINF_MIO_NUMCONTCONEVAR (41)¶
Number of continuous cone variables in the problem to be solved by the mixed-integer optimizer.

- MSK_IINF_MIO_NUMDEXPCONES (42)¶
Number of dual exponential cones in the problem to be solved by the mixed-integer optimizer.

- MSK_IINF_MIO_NUMDJC (43)¶
Number of disjunctive constraints in the problem to be solved by the mixed-integer optimizer.

- MSK_IINF_MIO_NUMDPOWCONES (44)¶
Number of dual power cones in the problem to be solved by the mixed-integer optimizer.

- MSK_IINF_MIO_NUMINT (45)¶
Number of integer variables in the problem to be solved by the mixed-integer optimizer.

- MSK_IINF_MIO_NUMINTCONEVAR (46)¶
Number of integer cone variables in the problem to be solved by the mixed-integer optimizer.

- MSK_IINF_MIO_NUMPEXPCONES (47)¶
Number of primal exponential cones in the problem to be solved by the mixed-integer optimizer.

- MSK_IINF_MIO_NUMPPOWCONES (48)¶
Number of primal power cones in the problem to be solved by the mixed-integer optimizer.

- MSK_IINF_MIO_NUMQCONES (49)¶
Number of quadratic cones in the problem to be solved by the mixed-integer optimizer.

- MSK_IINF_MIO_NUMRQCONES (50)¶
Number of rotated quadratic cones in the problem to be solved by the mixed-integer optimizer.

- MSK_IINF_MIO_NUMVAR (51)¶
Number of variables in the problem to be solved by the mixed-integer optimizer.

- MSK_IINF_MIO_OBJ_BOUND_DEFINED (52)¶
Non-zero if a valid objective bound has been found, otherwise zero.

- MSK_IINF_MIO_PRESOLVED_NUMBIN (53)¶
Number of binary variables in the problem after the mixed-integer optimizer’s presolve.

- MSK_IINF_MIO_PRESOLVED_NUMBINCONEVAR (54)¶
Number of binary cone variables in the problem after the mixed-integer optimizer’s presolve.

- MSK_IINF_MIO_PRESOLVED_NUMCON (55)¶
Number of constraints in the problem after the mixed-integer optimizer’s presolve.

- MSK_IINF_MIO_PRESOLVED_NUMCONE (56)¶
Number of cones in the problem after the mixed-integer optimizer’s presolve.

- MSK_IINF_MIO_PRESOLVED_NUMCONEVAR (57)¶
Number of cone variables in the problem after the mixed-integer optimizer’s presolve.

- MSK_IINF_MIO_PRESOLVED_NUMCONT (58)¶
Number of continuous variables in the problem after the mixed-integer optimizer’s presolve.

- MSK_IINF_MIO_PRESOLVED_NUMCONTCONEVAR (59)¶
Number of continuous cone variables in the problem after the mixed-integer optimizer’s presolve.

- MSK_IINF_MIO_PRESOLVED_NUMDEXPCONES (60)¶
Number of dual exponential cones in the problem after the mixed-integer optimizer’s presolve.

- MSK_IINF_MIO_PRESOLVED_NUMDJC (61)¶
Number of disjunctive constraints in the problem after the mixed-integer optimizer’s presolve.

- MSK_IINF_MIO_PRESOLVED_NUMDPOWCONES (62)¶
Number of dual power cones in the problem after the mixed-integer optimizer’s presolve.

- MSK_IINF_MIO_PRESOLVED_NUMINT (63)¶
Number of integer variables in the problem after the mixed-integer optimizer’s presolve.

- MSK_IINF_MIO_PRESOLVED_NUMINTCONEVAR (64)¶
Number of integer cone variables in the problem after the mixed-integer optimizer’s presolve.

- MSK_IINF_MIO_PRESOLVED_NUMPEXPCONES (65)¶
Number of primal exponential cones in the problem after the mixed-integer optimizer’s presolve.

- MSK_IINF_MIO_PRESOLVED_NUMPPOWCONES (66)¶
Number of primal power cones in the problem after the mixed-integer optimizer’s presolve.

- MSK_IINF_MIO_PRESOLVED_NUMQCONES (67)¶
Number of quadratic cones in the problem after the mixed-integer optimizer’s presolve.

- MSK_IINF_MIO_PRESOLVED_NUMRQCONES (68)¶
Number of rotated quadratic cones in the problem after the mixed-integer optimizer’s presolve.

- MSK_IINF_MIO_PRESOLVED_NUMVAR (69)¶
Number of variables in the problem after the mixed-integer optimizer’s presolve.

- MSK_IINF_MIO_RELGAP_SATISFIED (70)¶
Non-zero if relative gap is within tolerances.

- MSK_IINF_MIO_TOTAL_NUM_CUTS (71)¶
Total number of cuts generated by the mixed-integer optimizer.

- MSK_IINF_MIO_USER_OBJ_CUT (72)¶
If it is non-zero, then the objective cut is used.

- MSK_IINF_OPT_NUMCON (73)¶
Number of constraints in the problem solved when the optimizer is called.

- MSK_IINF_OPT_NUMVAR (74)¶
Number of variables in the problem solved when the optimizer is called

- MSK_IINF_OPTIMIZE_RESPONSE (75)¶
The response code returned by optimize.

- MSK_IINF_PRESOLVE_NUM_PRIMAL_PERTURBATIONS (76)¶
Number perturbations to thhe bounds of the primal problem.

- MSK_IINF_PURIFY_DUAL_SUCCESS (77)¶
Is nonzero if the dual solution is purified.

- MSK_IINF_PURIFY_PRIMAL_SUCCESS (78)¶
Is nonzero if the primal solution is purified.

- MSK_IINF_RD_NUMBARVAR (79)¶
Number of symmetric variables read.

- MSK_IINF_RD_NUMCON (80)¶
Number of constraints read.

- MSK_IINF_RD_NUMCONE (81)¶
Number of conic constraints read.

- MSK_IINF_RD_NUMINTVAR (82)¶
Number of integer-constrained variables read.

- MSK_IINF_RD_NUMQ (83)¶
Number of nonempty Q matrices read.

- MSK_IINF_RD_NUMVAR (84)¶
Number of variables read.

- MSK_IINF_RD_PROTYPE (85)¶
Problem type.

- MSK_IINF_SIM_DUAL_DEG_ITER (86)¶
The number of dual degenerate iterations.

- MSK_IINF_SIM_DUAL_HOTSTART (87)¶
If 1 then the dual simplex algorithm is solving from an advanced basis.

- MSK_IINF_SIM_DUAL_HOTSTART_LU (88)¶
If 1 then a valid basis factorization of full rank was located and used by the dual simplex algorithm.

- MSK_IINF_SIM_DUAL_INF_ITER (89)¶
The number of iterations taken with dual infeasibility.

- MSK_IINF_SIM_DUAL_ITER (90)¶
Number of dual simplex iterations during the last optimization.

- MSK_IINF_SIM_NUMCON (91)¶
Number of constraints in the problem solved by the simplex optimizer.

- MSK_IINF_SIM_NUMVAR (92)¶
Number of variables in the problem solved by the simplex optimizer.

- MSK_IINF_SIM_PRIMAL_DEG_ITER (93)¶
The number of primal degenerate iterations.

- MSK_IINF_SIM_PRIMAL_HOTSTART (94)¶
If 1 then the primal simplex algorithm is solving from an advanced basis.

- MSK_IINF_SIM_PRIMAL_HOTSTART_LU (95)¶
If 1 then a valid basis factorization of full rank was located and used by the primal simplex algorithm.

- MSK_IINF_SIM_PRIMAL_INF_ITER (96)¶
The number of iterations taken with primal infeasibility.

- MSK_IINF_SIM_PRIMAL_ITER (97)¶
Number of primal simplex iterations during the last optimization.

- MSK_IINF_SIM_SOLVE_DUAL (98)¶
Is non-zero if dual problem is solved.

- MSK_IINF_SOL_BAS_PROSTA (99)¶
Problem status of the basic solution. Updated after each optimization.

- MSK_IINF_SOL_BAS_SOLSTA (100)¶
Solution status of the basic solution. Updated after each optimization.

- MSK_IINF_SOL_ITG_PROSTA (101)¶
Problem status of the integer solution. Updated after each optimization.

- MSK_IINF_SOL_ITG_SOLSTA (102)¶
Solution status of the integer solution. Updated after each optimization.

- MSK_IINF_SOL_ITR_PROSTA (103)¶
Problem status of the interior-point solution. Updated after each optimization.

- MSK_IINF_SOL_ITR_SOLSTA (104)¶
Solution status of the interior-point solution. Updated after each optimization.

- MSK_IINF_STO_NUM_A_REALLOC (105)¶
Number of times the storage for storing \(A\) has been changed. A large value may indicates that memory fragmentation may occur.

- MSKinftypee¶
Information item types

- MSK_INF_DOU_TYPE (0)¶
Is a double information type.

- MSK_INF_INT_TYPE (1)¶
Is an integer.

- MSK_INF_LINT_TYPE (2)¶
Is a long integer.

- MSKiomodee¶
Input/output modes

- MSK_IOMODE_READ (0)¶
The file is read-only.

- MSK_IOMODE_WRITE (1)¶
The file is write-only. If the file exists then it is truncated when it is opened. Otherwise it is created when it is opened.

- MSK_IOMODE_READWRITE (2)¶
The file is to read and write.

- MSKbranchdire¶
Specifies the branching direction.

- MSK_BRANCH_DIR_FREE (0)¶
The mixed-integer optimizer decides which branch to choose.

- MSK_BRANCH_DIR_UP (1)¶
The mixed-integer optimizer always chooses the up branch first.

- MSK_BRANCH_DIR_DOWN (2)¶
The mixed-integer optimizer always chooses the down branch first.

- MSK_BRANCH_DIR_NEAR (3)¶
Branch in direction nearest to selected fractional variable.

- MSK_BRANCH_DIR_FAR (4)¶
Branch in direction farthest from selected fractional variable.

- MSK_BRANCH_DIR_ROOT_LP (5)¶
Chose direction based on root lp value of selected variable.

- MSK_BRANCH_DIR_GUIDED (6)¶
Branch in direction of current incumbent.

- MSK_BRANCH_DIR_PSEUDOCOST (7)¶
Branch based on the pseudocost of the variable.

- MSKmiqcqoreformmethode¶
Specifies the reformulation method for mixed-integer quadratic problems.

- MSK_MIO_QCQO_REFORMULATION_METHOD_FREE (0)¶
The mixed-integer optimizer decides which reformulation method to apply.

- MSK_MIO_QCQO_REFORMULATION_METHOD_NONE (1)¶
No reformulation method is applied.

- MSK_MIO_QCQO_REFORMULATION_METHOD_LINEARIZATION (2)¶
A reformulation via linearization is applied.

- MSK_MIO_QCQO_REFORMULATION_METHOD_EIGEN_VAL_METHOD (3)¶
The eigenvalue method is applied.

- MSK_MIO_QCQO_REFORMULATION_METHOD_DIAG_SDP (4)¶
A perturbation of matrix diagonals via the solution of SDPs is applied.

- MSK_MIO_QCQO_REFORMULATION_METHOD_RELAX_SDP (5)¶
A Reformulation based on the solution of an SDP-relaxation of the problem is applied.

- MSKmiodatapermmethode¶
Specifies the problem data permutation method for mixed-integer problems.

- MSK_MIO_DATA_PERMUTATION_METHOD_NONE (0)¶
No problem data permutation is applied.

- MSK_MIO_DATA_PERMUTATION_METHOD_CYCLIC_SHIFT (1)¶
A random cyclic shift is applied to permute the problem data.

- MSK_MIO_DATA_PERMUTATION_METHOD_RANDOM (2)¶
A random permutation is applied to the problem data.

- MSKmiocontsoltypee¶
Continuous mixed-integer solution type

- MSK_MIO_CONT_SOL_NONE (0)¶
No interior-point or basic solution are reported when the mixed-integer optimizer is used.

- MSK_MIO_CONT_SOL_ROOT (1)¶
The reported interior-point and basic solutions are a solution to the root node problem when mixed-integer optimizer is used.

- MSK_MIO_CONT_SOL_ITG (2)¶
The reported interior-point and basic solutions are a solution to the problem with all integer variables fixed at the value they have in the integer solution. A solution is only reported in case the problem has a primal feasible solution.

- MSK_MIO_CONT_SOL_ITG_REL (3)¶
In case the problem is primal feasible then the reported interior-point and basic solutions are a solution to the problem with all integer variables fixed at the value they have in the integer solution. If the problem is primal infeasible, then the solution to the root node problem is reported.

- MSKmiomodee¶
Integer restrictions

- MSK_MIO_MODE_IGNORED (0)¶
The integer constraints are ignored and the problem is solved as a continuous problem.

- MSK_MIO_MODE_SATISFIED (1)¶
Integer restrictions should be satisfied.

- MSKmionodeseltypee¶
Mixed-integer node selection types

- MSK_MIO_NODE_SELECTION_FREE (0)¶
The optimizer decides the node selection strategy.

- MSK_MIO_NODE_SELECTION_FIRST (1)¶
The optimizer employs a depth first node selection strategy.

- MSK_MIO_NODE_SELECTION_BEST (2)¶
The optimizer employs a best bound node selection strategy.

- MSK_MIO_NODE_SELECTION_PSEUDO (3)¶
The optimizer employs selects the node based on a pseudo cost estimate.

- MSKmpsformate¶
MPS file format type

- MSK_MPS_FORMAT_STRICT (0)¶
It is assumed that the input file satisfies the MPS format strictly.

- MSK_MPS_FORMAT_RELAXED (1)¶
It is assumed that the input file satisfies a slightly relaxed version of the MPS format.

- MSK_MPS_FORMAT_FREE (2)¶
It is assumed that the input file satisfies the free MPS format. This implies that spaces are not allowed in names. Otherwise the format is free.

- MSK_MPS_FORMAT_CPLEX (3)¶
The CPLEX compatible version of the MPS format is employed.

- MSKobjsensee¶
Objective sense types

- MSK_OBJECTIVE_SENSE_MINIMIZE (0)¶
The problem should be minimized.

- MSK_OBJECTIVE_SENSE_MAXIMIZE (1)¶
The problem should be maximized.

- MSKoptimizertypee¶
Optimizer types

- MSK_OPTIMIZER_CONIC (0)¶
The optimizer for problems having conic constraints.

- MSK_OPTIMIZER_DUAL_SIMPLEX (1)¶
The dual simplex optimizer is used.

- MSK_OPTIMIZER_FREE (2)¶
The optimizer is chosen automatically.

- MSK_OPTIMIZER_FREE_SIMPLEX (3)¶
One of the simplex optimizers is used.

- MSK_OPTIMIZER_INTPNT (4)¶
The interior-point optimizer is used.

- MSK_OPTIMIZER_MIXED_INT (5)¶
The mixed-integer optimizer.

- MSK_OPTIMIZER_PRIMAL_SIMPLEX (6)¶
The primal simplex optimizer is used.

- MSKorderingtypee¶
Ordering strategies

- MSK_ORDER_METHOD_FREE (0)¶
The ordering method is chosen automatically.

- MSK_ORDER_METHOD_APPMINLOC (1)¶
Approximate minimum local fill-in ordering is employed.

- MSK_ORDER_METHOD_EXPERIMENTAL (2)¶
This option should not be used.

- MSK_ORDER_METHOD_TRY_GRAPHPAR (3)¶
Always try the graph partitioning based ordering.

- MSK_ORDER_METHOD_FORCE_GRAPHPAR (4)¶
Always use the graph partitioning based ordering even if it is worse than the approximate minimum local fill ordering.

- MSK_ORDER_METHOD_NONE (5)¶
No ordering is used.

- MSKpresolvemodee¶
Presolve method.

- MSK_PRESOLVE_MODE_OFF (0)¶
The problem is not presolved before it is optimized.

- MSK_PRESOLVE_MODE_ON (1)¶
The problem is presolved before it is optimized.

- MSK_PRESOLVE_MODE_FREE (2)¶
It is decided automatically whether to presolve before the problem is optimized.

- MSKparametertypee¶
Parameter type

- MSK_PAR_INVALID_TYPE (0)¶
Not a valid parameter.

- MSK_PAR_DOU_TYPE (1)¶
Is a double parameter.

- MSK_PAR_INT_TYPE (2)¶
Is an integer parameter.

- MSK_PAR_STR_TYPE (3)¶
Is a string parameter.

- MSKproblemiteme¶
Problem data items

- MSK_PI_VAR (0)¶
Item is a variable.

- MSK_PI_CON (1)¶
Item is a constraint.

- MSK_PI_CONE (2)¶
Item is a cone.

- MSKproblemtypee¶
Problem types

- MSK_PROBTYPE_LO (0)¶
The problem is a linear optimization problem.

- MSK_PROBTYPE_QO (1)¶
The problem is a quadratic optimization problem.

- MSK_PROBTYPE_QCQO (2)¶
The problem is a quadratically constrained optimization problem.

- MSK_PROBTYPE_CONIC (3)¶
A conic optimization.

- MSK_PROBTYPE_MIXED (4)¶
General nonlinear constraints and conic constraints. This combination can not be solved by

**MOSEK**.

- MSKprostae¶
Problem status keys

- MSK_PRO_STA_UNKNOWN (0)¶
Unknown problem status.

- MSK_PRO_STA_PRIM_AND_DUAL_FEAS (1)¶
The problem is primal and dual feasible.

- MSK_PRO_STA_PRIM_FEAS (2)¶
The problem is primal feasible.

- MSK_PRO_STA_DUAL_FEAS (3)¶
The problem is dual feasible.

- MSK_PRO_STA_PRIM_INFEAS (4)¶
The problem is primal infeasible.

- MSK_PRO_STA_DUAL_INFEAS (5)¶
The problem is dual infeasible.

- MSK_PRO_STA_PRIM_AND_DUAL_INFEAS (6)¶
The problem is primal and dual infeasible.

- MSK_PRO_STA_ILL_POSED (7)¶
The problem is ill-posed. For example, it may be primal and dual feasible but have a positive duality gap.

- MSK_PRO_STA_PRIM_INFEAS_OR_UNBOUNDED (8)¶
The problem is either primal infeasible or unbounded. This may occur for mixed-integer problems.

- MSKxmlwriteroutputtypee¶
XML writer output mode

- MSK_WRITE_XML_MODE_ROW (0)¶
Write in row order.

- MSK_WRITE_XML_MODE_COL (1)¶
Write in column order.

- MSKrescodetypee¶
Response code type

- MSK_RESPONSE_OK (0)¶
The response code is OK.

- MSK_RESPONSE_WRN (1)¶
The response code is a warning.

- MSK_RESPONSE_TRM (2)¶
The response code is an optimizer termination status.

- MSK_RESPONSE_ERR (3)¶
The response code is an error.

- MSK_RESPONSE_UNK (4)¶
The response code does not belong to any class.

- MSKscalingtypee¶
Scaling type

- MSK_SCALING_FREE (0)¶
The optimizer chooses the scaling heuristic.

- MSK_SCALING_NONE (1)¶
No scaling is performed.

- MSKscalingmethode¶
Scaling method

- MSK_SCALING_METHOD_POW2 (0)¶
Scales only with power of 2 leaving the mantissa untouched.

- MSK_SCALING_METHOD_FREE (1)¶
The optimizer chooses the scaling heuristic.

- MSKsensitivitytypee¶
Sensitivity types

- MSK_SENSITIVITY_TYPE_BASIS (0)¶
Basis sensitivity analysis is performed.

- MSKsimseltypee¶
Simplex selection strategy

- MSK_SIM_SELECTION_FREE (0)¶
The optimizer chooses the pricing strategy.

- MSK_SIM_SELECTION_FULL (1)¶
The optimizer uses full pricing.

- MSK_SIM_SELECTION_ASE (2)¶
The optimizer uses approximate steepest-edge pricing.

- MSK_SIM_SELECTION_DEVEX (3)¶
The optimizer uses devex steepest-edge pricing (or if it is not available an approximate steep-edge selection).

- MSK_SIM_SELECTION_SE (4)¶
The optimizer uses steepest-edge selection (or if it is not available an approximate steep-edge selection).

- MSK_SIM_SELECTION_PARTIAL (5)¶
The optimizer uses a partial selection approach. The approach is usually beneficial if the number of variables is much larger than the number of constraints.

- MSKsoliteme¶
Solution items

- MSK_SOL_ITEM_XC (0)¶
Solution for the constraints.

- MSK_SOL_ITEM_XX (1)¶
Variable solution.

- MSK_SOL_ITEM_Y (2)¶
Lagrange multipliers for equations.

- MSK_SOL_ITEM_SLC (3)¶
Lagrange multipliers for lower bounds on the constraints.

- MSK_SOL_ITEM_SUC (4)¶
Lagrange multipliers for upper bounds on the constraints.

- MSK_SOL_ITEM_SLX (5)¶
Lagrange multipliers for lower bounds on the variables.

- MSK_SOL_ITEM_SUX (6)¶
Lagrange multipliers for upper bounds on the variables.

- MSK_SOL_ITEM_SNX (7)¶
Lagrange multipliers corresponding to the conic constraints on the variables.

- MSKsolstae¶
Solution status keys

- MSK_SOL_STA_UNKNOWN (0)¶
Status of the solution is unknown.

- MSK_SOL_STA_OPTIMAL (1)¶
The solution is optimal.

- MSK_SOL_STA_PRIM_FEAS (2)¶
The solution is primal feasible.

- MSK_SOL_STA_DUAL_FEAS (3)¶
The solution is dual feasible.

- MSK_SOL_STA_PRIM_AND_DUAL_FEAS (4)¶
The solution is both primal and dual feasible.

- MSK_SOL_STA_PRIM_INFEAS_CER (5)¶
The solution is a certificate of primal infeasibility.

- MSK_SOL_STA_DUAL_INFEAS_CER (6)¶
The solution is a certificate of dual infeasibility.

- MSK_SOL_STA_PRIM_ILLPOSED_CER (7)¶
The solution is a certificate that the primal problem is illposed.

- MSK_SOL_STA_DUAL_ILLPOSED_CER (8)¶
The solution is a certificate that the dual problem is illposed.

- MSK_SOL_STA_INTEGER_OPTIMAL (9)¶
The primal solution is integer optimal.

- MSKsoltypee¶
Solution types

- MSK_SOL_BAS (1)¶
The basic solution.

- MSK_SOL_ITR (0)¶
The interior solution.

- MSK_SOL_ITG (2)¶
The integer solution.

- MSKsolveforme¶
Solve primal or dual form

- MSK_SOLVE_FREE (0)¶
The optimizer is free to solve either the primal or the dual problem.

- MSK_SOLVE_PRIMAL (1)¶
The optimizer should solve the primal problem.

- MSK_SOLVE_DUAL (2)¶
The optimizer should solve the dual problem.

- MSKstakeye¶
Status keys

- MSK_SK_UNK (0)¶
The status for the constraint or variable is unknown.

- MSK_SK_BAS (1)¶
The constraint or variable is in the basis.

- MSK_SK_SUPBAS (2)¶
The constraint or variable is super basic.

- MSK_SK_LOW (3)¶
The constraint or variable is at its lower bound.

- MSK_SK_UPR (4)¶
The constraint or variable is at its upper bound.

- MSK_SK_FIX (5)¶
The constraint or variable is fixed.

- MSK_SK_INF (6)¶
The constraint or variable is infeasible in the bounds.

- MSKstartpointtypee¶
Starting point types

- MSK_STARTING_POINT_FREE (0)¶
The starting point is chosen automatically.

- MSK_STARTING_POINT_GUESS (1)¶
The optimizer guesses a starting point.

- MSK_STARTING_POINT_CONSTANT (2)¶
The optimizer constructs a starting point by assigning a constant value to all primal and dual variables. This starting point is normally robust.

- MSK_STARTING_POINT_SATISFY_BOUNDS (3)¶
The starting point is chosen to satisfy all the simple bounds on nonlinear variables. If this starting point is employed, then more care than usual should employed when choosing the bounds on the nonlinear variables. In particular very tight bounds should be avoided.

- MSKstreamtypee¶
Stream types

- MSK_STREAM_LOG (0)¶
Log stream. Contains the aggregated contents of all other streams. This means that a message written to any other stream will also be written to this stream.

- MSK_STREAM_MSG (1)¶
Message stream. Log information relating to performance and progress of the optimization is written to this stream.

- MSK_STREAM_ERR (2)¶
Error stream. Error messages are written to this stream.

- MSK_STREAM_WRN (3)¶
Warning stream. Warning messages are written to this stream.