Integer Optimization Controls — ecyglpki 0.1.0 documentation

### Navigation

- index
- modules |
- next |
- previous |
- ecyglpki 0.1.0 documentation »

# Integer Optimization Controls

class `ecyglpki.` `IntOptControls`

  The integer optimization solver control parameter object

      >>> r = IntOptControls()

  `binarize`

    Whether to binarize integer variables, a `bool`

    This option is only used if presolve is `True`.

  `br_tech`

    The branching technique, a `str`

    The possible values are

    - `'first_fracvar'`: first fractional variable
    - `'last_fracvar'`: last fractional variable
    - `'most_fracvar'`: most fractional variable
    - `'Driebeek-Tomlin'`: heuristic by Driebeek & Tomlin
    - `'hybrid_peudocost'`: hybrid pseudocost heuristic
  `bt_tech`

    The backtracking technique, a `str`

    The possible values are

    - `'depth'`: depth first search
    - `'breadth'`: breadth first search
    - `'bound'`: best local bound
    - `'projection'`: best projection heuristic
  `cb_func`

    Callback routine

  `cb_info`

    Transit pointer passed to the routine cb_func

  `cb_size`

    Number of extra bytes allocated for each search tree node, an `int`

    Up to 256 bytes can be allocated for each node of the branch-and-bound tree to store application-specific data. On creating a node these bytes are initialized by binary zeros.

        >>> r.cb_size  # the GLPK default
        0
        >>> r.cb_size = 128
        >>> r.cb_size
        128

  `clq_cuts`

    Whether to generate generate clique cuts, a `bool`

  `cov_cuts`

    Whether to generate mixed cover cuts, a `bool`

  `fp_heur`

    Whether to apply the feasibility pump heuristic, a `bool`

  `gmi_cuts`

    Whether to generate Gomory’s mixed integer cuts, a `bool`

  `mip_gap`

    The relative MIP-gap tolerance, a `Real` number

    The search stops once the relative MIP-gap falls below this value.

  `mir_cuts`

    Whether to generate mixed integer rounding cuts, a `bool`

  `msg_lev`

    The message level, a `str`

    The possible values are

    - `'no'`: no output
    - `'warnerror'`: warnings and errors only
    - `'normal'`: normal output
    - `'full'`: normal output and informational messages

        >>> r.msg_lev  # the GLPK default
        'full'
        >>> r.msg_lev = 'no'
        >>> r.msg_lev
        'no'

  `out_dly`

    Output delay [ms] of current LP relaxation solution, an `int`

  `out_frq`

    Output frequency [ms] of informational messages, an `int`

  `pp_tech`

    The preprocessing technique, a `str`

    The possible values are

    - `'none'`: disable preprocessing
    - `'root'`: preprocessing only on the root level
    - `'all'`: preprocessing on all levels
  `presolve`

    Whether to use the MIP presolver, a `bool`

    Using the MIP presolver may simplify the problem

  `ps_heur`

    Whether to apply the proximity search heuristic, a `bool`

  `ps_tm_lim`

    Time limit [ms] for the proximity earch heuristic, an `int`

  `tm_lim`

    Time limit [ms], an `int`

  `tol_int`

    Abs. tolerance for LP solution integer feasibility, a `Real` number

    This is the absolute tolerance used to check if the optimal solution to the current LP relaxation is integer feasible.

  `tol_obj`

    Rel. tolerance of LP objective optimality, a `Real` number

    This is the relative tolerance used to check if the objective value in the optimal solution to the current LP relaxation is not better than in the best known integer feasible solution.

### Navigation

- index
- modules |
- next |
- previous |
- ecyglpki 0.1.0 documentation »