13.3 Parameters (alphabetical list sorted by type)¶
13.3.1 Double parameters¶
- dparam¶
The enumeration type containing all double parameters.
- MSK_DPAR_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:
prob$dparam <- list(ANA_SOL_INFEAS_TOL = 1e-6)
- Groups:
- MSK_DPAR_BASIS_REL_TOL_S¶
Maximum relative dual bound violation allowed in an optimal basic solution.
- Default:
1.0e-12
- Accepted:
[0.0; +inf]
- Example:
prob$dparam <- list(BASIS_REL_TOL_S = 1.0e-12)
- Groups:
- MSK_DPAR_BASIS_TOL_S¶
Maximum absolute dual bound violation in an optimal basic solution.
- Default:
1.0e-6
- Accepted:
[1.0e-9; +inf]
- Example:
prob$dparam <- list(BASIS_TOL_S = 1.0e-6)
- Groups:
- MSK_DPAR_BASIS_TOL_X¶
Maximum absolute primal bound violation allowed in an optimal basic solution.
- Default:
1.0e-6
- Accepted:
[1.0e-9; +inf]
- Example:
prob$dparam <- list(BASIS_TOL_X = 1.0e-6)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(DATA_SYM_MAT_TOL = 1.0e-12)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(DATA_SYM_MAT_TOL_HUGE = 1.0e20)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(DATA_SYM_MAT_TOL_LARGE = 1.0e10)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(DATA_TOL_AIJ_HUGE = 1.0e20)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(DATA_TOL_AIJ_LARGE = 1.0e10)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(DATA_TOL_BOUND_INF = 1.0e16)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(DATA_TOL_BOUND_WRN = 1.0e8)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(DATA_TOL_C_HUGE = 1.0e16)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(DATA_TOL_CJ_LARGE = 1.0e8)
- Groups:
- MSK_DPAR_DATA_TOL_QIJ¶
Absolute zero tolerance for elements in \(Q\) matrices.
- Default:
1.0e-16
- Accepted:
[0.0; +inf]
- Example:
prob$dparam <- list(DATA_TOL_QIJ = 1.0e-16)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(DATA_TOL_X = 1.0e-8)
- Groups:
- MSK_DPAR_FOLDING_TOL_EQ¶
Tolerance for coefficient equality during folding.
- Default:
1e-9
- Accepted:
[0.0; +inf]
- Example:
prob$dparam <- list(FOLDING_TOL_EQ = 1e-9)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(INTPNT_CO_TOL_DFEAS = 1.0e-8)
- See also:
- Groups:
Interior-point method, Termination criteria, Conic interior-point method
- MSK_DPAR_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:
prob$dparam <- list(INTPNT_CO_TOL_INFEAS = 1.0e-12)
- Groups:
Interior-point method, Termination criteria, Conic interior-point method
- MSK_DPAR_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:
prob$dparam <- list(INTPNT_CO_TOL_MU_RED = 1.0e-8)
- Groups:
Interior-point method, Termination criteria, Conic interior-point method
- MSK_DPAR_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:
prob$dparam <- list(INTPNT_CO_TOL_NEAR_REL = 1000)
- Groups:
Interior-point method, Termination criteria, Conic interior-point method
- MSK_DPAR_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:
prob$dparam <- list(INTPNT_CO_TOL_PFEAS = 1.0e-8)
- See also:
- Groups:
Interior-point method, Termination criteria, Conic interior-point method
- MSK_DPAR_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:
prob$dparam <- list(INTPNT_CO_TOL_REL_GAP = 1.0e-8)
- See also:
- Groups:
Interior-point method, Termination criteria, Conic interior-point method
- MSK_DPAR_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:
prob$dparam <- list(INTPNT_QO_TOL_DFEAS = 1.0e-8)
- See also:
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(INTPNT_QO_TOL_INFEAS = 1.0e-12)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(INTPNT_QO_TOL_MU_RED = 1.0e-8)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(INTPNT_QO_TOL_NEAR_REL = 1000)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(INTPNT_QO_TOL_PFEAS = 1.0e-8)
- See also:
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(INTPNT_QO_TOL_REL_GAP = 1.0e-8)
- See also:
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(INTPNT_TOL_DFEAS = 1.0e-8)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(INTPNT_TOL_DSAFE = 1.0)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(INTPNT_TOL_INFEAS = 1.0e-10)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(INTPNT_TOL_MU_RED = 1.0e-16)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(INTPNT_TOL_PATH = 1.0e-8)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(INTPNT_TOL_PFEAS = 1.0e-8)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(INTPNT_TOL_PSAFE = 1.0)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(INTPNT_TOL_REL_GAP = 1.0e-8)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(INTPNT_TOL_REL_STEP = 0.9999)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(INTPNT_TOL_STEP_SIZE = 1.0e-6)
- Groups:
- MSK_DPAR_LOWER_OBJ_CUT¶
If either a primal or dual feasible solution is found proving that the optimal objective value is outside the interval \([\)
MSK_DPAR_LOWER_OBJ_CUT
,MSK_DPAR_UPPER_OBJ_CUT
\(]\), then MOSEK is terminated.- Default:
-INFINITY
- Accepted:
[-inf; +inf]
- Example:
prob$dparam <- list(LOWER_OBJ_CUT = -INFINITY)
- See also:
- Groups:
- MSK_DPAR_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.
MSK_DPAR_LOWER_OBJ_CUT
is treated as \(-\infty\).- Default:
-0.5e30
- Accepted:
[-inf; +inf]
- Example:
prob$dparam <- list(LOWER_OBJ_CUT_FINITE_TRH = -0.5e30)
- Groups:
- MSK_DPAR_MIO_CLIQUE_TABLE_SIZE_FACTOR¶
Controlls the maximum size of the clqiue table as a factor of the number of nonzeros in the A matrix. A negative value implies MOSEK decides.
- Default:
-1
- Accepted:
[-1; +inf]
- Example:
prob$dparam <- list(MIO_CLIQUE_TABLE_SIZE_FACTOR = -1)
- Groups:
- MSK_DPAR_MIO_DJC_MAX_BIGM¶
Maximum allowed big-M value when reformulating disjunctive constraints to linear constraints. Higher values make it more likely that a disjunction is reformulated to linear constraints, but also increase the risk of numerical problems.
- Default:
1.0e6
- Accepted:
[0; +inf]
- Example:
prob$dparam <- list(MIO_DJC_MAX_BIGM = 1.0e6)
- Groups:
- MSK_DPAR_MIO_MAX_TIME¶
This parameter limits the maximum time spent by the mixed-integer optimizer (in seconds). A negative number means infinity.
- Default:
-1.0
- Accepted:
[-inf; +inf]
- Example:
prob$dparam <- list(MIO_MAX_TIME = -1.0)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(MIO_REL_GAP_CONST = 1.0e-10)
- Groups:
- MSK_DPAR_MIO_TOL_ABS_GAP¶
Absolute optimality tolerance employed by the mixed-integer optimizer.
- Default:
0.0
- Accepted:
[0.0; +inf]
- Example:
prob$dparam <- list(MIO_TOL_ABS_GAP = 0.0)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(MIO_TOL_ABS_RELAX_INT = 1.0e-5)
- Groups:
- MSK_DPAR_MIO_TOL_FEAS¶
Feasibility tolerance for mixed integer solver.
- Default:
1.0e-6
- Accepted:
[1e-9; 1e-3]
- Example:
prob$dparam <- list(MIO_TOL_FEAS = 1.0e-6)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(MIO_TOL_REL_DUAL_BOUND_IMPROVEMENT = 0.0)
- Groups:
- MSK_DPAR_MIO_TOL_REL_GAP¶
Relative optimality tolerance employed by the mixed-integer optimizer.
- Default:
1.0e-4
- Accepted:
[0.0; +inf]
- Example:
prob$dparam <- list(MIO_TOL_REL_GAP = 1.0e-4)
- Groups:
- MSK_DPAR_OPTIMIZER_MAX_TICKS¶
CURRENTLY NOT IN USE.
Maximum amount of ticks the optimizer is allowed to spent on the optimization. A negative number means infinity.
- Default:
-1.0
- Accepted:
[-inf; +inf]
- Example:
prob$dparam <- list(OPTIMIZER_MAX_TICKS = -1.0)
- Groups:
- MSK_DPAR_OPTIMIZER_MAX_TIME¶
Maximum amount of time the optimizer is allowed to spent on the optimization (in seconds). A negative number means infinity.
- Default:
-1.0
- Accepted:
[-inf; +inf]
- Example:
prob$dparam <- list(OPTIMIZER_MAX_TIME = -1.0)
- Groups:
- MSK_DPAR_PRESOLVE_TOL_ABS_LINDEP¶
Absolute tolerance employed by the linear dependency checker.
- Default:
1.0e-6
- Accepted:
[0.0; +inf]
- Example:
prob$dparam <- list(PRESOLVE_TOL_ABS_LINDEP = 1.0e-6)
- Groups:
- MSK_DPAR_PRESOLVE_TOL_PRIMAL_INFEAS_PERTURBATION¶
The presolve is allowed to perturb a bound on a constraint or variable by this amount if it removes an infeasibility.
- Default:
1.0e-6
- Accepted:
[0.0; +inf]
- Example:
prob$dparam <- list(PRESOLVE_TOL_PRIMAL_INFEAS_PERTURBATION = 1.0e-6)
- Groups:
- MSK_DPAR_PRESOLVE_TOL_REL_LINDEP¶
Relative tolerance employed by the linear dependency checker.
- Default:
1.0e-10
- Accepted:
[0.0; +inf]
- Example:
prob$dparam <- list(PRESOLVE_TOL_REL_LINDEP = 1.0e-10)
- Groups:
- MSK_DPAR_PRESOLVE_TOL_S¶
Absolute zero tolerance employed for \(s_i\) in the presolve.
- Default:
1.0e-8
- Accepted:
[0.0; +inf]
- Example:
prob$dparam <- list(PRESOLVE_TOL_S = 1.0e-8)
- Groups:
- MSK_DPAR_PRESOLVE_TOL_X¶
Absolute zero tolerance employed for \(x_j\) in the presolve.
- Default:
1.0e-8
- Accepted:
[0.0; +inf]
- Example:
prob$dparam <- list(PRESOLVE_TOL_X = 1.0e-8)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(QCQO_REFORMULATE_REL_DROP_TOL = 1e-15)
- Groups:
- MSK_DPAR_SEMIDEFINITE_TOL_APPROX¶
Tolerance to define a matrix to be positive semidefinite.
- Default:
1.0e-10
- Accepted:
[1.0e-15; +inf]
- Example:
prob$dparam <- list(SEMIDEFINITE_TOL_APPROX = 1.0e-10)
- Groups:
- MSK_DPAR_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:
prob$dparam <- list(SIM_LU_TOL_REL_PIV = 0.01)
- Groups:
- MSK_DPAR_SIM_PRECISION_SCALING_EXTENDED¶
Exprimental. Usage not recommended.
- Default:
2.0
- Accepted:
[1.0; +inf]
- Example:
prob$dparam <- list(SIM_PRECISION_SCALING_EXTENDED = 2.0)
- Groups:
- MSK_DPAR_SIM_PRECISION_SCALING_NORMAL¶
Exprimental. Usage not recommended.
- Default:
1.0
- Accepted:
[1.0; +inf]
- Example:
prob$dparam <- list(SIM_PRECISION_SCALING_NORMAL = 1.0)
- Groups:
- MSK_DPAR_SIMPLEX_ABS_TOL_PIV¶
Absolute pivot tolerance employed by the simplex optimizers.
- Default:
1.0e-7
- Accepted:
[1.0e-12; +inf]
- Example:
prob$dparam <- list(SIMPLEX_ABS_TOL_PIV = 1.0e-7)
- Groups:
- MSK_DPAR_UPPER_OBJ_CUT¶
If either a primal or dual feasible solution is found proving that the optimal objective value is outside the interval \([\)
MSK_DPAR_LOWER_OBJ_CUT
,MSK_DPAR_UPPER_OBJ_CUT
\(]\), then MOSEK is terminated.- Default:
INFINITY
- Accepted:
[-inf; +inf]
- Example:
prob$dparam <- list(UPPER_OBJ_CUT = INFINITY)
- See also:
- Groups:
- MSK_DPAR_UPPER_OBJ_CUT_FINITE_TRH¶
If the upper objective cut is greater than the value of this parameter, then the upper objective cut
MSK_DPAR_UPPER_OBJ_CUT
is treated as \(\infty\).- Default:
0.5e30
- Accepted:
[-inf; +inf]
- Example:
prob$dparam <- list(UPPER_OBJ_CUT_FINITE_TRH = 0.5e30)
- Groups:
13.3.2 Integer parameters¶
- iparam¶
The enumeration type containing all integer parameters.
- MSK_IPAR_ANA_SOL_BASIS¶
Controls whether the basis matrix is analyzed in solution analyzer.
- MSK_IPAR_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
MSK_DPAR_ANA_SOL_INFEAS_TOL
will be printed.
- MSK_IPAR_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.
- MSK_IPAR_AUTO_UPDATE_SOL_INFO¶
Controls whether the solution information items are automatically updated after an optimization is performed.
- Default:
- Accepted:
- Example:
prob$iparam <- list(AUTO_UPDATE_SOL_INFO = "OFF")
- Groups:
- MSK_IPAR_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
"MSK_ON"
, -1 is replaced by 1.- Default:
- Accepted:
- Example:
prob$iparam <- list(BASIS_SOLVE_USE_PLUS_ONE = "OFF")
- Groups:
- MSK_IPAR_BI_CLEAN_OPTIMIZER¶
Controls which simplex optimizer is used in the clean-up phase. Anything else than
"MSK_OPTIMIZER_PRIMAL_SIMPLEX"
or"MSK_OPTIMIZER_DUAL_SIMPLEX"
is equivalent to"MSK_OPTIMIZER_FREE_SIMPLEX"
.- Default:
- Accepted:
"FREE"
,"INTPNT"
,"CONIC"
,"PRIMAL_SIMPLEX"
,"DUAL_SIMPLEX"
,"NEW_PRIMAL_SIMPLEX"
,"NEW_DUAL_SIMPLEX"
,"FREE_SIMPLEX"
,"MIXED_INT"
- Example:
prob$iparam <- list(BI_CLEAN_OPTIMIZER = "OPTIMIZER_FREE")
- Groups:
- MSK_IPAR_BI_IGNORE_MAX_ITER¶
If the parameter
MSK_IPAR_INTPNT_BASIS
has the value"MSK_BI_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"MSK_ON"
.- Default:
- Accepted:
- Example:
prob$iparam <- list(BI_IGNORE_MAX_ITER = "OFF")
- Groups:
- MSK_IPAR_BI_IGNORE_NUM_ERROR¶
If the parameter
MSK_IPAR_INTPNT_BASIS
has the value"MSK_BI_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"MSK_ON"
.- Default:
- Accepted:
- Example:
prob$iparam <- list(BI_IGNORE_NUM_ERROR = "OFF")
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(BI_MAX_ITERATIONS = 1000000)
- Groups:
- MSK_IPAR_CACHE_LICENSE¶
Specifies if the license is kept checked out for the lifetime of the MOSEK environment/model/process (
"MSK_ON"
) or returned to the server immediately after the optimization ("MSK_OFF"
).By default the license is checked out for the lifetime of the session at the start of first optimization.
Check-in and check-out of licenses have an overhead. Frequent communication with the license server should be avoided.
- Default:
- Accepted:
- Example:
prob$iparam <- list(CACHE_LICENSE = "ON")
- Groups:
- MSK_IPAR_COMPRESS_STATFILE¶
Control compression of stat files.
- MSK_IPAR_FOLDING_USE¶
Controls whether and how to use problem folding (symmetry detection for continuous problems). Note that for symmetry detection for mixed-integer problems one should instead use the parameter
MSK_IPAR_MIO_SYMMETRY_LEVEL
.- Default:
- Accepted:
- Example:
prob$iparam <- list(FOLDING_USE = "FOLDING_MODE_FREE_UNLESS_BASIC")
- Groups:
- MSK_IPAR_GETDUAL_CONVERT_LMIS¶
Whether to perform LMI detection and optimization in the user-level dualizer.
- MSK_IPAR_HEARTBEAT_SIM_FREQ_TICKS¶
Controls how frequent the new simplex optimizer calls the user-defined callback function is called.
\(-1\). Logging is disabled.
\(0\). Logging at highest frequency (every iteration).
\(\geq 1\). Logging at given frequency measured in ticks.
- Default:
1000000
- Accepted:
[-1; +inf]
- Example:
prob$iparam <- list(HEARTBEAT_SIM_FREQ_TICKS = 1000000)
- Groups:
- MSK_IPAR_INFEAS_GENERIC_NAMES¶
Controls whether generic names are used when an infeasible subproblem is created.
- Default:
- Accepted:
- Example:
prob$iparam <- list(INFEAS_GENERIC_NAMES = "OFF")
- Groups:
- MSK_IPAR_INFEAS_REPORT_AUTO¶
Controls whether an infeasibility report is automatically produced after the optimization if the problem is primal or dual infeasible.
- Default:
- Accepted:
- Example:
prob$iparam <- list(INFEAS_REPORT_AUTO = "OFF")
- Groups:
- MSK_IPAR_INFEAS_REPORT_LEVEL¶
Controls the amount of information presented in an infeasibility report. Higher values imply more information.
- Default:
1
- Accepted:
[0; +inf]
- Example:
prob$iparam <- list(INFEAS_REPORT_LEVEL = 1)
- Groups:
- MSK_IPAR_INTPNT_BASIS¶
Controls whether the interior-point optimizer also computes an optimal basis.
- Default:
- Accepted:
- Example:
prob$iparam <- list(INTPNT_BASIS = "BI_ALWAYS")
- See also:
MSK_IPAR_BI_IGNORE_MAX_ITER
,MSK_IPAR_BI_IGNORE_NUM_ERROR
,MSK_IPAR_BI_MAX_ITERATIONS
,MSK_IPAR_BI_CLEAN_OPTIMIZER
- Groups:
- MSK_IPAR_INTPNT_DIFF_STEP¶
Controls whether different step sizes are allowed in the primal and dual space.
- Default:
- Accepted:
- Example:
prob$iparam <- list(INTPNT_DIFF_STEP = "ON")
- Groups:
- MSK_IPAR_INTPNT_HOTSTART¶
Currently not in use.
- Default:
- Accepted:
- Example:
prob$iparam <- list(INTPNT_HOTSTART = "INTPNT_HOTSTART_NONE")
- Groups:
- MSK_IPAR_INTPNT_MAX_ITERATIONS¶
Controls the maximum number of iterations allowed in the interior-point optimizer.
- Default:
400
- Accepted:
[0; +inf]
- Example:
prob$iparam <- list(INTPNT_MAX_ITERATIONS = 400)
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(INTPNT_MAX_NUM_COR = -1)
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(INTPNT_OFF_COL_TRH = 40)
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(INTPNT_ORDER_GP_NUM_SEEDS = 0)
- Groups:
- MSK_IPAR_INTPNT_ORDER_METHOD¶
Controls the ordering strategy used by the interior-point optimizer when factorizing the Newton equation system.
- Default:
- Accepted:
"FREE"
,"APPMINLOC"
,"EXPERIMENTAL"
,"TRY_GRAPHPAR"
,"FORCE_GRAPHPAR"
,"NONE"
- Example:
prob$iparam <- list(INTPNT_ORDER_METHOD = "ORDER_METHOD_FREE")
- Groups:
- MSK_IPAR_INTPNT_REGULARIZATION_USE¶
Controls whether regularization is allowed.
- Default:
- Accepted:
- Example:
prob$iparam <- list(INTPNT_REGULARIZATION_USE = "ON")
- Groups:
- MSK_IPAR_INTPNT_SCALING¶
Controls how the problem is scaled before the interior-point optimizer is used.
- Default:
- Accepted:
- Example:
prob$iparam <- list(INTPNT_SCALING = "SCALING_FREE")
- Groups:
- MSK_IPAR_INTPNT_SOLVE_FORM¶
Controls whether the primal or the dual problem is solved.
- Default:
- Accepted:
- Example:
prob$iparam <- list(INTPNT_SOLVE_FORM = "SOLVE_FREE")
- Groups:
- MSK_IPAR_INTPNT_STARTING_POINT¶
Starting point used by the interior-point optimizer.
- Default:
- Accepted:
- Example:
prob$iparam <- list(INTPNT_STARTING_POINT = "STARTING_POINT_FREE")
- Groups:
- MSK_IPAR_LICENSE_DEBUG¶
This option is used to turn on debugging of the license manager.
- Default:
- Accepted:
- Example:
prob$iparam <- list(LICENSE_DEBUG = "OFF")
- Groups:
- MSK_IPAR_LICENSE_PAUSE_TIME¶
If
MSK_IPAR_LICENSE_WAIT
is"MSK_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:
prob$iparam <- list(LICENSE_PAUSE_TIME = 100)
- Groups:
- MSK_IPAR_LICENSE_SUPPRESS_EXPIRE_WRNS¶
Controls whether license features expire warnings are suppressed.
- Default:
- Accepted:
- Example:
prob$iparam <- list(LICENSE_SUPPRESS_EXPIRE_WRNS = "OFF")
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(LICENSE_TRH_EXPIRY_WRN = 7)
- Groups:
- MSK_IPAR_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:
- Accepted:
- Example:
prob$iparam <- list(LICENSE_WAIT = "OFF")
- Groups:
- MSK_IPAR_LOG¶
Controls the amount of log information. The value 0 implies that all log information is suppressed. A higher level implies that more information is logged.
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
MSK_IPAR_LOG_CUT_SECOND_OPT
for the second and any subsequent optimizations.- Default:
10
- Accepted:
[0; +inf]
- Example:
prob$iparam <- list(LOG = 10)
- See also:
- Groups:
- MSK_IPAR_LOG_ANA_PRO¶
Controls amount of output from the problem analyzer.
- MSK_IPAR_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:
prob$iparam <- list(LOG_BI = 1)
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(LOG_BI_FREQ = 2500)
- Groups:
- MSK_IPAR_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
MSK_IPAR_LOG
andMSK_IPAR_LOG_SIM
are reduced by the value of this parameter for the second and any subsequent optimizations.- Default:
1
- Accepted:
[0; +inf]
- Example:
prob$iparam <- list(LOG_CUT_SECOND_OPT = 1)
- See also:
MSK_IPAR_LOG
,MSK_IPAR_LOG_INTPNT
,MSK_IPAR_LOG_MIO
,MSK_IPAR_LOG_SIM
- Groups:
- MSK_IPAR_LOG_EXPAND¶
Controls the amount of logging when a data item such as the maximum number constrains is expanded.
- Default:
1
- Accepted:
[0; +inf]
- Example:
prob$iparam <- list(LOG_EXPAND = 1)
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(LOG_FEAS_REPAIR = 1)
- Groups:
- MSK_IPAR_LOG_FILE¶
If turned on, then some log info is printed when a file is written or read.
- Default:
1
- Accepted:
[0; +inf]
- Example:
prob$iparam <- list(LOG_FILE = 1)
- Groups:
- MSK_IPAR_LOG_INCLUDE_SUMMARY¶
Not relevant for this API.
- Default:
- Accepted:
- Example:
prob$iparam <- list(LOG_INCLUDE_SUMMARY = "OFF")
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(LOG_INFEAS_ANA = 1)
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(LOG_INTPNT = 1)
- Groups:
- MSK_IPAR_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:
- Accepted:
- Example:
prob$iparam <- list(LOG_LOCAL_INFO = "ON")
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(LOG_MIO = 4)
- Groups:
- MSK_IPAR_LOG_MIO_FREQ¶
Controls how frequent the mixed-integer optimizer prints the log line. It will print line every time
MSK_IPAR_LOG_MIO_FREQ
relaxations have been solved.- Default:
10
- Accepted:
[-inf; +inf]
- Example:
prob$iparam <- list(LOG_MIO_FREQ = 10)
- Groups:
- MSK_IPAR_LOG_ORDER¶
If turned on, then factor lines are added to the log.
- Default:
1
- Accepted:
[0; +inf]
- Example:
prob$iparam <- list(LOG_ORDER = 1)
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(LOG_PRESOLVE = 1)
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(LOG_SENSITIVITY = 1)
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(LOG_SENSITIVITY_OPT = 0)
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(LOG_SIM = 4)
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(LOG_SIM_FREQ = 1000)
- Groups:
- MSK_IPAR_LOG_SIM_FREQ_GIGA_TICKS¶
Controls how frequent the new simplex optimizer outputs information about the optimization and how frequent the user-defined callback function is called.
\(-1\). Logging is disabled.
\(0\). Logging at highest frequency (every iteration).
\(\geq 1\). Logging at given frequency measured in giga ticks.
- Default:
100
- Accepted:
[-1; +inf]
- Example:
prob$iparam <- list(LOG_SIM_FREQ_GIGA_TICKS = 100)
- Groups:
- MSK_IPAR_LOG_STORAGE¶
When turned on, MOSEK prints messages regarding the storage usage and allocation.
- Default:
0
- Accepted:
[0; +inf]
- Example:
prob$iparam <- list(LOG_STORAGE = 0)
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(MAX_NUM_WARNINGS = 10)
- Groups:
- MSK_IPAR_MIO_BRANCH_DIR¶
Controls whether the mixed-integer optimizer is branching up or down by default.
- MSK_IPAR_MIO_CONFLICT_ANALYSIS_LEVEL¶
Controls the amount of conflict analysis employed by the mixed-integer optimizer.
\(-1\). The optimizer chooses the level of conflict analysis employed
\(0\). conflict analysis is disabled
\(1\). A lower amount of conflict analysis is employed
\(2\). A higher amount of conflict analysis is employed
- Default:
-1
- Accepted:
[-1; 2]
- Example:
prob$iparam <- list(MIO_CONFLICT_ANALYSIS_LEVEL = -1)
- Groups:
- MSK_IPAR_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:
- Accepted:
- Example:
prob$iparam <- list(MIO_CONIC_OUTER_APPROXIMATION = "OFF")
- Groups:
- MSK_IPAR_MIO_CONSTRUCT_SOL¶
If set to
"MSK_ON"
and all integer variables have been given a value for which a feasible mixed integer solution exists, then MOSEK generates an initial solution to the mixed integer problem by fixing all integer values and solving the remaining problem.- Default:
- Accepted:
- Example:
prob$iparam <- list(MIO_CONSTRUCT_SOL = "OFF")
- Groups:
- MSK_IPAR_MIO_CROSSOVER_MAX_NODES¶
Controls the maximum number of nodes allowed in each call to the Crossover 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:
prob$iparam <- list(MIO_CROSSOVER_MAX_NODES = -1)
- Groups:
- MSK_IPAR_MIO_CUT_CLIQUE¶
Controls whether clique cuts should be generated.
- Default:
- Accepted:
- Example:
prob$iparam <- list(MIO_CUT_CLIQUE = "ON")
- Groups:
- MSK_IPAR_MIO_CUT_CMIR¶
Controls whether mixed integer rounding cuts should be generated.
- Default:
- Accepted:
- Example:
prob$iparam <- list(MIO_CUT_CMIR = "ON")
- Groups:
- MSK_IPAR_MIO_CUT_GMI¶
Controls whether GMI cuts should be generated.
- Default:
- Accepted:
- Example:
prob$iparam <- list(MIO_CUT_GMI = "ON")
- Groups:
- MSK_IPAR_MIO_CUT_IMPLIED_BOUND¶
Controls whether implied bound cuts should be generated.
- Default:
- Accepted:
- Example:
prob$iparam <- list(MIO_CUT_IMPLIED_BOUND = "ON")
- Groups:
- MSK_IPAR_MIO_CUT_KNAPSACK_COVER¶
Controls whether knapsack cover cuts should be generated.
- Default:
- Accepted:
- Example:
prob$iparam <- list(MIO_CUT_KNAPSACK_COVER = "ON")
- Groups:
- MSK_IPAR_MIO_CUT_LIPRO¶
Controls whether lift-and-project cuts should be generated.
- Default:
- Accepted:
- Example:
prob$iparam <- list(MIO_CUT_LIPRO = "OFF")
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(MIO_CUT_SELECTION_LEVEL = -1)
- Groups:
- MSK_IPAR_MIO_DATA_PERMUTATION_METHOD¶
Controls what problem data permutation method is appplied to mixed-integer problems.
- Default:
- Accepted:
- Example:
prob$iparam <- list(MIO_DATA_PERMUTATION_METHOD = "MIO_DATA_PERMUTATION_METHOD_NONE")
- Groups:
- MSK_IPAR_MIO_DUAL_RAY_ANALYSIS_LEVEL¶
Controls the amount of dual ray analysis employed by the mixed-integer optimizer.
\(-1\). The optimizer chooses the level of dual ray analysis employed
\(0\). Dual ray analysis is disabled
\(1\). A lower amount of dual ray analysis is employed
\(2\). A higher amount of dual ray analysis is employed
- Default:
-1
- Accepted:
[-1; 2]
- Example:
prob$iparam <- list(MIO_DUAL_RAY_ANALYSIS_LEVEL = -1)
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(MIO_FEASPUMP_LEVEL = -1)
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(MIO_HEURISTIC_LEVEL = -1)
- Groups:
- MSK_IPAR_MIO_INDEPENDENT_BLOCK_LEVEL¶
Controls the way the mixed-integer optimizer tries to find and exploit a decomposition of the problem into independent blocks.
\(-1\). The optimizer chooses how independent-block structure is handled
\(0\). No independent-block structure is detected
\(1\). Independent-block structure may be exploited only in presolve
\(2\). Independent-block structure may be exploited through a dedicated algorithm after the root node
\(3\). Independent-block structure may be exploited through a dedicated algorithm before the root node
- Default:
-1
- Accepted:
[-1; 3]
- Example:
prob$iparam <- list(MIO_INDEPENDENT_BLOCK_LEVEL = -1)
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(MIO_MAX_NUM_BRANCHES = -1)
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(MIO_MAX_NUM_RELAXS = -1)
- Groups:
- MSK_IPAR_MIO_MAX_NUM_RESTARTS¶
Maximum number of restarts allowed during the branch and bound search.
- Default:
10
- Accepted:
[0; +inf]
- Example:
prob$iparam <- list(MIO_MAX_NUM_RESTARTS = 10)
- Groups:
- MSK_IPAR_MIO_MAX_NUM_ROOT_CUT_ROUNDS¶
Maximum number of cut separation rounds at the root node.
- Default:
100
- Accepted:
[0; +inf]
- Example:
prob$iparam <- list(MIO_MAX_NUM_ROOT_CUT_ROUNDS = 100)
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(MIO_MAX_NUM_SOLUTIONS = -1)
- Groups:
- MSK_IPAR_MIO_MEMORY_EMPHASIS_LEVEL¶
Controls how much emphasis is put on reducing memory usage. Being more conservative about memory usage may come at the cost of decreased solution speed.
\(0\). The optimizer chooses
\(1\). More emphasis is put on reducing memory usage and less on speed
- Default:
0
- Accepted:
[0; +1]
- Example:
prob$iparam <- list(MIO_MEMORY_EMPHASIS_LEVEL = 0)
- Groups:
- MSK_IPAR_MIO_MIN_REL¶
Number of times a variable must have been branched on for its pseudocost to be considered reliable.
- Default:
5
- Accepted:
[0; +inf]
- Example:
prob$iparam <- list(MIO_MIN_REL = 5)
- Groups:
- MSK_IPAR_MIO_MODE¶
Controls whether the optimizer includes the integer restrictions and disjunctive constraints when solving a (mixed) integer optimization problem.
- Default:
- Accepted:
- Example:
prob$iparam <- list(MIO_MODE = "MIO_MODE_SATISFIED")
- Groups:
- MSK_IPAR_MIO_NODE_OPTIMIZER¶
Controls which optimizer is employed at the non-root nodes in the mixed-integer optimizer.
- Default:
- Accepted:
"FREE"
,"INTPNT"
,"CONIC"
,"PRIMAL_SIMPLEX"
,"DUAL_SIMPLEX"
,"NEW_PRIMAL_SIMPLEX"
,"NEW_DUAL_SIMPLEX"
,"FREE_SIMPLEX"
,"MIXED_INT"
- Example:
prob$iparam <- list(MIO_NODE_OPTIMIZER = "OPTIMIZER_FREE")
- Groups:
- MSK_IPAR_MIO_NODE_SELECTION¶
Controls the node selection strategy employed by the mixed-integer optimizer.
- MSK_IPAR_MIO_NUMERICAL_EMPHASIS_LEVEL¶
Controls how much emphasis is put on reducing numerical problems possibly at the expense of solution speed.
\(0\). The optimizer chooses
\(1\). More emphasis is put on reducing numerical problems
\(2\). Even more emphasis
- Default:
0
- Accepted:
[0; +2]
- Example:
prob$iparam <- list(MIO_NUMERICAL_EMPHASIS_LEVEL = 0)
- Groups:
- MSK_IPAR_MIO_OPT_FACE_MAX_NODES¶
Controls the maximum number of nodes allowed in each call to the optimal face 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:
prob$iparam <- list(MIO_OPT_FACE_MAX_NODES = -1)
- Groups:
- MSK_IPAR_MIO_PERSPECTIVE_REFORMULATE¶
Enables or disables perspective reformulation in presolve.
- Default:
- Accepted:
- Example:
prob$iparam <- list(MIO_PERSPECTIVE_REFORMULATE = "ON")
- Groups:
- MSK_IPAR_MIO_PRESOLVE_AGGREGATOR_USE¶
Controls if the aggregator should be used.
- MSK_IPAR_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:
prob$iparam <- list(MIO_PROBING_LEVEL = -1)
- Groups:
- MSK_IPAR_MIO_PROPAGATE_OBJECTIVE_CONSTRAINT¶
Use objective domain propagation.
- Default:
- Accepted:
- Example:
prob$iparam <- list(MIO_PROPAGATE_OBJECTIVE_CONSTRAINT = "OFF")
- Groups:
- MSK_IPAR_MIO_QCQO_REFORMULATION_METHOD¶
Controls what reformulation method is applied to mixed-integer quadratic problems.
- Default:
- Accepted:
"FREE"
,"NONE"
,"LINEARIZATION"
,"EIGEN_VAL_METHOD"
,"DIAG_SDP"
,"RELAX_SDP"
- Example:
prob$iparam <- list(MIO_QCQO_REFORMULATION_METHOD = "MIO_QCQO_REFORMULATION_METHOD_FREE")
- Groups:
- MSK_IPAR_MIO_RENS_MAX_NODES¶
Controls the maximum number of nodes allowed in each call to the RENS 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:
prob$iparam <- list(MIO_RENS_MAX_NODES = -1)
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(MIO_RINS_MAX_NODES = -1)
- Groups:
- MSK_IPAR_MIO_ROOT_OPTIMIZER¶
Controls which optimizer is employed at the root node in the mixed-integer optimizer.
- Default:
- Accepted:
"FREE"
,"INTPNT"
,"CONIC"
,"PRIMAL_SIMPLEX"
,"DUAL_SIMPLEX"
,"NEW_PRIMAL_SIMPLEX"
,"NEW_DUAL_SIMPLEX"
,"FREE_SIMPLEX"
,"MIXED_INT"
- Example:
prob$iparam <- list(MIO_ROOT_OPTIMIZER = "OPTIMIZER_FREE")
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(MIO_SEED = 42)
- Groups:
- MSK_IPAR_MIO_SYMMETRY_LEVEL¶
Controls the amount of symmetry detection and handling employed by the mixed-integer optimizer in presolve.
\(-1\). The optimizer chooses the level of symmetry detection and handling employed
\(0\). Symmetry detection and handling is disabled
\(1\). A low amount of symmetry detection and handling is employed
\(2\). A medium amount of symmetry detection and handling is employed
\(3\). A high amount of symmetry detection and handling is employed
\(4\). An extremely high amount of symmetry detection and handling is employed
- Default:
-1
- Accepted:
[-1; 4]
- Example:
prob$iparam <- list(MIO_SYMMETRY_LEVEL = -1)
- Groups:
- MSK_IPAR_MIO_VAR_SELECTION¶
Controls the variable selection strategy employed by the mixed-integer optimizer.
- Default:
- Accepted:
- Example:
prob$iparam <- list(MIO_VAR_SELECTION = "MIO_VAR_SELECTION_FREE")
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(MIO_VB_DETECTION_LEVEL = -1)
- Groups:
- MSK_IPAR_MT_SPINCOUNT¶
Set the number of iterations to spin before sleeping.
- Default:
0
- Accepted:
[0; 1000000000]
- Example:
prob$iparam <- list(MT_SPINCOUNT = 0)
- Groups:
- MSK_IPAR_NG¶
Not in use.
- MSK_IPAR_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.
- Default:
0
- Accepted:
[0; +inf]
- Example:
prob$iparam <- list(NUM_THREADS = 0)
- Groups:
- MSK_IPAR_OPF_WRITE_HEADER¶
Write a text header with date and MOSEK version in an OPF file.
- Default:
- Accepted:
- Example:
prob$iparam <- list(OPF_WRITE_HEADER = "ON")
- Groups:
- MSK_IPAR_OPF_WRITE_HINTS¶
Write a hint section with problem dimensions in the beginning of an OPF file.
- Default:
- Accepted:
- Example:
prob$iparam <- list(OPF_WRITE_HINTS = "ON")
- Groups:
- MSK_IPAR_OPF_WRITE_LINE_LENGTH¶
Aim to keep lines in OPF files not much longer than this.
- Default:
80
- Accepted:
[0; +inf]
- Example:
prob$iparam <- list(OPF_WRITE_LINE_LENGTH = 80)
- Groups:
- MSK_IPAR_OPF_WRITE_PARAMETERS¶
Write a parameter section in an OPF file.
- Default:
- Accepted:
- Example:
prob$iparam <- list(OPF_WRITE_PARAMETERS = "OFF")
- Groups:
- MSK_IPAR_OPF_WRITE_PROBLEM¶
Write objective, constraints, bounds etc. to an OPF file.
- Default:
- Accepted:
- Example:
prob$iparam <- list(OPF_WRITE_PROBLEM = "ON")
- Groups:
- MSK_IPAR_OPF_WRITE_SOL_BAS¶
If
MSK_IPAR_OPF_WRITE_SOLUTIONS
is"MSK_ON"
and a basic solution is defined, include the basic solution in OPF files.- Default:
- Accepted:
- Example:
prob$iparam <- list(OPF_WRITE_SOL_BAS = "ON")
- Groups:
- MSK_IPAR_OPF_WRITE_SOL_ITG¶
If
MSK_IPAR_OPF_WRITE_SOLUTIONS
is"MSK_ON"
and an integer solution is defined, write the integer solution in OPF files.- Default:
- Accepted:
- Example:
prob$iparam <- list(OPF_WRITE_SOL_ITG = "ON")
- Groups:
- MSK_IPAR_OPF_WRITE_SOL_ITR¶
If
MSK_IPAR_OPF_WRITE_SOLUTIONS
is"MSK_ON"
and an interior solution is defined, write the interior solution in OPF files.- Default:
- Accepted:
- Example:
prob$iparam <- list(OPF_WRITE_SOL_ITR = "ON")
- Groups:
- MSK_IPAR_OPF_WRITE_SOLUTIONS¶
Enable inclusion of solutions in the OPF files.
- Default:
- Accepted:
- Example:
prob$iparam <- list(OPF_WRITE_SOLUTIONS = "OFF")
- Groups:
- MSK_IPAR_OPTIMIZER¶
The parameter controls which optimizer is used to optimize the task.
- Default:
- Accepted:
"FREE"
,"INTPNT"
,"CONIC"
,"PRIMAL_SIMPLEX"
,"DUAL_SIMPLEX"
,"NEW_PRIMAL_SIMPLEX"
,"NEW_DUAL_SIMPLEX"
,"FREE_SIMPLEX"
,"MIXED_INT"
- Example:
prob$iparam <- list(OPTIMIZER = "OPTIMIZER_FREE")
- Groups:
- MSK_IPAR_PARAM_READ_CASE_NAME¶
If turned on, then names in the parameter file are case sensitive.
- Default:
- Accepted:
- Example:
prob$iparam <- list(PARAM_READ_CASE_NAME = "ON")
- Groups:
- MSK_IPAR_PARAM_READ_IGN_ERROR¶
If turned on, then errors in parameter settings is ignored.
- Default:
- Accepted:
- Example:
prob$iparam <- list(PARAM_READ_IGN_ERROR = "OFF")
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(PRESOLVE_ELIMINATOR_MAX_FILL = -1)
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(PRESOLVE_ELIMINATOR_MAX_NUM_TRIES = -1)
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(PRESOLVE_LINDEP_ABS_WORK_TRH = 100)
- Groups:
- MSK_IPAR_PRESOLVE_LINDEP_NEW¶
Controls whether a new experimental linear dependency checker is employed.
- MSK_IPAR_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:
prob$iparam <- list(PRESOLVE_LINDEP_REL_WORK_TRH = 100)
- Groups:
- MSK_IPAR_PRESOLVE_LINDEP_USE¶
Controls whether the linear constraints are checked for linear dependencies.
- MSK_IPAR_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:
prob$iparam <- list(PRESOLVE_MAX_NUM_PASS = -1)
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(PRESOLVE_MAX_NUM_REDUCTIONS = -1)
- Groups:
- MSK_IPAR_PRESOLVE_USE¶
Controls whether the presolve is applied to a problem before it is optimized.
- MSK_IPAR_PRIMAL_REPAIR_OPTIMIZER¶
Controls which optimizer that is used to find the optimal repair.
- Default:
- Accepted:
"FREE"
,"INTPNT"
,"CONIC"
,"PRIMAL_SIMPLEX"
,"DUAL_SIMPLEX"
,"NEW_PRIMAL_SIMPLEX"
,"NEW_DUAL_SIMPLEX"
,"FREE_SIMPLEX"
,"MIXED_INT"
- Example:
prob$iparam <- list(PRIMAL_REPAIR_OPTIMIZER = "OPTIMIZER_FREE")
- Groups:
- MSK_IPAR_PTF_WRITE_PARAMETERS¶
If
MSK_IPAR_PTF_WRITE_PARAMETERS
is"MSK_ON"
, the parameters section is written.- Default:
- Accepted:
- Example:
prob$iparam <- list(PTF_WRITE_PARAMETERS = "OFF")
- Groups:
- MSK_IPAR_PTF_WRITE_SINGLE_PSD_TERMS¶
Controls whether PSD terms with a coefficient matrix of just one non-zero are written as a single term instead of as a matrix term.
- Default:
- Accepted:
- Example:
prob$iparam <- list(PTF_WRITE_SINGLE_PSD_TERMS = "OFF")
- Groups:
- MSK_IPAR_PTF_WRITE_SOLUTIONS¶
If
MSK_IPAR_PTF_WRITE_SOLUTIONS
is"MSK_ON"
, the solution section is written if any solutions are available, otherwise solution section is not written even if solutions are available.- Default:
- Accepted:
- Example:
prob$iparam <- list(PTF_WRITE_SOLUTIONS = "OFF")
- Groups:
- MSK_IPAR_PTF_WRITE_TRANSFORM¶
If
MSK_IPAR_PTF_WRITE_TRANSFORM
is"MSK_ON"
, constraint blocks with identifiable conic slacks are transformed into conic constraints and the slacks are eliminated.- Default:
- Accepted:
- Example:
prob$iparam <- list(PTF_WRITE_TRANSFORM = "ON")
- Groups:
- MSK_IPAR_READ_ASYNC¶
Controls whether files are read using synchronous or asynchronous reader.
- Default:
- Accepted:
- Example:
prob$iparam <- list(READ_ASYNC = "OFF")
- Groups:
- MSK_IPAR_READ_DEBUG¶
Turns on additional debugging information when reading files.
- Default:
- Accepted:
- Example:
prob$iparam <- list(READ_DEBUG = "OFF")
- Groups:
- MSK_IPAR_READ_KEEP_FREE_CON¶
Controls whether the free constraints are included in the problem. Applies to MPS files.
- Default:
- Accepted:
- Example:
prob$iparam <- list(READ_KEEP_FREE_CON = "OFF")
- Groups:
- MSK_IPAR_READ_MPS_FORMAT¶
Controls how strictly the MPS file reader interprets the MPS format.
- MSK_IPAR_READ_MPS_WIDTH¶
Controls the maximal number of characters allowed in one line of the MPS file.
- Default:
1024
- Accepted:
[80; +inf]
- Example:
prob$iparam <- list(READ_MPS_WIDTH = 1024)
- Groups:
- MSK_IPAR_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:
- Accepted:
- Example:
prob$iparam <- list(READ_TASK_IGNORE_PARAM = "OFF")
- Groups:
- MSK_IPAR_REMOTE_USE_COMPRESSION¶
Use compression when sending data to an optimization server.
- MSK_IPAR_REMOVE_UNUSED_SOLUTIONS¶
Removes unused solutions before the optimization is performed.
- Default:
- Accepted:
- Example:
prob$iparam <- list(REMOVE_UNUSED_SOLUTIONS = "OFF")
- Groups:
- MSK_IPAR_SENSITIVITY_ALL¶
Not applicable.
- Default:
- Accepted:
- Example:
prob$iparam <- list(SENSITIVITY_ALL = "OFF")
- Groups:
- MSK_IPAR_SENSITIVITY_TYPE¶
Controls which type of sensitivity analysis is to be performed.
- Default:
- Accepted:
- Example:
prob$iparam <- list(SENSITIVITY_TYPE = "SENSITIVITY_TYPE_BASIS")
- Groups:
- MSK_IPAR_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:
- Accepted:
- Example:
prob$iparam <- list(SIM_BASIS_FACTOR_USE = "ON")
- Groups:
- MSK_IPAR_SIM_DEGEN¶
Controls how aggressively degeneration is handled.
- Default:
- Accepted:
- Example:
prob$iparam <- list(SIM_DEGEN = "SIM_DEGEN_FREE")
- Groups:
- MSK_IPAR_SIM_DETECT_PWL¶
Not in use.
- Default:
- Accepted:
- Example:
prob$iparam <- list(SIM_DETECT_PWL = "ON")
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(SIM_DUAL_CRASH = 90)
- Groups:
- MSK_IPAR_SIM_DUAL_PHASEONE_METHOD¶
An experimental feature.
- Default:
0
- Accepted:
[0; 10]
- Example:
prob$iparam <- list(SIM_DUAL_PHASEONE_METHOD = 0)
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(SIM_DUAL_RESTRICT_SELECTION = 50)
- Groups:
- MSK_IPAR_SIM_DUAL_SELECTION¶
Controls the choice of the incoming variable, known as the selection strategy, in the dual simplex optimizer.
- MSK_IPAR_SIM_EXPLOIT_DUPVEC¶
Controls if the simplex optimizers are allowed to exploit duplicated columns.
- Default:
- Accepted:
- Example:
prob$iparam <- list(SIM_EXPLOIT_DUPVEC = "SIM_EXPLOIT_DUPVEC_OFF")
- Groups:
- MSK_IPAR_SIM_HOTSTART¶
Controls the type of hot-start that the simplex optimizer perform.
- Default:
- Accepted:
- Example:
prob$iparam <- list(SIM_HOTSTART = "SIM_HOTSTART_FREE")
- Groups:
- MSK_IPAR_SIM_HOTSTART_LU¶
Determines if the simplex optimizer should exploit the initial factorization.
- Default:
- Accepted:
- Example:
prob$iparam <- list(SIM_HOTSTART_LU = "ON")
- Groups:
- MSK_IPAR_SIM_MAX_ITERATIONS¶
Maximum number of iterations that can be used by a simplex optimizer.
- Default:
10000000
- Accepted:
[0; +inf]
- Example:
prob$iparam <- list(SIM_MAX_ITERATIONS = 10000000)
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(SIM_MAX_NUM_SETBACKS = 250)
- Groups:
- MSK_IPAR_SIM_NON_SINGULAR¶
Controls if the simplex optimizer ensures a non-singular basis, if possible.
- Default:
- Accepted:
- Example:
prob$iparam <- list(SIM_NON_SINGULAR = "ON")
- Groups:
- MSK_IPAR_SIM_PRECISION¶
- Default:
- Accepted:
- Example:
prob$iparam <- list(SIM_PRECISION = "SIM_PRECISION_NORMAL")
- Groups:
- MSK_IPAR_SIM_PRECISION_BOOST¶
Controls whether the simplex optimizer is allowed to boost the precision during the computations if possible.
- Default:
- Accepted:
- Example:
prob$iparam <- list(SIM_PRECISION_BOOST = "OFF")
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(SIM_PRIMAL_CRASH = 90)
- Groups:
- MSK_IPAR_SIM_PRIMAL_PHASEONE_METHOD¶
An experimental feature.
- Default:
0
- Accepted:
[0; 10]
- Example:
prob$iparam <- list(SIM_PRIMAL_PHASEONE_METHOD = 0)
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(SIM_PRIMAL_RESTRICT_SELECTION = 50)
- Groups:
- MSK_IPAR_SIM_PRIMAL_SELECTION¶
Controls the choice of the incoming variable, known as the selection strategy, in the primal simplex optimizer.
- MSK_IPAR_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:
prob$iparam <- list(SIM_REFACTOR_FREQ = 0)
- Groups:
- MSK_IPAR_SIM_REFORMULATION¶
Controls if the simplex optimizers are allowed to reformulate the problem.
- Default:
- Accepted:
- Example:
prob$iparam <- list(SIM_REFORMULATION = "SIM_REFORMULATION_OFF")
- Groups:
- MSK_IPAR_SIM_SAVE_LU¶
Controls if the LU factorization stored should be replaced with the LU factorization corresponding to the initial basis.
- Default:
- Accepted:
- Example:
prob$iparam <- list(SIM_SAVE_LU = "OFF")
- Groups:
- MSK_IPAR_SIM_SCALING¶
Controls how much effort is used in scaling the problem before a simplex optimizer is used.
- Default:
- Accepted:
- Example:
prob$iparam <- list(SIM_SCALING = "SCALING_FREE")
- Groups:
- MSK_IPAR_SIM_SCALING_METHOD¶
Controls how the problem is scaled before a simplex optimizer is used.
- Default:
- Accepted:
- Example:
prob$iparam <- list(SIM_SCALING_METHOD = "SCALING_METHOD_POW2")
- Groups:
- MSK_IPAR_SIM_SEED¶
Sets the random seed used for randomization in the simplex optimizers.
- Default:
23456
- Accepted:
[0; 32749]
- Example:
prob$iparam <- list(SIM_SEED = 23456)
- Groups:
- MSK_IPAR_SIM_SOLVE_FORM¶
Controls whether the primal or the dual problem is solved by the primal-/dual-simplex optimizer.
- Default:
- Accepted:
- Example:
prob$iparam <- list(SIM_SOLVE_FORM = "SOLVE_FREE")
- Groups:
- MSK_IPAR_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:
- Accepted:
- Example:
prob$iparam <- list(SIM_SWITCH_OPTIMIZER = "OFF")
- Groups:
- MSK_IPAR_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:
- Accepted:
- Example:
prob$iparam <- list(SOL_FILTER_KEEP_BASIC = "OFF")
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(SOL_READ_NAME_WIDTH = -1)
- Groups:
- MSK_IPAR_SOL_READ_WIDTH¶
Controls the maximal acceptable width of line in the solutions when read by MOSEK.
- Default:
1024
- Accepted:
[80; +inf]
- Example:
prob$iparam <- list(SOL_READ_WIDTH = 1024)
- Groups:
- MSK_IPAR_TIMING_LEVEL¶
Controls the amount of timing performed inside MOSEK.
- Default:
1
- Accepted:
[0; +inf]
- Example:
prob$iparam <- list(TIMING_LEVEL = 1)
- Groups:
- MSK_IPAR_WRITE_ASYNC¶
Controls whether files are read using synchronous or asynchronous writer.
- Default:
- Accepted:
- Example:
prob$iparam <- list(WRITE_ASYNC = "OFF")
- Groups:
- MSK_IPAR_WRITE_BAS_CONSTRAINTS¶
Controls whether the constraint section is written to the basic solution file.
- Default:
- Accepted:
- Example:
prob$iparam <- list(WRITE_BAS_CONSTRAINTS = "ON")
- Groups:
- MSK_IPAR_WRITE_BAS_HEAD¶
Controls whether the header section is written to the basic solution file.
- Default:
- Accepted:
- Example:
prob$iparam <- list(WRITE_BAS_HEAD = "ON")
- Groups:
- MSK_IPAR_WRITE_BAS_VARIABLES¶
Controls whether the variables section is written to the basic solution file.
- Default:
- Accepted:
- Example:
prob$iparam <- list(WRITE_BAS_VARIABLES = "ON")
- Groups:
- MSK_IPAR_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:
prob$iparam <- list(WRITE_COMPRESSION = 9)
- Groups:
- MSK_IPAR_WRITE_FREE_CON¶
Controls whether the free constraints are written to the data file. Applies to MPS files.
- Default:
- Accepted:
- Example:
prob$iparam <- list(WRITE_FREE_CON = "ON")
- Groups:
- MSK_IPAR_WRITE_GENERIC_NAMES¶
Controls whether generic names should be used instead of user-defined names when writing to the data file.
- Default:
- Accepted:
- Example:
prob$iparam <- list(WRITE_GENERIC_NAMES = "OFF")
- Groups:
- MSK_IPAR_WRITE_IGNORE_INCOMPATIBLE_ITEMS¶
Controls if the writer ignores incompatible problem items when writing files.
- Default:
- Accepted:
- Example:
prob$iparam <- list(WRITE_IGNORE_INCOMPATIBLE_ITEMS = "OFF")
- Groups:
- MSK_IPAR_WRITE_INT_CONSTRAINTS¶
Controls whether the constraint section is written to the integer solution file.
- Default:
- Accepted:
- Example:
prob$iparam <- list(WRITE_INT_CONSTRAINTS = "ON")
- Groups:
- MSK_IPAR_WRITE_INT_HEAD¶
Controls whether the header section is written to the integer solution file.
- Default:
- Accepted:
- Example:
prob$iparam <- list(WRITE_INT_HEAD = "ON")
- Groups:
- MSK_IPAR_WRITE_INT_VARIABLES¶
Controls whether the variables section is written to the integer solution file.
- Default:
- Accepted:
- Example:
prob$iparam <- list(WRITE_INT_VARIABLES = "ON")
- Groups:
- MSK_IPAR_WRITE_JSON_INDENTATION¶
When set, the JSON task and solution files are written with indentation for better readability.
- Default:
- Accepted:
- Example:
prob$iparam <- list(WRITE_JSON_INDENTATION = "OFF")
- Groups:
- MSK_IPAR_WRITE_LP_FULL_OBJ¶
Write all variables, including the ones with 0-coefficients, in the objective.
- Default:
- Accepted:
- Example:
prob$iparam <- list(WRITE_LP_FULL_OBJ = "ON")
- Groups:
- MSK_IPAR_WRITE_LP_LINE_WIDTH¶
Maximum width of line in an LP file written by MOSEK.
- Default:
80
- Accepted:
[40; +inf]
- Example:
prob$iparam <- list(WRITE_LP_LINE_WIDTH = 80)
- Groups:
- MSK_IPAR_WRITE_MPS_FORMAT¶
Controls in which format the MPS file is written.
- MSK_IPAR_WRITE_MPS_INT¶
Controls if marker records are written to the MPS file to indicate whether variables are integer restricted.
- Default:
- Accepted:
- Example:
prob$iparam <- list(WRITE_MPS_INT = "ON")
- Groups:
- MSK_IPAR_WRITE_SOL_BARVARIABLES¶
Controls whether the symmetric matrix variables section is written to the solution file.
- Default:
- Accepted:
- Example:
prob$iparam <- list(WRITE_SOL_BARVARIABLES = "ON")
- Groups:
- MSK_IPAR_WRITE_SOL_CONSTRAINTS¶
Controls whether the constraint section is written to the solution file.
- Default:
- Accepted:
- Example:
prob$iparam <- list(WRITE_SOL_CONSTRAINTS = "ON")
- Groups:
- MSK_IPAR_WRITE_SOL_HEAD¶
Controls whether the header section is written to the solution file.
- Default:
- Accepted:
- Example:
prob$iparam <- list(WRITE_SOL_HEAD = "ON")
- Groups:
- MSK_IPAR_WRITE_SOL_IGNORE_INVALID_NAMES¶
Even if the names are invalid MPS names, then they are employed when writing the solution file.
- Default:
- Accepted:
- Example:
prob$iparam <- list(WRITE_SOL_IGNORE_INVALID_NAMES = "OFF")
- Groups:
- MSK_IPAR_WRITE_SOL_VARIABLES¶
Controls whether the variables section is written to the solution file.
- Default:
- Accepted:
- Example:
prob$iparam <- list(WRITE_SOL_VARIABLES = "ON")
- Groups:
13.3.3 String parameters¶
- sparam¶
The enumeration type containing all string parameters.
- MSK_SPAR_BAS_SOL_FILE_NAME¶
Name of the
bas
solution file.- Accepted:
Any valid file name.
- Example:
prob$sparam <- list(BAS_SOL_FILE_NAME = "somevalue")
- Groups:
- MSK_SPAR_DATA_FILE_NAME¶
Data are read and written to this file.
- Accepted:
Any valid file name.
- Example:
prob$sparam <- list(DATA_FILE_NAME = "somevalue")
- Groups:
- MSK_SPAR_DEBUG_FILE_NAME¶
MOSEK debug file.
- Accepted:
Any valid file name.
- Example:
prob$sparam <- list(DEBUG_FILE_NAME = "somevalue")
- Groups:
- MSK_SPAR_INT_SOL_FILE_NAME¶
Name of the
int
solution file.- Accepted:
Any valid file name.
- Example:
prob$sparam <- list(INT_SOL_FILE_NAME = "somevalue")
- Groups:
- MSK_SPAR_ITR_SOL_FILE_NAME¶
Name of the
itr
solution file.- Accepted:
Any valid file name.
- Example:
prob$sparam <- list(ITR_SOL_FILE_NAME = "somevalue")
- Groups:
- MSK_SPAR_MIO_DEBUG_STRING¶
For internal debugging purposes.
- Accepted:
Any valid string.
- Example:
prob$sparam <- list(MIO_DEBUG_STRING = "somevalue")
- Groups:
- MSK_SPAR_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:
prob$sparam <- list(PARAM_COMMENT_SIGN = "%")
- Groups:
- MSK_SPAR_PARAM_READ_FILE_NAME¶
Modifications to the parameter database is read from this file.
- Accepted:
Any valid file name.
- Example:
prob$sparam <- list(PARAM_READ_FILE_NAME = "somevalue")
- Groups:
- MSK_SPAR_PARAM_WRITE_FILE_NAME¶
The parameter database is written to this file.
- Accepted:
Any valid file name.
- Example:
prob$sparam <- list(PARAM_WRITE_FILE_NAME = "somevalue")
- Groups:
- MSK_SPAR_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:
prob$sparam <- list(READ_MPS_BOU_NAME = "somevalue")
- Groups:
- MSK_SPAR_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:
prob$sparam <- list(READ_MPS_OBJ_NAME = "somevalue")
- Groups:
- MSK_SPAR_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:
prob$sparam <- list(READ_MPS_RAN_NAME = "somevalue")
- Groups:
- MSK_SPAR_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:
prob$sparam <- list(READ_MPS_RHS_NAME = "somevalue")
- Groups:
- MSK_SPAR_REMOTE_OPTSERVER_HOST¶
URL of the remote optimization server in the format
(http|https)://server:port
. If set, all subsequent calls to any MOSEK function that involves synchronous optimization will be sent to the specified OptServer instead of being executed locally. Passing empty string deactivates this redirection.- Accepted:
Any valid URL.
- Example:
prob$sparam <- list(REMOTE_OPTSERVER_HOST = "somevalue")
- Groups:
- MSK_SPAR_REMOTE_TLS_CERT¶
List of known server certificates in PEM format.
- Accepted:
PEM files separated by new-lines.
- Example:
prob$sparam <- list(REMOTE_TLS_CERT = "somevalue")
- Groups:
- MSK_SPAR_REMOTE_TLS_CERT_PATH¶
Path to known server certificates in PEM format.
- Accepted:
Any valid path.
- Example:
prob$sparam <- list(REMOTE_TLS_CERT_PATH = "somevalue")
- Groups:
- MSK_SPAR_SENSITIVITY_FILE_NAME¶
If defined, MOSEK reads this file as a sensitivity analysis data file specifying the type of analysis to be done.
- Accepted:
Any valid string.
- Example:
prob$sparam <- list(SENSITIVITY_FILE_NAME = "somevalue")
- Groups:
- MSK_SPAR_SENSITIVITY_RES_FILE_NAME¶
- Accepted:
Any valid string.
- Example:
prob$sparam <- list(SENSITIVITY_RES_FILE_NAME = "somevalue")
- Groups:
- MSK_SPAR_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 havingxc[i]>=blc[i]+0.5
should be listed. An empty filter means that no filter is applied.- Accepted:
Any valid filter.
- Example:
prob$sparam <- list(SOL_FILTER_XC_LOW = "somevalue")
- Groups:
- MSK_SPAR_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 havingxc[i]<0.5
should be listed, whereas-0.5
means all constraints havingxc[i]<=buc[i]-0.5
should be listed. An empty filter means that no filter is applied.- Accepted:
Any valid filter.
- Example:
prob$sparam <- list(SOL_FILTER_XC_UPR = "somevalue")
- Groups:
- MSK_SPAR_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 havingxx[j]>=blx[j]+0.5
should be listed. An empty filter means no filter is applied.- Accepted:
Any valid filter.
- Example:
prob$sparam <- list(SOL_FILTER_XX_LOW = "somevalue")
- Groups:
- MSK_SPAR_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 havingxx[j]<=bux[j]-0.5
should be listed. An empty filter means no filter is applied.- Accepted:
Any valid file name.
- Example:
prob$sparam <- list(SOL_FILTER_XX_UPR = "somevalue")
- Groups:
- MSK_SPAR_STAT_KEY¶
Key used when writing the summary file.
- Accepted:
Any valid string.
- Example:
prob$sparam <- list(STAT_KEY = "somevalue")
- Groups:
- MSK_SPAR_STAT_NAME¶
Name used when writing the statistics file.
- Accepted:
Any valid XML string.
- Example:
prob$sparam <- list(STAT_NAME = "somevalue")
- Groups: