智能优化算法:光学显微镜算法

发布时间:2026/7/10 1:21:47

智能优化算法:光学显微镜算法 智能优化算法光学显微镜算法文章目录智能优化算法光学显微镜算法1.算法原理1.1 种群初始化1.2 物镜放大 (Objective lens magnification)1.3 目镜放大 (Eyepiece magnification)2.算法结果Matlabpython3.参考文献光学显微镜算法(Optical Microscope Algorithm, OMA)从光学显微镜对目标物体的放大能力中获得灵感使用肉眼进行初始观察并通过物镜和目镜模拟放大过程。1.算法原理1.1 种群初始化与大部分的智能优化算法一样OMA 的种群初始化就是在问题的搜索空间中随机产生一些点即个体。假设种群规模为 N问题维度为 D则初始化公式如下x i j l b j r ⋅ ( u b j − l b j ) (1) x_{ij} lb_j r \cdot (ub_j - lb_j) \tag{1}xij​lbj​r⋅(ubj​−lbj​)(1)其中i 1 , 2 , … , N i 1,2,\dots,Ni1,2,…,Nj 1 , 2 , … , D j 1,2,\dots,Dj1,2,…,D。x i j x_{ij}xij​表示个体 i的第 j 维变量lbj\和 ubj 分别表示第 j 维变量的下界和上届r是[0,1] 之间的随机数。1.2 物镜放大 (Objective lens magnification)在调试物镜阶段作者将种群个体的位置更新公式设计如下x i 1 x i t m r ⋅ 1.40 ⋅ x b e s t t (2) x_i^1 x_i^t m^r \cdot 1.40 \cdot x_{best}^t \tag{2}xi1​xit​mr⋅1.40⋅xbestt​(2)其中t是当前迭代次数。x b e s t t x_{best}^txbestt​是第 t 代种群的最优个体。x i t x_i^txit​是第i 个个体的位置。则表示物镜调试后x i 1 x_i^1xi1​第i个个体的位置。mr表示变量取值在 [0,1] 之间的随机向量。得到x i 1 x_i^1xi1​后就要进行一次贪婪选择以便后续进行目镜放大{ x i t x i 1 , if f i t ( x i 1 ) ≤ f i t ( x i t ) x i t x i t , else (3) \begin{cases} x_i^t x_i^1, \text{if } fit(x_i^1) \leq fit(x_i^t) \\ x_i^t x_i^t, \text{else} \end{cases} \tag{3}{xit​xi1​,xit​xit​,​iffit(xi1​)≤fit(xit​)else​(3)1.3 目镜放大 (Eyepiece magnification)在调试目镜阶段作者将种群个体的位置更新公式设计如下x i 2 x i t m r ⋅ 0.55 ⋅ s p a c e (4) x_i^2 x_i^t m^r \cdot 0.55 \cdot space \tag{4}xi2​xit​mr⋅0.55⋅space(4)注意这里的x i t x_i^txit​是通过 (3) 式以后得到的。mr与前面相同表示一个变量取值在[0,1] 之间的随机向量。space是作者定义的一个搜索范围s p a c e { x i t − x k t , if f i t ( x i t ) ≤ f i t ( x k t ) x k t − x i t , else (5) space \begin{cases} x_i^t - x_k^t, \text{if } fit(x_i^t) \leq fit(x_k^t) \\ x_k^t - x_i^t, \text{else} \end{cases} \tag{5}space{xit​−xkt​,xkt​−xit​,​iffit(xit​)≤fit(xkt​)else​(5)其中k是从种群中随机选择的一个个体且k ≠ i k \neq iki。得到x i 2 x_i^2xi2​后再进行一次贪婪选择就得到了进入下一代种群的个体x i t 1 x_i^{t1}xit1​{ x i t 1 x i 2 , if f i t ( x i 2 ) ≤ f i t ( x i t ) x i t 1 x i t , else (6) \begin{cases} x_i^{t1} x_i^2, \text{if } fit(x_i^2) \leq fit(x_i^t) \\ x_i^{t1} x_i^t, \text{else} \end{cases} \tag{6}{xit1​xi2​,xit1​xit​,​iffit(xi2​)≤fit(xit​)else​(6)种群的个体是依次执行两个位置更新公式即先物镜放大再目镜放大。两个阶段都要执行这也符合实际的显微镜调试过程。2.算法结果Matlabpython3.参考文献[1] Cheng, M. Y., Sholeh, M. N. (2023). Optical microscope algorithm: a new metaheuristic inspired by microscope magnification for solving engineering optimization problems. Knowledge-Based Systems. DOI: https://doi.org/10.1016/j.knosys.2023.110939

相关新闻