18 Interface changes

The section shows interface-specific changes to the MOSEK Optimization Toolbox for MATLAB in version 10.1 compared to version 9. See the release notes for general changes and new features of the MOSEK Optimization Suite.

18.1 Important changes compared to version 9

  • Conic constraints (affine conic constraints). The interface for conic constraints written in affine conic form \(Fx+g\in\K\) undergoes a syntactic change. The matrices \(F\), \(g\) do not change. The structure cones is replaced with the structure accs and the constants defining cone types (for instance "MSK_CT_QUAD") are replaced with constants defining domain types (for instance "MSK_DOMAIN_QUADRATIC_CONE"). For example, the cone specification previously written as

    prob.cones = [res.symbcon.MSK_CT_QUAD 5 res.symbcon.MSK_CT_PPOW, 4, 2, 40.0, 60.0 ];
    

    would now be written as

    prob.accs = [res.symbcon.MSK_DOMAIN_QUADRATIC_CONE 5 res.symbcon.MSK_DOMAIN_PRIMAL_POWER_CONE, 4, 2, 40.0, 60.0 ];
    

    Otherwise there is no change. The interface through cones is still supported but deprecated.

  • Conic constraints (variable cones). Expressing conic constraints using the cones.sub, cones.subptr etc. is still supported but deprecated.

  • Parameters. Users who set parameters to tune the performance and numerical properties of the solver (termination criteria, tolerances, solving primal or dual, presolve etc.) are recommended to reevaluate such tuning. It may be that other, or default, parameter settings will be more beneficial in the current version. The hints in Sec. 8 (Debugging Tutorials) may be useful for some cases.

  • Multithreading. In the interior-point optimizer it is posible to set the number of threads with MSK_IPAR_NUM_THREADS before each optimization, and not just once per process. The parameter MSK_IPAR_INTPNT_MULTI_THREAD is no longer relevant and was removed.

  • MIO initial solution. In order for the mixed-integer solver to utilize a partial integer solution the parameter MSK_IPAR_MIO_CONSTRUCT_SOL must be set. See Sec. 6.8.2 (Specifying an initial solution) for details. In version 9 this action happened by default.

18.2 Changes compared to version 9

18.2.1 Parameters compared to version 9

Added

Removed

  • MSK_IPAR_CHECK_CONVEXITY

  • MSK_IPAR_INTPNT_MULTI_THREAD

  • MSK_IPAR_LOG_CHECK_CONVEXITY

  • MSK_IPAR_READ_LP_DROP_NEW_VARS_IN_BOU

  • MSK_IPAR_READ_LP_QUOTED_NAMES

  • MSK_IPAR_WRITE_LP_QUOTED_NAMES

  • MSK_IPAR_WRITE_LP_STRICT_FORMAT

  • MSK_IPAR_WRITE_LP_TERMS_PER_LINE

  • MSK_IPAR_WRITE_PRECISION

  • MSK_SPAR_REMOTE_ACCESS_TOKEN

  • MSK_SPAR_STAT_FILE_NAME

18.2.2 Constants compared to version 9

Added

Removed

  • MSK_CALLBACKCODE_BEGIN_FULL_CONVEXITY_CHECK

  • MSK_CALLBACKCODE_END_FULL_CONVEXITY_CHECK

  • MSK_CALLBACKCODE_IM_FULL_CONVEXITY_CHECK

  • MSK_DINFITEM_MIO_IMPLIED_BOUND_TIME

  • MSK_DINFITEM_MIO_ROOT_CUTGEN_TIME

  • MSK_DINFITEM_RD_TIME

  • MSK_IINFITEM_MIO_NUM_CLIQUE_CUTS

  • MSK_IINFITEM_MIO_NUM_CMIR_CUTS

  • MSK_IINFITEM_MIO_NUM_GOMORY_CUTS

  • MSK_IINFITEM_MIO_NUM_IMPLIED_BOUND_CUTS

  • MSK_IINFITEM_MIO_NUM_KNAPSACK_COVER_CUTS

  • MSK_IINFITEM_MIO_TOTAL_NUM_CUTS

  • MSK_SCALINGTYPE_AGGRESSIVE

  • MSK_SCALINGTYPE_MODERATE

  • MSK_STARTPOINTTYPE_SATISFY_BOUNDS

18.2.3 Response Codes compared to version 9

Added

Removed

  • MSK_RES_ERR_LP_DUP_SLACK_NAME

  • MSK_RES_ERR_LP_FORMAT

  • MSK_RES_ERR_LP_FREE_CONSTRAINT

  • MSK_RES_ERR_LP_INCOMPATIBLE

  • MSK_RES_ERR_LP_INVALID_CON_NAME

  • MSK_RES_ERR_LP_WRITE_CONIC_PROBLEM

  • MSK_RES_ERR_LP_WRITE_GECO_PROBLEM

  • MSK_RES_ERR_MPS_INV_BOUND_KEY

  • MSK_RES_ERR_MPS_INV_CON_KEY

  • MSK_RES_ERR_MPS_INV_SEC_NAME

  • MSK_RES_ERR_OPF_FORMAT

  • MSK_RES_ERR_OPF_NEW_VARIABLE

  • MSK_RES_ERR_READ_LP_NONEXISTING_NAME

  • MSK_RES_ERR_WRITE_LP_FORMAT

  • MSK_RES_ERR_WRITE_LP_NON_UNIQUE_NAME

  • MSK_RES_WRN_EXP_CONES_WITH_VARIABLES_FIXED_AT_ZERO

  • MSK_RES_WRN_POW_CONES_WITH_ROOT_FIXED_AT_ZERO

  • MSK_RES_WRN_QUAD_CONES_WITH_ROOT_FIXED_AT_ZERO

  • MSK_RES_WRN_RQUAD_CONES_WITH_ROOT_FIXED_AT_ZERO