# 16.7 Enumerations¶

MSKlanguagee

Language selection constants

MSK_LANG_ENG (0)

English language selection

MSK_LANG_DAN (1)

Danish language selection

MSKaccmodee

Constraint or variable access modes. All functions using this enum are deprecated. Use separate functions for rows/columns instead.

MSK_ACC_VAR (0)

Access data by columns (variable oriented)

MSK_ACC_CON (1)

Access data by rows (constraint oriented)

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.

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_FULL_CONVEXITY_CHECK (7)

Begin full convexity check.

MSK_CALLBACK_BEGIN_INFEAS_ANA (8)

The callback function is called when the infeasibility analyzer is started.

MSK_CALLBACK_BEGIN_INTPNT (9)

The callback function is called when the interior-point optimizer is started.

MSK_CALLBACK_BEGIN_LICENSE_WAIT (10)

MSK_CALLBACK_BEGIN_MIO (11)

The callback function is called when the mixed-integer optimizer is started.

MSK_CALLBACK_BEGIN_OPTIMIZER (12)

The callback function is called when the optimizer is started.

MSK_CALLBACK_BEGIN_PRESOLVE (13)

The callback function is called when the presolve is started.

MSK_CALLBACK_BEGIN_PRIMAL_BI (14)

The callback function is called from within the basis identification procedure when the primal phase is started.

MSK_CALLBACK_BEGIN_PRIMAL_REPAIR (15)

Begin primal feasibility repair.

MSK_CALLBACK_BEGIN_PRIMAL_SENSITIVITY (16)

Primal sensitivity analysis is started.

MSK_CALLBACK_BEGIN_PRIMAL_SETUP_BI (17)

The callback function is called when the primal BI setup is started.

MSK_CALLBACK_BEGIN_PRIMAL_SIMPLEX (18)

The callback function is called when the primal simplex optimizer is started.

MSK_CALLBACK_BEGIN_PRIMAL_SIMPLEX_BI (19)

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 (20)

Begin QCQO reformulation.

MSK_CALLBACK_BEGIN_READ (21)

MOSEK has started reading a problem file.

MSK_CALLBACK_BEGIN_ROOT_CUTGEN (22)

The callback function is called when root cut generation is started.

MSK_CALLBACK_BEGIN_SIMPLEX (23)

The callback function is called when the simplex optimizer is started.

MSK_CALLBACK_BEGIN_SIMPLEX_BI (24)

The callback function is called from within the basis identification procedure when the simplex clean-up phase 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_FULL_CONVEXITY_CHECK (36)

End full convexity check.

MSK_CALLBACK_END_INFEAS_ANA (37)

The callback function is called when the infeasibility analyzer is terminated.

MSK_CALLBACK_END_INTPNT (38)

The callback function is called when the interior-point optimizer is terminated.

MSK_CALLBACK_END_LICENSE_WAIT (39)

MSK_CALLBACK_END_MIO (40)

The callback function is called when the mixed-integer optimizer is terminated.

MSK_CALLBACK_END_OPTIMIZER (41)

The callback function is called when the optimizer is terminated.

MSK_CALLBACK_END_PRESOLVE (42)

The callback function is called when the presolve is completed.

MSK_CALLBACK_END_PRIMAL_BI (43)

The callback function is called from within the basis identification procedure when the primal phase is terminated.

MSK_CALLBACK_END_PRIMAL_REPAIR (44)

End primal feasibility repair.

MSK_CALLBACK_END_PRIMAL_SENSITIVITY (45)

Primal sensitivity analysis is terminated.

MSK_CALLBACK_END_PRIMAL_SETUP_BI (46)

The callback function is called when the primal BI setup is terminated.

MSK_CALLBACK_END_PRIMAL_SIMPLEX (47)

The callback function is called when the primal simplex optimizer is terminated.

MSK_CALLBACK_END_PRIMAL_SIMPLEX_BI (48)

The callback function is called from within the basis identification procedure when the primal clean-up phase is terminated.

MSK_CALLBACK_END_QCQO_REFORMULATE (49)

End QCQO reformulation.

MSK_CALLBACK_END_READ (50)

MOSEK has finished reading a problem file.

MSK_CALLBACK_END_ROOT_CUTGEN (51)

The callback function is called when root cut generation is is terminated.

