24小时热门版块排行榜    

查看: 432  |  回复: 2

Victor-93

新虫 (著名写手)

[求助] 程序盲请大佬指导遗传算法多目标优化的程序怎么写 已有1人参与

用ga工具箱,搞了两天都没搞对,还请大佬帮忙解答
难题如下:

目标函数:
g1=(1./80+1./60)./(1./80+1./(a1.*x1+a2.*x1.^2+a3.*x1.^3-(-1.*(a1+2.*a2.*x1+3.*a3.*x1.^2)).*x1));%正值,希望它尽可能的小

g2=(1./80+1./60)./(1./60-1./(a1.*x2+a2.*x2.^2+a3.*x2.^3-(-1.*(a1+2.*a2.*x2+3.*a3.*x2.^2)).*x2));%正值,希望它尽可能的小


约束条件
f1=x1.^2+(a1.*x1+a2.*x1.^2+a3.*x1.^3).^2+2.*80.*(a1.*x1+a2.*x1.^2+a3.*x1.^3)+80.*80-84.*84;%根据此式等于0,可解得x1用含有a1、a2、a3的式子表示(只知x1小于0)

f2=x2.^2+(a1.*x2+a2.*x2.^2+a3.*x2.^3).^2-2.*60.*(a1.*x2+a2.*x2.^2+a3.*x2.^3)+60.*60-64.*64;%根据此式等于0,可解得x2用含有a1、a2、a3的式子表示(只知x2大于0)

又有t在区间[x1,x2]内,有如下三个式子成立
f3=(a1+2.*a2.*t+3.*a3.*t.^2)<0;%小于0

f4=(2.*a2+6.*a3.*t)<0;%小于0

f5=(((-a1.^2.*x1+3./2.*a1.*a2.*x1.^2-(4./3.*a1.*a3+2./3.*a2.^2).*x1.^3-5./4.*a2.*a3.*x1.^4-3./5.*a3.^2.*x1.^5-x1)./80)-((-a1.^2.*x2+3./2.*a1.*a2.*x2.^2-(4./3.*a1.*a3+2./3.*a2.^2).*x2.^3-5./4.*a2.*a3.*x2.^4-3./5.*a3.^2.*x2.^5-x2)./80))./(2.*pi./40)-1;%此式大于0,(在目标函数值尽可能小的情况下,希望此式尽可能的大)


目的是:为了求得三次曲线的系数
y=a1.*x+a2.*x^2+a3.*x.^3的系数a1、a2、a3值,
x的大致范围(-10,10),y的大致范围(-4,4)@月只蓝
回复此楼
让优秀成为一种习惯
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hzlhm

至尊木虫 (著名写手)

【答案】应助回帖

你的问题,其关系写的过于复杂,理不清剪不断。最好把函数表达式上传上来,同时还必须把已知条件是什么,要求什么?请分别道来!
QQ:2120156492
2楼2020-05-20 23:16:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Victor-93

新虫 (著名写手)

引用回帖:
2楼: Originally posted by hzlhm at 2020-05-20 23:16:17
你的问题,其关系写的过于复杂,理不清剪不断。最好把函数表达式上传上来,同时还必须把已知条件是什么,要求什么?请分别道来!

我很想把它写成矩阵形式,这样最简洁明了,但是变不起来,目前还在提炼约束条件。谢谢大佬的回复

发自小木虫Android客户端
让优秀成为一种习惯
3楼2020-05-20 23:30:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 Victor-93 的主题更新
信息提示
请填处理意见