# 15.7 Parameters (alphabetical list sorted by type)¶

## 15.7.1 Double parameters¶

dparam

The enumeration type containing all double parameters.

dparam.ana_sol_infeas_tol

If a constraint violates its bound with an amount larger than this value, the constraint name, index and violation will be printed by the solution analyzer.

Default:
1e-6
Accepted:
[0.0; +inf]
Example:
task.putdouparam(dparam.ana_sol_infeas_tol, 1e-6)
Generic name:
MSK_DPAR_ANA_SOL_INFEAS_TOL
Groups:
Analysis
dparam.basis_rel_tol_s

Maximum relative dual bound violation allowed in an optimal basic solution.

Default:
1.0e-12
Accepted:
[0.0; +inf]
Example:
task.putdouparam(dparam.basis_rel_tol_s, 1.0e-12)
Generic name:
MSK_DPAR_BASIS_REL_TOL_S
Groups:
Simplex optimizer, Termination criteria
dparam.basis_tol_s

Maximum absolute dual bound violation in an optimal basic solution.

Default:
1.0e-6
Accepted:
[1.0e-9; +inf]
Example:
task.putdouparam(dparam.basis_tol_s, 1.0e-6)
Generic name:
MSK_DPAR_BASIS_TOL_S
Groups:
Simplex optimizer, Termination criteria
dparam.basis_tol_x

Maximum absolute primal bound violation allowed in an optimal basic solution.

Default:
1.0e-6
Accepted:
[1.0e-9; +inf]
Example:
task.putdouparam(dparam.basis_tol_x, 1.0e-6)
Generic name:
MSK_DPAR_BASIS_TOL_X
Groups:
Simplex optimizer, Termination criteria
dparam.check_convexity_rel_tol

This parameter controls when the full convexity check declares a problem to be non-convex. Increasing this tolerance relaxes the criteria for declaring the problem non-convex.

A problem is declared non-convex if negative (positive) pivot elements are detected in the Cholesky factor of a matrix which is required to be PSD (NSD). This parameter controls how much this non-negativity requirement may be violated.

If $$d_i$$ is the pivot element for column $$i$$, then the matrix $$Q$$ is considered to not be PSD if:

$d_i \leq - |Q_{ii}| \mathtt{check\_convexity\_rel\_tol}$
Default:
1e-10
Accepted:
[0; +inf]
Example:
task.putdouparam(dparam.check_convexity_rel_tol, 1e-10)
Generic name:
MSK_DPAR_CHECK_CONVEXITY_REL_TOL
Groups:
Interior-point method
dparam.data_sym_mat_tol

Absolute zero tolerance for elements in in symmetric matrices. If any value in a symmetric matrix is smaller than this parameter in absolute terms MOSEK will treat the values as zero and generate a warning.

Default:
1.0e-12
Accepted:
[1.0e-16; 1.0e-6]
Example:
task.putdouparam(dparam.data_sym_mat_tol, 1.0e-12)
Generic name:
MSK_DPAR_DATA_SYM_MAT_TOL
Groups:
Data check
dparam.data_sym_mat_tol_huge

An element in a symmetric matrix which is larger than this value in absolute size causes an error.

Default:
1.0e20
Accepted:
[0.0; +inf]
Example:
task.putdouparam(dparam.data_sym_mat_tol_huge, 1.0e20)
Generic name:
MSK_DPAR_DATA_SYM_MAT_TOL_HUGE
Groups:
Data check
dparam.data_sym_mat_tol_large

An element in a symmetric matrix which is larger than this value in absolute size causes a warning message to be printed.

Default:
1.0e10
Accepted:
[0.0; +inf]
Example:
task.putdouparam(dparam.data_sym_mat_tol_large, 1.0e10)
Generic name:
MSK_DPAR_DATA_SYM_MAT_TOL_LARGE
Groups:
Data check
dparam.data_tol_aij_huge

An element in $$A$$ which is larger than this value in absolute size causes an error.

Default:
1.0e20
Accepted:
[0.0; +inf]
Example:
task.putdouparam(dparam.data_tol_aij_huge, 1.0e20)
Generic name:
MSK_DPAR_DATA_TOL_AIJ_HUGE
Groups:
Data check
dparam.data_tol_aij_large

An element in $$A$$ which is larger than this value in absolute size causes a warning message to be printed.

Default:
1.0e10
Accepted:
[0.0; +inf]
Example:
task.putdouparam(dparam.data_tol_aij_large, 1.0e10)
Generic name:
MSK_DPAR_DATA_TOL_AIJ_LARGE
Groups:
Data check
dparam.data_tol_bound_inf

Any bound which in absolute value is greater than this parameter is considered infinite.

Default:
1.0e16
Accepted:
[0.0; +inf]
Example:
task.putdouparam(dparam.data_tol_bound_inf, 1.0e16)
Generic name:
MSK_DPAR_DATA_TOL_BOUND_INF
Groups:
Data check
dparam.data_tol_bound_wrn

If a bound value is larger than this value in absolute size, then a warning message is issued.

Default:
1.0e8
Accepted:
[0.0; +inf]
Example:
task.putdouparam(dparam.data_tol_bound_wrn, 1.0e8)
Generic name:
MSK_DPAR_DATA_TOL_BOUND_WRN
Groups:
Data check
dparam.data_tol_c_huge

An element in $$c$$ which is larger than the value of this parameter in absolute terms is considered to be huge and generates an error.

Default:
1.0e16
Accepted:
[0.0; +inf]
Example:
task.putdouparam(dparam.data_tol_c_huge, 1.0e16)
Generic name:
MSK_DPAR_DATA_TOL_C_HUGE
Groups:
Data check
dparam.data_tol_cj_large

An element in $$c$$ which is larger than this value in absolute terms causes a warning message to be printed.

Default:
1.0e8
Accepted:
[0.0; +inf]
Example:
task.putdouparam(dparam.data_tol_cj_large, 1.0e8)
Generic name:
MSK_DPAR_DATA_TOL_CJ_LARGE
Groups:
Data check
dparam.data_tol_qij

Absolute zero tolerance for elements in $$Q$$ matrices.

Default:
1.0e-16
Accepted:
[0.0; +inf]
Example:
task.putdouparam(dparam.data_tol_qij, 1.0e-16)
Generic name:
MSK_DPAR_DATA_TOL_QIJ
Groups:
Data check
dparam.data_tol_x

Zero tolerance for constraints and variables i.e. if the distance between the lower and upper bound is less than this value, then the lower and upper bound is considered identical.

Default:
1.0e-8
Accepted:
[0.0; +inf]
Example:
task.putdouparam(dparam.data_tol_x, 1.0e-8)
Generic name:
MSK_DPAR_DATA_TOL_X
Groups:
Data check
dparam.intpnt_co_tol_dfeas

Dual feasibility tolerance used by the interior-point optimizer for conic problems.

Default:
1.0e-8
Accepted:
[0.0; 1.0]
Example:
task.putdouparam(dparam.intpnt_co_tol_dfeas, 1.0e-8)
See also:
dparam.intpnt_co_tol_near_rel
Generic name:
MSK_DPAR_INTPNT_CO_TOL_DFEAS
Groups:
Interior-point method, Termination criteria, Conic interior-point method
dparam.intpnt_co_tol_infeas

Infeasibility tolerance used by the interior-point optimizer for conic problems. Controls when the interior-point optimizer declares the model primal or dual infeasible. A small number means the optimizer gets more conservative about declaring the model infeasible.

Default:
1.0e-12
Accepted:
[0.0; 1.0]
Example:
task.putdouparam(dparam.intpnt_co_tol_infeas, 1.0e-12)
Generic name:
MSK_DPAR_INTPNT_CO_TOL_INFEAS
Groups:
Interior-point method, Termination criteria, Conic interior-point method
dparam.intpnt_co_tol_mu_red

Relative complementarity gap tolerance used by the interior-point optimizer for conic problems.

Default:
1.0e-8
Accepted:
[0.0; 1.0]
Example:
task.putdouparam(dparam.intpnt_co_tol_mu_red, 1.0e-8)
Generic name:
MSK_DPAR_INTPNT_CO_TOL_MU_RED
Groups:
Interior-point method, Termination criteria, Conic interior-point method
dparam.intpnt_co_tol_near_rel

Optimality tolerance used by the interior-point optimizer for conic problems. If MOSEK cannot compute a solution that has the prescribed accuracy then it will check if the solution found satisfies the termination criteria with all tolerances multiplied by the value of this parameter. If yes, then the solution is also declared optimal.

Default:
1000
Accepted:
[1.0; +inf]
Example:
task.putdouparam(dparam.intpnt_co_tol_near_rel, 1000)
Generic name:
MSK_DPAR_INTPNT_CO_TOL_NEAR_REL
Groups:
Interior-point method, Termination criteria, Conic interior-point method
dparam.intpnt_co_tol_pfeas

Primal feasibility tolerance used by the interior-point optimizer for conic problems.

Default:
1.0e-8
Accepted:
[0.0; 1.0]
Example:
task.putdouparam(dparam.intpnt_co_tol_pfeas, 1.0e-8)
See also:
dparam.intpnt_co_tol_near_rel
Generic name:
MSK_DPAR_INTPNT_CO_TOL_PFEAS
Groups:
Interior-point method, Termination criteria, Conic interior-point method
dparam.intpnt_co_tol_rel_gap

Relative gap termination tolerance used by the interior-point optimizer for conic problems.

Default:
1.0e-8
Accepted:
[0.0; 1.0]
Example:
task.putdouparam(dparam.intpnt_co_tol_rel_gap, 1.0e-8)
See also:
dparam.intpnt_co_tol_near_rel
Generic name:
MSK_DPAR_INTPNT_CO_TOL_REL_GAP
Groups:
Interior-point method, Termination criteria, Conic interior-point method
dparam.intpnt_qo_tol_dfeas

Dual feasibility tolerance used by the interior-point optimizer for quadratic problems.

Default:
1.0e-8
Accepted:
[0.0; 1.0]
Example:
task.putdouparam(dparam.intpnt_qo_tol_dfeas, 1.0e-8)
See also:
dparam.intpnt_qo_tol_near_rel
Generic name:
MSK_DPAR_INTPNT_QO_TOL_DFEAS
Groups:
Interior-point method, Termination criteria
dparam.intpnt_qo_tol_infeas

Infeasibility tolerance used by the interior-point optimizer for quadratic problems. Controls when the interior-point optimizer declares the model primal or dual infeasible. A small number means the optimizer gets more conservative about declaring the model infeasible.

Default:
1.0e-12
Accepted:
[0.0; 1.0]
Example:
task.putdouparam(dparam.intpnt_qo_tol_infeas, 1.0e-12)
Generic name:
MSK_DPAR_INTPNT_QO_TOL_INFEAS
Groups:
Interior-point method, Termination criteria
dparam.intpnt_qo_tol_mu_red

Relative complementarity gap tolerance used by the interior-point optimizer for quadratic problems.

Default:
1.0e-8
Accepted:
[0.0; 1.0]
Example:
task.putdouparam(dparam.intpnt_qo_tol_mu_red, 1.0e-8)
Generic name:
MSK_DPAR_INTPNT_QO_TOL_MU_RED
Groups:
Interior-point method, Termination criteria
dparam.intpnt_qo_tol_near_rel

Optimality tolerance used by the interior-point optimizer for quadratic problems. If MOSEK cannot compute a solution that has the prescribed accuracy then it will check if the solution found satisfies the termination criteria with all tolerances multiplied by the value of this parameter. If yes, then the solution is also declared optimal.