MSK_CALLBACK_END_SIMPLEX (52)

The callback function is called when the simplex optimizer is terminated.

MSK_CALLBACK_END_SIMPLEX_BI (53)

The callback function is called from within the basis identification procedure when the simplex clean-up phase 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_FULL_CONVEXITY_CHECK (61)

The callback function is called at an intermediate stage of the full convexity check.

MSK_CALLBACK_IM_INTPNT (62)

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 (63)

MOSEK is waiting for a license.

MSK_CALLBACK_IM_LU (64)

The callback function is called from within the LU factorization procedure at an intermediate point.

MSK_CALLBACK_IM_MIO (65)

The callback function is called at an intermediate point in the mixed-integer optimizer.

MSK_CALLBACK_IM_MIO_DUAL_SIMPLEX (66)

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 (67)

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 (68)

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

MSK_CALLBACK_IM_ORDER (69)

The callback function is called from within the matrix ordering procedure at an intermediate point.

MSK_CALLBACK_IM_PRESOLVE (70)

The callback function is called from within the presolve procedure at an intermediate stage.

MSK_CALLBACK_IM_PRIMAL_BI (71)

The callback function is called from within the basis identification procedure at an intermediate point in the primal phase.

MSK_CALLBACK_IM_PRIMAL_SENSIVITY (72)

The callback function is called at an intermediate stage of the primal sensitivity analysis.

MSK_CALLBACK_IM_PRIMAL_SIMPLEX (73)

The callback function is called at an intermediate point in the primal simplex optimizer.

MSK_CALLBACK_IM_QO_REFORMULATE (74)

The callback function is called at an intermediate stage of the conic quadratic reformulation.

MSK_CALLBACK_IM_READ (75)

MSK_CALLBACK_IM_ROOT_CUTGEN (76)

The callback is called from within root cut generation at an intermediate stage.

MSK_CALLBACK_IM_SIMPLEX (77)

The callback function is called from within the simplex optimizer at an intermediate point.

MSK_CALLBACK_IM_SIMPLEX_BI (78)

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 (79)

The callback function is called from within the interior-point optimizer after the information database has been updated.

MSK_CALLBACK_NEW_INT_MIO (80)

The callback function is called after a new integer solution has been located by the mixed-integer optimizer.

MSK_CALLBACK_PRIMAL_SIMPLEX (81)

The callback function is called from within the primal simplex optimizer.

MSK_CALLBACK_READ_OPF (82)

The callback function is called from the OPF reader.

MSK_CALLBACK_READ_OPF_SECTION (83)

A chunk of $$Q$$ non-zeros has been read from a problem file.

MSK_CALLBACK_SOLVING_REMOTE (84)

The callback function is called while the task is being solved on a remote server.

MSK_CALLBACK_UPDATE_DUAL_BI (85)

The callback function is called from within the basis identification procedure at an intermediate point in the dual phase.

MSK_CALLBACK_UPDATE_DUAL_SIMPLEX (86)

The callback function is called in the dual simplex optimizer.

MSK_CALLBACK_UPDATE_DUAL_SIMPLEX_BI (87)

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 (88)

The callback function is called from within the presolve procedure.

MSK_CALLBACK_UPDATE_PRIMAL_BI (89)

The callback function is called from within the basis identification procedure at an intermediate point in the primal phase.

MSK_CALLBACK_UPDATE_PRIMAL_SIMPLEX (90)

The callback function is called in the primal simplex optimizer.

MSK_CALLBACK_UPDATE_PRIMAL_SIMPLEX_BI (91)

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_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.

MSKconetypee

Cone types

MSK_CT_QUAD (0)

The cone is a quadratic cone.

MSK_CT_RQUAD (1)

The cone is a rotated quadratic 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.

MSKsymmattypee

Cone types

MSK_SYMMAT_TYPE_SPARSE (0)

Sparse symmetric matrix.

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_XML (4)

The data file is an XML formatted file.

MSK_DATA_FORMAT_FREE_MPS (5)

The data a free MPS formatted file.

MSK_DATA_FORMAT_TASK (6)

MSK_DATA_FORMAT_CB (7)

Conic benchmark format,

MSK_DATA_FORMAT_JSON_TASK (8)

MSKdinfiteme

Double information items

MSK_DINF_BI_CLEAN_DUAL_TIME (0)

