遗传算法优化的等式约束问题

大家好,我正在遗传算法优化一个多维函数,可是不知道怎么在遗传算法中添加等式约束,形如”x1+x2=400",求高人解答.
我直接写成这个样子的等式,报错说等号有问题,然后我用
if x1+x2<399;
gen=1;
if x1+x2>400;
gen=1;

else
break
这个形式,可以运行,但是相加结果还是不等于400,我已经苦恼很久了,求助

第1个回答  2014-12-29
如果只是x1+x2=c这种简单的约束,只把x1作为自由变量,解出x1后x2 = c - x1
对于复杂的等式约束没有什么太好的办法 只能做到尽可能满足本回答被网友采纳
相似回答