24小时热门版块排行榜    

CyRhmU.jpeg
查看: 680  |  回复: 1
当前主题已经存档。

twowins

铜虫 (小有名气)

[交流] [原创]matlab7遗传算法求解约束最优化问题

matlab7的遗传算法工具箱gads中,主函数ga适用于求解无约束最优化问题

只有对初始解的设定:options.PopInitRange,写成矩阵的形式,例如:
0<=x1<=1;2<=x2<=3;
则options.PopInitRange=[0,2;1,3];

对于约束最优化问题的处理一般是采用罚函数
可是惩罚的尺度不好掌握

我见过Deb的一种做法不错:
在选择的过程中控制:采用竞争选择,如果两个解都是可行解,那么选好的;
如果一个可行一个不可行,选可行的;如果两个都不可行,那么把解违反约束函数的程度加起来比较,选择违反约束程度小的。
应用的时候就会发现效果不错。

我自己一般就是采用这种方法把ga.m改造一下,虽然有些麻烦,不过效果还好。

不过,上述的过程也会有问题,就是如果每个约束函数的量纲不同,无法比较怎么办,我觉得可以正规化一下,变成同一数量级,可比较的。可以试一下。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

靖子

至尊木虫 (著名写手)

坚定追求,诚恳为人,低调做事

1

不错,谢谢!
2楼2006-06-01 08:18:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 twowins 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见