Time spent within the dual clean-up optimizer of the basis identification procedure since its invocation.

MSK_DINF_BI_CLEAN_PRIMAL_TIME (1)

Time spent within the primal clean-up optimizer of the basis identification procedure since its invocation.

MSK_DINF_BI_CLEAN_TIME (2)

Time spent within the clean-up phase of the basis identification procedure since its invocation.

MSK_DINF_BI_DUAL_TIME (3)

Time spent within the dual phase basis identification procedure since its invocation.

MSK_DINF_BI_PRIMAL_TIME (4)

Time spent within the primal phase of the basis identification procedure since its invocation.

MSK_DINF_BI_TIME (5)

Time spent within the basis identification procedure since its invocation.

MSK_DINF_INTPNT_DUAL_FEAS (6)

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 (7)

Dual objective value reported by the interior-point optimizer.

MSK_DINF_INTPNT_FACTOR_NUM_FLOPS (8)

An estimate of the number of flops used in the factorization.

MSK_DINF_INTPNT_OPT_STATUS (9)

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 (10)

Order time (in seconds).

MSK_DINF_INTPNT_PRIMAL_FEAS (11)

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 (12)

Primal objective value reported by the interior-point optimizer.

MSK_DINF_INTPNT_TIME (13)

Time spent within the interior-point optimizer since its invocation.

MSK_DINF_MIO_CLIQUE_SEPARATION_TIME (14)

Seperation time for clique cuts.

MSK_DINF_MIO_CMIR_SEPARATION_TIME (15)

Seperation time for CMIR cuts.

MSK_DINF_MIO_CONSTRUCT_SOLUTION_OBJ (16)

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 (17)

Value of the dual bound after presolve but before cut generation.

MSK_DINF_MIO_GMI_SEPARATION_TIME (18)

Seperation time for GMI cuts.

MSK_DINF_MIO_HEURISTIC_TIME (19)

Total time spent in the optimizer.

MSK_DINF_MIO_IMPLIED_BOUND_TIME (20)

Seperation time for implied bound cuts.

MSK_DINF_MIO_KNAPSACK_COVER_SEPARATION_TIME (21)

Seperation time for knapsack cover.

MSK_DINF_MIO_OBJ_ABS_GAP (22)

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 (23)

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 (24)

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 (25)

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_OPTIMIZER_TIME (26)

Total time spent in the optimizer.

MSK_DINF_MIO_PROBING_TIME (27)

Total time for probing.

MSK_DINF_MIO_ROOT_CUTGEN_TIME (28)

Total time for cut generation.

MSK_DINF_MIO_ROOT_OPTIMIZER_TIME (29)

Time spent in the optimizer while solving the root relaxation.

MSK_DINF_MIO_ROOT_PRESOLVE_TIME (30)

Time spent in while presolving the root relaxation.

MSK_DINF_MIO_TIME (31)

Time spent in the mixed-integer optimizer.

MSK_DINF_MIO_USER_OBJ_CUT (32)

If the objective cut is used, then this information item has the value of the cut.

MSK_DINF_OPTIMIZER_TIME (33)

Total time spent in the optimizer since it was invoked.

MSK_DINF_PRESOLVE_ELI_TIME (34)

Total time spent in the eliminator since the presolve was invoked.

MSK_DINF_PRESOLVE_LINDEP_TIME (35)

Total time spent in the linear dependency checker since the presolve was invoked.

MSK_DINF_PRESOLVE_TIME (36)

Total time (in seconds) spent in the presolve since it was invoked.

MSK_DINF_PRIMAL_REPAIR_PENALTY_OBJ (37)

The optimal objective value of the penalty function.

MSK_DINF_QCQO_REFORMULATE_MAX_PERTURBATION (38)

Maximum absolute diagonal perturbation occuring during the QCQO reformulation.

MSK_DINF_QCQO_REFORMULATE_TIME (39)

Time spent with conic quadratic reformulation.

MSK_DINF_QCQO_REFORMULATE_WORST_CHOLESKY_COLUMN_SCALING (40)

Worst Cholesky column scaling.

MSK_DINF_QCQO_REFORMULATE_WORST_CHOLESKY_DIAG_SCALING (41)

Worst Cholesky diagonal scaling.

MSK_DINF_RD_TIME (42)