Default:
1000
Accepted:
[1.0; +inf]
Example:
task.putdouparam(dparam.intpnt_qo_tol_near_rel, 1000)
Generic name:
MSK_DPAR_INTPNT_QO_TOL_NEAR_REL
Groups:
Interior-point method, Termination criteria
dparam.intpnt_qo_tol_pfeas

Primal feasibility tolerance used by the interior-point optimizer for quadratic problems.

Default:
1.0e-8
Accepted:
[0.0; 1.0]
Example:
task.putdouparam(dparam.intpnt_qo_tol_pfeas, 1.0e-8)
See also:
dparam.intpnt_qo_tol_near_rel
Generic name:
MSK_DPAR_INTPNT_QO_TOL_PFEAS
Groups:
Interior-point method, Termination criteria
dparam.intpnt_qo_tol_rel_gap

Relative gap termination tolerance used by the interior-point optimizer for quadratic problems.

Default:
1.0e-8
Accepted:
[0.0; 1.0]
Example:
task.putdouparam(dparam.intpnt_qo_tol_rel_gap, 1.0e-8)
See also:
dparam.intpnt_qo_tol_near_rel
Generic name:
MSK_DPAR_INTPNT_QO_TOL_REL_GAP
Groups:
Interior-point method, Termination criteria
dparam.intpnt_tol_dfeas

Dual feasibility tolerance used by the interior-point optimizer for linear problems.

Default:
1.0e-8
Accepted:
[0.0; 1.0]
Example:
task.putdouparam(dparam.intpnt_tol_dfeas, 1.0e-8)
Generic name:
MSK_DPAR_INTPNT_TOL_DFEAS
Groups:
Interior-point method, Termination criteria
dparam.intpnt_tol_dsafe

Controls the initial dual starting point used by the interior-point optimizer. If the interior-point optimizer converges slowly and/or the constraint or variable bounds are very large, then it might be worthwhile to increase this value.

Default:
1.0
Accepted:
[1.0e-4; +inf]
Example:
task.putdouparam(dparam.intpnt_tol_dsafe, 1.0)
Generic name:
MSK_DPAR_INTPNT_TOL_DSAFE
Groups:
Interior-point method
dparam.intpnt_tol_infeas

Infeasibility tolerance used by the interior-point optimizer for linear problems. Controls when the interior-point optimizer declares the model primal or dual infeasible. A small number means the optimizer gets more conservative about declaring the model infeasible.

Default:
1.0e-10
Accepted:
[0.0; 1.0]
Example:
task.putdouparam(dparam.intpnt_tol_infeas, 1.0e-10)
Generic name:
MSK_DPAR_INTPNT_TOL_INFEAS
Groups:
Interior-point method, Termination criteria
dparam.intpnt_tol_mu_red

Relative complementarity gap tolerance used by the interior-point optimizer for linear problems.

Default:
1.0e-16
Accepted:
[0.0; 1.0]
Example:
task.putdouparam(dparam.intpnt_tol_mu_red, 1.0e-16)
Generic name:
MSK_DPAR_INTPNT_TOL_MU_RED
Groups:
Interior-point method, Termination criteria
dparam.intpnt_tol_path

Controls how close the interior-point optimizer follows the central path. A large value of this parameter means the central path is followed very closely. On numerically unstable problems it may be worthwhile to increase this parameter.

Default:
1.0e-8
Accepted:
[0.0; 0.9999]
Example:
task.putdouparam(dparam.intpnt_tol_path, 1.0e-8)
Generic name:
MSK_DPAR_INTPNT_TOL_PATH
Groups:
Interior-point method
dparam.intpnt_tol_pfeas

Primal feasibility tolerance used by the interior-point optimizer for linear problems.

Default:
1.0e-8
Accepted:
[0.0; 1.0]
Example:
task.putdouparam(dparam.intpnt_tol_pfeas, 1.0e-8)
Generic name:
MSK_DPAR_INTPNT_TOL_PFEAS
Groups:
Interior-point method, Termination criteria
dparam.intpnt_tol_psafe

Controls the initial primal starting point used by the interior-point optimizer. If the interior-point optimizer converges slowly and/or the constraint or variable bounds are very large, then it may be worthwhile to increase this value.

Default:
1.0
Accepted:
[1.0e-4; +inf]
Example:
task.putdouparam(dparam.intpnt_tol_psafe, 1.0)
Generic name:
MSK_DPAR_INTPNT_TOL_PSAFE
Groups:
Interior-point method
dparam.intpnt_tol_rel_gap

Relative gap termination tolerance used by the interior-point optimizer for linear problems.

Default:
1.0e-8
Accepted:
[1.0e-14; +inf]
Example:
task.putdouparam(dparam.intpnt_tol_rel_gap, 1.0e-8)
Generic name:
MSK_DPAR_INTPNT_TOL_REL_GAP
Groups:
Termination criteria, Interior-point method
dparam.intpnt_tol_rel_step

Relative step size to the boundary for linear and quadratic optimization problems.

Default:
0.9999
Accepted:
[1.0e-4; 0.999999]
Example:
task.putdouparam(dparam.intpnt_tol_rel_step, 0.9999)
Generic name:
MSK_DPAR_INTPNT_TOL_REL_STEP
Groups:
Interior-point method
dparam.intpnt_tol_step_size

Minimal step size tolerance. If the step size falls below the value of this parameter, then the interior-point optimizer assumes that it is stalled. In other words the interior-point optimizer does not make any progress and therefore it is better to stop.

Default:
1.0e-6
Accepted:
[0.0; 1.0]
Example:
task.putdouparam(dparam.intpnt_tol_step_size, 1.0e-6)
Generic name:
MSK_DPAR_INTPNT_TOL_STEP_SIZE
Groups:
Interior-point method
dparam.lower_obj_cut

If either a primal or dual feasible solution is found proving that the optimal objective value is outside the interval $$[$$ dparam.lower_obj_cut, dparam.upper_obj_cut $$]$$, then MOSEK is terminated.

Default:
-1.0e30
Accepted:
[-inf; +inf]
Example:
task.putdouparam(dparam.lower_obj_cut, -1.0e30)
See also:
dparam.lower_obj_cut_finite_trh
Generic name:
MSK_DPAR_LOWER_OBJ_CUT
Groups:
Termination criteria
dparam.lower_obj_cut_finite_trh

If the lower objective cut is less than the value of this parameter value, then the lower objective cut i.e. dparam.lower_obj_cut is treated as $$-\infty$$.

Default:
-0.5e30
Accepted:
[-inf; +inf]
Example:
task.putdouparam(dparam.lower_obj_cut_finite_trh, -0.5e30)
Generic name:
MSK_DPAR_LOWER_OBJ_CUT_FINITE_TRH
Groups:
Termination criteria
dparam.mio_max_time

This parameter limits the maximum time spent by the mixed-integer optimizer. A negative number means infinity.

Default:
-1.0
Accepted:
[-inf; +inf]
Example:
task.putdouparam(dparam.mio_max_time, -1.0)
Generic name:
MSK_DPAR_MIO_MAX_TIME
Groups:
Mixed-integer optimization, Termination criteria
dparam.mio_rel_gap_const

This value is used to compute the relative gap for the solution to an integer optimization problem.

Default:
1.0e-10
Accepted:
[1.0e-15; +inf]
Example:
task.putdouparam(dparam.mio_rel_gap_const, 1.0e-10)
Generic name:
MSK_DPAR_MIO_REL_GAP_CONST
Groups:
Mixed-integer optimization, Termination criteria
dparam.mio_tol_abs_gap

Absolute optimality tolerance employed by the mixed-integer optimizer.

Default:
0.0
Accepted:
[0.0; +inf]
Example:
task.putdouparam(dparam.mio_tol_abs_gap, 0.0)
Generic name:
MSK_DPAR_MIO_TOL_ABS_GAP
Groups:
Mixed-integer optimization
dparam.mio_tol_abs_relax_int

Absolute integer feasibility tolerance. If the distance to the nearest integer is less than this tolerance then an integer constraint is assumed to be satisfied.

Default:
1.0e-5
Accepted:
[1e-9; +inf]
Example:
task.putdouparam(dparam.mio_tol_abs_relax_int, 1.0e-5)
Generic name:
MSK_DPAR_MIO_TOL_ABS_RELAX_INT
Groups:
Mixed-integer optimization
dparam.mio_tol_feas

Feasibility tolerance for mixed integer solver.

Default:
1.0e-6
Accepted:
[1e-9; 1e-3]
Example:
task.putdouparam(dparam.mio_tol_feas, 1.0e-6)
Generic name:
MSK_DPAR_MIO_TOL_FEAS
Groups:
Mixed-integer optimization
dparam.mio_tol_rel_dual_bound_improvement

If the relative improvement of the dual bound is smaller than this value, the solver will terminate the root cut generation. A value of 0.0 means that the value is selected automatically.

Default:
0.0
Accepted:
[0.0; 1.0]
Example:
task.putdouparam(dparam.mio_tol_rel_dual_bound_improvement, 0.0)
Generic name:
MSK_DPAR_MIO_TOL_REL_DUAL_BOUND_IMPROVEMENT
Groups:
Mixed-integer optimization
dparam.mio_tol_rel_gap

Relative optimality tolerance employed by the mixed-integer optimizer.

Default:
1.0e-4
Accepted:
[0.0; +inf]
Example:
task.putdouparam(dparam.mio_tol_rel_gap, 1.0e-4)
Generic name:
MSK_DPAR_MIO_TOL_REL_GAP
Groups:
Mixed-integer optimization, Termination criteria
dparam.optimizer_max_time

Maximum amount of time the optimizer is allowed to spent on the optimization. A negative number means infinity.

Default:
-1.0
Accepted:
[-inf; +inf]
Example:
task.putdouparam(dparam.optimizer_max_time, -1.0)
Generic name:
MSK_DPAR_OPTIMIZER_MAX_TIME
Groups:
Termination criteria
dparam.presolve_tol_abs_lindep

Absolute tolerance employed by the linear dependency checker.

Default:
1.0e-6
Accepted:
[0.0; +inf]
Example:
task.putdouparam(dparam.presolve_tol_abs_lindep, 1.0e-6)
Generic name:
MSK_DPAR_PRESOLVE_TOL_ABS_LINDEP
Groups:
Presolve
dparam.presolve_tol_aij

Absolute zero tolerance employed for $$a_{ij}$$ in the presolve.

Default:
1.0e-12
Accepted:
[1.0e-15; +inf]
Example:
task.putdouparam(dparam.presolve_tol_aij, 1.0e-12)
Generic name:
MSK_DPAR_PRESOLVE_TOL_AIJ
Groups:
Presolve
dparam.presolve_tol_rel_lindep

Relative tolerance employed by the linear dependency checker.

Default:
1.0e-10
Accepted:
[0.0; +inf]
Example:
task.putdouparam(dparam.presolve_tol_rel_lindep, 1.0e-10)
Generic name:
MSK_DPAR_PRESOLVE_TOL_REL_LINDEP
Groups:
Presolve
dparam.presolve_tol_s

Absolute zero tolerance employed for $$s_i$$ in the presolve.

Default:
1.0e-8
Accepted:
[0.0; +inf]
Example:
task.putdouparam(dparam.presolve_tol_s, 1.0e-8)
Generic name:
MSK_DPAR_PRESOLVE_TOL_S
Groups:
Presolve
dparam.presolve_tol_x

