[package]
edition = "2024"
name = "hill_descent_lib"
version = "0.3.0"
authors = ["Mick Caine <mick.caine@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Genetic algorithm library for n-dimensional optimization problems"
readme = "README.md"
keywords = [
"optimization",
"genetic-algorithm",
"hill-descent",
"evolution",
"fitness",
]
categories = [
"algorithms",
"science",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/cainem/hill_descent"
resolver = "2"
[features]
enable-tracing = [
"tracing",
"tracing-subscriber",
"tracing-log",
"log",
]
[lib]
name = "hill_descent_lib"
crate-type = ["rlib"]
path = "src/lib.rs"
[[example]]
name = "custom_function"
path = "examples/custom_function.rs"
[[example]]
name = "multi_dimensional"
path = "examples/multi_dimensional.rs"
[[example]]
name = "simple_optimization"
path = "examples/simple_optimization.rs"
[[test]]
name = "organism_persistence_test"
path = "tests/organism_persistence_test.rs"
[[test]]
name = "parallel_determinism_test"
path = "tests/parallel_determinism_test.rs"
[[test]]
name = "simple_test"
path = "tests/simple_test.rs"
[[test]]
name = "two_d_ackley_test"
path = "tests/two_d_ackley_test.rs"
[[test]]
name = "two_d_bukin_n6_test"
path = "tests/two_d_bukin_n6_test.rs"
[[test]]
name = "two_d_himmelblau_test"
path = "tests/two_d_himmelblau_test.rs"
[[test]]
name = "two_d_levi_n13_test"
path = "tests/two_d_levi_n13_test.rs"
[[test]]
name = "two_d_rastrgin_test"
path = "tests/two_d_rastrgin_test.rs"
[[test]]
name = "two_d_schaffer_n2_test"
path = "tests/two_d_schaffer_n2_test.rs"
[[test]]
name = "two_d_styblinski_tang_test"
path = "tests/two_d_styblinski_tang_test.rs"
[[bench]]
name = "hundred_parameter_benchmark"
path = "benches/hundred_parameter_benchmark.rs"
harness = false
[dependencies.getrandom]
version = "0.4.0"
[dependencies.indexmap]
version = "2.11"
features = [
"serde",
"rayon",
]
[dependencies.log]
version = "0.4"
optional = true
[dependencies.mimalloc]
version = "0.1"
[dependencies.rand]
version = "0.9"
features = [
"small_rng",
"std_rng",
]
[dependencies.rayon]
version = "1.10"
[dependencies.rustc-hash]
version = "2.1"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.tracing]
version = "0.1"
features = ["attributes"]
optional = true
[dependencies.tracing-log]
version = "0.2"
optional = true
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"fmt",
"std",
"env-filter",
"time",
]
optional = true
[dependencies.xxhash-rust]
version = "0.8"
features = ["xxh3"]
[dev-dependencies.criterion]
version = "0.5"
[lints.rust]
unused = "warn"
[profile.bench]
debug = 2