摘要
垃圾清运问题具有“产生源高度分散、处置高度集中、产生量和品质随季节变化”的特点。就南山区垃圾运输的问题的调度方案,我们采用三个标定模型与多个最优化模型,给予了研究:
问题一中,分两小问:1)大、小型设备(橱余垃圾)的分布设计;2)在目前的运输装备条件下给出清运路线的具体方案。在第一小问中,我们首先根据供需关系确定大型设备的个数为3个,小型设备个数为0个.然后我们对所有垃圾中转站的管辖区域进行了有效性分配,确定运输到各垃圾转运站的垃圾数量以及垃圾种类。最后我们根据各垃圾转运站的垃圾数量,用0—1矩阵采用多目标优化模型求解设备的分布坐标。在第二小问中,我们根据第一小问确定的转运站管辖区域,优化每个区域的垃圾数量,让每个区域的垃圾转运站达到最高效利用。同时根据垃圾转运站和垃圾处理设备的分布,采用图论Dijkstra算法,划分为三片区域求出路程最优化。同时采用多目标优化评价模型对经济效应与环保效果进行评价,通过对路程优化结果的多次调整,对比后最终满足评价模型最优化的结果。
问题二中,要求对垃圾转运站重新设计。问题一中,在对垃圾转运站的管辖区进行划分时,存在部分垃圾转运站超负荷转运情况严重,部分垃圾转运站利用率较低的不均衡分布问题。针对此问题我们对垃圾转运站重新设计,均衡分配了各垃圾转运站的利用率。然后再采用第一问的模型对设备的分布以及路线的选择进行重新划分。最终求出深圳市南山区垃圾的最优处理方案。
关键字: 标定模型 影响率函数 误差百分比 最小二乘法曲线拟合
1. 问题重述
1.1问题的背景:
垃圾分类化收集与处理是有利于减少垃圾的产生,有益于环境保护,同时也有利于资源回收与再利用的城市绿色工程。在发达国家普遍实现了垃圾分类化,随着国民经济发展与城市化进程加快,我国大城市的垃圾分类化已经提到日程上来。2010年5月国家发改委、住房和城乡建设部、环境保护部、农业部联合印发了《关于组织开展城市餐厨废弃物资源化利用和无害化处理试点工作的通知》,并且在北京、上海、重庆和深圳都取得一定成果,但是许多问题仍然是垃圾分类化进程中需要深入研究的. 1.2需要解决的问题
用数学建模方法研究解决深圳市南山区垃圾运输问题的问题。
问题一中:为了解决大、小型设备(橱余垃圾)的分布设计,我们首先要对各垃圾转运站的管辖区域进行有效划分;然后求出个垃圾转运站实际转运的垃圾数量与垃圾组成;最后根据各垃圾转运站的实际转运数量,我们首先采用优化模型确定垃圾处理设备个数,然后采用0-1矩阵求出垃圾处理设备的分布情况。
问题一中:为解决在目前的运输装备条件下的清运路线的具体方案问题。我们以路程最优为目标,采用图论中的Dijkstra算法,划分为三片区域求出路程最优化.同时采用多目标优化评价模型对经济效应与环保效果进行评价,通过对路程优化结果的多次调整,对比后最终满足评价模型最优化的结果。
问题二中,为解决要求对垃圾转运站重新设计问题.我们均衡分配了各垃圾转运站的利用率。然后再采用第一问的模型对设备的分布以及路线的选择进行重新划分。最终求出深圳市南山区垃圾的最优处理方案。
2. 模型假设及符号说明
2.1模型假设
假设1:各小区清运站每天的垃圾量是不变的; 假设2:各小区清运站的垃圾都必须在当天清理完毕;
假设3:不考虑运输车在行驶过程中出现的塞车、抛锚等耽误时间的情况; 假设4:不允许运输车有超载现象;
假设5:每个小区清运站均位于街道旁,保证运输车和铲车行驶顺畅;
假设6:每个转运站周围方圆6公里之内的小区清运站的垃圾都运往此转运站; 假设7:南山区人口分为不同部分,每部分人口固定,每天产生垃圾量固定; 假设8:一天只从小区清运站收一次垃圾(晚上或下午); 假设9:所有运输车均从垃圾转运站发车最后回到垃圾转运站;
假设10:拖车将垃圾一起送往大型设备处和小型设备处再前往坟埋场和焚烧场; 假设11:垃圾分类在垃圾站已经完成。 2。2符号说明
xi,j ui,j di,j 第i个小区清运站向第j个小区清运站运输的垃圾量; 运输车是否从第i个小区清运站向第j个小区清运站运输的0-1变量; 第i个小区清运站和第j个小区清运站之间的距离; 垃圾运输车的单位量货物每公里的运输费用; 垃圾运输车每公里的空载费用; 每天每个清运点的垃圾产生量; 均标志垃圾转运站; 车辆的行车路线称为第k 条子路径,其包含清运点的数目为nk a b si n k
3问题的分析
问题一中,分两小问:1)大、小型设备(橱余垃圾)的分布设计;2)在目前的运输装备条件下给出清运路线的具体方案。在第一小问中,我们首先根据供需关系确定大型设备的个数为3个,小型设备个数为0个。然后我们对所有垃圾中转站的管辖区域进行了有效性分配,确定运输到各垃圾转运站的垃圾数量以及垃圾种类。最后我们根据各垃圾转运站的垃圾数量,用0-1矩阵采用多目标优化模型求解设备的分布坐标。在第二小问中,我们根据第一小问确定的转运站管辖区域,优化每个区域的垃圾数量,让每个区域的垃圾转运站达到最高效利用.同时根据垃圾转运站和垃圾处理设备的分布,采用图论Dijkstra算法,划分为三片区域求出路程最优化。同时采用多目标优化评价模型对经济效应与环保效果进行评价,通过对路程优化结果的多次调整,对比后最终满足评价模型最优化的结果。
问题二中,要求对垃圾转运站重新设计。问题一中,在对垃圾转运站的管辖区进行划分时,存在部分垃圾转运站超负荷转运情况严重,部分垃圾转运站利用率较低的不均衡分布问题。针对此问题我们对垃圾转运站重新设计,均衡分配了各垃圾转运站的利用率。然后再采用第一问的模型对设备的分布以及路线的选择进行重新划分。最终求出深圳市南山区垃圾的最优处理方案。
4问题一的解答
4。1模型的准备
4.1。1:垃圾转运站的管辖区域划分
考虑实际地理情况,我们现在把垃圾转运站分为21个块,每块负责附近的小
区的垃圾回收。
我们将深圳市南山区的地图导入MATLAB中,建立二维坐标系,转运站及周围对应小区的坐标如下。二维坐标的建立详细说明在附录中。 比例尺K=1:2639.2 单位 公里(km)。
下面是垃圾转运站分布及坐标
转运站分布块号 1 麻勘公厕垃圾站 [3584,1455] 麻勘村南网格片区[3534,1310] 麻勘村西网格片区[3739,1558] 麻勘村北网格片区[3322,1539] 2 3 4 阳光公厕垃圾站、 白芒公厕垃圾站 牛成村公厕垃圾站 大石勘公厕垃圾站 [3062,1753] [2592,2242] [4383,2127] 白芒村南网格片区[2818,1403] 白芒村北网格片区[3064。2252] 牛成村牛成路[2702 ,2164] 大勘一村:[4296,1641] 大勘二村:[4556,1929] 大勘商业区:[4388,1909] 5 福光公厕垃圾站、长源公厕垃圾站、唐朗公厕垃圾站 6 动物园公厕垃圾站、平山村公厕垃圾站 7 官龙村公厕垃圾站、新围公厕垃圾站、西丽路公厕垃圾站 8 光前公厕垃圾站、龙井公厕垃圾站 9 同乐村垃圾站 [5420,3030] [3982,3270] [3377,3588] [4179,4407] [2380,4155] 同安路[2405,4530] 铁二路[2509,4234] 同乐村[2401,4061] 10 11 前海公厕垃圾站、月亮湾大道 [1917,4965] 松坪山公厕垃圾站、松坪山(二)公厕垃圾站、玉泉公厕垃圾站 12 13 深圳大学垃圾站 南光公厕垃圾站 14 15 科技园公厕垃圾站 沙河市场垃圾站白石洲南公[3055,5453] [2471,6032] [3230,5928] 深南大道[3196,5394] 31476人 [2924,4537] 南头戏院宿[2123,5016] 松平[3362,4544] 石新路网格片区[3461,3425] 新高路网格片区[3347,3208] 海龙苑龙井路[4762,4364] 19438人 24768人 32579人 7180人 30770人 4489人 32608 58502 白芒村南网格片区[2818,1403] 白芒村北网格片区[3064,2252] 丽山路南山区大学城[3985,3272] 21234人 18946人 19052人 24722人 24677人 9996人 26893人 28361人 20806人 24722人 24677人 28792人 所含垃圾转运站 中心坐标 周围小区坐标 对应小区人数 南山村正一坊网格片区[2234,6197] 14291人 南光村网格片区[2626,5853] 高新南大道:[3093,5540] 白石洲:[4046,5383] 侨城西街:[4566,5323] 桃园路附近:[2329,5777] 前海路附近:[2031,5507] 南头街:[2214,5366] 大板桥巷:[2137,5785] 鼎太风华:[2012,5962] 21576人 36889人 56541人 30402人 33689人 36987人 12386人 59422人 58995人 厕垃圾站、华侨城公厕垃圾站 [4555,5453] 16 九街公厕垃圾站大新小学垃圾站勇下村、南山市场公厕垃圾站 17 北头公厕垃圾站南园公厕垃圾站 [2158,5449] [2130,5951] 18 南山村公厕垃圾站 [1820,6230] [2657,7317] [2682,7495] 南山村正一坊网格片区[2234,6197] 34291人 南光村网格片区[2626,5853] 花果路附近[2866,7214] 工业路[2608,6836] 蛇口老街[2420,734] 31476 36129人 工业路:21433人 蛇口老街:11869人 16346 19 20 花果路公厕垃圾站 望海路垃圾站 21 疏巷小区垃圾站 [1380,7400] 少帝路网格片区[1234,7435] 松岭路旁小店网格片区[1307,7661] 15602
4.1。2:求解各垃圾转运站的压力值
平均每个人每天产生的垃圾量
1280/1318143=9.7106e-004吨/人.天 转运站块号 分区总人数 总垃圾量/吨 可用车辆数/厢 最大日运输垃圾能力/吨 1 2 1 2 4 3 3 2 2 5 6 2 1 2 4 3 1 2 2 1 3 10 18 5 60 35 65 50 35 15 56 60 15 15 20 130 75 15 25 30 30 40 压力值 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
59232 49399 9996 76060 49399 28792 44206 32579 14310 32608 58502 31476 35867 36889 86943 83062 118417 65767 36129 33302 31948 57。5178 47。9694 9。7067 73。8588 47.9694 27.9588 42。9267 31。6362 13.8959 31.6643 56。809 30。5651 34。829 35.8214 84.4269 80。6582 114。99 63.8637 35。0834 32。3382 31.0234 —1。01254 -0。63861 -0.10029 -0.29531 -0.27636 0。7893 0。150723 0.071678 0。023527 0.518562 0.067996 —0。33167 -0.42253 —0。33713 0。971104 -0.12057 -2。13066 -0.82814 —0。10832 —0.04982 0。19128 图中数据显示,在日产生总垃圾量大于最大处理能力时,只有按日最大能力处理;当不
大于是,全部运输处理。由压力值显示,有八个垃圾转运站的分布存在较大问题,其中1、15、17号转运站存在明显的超压运行;垃圾转运站整体运转超压明显.
4。1。3:求解从各小区垃圾站到垃圾转运站的路费和
求解程序: clear
b=2。9/1.161;%实际距离与图上距离的比例 for k=1:21
fprintf('请输入第%d个转运站块区的距离和s=’,k) s=input('’);
fprintf('输入第%d个转运站块区实际用的车辆数n=',k) n=input(’’); w=s*n*b;
fprintf(’第%d个转运站块区总运输费用为:%6。2f\\n’,k,w) end
结果在下表中显示在最后一列 转运站块号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
实际使用的车辆 1 2 1 2 4 2 3 2 2 4 6 2 1 2 3 3 1 2 2 1 3 实际转运垃圾量 10 18 5 60 35 27。9588 42.9267 31.6362 5 31.6643 56。8090 15 15 20 84.4269 15 15 25 30 30 40 垃圾站到转运站距离之和 总运费/元 614。62 1737。88 134。85 974。71 5549。93 3。61 564.55 584。58 623。42 212.22 438.06 152.85 525.56 411。48 644。64 609.64 284.66 1305。12 233。0 7429。22 421.15 614.62 3475。76 71900。67 25723.44 539596。49 —8514。84 28954。58 19364。97 26822.53 11356。12 47984。80 -1869.83 2295。86 9415。82 22049.59 20598。92 —16214.63 45338.18 11639。97 175513.35 21910.77 由上表可求的总费用为:1057957元(这是从垃圾站到转运站的一切总费用)
优化模型一
采用优化模型确定垃圾处理设备的分布。 转运站到处理中心
现在求解垃圾处理中心的位置,根据产生的垃圾量及实际的地理情况,在最节省的条件下,应设立3个垃圾处理中心,现要求经济效益最佳,即:要求运费最小化.故:21个区域到3个处理中心的距离之和最小。
其中21个区域,运输总垃圾量为613.6吨;运送到垃圾处理中心的厨于垃圾量如下(当最大日运输量不足以满足时,原则上尽量转运厨余垃圾)
21个区域厨余垃圾量如下 10 12.4 18 14 4 14。4 38129.6 34 n1i219.2 32.4 11。2 17。2 15 n13.2 14。4 5。6 12.8 5 12。4 22。8 25 厨余垃圾总和为342。6,每个处理中心的处理量不大于200吨/天
Min:F1ad[(i-1), i]b[d(i,(i1)])t1
(1)对于各个垃圾站点,只有一辆运输车经过,即每个站点的运进点和运出点
均是有且只有一个,即:
ui1nni,t1;(t1,2,n1)
ui1t,i1;(t1,2,n1)
其中,
ui,j1,表示运输车从第i号垃圾站点到了第j号垃圾站点;(i,j1,2,n)0,表示运输车不从第i号垃圾站点到了第j号垃圾站点;
(2)运输车到达某个站点后,必须将此站点的所有垃圾带走:
xt,kut,k(stxk,t);(t1,2,n)
k1n
(3)不允许出现自己往自己站点运输垃圾的现象,即当ij时有:
ui,j0;(i,j1,2n)
(4)不允许从(垃圾转运站)运出垃圾到清运站,即:
x0,j0;(j1,2,n)
(5)各垃圾站的垃圾都必须在当天清理完毕,不允许有滞留:
xi1ni,01280
(6)各垃圾运输车不允许有超载现象,即每辆车的载重最多为2。5吨:
xi,j2.5(i1,2,n1;j1,2,n1)
(7)一个小区清运站只被一辆运输车一次通过
Pk1∩Pk2 =Φ;k1≠k2 k1=1,2,…,m;k2=1,2,…,m。
2.2.2单目标规划模型
在给出了目标函数和约束条件后,即可得到一个使得运输费用最小的单目标规划模型如下:
Min:F1a(d[Pk(i-1) Pki)i2
n1
模型一的求解
运用LINGO解决线性规划问题 3个垃圾处理中心的位置为(3823。217,2783.568)(2617。827,7386.581)(2506。669,5537.895)
最小距离为 20098。18
乘上比例: 图上距离:实际距离=0.3798:1 (单位:米) 实际距离约为:52。9公里
下面是求从转运站到处理中心的总费用和总耗油量 程序如下: clear
fprintf(’请输入所用大型厨余设备台数n1='); n1=input(’');
fprintf(’请输入总距离s='); s=input('’);
fprintf(’请输入所用所用拖车数量n2='); n2=input('’);
fprintf('请输入实际处理的垃圾总量n3=’); n3=input('’);
v=s*n2*10/100*30;
w1=45000000*n1+150*n3+280000*n2+300*200/1000*n2—1500*n3; fprintf('厨余垃圾处理设备所需费用为:%6。2f’,w1); fprintf(’总耗油量为:%6。2f\\n',v)
代入数据,运行结果为:
请输入所用大型厨余设备台数n1=3 请输入总距离s=52。9
请输入所用所用拖车数量n2=62
请输入实际处理的垃圾总量n3=613.6
厨余垃圾处理设备所需费用为:151535360。00总耗油量为:9839。40
即:从转运站到处理中心的总费用为:151535360。元,总耗油量为:9839.40 升
垃圾站到转运站 转运站到处理中心 (包含厨余设备的成本) 全程总和 即:
垃圾转运方案如下
区域1 区域2 区域3 区域4 区域5 区域6 区域7 区域8 区域9 区域10 区域11 总费用(万元) 16 15154 16170 总耗油量(升) 121 9839 960 处理处理处理处理处理处理处理处理处理处理处理中心1 中心1 中心1 中心1 中心1 中心1 中心1 中心1 中心3 中心3 中心3 区域区域12 13 区域14 区域15 区域16 区域17 区域18 区域19 区域20 区域21 处理处理处理处理处理处理处理处理处理处理 中心3 中心3 中心3 中心3 中心3 中心3 中心3 中心2 中心2 中心2 即:区域1——8到处理中心1(由其坐标对应图上的具体位置应该指出,在此省略,下同) 区域9—-18到处理中心3; 区域19——21到处理中心2
附录:
附录1
深圳市南山区二维坐标建立如下:
比例尺K=1:2639。2 单位 公里(km)。
附录2
运用MATLAB求解每个转运中心到对应周围小区的距离之和程序如下 clear
for k=1:21
fprintf(’请输入第%d个地址的坐标点[x%d,y%d]=',k,k,k) X(k,:)=input(’’);
fprintf('告诉我以第%d个地址为中心的分地址有几个n=',k) n=input(''); for i=1:n
fprintf('请输入第%d个分地址坐标[x%d%d,y%d%d]=',i,k,i,k,i) X_i(i,:)=input(''); end sum=0; for i=1:n
sum=sum+sqrt((X(k,1)-X_i(i,1))^2+(X(k,2)-X_i(i,2))^2); end
fprintf(’第%d个地址到其分地址的距离之和为%6.2f\\n’,k,sum)
end
运行结果如下
请输入第1个地址的坐标点[x1,y1]=[3584,1455] 告诉我以第1个地址为中心的分地址有几个n=3 请输入第1个分地址坐标[x11,y11]=[3534,1310] 请输入第2个分地址坐标[x12,y12]=[3739,1558] 请输入第3个分地址坐标[x13,y13]=[3322,1539] 第1个地址到其分地址的距离之和为614。62
请输入第2个地址的坐标点[x2,y2]=[3062,1753] 告诉我以第2个地址为中心的分地址有几个n=2 请输入第1个分地址坐标[x21,y21]=[2818,1403] 请输入第2个分地址坐标[x22,y22]=[3064。2252] 第2个地址到其分地址的距离之和为1737。88
请输入第3个地址的坐标点[x3,y3]=[2592,2242] 告诉我以第3个地址为中心的分地址有几个n=1
请输入第1个分地址坐标[x31,y31]=[2702 ,2164] 第3个地址到其分地址的距离之和为134。85
请输入第4个地址的坐标点[x4,y4]=[4383,2127] 告诉我以第4个地址为中心的分地址有几个n=3
请输入第1个分地址坐标[x41,y41]=[4296,1641] 请输入第2个分地址坐标[x42,y42]=[4556,1929] 请输入第3个分地址坐标[x43,y43]=[4388,1909] 第4个地址到其分地址的距离之和为974。71
请输入第5个地址的坐标点[x5,y5]=[5420,3030] 告诉我以第5个地址为中心的分地址有几个n=2
请输入第1个分地址坐标[x51,y51]=[2818,1403] 请输入第2个分地址坐标[x52,y52]=[3064,2252] 第5个地址到其分地址的距离之和为5549。93
请输入第6个地址的坐标点[x6,y6]=[3982,3270] 告诉我以第6个地址为中心的分地址有几个n=1 请输入第1个分地址坐标[x61,y61]=[3985,3272] 第6个地址到其分地址的距离之和为 3.61
请输入第7个地址的坐标点[x7,y7]=[3377,3588] 告诉我以第7个地址为中心的分地址有几个n=2 请输入第1个分地址坐标[x71,y71]=[3461,3425] 请输入第2个分地址坐标[x72,y72]=[3347,3208] 第7个地址到其分地址的距离之和为564。55
请输入第8个地址的坐标点[x8,y8]=[4179,4407] 告诉我以第8个地址为中心的分地址有几个n=1
请输入第1个分地址坐标[x81,y81]=[4762,4364] 第8个地址到其分地址的距离之和为584。58
请输入第9个地址的坐标点[x9,y9]=[2380,4155] 告诉我以第9个地址为中心的分地址有几个n=3 请输入第1个分地址坐标[x91,y91]=[2405,4530]
请输入第2个分地址坐标[x92,y92]=[2509,4234] 请输入第3个分地址坐标[x93,y93]=[2401,4061] 第9个地址到其分地址的距离之和为623.42
请输入第10个地址的坐标点[x10,y10]=[1917,4965] 告诉我以第10个地址为中心的分地址有几个n=1
请输入第1个分地址坐标[x101,y101]=[2123,5016] 第10个地址到其分地址的距离之和为212.22
请输入第11个地址的坐标点[x11,y11]=[2924,4537] 告诉我以第11个地址为中心的分地址有几个n=1 请输入第1个分地址坐标[x111,y111]=[3362,4544] 第11个地址到其分地址的距离之和为438.06
请输入第12个地址的坐标点[x12,y12]=[3055,5453] 告诉我以第12个地址为中心的分地址有几个n=1
请输入第1个分地址坐标[x121,y121]=[3196,5394] 第12个地址到其分地址的距离之和为152.85
请输入第13个地址的坐标点[x13,y13]=[2471,6032] 告诉我以第13个地址为中心的分地址有几个n=2
请输入第1个分地址坐标[x131,y131]=[2234,6197] 请输入第2个分地址坐标[x132,y132]=[2626,5853] 第13个地址到其分地址的距离之和为525.56
请输入第14个地址的坐标点[x14,y14]=[3230,5928] 告诉我以第14个地址为中心的分地址有几个n=1 请输入第1个分地址坐标[x141,y141]=[3093,5540] 第14个地址到其分地址的距离之和为411.48
请输入第15个地址的坐标点[x15,y15]=[4555,5453] 告诉我以第15个地址为中心的分地址有几个n=2
请输入第1个分地址坐标[x151,y151]=[4046,5383] 请输入第2个分地址坐标[x152,y152]=[4566,5323] 第15个地址到其分地址的距离之和为644。26
请输入第16个地址的坐标点[x16,y16]=[2158,5449] 告诉我以第16个地址为中心的分地址有几个n=3
请输入第1个分地址坐标[x161,y161]=[2329,5777] 请输入第2个分地址坐标[x162,y162]=[2031,5507] 请输入第3个分地址坐标[x163,y163]=[2214,5366] 第16个地址到其分地址的距离之和为609.64
请输入第17个地址的坐标点[x17,y17]=[2130,5951] 告诉我以第17个地址为中心的分地址有几个n=2
请输入第1个分地址坐标[x171,y171]=[2137,5785] 请输入第2个分地址坐标[x172,y172]=[2012,5962] 第17个地址到其分地址的距离之和为284。66
请输入第18个地址的坐标点[x18,y18]=[1820,6230]
告诉我以第18个地址为中心的分地址有几个n=2 请输入第1个分地址坐标[x181,y181]=[2234,6197] 请输入第2个分地址坐标[x182,y182]=[2626,5853] 第18个地址到其分地址的距离之和为1305。12
请输入第19个地址的坐标点[x19,y19]=[2657,7317] 告诉我以第19个地址为中心的分地址有几个n=1 请输入第1个分地址坐标[x191,y191]=[2866,7214] 第19个地址到其分地址的距离之和为233。00
请输入第20个地址的坐标点[x20,y20]=[2682,7495] 告诉我以第20个地址为中心的分地址有几个n=2 请输入第1个分地址坐标[x201,y201]=[2608,6836] 请输入第2个分地址坐标[x202,y202]=[2420,734] 第20个地址到其分地址的距离之和为7429。22
请输入第21个地址的坐标点[x21,y21]=[1380,7400] 告诉我以第21个地址为中心的分地址有几个n=2
请输入第1个分地址坐标[x211,y211]=[1234,7435] 请输入第2个分地址坐标[x212,y212]=[1307,7661] 第21个地址到其分地址的距离之和为421。15
附录3
运用LINGO求解3个转运中心到转运站距离之和最小代码 代码:model: sets:
n/1.。21/:xdata,ydata,vdata; m/1..3/:x,y;
links(n,m):b; endsets
min=@sum(n(i): @sum(m(j): b(i,j)*((x(j)—xdata(i))^2+(y(j)—ydata(i))^2)^(1/2))); @for(n(i):@sum(m(j):b(i,j))=1);
@for(n(i):@for(m(j):@bin(b(i,j)))); @for(m(j):@sum(n(i):b(i,j)*vdata(i))〈=200);
data:
xdata=3584 3062 2592 4383 5420 3982 3377 4197 2380 1917 2924 3055 2471 3230 4555 2158 2130 1820 2657 2682 1380;
ydata=1455 1753 2242 2127 3030 3270 3588 4407 4155 4965 4537 5453 6032 5928 5453 5499 5951 6230 7317 7495 7400; vdata=10 18 4 29。6 19.2 11.2 17.2 13.2 5.6 5 22.8 12。4 14 14。4 34 32.4 15 25 14。4 12。8 12.4; enddata end
运行结果如下
Local optimal solution found。
Objective value: 20098.18 Objective bound: 20098。18 Infeasibilities: 0。000000 Extended solver steps: 0 Total solver iterations: 246
XDATA( 1) XDATA( 2) XDATA( 3) XDATA( 4) XDATA( 5) XDATA( 6) XDATA( 7) XDATA( 8) XDATA( 9) XDATA( 10) XDATA( 11)XDATA( 12)XDATA( 13)XDATA( 14)XDATA( 15) XDATA( 16)XDATA( 17)XDATA( 18) XDATA( 19) XDATA( 20) XDATA( 21) YDATA( 1) YDATA( 2) YDATA( 3) YDATA( 4) YDATA( 5) YDATA( 6) YDATA( 7) YDATA( 8) YDATA( 9) YDATA( 10)YDATA( 11) YDATA( 12) 3584。000 3062.000 2592。000 4383。000 5420。000 3982。000 3377。000 4197.000 2380。000 1917。000 2924.000 3055。000 2471.000 3230.000 4555.000 2158.000 2130。000 1820.000 2657.000 2682。000 1380.000 1455。000 1753.000 2242.000 2127.000 3030。000 3270。000 3588。000 4407.000 4155。000 4965.000 4537。000 5453.000
Variable Value YDATA( 13) 6032.000 YDATA( 14) 5928。000 YDATA( 15) 5453.000 YDATA( 16) 5499.000 YDATA( 17) 5951.000 YDATA( 18) 6230。000 YDATA( 19) 7317.000 YDATA( 20) 7495.000 YDATA( 21) 7400.000 VDATA( 1) 10。00000 VDATA( 2) 18.00000 VDATA( 3) 4。000000 VDATA( 4) 29.60000 VDATA( 5) 19.20000 VDATA( 6) 11.20000 VDATA( 7) 17.20000 VDATA( 8) 13.20000 VDATA( 9) 5。600000 VDATA( 10) 5。000000 VDATA( 11) 22.80000 VDATA( 12) 12。40000 VDATA( 13) 14.00000 VDATA( 14) 14.40000 VDATA( 15) 34。00000 VDATA( 16) 32.40000 VDATA( 17) 15.00000 VDATA( 18) 25.00000 VDATA( 19) 14。40000 VDATA( 20) 12.80000 VDATA( 21) 12.40000 X( 1) 3823。217 X( 2) 2617.827 X( 3) 2506.669 Y( 1) 2783。568 Y( 2) 7386。581 Y( 3) 5537。895
B( 1, 1) 1。000000 B( 1, 2) 0。000000 B( 1, 3) 0。000000 B( 2, 1) 1。000000 B( 2, 2) 0。000000 B( 2, 3) 0。000000 B( 3, 1) 1。000000 B( 3, 2) 0。000000
B( 3, 3) 0.000000 B( 4, 1) 1.000000 B( 4, 2) 0。000000 B( 4, 3) 0.000000 B( 5, 1) 1.000000 B( 5, 2) 0。000000 B( 5, 3) 0。000000 B( 6, 1) 1.000000 B( 6, 2) 0。000000 B( 6, 3) B( 7, 1) B( 7, 2) B( 7, 3) B( 8, 1) B( 8, 2) B( 8, 3) B( 9, 1) B( 9, 2) B( 9, 3) B( 10, 1) B( 10, 2) B( 10, 3)B( 11, 1) B( 11, 2) B( 11, 3) B( 12, 1)B( 12, 2)B( 12, 3) B( 13, 1) B( 13, 2) B( 13, 3) B( 14, 1) B( 14, 2)B( 14, 3) B( 15, 1)B( 15, 2) B( 15, 3) B( 16, 1) B( 16, 2) B( 16, 3) B( 17, 1) B( 17, 2) B( 17, 3) B( 18, 1) 0。000000 1.000000 0.000000 0。000000 1.000000 0。000000 0。000000 0。000000 0。000000 1。000000 0。000000 0.000000
1.000000 0.000000 0.000000 1。000000
0。000000 0。000000 1。000000 0.000000 0.000000 1。000000 0。000000 0.000000 1.000000
0。000000 0。000000 1。000000 0.000000 0。000000 1。000000 0。000000 0.000000 1。000000 0.000000
B( 18, 2) 0.000000 B( 18, 3) 1.000000 B( 19, 1) 0.000000 B( 19, 2) 1.000000 B( 19, 3) 0。000000 B( 20, 1) 0。000000 B( 20, 2) 1.000000 B( 20, 3) 0。000000 B( 21, 1) 0.000000 B( 21, 2) B( 21, 3)
1。000000 0。000000 Row Slack or Surplus 1 20098.18 2 0。000000 3 0.000000 4 0。000000 5 0。000000 6 0.000000 7 0。000000 8 0。000000 9 0.000000 10 0.000000 11 0。000000 12 0。000000 13 0.000000 14 0。000000 15 0.000000 16 0.000000 17 0。000000 18 0。000000 19 0。000000 20 0。000000 21 0.000000 22 0。000000 23 77。60000 24 160.4000 25 19。40000
因篇幅问题不能全部显示,请点此查看更多更全内容