Absolute zero tolerance employed for $$x_j$$ in the presolve.

Default:
1.0e-8
Accepted:
[0.0; +inf]
Example:
task.putdouparam(dparam.presolve_tol_x, 1.0e-8)
Generic name:
MSK_DPAR_PRESOLVE_TOL_X
Groups:
Presolve
dparam.qcqo_reformulate_rel_drop_tol

This parameter determines when columns are dropped in incomplete Cholesky factorization during reformulation of quadratic problems.

Default:
1e-15
Accepted:
[0; +inf]
Example:
task.putdouparam(dparam.qcqo_reformulate_rel_drop_tol, 1e-15)
Generic name:
MSK_DPAR_QCQO_REFORMULATE_REL_DROP_TOL
Groups:
Interior-point method
dparam.semidefinite_tol_approx

Tolerance to define a matrix to be positive semidefinite.

Default:
1.0e-10
Accepted:
[1.0e-15; +inf]
Example:
task.putdouparam(dparam.semidefinite_tol_approx, 1.0e-10)
Generic name:
MSK_DPAR_SEMIDEFINITE_TOL_APPROX
Groups:
Data check
dparam.sim_lu_tol_rel_piv

Relative pivot tolerance employed when computing the LU factorization of the basis in the simplex optimizers and in the basis identification procedure. A value closer to 1.0 generally improves numerical stability but typically also implies an increase in the computational work.

Default:
0.01
Accepted:
[1.0e-6; 0.999999]
Example:
task.putdouparam(dparam.sim_lu_tol_rel_piv, 0.01)
Generic name:
MSK_DPAR_SIM_LU_TOL_REL_PIV
Groups:
Basis identification, Simplex optimizer
dparam.simplex_abs_tol_piv

Absolute pivot tolerance employed by the simplex optimizers.

Default:
1.0e-7
Accepted:
[1.0e-12; +inf]
Example:
task.putdouparam(dparam.simplex_abs_tol_piv, 1.0e-7)
Generic name:
MSK_DPAR_SIMPLEX_ABS_TOL_PIV
Groups:
Simplex optimizer
dparam.upper_obj_cut

If either a primal or dual feasible solution is found proving that the optimal objective value is outside the interval $$[$$ dparam.lower_obj_cut, dparam.upper_obj_cut $$]$$, then MOSEK is terminated.

Default:
1.0e30
Accepted:
[-inf; +inf]
Example:
task.putdouparam(dparam.upper_obj_cut, 1.0e30)
See also:
dparam.upper_obj_cut_finite_trh
Generic name:
MSK_DPAR_UPPER_OBJ_CUT
Groups:
Termination criteria
dparam.upper_obj_cut_finite_trh

If the upper objective cut is greater than the value of this parameter, then the upper objective cut dparam.upper_obj_cut is treated as $$\infty$$.

Default:
0.5e30
Accepted:
[-inf; +inf]
Example:
task.putdouparam(dparam.upper_obj_cut_finite_trh, 0.5e30)
Generic name:
MSK_DPAR_UPPER_OBJ_CUT_FINITE_TRH
Groups:
Termination criteria

## 15.7.2 Integer parameters¶

iparam

The enumeration type containing all integer parameters.

iparam.ana_sol_basis

Controls whether the basis matrix is analyzed in solution analyzer.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.ana_sol_basis, onoffkey.on)
Generic name:
MSK_IPAR_ANA_SOL_BASIS
Groups:
Analysis
iparam.ana_sol_print_violated

A parameter of the problem analyzer. Controls whether a list of violated constraints is printed. All constraints violated by more than the value set by the parameter dparam.ana_sol_infeas_tol will be printed.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.ana_sol_print_violated, onoffkey.off)
Generic name:
MSK_IPAR_ANA_SOL_PRINT_VIOLATED
Groups:
Analysis
iparam.auto_sort_a_before_opt

Controls whether the elements in each column of $$A$$ are sorted before an optimization is performed. This is not required but makes the optimization more deterministic.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.auto_sort_a_before_opt, onoffkey.off)
Generic name:
MSK_IPAR_AUTO_SORT_A_BEFORE_OPT
Groups:
Debugging
iparam.auto_update_sol_info

Controls whether the solution information items are automatically updated after an optimization is performed.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.auto_update_sol_info, onoffkey.off)
Generic name:
MSK_IPAR_AUTO_UPDATE_SOL_INFO
Groups:
Overall system
iparam.basis_solve_use_plus_one

If a slack variable is in the basis, then the corresponding column in the basis is a unit vector with -1 in the right position. However, if this parameter is set to onoffkey.on, -1 is replaced by 1.

This has significance for the results returned by the Task.solvewithbasis function.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.basis_solve_use_plus_one, onoffkey.off)
Generic name:
MSK_IPAR_BASIS_SOLVE_USE_PLUS_ONE
Groups:
Simplex optimizer
iparam.bi_clean_optimizer

Controls which simplex optimizer is used in the clean-up phase. Anything else than optimizertype.primal_simplex or optimizertype.dual_simplex is equivalent to optimizertype.free_simplex.

Default:
free
Accepted:
free, intpnt, conic, primal_simplex, dual_simplex, free_simplex, mixed_int (see optimizertype)
Example:
task.putintparam(iparam.bi_clean_optimizer, optimizertype.free)
Generic name:
MSK_IPAR_BI_CLEAN_OPTIMIZER
Groups:
Basis identification, Overall solver
iparam.bi_ignore_max_iter

If the parameter iparam.intpnt_basis has the value basindtype.no_error and the interior-point optimizer has terminated due to maximum number of iterations, then basis identification is performed if this parameter has the value onoffkey.on.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.bi_ignore_max_iter, onoffkey.off)
Generic name:
MSK_IPAR_BI_IGNORE_MAX_ITER
Groups:
Interior-point method, Basis identification
iparam.bi_ignore_num_error

If the parameter iparam.intpnt_basis has the value basindtype.no_error and the interior-point optimizer has terminated due to a numerical problem, then basis identification is performed if this parameter has the value onoffkey.on.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.bi_ignore_num_error, onoffkey.off)
Generic name:
MSK_IPAR_BI_IGNORE_NUM_ERROR
Groups:
Interior-point method, Basis identification
iparam.bi_max_iterations

Controls the maximum number of simplex iterations allowed to optimize a basis after the basis identification.

Default:
1000000
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.bi_max_iterations, 1000000)
Generic name:
MSK_IPAR_BI_MAX_ITERATIONS
Groups:
Basis identification, Termination criteria
iparam.cache_license

Specifies if the license is kept checked out for the lifetime of the MOSEK environment/model/process (onoffkey.on) or returned to the server immediately after the optimization (onoffkey.off).

By default the license is checked out for the lifetime of the MOSEK environment by the first call to Task.optimize.

Check-in and check-out of licenses have an overhead. Frequent communication with the license server should be avoided.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.cache_license, onoffkey.on)
Generic name:
Groups:
iparam.check_convexity

Specify the level of convexity check on quadratic problems.

Default:
full
Accepted:
none, simple, full (see checkconvexitytype)
Example:
task.putintparam(iparam.check_convexity, checkconvexitytype.full)
Generic name:
MSK_IPAR_CHECK_CONVEXITY
Groups:
Data check
iparam.compress_statfile

Control compression of stat files.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.compress_statfile, onoffkey.on)
Generic name:
MSK_IPAR_COMPRESS_STATFILE
iparam.infeas_generic_names

Controls whether generic names are used when an infeasible subproblem is created.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.infeas_generic_names, onoffkey.off)
Generic name:
MSK_IPAR_INFEAS_GENERIC_NAMES
Groups:
Infeasibility report
iparam.infeas_prefer_primal

If both certificates of primal and dual infeasibility are supplied then only the primal is used when this option is turned on.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.infeas_prefer_primal, onoffkey.on)
Generic name:
MSK_IPAR_INFEAS_PREFER_PRIMAL
Groups:
Overall solver
iparam.infeas_report_auto

Controls whether an infeasibility report is automatically produced after the optimization if the problem is primal or dual infeasible.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.infeas_report_auto, onoffkey.off)
Generic name:
MSK_IPAR_INFEAS_REPORT_AUTO
Groups:
Data input/output, Solution input/output
iparam.infeas_report_level

Controls the amount of information presented in an infeasibility report. Higher values imply more information.

Default:
1
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.infeas_report_level, 1)
Generic name:
MSK_IPAR_INFEAS_REPORT_LEVEL
Groups:
Infeasibility report, Output information
iparam.intpnt_basis

Controls whether the interior-point optimizer also computes an optimal basis.

Default:
always
Accepted:
never, always, no_error, if_feasible, reservered (see basindtype)
Example:
task.putintparam(iparam.intpnt_basis, basindtype.always)
See also:
iparam.bi_ignore_max_iter, iparam.bi_ignore_num_error, iparam.bi_max_iterations, iparam.bi_clean_optimizer
Generic name:
MSK_IPAR_INTPNT_BASIS
Groups:
Interior-point method, Basis identification
iparam.intpnt_diff_step

Controls whether different step sizes are allowed in the primal and dual space.

Default:
on
Accepted:

Example:
task.putintparam(iparam.intpnt_diff_step, onoffkey.on)
Generic name:
MSK_IPAR_INTPNT_DIFF_STEP
Groups:
Interior-point method
iparam.intpnt_hotstart

Currently not in use.

Default:
none
Accepted:
none, primal, dual, primal_dual (see intpnthotstart)
Example:
task.putintparam(iparam.intpnt_hotstart, intpnthotstart.none)
Generic name:
MSK_IPAR_INTPNT_HOTSTART
Groups:
Interior-point method
iparam.intpnt_max_iterations

Controls the maximum number of iterations allowed in the interior-point optimizer.

Default:
400
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.intpnt_max_iterations, 400)
Generic name:
MSK_IPAR_INTPNT_MAX_ITERATIONS
Groups:
Interior-point method, Termination criteria
iparam.intpnt_max_num_cor

Controls the maximum number of correctors allowed by the multiple corrector procedure. A negative value means that MOSEK is making the choice.

Default:
-1
Accepted:
[-1; +inf]
Example:
task.putintparam(iparam.intpnt_max_num_cor, -1)
Generic name:
MSK_IPAR_INTPNT_MAX_NUM_COR
Groups:
Interior-point method
iparam.intpnt_max_num_refinement_steps

Maximum number of steps to be used by the iterative refinement of the search direction. A negative value implies that the optimizer chooses the maximum number of iterative refinement steps.

Default:
-1
Accepted:
[-inf; +inf]
Example:
task.putintparam(iparam.intpnt_max_num_refinement_steps, -1)
Generic name:
MSK_IPAR_INTPNT_MAX_NUM_REFINEMENT_STEPS
Groups:
Interior-point method
iparam.intpnt_multi_thread

Controls whether the interior-point optimizers are allowed to employ multiple threads if more threads is available.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.intpnt_multi_thread, onoffkey.on)
Generic name:
Groups:
Overall system
iparam.intpnt_off_col_trh

Controls how many offending columns are detected in the Jacobian of the constraint matrix.

 $$0$$ no detection $$1$$ aggressive detection $$>1$$ higher values mean less aggressive detection
Default:
40
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.intpnt_off_col_trh, 40)
Generic name:
MSK_IPAR_INTPNT_OFF_COL_TRH
Groups:
Interior-point method
iparam.intpnt_order_gp_num_seeds

The GP ordering is dependent on a random seed. Therefore, trying several random seeds may lead to a better ordering. This parameter controls the number of random seeds tried.

