guofei9987/scikit-opt

用ga算法时加上constraint_ueq 给出的值仍会过界

Opened this issue · 5 comments

用ga算法时加上constraint_ueq 给出的值仍会过界

我也出现这种情况,怎么修改都没用,GA和其他算法都一样约束无效

我也出现这种情况,怎么修改都没用,GA和其他算法都一样约束无效

我看了下 应该是给过界值惩罚 而不是不取

我也是这种情况

我看了下 应该是给过界值惩罚 而不是不取

好的谢谢

看了下源码,ga对于约束的实现方式,是向目标函数增加一个很大的惩罚项(1e5 * 不满足约束的个数),所以如果你的目标函数本身量级就很大,约束基本就不生效了;

建议的操作是:把目标函数的量级调小,同时加大迭代次数,迭代到后面一般就可以保证约束的实现了