Module lp_solvers::solvers[][src]

This module provides the interface to different solvers.

Both coin_cbc and minilp are available as cargo features. To use them, specify your dependency to lp_modeler accordingly in your Cargo.toml (note the name difference of the native_coin_cbc feature for the coin_cbc crate):

[dependencies.lp_modeler]
version = "4.3"
features = "native_coin_cbc"

or:

[dependencies.lp_modeler]
version = "4.3"
features = "minilp"

For coin_cbc to compile, the Cbc library files need to be available on your system. See the coin_cbc project README for more infos.

The other solvers need to be installed externally on your system. The respective information is provided in the project’s README in the section on installing external solvers.

Re-exports

pub use self::auto::*;
pub use self::cbc::*;
pub use self::glpk::*;
pub use self::gurobi::*;

Modules

auto

Auto solvers automatically find which of their child solvers is installed on the user’s computer and uses it. The AllSolvers solvers tries all the supported solvers.

cbc

The coin-or cbc solver. [https://github.com/coin-or/Cbc#cbc]

glpk

GNU’s glpk solver [https://www.gnu.org/software/glpk/]

gurobi

The proprietary gurobi solver

Structs

Solution

A solution to a problem

StaticSolver

A static version of a solver, where the solver itself doesn’t hold any data

Enums

Status

Solution status

Traits

SolverProgram

An external commandline solver

SolverTrait

A solver that can take a problem and return a solution

SolverWithSolutionParsing

A solver that can parse a solution file

WithMaxSeconds

Configure the max allowed runtime

WithNbThreads

A solver where the parallelism can be configured