基于法医调查算法的函数寻优算法

一、理论基础

1、法医调查算法

文献[1]提出了了一种新的优化算法,称为法医调查算法(Forensic-based investigation algorithm, FBI),其灵感来自警官使用的嫌疑人调查-定位-追捕过程。
警察的大规模案件调查通常包括五个步骤,其中步骤2、3和4可视为一个循环过程。

  1. 立案:对这起事件的调查从最先到达犯罪现场的警察发现的信息开始。这些信息构成了调查小组成员的主要出发点,他们从遵循几个标准程序开始,以获得可能发生的事情的第一印象。小组成员调查犯罪现场、受害者、可能的嫌疑人及其背景信息;小组找到证人并询问证人。
  2. 分析调查结果:通过在团队简报中共享信息,团队成员试图获得所有可用信息的概述。在第二步中,团队评估信息,并尝试将信息与他们对案件已有的印象联系起来,以评估可能的嫌疑人。
  3. 调查方向:在调查的第三步中,团队成员根据对调查结果的分析,做出几种猜想(包括犯罪场景、犯罪动机和调查路线)。团队再次评估调查结果,得出新的方向,或确认、更改或终止现有的调查方向。
  4. 行动:在确定了调查路线和优先顺序后,警察团队就要采取的进一步行动做出决定。这一步骤与关于优先事项的决策密切相关,通常首先追求最有希望的研究方向。所采取的行动再次提供了新的信息。一旦获得该信息,调查小组将根据现有信息解释其含义或含义。对新发现的分析可能会导致调查和行动方向的调整。
  5. 起诉:在做出起诉决定之前,一旦确定了一名严重嫌疑人,诉讼就结束了。

FBI算法模型主要分为四个部分,下面详细介绍。

(1)步骤A1

该部分对应着“分析调查结果”步骤。该小组评估了信息,并初步确定了可能的可疑地点。在其他调查结果的背景下,对嫌疑人的每个可能位置进行调查。首先,根据 X A i X_{A_i} XAi和其他可疑位置的相关信息,推断出 X A i X_{A_i} XAi的一个新可疑位置,命名为 X A 1 i X_{A1_i} XA1i。在这项工作中,假设每个人在其他人的影响下移动。其数学模型如下: X A 1 i j = X A i j + ( ( r a n d − 0.5 ) ∗ 2 ) ∗ ( ∑ a = 1 a 1 X A a j ) / a 1 (1) X_{A1_{ij}}=X_{A_{ij}}+((rand-0.5)^*2)^*\left(\sum_{a=1}^{a_1}X_{A_{aj}}\right)/a_1\tag{1} XA1ij=XAij+((rand0.5)2)(a=1a1XAaj)/a1(1)其中, j = 1 , 2 , ⋯   , D j=1,2,\cdots,D j=1,2,,D D D D为问题的维数; ( ( r a n d − 0.5 ) ∗ 2 ) ((rand-0.5)^*2) ((rand0.5)2)表示一个 [ − 1 , 1 ] [-1,1] [1,1]的随机数; r a n d rand rand表示一个 [ 0 , 1 ] [0,1] [0,1]的随机数; a 1 ∈ { 1 , 2 , ⋯   , n − 1 } a_1\in\{1,2,\cdots,n-1\} a1{ 1,2,,n1}表示影响 X A i j X_{A_{ij}} XAij移动个体数量; a = 1 , 2 , ⋯   , a 1 a=1,2,\cdots,a_1 a=1,2,,a1。实验表明, a 1 = 2 a1=2 a1=2能够在较短的计算时间内产生最佳结果。因此,新的可疑位置 X A 1 i X_{A1_i} XA1i如式(2)计算; p A i p_{A_i} pAi定义为嫌疑人在 X A i X_{A_i} XAi位置的概率(目标值),这意味着 p A i p_{A_i} pAi X A i X_{A_i} XAi位置的目标值(即 p A i = f o b j e c t i v e ( A i ) p_{A_i}=f_{objective}(A_i) pAi=fobjective(Ai))。将保留嫌疑人存在概率更大(目标值)的位置,而放弃另一个位置。 X A 1 i j = X A i j + ( ( r a n d 1 − 0.5 ) ∗ 2 ) ∗ ( X A i j − ( X A k j + X A h j ) / 2 ) (2) X_{A1_{ij}}=X_{A_{ij}}+((rand_1-0.5)^*2)^*(X_{A_{ij}}-(X_{A_{kj}}+X_{A_{hj}})/2)\tag{2} XA1ij=XAij+((rand10.5)2)(XAij(XAkj+XAhj)/2)(2)其中, k k k h h h i i i是三个可疑位置: { k , h , i } ∈ { 1 , 2 , ⋯   , N P } \{k,h,i\}\in\{1,2,\cdots,NP\} { k,h,i}{ 1,2,,NP} k k k h h h随机选择; j = 1 , 2 , ⋯   , D j=1,2,\cdots,D j=1,2,,D N P NP NP是可疑位置的数量; D D D为问题的维数; ( ( r a n d 1 − 0.5 ) ∗ 2 ) ((rand_1-0.5)^*2) ((rand10.5)2)表示一个 [ − 1 , 1 ] [-1,1] [1,1]的随机数; r a n d 1 rand_1 rand1表示一个 [ 0 , 1 ] [0,1] [0,1]的随机数。

