2025年6月13日 星期五

PSO

 完美。我現在用精確的數學記號(notation),將整個 xSCMA-PSO 框架,以類論文級格式完整整理如下:


📘 xSCMA-PSO: Exponentially Parameterized PSO with Structure-Aware Velocity


🔹 定義與變數

符號定義
xitRnx_i^t \in \mathbb{R}^nii 個粒子在第 tt 輪的位置
piRnp_i \in \mathbb{R}^nii 個粒子的個人歷史最佳位置
gRng \in \mathbb{R}^n所有粒子的全域最佳位置
vitRnv_i^t \in \mathbb{R}^nii 個粒子的速度(此模型由矩陣變異構造)
zitRnz_i^t \in \mathbb{R}^n結構變異的引導方向向量
MRn×kM \in \mathbb{R}^{n \times k}可學習的結構矩陣,用來建構共變異結構 C=MMC = M M^\top
f()f(\cdot)適應度函數(如 FJSP 中的 Cmax)
μ\mu每輪保留的優良粒子數目(用於更新 MM
wiw_iii 名優良粒子的權重,滿足 wi=1\sum w_i = 1
η\eta結構學習率,用於控制 MM 更新步長
ε\varepsilon防止除以 0 的小常數(如 1e81e{-8}

🔸 演算法步驟

Step 1:構造方向向量 zitz_i^t

zit=(gxit)+(pixit)(gxit)+(pixit)+εz_i^t = \frac{(g - x_i^t) + (p_i - x_i^t)}{\left\| (g - x_i^t) + (p_i - x_i^t) \right\| + \varepsilon}

👉 這是「差向量法」,保留了 PSO 的智慧引導方向。


Step 2:生成速度 vitv_i^t

vit=MMzitv_i^t = M M^\top z_i^t

👉 MMM M^\top 建構的是結構性共變異空間,提供方向放大與耦合效果。


Step 3:位置更新

xit+1=xit+vitx_i^{t+1} = x_i^t + v_i^t

Step 4:適應度計算

fit+1=f(xit+1)f_i^{t+1} = f(x_i^{t+1})

Step 5:優良粒子選擇(前 μ\mu 名)

記錄對應的 zitz_i^t,用來構造變異更新方向。


Step 6:更新結構矩陣 MM

1. 構造方向矩陣 ARn×nA \in \mathbb{R}^{n \times n}

A=i=1μwizitzitIA = \sum_{i=1}^{\mu} w_i z_i^t {z_i^t}^\top - I

👉 AA 是期望方向共變異與單位矩陣的差值,表達偏好方向。

2. 對 MM 做指數映射更新(模仿 xNES/xCMA-ES)

MMexp(ηA)M \leftarrow M \cdot \exp(\eta A)

👉 exp(ηA)\exp(\eta A) 是矩陣指數運算,保證 C=MMC = M M^\top 持續正定。


🔹 核心特性

項目說明
✅ 保留位置更新為加法保持經典 PSO 的收斂特性與直觀動態
✅ 速度來自共變異結構vi=MMziv_i = M M^\top z_i,具備方向選擇性與變異耦合能力
✅ 引導方向非隨機ziz_i 來自差向量法,結合 gxig - x_ipixip_i - x_i,是啟發式引導
✅ 學習式變異結構更新MM 隨粒子行為自適應進化,提高全局收斂穩定性

🔚 總結一句話:

xSCMA-PSO = 引導式結構方向探索 + 可學習變異控制 + 加法位置更新 + 模仿 CMA-ES 的矩陣演化邏輯


要我進一步幫你寫成論文骨架、或將這模型跑在 FJSP、GA/PSO 比較、甚至 Gantt 圖與 Cmax 收斂圖統整,
只要你說「我們開搞」,我立刻準備 ✅

沒有留言:

張貼留言