A value of 0 means that MOSEK makes the choice.

Default:
0
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.intpnt_order_gp_num_seeds, 0)
Generic name:
MSK_IPAR_INTPNT_ORDER_GP_NUM_SEEDS
Groups:
Interior-point method
iparam.intpnt_order_method

Controls the ordering strategy used by the interior-point optimizer when factorizing the Newton equation system.

Default:
free
Accepted:
free, appminloc, experimental, try_graphpar, force_graphpar, none (see orderingtype)
Example:
task.putintparam(iparam.intpnt_order_method, orderingtype.free)
Generic name:
MSK_IPAR_INTPNT_ORDER_METHOD
Groups:
Interior-point method
iparam.intpnt_purify

Currently not in use.

Default:
none
Accepted:
none, primal, dual, primal_dual, auto (see purify)
Example:
task.putintparam(iparam.intpnt_purify, purify.none)
Generic name:
MSK_IPAR_INTPNT_PURIFY
Groups:
Interior-point method
iparam.intpnt_regularization_use

Controls whether regularization is allowed.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.intpnt_regularization_use, onoffkey.on)
Generic name:
MSK_IPAR_INTPNT_REGULARIZATION_USE
Groups:
Interior-point method
iparam.intpnt_scaling

Controls how the problem is scaled before the interior-point optimizer is used.

Default:
free
Accepted:
free, none, moderate, aggressive (see scalingtype)
Example:
task.putintparam(iparam.intpnt_scaling, scalingtype.free)
Generic name:
MSK_IPAR_INTPNT_SCALING
Groups:
Interior-point method
iparam.intpnt_solve_form

Controls whether the primal or the dual problem is solved.

Default:
free
Accepted:
free, primal, dual (see solveform)
Example:
task.putintparam(iparam.intpnt_solve_form, solveform.free)
Generic name:
MSK_IPAR_INTPNT_SOLVE_FORM
Groups:
Interior-point method
iparam.intpnt_starting_point

Starting point used by the interior-point optimizer.

Default:
free
Accepted:
free, guess, constant, satisfy_bounds (see startpointtype)
Example:
task.putintparam(iparam.intpnt_starting_point, startpointtype.free)
Generic name:
MSK_IPAR_INTPNT_STARTING_POINT
Groups:
Interior-point method
iparam.license_debug

This option is used to turn on debugging of the license manager.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.license_debug, onoffkey.off)
Generic name:
Groups:
iparam.license_pause_time

If iparam.license_wait is onoffkey.on and no license is available, then MOSEK sleeps a number of milliseconds between each check of whether a license has become free.

Default:
100
Accepted:
[0; 1000000]
Example:
task.putintparam(iparam.license_pause_time, 100)
Generic name:
Groups:
iparam.license_suppress_expire_wrns

Controls whether license features expire warnings are suppressed.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.license_suppress_expire_wrns, onoffkey.off)
Generic name:
Groups:
iparam.license_trh_expiry_wrn

If a license feature expires in a numbers of days less than the value of this parameter then a warning will be issued.

Default:
7
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.license_trh_expiry_wrn, 7)
Generic name:
Groups:
iparam.license_wait

If all licenses are in use MOSEK returns with an error code. However, by turning on this parameter MOSEK will wait for an available license.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.license_wait, onoffkey.off)
Generic name:
Groups:
Overall solver, Overall system, License manager
iparam.log

Please note that if a task is employed to solve a sequence of optimization problems the value of this parameter is reduced by the value of iparam.log_cut_second_opt for the second and any subsequent optimizations.

Default:
10
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.log, 10)
See also:
iparam.log_cut_second_opt
Generic name:
MSK_IPAR_LOG
Groups:
Output information, Logging
iparam.log_ana_pro

Controls amount of output from the problem analyzer.

Default:
1
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.log_ana_pro, 1)
Generic name:
MSK_IPAR_LOG_ANA_PRO
Groups:
Analysis, Logging
iparam.log_bi

Controls the amount of output printed by the basis identification procedure. A higher level implies that more information is logged.

Default:
1
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.log_bi, 1)
Generic name:
MSK_IPAR_LOG_BI
Groups:
Basis identification, Output information, Logging
iparam.log_bi_freq

Controls how frequently the optimizer outputs information about the basis identification and how frequent the user-defined callback function is called.

Default:
2500
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.log_bi_freq, 2500)
Generic name:
MSK_IPAR_LOG_BI_FREQ
Groups:
Basis identification, Output information, Logging
iparam.log_check_convexity

Controls logging in convexity check on quadratic problems. Set to a positive value to turn logging on. If a quadratic coefficient matrix is found to violate the requirement of PSD (NSD) then a list of negative (positive) pivot elements is printed. The absolute value of the pivot elements is also shown.

Default:
0
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.log_check_convexity, 0)
Generic name:
MSK_IPAR_LOG_CHECK_CONVEXITY
Groups:
Data check
iparam.log_cut_second_opt

If a task is employed to solve a sequence of optimization problems, then the value of the log levels is reduced by the value of this parameter. E.g iparam.log and iparam.log_sim are reduced by the value of this parameter for the second and any subsequent optimizations.

Default:
1
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.log_cut_second_opt, 1)
See also:
iparam.log, iparam.log_intpnt, iparam.log_mio, iparam.log_sim
Generic name:
MSK_IPAR_LOG_CUT_SECOND_OPT
Groups:
Output information, Logging
iparam.log_expand

Controls the amount of logging when a data item such as the maximum number constrains is expanded.

Default:
0
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.log_expand, 0)
Generic name:
MSK_IPAR_LOG_EXPAND
Groups:
Output information, Logging
iparam.log_feas_repair

Controls the amount of output printed when performing feasibility repair. A value higher than one means extensive logging.

Default:
1
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.log_feas_repair, 1)
Generic name:
MSK_IPAR_LOG_FEAS_REPAIR
Groups:
Output information, Logging
iparam.log_file

Default:
1
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.log_file, 1)
Generic name:
MSK_IPAR_LOG_FILE
Groups:
Data input/output, Output information, Logging
iparam.log_include_summary

If on, then the solution summary will be printed by Task.optimize, so a separate call to Task.solutionsummary is not necessary.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.log_include_summary, onoffkey.off)
Generic name:
MSK_IPAR_LOG_INCLUDE_SUMMARY
Groups:
Output information, Logging
iparam.log_infeas_ana

Controls amount of output printed by the infeasibility analyzer procedures. A higher level implies that more information is logged.

Default:
1
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.log_infeas_ana, 1)
Generic name:
MSK_IPAR_LOG_INFEAS_ANA
Groups:
Infeasibility report, Output information, Logging
iparam.log_intpnt

Controls amount of output printed by the interior-point optimizer. A higher level implies that more information is logged.

Default:
1
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.log_intpnt, 1)
Generic name:
MSK_IPAR_LOG_INTPNT
Groups:
Interior-point method, Output information, Logging
iparam.log_local_info

Controls whether local identifying information like environment variables, filenames, IP addresses etc. are printed to the log.

Note that this will only affect some functions. Some functions that specifically emit system information will not be affected.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.log_local_info, onoffkey.on)
Generic name:
MSK_IPAR_LOG_LOCAL_INFO
Groups:
Output information, Logging
iparam.log_mio

Controls the log level for the mixed-integer optimizer. A higher level implies that more information is logged.

Default:
4
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.log_mio, 4)
Generic name:
MSK_IPAR_LOG_MIO
Groups:
Mixed-integer optimization, Output information, Logging
iparam.log_mio_freq

Controls how frequent the mixed-integer optimizer prints the log line. It will print line every time iparam.log_mio_freq relaxations have been solved.

Default:
10
Accepted:
[-inf; +inf]
Example:
task.putintparam(iparam.log_mio_freq, 10)
Generic name:
MSK_IPAR_LOG_MIO_FREQ
Groups:
Mixed-integer optimization, Output information, Logging
iparam.log_order

If turned on, then factor lines are added to the log.

Default:
1
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.log_order, 1)
Generic name:
MSK_IPAR_LOG_ORDER
Groups:
Output information, Logging
iparam.log_presolve

Controls amount of output printed by the presolve procedure. A higher level implies that more information is logged.

Default:
1
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.log_presolve, 1)
Generic name:
MSK_IPAR_LOG_PRESOLVE
Groups:
Logging
iparam.log_response

Controls amount of output printed when response codes are reported. A higher level implies that more information is logged.

Default:
0
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.log_response, 0)
Generic name:
MSK_IPAR_LOG_RESPONSE
Groups:
Output information, Logging
iparam.log_sensitivity

Controls the amount of logging during the sensitivity analysis.

• $$0$$. Means no logging information is produced.
• $$1$$. Timing information is printed.
• $$2$$. Sensitivity results are printed.
Default:
1
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.log_sensitivity, 1)
Generic name:
MSK_IPAR_LOG_SENSITIVITY
Groups:
Output information, Logging
iparam.log_sensitivity_opt

Controls the amount of logging from the optimizers employed during the sensitivity analysis. 0 means no logging information is produced.

Default:
0
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.log_sensitivity_opt, 0)
Generic name:
MSK_IPAR_LOG_SENSITIVITY_OPT
Groups:
Output information, Logging
iparam.log_sim

Controls amount of output printed by the simplex optimizer. A higher level implies that more information is logged.

Default:
4
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.log_sim, 4)
Generic name:
MSK_IPAR_LOG_SIM
Groups:
Simplex optimizer, Output information, Logging
iparam.log_sim_freq

Controls how frequent the simplex optimizer outputs information about the optimization and how frequent the user-defined callback function is called.

Default:
1000
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.log_sim_freq, 1000)
Generic name:
MSK_IPAR_LOG_SIM_FREQ
Groups:
Simplex optimizer, Output information, Logging
iparam.log_sim_minor

Currently not in use.

Default:
1
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.log_sim_minor, 1)
Generic name:
MSK_IPAR_LOG_SIM_MINOR
Groups:
Simplex optimizer, Output information
iparam.log_storage

When turned on, MOSEK prints messages regarding the storage usage and allocation.

Default:
0
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.log_storage, 0)
Generic name:
MSK_IPAR_LOG_STORAGE
Groups:
Output information, Overall system, Logging
iparam.max_num_warnings

Each warning is shown a limited number of times controlled by this parameter. A negative value is identical to infinite number of times.

Default:
10
Accepted:
[-inf; +inf]
Example:
task.putintparam(iparam.max_num_warnings, 10)
Generic name:
MSK_IPAR_MAX_NUM_WARNINGS
Groups:
Output information
iparam.mio_branch_dir

Controls whether the mixed-integer optimizer is branching up or down by default.

Default:
free
Accepted:
free, up, down, near, far, root_lp, guided, pseudocost (see branchdir)
Example:
task.putintparam(iparam.mio_branch_dir, branchdir.free)
Generic name:
MSK_IPAR_MIO_BRANCH_DIR
Groups:
Mixed-integer optimization
iparam.mio_conic_outer_approximation

If this option is turned on outer approximation is used when solving relaxations of conic problems; otherwise interior point is used.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.mio_conic_outer_approximation, onoffkey.off)
Generic name:
MSK_IPAR_MIO_CONIC_OUTER_APPROXIMATION
Groups:
Mixed-integer optimization
iparam.mio_cut_clique

Controls whether clique cuts should be generated.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.mio_cut_clique, onoffkey.on)
Generic name:
MSK_IPAR_MIO_CUT_CLIQUE
Groups:
Mixed-integer optimization
iparam.mio_cut_cmir