(2)步骤A2

该部分对应着“调查方向”步骤。调查人员将每个可疑位置的概率与其他位置的概率进行比较,以确定应进一步调查的最可能的可疑位置。当优化是一个最小化问题时, p w o r s t p_{worst} pworst是最低概率(最差目标值), p b e s t p_{best} pbest是最高概率(最佳目标值), X b e s t X_{best} Xbest是最佳位置。可以理解的是,虽然 p w o r s t p_{worst} pworst p b e s t p_{best} pbest不同,但任何概率较低的位置都可能会被放弃,转而选择另一个概率较高的位置。使用式(3)评价每个位置的概率 P r o b ( X A i ) Prob(X_{A_i}) Prob(XAi) P r o b ( X A i ) Prob(X_{A_i}) Prob(XAi)的高值对应于该位置的高概率。 P r o b ( X A i ) = ( p w o r s t − p A i ) / ( p w o r s t − p b e s t ) (3) Prob(X_{A_i})=(p_{worst}-p_{A_i})/(p_{worst}-p_{best})\tag{3} Prob(XAi)=(pworstpAi)/(pworstpbest)(3)搜索位置的更新受其他可疑位置的方向影响。然而,并非所有方向都改变了;更改更新位置中随机选择的方向,以增加搜索区域的多样性。在这一步中, X A i X_{A_i} XAi的移动只受最佳个体和其他随机个体的影响。步骤A2类似于步骤A1,式(4)给出了移动的一般公式。 X A 2 i = X b e s t + ∑ b = 1 a 2 α b ∗ X A b j (4) X_{A2_i}=X_{best}+\sum_{b=1}^{a_2}{\alpha_b}^*X_{A_{bj}}\tag{4} XA2i=Xbest+b=1a2αbXAbj(4)其中, X b e s t X_{best} Xbest为最佳位置; a 2 a_2 a2是影响 X A 2 i X_{A2_i} XA2i移动的个体数: a 2 ∈ { 1 , 2 , ⋯   , n − 1 } a_2\in\{1,2,\cdots,n-1\} a2{ 1,2,,n1} b = 1 , 2 , ⋯   , a 2 b=1,2,\cdots,a_2 b=1,2,,a2 α b ( α b ∈ [ − 1 , 1 ] ) \alpha_b(\alpha_b\in[-1,1]) αb(αb[1,1])是其他个体移动的有效系数。数值实验得出 a 2 = 3 a_2=3 a2=3。因此,使用式(5)生成新的可疑位置 X A 2 i j X_{A2_{ij}} XA2ij。然后计算概率(目标值),以确定是否更新可疑位置。 X A 2 i j = X b e s t + X A d j + r a n d 5 ∗ ( X A e j − X A f j ) (5) X_{A2_{ij}}=X_{best}+X_{A_{dj}}+{rand_5}^*(X_{A_{ej}}-X_{A_{fj}})\tag{5} XA2ij=Xbest+XAdj+rand5(XAejXAfj)(5)其中, X b e s t X_{best} Xbest是在步骤A1中更新的最佳位置, r a n d 5 rand_5 rand5 [ 0 , 1 ] [0,1] [0,1]范围内的随机数; d , e , f , i d,e,f,i d,e,f,i为四个可疑位置: { d , e , f , i } ∈ { 1 , 2 , ⋯   , N P } \{d,e,f,i\}\in\{1,2,\cdots,NP\} { d,e,f,i}{ 1,2,,NP} d , e d,e d,e f f f随机选择; j = 1 , 2 , ⋯   , D j=1,2,\cdots,D j=1,2,,D

