24小时热门版块排行榜    

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

wangu

金虫 (正式写手)

[求助] 遗传算法问题求助 已有4人参与

打算求解一个函数的最大值f(x1,x2,x3),但是变量x1,x2,x3之间有个严格的约束关系即x1<x2<x3,否则不能输出函数值,请问该如何处理?MATLAB中的ga函数可以处理这样的问题吗?
回复此楼

» 猜你喜欢

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

向着梦想飞
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangu

金虫 (正式写手)

引用回帖:
6楼: Originally posted by wenqu at 2015-11-15 13:16:33
就是对你要求解的那个函数文件做这样的处理:如果三个变量满足x1<x2<x3,就有f(x1,x2,x3);否则,就让f等于一个很小的值。这样通过遗传选择找到你要的结果了啊。其实,楼上有写的。
...

试了一下,不可行。随机生成的初始种群几乎都不满足约束条件。
向着梦想飞
7楼2015-11-19 17:39:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

yanshuiting

新虫 (正式写手)

matlab遗传工具箱没有用过,你的约束关系确定了求解区域,可不可以在这方面做做文章

发自小木虫Android客户端
2楼2015-11-11 11:50:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
wangu: 金币+5 2015-11-11 14:25:06
可以自己加一个罚函数,
类似于:
if x1<x2<x3
obj=inf
else
obj=...

obj表示目标函数
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
3楼2015-11-11 13:23:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wenqu

铁杆木虫 (职业作家)

酷酷文曲

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
wangu: 金币+10 2015-11-15 11:36:13
对目标值进行条件选择,加编个程序就好啦

[ 发自手机版 http://muchong.com/3g ]
不羁年华
4楼2015-11-15 00:21:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见