收藏 分销(赏)

Matlab数学建模论文-自来水输送问题的数学规划方案.doc

上传人:s4****5z 文档编号:8940812 上传时间:2025-03-08 格式:DOC 页数:8 大小:113KB
下载 相关 举报
Matlab数学建模论文-自来水输送问题的数学规划方案.doc_第1页
第1页 / 共8页
Matlab数学建模论文-自来水输送问题的数学规划方案.doc_第2页
第2页 / 共8页
点击查看更多>>
资源描述
武警部队大规模抗洪抢险中水的输送问题 【摘要】 随着自然灾害的频繁发生,武警部队的职责使命越来越重,肩负着维护社会稳定,保障人民安居乐业和财产安全的任务。因此,灾区救援尤显重要。但是在救灾任务中如何确保救灾水的顺利输送,需要我们用科学的方式,合理的统筹安排,搞好水源输送问题。本论文就将输送水源这一问题进行研究,对抗洪抢险中水的输送这一问题进行合理的假设以及简化,建立相应模型。之后,我们使用Matlab对该典型线性规划进行了求解与结果分析。结论显示,引水管理费的差异是导致获利大小的关键因素。最后,本文对该模型还可引入的影响条件进行了改进讨论,并换用LINGO对结果进行了验证。 关键词:自来水输送问题 数学规划 线性规划 LP Matlab 一、问题重述 某市有甲、乙、丙、丁四个受灾区,由A、B、C三个分队对灾区输送水。四个灾区每天必须的基本生活用水分别为30、70、10、10千吨,但三个送水分队每天最多只能分别送50、60、50千吨水。由于地理位置的差别,往各灾区送水过程中所需要的兵力不同(如表,其中C水库与丁区间无输水管道),其它管理费均为450元/千吨。各区用户每千吨收费900元。此外,各区用户都向公司申请了额外用水量,分别为每天50、70、20、40千吨。问三个分队应如何分配兵力输送水,才能用最少的兵力在最短时间内将水送到灾区? 引水管理费(元/千吨) 甲 乙 丙 丁 A 160 130 220 170 B 140 130 190 150 C 190 230 200 / 表1.1 二、问题假设 (一)输送到各区的自来水只要在基本用水与额外用水量以内,各区即全额付费。 三、符号说明 1. x1,x2,x3,x4,y1,y2,y3,y4,z1,z2,z3:各水库向各居民区的供水量(详见表1.2) 2. u1,u2,u3:公司从A、B、C的获利 3. u:公司的总获利 四、问题分析、模型的建立与求解 1.问题的分析 该问题为典型的数学规划问题,决策变量、目标函数都较为明显,求解过程较为简单。 2.模型的建立 设A、B、C各分队向甲、乙、丙、丁四个受灾区的供水量如下, 供水量(千吨) 甲 乙 丙 丁 A x1 x2 x3 x4 B y1 y2 y3 y4 C z1 z2 z3 / 表1.2 则 公司从A水库的获利为: 公司从B水库的获利为: 公司从C水库的获利为: 公司的总获利为: 限定条件如下, 各区每天的供水量: 甲区: 乙区: 丙区: 丁区: 水库每天供水量的限定: A水库: B水库: C水库: 3.模型的求解 合并u1,u2,u3三式,得到总的目标函数: 限定条件为: 用Matlab写出线性规划程序求解(源程序详见附录)。因A矩阵,b矩阵的对应不等式为大于关系,为化为标准形式,故在linprog函数中A,b前加入负号。 且linprog函数默认求解的是线性规划模型的标准形式,即最小量。故在取值范围允许的情况下,在f矩阵前加负号,以求得负最小值。最终结果fval取相反数后即为所得结果。 4.结果分析 求解的结果如下: 各输送管道的供水量: 供水量(千吨) 甲 乙 丙 丁 A 0 50 0 0 B 0 50 0 10 C 40 0 10 / 表1.3 最大利润为47600元。 对该供水量规划与表1.1的引水管理费数据作对比,不难发现获得供水量的规划方案都集中在引水管理费最低的运输途径上。由此可以得出初步结论,即引水管理费的差异是引起规划结果变化的关键因素,在满足供水需求的基础上合理规划各管道供水量,使管理费降到最低,即可获得最大利润。模型求解的结果亦支持了这一结论。 五、模型的评价 优点 该模型较为简单明了,易于理解,原理清晰。 缺点 程序的可重用性差。 六、模型的推广与改进 在实际的供水问题中,各居民区的基本用水量在人口一定的情况下是满足小范围浮动规律的,但在满足基本供水的基础之上,各居民区的额外用水量亦应获得一定比例的满足。额外用水量的调控可简单地以各居民区申请额外用水量的比例来加以满足,亦可引入新的额外需求量浮动数据。 另外,该模型未考虑在受不同的日期影响下,基本用水量的起伏情况(如节假日用水量的激增,与离乡务工潮等周期性的大规模人口迁移来临后用水量的变化情况),以及各区域水价差异的调控政策等因素,故还有较大的改进空间。 七、附录 matlab源程序: clear,clc f=[290,320,230,280,310,320,260,300,260,250,220] A=[1 0 0 0 1 0 0 0 1 0 0; 0 1 0 0 0 1 0 0 0 1 0; 0 0 1 0 0 0 1 0 0 0 1; 0 0 0 1 0 0 0 1 0 0 0; 1 0 0 0 1 0 0 0 1 0 0; 0 1 0 0 0 1 0 0 0 1 0; 0 0 1 0 0 0 1 0 0 0 1; 0 0 0 1 0 0 0 1 0 0 0] b=[30;70;10;10; -80;-140;-30;-50] Aeq=[1 1 1 1 0 0 0 0 0 0 0;0 0 0 0 1 1 1 1 0 0 0;0 0 0 0 0 0 0 0 1 1 1] beq=[50;60;50] ub=[50 50 50 50 60 60 60 60 50 50 50] lb=zeros(11,1) [x,fval,exitflag,output,lambda]=linprog(-f,-A,-b,Aeq,beq,lb,ub) f = 290 320 230 280 310 320 260 300 260 250 220 A = 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 b = 30 70 10 10 -80 -140 -30 -50 Aeq = 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 beq = 50 60 50 ub = 50 50 50 50 60 60 60 60 50 50 50 lb = 0 0 0 0 0 0 0 0 0 0 0 Optimization terminated. x = 0.0000 50.0000 0.0000 0.0000 0.0000 50.0000 0.0000 10.0000 40.0000 0.0000 10.0000 fval = -4.7600e+004 exitflag = 1 output = iterations: 8 algorithm: 'large-scale: interior point' cgiterations: 0 message: 'Optimization terminated.' lambda = ineqlin: [8x1 double] eqlin: [3x1 double] upper: [11x1 double] lower: [11x1 double] 【参考文献】 [1] 姜启源,谢金星,叶俊. 数学模型[M].北京:高等教育出版社,2003.8 [2] 曾建军 MATLAB语言与数学建模[M]
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服