选址问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
选址问题
摘要
由于现代工厂地址的选择是关系到工业布局及经济效益的重大决策,涉及到经济利益利益和非经济的多种因素。合理选择料场的位置,对整个建筑工地系统的运行都具有十分重要的现实意义。因此在选择时,应综合考虑各种优劣因素,如工厂的距离及各工厂的产品需求量,从而选出最佳地址。本文讨论并解决了某公司每天给工地的供应计划与临时料场选址的相关问题。本文采用了lingo、matlab等软件编程和处理相关数据,得到了最优决策方案。对于第一个问题,我们首先算出A、B料场到各工厂的距离,为达到最小的吨千米数,建立相应的目标函数,并建立相应的约束条件,在lingo中可求的最优解。争对第二个问题,要求重建料场,同样使得吨千米数最小,这是建立在第一问的基础上的非线性规划,用matlab中的fmincon函数(根据约束求最小值函数)求解,得到料场的新位置及料场向各工地的水泥运输量计划,即求得理想结果。
关键字:选址问题非线性规划吨千米数
一、问题重述
某公司有6个建筑工地要开工,每个工地的位置(用平面坐标系a ,b 表示,距离单位:千米 )及水泥日用量d(吨)由下表给出。目前有两个临时料场位于A(5,1),B(2,7),日储量各有20吨。假设从料场到工地之间均有直线道路相连。 (1)试制定每天的供应计划,即从A ,B 两料场分别向各工地运送多少吨水泥,使总的吨千米数最小。
(2)为了进一步减少吨千米数,打算舍弃两个临时料场,改建两个新的,日储量各为20吨,问应建在何处,节省的吨千米数有多大? 二、问题分析
主要讨论并解决某公司每天给工地的供应计划与临时料场选址的相关问题。目标是使总吨千米数达到最小,在考虑有直线道路连通的情况下建立相应的数学模型,给出相关算法。并运用Lingo 、matlab 等软件编程和处理相关数据,得到最优决策方案 。
5.1问题一分析
制定每天的供应计划,即从A ,B 两料场分别向各工地运送水泥,使总的吨千米数最小。每个工地的位置可用平面坐标的形式表示即6个建筑工地位置坐标为(),j j a b ,()1,2,3,4,5,6j = ,(单位:千米)水泥日用量j d (单位:吨),现有位于A(5,1),B(2,7) 的临时料场,记(),i i x y ,()1,2i =,由已知条件可求得6个建筑工地到两个料场A,B 的距离,日储量()i e 各有20吨,从料场i 向j 工地的运送量为ij c 表示,从而根据题目所给约束条件,求出最优的供应计划。
5.2问题二分析
问题二是在问题一的基础上,进一步减少吨千米数。在舍弃两个临时场,改
建两个新的临时场,从而使得在其他条件不变的的情况下使节省的吨千米数最小。为此,需建立一个非线性规划模型。要同时确定料场的位置(),i i x y 和A,B 两料场往各工地的运送量ij c 使(1)的总吨千米数最小。由于目标函数f 对j x 和
j y 是非线性的,所以在求新建料场位置和用料时是非线性规划模型。
三、问题假设
1、各工地不会在除题目所给的两个料场之外的其他料场获取水泥;
2、假设从料场飞到工地之间均有直线道路相连;
3、两个临时料场日储量满足题目所给的条件;
4、假设其他突发事件的影响可以忽略;
5、假设两料场供应量与日用量达到平衡;
6、假设改建后供应计划保持原计划不变。
7、每天工地所需要的水泥不变,每天分配给工地的水泥都用完,不能在第二天继续用;
四、符号说明
工地的水泥日用量为:j d 料场i 到工地j 的水泥运输量:ij c 料场i 到工地j 的距离:ij r 料场i 的日储量:i e 工地j 的位置:(),j j a b 料场i 的位置:(),i i x y
五、模型建立
5.1模型一的建立
记工地的位置为:(),j j a b ,水泥日用量j d ,j =1,2,3,4,5,6;料场位置为(),i i x y ,日储量i e ,i =1,2; 料场i 到工地j 的运送量为ij c ,则该问题有: 目标函数为:
2
6
11min ij
i j f x ===∑∑
约束条件为:6
1
61,1,2,1,2;20ij j ij i i j x d i x e i e ==⎧==⎪⎪⎨⎪≤=≤⎪⎩
∑∑
当用临时料场时决策变量为:ij x ,当不用临时料场时决策变量为:ij x ,i x ,j x 。
5.2模型二的建立
改建两个新料场,要同时确定料场的位置(),i i x y 和运送量ij c ,在同样条件下 使总吨千米数最小。这是非线性规划问题。此时的决策变量是ij c ,i x ,j x 。 非线性规划模型为:
目标函数为:2
6
11min ij
i j f c ===∑∑约束条件:26
611
12611
,1,2
,1,2;20ij j i j j ij i i i j c d i c e i e =====⎧==⎪⎪⎨⎪≤=≤⎪⎩∑∑∑∑∑
六、模型的求解
6.1模型一求解
我们可以先算出料场到各工地之间的距离,利用MATLAB 求解,求解代码见附录1,得到结果如下:
表1 料场到工地的距离
要求从A,B 两料场分别向各工地运送多少吨水泥,使总的吨千米数最小,假设料场向各工地运输ij c 吨,则有:
目标函数:2
6
11min ij
i j f x ===∑∑min=4*x11+3.162278*x21+5.830952*x31+5*x41+5.385165*x51+6.708204*x61+6.082763*x12+9.219544*x22+3.60551*x32+3.162278*x42+1.414214*x52+6*x62; 约束条件 x11+x12=4; x21+x22=6; x31+x32=6; x41+x42=7; x51+x52=8; x61+x62=11;
x11+x21+x31+x41+x51+x61<=20; x12+x22+x32+x42+x52+x62<=20;
应用非线性规划软件lingo 求解,程序代码参见附录2,得到结果如下: 由料场A 、B 向6个工地运输方案为:
表2 料场向各工地的运输方案
总的吨千米数为136.2275
6.2模型二求解
6.2.1.首先建立M 文件gying1.m ,定义目标函数F (x ): Function f=gying(x); f= F (x ):
F(x)=
26
11
i j x ==∑∑ ()1,2;1,2
6i j ==