用Matlab解决非线性规划问题天然气开采点S(0,0),需铺设管道分别向城市a(400km,400km),b(400km,600km),c(600km,400km)输送天然气(城市之间也可铺设管道),且知这三个城市的天然气日需量分

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 13:28:17
用Matlab解决非线性规划问题天然气开采点S(0,0),需铺设管道分别向城市a(400km,400km),b(400km,600km),c(600km,400km)输送天然气(城市之间也可铺设管道),且知这三个城市的天然气日需量分

用Matlab解决非线性规划问题天然气开采点S(0,0),需铺设管道分别向城市a(400km,400km),b(400km,600km),c(600km,400km)输送天然气(城市之间也可铺设管道),且知这三个城市的天然气日需量分
用Matlab解决非线性规划问题
天然气开采点S(0,0),需铺设管道分别向城市a(400km,400km),b(400km,600km),c(600km,400km)输送天然气(城市之间也可铺设管道),且知这三个城市的天然气日需量分别为5万,4万,10万立方米,铺设日输天然气能力为1万立方米的管道1km的总费用为5万元(假定总费用与管道的输送能力成正比),试设计管道铺设方案使费用最省,并用Matlab画出管道铺设图,标注每条管道的输送能力.
在不使用最短路算法的前提下给出答案

用Matlab解决非线性规划问题天然气开采点S(0,0),需铺设管道分别向城市a(400km,400km),b(400km,600km),c(600km,400km)输送天然气(城市之间也可铺设管道),且知这三个城市的天然气日需量分
function hh 
X0=[500 500]; 
format short g 
[X,FVAL,EXITFLAG]=fminsearch(@myfun,X0) 
%test fmin 
syms x y 
A=5;B=4;C=10; 
f0=(A+B+C)*sqrt(x^2+y^2); 
fa=A*sqrt((x-400)^2+(y-400)^2); 
fb=B*sqrt((x-400)^2+(y-600)^2); 
fc=C*sqrt((x-600)^2+(y-400)^2); 
f=5*(f0+fa+fb+fc) 
ezmesh(f,[0 500 0 500]) 
function f=myfun(x) 
A=5;B=4;C=10; 
f0=(A+B+C)*sqrt(x(1)^2+x(2)^2); 
fa=A*sqrt((x(1)-400)^2+(x(2)-400)^2); 
fb=B*sqrt((x(1)-400)^2+(x(2)-600)^2); 
fc=C*sqrt((x(1)-600)^2+(x(2)-400)^2); 
f=5*(f0+fa+fb+fc); 
结果: 
X = 
2.2307e-005 1.7288e-005 
FVAL = 
64620 
EXITFLAG = 

开始不相信,x=0,y=0的结果.以为一根大管,到了三角形中间,再分配. 
经验证(见下图),极小值的确就在(0,0)处!
从出发点分别引出三条管线,就像楼上回答者: xiaomol_ckt绘制的那样.

不知道你的题目是不是描述有问题。

但是如果,如果总费用与管道的输送能力成正比,那么只需要直接连接开采点到目标城市的路径则是最省的铺设方案。因为那样的条件相当于是独立运输的,运输路程最短就是最省的方案。

余下的问题就是用matlab画出图像即可。 

x=1:400;

y=1:400;

plot(x,y)

gtext('5')

gtext('(400,400)');

hold on;

z=1:1.5:600;

plot(x,z)

gtext('4');

gtext('(400,600)');

hold on;

plot(z,y)

gtext('6')

gtext('(600,400)');

hold off;

matlab 非线性规划问题 用Matlab解决非线性规划问题天然气开采点S(0,0),需铺设管道分别向城市a(400km,400km),b(400km,600km),c(600km,400km)输送天然气(城市之间也可铺设管道),且知这三个城市的天然气日需量分 非线性规划问题,比如斐波那契法,梯度法这些,是不是要用matlab实现,lingo可以么 如何利用MATLAB解非线性规划 如何用matlab求解非线性规划问题 最好给几个例子 非线性规划如何用线性规划解决 matlab 解决01整数规划? matlab解非线性方程问题 什么是混合整数非线性规划问题 MATLAB基础问题麻烦高手帮个忙,请问解有约束非线性规划问题,用MATLAB中的哪个函数?再麻烦各位把函数的调用格式也写清楚吧, 如果是整数规划,可以用matlab解决吗? lingo求解非线性整数规划问题用lingo求解下面的问题 请问MATLAB,解非线性规划问题我想解一个非线性规划问题,min f(x) = x^2 + y^2s.t x^2 + y^2 = 0,y >= 0这个问题可以分别用 'interior-point' 和 'trust-region-reflective' 这两种方法来求解么?具体怎么调用啊?马上 用matlab解决非线性线性规划问题直接上图哪个大神知道,帮忙用fmincon函数把上面模型程序写出来, 谁可以用matlab或lingo解决下列非线性规划问题min=5.6*x+6.0*y+1.2*x^2+1.2*y^2-1.2*41-36*m st x+y>=15.29716x+6y+x^2+y^2-41-30m>=sqrt(m^2+5.0981^2+2*5.0981m+19.4904^2-100x^2+y^2-41-30m>0要求有完整的程序和过程,写的好追加分 matlab一道有约束的非线性规划问题max gs.t.(a-sqrt(a^2-4*g^2*x^2))/(2*b*g*x) matlab中如何解决整数规划问题关于供应链设施选址问题的《容量无限制成本固定模型》,如何用matlab解决 用matlab解决一道数学问题