用于优化的Crow搜索算法及其使用案例

280 阅读11分钟

有时,现实世界的问题需要一种不同于传统数学的方法,它更多地受到自然界的启发。元启发式算法是优化技术的一种,采用随机化和局部搜索的某种权衡。有很多受自然启发的元启发算法,乌鸦搜索算法(CSA)就是其中之一。 选择特定的鸟类是有原因的,这将在文章中加以解释。以下是将要涉及的主题。

内容表

  1. 什么是元启发式算法?
  2. 什么是乌鸦搜索算法?
  3. 它是如何工作的?
  4. 实现CSA作为优化器的伪步骤
  5. CSA的应用

在元启发式算法中,meta-意味着 "超越 "或 "更高层次"。让我们进一步了解元启发式算法。

什么是元启发式算法?

其目的是创造一种高效实用的算法,在大多数时候都能发挥作用,并产生高质量的结果。

每个元启发式算法都在局部搜索和全局探索之间做出了某种妥协。随机化经常被用来获得广泛的解决方案。随机化是一种从局部搜索过渡到全局搜索的有效方法。因此,实际上所有的元启发式算法通常都适用于非线性建模和全局优化。

元启发式算法可以作为一种有效的方法,在合理的时间内通过试验和错误产生复杂问题的可接受的解决方案。由于手头问题的复杂性,很难搜索每个潜在的解决方案或组合;相反,目标是在可接受的时间范围内确定一个好的切实可行的答案。

强化和多样性是每个元启发式算法的两个最重要的组成部分。多样化指的是产生不同的解决方案,在全球范围内探索搜索空间,而强化指的是通过利用在该区域已经发现的当前良好解决方案的知识,集中在局部位置进行搜索。

这是在选择最好的解决方案之外进行的。选择最好的解决方案是为了保证它们能收敛到最佳状态。另一方面,通过随机化实现多样化,防止解决方案搁浅在局部最优位置,同时增强解决方案的多样性。这两个主要组成部分的稳固组合几乎总是能确保全局解决方案是可行的。

什么是乌鸦搜索算法?

据说乌鸦(corvids)是所有鸟类中最聪明的。它们在镜子测试中显示出自我意识,并有能力制造工具。乌鸦能识别彼此的脸,并在有敌意的人靠近时互相警告。此外,它们可以利用工具,以复杂的方式进行交流,并在之后的许多个月里回忆起它们的食物的位置。

在乌鸦的基础上,我们开发了一种基于自然的算法,被命名为乌鸦搜索算法。这个算法与乌鸦的行为具有这四个特性:

  • 乌鸦生活在群体中
  • 乌鸦记住了它们藏匿食物的位置
  • 乌鸦互相跟踪偷窃
  • 乌鸦守护它们的仓库,防止被盗

为什么要使用乌鸦搜索算法?

独立收集不同事物的回应,然后将所有回应作为一个整体进行计算,以找到对给定挑战的最佳解决方案的特性。作为这种方法的结果,为特定的问题找到一个更好的最佳解决方案,这就是为什么采用CSA。简单地说,分散的、自组织的集体行为的概念被用来解决一个特定的问题。例如,预测一个最适合在市场上推出新产品的最佳政策。

它是如何工作的?

这个元启发式的目标是让一只给定的乌鸦能够跟随另一只乌鸦,以找到其隐藏的食物位置。在整个过程中,乌鸦的位置应该逐渐更新。此外,当食物被盗时,乌鸦必须改变其位置。

我们认为存在一个有许多乌鸦的d维环境。一个向量指定了乌鸦的数量,也就是乌鸦群的大小,以及乌鸦在搜索空间中每次迭代时的位置。每只乌鸦都有一个储存其藏身点位置的存储器。乌鸦的藏身点的位置在每次迭代时都会被指出。这是乌鸦曾经拥有过的最好的位置。事实上,每只乌鸦都记住了它最美好的遭遇的位置。乌鸦在整个地区旅行,寻找更好的食物来源(藏身处)。

假设在下一次迭代中,另一只乌鸦想去前一只乌鸦指定的藏身地点。在这次迭代中,第一只乌鸦决定跟随另一只乌鸦到另一只乌鸦的藏身处。在这种情况下,有两种可能的结果:

  1. 另一只乌鸦不知道第一只乌鸦在跟踪。结果是,第一只乌鸦会接近另一只乌鸦的藏身处。在这种情况下,第一只乌鸦的新位置是在0到1之间均匀分布的随机数和第一只乌鸦在迭代时的飞行长度的帮助下获得的。

  2. 另一只乌鸦知道第一只乌鸦在跟踪。因此,为了保护自己的缓存不被窃取,另一只乌鸦会通过到搜索空间的另一个位置来愚弄第一只乌鸦。

印度分析杂志

在CSA中,认识概率这个参数主要负责强化和多样化(AP)。CSA更倾向于通过降低意识概率值来搜索当前优秀答案所在的局部区域。因此,采用低AP水平会增强强度。另一方面,当认识概率值增加时,在已经有优秀答案的区域搜索的可能性下降,CSA倾向于以随机性探索搜索空间。因此,使用高AP值会增强多样性。

实施CSA作为优化器的伪步骤

