RLOptimizer

Trait RLOptimizer 

Source
pub trait RLOptimizer {
    // Required methods
    fn config(&self) -> &RLOptimizationConfig;
    fn select_action(&mut self, state: &OptimizationState) -> OptimizationAction;
    fn update(&mut self, experience: &Experience) -> OptimizeResult<()>;
    fn run_episode<F>(
        &mut self,
        objective: &F,
        initial_params: &ArrayView1<'_, f64>,
    ) -> OptimizeResult<OptimizeResults<f64>>
       where F: Fn(&ArrayView1<'_, f64>) -> f64;
    fn train<F>(
        &mut self,
        objective: &F,
        initial_params: &ArrayView1<'_, f64>,
    ) -> OptimizeResult<OptimizeResults<f64>>
       where F: Fn(&ArrayView1<'_, f64>) -> f64;
    fn reset(&mut self);
}
Expand description

Trait for RL-based optimizers

Required Methods§

Source

fn config(&self) -> &RLOptimizationConfig

Configuration

Source

fn select_action(&mut self, state: &OptimizationState) -> OptimizationAction

Select action given current state

Source

fn update(&mut self, experience: &Experience) -> OptimizeResult<()>

Update policy/value function based on experience

Source

fn run_episode<F>( &mut self, objective: &F, initial_params: &ArrayView1<'_, f64>, ) -> OptimizeResult<OptimizeResults<f64>>
where F: Fn(&ArrayView1<'_, f64>) -> f64,

Run optimization episode

Source

fn train<F>( &mut self, objective: &F, initial_params: &ArrayView1<'_, f64>, ) -> OptimizeResult<OptimizeResults<f64>>
where F: Fn(&ArrayView1<'_, f64>) -> f64,

Train the RL optimizer

Source

fn reset(&mut self)

Reset optimizer state

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§