function
drawpath(chrom,x)
%%
%输入
%
chrom
待画路径
%
x
各城市坐标位置
r=[chrom(1,:)
chrom(1,1)]
%一个随机解(个体)
figure
hold
on
plot(x(:,1),x(:,2),'o','color',[0.5,0.5,0.5])
plot(x(chrom(1,1),1),x(chrom(1,1),2),'rv','markersize'敬芦型,20)
for
i=1:size(x,1)
text(x(i,1)+0.05,x(i,2)+0.05,num2str(i),'color',[1,0,0])
end
a=x(r,:)
row=size(a,1)
for
i=2:row
[arrowx,arrowy]
=
dsxy2figxy(gca,a(i-1:i,1),a(i-1:i,2))%坐标转换
annotation('textarrow',arrowx,arrowy,'headwidth',8,'color'亮猜,[0,0,1])
end
hold
off
xlabel('横坐标')
ylabel('纵坐标')
title('轨迹图')
box
on
没看明白:1、对于路径的要求是什么肢稿?比如并饥改终点?
2、绝判【每经过9个节点后必须返回至起点】,看起来是只能封闭在一个小的范围内,那么所谓的“最优”路径是什么概念?
3、“100x100的区域”和“边长4.3”这两个条件又起到了什么作用?
x0=[5,5,2]
题主困拆给出的线性规划模型可以用fmincon函数来
求其最优解,其方法:
1、首先建立目标函数,objectivef(x),其内容
y=x(1)*x(2)+2*(x(2)*x(3)+x(1)*x(3))
2、然后建立约束函数,汪闹枣constrainf(x),其内弯蔽容
%约束函数
c=[]
%非约束函数
ceq=x(1)*x(2)*x(3)-100
3、最后建立运行代码
x0=[5,5,2]
A=[]b=[]Aeq=[]beq=[]VLB=[5,0,0]VUB=[inf,inf,inf]
[x,fval,exitflag]=fmincon(@(x)objectivef(x),x0,A,b,Aeq,beq,VLB,VUB,@(x)constrainf(x))
A=x(1)*x(2)*x(3)
str=['x1x2x3=100 ',num2str(A)]
fprintf('%s\n',str)
4、根据上述 内容编程,执行可以得到
x1=5.848;x2= 5.848;x3=2.924
min S=102.6
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)