1use 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 fn 除法(旧变化: &Self::变化, 新变化: &Self::变化) -> Self::变化;
36}
37
38#[derive(Serialize, Deserialize)]
39pub struct 优化结果<O: 目标函数> {
40 pub 配置文件: String,
41 pub 指标: O::目标值,
42 pub 分数: f64,
43}