Controls whether mixed integer rounding cuts should be generated.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.mio_cut_cmir, onoffkey.on)
Generic name:
MSK_IPAR_MIO_CUT_CMIR
Groups:
Mixed-integer optimization
iparam.mio_cut_gmi

Controls whether GMI cuts should be generated.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.mio_cut_gmi, onoffkey.on)
Generic name:
MSK_IPAR_MIO_CUT_GMI
Groups:
Mixed-integer optimization
iparam.mio_cut_implied_bound

Controls whether implied bound cuts should be generated.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.mio_cut_implied_bound, onoffkey.off)
Generic name:
MSK_IPAR_MIO_CUT_IMPLIED_BOUND
Groups:
Mixed-integer optimization
iparam.mio_cut_knapsack_cover

Controls whether knapsack cover cuts should be generated.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.mio_cut_knapsack_cover, onoffkey.off)
Generic name:
MSK_IPAR_MIO_CUT_KNAPSACK_COVER
Groups:
Mixed-integer optimization
iparam.mio_cut_selection_level

Controls how aggressively generated cuts are selected to be included in the relaxation.

• $$-1$$. The optimizer chooses the level of cut selection
• $$0$$. Generated cuts less likely to be added to the relaxation
• $$1$$. Cuts are more aggressively selected to be included in the relaxation
Default:
-1
Accepted:
[-1; +1]
Example:
task.putintparam(iparam.mio_cut_selection_level, -1)
Generic name:
MSK_IPAR_MIO_CUT_SELECTION_LEVEL
Groups:
Mixed-integer optimization
iparam.mio_feaspump_level

Controls the way the Feasibility Pump heuristic is employed by the mixed-integer optimizer.

• $$-1$$. The optimizer chooses how the Feasibility Pump is used
• $$0$$. The Feasibility Pump is disabled
• $$1$$. The Feasibility Pump is enabled with an effort to improve solution quality
• $$2$$. The Feasibility Pump is enabled with an effort to reach feasibility early
Default:
-1
Accepted:
[-1; 2]
Example:
task.putintparam(iparam.mio_feaspump_level, -1)
Generic name:
MSK_IPAR_MIO_FEASPUMP_LEVEL
Groups:
Mixed-integer optimization
iparam.mio_heuristic_level

Controls the heuristic employed by the mixed-integer optimizer to locate an initial good integer feasible solution. A value of zero means the heuristic is not used at all. A larger value than $$0$$ means that a gradually more sophisticated heuristic is used which is computationally more expensive. A negative value implies that the optimizer chooses the heuristic. Normally a value around $$3$$ to $$5$$ should be optimal.

Default:
-1
Accepted:
[-inf; +inf]
Example:
task.putintparam(iparam.mio_heuristic_level, -1)
Generic name:
MSK_IPAR_MIO_HEURISTIC_LEVEL
Groups:
Mixed-integer optimization
iparam.mio_max_num_branches

Maximum number of branches allowed during the branch and bound search. A negative value means infinite.

Default:
-1
Accepted:
[-inf; +inf]
Example:
task.putintparam(iparam.mio_max_num_branches, -1)
Generic name:
MSK_IPAR_MIO_MAX_NUM_BRANCHES
Groups:
Mixed-integer optimization, Termination criteria
iparam.mio_max_num_relaxs

Maximum number of relaxations allowed during the branch and bound search. A negative value means infinite.

Default:
-1
Accepted:
[-inf; +inf]
Example:
task.putintparam(iparam.mio_max_num_relaxs, -1)
Generic name:
MSK_IPAR_MIO_MAX_NUM_RELAXS
Groups:
Mixed-integer optimization
iparam.mio_max_num_root_cut_rounds

Maximum number of cut separation rounds at the root node.

Default:
100
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.mio_max_num_root_cut_rounds, 100)
Generic name:
MSK_IPAR_MIO_MAX_NUM_ROOT_CUT_ROUNDS
Groups:
Mixed-integer optimization, Termination criteria
iparam.mio_max_num_solutions

The mixed-integer optimizer can be terminated after a certain number of different feasible solutions has been located. If this parameter has the value $$n>0$$, then the mixed-integer optimizer will be terminated when $$n$$ feasible solutions have been located.

Default:
-1
Accepted:
[-inf; +inf]
Example:
task.putintparam(iparam.mio_max_num_solutions, -1)
Generic name:
MSK_IPAR_MIO_MAX_NUM_SOLUTIONS
Groups:
Mixed-integer optimization, Termination criteria
iparam.mio_mode

Controls whether the optimizer includes the integer restrictions when solving a (mixed) integer optimization problem.

Default:
satisfied
Accepted:
ignored, satisfied (see miomode)
Example:
task.putintparam(iparam.mio_mode, miomode.satisfied)
Generic name:
MSK_IPAR_MIO_MODE
Groups:
Overall solver
iparam.mio_node_optimizer

Controls which optimizer is employed at the non-root nodes in the mixed-integer optimizer.

Default:
free
Accepted:
free, intpnt, conic, primal_simplex, dual_simplex, free_simplex, mixed_int (see optimizertype)
Example:
task.putintparam(iparam.mio_node_optimizer, optimizertype.free)
Generic name:
MSK_IPAR_MIO_NODE_OPTIMIZER
Groups:
Mixed-integer optimization
iparam.mio_node_selection

Controls the node selection strategy employed by the mixed-integer optimizer.

Default:
free
Accepted:
free, first, best, pseudo (see mionodeseltype)
Example:
task.putintparam(iparam.mio_node_selection, mionodeseltype.free)
Generic name:
MSK_IPAR_MIO_NODE_SELECTION
Groups:
Mixed-integer optimization
iparam.mio_perspective_reformulate

Enables or disables perspective reformulation in presolve.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.mio_perspective_reformulate, onoffkey.on)
Generic name:
MSK_IPAR_MIO_PERSPECTIVE_REFORMULATE
Groups:
Mixed-integer optimization
iparam.mio_probing_level

Controls the amount of probing employed by the mixed-integer optimizer in presolve.

• $$-1$$. The optimizer chooses the level of probing employed
• $$0$$. Probing is disabled
• $$1$$. A low amount of probing is employed
• $$2$$. A medium amount of probing is employed
• $$3$$. A high amount of probing is employed
Default:
-1
Accepted:
[-1; 3]
Example:
task.putintparam(iparam.mio_probing_level, -1)
Generic name:
MSK_IPAR_MIO_PROBING_LEVEL
Groups:
Mixed-integer optimization
iparam.mio_propagate_objective_constraint

Use objective domain propagation.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.mio_propagate_objective_constraint, onoffkey.off)
Generic name:
MSK_IPAR_MIO_PROPAGATE_OBJECTIVE_CONSTRAINT
Groups:
Mixed-integer optimization
iparam.mio_rins_max_nodes

Controls the maximum number of nodes allowed in each call to the RINS heuristic. The default value of -1 means that the value is determined automatically. A value of zero turns off the heuristic.

Default:
-1
Accepted:
[-1; +inf]
Example:
task.putintparam(iparam.mio_rins_max_nodes, -1)
Generic name:
MSK_IPAR_MIO_RINS_MAX_NODES
Groups:
Mixed-integer optimization
iparam.mio_root_optimizer

Controls which optimizer is employed at the root node in the mixed-integer optimizer.

Default:
free
Accepted:
free, intpnt, conic, primal_simplex, dual_simplex, free_simplex, mixed_int (see optimizertype)
Example:
task.putintparam(iparam.mio_root_optimizer, optimizertype.free)
Generic name:
MSK_IPAR_MIO_ROOT_OPTIMIZER
Groups:
Mixed-integer optimization
iparam.mio_root_repeat_presolve_level

Controls whether presolve can be repeated at root node.

• $$-1$$. The optimizer chooses whether presolve is repeated
• $$0$$. Never repeat presolve
• $$1$$. Always repeat presolve
Default:
-1
Accepted:
[-1; 1]
Example:
task.putintparam(iparam.mio_root_repeat_presolve_level, -1)
Generic name:
MSK_IPAR_MIO_ROOT_REPEAT_PRESOLVE_LEVEL
Groups:
Mixed-integer optimization
iparam.mio_seed

Sets the random seed used for randomization in the mixed integer optimizer. Selecting a different seed can change the path the optimizer takes to the optimal solution.

Default:
42
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.mio_seed, 42)
Generic name:
MSK_IPAR_MIO_SEED
Groups:
Mixed-integer optimization
iparam.mio_vb_detection_level

Controls how much effort is put into detecting variable bounds.

• $$-1$$. The optimizer chooses
• $$0$$. No variable bounds are detected
• $$1$$. Only detect variable bounds that are directly represented in the problem
• $$2$$. Detect variable bounds in probing
Default:
-1
Accepted:
[-1; +2]
Example:
task.putintparam(iparam.mio_vb_detection_level, -1)
Generic name:
MSK_IPAR_MIO_VB_DETECTION_LEVEL
Groups:
Mixed-integer optimization
iparam.mt_spincount

Set the number of iterations to spin before sleeping.

Default:
0
Accepted:
[0; 1000000000]
Example:
task.putintparam(iparam.mt_spincount, 0)
Generic name:
MSK_IPAR_MT_SPINCOUNT
Groups:
Overall system
iparam.num_threads

Controls the number of threads employed by the optimizer. If set to 0 the number of threads used will be equal to the number of cores detected on the machine.

If using the conic optimizer, the value of this parameter set at first optimization remains constant through the lifetime of the process. MOSEK will allocate a thread pool of given size, and changing the parameter value later will have no effect. It will, however, remain possible to demand single-threaded execution by setting iparam.intpnt_multi_thread.

For the mixed-integer optimizer and interior-point linear optimizer there is no such restriction.

Default:
0
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.num_threads, 0)
Generic name:
Groups:
Overall system
iparam.opf_write_header

Write a text header with date and MOSEK version in an OPF file.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.opf_write_header, onoffkey.on)
Generic name:
Groups:
Data input/output
iparam.opf_write_hints

Write a hint section with problem dimensions in the beginning of an OPF file.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.opf_write_hints, onoffkey.on)
Generic name:
MSK_IPAR_OPF_WRITE_HINTS
Groups:
Data input/output
iparam.opf_write_line_length

Aim to keep lines in OPF files not much longer than this.

Default:
80
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.opf_write_line_length, 80)
Generic name:
MSK_IPAR_OPF_WRITE_LINE_LENGTH
Groups:
Data input/output
iparam.opf_write_parameters

Write a parameter section in an OPF file.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.opf_write_parameters, onoffkey.off)
Generic name:
MSK_IPAR_OPF_WRITE_PARAMETERS
Groups:
Data input/output
iparam.opf_write_problem

Write objective, constraints, bounds etc. to an OPF file.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.opf_write_problem, onoffkey.on)
Generic name:
MSK_IPAR_OPF_WRITE_PROBLEM
Groups:
Data input/output
iparam.opf_write_sol_bas

If iparam.opf_write_solutions is onoffkey.on and a basic solution is defined, include the basic solution in OPF files.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.opf_write_sol_bas, onoffkey.on)
Generic name:
MSK_IPAR_OPF_WRITE_SOL_BAS
Groups:
Data input/output
iparam.opf_write_sol_itg

If iparam.opf_write_solutions is onoffkey.on and an integer solution is defined, write the integer solution in OPF files.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.opf_write_sol_itg, onoffkey.on)
Generic name:
MSK_IPAR_OPF_WRITE_SOL_ITG
Groups:
Data input/output
iparam.opf_write_sol_itr

