24小时热门版块排行榜    

查看: 3290  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

无名湖畔

铜虫 (正式写手)

[求助] 关于遗传算法约束条件的问题 已有1人参与

我用matlaB编写遗传算法,目标函数是y=2*(x(1)*x(4)+x(2)*x(3)) ,其有四个约束条件:
1、736800000*(x(1)+2*x(3))/((2*x(1)^3*x(4)+2*x(2)*x(3)^3+6*x(2)*x(3)*(x(1)+x(3))^2)/6)+14950000*x(2)/((2*x(3)*x(2)^3+2*x(1)*x(4)^3+6*x(1)*x(4)*(x(2)+x(4)-100)^2)/6)-158.8<=0;
2、(44475*2*10550*(0.75*22500^2-10550^2))/(210000*(2*x(1)^3*x(4)+2*x(2)*x(3)^3+6*x(2)*x(3)*(x(1)+x(3))^2))-(225/8)<=0;
3、(x(1)+2*x(3))/(x(2)-100)-3<=0;
4、x(2)/x(3)/-60<=0;
现在的问题是如何将这四个约束条件添加进来,查看资料  说需要构建罚函数,对于这种约束情况怎么定罚函数?
谢谢了、、
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

caoxukang

新虫 (初入文坛)

你好,请问您问题解决了吗,是如何解决的,可否学习下你写的matlab代码
6楼2015-03-18 11:10:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

feixiaolin

荣誉版主 (文坛精英)

优秀版主

f(x) - A <= 0
f(x)  / A <= 1
1.  可定义罚函数为    c*[1 -f(x)  / A  ]
2.   或者,定义适应度指标  为  1/[1 +  f(x)  / A ]
2楼2015-01-14 10:58:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

匿名

用户注销 (职业作家)

Matlab专家

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
无名湖畔: 金币+10, 有帮助 2015-01-14 11:38:51
无名湖畔: 金币+10, 有帮助 2015-01-14 11:39:38
无名湖畔(feixiaolin代发): 金币+20 2015-01-15 18:12:15
本帖仅楼主可见

» 本帖已获得的红花(最新10朵)

3楼2015-01-14 11:24:26
已阅   申请数学EPI   回复此楼   编辑   查看我的主页

无名湖畔

铜虫 (正式写手)

送红花一朵
引用回帖:
3楼: Originally posted by yanze at 2015-01-14 11:24:26
罚函数的效果很差,不如强制性边界约束

能具体点说明一下吗?非常感谢、、、
4楼2015-01-14 11:38:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见