遗传算法求多元函数和一定条件下的函数极值

问题描述:

遗传算法求多元函数和一定条件下的函数极值
比如目标函数为f=x1^2+2*x2+x3^3+x4^2+x5*2
约束条件为 x1+x2+x3+x4+x5=1
0如何用遗传算法求这样的函数值呢?是用目标分配模型求解还是用什么样的模型?

我觉得这个问题主要难点在建立满足约束条件的初始种群,进化过程的编程很多地方都能找到.先建立一个Ax5的种群,A是种群里个体数量,然后对种群做一下处理:求出每个个体里面的x1到x5的和sum,再把1/sum分别乘以那一行的...是,你说的对,就是这个约束条件是难点,你说的方法我试验过了,初始建立的种群是满足条件的,但是交叉变异迭代几次后这个条件就不满足了,通常最后会得到一个全零的结果。额,估计是这种方法中的约束条件的方法约束力不强,交叉变异时就没管到一个这个条件。试一下新建立目标函数G(x)=x1+x2+x3+x4+x5-1,相当于有两个约束条件,再计算适应度的时候把两个目标函数的适应度相加试一试吧,这个也不是很确定了