实施CSA作为优化算法的伪步骤:

  1. 设置问题及其参数:问题、决策变量和限制都已定义。然后评估可定制的CSA参数羊群大小、最大迭代次数、飞行时间和认识概率。
  2. 乌鸦的位置和记忆应该被重置:作为鸟群成员,一定数量的乌鸦被随机放置在一个d维的搜索区域。每只乌鸦代表一个可行的问题解决方案,而d是选择因素的数量。每只乌鸦的记忆被设置为零。因为乌鸦在第一次迭代中没有经验,所以认为它们在最初的位置隐藏了自己的食物。
  3. 评估目标函数:通过将选择变量值输入目标函数来计算每只乌鸦的位置质量。
  4. 为乌鸦创建一个新的位置:通过以下方式在搜索空间中创建新的位置。假设第一只乌鸦希望创建一个新的角色。这只乌鸦随机选择羊群中的一只乌鸦,并跟随它找到这只乌鸦所藏的饭菜的位置。这个程序对每只乌鸦都要进行。
  5. 考察新观点的可行性:检查每只乌鸦的新位置的可行性。如果一只乌鸦的新位置是可行的,这只乌鸦就改变它的位置。否则,乌鸦就留在现在的位置上,而不是移动到创建的新位置上。
  6. 确定新位置的健身/目标函数:每只乌鸦的新位置的健身函数值被计算出来。
  7. 乌鸦的记忆根据目标函数的值进行更新:如果乌鸦的新位置的健身函数值大于记忆中的位置的健身函数值,乌鸦就用新的位置更新其记忆。
  8. 步骤4到7一直执行到达到最大的迭代次数:当终止要求得到满足时,就目标函数值而言,最佳记忆位置作为优化问题的解决方案被提出。

Crow搜索算法的应用

CSA已被有效地应用于各种应用部门。

最优电力流

使用新颖的基于种群的优化方法CSA来解决最佳电力流问题,以减少总燃料成本、总有功功率损失、电压偏差、电压稳定指数和总排放量。对使用CSA产生的数据的研究显示,该方法在处理各种单一目标函数时特别有效。还发现这种技术在所有情况下都能实现非常快的收敛。它以非常低的P值通过了Wilcoxon符号秩检验,证明了其统计学意义。因此,可以推断出CSA是一种在电力系统领域实现各种目标的潜在方法。

特征选择

挑选最关键的数据集并舍弃不相干的数据集的过程被称为特征选择。如果它是一种包装技术,其应用方面经常与神经网络相联系。为了解决FS问题,利用了CSA的一个二进制变体,即V字形的BCSA。采用了六个不同的数据集,并将其结果与BBA、BPSO、SFS和SBS进行了比较。另一个变体,结合K-近邻和CSA,被用来解决文本文档分类中的FS问题。

图像处理

基于Kapur的熵,CSA被用来确定图片的多层阈值最佳值。他们通过几个阈值水平(2、4、8、16和32)运行他们的模型。在PSNR、SSIM和FSIM指标方面,他们声称CSA的表现优于PSO、DE、GWO、MFO和CS。

同样地,在图像分割中,CSA被用来确定交叉熵的最佳成本。该模型在多维环境中被测试。

通过整合Gabor滤波器、小波和纹理(GWTM),CSA被用来区分低分辨率照片中的人脸。

神经网络和支持向量机

将CSA与支持向量机(SVM)、神经网络和分数理论相结合,对肺结核患者进行分类。论文中提到,他们的组合提高了计算速度,减少了测试样本的时间和成本。

一种名为D-Crow的蜻蜓-乌鸦算法与支持向量回归(SVR)杂交。它被应用于虚拟机迁移(VMM)。将一台虚拟计算机从一个真实的硬件环境迁移到另一个环境的任务被称为虚拟机迁移。它是维护硬件虚拟化系统的一个组成部分,也是供应商在提供虚拟化服务时考虑的事情。Teleportation是虚拟机迁移的另一个术语。虚拟化和虚拟机迁移的主要区别是,只有迁移模块被灌输到管理程序中。

云计算

在云数据中心部署虚拟机(VM)是一项艰难的工作。随着云计算在全世界的日益普及,大量的虚拟机(VM)将集中在少量的数据中心(DC),以最大限度地提高能源使用和数据中心的利用率。

CSA被用来提出一个资源感知的解决方案,以在云计算数据中心的小范围内整合大量的虚拟机(VM)。基于CSA的旅行推销员问题(TSPCS)和贪婪的乌鸦搜索都被采用(GCS)。

提出了一个2层的虚拟机放置策略来解决类似的问题。第一个是用于调度虚拟机的排队结构,而第二个(CSAVMP)基于CSA的虚拟机问题是为了最大限度地减少数据中心的电力使用。

结论

一种被称为CSA的革命性的元启发式算法是基于乌鸦的认知行为。CSA是一种基于群体的优化方法,只有两个可配置的参数,即飞行长度和认知概率,这使得它在各种技术领域的应用中特别有吸引力。在CSA中,认知概率参数被直接利用来调整算法的种类。通过这篇文章,我们已经了解了乌鸦搜索算法的概念和功能。

参考文献