If iparam.opf_write_solutions is onoffkey.on and an interior solution is defined, write the interior solution in OPF files.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.opf_write_sol_itr, onoffkey.on)
Generic name:
MSK_IPAR_OPF_WRITE_SOL_ITR
Groups:
Data input/output
iparam.opf_write_solutions

Enable inclusion of solutions in the OPF files.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.opf_write_solutions, onoffkey.off)
Generic name:
MSK_IPAR_OPF_WRITE_SOLUTIONS
Groups:
Data input/output
iparam.optimizer

The parameter controls which optimizer is used to optimize the task.

Default:
free
Accepted:
free, intpnt, conic, primal_simplex, dual_simplex, free_simplex, mixed_int (see optimizertype)
Example:
task.putintparam(iparam.optimizer, optimizertype.free)
Generic name:
MSK_IPAR_OPTIMIZER
Groups:
Overall solver
iparam.param_read_case_name

If turned on, then names in the parameter file are case sensitive.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.param_read_case_name, onoffkey.on)
Generic name:
Groups:
Data input/output
iparam.param_read_ign_error

If turned on, then errors in parameter settings is ignored.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.param_read_ign_error, onoffkey.off)
Generic name:
Groups:
Data input/output
iparam.presolve_eliminator_max_fill

Controls the maximum amount of fill-in that can be created by one pivot in the elimination phase of the presolve. A negative value means the parameter value is selected automatically.

Default:
-1
Accepted:
[-inf; +inf]
Example:
task.putintparam(iparam.presolve_eliminator_max_fill, -1)
Generic name:
MSK_IPAR_PRESOLVE_ELIMINATOR_MAX_FILL
Groups:
Presolve
iparam.presolve_eliminator_max_num_tries

Control the maximum number of times the eliminator is tried. A negative value implies MOSEK decides.

Default:
-1
Accepted:
[-inf; +inf]
Example:
task.putintparam(iparam.presolve_eliminator_max_num_tries, -1)
Generic name:
MSK_IPAR_PRESOLVE_ELIMINATOR_MAX_NUM_TRIES
Groups:
Presolve
iparam.presolve_level

Currently not used.

Default:
-1
Accepted:
[-inf; +inf]
Example:
task.putintparam(iparam.presolve_level, -1)
Generic name:
MSK_IPAR_PRESOLVE_LEVEL
Groups:
Overall solver, Presolve
iparam.presolve_lindep_abs_work_trh

Controls linear dependency check in presolve. The linear dependency check is potentially computationally expensive.

Default:
100
Accepted:
[-inf; +inf]
Example:
task.putintparam(iparam.presolve_lindep_abs_work_trh, 100)
Generic name:
MSK_IPAR_PRESOLVE_LINDEP_ABS_WORK_TRH
Groups:
Presolve
iparam.presolve_lindep_rel_work_trh

Controls linear dependency check in presolve. The linear dependency check is potentially computationally expensive.

Default:
100
Accepted:
[-inf; +inf]
Example:
task.putintparam(iparam.presolve_lindep_rel_work_trh, 100)
Generic name:
MSK_IPAR_PRESOLVE_LINDEP_REL_WORK_TRH
Groups:
Presolve
iparam.presolve_lindep_use

Controls whether the linear constraints are checked for linear dependencies.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.presolve_lindep_use, onoffkey.on)
Generic name:
MSK_IPAR_PRESOLVE_LINDEP_USE
Groups:
Presolve
iparam.presolve_max_num_pass

Control the maximum number of times presolve passes over the problem. A negative value implies MOSEK decides.

Default:
-1
Accepted:
[-inf; +inf]
Example:
task.putintparam(iparam.presolve_max_num_pass, -1)
Generic name:
MSK_IPAR_PRESOLVE_MAX_NUM_PASS
Groups:
Presolve
iparam.presolve_max_num_reductions

Controls the maximum number of reductions performed by the presolve. The value of the parameter is normally only changed in connection with debugging. A negative value implies that an infinite number of reductions are allowed.

Default:
-1
Accepted:
[-inf; +inf]
Example:
task.putintparam(iparam.presolve_max_num_reductions, -1)
Generic name:
MSK_IPAR_PRESOLVE_MAX_NUM_REDUCTIONS
Groups:
Overall solver, Presolve
iparam.presolve_use

Controls whether the presolve is applied to a problem before it is optimized.

Default:
free
Accepted:
off, on, free (see presolvemode)
Example:
task.putintparam(iparam.presolve_use, presolvemode.free)
Generic name:
MSK_IPAR_PRESOLVE_USE
Groups:
Overall solver, Presolve
iparam.primal_repair_optimizer

Controls which optimizer that is used to find the optimal repair.

Default:
free
Accepted:
free, intpnt, conic, primal_simplex, dual_simplex, free_simplex, mixed_int (see optimizertype)
Example:
task.putintparam(iparam.primal_repair_optimizer, optimizertype.free)
Generic name:
MSK_IPAR_PRIMAL_REPAIR_OPTIMIZER
Groups:
Overall solver
iparam.ptf_write_transform

If iparam.ptf_write_transform is onoffkey.on, constraint blocks with identifiable conic slacks are transformed into conic constraints and the slacks are eliminated.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.ptf_write_transform, onoffkey.on)
Generic name:
MSK_IPAR_PTF_WRITE_TRANSFORM
Groups:
Data input/output
iparam.read_debug

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.read_debug, onoffkey.off)
Generic name:
Groups:
Data input/output
iparam.read_keep_free_con

Controls whether the free constraints are included in the problem.

Default:
off
Accepted:

Example:
task.putintparam(iparam.read_keep_free_con, onoffkey.off)
Generic name:
Groups:
Data input/output
iparam.read_lp_drop_new_vars_in_bou

If this option is turned on, MOSEK will drop variables that are defined for the first time in the bounds section.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.read_lp_drop_new_vars_in_bou, onoffkey.off)
Generic name:
Groups:
Data input/output
iparam.read_lp_quoted_names

If a name is in quotes when reading an LP file, the quotes will be removed.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.read_lp_quoted_names, onoffkey.on)
Generic name:
Groups:
Data input/output
iparam.read_mps_format

Controls how strictly the MPS file reader interprets the MPS format.

Default:
free
Accepted:
strict, relaxed, free, cplex (see mpsformat)
Example:
task.putintparam(iparam.read_mps_format, mpsformat.free)
Generic name:
Groups:
Data input/output
iparam.read_mps_width

Controls the maximal number of characters allowed in one line of the MPS file.

Default:
1024
Accepted:
[80; +inf]
Example:
task.putintparam(iparam.read_mps_width, 1024)
Generic name:
Groups:
Data input/output
iparam.read_task_ignore_param

Controls whether MOSEK should ignore the parameter setting defined in the task file and use the default parameter setting instead.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.read_task_ignore_param, onoffkey.off)
Generic name:
Groups:
Data input/output
iparam.remove_unused_solutions

Removes unused solutions before the optimization is performed.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.remove_unused_solutions, onoffkey.off)
Generic name:
MSK_IPAR_REMOVE_UNUSED_SOLUTIONS
Groups:
Overall system
iparam.sensitivity_all

If set to onoffkey.on, then Task.sensitivityreport analyzes all bounds and variables instead of reading a specification from the file.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.sensitivity_all, onoffkey.off)
Generic name:
MSK_IPAR_SENSITIVITY_ALL
Groups:
Overall solver
iparam.sensitivity_optimizer

Controls which optimizer is used for optimal partition sensitivity analysis.

Default:
free_simplex
Accepted:
free, intpnt, conic, primal_simplex, dual_simplex, free_simplex, mixed_int (see optimizertype)
Example:
task.putintparam(iparam.sensitivity_optimizer, optimizertype.free_simplex)
Generic name:
MSK_IPAR_SENSITIVITY_OPTIMIZER
Groups:
Overall solver, Simplex optimizer
iparam.sensitivity_type

Controls which type of sensitivity analysis is to be performed.

Default:
basis
Accepted:
basis (see sensitivitytype)
Example:
task.putintparam(iparam.sensitivity_type, sensitivitytype.basis)
Generic name:
MSK_IPAR_SENSITIVITY_TYPE
Groups:
Overall solver
iparam.sim_basis_factor_use

Controls whether an LU factorization of the basis is used in a hot-start. Forcing a refactorization sometimes improves the stability of the simplex optimizers, but in most cases there is a performance penalty.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.sim_basis_factor_use, onoffkey.on)
Generic name:
MSK_IPAR_SIM_BASIS_FACTOR_USE
Groups:
Simplex optimizer
iparam.sim_degen

Controls how aggressively degeneration is handled.

Default:
free
Accepted:
none, free, aggressive, moderate, minimum (see simdegen)
Example:
task.putintparam(iparam.sim_degen, simdegen.free)
Generic name:
MSK_IPAR_SIM_DEGEN
Groups:
Simplex optimizer
iparam.sim_dual_crash

Controls whether crashing is performed in the dual simplex optimizer. If this parameter is set to $$x$$, then a crash will be performed if a basis consists of more than $$(100-x)\mod f_v$$ entries, where $$f_v$$ is the number of fixed variables.

Default:
90
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.sim_dual_crash, 90)
Generic name:
MSK_IPAR_SIM_DUAL_CRASH
Groups:
Dual simplex
iparam.sim_dual_phaseone_method

An experimental feature.

Default:
0
Accepted:
[0; 10]
Example:
task.putintparam(iparam.sim_dual_phaseone_method, 0)
Generic name:
MSK_IPAR_SIM_DUAL_PHASEONE_METHOD
Groups:
Simplex optimizer
iparam.sim_dual_restrict_selection

The dual simplex optimizer can use a so-called restricted selection/pricing strategy to choose the outgoing variable. Hence, if restricted selection is applied, then the dual simplex optimizer first choose a subset of all the potential outgoing variables. Next, for some time it will choose the outgoing variable only among the subset. From time to time the subset is redefined. A larger value of this parameter implies that the optimizer will be more aggressive in its restriction strategy, i.e. a value of 0 implies that the restriction strategy is not applied at all.

Default:
50
Accepted:
[0; 100]
Example:
task.putintparam(iparam.sim_dual_restrict_selection, 50)
Generic name:
MSK_IPAR_SIM_DUAL_RESTRICT_SELECTION
Groups:
Dual simplex
iparam.sim_dual_selection

Controls the choice of the incoming variable, known as the selection strategy, in the dual simplex optimizer.

Default:
free
Accepted:
free, full, ase, devex, se, partial (see simseltype)
Example:
task.putintparam(iparam.sim_dual_selection, simseltype.free)
Generic name:
MSK_IPAR_SIM_DUAL_SELECTION
Groups:
Dual simplex
iparam.sim_exploit_dupvec

Controls if the simplex optimizers are allowed to exploit duplicated columns.

Default:
off
Accepted:
on, off, free (see simdupvec)
Example:
task.putintparam(iparam.sim_exploit_dupvec, simdupvec.off)
Generic name:
MSK_IPAR_SIM_EXPLOIT_DUPVEC
Groups:
Simplex optimizer
iparam.sim_hotstart

Controls the type of hot-start that the simplex optimizer perform.

Default:
free
Accepted:
none, free, status_keys (see simhotstart)
Example:
task.putintparam(iparam.sim_hotstart, simhotstart.free)
Generic name:
MSK_IPAR_SIM_HOTSTART
Groups:
Simplex optimizer
iparam.sim_hotstart_lu

