Skip to main content

Crate blackopt

Crate blackopt 

Source
Expand description

§blackopt

Black-box optimization in Rust. Provides a define-by-run API for hyperparameter and function optimization, supporting both single-objective and multi-objective optimization with state-of-the-art algorithms.

§Quick Start

use blackopt::{create_study, StudyDirection};

let study = create_study(None, None, None, None,
    Some(StudyDirection::Minimize), None, false).unwrap();

study.optimize(|trial| {
    let x = trial.suggest_float("x", -10.0, 10.0, false, None)?;
    Ok(x * x)
}, Some(100), None, None).unwrap();

println!("Best value: {}", study.best_value().unwrap());

§Samplers

§Pruners

Re-exports§

pub use distributions::CategoricalChoice;
pub use distributions::CategoricalDistribution;
pub use distributions::Distribution;
pub use distributions::FloatDistribution;
pub use distributions::IntDistribution;
pub use distributions::ParamValue;
pub use error::Error;
pub use error::Result;
pub use importance::get_param_importances;
pub use importance::FanovaEvaluator;
pub use importance::ImportanceEvaluator;
pub use multi_objective::crowding_distance;
pub use multi_objective::dominates;
pub use multi_objective::fast_non_dominated_sort;
pub use multi_objective::get_pareto_front_trials;
pub use multi_objective::hypervolume_2d;
pub use multi_objective::is_pareto_front;
pub use pruners::MedianPruner;
pub use pruners::NopPruner;
pub use pruners::PercentilePruner;
pub use pruners::Pruner;
pub use samplers::BruteForceSampler;
pub use samplers::CmaEsCrossover;
pub use samplers::CmaEsSampler;
pub use samplers::CmaEsSamplerBuilder;
pub use samplers::GridSampler;
pub use samplers::MorboSampler;
pub use samplers::MorboSamplerBuilder;
pub use samplers::NSGAIISampler;
pub use samplers::NSGAIISamplerBuilder;
pub use samplers::NSGAIIISampler;
pub use samplers::NSGAIIISamplerBuilder;
pub use samplers::PartialFixedSampler;
pub use samplers::QmcSampler;
pub use samplers::RandomSampler;
pub use samplers::Sampler;
pub use samplers::TpeSampler;
pub use samplers::TpeSamplerBuilder;
pub use search_space::IntersectionSearchSpace;
pub use search_space::SearchSpaceTransform;
pub use storage::InMemoryStorage;
pub use storage::Storage;
pub use study::create_study;
pub use study::FrozenStudy;
pub use study::Study;
pub use study::StudyDirection;
pub use terminators::MaxTrialsTerminator;
pub use terminators::NoImprovementTerminator;
pub use terminators::TargetValueTerminator;
pub use terminators::Terminator;
pub use trial::FixedTrial;
pub use trial::FrozenTrial;
pub use trial::Trial;
pub use trial::TrialState;

Modules§

callbacks
distributions
error
importance
Parameter importance analysis.
multi_objective
pruners
samplers
search_space
storage
study
terminators
Early stopping terminators for optimization loops.
trial