(3)步骤B1

该部分对应着“行动”步骤。在收到调查小组关于最佳位置的报告后,追捕小组中的所有特工必须以协调的方式接近目标,以逮捕嫌疑人。根据式(6),每个代理 B i B_i Bi接近具有最佳概率(目标值)的位置。如果新接近的位置产生的概率(目标值)比旧位置的概率( p B i p_{Bi} pBi)更好,则更新该位置。 X B 1 i j = r a n d 6 ∗ X B i j + r a n d 7 ∗ ( X b e s t − X B i j ) (6) X_{B1_{ij}}={rand_6}^*X_{B_{ij}}+{rand_7}^*(X_{best}-X_{B_{ij}})\tag{6} XB1ij=rand6XBij+rand7(XbestXBij)(6)其中, X b e s t X_{best} Xbest是调查小组提供的最佳位置; r a n d 6 rand_6 rand6 r a n d 7 rand_7 rand7为两个 [ 0 , 1 ] [0,1] [0,1]范围内的随机数; j = 1 , 2 , ⋯   , D j=1,2,\cdots,D j=1,2,,D

(4)步骤B2

该部分扩展了“行动”步骤。无论何时采取任何行动,警察都会向总部报告新地点的概率(目标值)。总部立即更新位置,并命令追捕小组接近该位置。此时,每个代理 B i B_i Bi与所有其他代理进行密切协调;代理 B i B_i Bi向最佳位置移动,代理 B i B_i Bi受到其他团队成员(代理 B r B_r Br,概率为 p B r p_{B_r} pBr)的影响。如果 p B r p_{B_r} pBr优于 p B i p_{B_i} pBi,则代理 B i B_i Bi(即 X B 2 i X_{B2_i} XB2i)的新位置通过式(7)计算;否则,通过式(8)计算。当新发现的位置达到比旧位置更大的概率(目标值)时,将更新该位置。 X B 2 i j = X B r j + r a n d 8 ∗ ( X B r j − X B i j ) + r a n d 9 ∗ ( X b e s t − X B r j ) (7) X_{B2_{ij}}=X_{B_{rj}}+{rand_8}^*(X_{B_{rj}}-X_{B_{ij}})+{rand_9}^*(X_{best}-X_{B_{rj}})\tag{7} XB2ij=XBrj+rand8(XBrjXBij)+rand9(XbestXBrj)(7) X B 2 i j = X B r j + r a n d 10 ∗ ( X B i j − X B r j ) + r a n d 11 ∗ ( X b e s t − X B i j ) (8) X_{B2_{ij}}=X_{B_{rj}}+{rand_{10}}^*(X_{B_{ij}}-X_{B_{rj}})+{rand_{11}}^*(X_{best}-X_{B_{ij}})\tag{8} XB2ij=XBrj+rand10(XBijXBrj)+rand11(XbestXBij)(8)其中, X b e s t X_{best} Xbest是步骤B1中提供的最佳位置, r a n d 8 , r a n d 9 , r a n d 10 rand_8,rand_9,rand_{10} rand8,rand9,rand10 r a n d 11 rand_{11} rand11 [ 0 , 1 ] [0,1] [0,1]范围内的随机数; r r r i i i为两个警察代理: { r , i } ∈ { 1 , 2 , ⋯   , N P } \{r,i\}\in\{1,2,\cdots,NP\} { r,i}{ 1,2,,NP},且 r r r随机选择; j = 1 , 2 , ⋯   , D j=1,2,\cdots,D j=1,2,,D

2、FBI算法流程图

FBI算法流程图如图1所示。
在这里插入图片描述

图1 FBI算法流程图

二、仿真实验与结果分析

将FBI与FPA、SOS、ABC和TLBO进行对比,以常用23个测试函数中F1、F2(单峰函数/30维)、F7、F9(多峰函数/30维)、F19、F20(固定维度多峰函数/3维、6维)为例,实验设置种群规模为30,最大迭代次数为500,每种算法独立运算30次,结果显示如下:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

