作业帮 > 数学 > 作业

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

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:数学作业 时间:2024/05/14 14:31:21
遗传算法求多元函数和一定条件下的函数极值
比如目标函数为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分别乘以那一行的每个值并置换掉,假设只有一个个体,处理后的种群就是[x1/sum,x2/sum,x3/sum,x4/sum,x5/sum].也许还有其他办法,我就想到这个
再问: 是,你说的对,就是这个约束条件是难点,你说的方法我试验过了,初始建立的种群是满足条件的,但是交叉变异迭代几次后这个条件就不满足了,通常最后会得到一个全零的结果。
再答: 额,估计是这种方法中的约束条件的方法约束力不强,交叉变异时就没管到一个这个条件。试一下新建立目标函数G(x)=x1+x2+x3+x4+x5-1,相当于有两个约束条件,再计算适应度的时候把两个目标函数的适应度相加试一试吧,这个也不是很确定了