Supported Solvers

CMPL executes HiGHS (default), SCIP, CBC, GLPK, Gurobi and CPLEX directly to solve the generated model instance. The CMPL package contains HiGHS as a standard solver as well as SCIP. Because it is also possible to transform the mathematical problem into MPS or Free-MPS, alternative solvers can be used.



Open Source solvers

  • HiGHS
    The CMPL package contains HiGHS. Because HiGHS is the default solver it doesn't need not to be specified.

    It is possible to use almost of the HiGHS solver options within the CMPL header. Please see HiGHS solver options for a list of useful solver parameters.
    %opt highs solverOption[=solverOptionValue]

  • SCIP
    The CMPL package contains SCIP and it can be used by the following command:
    cmpl <problem>.cmpl -solver scip
    or by the CMPL header flag:
    %arg -solver scip.

    All SCIP parameters described in the SCIP Documentation can be used in the CMPL header.
    %opt scip solverOption[=solverOptionValue]

  • CBC
    If CBC is installed on the same computer as CMPL then it can be connected to CMPL by changing the entry CBC in the file <cmplhome>/bin/cmpl.opt.

    It can be used by the following command:
    cmpl <problem>.cmpl -solver cbc
    or by the CMPL header flag:
    %arg -solver cbc.

    It is possible to use most of the CBC solver options within the CMPL header.
    %opt cbc solverOption[=solverOptionValue]

  • GLPK
    If GLPK is installed on the same computer as CMPL then it can be connected to CMPL by changing the entry GLPK in the file <cmplhome>/bin/cmpl.opt.
    cmpl <problem>.cmpl -solver glpk
    or by the CMPL header flag:
    %arg -solver glpk.

    Most of the GLPK solver options can be used by defining solver options within the CMPL header.
    %opt glpk solverOption[=solverOptionValue]

Commercial solvers
  • Gurobi
    If Gurobi is installed on the same computer as CMPL then Gurobi can be executed directly only by using the command
    cmpl <problem>.cmpl -solver gurobi
    or by the CMPL header flag:
    %arg -solver gurobi.

    All Gurobi parameters (excluding NodefileDir, LogFile and ResultFile) described in the Gurobi manual can be used in the CMPL header.
    %opt gurobi solverOption[=solverOptionValue]

  • CPLEX
    CPLEX can be connected to CMPL by changing the entry CPLEX in the file <cmplhome>/bin/cmpl.opt.

    If this entry is correct then you can execute CPLEX directly by using the command
    cmpl <problem>.cmpl -solver cplex
    or by the CMPL header flag:
    %arg -solver cplex.

    All CPLEX parameters described in the CPLEX manual (Parameters of CPLEX -> Parameters Reference Manual) can be used in the CMPL header.
    %opt cplex solverOption[=solverOptionValue]