3个版本
0.1.2 | 2023年4月30日 |
---|---|
0.1.1 | 2023年4月30日 |
0.1.0 | 2023年4月29日 |
157 在 模拟 中排名
每月下载 34 次
600KB
177 代码行
simple-pso-demo-rs
英语 | 简体中文
粒子群优化(PSO)的简单应用
根据PSO计算最有价值的商品,并在Rust中实现。
根据课程要求,部分代码由ChatGPT生成并进行修改。
要解决的问题
模拟从同一类型商品的不同品牌中选择相对最有价值的商品,并使用PSO解决问题。
在此项目中,商品简单地定义为以下内容
pub struct Product {
/// Individual fitness
p_best: f64,
/// There is a three-dimensional space, whose coordinate axis x, y, z's meaning
/// is below:
///
/// x.0 (x)- restocking_price
///
/// x.1 (y)- selling_price
///
/// x.2 (z)- market_demand
///
/// Score value is 1.
x: (f64, f64, f64),
/// Velocity vector
v: (i32, i32, i32),
w1: f64,
w2: f64,
}
单个粒子(商品)的适应度(价值)使用以下公式计算
((purchase price - selling price) * w1) * market demand * w2
所有粒子(商品)位于二维空间中,通过PSO,在指定次数的迭代中计算出当前空间中最有价值的商品。
所有粒子的步长基本单位为1。当售价低于购价时,粒子只更新速度而不移动。
-- 由ChatGPT生成。