Press "Enter" to skip to content

粒子群优化:搜索过程可视化

直觉 + 数学 + 代码,适用于实践者

由DALL·E 3根据提示“绘制一幅描绘城市景观中一群寻找目标的无人机的科幻主题图像”创建的图像

人类喜欢模仿自然界的许多事物。

我们模仿青蛙游泳。我们通过在飞机上安装机翼来模仿鸟类以提供升力。我们在武术中模仿鹤/蛇/螳螂。我们模仿白蚁以建造具有高效温度控制的结构(参见东门中心)。

这也扩展到数学算法,您可能听说过人工蜜蜂群体、群优化、布谷鸟搜索和萤火虫算法。之前我也提到过进化算法,其遵循自然选择的原理。

今天,我将介绍一下PSO——粒子群优化。在本文结束时,您将得到用于实现解决方案并生成gif以可视化搜索过程的代码。

用例

在高维空间中寻找最佳解决方案是困难的。学习机器学习的学生在第一周可能就听过“维度诅咒”这个术语。

高维空间不仅仅是一个抽象的数学概念。以供应链问题为例。一家公司必须决定其生产厂、仓库、分销中心和零售店的位置。为简单起见,假设每个位置只有一个。这已经使我们要寻找的解决方案的维度为8 – (x₁,y₁,x₂,y₂,x₃,y₃,x₄,y₄)。

由DALL·E 3根据提示“绘制一幅描绘城市景观中四个主要设施(生产厂、仓库、分销中心和零售店)的全景图像”创建的图像

绝对位置(x₁,y₁,x₂,y₂,x₃,y₃,x₄,y₄)影响每个设施之间的相对位置。绝对位置和相对位置都会影响运营成本以及预期收益,从而影响利润。虽然不是完美的,但我们可以近似说搜索空间和目标函数的影响是连续的。

问题的表述

实际上,将输入(候选解决方案)映射到输出(目标)的底层函数是一个黑匣子,无法用数学表示。

Leave a Reply

Your email address will not be published. Required fields are marked *