函数:F1
FBI:最优值: 0, 最差值: 0, 平均值: 0, 标准差: 0
FPA:最优值: 20.0273, 最差值: 128.0183, 平均值: 69.3226, 标准差: 27.0819
SOS:最优值: 4.1711e-139, 最差值: 3.3369e-134, 平均值: 1.9134e-135, 标准差: 6.1284e-135
ABC:最优值: 0.17171, 最差值: 293.8049, 平均值: 58.8109, 标准差: 83.8767
TLBO:最优值: 1.2837e-129, 最差值: 2.2041e-123, 平均值: 1.4697e-124, 标准差: 4.9021e-124
函数:F2
FBI:最优值: 8.3701e-211, 最差值: 2.786e-208, 平均值: 4.3167e-209, 标准差: 0
FPA:最优值: 4.6242, 最差值: 15.9339, 平均值: 9.0374, 标准差: 2.8059
SOS:最优值: 3.2472e-70, 最差值: 1.6823e-68, 平均值: 3.3079e-69, 标准差: 3.8518e-69
ABC:最优值: 97.4933, 最差值: 504000.5766, 平均值: 55819.6341, 标准差: 112308.8332
TLBO:最优值: 1.9098e-64, 最差值: 1.3213e-61, 平均值: 1.6032e-62, 标准差: 2.8034e-62
函数:F7
FBI:最优值: 3.8569e-06, 最差值: 0.00023172, 平均值: 8.4525e-05, 标准差: 5.8797e-05
FPA:最优值: 0.045801, 最差值: 0.19923, 平均值: 0.11089, 标准差: 0.036252
SOS:最优值: 8.7197e-05, 最差值: 0.0010881, 平均值: 0.000549, 标准差: 0.00023759
ABC:最优值: 0.012168, 最差值: 0.13667, 平均值: 0.083641, 标准差: 0.036229
TLBO:最优值: 1.5056e-05, 最差值: 0.001457, 平均值: 0.00053547, 标准差: 0.00031241
函数:F9
FBI:最优值: 0, 最差值: 0, 平均值: 0, 标准差: 0
FPA:最优值: 148.2451, 最差值: 201.5515, 平均值: 174.7268, 标准差: 11.7551
SOS:最优值: 0, 最差值: 0, 平均值: 0, 标准差: 0
ABC:最优值: 254.1587, 最差值: 337.063, 平均值: 307.9883, 标准差: 15.4477
TLBO:最优值: 0, 最差值: 0, 平均值: 0, 标准差: 0
函数:F19
FBI:最优值: -3.8628, 最差值: -3.8628, 平均值: -3.8628, 标准差: 2.7101e-15
FPA:最优值: -3.8628, 最差值: -3.8628, 平均值: -3.8628, 标准差: 2.0748e-15
SOS:最优值: -3.8628, 最差值: -3.8628, 平均值: -3.8628, 标准差: 2.7101e-15
ABC:最优值: -3.8628, 最差值: -3.8621, 平均值: -3.8626, 标准差: 0.00016766
TLBO:最优值: -3.8628, 最差值: -3.8628, 平均值: -3.8628, 标准差: 2.6684e-15
函数:F20
FBI:最优值: -3.322, 最差值: -3.322, 平均值: -3.322, 标准差: 1.0572e-07
FPA:最优值: -3.322, 最差值: -3.3215, 平均值: -3.3219, 标准差: 0.0001408
SOS:最优值: -3.322, 最差值: -3.2031, 平均值: -3.2863, 标准差: 0.055415
ABC:最优值: -3.3121, 最差值: -3.2564, 平均值: -3.2841, 标准差: 0.015342
TLBO:最优值: -3.322, 最差值: -3.102, 平均值: -3.2677, 标准差: 0.072536

实验结果表明:FBI算法的性能明显优于对比算法。

三、参考文献

[1] Jui-Sheng Chou, Ngoc-Mai Nguyen. FBI inspired meta-optimization[J]. Applied Soft Computing Journal, 2020, 93: 106339.

猜你喜欢

转载自blog.csdn.net/weixin_43821559/article/details/125160701