Saberの爱
2013-05-05, 13:01
最近在做PSO算法的优化问题,PSO源文件已有,只要针对目标函数输入fitness.m,以下是目标函数与约束条件:要求f1,f2目标函数最小,s.t约束条件
f1=5000-800x1-700x2-1100x3-1400x4+1000x5+1500x6
f2=2.5-3.7x1-1.7x2-17.7x3-35.7x4+12.3x5+12.3x6
s.t
3.7x1+1.7x2+17.7x3+35.7x4-12.3x5-12.3x6<2.5
0.3<x1<0.6
0.2<x2<0.5
0<x3<0.1
0<x4<0.1
0<x5<0.1
0<x6<0.1
0.85<x1+x2+x3+x4+x5+x6<1
我打的fitness文件:
function [x,y]=fitness(a,b,c,d,e,f)
x=5000-800*a-700*b-1100*c-1400*d+1000*e+1500*f;
y=2.5-3.7*a-1.7*b-17.7*c-35.7*d+12.3*e+12.3*f;
a_range=[0.3,0.6];
b_range=[0.3,0.5];
c_range=[0,0.1];
d_range=[0,0.1];
e_range=[0,0.1];
f_range=[0,0.1];
a+b+c+d+e+f_range=[0.85,1]
3.7*a+1.7*b+17.7*c+35.7*d-12.3*e-12.3*f_range=[0,2.5]
range = [a_range;b_range;c_range;d_range;e_range;f_range];
总感觉很多不对,而且目标函数和约束条件是打在同一.m文件中吗,求大神,跪谢
f1=5000-800x1-700x2-1100x3-1400x4+1000x5+1500x6
f2=2.5-3.7x1-1.7x2-17.7x3-35.7x4+12.3x5+12.3x6
s.t
3.7x1+1.7x2+17.7x3+35.7x4-12.3x5-12.3x6<2.5
0.3<x1<0.6
0.2<x2<0.5
0<x3<0.1
0<x4<0.1
0<x5<0.1
0<x6<0.1
0.85<x1+x2+x3+x4+x5+x6<1
我打的fitness文件:
function [x,y]=fitness(a,b,c,d,e,f)
x=5000-800*a-700*b-1100*c-1400*d+1000*e+1500*f;
y=2.5-3.7*a-1.7*b-17.7*c-35.7*d+12.3*e+12.3*f;
a_range=[0.3,0.6];
b_range=[0.3,0.5];
c_range=[0,0.1];
d_range=[0,0.1];
e_range=[0,0.1];
f_range=[0,0.1];
a+b+c+d+e+f_range=[0.85,1]
3.7*a+1.7*b+17.7*c+35.7*d-12.3*e-12.3*f_range=[0,2.5]
range = [a_range;b_range;c_range;d_range;e_range;f_range];
总感觉很多不对,而且目标函数和约束条件是打在同一.m文件中吗,求大神,跪谢