Cargo Features

[dependencies]
good_lp = { version = "1.10.0", default-features = false, features = ["singlethread-cbc", "scip", "all_default_solvers", "clarabel-wasm", "minilp", "cplex-rs"] }
default = coin_cbc, singlethread-cbc

These default features are set whenever good_lp is added without default-features = false somewhere in the dependency tree.

singlethread-cbc default

Enables singlethread-cbc of optional coin_cbc

coin_cbc:

The singlethread-cbc feature MUST be activated if this crate is going to be used with a cbc dynamic library that has not been explicitly compiled with -DCBC_THRED_SAFE. For more information, see https://github.com/KardinalAI/coin_cbc/issues/9

scip = russcip

Affects solvers::scip

all_default_solvers = clarabel, coin_cbc, highs, lp-solvers, lpsolve, microlp, russcip

cplex-rs is not included because it is incompatible with lpsolve

clarabel-wasm

Enables wasm of clarabel

minilp = microlp

minilp is not maintained anymore, we use the microlp fork instead

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

coin_cbc default all_default_solvers?

Affects solvers::coin_cbc

microlp all_default_solvers? minilp?

Affects solvers::microlp

lpsolve all_default_solvers?

Affects solvers::lpsolve

highs all_default_solvers?

Affects solvers::highs

russcip all_default_solvers? scip?
lp-solvers all_default_solvers?

Affects good_lp::default_solver, solvers::lp_solvers

cplex-rs implicit feature

Enables cplex-rs

cplex-rs:

Binding of IBM Cplex library

Affects solvers::cplex

clarabel all_default_solvers? clarabel-wasm?

Affects solvers::clarabel