clc;
clear all;
% 构造目标函数系数向量与不等式和等式约束矩阵等
% 构造目标函数系数向量
a=[0,30.43,52.64,82.61,134.79,68.15,103.03,89.90,60.8,9.00,41.66,15.21,25.09];
b=[51.47,39.86,31.37,19.91,0,25.45,12.13,17.16,28.25,48.00,35.59,45.69,23.51];
d=[171.9,720.1,594,722,744,648,466,633,1098,716,447,608,358];
x=[30.43 104.6]; y=[-71.14 121.71]; e=[200 200];
for i=1:13
for j=1:2
aa(i,j)=sqrt((x(j)-a(i))^2+(y(j)-b(i))^2);
end
end
CC=[aa(:,1); aa(:,2)]';
% 构造不等式和等式约束矩阵
A=[1 1 1 1 1 1 0 0 0 0 0 0
0 0 0 0 0 0 1 1 1 1 1 1];
B=[200;200];
Aeq=[1 0 0 0 0 0 1 0 0 0 0 0
0 1 0 0 0 0 0 1 0 0 0 0
0 0 1 0 0 0 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 1 0 0
0 0 0 0 1 0 0 0 0 0 1 0
0 0 0 0 0 1 0 0 0 0 0 1
1 0 0 0 0 0 1 0 0 0 0 0
0 1 0 0 0 0 0 1 0 0 0 0
0 0 1 0 0 0 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 1 0 0
0 0 0 0 1 0 0 0 0 0 1 0
0 0 0 0 0 1 0 0 0 0 0 1
1 0 0 0 0 0 1 0 0 0 0 0
];
beq=[d(1);d(2);d(3);d(4);d(5);d(6);d(7);d(8);d(9);d(10);d(11);d(12);d(13)];
% 变量的上下界
VLB=[0 0 0 0 0 0 0 0 0 0 0 0]; VUB=[];
x0=[1 2 3 0 1 0 0 1 0 1 0 1];
% 参数设置---options
options=optimset('LargeScale','off');
% 函数调用
[xx,fval,EXITFLAG,output]=linprog(CC,A,B,Aeq,beq,VLB,VUB,x0,options);
% 结果输出
x=reshape(xx,13,2)', fval, EXITFLAG, output % 注意
T=toc