2

我有两个关于 PSO 的问题;

(1)。我有一个问题,我需要找到最优或接近最优的解决方案集。所以 PSO 应该作为一个优化器而不是一个函数最小化器。(2)。作为适应度函数,我拥有的是一组参数,它们的值要么是 1,要么是零(二进制参数)。因此,为了获得参数值,我必须运行一个外部布尔函数来检查一些经验规则。

那么如何为 PSO 编写基于规则的适应度函数呢?

伙计们,请帮助我。如果您碰巧知道任何方法/实现,请告诉我。

非常感谢。

编辑:对不起先生。这是我第一次提问。让我重新表述一下这个问题。这是我需要做的。我有一组候选解决方案,每个都有几个属性。现在我需要使用 PSO 从该集合中选择最佳/最优解决方案。在这里,我确实有 9 个参数,可用于检查每个粒子是否满足所有这些条件。这些参数的特点是它们有自己的范围来接受候选解决方案作为最佳解决方案。这是适应度函数和参数的示例:

fitness=(4*weight+ 3.75*length + 9*pressure .....) 

在哪里:

weight: "1" if it's in the range (20-30), else "0"
length: "1" if it's below 85, else "0"
pressure: "1" if it's greater than 125, else "0"

注意:长度为 60 的粒子优于长度为 84 的粒子,压力为 200 的粒子优于压力为 126 的粒子

4

0 回答 0