Time spent reading the data file.

MSK_DINF_SIM_DUAL_TIME (43)

Time spent in the dual simplex optimizer since invoking it.

MSK_DINF_SIM_FEAS (44)

Feasibility measure reported by the simplex optimizer.

MSK_DINF_SIM_OBJ (45)

Objective value reported by the simplex optimizer.

MSK_DINF_SIM_PRIMAL_TIME (46)

Time spent in the primal simplex optimizer since invoking it.

MSK_DINF_SIM_TIME (47)

Time spent in the simplex optimizer since invoking it.

MSK_DINF_SOL_BAS_DUAL_OBJ (48)

Dual objective value of the basic solution.

MSK_DINF_SOL_BAS_DVIOLCON (49)

Maximal dual bound violation for $$x^c$$ in the basic solution.

MSK_DINF_SOL_BAS_DVIOLVAR (50)

Maximal dual bound violation for $$x^x$$ in the basic solution.

MSK_DINF_SOL_BAS_NRM_BARX (51)

Infinity norm of $$\barX$$ in the basic solution.

MSK_DINF_SOL_BAS_NRM_SLC (52)

Infinity norm of $$s_l^c$$ in the basic solution.

MSK_DINF_SOL_BAS_NRM_SLX (53)

Infinity norm of $$s_l^x$$ in the basic solution.

MSK_DINF_SOL_BAS_NRM_SUC (54)

Infinity norm of $$s_u^c$$ in the basic solution.

MSK_DINF_SOL_BAS_NRM_SUX (55)

Infinity norm of $$s_u^X$$ in the basic solution.

MSK_DINF_SOL_BAS_NRM_XC (56)

Infinity norm of $$x^c$$ in the basic solution.

MSK_DINF_SOL_BAS_NRM_XX (57)

Infinity norm of $$x^x$$ in the basic solution.

MSK_DINF_SOL_BAS_NRM_Y (58)

Infinity norm of $$y$$ in the basic solution.

MSK_DINF_SOL_BAS_PRIMAL_OBJ (59)

Primal objective value of the basic solution.

MSK_DINF_SOL_BAS_PVIOLCON (60)

Maximal primal bound violation for $$x^c$$ in the basic solution.

MSK_DINF_SOL_BAS_PVIOLVAR (61)

Maximal primal bound violation for $$x^x$$ in the basic solution.

MSK_DINF_SOL_ITG_NRM_BARX (62)

Infinity norm of $$\barX$$ in the integer solution.

MSK_DINF_SOL_ITG_NRM_XC (63)

Infinity norm of $$x^c$$ in the integer solution.

MSK_DINF_SOL_ITG_NRM_XX (64)

Infinity norm of $$x^x$$ in the integer solution.

MSK_DINF_SOL_ITG_PRIMAL_OBJ (65)

Primal objective value of the integer solution.

MSK_DINF_SOL_ITG_PVIOLBARVAR (66)

Maximal primal bound violation for $$\barX$$ in the integer solution.

MSK_DINF_SOL_ITG_PVIOLCON (67)

Maximal primal bound violation for $$x^c$$ in the integer solution.

MSK_DINF_SOL_ITG_PVIOLCONES (68)

Maximal primal violation for primal conic constraints in the integer solution.

MSK_DINF_SOL_ITG_PVIOLITG (69)

Maximal violation for the integer constraints in the integer solution.

MSK_DINF_SOL_ITG_PVIOLVAR (70)

Maximal primal bound violation for $$x^x$$ in the integer solution.

MSK_DINF_SOL_ITR_DUAL_OBJ (71)

Dual objective value of the interior-point solution.

MSK_DINF_SOL_ITR_DVIOLBARVAR (72)

Maximal dual bound violation for $$\barX$$ in the interior-point solution.

MSK_DINF_SOL_ITR_DVIOLCON (73)

Maximal dual bound violation for $$x^c$$ in the interior-point solution.

MSK_DINF_SOL_ITR_DVIOLCONES (74)

Maximal dual violation for dual conic constraints in the interior-point solution.

MSK_DINF_SOL_ITR_DVIOLVAR (75)

Maximal dual bound violation for $$x^x$$ in the interior-point solution.

MSK_DINF_SOL_ITR_NRM_BARS (76)

