pub struct MultiObjectiveOptimizer {
pub config: MultiObjectiveConfig,
pub pareto_frontier: ParetoFrontier,
pub scalarizers: Vec<Scalarizer>,
pub constraint_handlers: Vec<ConstraintHandler>,
pub decision_maker: DecisionMaker,
}Expand description
Multi-objective optimizer
Fields§
§config: MultiObjectiveConfigConfiguration
pareto_frontier: ParetoFrontierPareto frontier
scalarizers: Vec<Scalarizer>Scalarization methods
constraint_handlers: Vec<ConstraintHandler>Constraint handlers
decision_maker: DecisionMakerDecision maker
Implementations§
Source§impl MultiObjectiveOptimizer
impl MultiObjectiveOptimizer
pub fn new(config: MultiObjectiveConfig) -> Self
pub fn optimize( &mut self, candidates: Vec<OptimizationConfiguration>, ) -> Result<Vec<MultiObjectiveSolution>, String>
pub fn make_decision( &mut self, preferences: Option<UserPreferences>, ) -> Result<MultiObjectiveSolution, String>
pub fn scalarize( &self, solution: &MultiObjectiveSolution, weights: &[f64], ) -> Result<f64, String>
Auto Trait Implementations§
impl Freeze for MultiObjectiveOptimizer
impl RefUnwindSafe for MultiObjectiveOptimizer
impl Send for MultiObjectiveOptimizer
impl Sync for MultiObjectiveOptimizer
impl Unpin for MultiObjectiveOptimizer
impl UnsafeUnpin for MultiObjectiveOptimizer
impl UnwindSafe for MultiObjectiveOptimizer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.