资源描述:
《供应与选址_数学模型》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、供应与选址数学模型摘要:本文给出了有关制定某公司每天的供应计划与临时料场选址问题的相应数学规划模型。问题一是一个线性规划问题,在考虑有直线道路连通的情况下,首先建立单目标的优化模型即用到临时料场的模型一,运用lingo软件编程和处理相关数据,得到最优决策方案,即该公司每天向六个建筑工地运输水泥的供应计划如表1,从而可使得总的吨千米数最小.123456(A料场)460002(B料场)006789表1A,B两料场每天分别向各工地运送的水泥量问题二是在问题一的基础上建立未用两个临时料场的一个非线性规划模型,保持供应计划不变的情况下,改变临时
2、料场的位置以使吨千米数进一步减少。同样用lingo软件求解可得当新建的临时料场位于C(6,4),D(7,8)两位置时,节省的吨千米数可达到30.关键字:供应计划线性规划非线性规划吨千米数一、问题重述某公司有6个建筑工地要开工,每个工地的位置(用平面坐标系a,b表示,距离单位:千米)及水泥日用量d(吨)由下表给出.目前有两个临时料场位于 A(5,1),B(2,7),日储量各有30吨.(1)试制定每天的供应计划,即从A,B两料场分别向各工地运送多少吨水泥,使总的吨千米数最小?(2)为了进一步减少吨千米数,打算舍弃两个临时料场,改建两个新的
3、,日储量各为20吨,问应建在何处,节省的吨千米数会多大?123456a180538b104667d4667811二、问题的假设与分析以及基本符号说明2.1问题的假设1、料场与工地之间有直线道路;2、两料场供应量应与工厂日用量达到平衡; 3、改建后供应计划保持原计划不变;4、每个工地的位置用平面坐标的形式表示;2.2问题的的分析:制定供应计划就是安排从两个料场向六个建筑工地运送水泥的方案,目标是使总的吨千米数最小。每个工地的位置用平面坐标的形式表示即6个建筑工地位置坐标为(,)(j=1,2,…,6,)(单位:千米),水泥日用量(单位:吨
4、),现有A(5,1),B(2,7)两料场,记(,),=(1,2),日储量各有30吨.从料场j向工地i的运送量为Cij。已知每个工地的位置及水泥日用量如下表123456a180538b104667d4667811问题二是在问题一的基础上,进一步减少吨千米数,舍弃两个临时料场,改建两个新的临时料场,日储量各为20吨,求新建的料场的位置,在其它条件不变下使总吨公里数最小,此时节省的吨千米数最大.为此,需建立一个非线形规划模型.2.3基本符号说明:第个临时料场;:第个建筑工地; :工地的水泥日用量;:料场到工地的水泥运输量;:料场到工地的距离
5、;:料场的日储量;四.模型的建立及求解4.1.1模型一的建立使用两个临时料场A(5,1),B(2,7).求从料场i向工地j的运送量为Cij,在各工地用量必须满足和各料场运送量不超过日储量的条件下,使总的吨千米数最小,是一个线性规划模型。此时的决策变量为Cij。线性规划模型为:目标函数:其中约束条件:s.t其中为30吨 4.1.2模型一的求解将已知数据代入模型中,将模型一输入lingo软件如下:MODEL:TitleLocationProblem;sets:demand/1..6/:a,b,d;supply/1..2/:x,y,e;li
6、nk(supply,demand):c;endsetsdata: a=1,8,0,5,3,8;b=1,0,4,6,6,7;d=4,6,6,7,8,11;e=30,30;enddatainit:x,y=5,1,2,7;endinit[OBJ]min=@sum(link(i,j):c(i,j)*((x(i)-a(j))^2+(y(i)-b(j))^2)^(1/2));@for(demand(j):[DEMAND_CON]@sum(supply(i):c(i,j))=d(j););@for(supply(i):[SUPPLY_CON]@su
7、m(demand(j):c(i,j))<=e(i););@for(supply:@bnd(0,X,8);@bnd(0,Y,7);); END得出A,B两料场每天分别向各工地运送的水泥量的表格如下:123456(A料场)460002(B料场)0067894.2.1模型二的建立改建两个新料场,要同时确定料场的位置(xi,yi)和运送量Cij,在同样条件下使总吨千米数最小。这是非线性规划问题。此时的决策变量是Cij,Xi,Yi。非线性规划模型为:目标函数:约束条件:s.t其中为20吨,4.2.2模型二的求解将模型一求得的供用计划数据代入模型
8、二中,将模型二输入lingo软件如 下:MODEL:TitleLocationProblem;sets:demand/1..6/:a,b,d;supply/1..2/:x,y,e;link(supply,demand):