用遗传算法解决下面函数的极值问题
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/07/08 05:05:21
用遗传算法解决下面函数的极值问题
f(x)=-20exp(-0.2*sqrt(∑Xi)/h)-exp(∑cos(2*pi*Xi)/h)+20+e
极小值 i的值从1到50
用matlab做 把matlab代码发给我 并写出使用步骤!
f(x)=-20exp(-0.2*sqrt(∑Xi)/h)-exp(∑cos(2*pi*Xi)/h)+20+e
极小值 i的值从1到50
用matlab做 把matlab代码发给我 并写出使用步骤!
![用遗传算法解决下面函数的极值问题](/uploads/image/z/974495-47-5.jpg?t=%E7%94%A8%E9%81%97%E4%BC%A0%E7%AE%97%E6%B3%95%E8%A7%A3%E5%86%B3%E4%B8%8B%E9%9D%A2%E5%87%BD%E6%95%B0%E7%9A%84%E6%9E%81%E5%80%BC%E9%97%AE%E9%A2%98)
这是个50维的极小值优化问题,首先要明白遗传算法是适合二进制处理的.因此首先要将每一维的实值xi编码为长度为T的二进制串,这样子基因长度就为50T.评估适应值,可以将基因中对应的xi的二进制串转化为实值,然后代入函数求值,将该值作为适应值.具体之中的遗传算法过程可以采用经典的方法,这里不做解释.
另外的,实值转为二进制串的,这个有挺多方法,我这里介绍一种方法:
![](http://img.wesiedu.com/upload/4/7c/47c965e67e5ac5c7a69aa3250cd4029d.jpg)
另外的,实值转为二进制串的,这个有挺多方法,我这里介绍一种方法:
![](http://img.wesiedu.com/upload/4/7c/47c965e67e5ac5c7a69aa3250cd4029d.jpg)