Matlab中用遗传算法求解带约束的非线性规划问题
miny=(求和符号,i=0到5)(再求和符号j=i+1到6)f(i,j)*d(i,j)*[x(i)-x(j)],约束条件为x(i)-x(j)〉=[B(i)+B(j)]/...
min y=(求和符号,i=0到5)(再求和符号j=i+1到6)f(i,j)*d(i,j)*[x(i)-x(j)] ,约束条件为 x(i)-x(j) 〉=[B(i)+B(j)]/2+L(i,j);式中f(i,j);d(i,j)和L(i,j);均是6行6列的矩阵的元素,B为6元素的向量。怎样编写目标函数的M文件,和约束条件的M文件。下面是我编写的程序,请高手给予指正,谢谢!
function y=fitnessfun(x)
fsum=0;
f=[0 62 21 44 20 19;62 0 32 24 80 25;21 32 0 30 28 52;44 24 30 0 27 17;20 80 28 27 0 35;19 25 52 17 35 0];
c=[0 4 3 6 4 2;4 0 2 3 4 1;3 2 0 3 2 2;6 3 3 0 5 4;4 4 2 5 0 3;2 1 2 4 3 0];
for i=1:5
for j=i+1:6
fsum=fsum+c(i,j)*f(i,j)*abs(x(i)-x(j));
end
end
function [c,ceq]=nonlconstr(x)
B=[4 3 6 2 2 5];l=[0 2 3 1 3 2;2 0 2 3 2 1;3 2 0 1 1 1;1 3 1 0 2 2;3 2 1 2 0 3;2 1 1 2 3 0];
for i=1:5
for j=i+1:6
c=[(B(i)+B(j))/2+l(i,j)-abs(x(i)-x(j))];
ceq=[];
end
end
第一个M文件中的c=[0 4 3 6 4 2;4 0 2 3 4 1;3 2 0 3 2 2;6 3 3 0 5 4;4 4 2 5 0 3;2 1 2 4 3 0];应该是d=[0 4 3 6 4 2;4 0 2 3 4 1;3 2 0 3 2 2;6 3 3 0 5 4;4 4 2 5 0 3;2 1 2 4 3 0];及改过的fsum=fsum+d(i,j)*f(i,j)*abs(x(i)-x(j)); 展开
function y=fitnessfun(x)
fsum=0;
f=[0 62 21 44 20 19;62 0 32 24 80 25;21 32 0 30 28 52;44 24 30 0 27 17;20 80 28 27 0 35;19 25 52 17 35 0];
c=[0 4 3 6 4 2;4 0 2 3 4 1;3 2 0 3 2 2;6 3 3 0 5 4;4 4 2 5 0 3;2 1 2 4 3 0];
for i=1:5
for j=i+1:6
fsum=fsum+c(i,j)*f(i,j)*abs(x(i)-x(j));
end
end
function [c,ceq]=nonlconstr(x)
B=[4 3 6 2 2 5];l=[0 2 3 1 3 2;2 0 2 3 2 1;3 2 0 1 1 1;1 3 1 0 2 2;3 2 1 2 0 3;2 1 1 2 3 0];
for i=1:5
for j=i+1:6
c=[(B(i)+B(j))/2+l(i,j)-abs(x(i)-x(j))];
ceq=[];
end
end
第一个M文件中的c=[0 4 3 6 4 2;4 0 2 3 4 1;3 2 0 3 2 2;6 3 3 0 5 4;4 4 2 5 0 3;2 1 2 4 3 0];应该是d=[0 4 3 6 4 2;4 0 2 3 4 1;3 2 0 3 2 2;6 3 3 0 5 4;4 4 2 5 0 3;2 1 2 4 3 0];及改过的fsum=fsum+d(i,j)*f(i,j)*abs(x(i)-x(j)); 展开
2个回答
迈杰
2024-11-30 广告
2024-11-30 广告
GWAS,即全基因组关联分析,是一种强大的遗传学研究方法。它通过对大规模群体的DNA变异进行系统性扫描,寻找与特定性状(如疾病易感性、药物反应等)相关联的遗传变异。在迈杰转化医学研究(苏州)有限公司,我们利用先进的GWAS技术,挖掘疾病相关...
点击进入详情页
本回答由迈杰提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询