Infinity norm of $$\barS$$ in the interior-point solution.

MSK_DINF_SOL_ITR_NRM_BARX (77)

Infinity norm of $$\barX$$ in the interior-point solution.

MSK_DINF_SOL_ITR_NRM_SLC (78)

Infinity norm of $$s_l^c$$ in the interior-point solution.

MSK_DINF_SOL_ITR_NRM_SLX (79)

Infinity norm of $$s_l^x$$ in the interior-point solution.

MSK_DINF_SOL_ITR_NRM_SNX (80)

Infinity norm of $$s_n^x$$ in the interior-point solution.

MSK_DINF_SOL_ITR_NRM_SUC (81)

Infinity norm of $$s_u^c$$ in the interior-point solution.

MSK_DINF_SOL_ITR_NRM_SUX (82)

Infinity norm of $$s_u^X$$ in the interior-point solution.

MSK_DINF_SOL_ITR_NRM_XC (83)

Infinity norm of $$x^c$$ in the interior-point solution.

MSK_DINF_SOL_ITR_NRM_XX (84)

Infinity norm of $$x^x$$ in the interior-point solution.

MSK_DINF_SOL_ITR_NRM_Y (85)

Infinity norm of $$y$$ in the interior-point solution.

MSK_DINF_SOL_ITR_PRIMAL_OBJ (86)

Primal objective value of the interior-point solution.

MSK_DINF_SOL_ITR_PVIOLBARVAR (87)

Maximal primal bound violation for $$\barX$$ in the interior-point solution.

MSK_DINF_SOL_ITR_PVIOLCON (88)

Maximal primal bound violation for $$x^c$$ in the interior-point solution.

MSK_DINF_SOL_ITR_PVIOLCONES (89)

Maximal primal violation for primal conic constraints in the interior-point solution.

MSK_DINF_SOL_ITR_PVIOLVAR (90)

Maximal primal bound violation for $$x^x$$ in the interior-point solution.

MSK_DINF_TO_CONIC_TIME (91)

Time spent in the last to conic reformulation.

MSKfeaturee

MSK_FEATURE_PTS (0)

Base system.

MSK_FEATURE_PTON (1)

Nonlinear extension.

MSKliinfiteme

Long integer information items.

MSK_LIINF_BI_CLEAN_DUAL_DEG_ITER (0)

Number of dual degenerate clean iterations performed in the basis identification.

MSK_LIINF_BI_CLEAN_DUAL_ITER (1)

Number of dual clean iterations performed in the basis identification.

MSK_LIINF_BI_CLEAN_PRIMAL_DEG_ITER (2)

Number of primal degenerate clean iterations performed in the basis identification.

MSK_LIINF_BI_CLEAN_PRIMAL_ITER (3)

Number of primal clean iterations performed in the basis identification.

MSK_LIINF_BI_DUAL_ITER (4)

Number of dual pivots performed in the basis identification.

MSK_LIINF_BI_PRIMAL_ITER (5)

Number of primal pivots performed in the basis identification.

MSK_LIINF_INTPNT_FACTOR_NUM_NZ (6)

Number of non-zeros in factorization.

MSK_LIINF_MIO_INTPNT_ITER (7)

Number of interior-point iterations performed by the mixed-integer optimizer.

MSK_LIINF_MIO_PRESOLVED_ANZ (8)

Number of non-zero entries in the constraint matrix of presolved problem.

MSK_LIINF_MIO_SIM_MAXITER_SETBACKS (9)

Number of times the the simplex optimizer has hit the maximum iteration limit when re-optimizing.

MSK_LIINF_MIO_SIMPLEX_ITER (10)

Number of simplex iterations performed by the mixed-integer optimizer.

MSK_LIINF_RD_NUMANZ (11)

Number of non-zeros in A that is read.

MSK_LIINF_RD_NUMQNZ (12)

Number of Q non-zeros.

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

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_NUM_ROUNDINGS (21)

Number of values in the integer solution that is rounded to an integer value.

MSK_IINF_MIO_CONSTRUCT_SOLUTION (22)

If this item has the value 0, then MOSEK did not try to construct an initial integer feasible solution. If the item has a positive value, then MOSEK successfully constructed an initial integer feasible solution.

MSK_IINF_MIO_INITIAL_SOLUTION (23)

