[package]
edition = "2021"
name = "problemreductions"
version = "0.4.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A library for reducing NP-hard problems"
readme = "README.md"
keywords = [
"np-hard",
"optimization",
"reduction",
"sat",
"graph",
]
categories = [
"algorithms",
"science",
]
license = "MIT"
repository = "https://github.com/CodingThrust/problem-reductions"
[features]
default = ["ilp-highs"]
example-db = []
ilp = ["ilp-highs"]
ilp-clarabel = [
"ilp-solver",
"dep:good_lp",
"good_lp/clarabel",
]
ilp-coin-cbc = [
"ilp-solver",
"dep:good_lp",
"good_lp/coin_cbc",
]
ilp-highs = [
"ilp-solver",
"dep:good_lp",
"good_lp/highs",
]
ilp-lpsolve = [
"ilp-solver",
"dep:good_lp",
"good_lp/lpsolve",
]
ilp-microlp = [
"ilp-solver",
"dep:good_lp",
"good_lp/microlp",
]
ilp-scip = [
"ilp-solver",
"dep:good_lp",
"good_lp/scip",
]
ilp-solver = []
[lib]
name = "problemreductions"
path = "src/lib.rs"
[[example]]
name = "chained_reduction_factoring_to_spinglass"
path = "examples/chained_reduction_factoring_to_spinglass.rs"
[[example]]
name = "detect_isolated_problems"
path = "examples/detect_isolated_problems.rs"
[[example]]
name = "detect_unreachable_from_3sat"
path = "examples/detect_unreachable_from_3sat.rs"
[[example]]
name = "export_examples"
path = "examples/export_examples.rs"
required-features = ["example-db"]
[[example]]
name = "export_graph"
path = "examples/export_graph.rs"
[[example]]
name = "export_mapping_stages"
path = "examples/export_mapping_stages.rs"
[[example]]
name = "export_petersen_mapping"
path = "examples/export_petersen_mapping.rs"
[[example]]
name = "export_schemas"
path = "examples/export_schemas.rs"
[[test]]
name = "main"
path = "tests/main.rs"
[[bench]]
name = "solver_benchmarks"
path = "benches/solver_benchmarks.rs"
harness = false
[dependencies.bitvec]
version = "1.0"
[dependencies.good_lp]
version = "1.8"
optional = true
default-features = false
[dependencies.inventory]
version = "0.3"
[dependencies.num-bigint]
version = "0.4"
[dependencies.num-traits]
version = "0.2"
[dependencies.ordered-float]
version = "5.0"
[dependencies.petgraph]
version = "0.8"
features = ["serde-1"]
[dependencies.problemreductions-macros]
version = "0.4.0"
[dependencies.rand]
version = "0.10"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.thiserror]
version = "2.0"
[dev-dependencies.criterion]
version = "0.8"
[dev-dependencies.proptest]
version = "1.0"
[profile.release]
lto = true
codegen-units = 1
strip = true