0

我使用 matlab GA 工具箱来解决整数规划问题。问题有一些二进制变量。我对二进制变量使用非线性约束x*(1-x) = 0,但 matlab 会为这些变量输出实数值。

另一个问题是最终解决方案不可行!我使用了这行代码:

options = gaoptimset(options,'CreationFcn', @gacreationlinearfeasible);

但是matlab仍然没有产生可行的解决方案。

一位朋友建议使用不等式约束而不是等式约束,但失败了。

然后有两个问题。1)说关于二进制变量的matlab,2)生成可行的解决方案。

如何使用 matlab GA 解决我的问题?

4

1 回答 1

0

我不确定这是最好的解决方案,但我通过用适应度函数中的惩罚系数替代约束来解决我的问题。

毕竟,作为一个建议,任何有同样问题的人都可以尝试 GAlib(C++ 遗传库)而不是 matlab。

于 2015-01-23T00:32:47.693 回答