Is non-zero if an initial integer solution is specified.

MSK_IINF_MIO_NEAR_ABSGAP_SATISFIED (24)

Non-zero if absolute gap is within relaxed tolerances.

MSK_IINF_MIO_NEAR_RELGAP_SATISFIED (25)

Non-zero if relative gap is within relaxed tolerances.

MSK_IINF_MIO_NODE_DEPTH (26)

Depth of the last node solved.

MSK_IINF_MIO_NUM_ACTIVE_NODES (27)

Number of active branch bound nodes.

MSK_IINF_MIO_NUM_BRANCH (28)

Number of branches performed during the optimization.

MSK_IINF_MIO_NUM_CLIQUE_CUTS (29)

Number of clique cuts.

MSK_IINF_MIO_NUM_CMIR_CUTS (30)

Number of Complemented Mixed Integer Rounding (CMIR) cuts.

MSK_IINF_MIO_NUM_GOMORY_CUTS (31)

Number of Gomory cuts.

MSK_IINF_MIO_NUM_IMPLIED_BOUND_CUTS (32)

Number of implied bound cuts.

MSK_IINF_MIO_NUM_INT_SOLUTIONS (33)

Number of integer feasible solutions that has been found.

MSK_IINF_MIO_NUM_KNAPSACK_COVER_CUTS (34)

Number of clique cuts.

MSK_IINF_MIO_NUM_RELAX (35)

Number of relaxations solved during the optimization.

MSK_IINF_MIO_NUM_REPEATED_PRESOLVE (36)

Number of times presolve was repeated at root.

MSK_IINF_MIO_NUMCON (37)

Number of constraints in the problem solved by the mixed-integer optimizer.

MSK_IINF_MIO_NUMINT (38)

Number of integer variables in the problem solved be the mixed-integer optimizer.

MSK_IINF_MIO_NUMVAR (39)

Number of variables in the problem solved by the mixed-integer optimizer.

MSK_IINF_MIO_OBJ_BOUND_DEFINED (40)

Non-zero if a valid objective bound has been found, otherwise zero.

MSK_IINF_MIO_PRESOLVED_NUMBIN (41)

Number of binary variables in the problem solved be the mixed-integer optimizer.

MSK_IINF_MIO_PRESOLVED_NUMCON (42)

Number of constraints in the presolved problem.

MSK_IINF_MIO_PRESOLVED_NUMCONT (43)

Number of continuous variables in the problem solved be the mixed-integer optimizer.

MSK_IINF_MIO_PRESOLVED_NUMINT (44)

Number of integer variables in the presolved problem.

MSK_IINF_MIO_PRESOLVED_NUMVAR (45)

Number of variables in the presolved problem.

MSK_IINF_MIO_RELGAP_SATISFIED (46)

Non-zero if relative gap is within tolerances.

MSK_IINF_MIO_TOTAL_NUM_CUTS (47)

Total number of cuts generated by the mixed-integer optimizer.

MSK_IINF_MIO_USER_OBJ_CUT (48)

If it is non-zero, then the objective cut is used.

MSK_IINF_OPT_NUMCON (49)

Number of constraints in the problem solved when the optimizer is called.

MSK_IINF_OPT_NUMVAR (50)

Number of variables in the problem solved when the optimizer is called

MSK_IINF_OPTIMIZE_RESPONSE (51)

The response code returned by optimize.

MSK_IINF_RD_NUMBARVAR (52)

MSK_IINF_RD_NUMCON (53)

MSK_IINF_RD_NUMCONE (54)

MSK_IINF_RD_NUMINTVAR (55)

MSK_IINF_RD_NUMQ (56)

Number of nonempty Q matrices read.

MSK_IINF_RD_NUMVAR (57)

MSK_IINF_RD_PROTYPE (58)

Problem type.

MSK_IINF_SIM_DUAL_DEG_ITER (59)

The number of dual degenerate iterations.

MSK_IINF_SIM_DUAL_HOTSTART (60)

If 1 then the dual simplex algorithm is solving from an advanced basis.

MSK_IINF_SIM_DUAL_HOTSTART_LU (61)

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 (62)

The number of iterations taken with dual infeasibility.

MSK_IINF_SIM_DUAL_ITER (63)

Number of dual simplex iterations during the last optimization.

MSK_IINF_SIM_NUMCON (64)

