机场选址问题摘要针对机场选址问题,文章共建立了三个模型用以解决该类问题。
为了计算出任意两城市之间的距离,我们利用公式(1)将利用题目中所给的大地坐标得出了任意两点之间的距离,见附录2。
对于问题1,我们主要利用0-1变量法,从而对问题进行了简化。
我们设了第i个y以及第i个城市是否是以第j个支线机场为最近机场的()j i x,。
城市是否建支线机场的i然后将任意两点之间的距离与该城市的总人数之积,再乘以0-1变量()j i x,,最后得出每一个所有城市到最近机场的距离与该城市人口的乘积,然后利用LINGO进行编写程序,进行最优化求解,最后得出的结果见表1和表2,各大城市以及支线机场的分布见图2。
对于问题2,该问题是属于多目标规划的问题,目标一是居民距离最近机场的距离最短,目标二是每个机场覆盖人口数尽可能相等。
我们在第一题的基础上,又假设了一些正、负偏差变量,对多个目标函数设立优先级,把目标函数转化为约束条件,进而求得满足题目要求的结果。
对于问题3,我们分析到影响客流量的因素是GDP跟居民人数,所以通过所搜集的资料分析我们给予这两个因素以不同的权重。
然后同样采取问题2中所给的反求机场覆盖的方法,求的各个机场所覆盖的客流量,再让其在平均客流量水平上下浮动。
通过LINGO程序的运行得到的六个机场的坐标见表6,六个机场的分布见图7。
针对论文的实际情况,对论文的优缺点做了评价,文章最后还给出了其他的改进方向,以用于指导实际应用。
关键词:选址问题;多目标规划;LINGO;0-1变量法;加权1.问题的重述近年来,随着我国经济社会的迅猛发展,公共交通基础设施日趋需要进一步完善与提高。
支线机场作为我国交通运输体系的有机组成部分,对促进欠发达地区经济社会的发展具有基础性的作用。
现某区域有30个城市,本区域计划在未来的五年里拟建6个支线机场。
任务1,确定6个支线机场的所在城市,建立居民到最近机场之间的平均距离最小的数学模型。
任务2,在任务一基础上,确定6个支线机场的所在城市,建立使得每个支线机场所覆盖的居民人数尽可能均衡的数学模型。
任务3,在任务一基础上,根据近一年每个城市的GDP 情况,确定6个支线机场的所在城市,建立使得每个支线机场的客流量尽量均衡的数学模型。
2.问题的分析2.1 问题1题目要求是建立居民到最近机场之间的平均距离最小的数学模型,该问题其实就是利用的0-1变量建立的模型。
首先我们设两个0-1变量,一个是控制某个城市是否为支线机场的i y ,一个是控制某个城市的最近机场是哪一个的ij x 。
针对于上述两个0-1变量,我们分别设立了约束条件。
同时又为了满足问题所要求的使局面平均距离最小,我们将某一个城市到离它最近的机场的距离与该城市的人口乘积作为目标函数,在LINGO 软件中,通过设立一约束条件,最后将目标函数进行最优化求解。
2.2 问题2该问题可以归结为多元目标线性规划的问题,所以我们在第一问的基础上又增加了一个目标函数,最后利用加权的方法将两个目标函数转化成了一个目标函数,将另一个目标函数作为约束条件。
同时我们又引入了正负偏差变量,通过控制该变量达到覆盖居民人数均衡以及居民到城市之间的平均距离尽量小。
2.3 问题3该问题要求的是客流量尽量均衡,经过分析可以知道,城市的GDP 越高,说明该城市经济越繁荣,货币流通越快,从而反映出客流量越大。
另一方面城市越大、人口越多,也在一定程度上反映出了该城市客流量越大。
基于上述两点,我们对GDP 跟城市人口分别给予了不同的权重来反映其对客流量的影响大小。
按照第二问的方法,我们依然利用多元目标线性规划的只是进行求解。
通过LINGO 编写程序,最中求得可行解。
3.模型的假设与符号说明3.1 模型的假设(1)各个城市的人口在某个较长的时间段内是不进行流动的,基本保持不变。
(2)两城市之间的距离都按照直线来计算,不存在弯曲线段的情况。
(3)各个城市都满足支线机场的建设条件,不存在某个城市不能建设支线机场的情况。
(4)假设各个支线机场是建在各个城市里面的,也就是说,我们将在这30个城市里面选取6个城市建设支线机场。
(5)各城市在未来一段时间内发展水平基本不变。
3.1 符号说明符号符号说明()j i x , 若第j 个城市建设支线机场,则第i 个城市到第j 个城市距离最近时,()1,=j i x ,其余的各种情况,()0,=j i x 。
ij v第i 个城市到第j 个城市之间的距离,其中30,,2,1 =i ,30,,2,1 =j 。
i w 第i 个城市的总人口,其中30,,2,1 =i 。
i y 第i 个城市被选为建设支线机场时,1=i y ;否则,0=i y , 30,,2,1 =i 。
k g按优先顺序k 极小化的现实目标或约束偏差变量的线性函数,其中3,2,1=k 。
fa 、j f 、j h正偏差变量,其中30,,2,1 =j 。
da 、j d 、j k负偏差变量,其中30,,2,1 =j 。
i q第i 个城市的GDP ,30,,2,1 =i 。
1min问题一中求得的目标函数的最小值。
m30个城市总的GDP 分配到六个支线机场的平均GDP 。
4.模型的准备首先我们将30座城市在大地坐标(经纬度)下的位置用MATLAB 软件画出以下图形(源程序见附录1):404244464850大地坐标下各大城市的位置图1 大地坐标系下的各大城市的位置题目条件所给的数据是经纬度,显然是不能进行距离计算的,首先我们从网上查取了一个公式,用于计算地球上任意两点之间的距离。
所以,我们就利用该公式计算出了任意两个城市之间的距离。
公式如下:212121sin sin cos cos )cos(cos ββββααθ+-= (1)θR L = (2)其中21αα、代表的是地球上两点的经度,1β、2β代表的是地球上两点的纬度,R 代表的是地球的平均半径,km 6371R =。
最后求的任意两点之间的距离见附录2。
5.模型的建立与求解5.1 问题1的模型建立与求解我们将每个城市到离该城市最近的那个支线机场的距离与该城市的总人数之积做为目标函数,求当该目标函数最小时,支线机场所建立的城市。
所以该模型的目标函数可以写作如下:()∑∑=iji ij j i x w v ,min (3)定义()j i x ,作为0-1变量,所以应该满足:()⎩⎨⎧=场个城市距离为最短的机个城市不是以到第个城市不建机场,或第,当第机场个城市的距离为最短的个城市是以到第个城市建立机场,且第,当第j i j 0j i j 1,j i x(4)⎩⎨⎧=个城市不建支线机场,第个城市建设支线机场,第i 0i 1i y (5) 为了使建设机场的个数为6个,还需要满足以下条件:6=∑ii y (6)为了是一座城市只能到一个机场的距离最短,还需要满足以下条件:()1,=∑jj i x (7)为了使()j i x ,满足地i 个城市是否是以第j 个城市中的机场的距离作为最短距离时,所以,还应满足以下条件:()j y j i x ≤, (8)所以可得出该模型的目标函数为:()∑∑=iji ij j i x w v ,min约束条件:()⎩⎨⎧=场个城市距离为最短的机个城市不是以到第个城市不建机场,或第,当第机场个城市的距离为最短的个城市是以到第个城市建立机场,且第,当第j i j 0j i j 1,j i x ⎩⎨⎧=个城市不建支线机场,第个城市建设支线机场,第i 0i 1i y6=∑iiy()1,=∑jj i x()j y j i x ≤,我们利用LINGO 软件进行编程(源程序见附录3,运算结果见附录4),得到如下结果:表1 建设支线机场的城市也就是说,只有在以上表中的几个城市建设机场才能使得居民离最近支线机场的距离最小,即应把机场建设在城市1、5、7、11、20、23六处。
以下是以某个支线机场作为最近的机场的城市表2 以某支线机场作为最近的机场的城市编号现在我们将利用MATLAB 将各个城市以及支线机场所在的位置以图像的形式表现出来(源程序见附录5),图形如下:图2 各大城市以及支线机场的位置5.2 问题2的模型建立与求解我们将各个正负偏差变量的之和作为目标函数,将求解该目标函数的最小值作为问题的目的,所以目标函数可以写成下面的形式:⎭⎬⎫⎩⎨⎧=∑j j d g fa g lex 21,min (9)定义()j i x ,作为10-变量,所以应该满足:()⎩⎨⎧=场个城市距离为最短的机个城市不是以到第个城市不建机场,或第,当第机场个城市的距离为最短的个城市是以到第个城市建立机场,且第,当第j i j 0j i j 1,j i x (10)⎩⎨⎧=个城市不建支线机场,第个城市建设支线机场,第i 0i 1i y (11) 为了使建设机场的个数为6个,还需要满足以下条件:6=∑ii y (12)为了是一座城市只能到一个机场的距离最短,还需要满足以下条件:()1,=∑jj i x (13) 为了使()j i x ,满足地i 个城市是否是以第j 个城市中的机场的距离作为最短距离时,所以,还应满足以下条件:()j y j i x ≤, (14)为了使覆盖的居民人数达到平衡,所以有:()[]1655,=-++∑ij j j i d f w j i x w (15)在上式中,1655是30个城市的总人口平均分配到6个支线机场的人数。
为了使覆盖居民到支线机场的平均距离较小,还需要满足以下情况:()()1min ,=-+∑∑da fa j i x w v iji ij (16)所以该模型的目标函数为:⎭⎬⎫⎩⎨⎧=∑j j d g fa g lex 21,min约束条件为:()⎩⎨⎧=场个城市距离为最短的机个城市不是以到第个城市不建机场,或第,当第机场个城市的距离为最短的个城市是以到第个城市建立机场,且第,当第j i j 0j i j 1,j i x ⎩⎨⎧=个城市不建支线机场,第个城市建设支线机场,第i 0i 1i y6=∑iiy()1,=∑jj i x()j y j i x ≤,()[]1655,=-++∑ij j ji d f wj i x w()()1min ,=-+∑∑da fa j i x w v ijiij我们利用LINGO软件进行编程(源程序见附录6,运算结果见附录7),得到如下结果:表3 建设支线机场的城市以下是以某个支线机场作为最近的机场的城市表4 以某支线机场作为最近的机场的城市编号现在我们将利用MATLAB将各个城市以及支线机场所在的位置以图像的形式表现出来(源程序见附录8),图形如所示下:图3 各大城市以及支线机场的位置5.3 问题3的模型建立与求解对于该问题,我们同样利用的是多元线性规划的问题。