MATLAB线性优化问题程序,老是出错,大家帮忙给个编好的程序吧某公司有6个建筑工地要开工,每个工地的位置(用平面坐标系a,b表示,距离单位:千米 )及水泥日用量d(吨)由下表给出.目前有两个

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/15 02:35:13
MATLAB线性优化问题程序,老是出错,大家帮忙给个编好的程序吧某公司有6个建筑工地要开工,每个工地的位置(用平面坐标系a,b表示,距离单位:千米 )及水泥日用量d(吨)由下表给出.目前有两个

MATLAB线性优化问题程序,老是出错,大家帮忙给个编好的程序吧某公司有6个建筑工地要开工,每个工地的位置(用平面坐标系a,b表示,距离单位:千米 )及水泥日用量d(吨)由下表给出.目前有两个
MATLAB线性优化问题程序,老是出错,大家帮忙给个编好的程序吧
某公司有6个建筑工地要开工,每个工地的位置(用平面坐标系a,b表示,距离单位:千米 )及水泥日用量d(吨)由下表给出.目前有两个临时料场位于A(5,1),B(2,7),日储量各有20吨.假设从料场到工地之间均有直线道路相连.
(1)试制定每天的供应计划,即从A,B两料场分别向各工地运送多少吨水泥,使总的吨千米数最小.
(2)为了进一步减少吨千米数,打算舍弃两个临时料场,改建两个新的,日储量各为20吨,问应建在何处,节省的吨千米数有多大?
工地位置(a,b)及水泥日用量d
1 2 3 4 5 6
a 1.25 8.75 0.5 5.75 3 7.25
b 1.25 0.75 4.75 5 6.5 7.25
d 3 5 4 7 6 11

MATLAB线性优化问题程序,老是出错,大家帮忙给个编好的程序吧某公司有6个建筑工地要开工,每个工地的位置(用平面坐标系a,b表示,距离单位:千米 )及水泥日用量d(吨)由下表给出.目前有两个
clear all
clc
tic
%-----------------------------------
% 构造目标函数系数向量与不等式和等式约束矩阵等
% 构造目标函数系数向量
a=[1.25 8.75 0.5 5.75 3 7.25];
b=[1.25 0.75 4.75 5 6.5 7.75];
d=[3 5 4 7 6 11];
x=[5 2]; y=[1 7]; e=[20 20];
for i=1:6
for j=1:2
aa(i,j)=sqrt((x(j)-a(i))^2+(y(j)-b(i))^2);
end
end
C=[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=[20;20];
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 ];
beq=[d(1);d(2);d(3);d(4);d(5);d(6)];
% 变量的上下界
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(C,A,B,Aeq,beq,VLB,VUB,x0,options);
% 结果输出
x=reshape(xx,6,2)',fval,EXITFLAG,output % 注意
T=toc