Determines if the simplex optimizer should exploit the initial factorization.

Default:
on
Accepted:

Example:
task.putintparam(iparam.sim_hotstart_lu, onoffkey.on)
Generic name:
MSK_IPAR_SIM_HOTSTART_LU
Groups:
Simplex optimizer
iparam.sim_max_iterations

Maximum number of iterations that can be used by a simplex optimizer.

Default:
10000000
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.sim_max_iterations, 10000000)
Generic name:
MSK_IPAR_SIM_MAX_ITERATIONS
Groups:
Simplex optimizer, Termination criteria
iparam.sim_max_num_setbacks

Controls how many set-backs are allowed within a simplex optimizer. A set-back is an event where the optimizer moves in the wrong direction. This is impossible in theory but may happen due to numerical problems.

Default:
250
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.sim_max_num_setbacks, 250)
Generic name:
MSK_IPAR_SIM_MAX_NUM_SETBACKS
Groups:
Simplex optimizer
iparam.sim_non_singular

Controls if the simplex optimizer ensures a non-singular basis, if possible.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.sim_non_singular, onoffkey.on)
Generic name:
MSK_IPAR_SIM_NON_SINGULAR
Groups:
Simplex optimizer
iparam.sim_primal_crash

Controls whether crashing is performed in the primal simplex optimizer. In general, if a basis consists of more than (100-this parameter value)% fixed variables, then a crash will be performed.

Default:
90
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.sim_primal_crash, 90)
Generic name:
MSK_IPAR_SIM_PRIMAL_CRASH
Groups:
Primal simplex
iparam.sim_primal_phaseone_method

An experimental feature.

Default:
0
Accepted:
[0; 10]
Example:
task.putintparam(iparam.sim_primal_phaseone_method, 0)
Generic name:
MSK_IPAR_SIM_PRIMAL_PHASEONE_METHOD
Groups:
Simplex optimizer
iparam.sim_primal_restrict_selection

The primal simplex optimizer can use a so-called restricted selection/pricing strategy to choose the outgoing variable. Hence, if restricted selection is applied, then the primal simplex optimizer first choose a subset of all the potential incoming variables. Next, for some time it will choose the incoming variable only among the subset. From time to time the subset is redefined. A larger value of this parameter implies that the optimizer will be more aggressive in its restriction strategy, i.e. a value of 0 implies that the restriction strategy is not applied at all.

Default:
50
Accepted:
[0; 100]
Example:
task.putintparam(iparam.sim_primal_restrict_selection, 50)
Generic name:
MSK_IPAR_SIM_PRIMAL_RESTRICT_SELECTION
Groups:
Primal simplex
iparam.sim_primal_selection

Controls the choice of the incoming variable, known as the selection strategy, in the primal simplex optimizer.

Default:
free
Accepted:
free, full, ase, devex, se, partial (see simseltype)
Example:
task.putintparam(iparam.sim_primal_selection, simseltype.free)
Generic name:
MSK_IPAR_SIM_PRIMAL_SELECTION
Groups:
Primal simplex
iparam.sim_refactor_freq

Controls how frequent the basis is refactorized. The value 0 means that the optimizer determines the best point of refactorization. It is strongly recommended NOT to change this parameter.

Default:
0
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.sim_refactor_freq, 0)
Generic name:
MSK_IPAR_SIM_REFACTOR_FREQ
Groups:
Simplex optimizer
iparam.sim_reformulation

Controls if the simplex optimizers are allowed to reformulate the problem.

Default:
off
Accepted:
on, off, free, aggressive (see simreform)
Example:
task.putintparam(iparam.sim_reformulation, simreform.off)
Generic name:
MSK_IPAR_SIM_REFORMULATION
Groups:
Simplex optimizer
iparam.sim_save_lu

Controls if the LU factorization stored should be replaced with the LU factorization corresponding to the initial basis.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.sim_save_lu, onoffkey.off)
Generic name:
MSK_IPAR_SIM_SAVE_LU
Groups:
Simplex optimizer
iparam.sim_scaling

Controls how much effort is used in scaling the problem before a simplex optimizer is used.

Default:
free
Accepted:
free, none, moderate, aggressive (see scalingtype)
Example:
task.putintparam(iparam.sim_scaling, scalingtype.free)
Generic name:
MSK_IPAR_SIM_SCALING
Groups:
Simplex optimizer
iparam.sim_scaling_method

Controls how the problem is scaled before a simplex optimizer is used.

Default:
pow2
Accepted:
pow2, free (see scalingmethod)
Example:
task.putintparam(iparam.sim_scaling_method, scalingmethod.pow2)
Generic name:
MSK_IPAR_SIM_SCALING_METHOD
Groups:
Simplex optimizer
iparam.sim_seed

Sets the random seed used for randomization in the simplex optimizers.

Default:
23456
Accepted:
[0; 32749]
Example:
task.putintparam(iparam.sim_seed, 23456)
Generic name:
MSK_IPAR_SIM_SEED
Groups:
Simplex optimizer
iparam.sim_solve_form

Controls whether the primal or the dual problem is solved by the primal-/dual-simplex optimizer.

Default:
free
Accepted:
free, primal, dual (see solveform)
Example:
task.putintparam(iparam.sim_solve_form, solveform.free)
Generic name:
MSK_IPAR_SIM_SOLVE_FORM
Groups:
Simplex optimizer
iparam.sim_stability_priority

Controls how high priority the numerical stability should be given.

Default:
50
Accepted:
[0; 100]
Example:
task.putintparam(iparam.sim_stability_priority, 50)
Generic name:
MSK_IPAR_SIM_STABILITY_PRIORITY
Groups:
Simplex optimizer
iparam.sim_switch_optimizer

The simplex optimizer sometimes chooses to solve the dual problem instead of the primal problem. This implies that if you have chosen to use the dual simplex optimizer and the problem is dualized, then it actually makes sense to use the primal simplex optimizer instead. If this parameter is on and the problem is dualized and furthermore the simplex optimizer is chosen to be the primal (dual) one, then it is switched to the dual (primal).

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.sim_switch_optimizer, onoffkey.off)
Generic name:
MSK_IPAR_SIM_SWITCH_OPTIMIZER
Groups:
Simplex optimizer
iparam.sol_filter_keep_basic

If turned on, then basic and super basic constraints and variables are written to the solution file independent of the filter setting.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.sol_filter_keep_basic, onoffkey.off)
Generic name:
MSK_IPAR_SOL_FILTER_KEEP_BASIC
Groups:
Solution input/output
iparam.sol_filter_keep_ranged

If turned on, then ranged constraints and variables are written to the solution file independent of the filter setting.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.sol_filter_keep_ranged, onoffkey.off)
Generic name:
MSK_IPAR_SOL_FILTER_KEEP_RANGED
Groups:
Solution input/output
iparam.sol_read_name_width

When a solution is read by MOSEK and some constraint, variable or cone names contain blanks, then a maximum name width much be specified. A negative value implies that no name contain blanks.

Default:
-1
Accepted:
[-inf; +inf]
Example:
task.putintparam(iparam.sol_read_name_width, -1)
Generic name:
Groups:
Data input/output, Solution input/output
iparam.sol_read_width

Controls the maximal acceptable width of line in the solutions when read by MOSEK.

Default:
1024
Accepted:
[80; +inf]
Example:
task.putintparam(iparam.sol_read_width, 1024)
Generic name:
Groups:
Data input/output, Solution input/output
iparam.solution_callback

Indicates whether solution callbacks will be performed during the optimization.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.solution_callback, onoffkey.off)
Generic name:
MSK_IPAR_SOLUTION_CALLBACK
Groups:
Progress callback, Overall solver
iparam.timing_level

Controls the amount of timing performed inside MOSEK.

Default:
1
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.timing_level, 1)
Generic name:
MSK_IPAR_TIMING_LEVEL
Groups:
Overall system
iparam.write_bas_constraints

Controls whether the constraint section is written to the basic solution file.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.write_bas_constraints, onoffkey.on)
Generic name:
MSK_IPAR_WRITE_BAS_CONSTRAINTS
Groups:
Data input/output, Solution input/output
iparam.write_bas_head

Controls whether the header section is written to the basic solution file.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.write_bas_head, onoffkey.on)
Generic name:
Groups:
Data input/output, Solution input/output
iparam.write_bas_variables

Controls whether the variables section is written to the basic solution file.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.write_bas_variables, onoffkey.on)
Generic name:
MSK_IPAR_WRITE_BAS_VARIABLES
Groups:
Data input/output, Solution input/output
iparam.write_compression

Controls whether the data file is compressed while it is written. 0 means no compression while higher values mean more compression.

Default:
9
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.write_compression, 9)
Generic name:
MSK_IPAR_WRITE_COMPRESSION
Groups:
Data input/output
iparam.write_data_param

If this option is turned on the parameter settings are written to the data file as parameters.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.write_data_param, onoffkey.off)
Generic name:
MSK_IPAR_WRITE_DATA_PARAM
Groups:
Data input/output
iparam.write_free_con

Controls whether the free constraints are written to the data file.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.write_free_con, onoffkey.on)
Generic name:
MSK_IPAR_WRITE_FREE_CON
Groups:
Data input/output
iparam.write_generic_names

Controls whether generic names should be used instead of user-defined names when writing to the data file.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.write_generic_names, onoffkey.off)
Generic name:
MSK_IPAR_WRITE_GENERIC_NAMES
Groups:
Data input/output
iparam.write_generic_names_io

Index origin used in generic names.

Default:
1
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.write_generic_names_io, 1)
Generic name:
MSK_IPAR_WRITE_GENERIC_NAMES_IO
Groups:
Data input/output
iparam.write_ignore_incompatible_items

Controls if the writer ignores incompatible problem items when writing files.

Default:
off
Accepted:

• on: Ignore items that cannot be written to the current output file format.
• off: Produce an error if the problem contains items that cannot the written to the current output file format.
Example:
task.putintparam(iparam.write_ignore_incompatible_items, onoffkey.off)
Generic name:
MSK_IPAR_WRITE_IGNORE_INCOMPATIBLE_ITEMS
Groups:
Data input/output
iparam.write_int_constraints

Controls whether the constraint section is written to the integer solution file.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.write_int_constraints, onoffkey.on)
Generic name:
MSK_IPAR_WRITE_INT_CONSTRAINTS
Groups:
Data input/output, Solution input/output
iparam.write_int_head

Controls whether the header section is written to the integer solution file.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.write_int_head, onoffkey.on)
Generic name:
Groups:
Data input/output, Solution input/output
iparam.write_int_variables

Controls whether the variables section is written to the integer solution file.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.write_int_variables, onoffkey.on)
Generic name:
MSK_IPAR_WRITE_INT_VARIABLES
Groups:
Data input/output, Solution input/output
iparam.write_lp_full_obj

Write all variables, including the ones with 0-coefficients, in the objective.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.write_lp_full_obj, onoffkey.on)
Generic name:
MSK_IPAR_WRITE_LP_FULL_OBJ
Groups:
Data input/output
iparam.write_lp_line_width

Maximum width of line in an LP file written by MOSEK.

Default:
80
Accepted:
[40; +inf]
Example:
task.putintparam(iparam.write_lp_line_width, 80)
Generic name:
MSK_IPAR_WRITE_LP_LINE_WIDTH
Groups:
Data input/output
iparam.write_lp_quoted_names

If this option is turned on, then MOSEK will quote invalid LP names when writing an LP file.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.write_lp_quoted_names, onoffkey.on)
Generic name:
MSK_IPAR_WRITE_LP_QUOTED_NAMES
Groups:
Data input/output
iparam.write_lp_strict_format

