Skip to main content

chai/optimizers/
mod.rs

1//! 优化方法接口,以及若干优化方法的实现
2//!
3
4use serde::{Deserialize, Serialize};
5
6use crate::objectives::目标函数;
7pub mod genetic;
8pub mod simulated_annealing;
9
10#[derive(Debug)]
11pub struct 计时器 {
12    pub encode_reset: u128,
13    pub encode_init: u128,
14    pub encode_assembly: u128,
15    pub encode_short: u128,
16    pub encode_duplicate: u128,
17    pub objective_accumulate: u128,
18    pub objective_accept: u128,
19}
20
21pub static mut 全局计时器: 计时器 = 计时器 {
22    encode_reset: 0,
23    encode_init: 0,
24    encode_assembly: 0,
25    encode_short: 0,
26    encode_duplicate: 0,
27    objective_accumulate: 0,
28    objective_accept: 0,
29};
30
31pub trait 决策: Clone {
32    type 变化: Clone;
33
34    // 返回 ba^{-1}
35    fn 除法(旧变化: &Self::变化, 新变化: &Self::变化) -> Self::变化;
36}
37
38#[derive(Serialize, Deserialize)]
39pub struct 优化结果<O: 目标函数> {
40    pub 配置文件: String,
41    pub 指标: O::目标值,
42    pub 分数: f64,
43}