Number of constraints in the problem solved by the simplex optimizer.

MSK_IINF_SIM_NUMVAR (65)

Number of variables in the problem solved by the simplex optimizer.

MSK_IINF_SIM_PRIMAL_DEG_ITER (66)

The number of primal degenerate iterations.

MSK_IINF_SIM_PRIMAL_HOTSTART (67)

If 1 then the primal simplex algorithm is solving from an advanced basis.

MSK_IINF_SIM_PRIMAL_HOTSTART_LU (68)

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 (69)

The number of iterations taken with primal infeasibility.

MSK_IINF_SIM_PRIMAL_ITER (70)

Number of primal simplex iterations during the last optimization.

MSK_IINF_SIM_SOLVE_DUAL (71)

Is non-zero if dual problem is solved.

MSK_IINF_SOL_BAS_PROSTA (72)

Problem status of the basic solution. Updated after each optimization.

MSK_IINF_SOL_BAS_SOLSTA (73)

Solution status of the basic solution. Updated after each optimization.

MSK_IINF_SOL_ITG_PROSTA (74)

Problem status of the integer solution. Updated after each optimization.

MSK_IINF_SOL_ITG_SOLSTA (75)

Solution status of the integer solution. Updated after each optimization.

MSK_IINF_SOL_ITR_PROSTA (76)

Problem status of the interior-point solution. Updated after each optimization.

MSK_IINF_SOL_ITR_SOLSTA (77)

Solution status of the interior-point solution. Updated after each optimization.

MSK_IINF_STO_NUM_A_REALLOC (78)

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)

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 written.

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.

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_WORST (3)

The optimizer employs a worst bound node selection strategy.

MSK_MIO_NODE_SELECTION_HYBRID (4)

The optimizer employs a hybrid strategy.

MSK_MIO_NODE_SELECTION_PSEUDO (5)

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.

MSKonoffkeye

On/off

MSK_ON (1)

Switch the option on.

MSK_OFF (0)

Switch the option off.

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_GECO (3)

General convex optimization.

MSK_PROBTYPE_CONIC (4)

A conic optimization.

MSK_PROBTYPE_MIXED (5)

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_NEAR_PRIM_AND_DUAL_FEAS (8)

The problem is at least nearly primal and dual feasible.

MSK_PRO_STA_NEAR_PRIM_FEAS (9)

The problem is at least nearly primal feasible.

MSK_PRO_STA_NEAR_DUAL_FEAS (10)

The problem is at least nearly 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 (11)

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.

MSK_SCALING_MODERATE (2)

A conservative scaling is performed.

MSK_SCALING_AGGRESSIVE (3)

A very aggressive 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.

MSK_SENSITIVITY_TYPE_OPTIMAL_PARTITION (1)

Optimal partition 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_NEAR_OPTIMAL (7)

The solution is nearly optimal.

MSK_SOL_STA_NEAR_PRIM_FEAS (8)

The solution is nearly primal feasible.

MSK_SOL_STA_NEAR_DUAL_FEAS (9)

The solution is nearly dual feasible.

MSK_SOL_STA_NEAR_PRIM_AND_DUAL_FEAS (10)

The solution is nearly 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_NEAR_PRIM_INFEAS_CER (11)

The solution is almost a certificate of primal infeasibility.

MSK_SOL_STA_NEAR_DUAL_INFEAS_CER (12)

The solution is almost a certificate of dual infeasibility.

MSK_SOL_STA_PRIM_ILLPOSED_CER (13)

The solution is a certificate that the primal problem is illposed.

MSK_SOL_STA_DUAL_ILLPOSED_CER (14)

The solution is a certificate that the dual problem is illposed.

MSK_SOL_STA_INTEGER_OPTIMAL (15)

The primal solution is integer optimal.

MSK_SOL_STA_NEAR_INTEGER_OPTIMAL (16)

The primal solution is near 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.

MSKvaluee

Integer values

MSK_MAX_STR_LEN (1024)

Maximum string length allowed in MOSEK.

MSK_LICENSE_BUFFER_LENGTH (21)

The length of a license key buffer.

MSKvariabletypee

Variable types

MSK_VAR_TYPE_CONT (0)

Is a continuous variable.

MSK_VAR_TYPE_INT (1)

Is an integer variable.