Controls whether LP output files satisfy the LP format strictly.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.write_lp_strict_format, onoffkey.off)
Generic name:
MSK_IPAR_WRITE_LP_STRICT_FORMAT
Groups:
Data input/output
iparam.write_lp_terms_per_line

Maximum number of terms on a single line in an LP file written by MOSEK. 0 means unlimited.

Default:
10
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.write_lp_terms_per_line, 10)
Generic name:
MSK_IPAR_WRITE_LP_TERMS_PER_LINE
Groups:
Data input/output
iparam.write_mps_format

Controls in which format the MPS is written.

Default:
free
Accepted:
strict, relaxed, free, cplex (see mpsformat)
Example:
task.putintparam(iparam.write_mps_format, mpsformat.free)
Generic name:
MSK_IPAR_WRITE_MPS_FORMAT
Groups:
Data input/output
iparam.write_mps_int

Controls if marker records are written to the MPS file to indicate whether variables are integer restricted.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.write_mps_int, onoffkey.on)
Generic name:
MSK_IPAR_WRITE_MPS_INT
Groups:
Data input/output
iparam.write_precision

Controls the precision with which double numbers are printed in the MPS data file. In general it is not worthwhile to use a value higher than 15.

Default:
15
Accepted:
[0; +inf]
Example:
task.putintparam(iparam.write_precision, 15)
Generic name:
MSK_IPAR_WRITE_PRECISION
Groups:
Data input/output
iparam.write_sol_barvariables

Controls whether the symmetric matrix variables section is written to the solution file.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.write_sol_barvariables, onoffkey.on)
Generic name:
MSK_IPAR_WRITE_SOL_BARVARIABLES
Groups:
Data input/output, Solution input/output
iparam.write_sol_constraints

Controls whether the constraint section is written to the solution file.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.write_sol_constraints, onoffkey.on)
Generic name:
MSK_IPAR_WRITE_SOL_CONSTRAINTS
Groups:
Data input/output, Solution input/output
iparam.write_sol_head

Controls whether the header section is written to the solution file.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.write_sol_head, onoffkey.on)
Generic name:
Groups:
Data input/output, Solution input/output
iparam.write_sol_ignore_invalid_names

Even if the names are invalid MPS names, then they are employed when writing the solution file.

Default:
off
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.write_sol_ignore_invalid_names, onoffkey.off)
Generic name:
MSK_IPAR_WRITE_SOL_IGNORE_INVALID_NAMES
Groups:
Data input/output, Solution input/output
iparam.write_sol_variables

Controls whether the variables section is written to the solution file.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.write_sol_variables, onoffkey.on)
Generic name:
MSK_IPAR_WRITE_SOL_VARIABLES
Groups:
Data input/output, Solution input/output
iparam.write_task_inc_sol

Controls whether the solutions are stored in the task file too.

Default:
on
Accepted:
on, off (see onoffkey)
Example:
task.putintparam(iparam.write_task_inc_sol, onoffkey.on)
Generic name:
Groups:
Data input/output
iparam.write_xml_mode

Controls if linear coefficients should be written by row or column when writing in the XML file format.

Default:
row
Accepted:
row, col (see xmlwriteroutputtype)
Example:
task.putintparam(iparam.write_xml_mode, xmlwriteroutputtype.row)
Generic name:
MSK_IPAR_WRITE_XML_MODE
Groups:
Data input/output

## 15.7.3 String parameters¶

sparam

The enumeration type containing all string parameters.

sparam.bas_sol_file_name

Name of the bas solution file.

Accepted:
Any valid file name.
Example:
task.putstrparam(sparam.bas_sol_file_name, "somevalue")
Generic name:
MSK_SPAR_BAS_SOL_FILE_NAME
Groups:
Data input/output, Solution input/output
sparam.data_file_name

Data are read and written to this file.

Accepted:
Any valid file name.
Example:
task.putstrparam(sparam.data_file_name, "somevalue")
Generic name:
MSK_SPAR_DATA_FILE_NAME
Groups:
Data input/output
sparam.debug_file_name

MOSEK debug file.

Accepted:
Any valid file name.
Example:
task.putstrparam(sparam.debug_file_name, "somevalue")
Generic name:
MSK_SPAR_DEBUG_FILE_NAME
Groups:
Data input/output
sparam.int_sol_file_name

Name of the int solution file.

Accepted:
Any valid file name.
Example:
task.putstrparam(sparam.int_sol_file_name, "somevalue")
Generic name:
MSK_SPAR_INT_SOL_FILE_NAME
Groups:
Data input/output, Solution input/output
sparam.itr_sol_file_name

Name of the itr solution file.

Accepted:
Any valid file name.
Example:
task.putstrparam(sparam.itr_sol_file_name, "somevalue")
Generic name:
MSK_SPAR_ITR_SOL_FILE_NAME
Groups:
Data input/output, Solution input/output
sparam.mio_debug_string

For internal debugging purposes.

Accepted:
Any valid string.
Example:
task.putstrparam(sparam.mio_debug_string, "somevalue")
Generic name:
MSK_SPAR_MIO_DEBUG_STRING
Groups:
Data input/output
sparam.param_comment_sign

Only the first character in this string is used. It is considered as a start of comment sign in the MOSEK parameter file. Spaces are ignored in the string.

Default:
%%
Accepted:
Any valid string.
Example:
task.putstrparam(sparam.param_comment_sign, "%%")
Generic name:
MSK_SPAR_PARAM_COMMENT_SIGN
Groups:
Data input/output
sparam.param_read_file_name

Modifications to the parameter database is read from this file.

Accepted:
Any valid file name.
Example:
task.putstrparam(sparam.param_read_file_name, "somevalue")
Generic name:
Groups:
Data input/output
sparam.param_write_file_name

The parameter database is written to this file.

Accepted:
Any valid file name.
Example:
task.putstrparam(sparam.param_write_file_name, "somevalue")
Generic name:
MSK_SPAR_PARAM_WRITE_FILE_NAME
Groups:
Data input/output
sparam.read_mps_bou_name

Name of the BOUNDS vector used. An empty name means that the first BOUNDS vector is used.

Accepted:
Any valid MPS name.
Example:
task.putstrparam(sparam.read_mps_bou_name, "somevalue")
Generic name:
Groups:
Data input/output
sparam.read_mps_obj_name

Name of the free constraint used as objective function. An empty name means that the first constraint is used as objective function.

Accepted:
Any valid MPS name.
Example:
task.putstrparam(sparam.read_mps_obj_name, "somevalue")
Generic name:
Groups:
Data input/output
sparam.read_mps_ran_name

Name of the RANGE vector used. An empty name means that the first RANGE vector is used.

Accepted:
Any valid MPS name.
Example:
task.putstrparam(sparam.read_mps_ran_name, "somevalue")
Generic name:
Groups:
Data input/output
sparam.read_mps_rhs_name

Name of the RHS used. An empty name means that the first RHS vector is used.

Accepted:
Any valid MPS name.
Example:
task.putstrparam(sparam.read_mps_rhs_name, "somevalue")
Generic name:
Groups:
Data input/output
sparam.remote_access_token

An access token used to submit tasks to a remote MOSEK server. An access token is a random 32-byte string encoded in base64, i.e. it is a 44 character ASCII string.

Accepted:
Any valid string.
Example:
task.putstrparam(sparam.remote_access_token, "somevalue")
Generic name:
MSK_SPAR_REMOTE_ACCESS_TOKEN
Groups:
Overall system
sparam.sensitivity_file_name

If defined Task.sensitivityreport reads this file as a sensitivity analysis data file specifying the type of analysis to be done.

Accepted:
Any valid string.
Example:
task.putstrparam(sparam.sensitivity_file_name, "somevalue")
Generic name:
MSK_SPAR_SENSITIVITY_FILE_NAME
Groups:
Data input/output
sparam.sensitivity_res_file_name

If this is a nonempty string, then Task.sensitivityreport writes results to this file.

Accepted:
Any valid string.
Example:
task.putstrparam(sparam.sensitivity_res_file_name, "somevalue")
Generic name:
MSK_SPAR_SENSITIVITY_RES_FILE_NAME
Groups:
Data input/output
sparam.sol_filter_xc_low

A filter used to determine which constraints should be listed in the solution file. A value of $$0.5$$ means that all constraints having xc[i]>0.5 should be listed, whereas +0.5 means that all constraints having xc[i]>=blc[i]+0.5 should be listed. An empty filter means that no filter is applied.

Accepted:
Any valid filter.
Example:
task.putstrparam(sparam.sol_filter_xc_low, "somevalue")
Generic name:
MSK_SPAR_SOL_FILTER_XC_LOW
Groups:
Data input/output, Solution input/output
sparam.sol_filter_xc_upr

A filter used to determine which constraints should be listed in the solution file. A value of 0.5 means that all constraints having xc[i]<0.5 should be listed, whereas -0.5 means all constraints having xc[i]<=buc[i]-0.5 should be listed. An empty filter means that no filter is applied.

Accepted:
Any valid filter.
Example:
task.putstrparam(sparam.sol_filter_xc_upr, "somevalue")
Generic name:
MSK_SPAR_SOL_FILTER_XC_UPR
Groups:
Data input/output, Solution input/output
sparam.sol_filter_xx_low

A filter used to determine which variables should be listed in the solution file. A value of “0.5” means that all constraints having xx[j]>=0.5 should be listed, whereas “+0.5” means that all constraints having xx[j]>=blx[j]+0.5 should be listed. An empty filter means no filter is applied.

Accepted:
Any valid filter.
Example:
task.putstrparam(sparam.sol_filter_xx_low, "somevalue")
Generic name:
MSK_SPAR_SOL_FILTER_XX_LOW
Groups:
Data input/output, Solution input/output
sparam.sol_filter_xx_upr

A filter used to determine which variables should be listed in the solution file. A value of “0.5” means that all constraints having xx[j]<0.5 should be printed, whereas “-0.5” means all constraints having xx[j]<=bux[j]-0.5 should be listed. An empty filter means no filter is applied.

Accepted:
Any valid file name.
Example:
task.putstrparam(sparam.sol_filter_xx_upr, "somevalue")
Generic name:
MSK_SPAR_SOL_FILTER_XX_UPR
Groups:
Data input/output, Solution input/output
sparam.stat_file_name

Statistics file name.

Accepted:
Any valid file name.
Example:
task.putstrparam(sparam.stat_file_name, "somevalue")
Generic name:
MSK_SPAR_STAT_FILE_NAME
Groups:
Data input/output
sparam.stat_key

Key used when writing the summary file.

Accepted:
Any valid string.
Example:
task.putstrparam(sparam.stat_key, "somevalue")
Generic name:
MSK_SPAR_STAT_KEY
Groups:
Data input/output
sparam.stat_name

Name used when writing the statistics file.

Accepted:
Any valid XML string.
Example:
task.putstrparam(sparam.stat_name, "somevalue")
Generic name:
MSK_SPAR_STAT_NAME
Groups:
Data input/output
sparam.write_lp_gen_var_name

Sometimes when an LP file is written additional variables must be inserted. They will have the prefix denoted by this parameter.

Default:
xmskgen
Accepted:
Any valid string.
Example:
task.putstrparam(sparam.write_lp_gen_var_name, "xmskgen")
Generic name:
MSK_SPAR_WRITE_LP_GEN_VAR_NAME
Groups:
Data input/output