版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于最小费用的订购与方案摘要:的采购成本和与调配是一个地区进行基础设施建设必须的问题。本文通过成本建立数学模型,对的运购计划进行了分析。问题一,通过分步的方式建立模型一,引入矩阵,以总费用最小为目标,以钢厂供应量、节点需求量和供需平衡条件为约束,建立运购的单目标问题。将交通网分成铁路网和公路网,通过用 Floyd 算法分别求出铁路和公路网的邻接矩阵。通过建立价格函数,求出综合交通网络的价格矩阵。将其作为输入带入模型,利用 Lingo 软件编程求解,得到最小总费用为 124.6220 亿元。同时建立基于点对点单步 的模型二,利用Lingo 求得精确解,最小总费用为124.6108 亿元。比较模型
2、一、二,模型一求解精度达到 99.99%以上,执行效率高,在内存占用上只有模型二的 ,所以模型一整体上优于模型二。201问题二,引入“虚”价格变量,利用 Lingo 软件的求解结果中的 DualPrice 直接找出对总费用影响最大的因子;定义运购计划变化程度函数,用控制变量法找出对运购计划影响最大的因子。得出结论:S1 的销价和产量上限对总费用的影响最大,分别是-1500每销价和 85每;S3 的销价对运购计划影响最大,影响力是 409.738, S1的产量上限对运购计划的影响最大,影响力是 399.7386。问题三,利用变量法分别对铁路和公路运费进行单变量分析,得到结果:r1 改变 1%,总
3、费用改变约 0.234%;r2 改变 1%,总费用改变约 0.050%。r1 大于 0 时,对运购计划变化很小, r1 小于 0 时,钢厂运购计划影响大; r2 与之相反。问题四,利用分解网状结构提取线性主干的方法,将二维问题简化成一维问题,利用修正的模型一总费用模型求解。计算得到最小总费用为 137.8352 亿元。对简化模型进行误差估计,求解误差在 2 亿元以内。问题一仅考虑总费用单一因素,增加总专线数量最小化这一目标。Lingo 求解结果显示将总费用预算增加到 126 亿时,可以将总专线数量从 19 条削减到 14 条。作为总费用和总专线最小化的折衷方案。关键字矩阵Floyd 算法变量法
4、网状结构分解一、问题重述某地需要铺设一条A1 ® A2 ® L ® A15 的输送天然气主管道。需要的钢管从钢厂 S1, S2,S6 采购。钢厂到施工地点通过铁路网和公路网(包括施工公路)连在一起。为了方便计数,1km 主管道称为 1。因为时间缘故,钢厂提供量有上限 si ,而且在任意一家钢厂采购管道都不得少于 600。生产上限和出厂销价 pi 如下表:每的铁路运价为阶梯制,如下表:注:超过 1000km 时,每增加 100km(不到 100km 按 100km 记)运价增加。5每公里 0.1(小数部分按 1km 记)。需要注意公路运费为每一点是,需要运送到安装的
5、位置,不只是运到最近的节点。问题的订购的立数学模型,确定优化目标(最小费用,最短时间等),给出合理计划。问题二:在问题一模型的基础上,找出哪个钢厂的销价和产量上限对采购和运输计划的影响最大,即求价格。问题三:当公路和铁路运费发生浮动时(幅度不超过 5%),讨论运购计划和总费用的变化情况。问题四:当管道铺设方案发生变化时(线状变成网状结构),给出一种解决方案。里程(km)300301350351400401450451500运价()2024273032里程(km)5016006017007018008019009011000运价()3645535860i123456si250028003000p
6、i150160155150155155二、问题分析2.1 问题一的分析对于问题一,本题是一类典型的问题,我们很容易想到建立一个单目标模型。对于求解目标的选择,题目中涉及铁路公路运费,首先想到的应该是建立以最小费用为目标的单目标模型。在后续的深入分析中,我们可以考虑将专线数量、时间等因素作为目标函数。2.2 问题二的分析问题二需要求解并比较不同钢厂的销价和产量上限的影响最大的。价格,找出其中2.3 问题三的分析问题三要求在总费用最小的基础上,运费浮动导致的方案调整,观察分析多种方案的变化情况,给出分析结论。2.4 问题四的分析问题四要求当题目要求发生变化时,需要问题一的模型是否仍然适用,如果能用
7、,是否需要做出一些调整来适应新的情况?需要根据实际情况,找出解决变形问题的方法。三、模型假设与符号系统3.1 模型的假设(1)连续性假设:钢厂卖出的量可以不为整数。(2)稳定性假设:在开始生产到出厂前,价格不变;在出厂后到到达目的地前,运费发生变化。(3)无限性假设:每段铁路、公路的运力都能满足的流量需求。3.2 符号系统问题一符号系统符号意义W总费用亿元P采购成本亿元T成本亿元T SA钢厂(S)施工沿线节点(A)的成本亿元T AP施工沿线节点(A)施工沿线各点(Point)的成本亿元ai, j第 i 个钢厂向第 j 个节点的量/1kmbj第 j 各节点(A)的需求量/1kmti第 i 个钢厂
8、的供应量/1kmsi第 i 个钢厂的产量上限/1kmpi第 i 个钢厂的销价zi ,j 第 i 个钢厂到第 j 个节点的距离kmxi ,k 铁路距离kmy k ,j公路距离kmC1i, j第 i 个钢厂到第 j 个节点每价格C1i, j铁路每价格C 2i, j公路每价格Lj第 j 个节点向左的量/1kmRj第 j 个节点向右的量/1kmDj第 j 段施工段长度kmNk第k 个节点在全部路段的序号/问题二符号系统注:与问题一重复部分不再列出。问题三符号系统注:与问题一重复部分不再列出。四、问题一的建模与求解4.1 问题分析在问题一中,我们确立最小总费用(运购成本)为目标。其中,总费用分为采购成本
9、和成本。约束包括钢厂供应量约束,管道沿线需求量约束,供求平衡约束以及求解问题引入变量内在的约束。根据目标和约束我们得到原问题完整的数学描述。问题一的建模流程图如下:确定目标函数定义变量问题的数学描述找出相关约束图 4-1 问题模流程图符号意义r1铁路利率浮动率/r2公路利率浮动率/符号意义fake _ pi“虚价格”P购计划变化程度函数/1km4.2 模型立4.2.1 目标函数下面我们建立总费用最小化的单目标模型。我们以最小总费用为大部分目标,总费用W 分为采购成本 P 和成本T 两W = P + Tai, j阵 A :表示第 i 个钢厂向第 j 个节点的量(),由此得到矩æ a1,
10、1a1,15 öa1,22,2.ç a÷aaA = ç2,15 ÷2,1ç÷.ç a÷aaè6,15 ø6,16,2l采购成本 Pti (i=1,2,.,6) 表示第 i 个钢厂的供应量, pi (i=1,2,.,6) 表示第 i 个钢厂的销价,所以采购成本为:6615P = åti pii=1= å(åai, j )pii=1 j =1l距离 xi,k , yk , j , zi, j问题要求运送到施工沿线个点,所有的一定会经过A1, A2 , A3.A
11、15 中的至少一个节点,我们先让所有从 6 个钢厂定向到这15 个节点。zi ,j 表示第 i 个钢厂到第 j 个节点的距离, zi ,j 又可分为铁路距离 xi,k 和公路距离 yk , j :k Î1, 2,.,17)zi, j = xi,k + yk , j(i = 1, 2,., 6 j = 1, 2,.,15,事实上,一个钢厂到一个节点有多种路径可以选择,存在这样一个交通枢纽 k,同时连结铁路网和公路网,这样的点在图中共有 17 个,所以每对(i, j ) 共有 17 种组合方式,然后通过每种组合方式的价格最低的一种组合方式:xi,k价格比较,保留总¾C¾
12、;i , j (¾Xi ,k ¾,Yk , j¾) = ¾min C¾i , j ® Xi,kyk , jYk , j注:分别对铁路网和公路网建立距离矩阵,利用 Floyd 算法计算各自的邻接矩阵。C1l价格i, j借助复杂的铁路网和公路网到指定地点。故将第 i 个钢厂到第j价格C1和公路价格C细分为铁路个节点i, ji, j执行阶梯价格C1 = f (x ) :价格C 2。根据题意铁路i, ji, j1i, jx £ 300300<x £ 500350<x £ 400ì20
13、9;24ïï27ïf ( x) = í.C =1ï60900<x £ 1000ïï60 + 5æ é x -1000 ù +ö1÷ x>1000ïç êëúû100èøî注: x公路表示函数;价格C 2 :f2 ( y ) = 0.1× y价格Ci, j :C 2 =综上,第 i 个钢厂到第 j 个节点C(x , y= C+ C 2 = f (x ) +
14、f ( y)1i, ji,kk , ji, ji j1i,k2k , j注:k 根据(i, j ) 唯一确定,即(i, j ) ¾m¾inC¾® k 。成本T根据前面的简化,l成本 T 有可分为钢厂(S)施工沿线节点(A)的成本T SA 和施工沿线节点(A)施工沿线各点(Point)的成本T AP :T = T SA + T AP钢厂(S)施工沿线节点(A)的成本T SA :l6 15åå i, j i, jT=SAa Ci=1 j =1施工沿线节点(A)施工沿线各点(Point)的成本T APl每个节点都向 的两侧 , 定义向左的量
15、为 Lj (j = 1, 2,.,15) ,向右量为 Rj (j= 1, 2,.,15)。题目中给出管道施的f2 ( y ) = 0.1× y ,可价格C 2 =工沿线为公路,也就是满足公路中的AP以得到Tj的计算式:LjRj= å(1+ 2 + . + L ) × 0.1+ å(1+ 2 + . + R ) × 0.1T APjjji=1i=1可以近似表示成:()T AP= 0.05 L + R22jjj综合得到T AP 表如下:1515()åå=T= 0.05×L + RT APAP22jjjj=1j=1综上,
16、最小总费用目标函数W 表如下:6156 1515()minW = å(åa)p + ååaåjjC+ 0.05×L + R22i, jii, j i, ji=1 j=1i=1 j=1j=14.2.2 约束条件l供应量约束根据题意,各钢厂生产量的下限为 600;上限为 si :15= åai, j j=1(i = 1, 2,., 6)600 £ ti£ sil节点需求量约束每个节点(A)的需求量为左右侧的需量之和:6= å ai, j i=1= Lj + Rjbjl管道施工段需求量约束每段施工段所
17、需由两端点供应:(1 £ j £ 14)Rj + Lj +1 = DjL1 = 0, R15 = 0注: A1 ® A15 总共 15 个点组成 14 条线段。供需平衡约束l总供应量要与总需求量相等:6 1561514ååai, j i=1 j =1= åti = åbj i=1j =1= å Di, j j =14.2.3 综合模型根据 4.2.1 和 4.2.2,求解最小总费用的单目标模型如下:6156 1515()minW = å(åa)p + åå aåjj
18、C+ 0.05×L + R22i, jii, j i, ji=1 j =1i=1 j =1j =1ì600 £ t15= å(i = 1, 2,., 6)£ saïïii, jij =1ï6ïbj = åai, j= Lj + Rj ( j = 1, 2,.,15)i=1ï(1 £ j £ 14)s.t.íRj + Lj +1 = DjïL= 0, R = 0ï115ï6 1561514ïååai
19、, j= åti = åbj i=1j =1= å Di, j j =1ï i=1 j =1ïî4. 3 模型的求解4.3.1 求解步骤Step1:对图上各点进行标号,通过阵。利用 Floyd 算法计算距离矩Step2:从距离矩阵到价格矩阵。将价格矩阵导出到 Cdata.txt 文件中保存。Step3:将上述算。模型通过 Lingo 实现,并且Cdata.txt 中的数据用于计Step4:并分析结果。问题一的总费用最小化的计算流程图如下:计算邻接矩阵计算运输价格矩阵将数据导入 txt通过 Lingo 求解目标图 4-2 问题一的最小费
20、用模型的计算流程图4.3.2 数据预处理图中一共有 39 个点,铁路网有 24 节点,公路网有 32 个节点,共用(24+32-39=17)个节点。因为铁路和公路的计价规则不一样,所以我们分别建立铁路网和公路网的邻接矩阵 R24´24 , H32´32 (利用 Floyd 算法)。1615280S618S4160S313330401602022680S2705069070A155001250180110720520886242011A1410462910202S5A137572301150201042A125061254803A1119532031A103060A9680A
21、8A115010210452462010A711942054502A6A80A516067502A43A3311120图 4-3铁路网节点标号A2A1128141923213017下面给出代码铁路网领接矩阵 R(具体数据参见附录):function R = RailroadR = zeros(24,24);R(1,24)=450; R(2,24)=80; R(3,24)=1150; R(3,8)=1150; R(4,5)=3060; R(5,6)=195;R(6,7)=50; R(7,8)=202; R(8,9)=720; R(8,23)=1250; R(9,10)=520; R(9,22)=
22、690;R(10,19)=180; R(11,19)=88; R(11,20)=462; R(12,18)=70; R(13,15)=160;R(13,18)=330; R(14,15)=70; R(15,16)=280; R(16,17)=30; R(18,19)=160; R(19,21)=680;R = R + R' R(R=0)=inf;n = size(R); for i=1:nR(i,i) = 0; %对角线元素清 0End%*以下是 Floyd 算法*% for k = 1:nfor i = 1:nfor j = 1:nif R(i,j) > R(i,k) + R(
23、k,j)R(i,j) = R(i,k) + R(k,j);endendendendend161730280S6S4160S3153304016020680S27050136907014A15125018081105007203252088126211462420A1491010202S531A1375S12301150104222030A125073612480529A1119532031A103060A928680A8A2711501021042656202510A71194205450A6A80224A52360617502A4223A321311120A220A1图 4-4公路网节点标号
24、18公路网领接矩阵 H(具体数据参见附录): function H = HighwayH = zeros(32,32);H(1,19)=3; H(2,20)=2; H(3,21)=620; H(4,22)=10; H(5,23)=5; H(6,24)=10;H(7,24)=31; H(8,25)=12; H(9,26)=42; H(10,27)=75; H(11,28)=10; H(12,29)=10;H(13,30)=62; H(14,31)=110; H(15,31)=50; H(16,32)=20; H(17,32)=40; D=120, 311, 750, 606, 194, 205,
25、 210, 680, 480, 320, 220, 230, 420, 500;for i=18:31H(i,i+1) = D(i-17);endH = H + H' H(H=0)=inf;n = size(H); for i=1:nH(i,i) = 0; %对角线元素清 0end19%*以下是 Floyd 算法*% for k = 1:nfor i = 1:nfor j = 1:nif H(i,j) > H(i,k) + H(k,j)H(i,j) = H(i,k) + H(k,j);endendendendend® C1y® C 2根据函数 x和将 R, H
26、 矩阵到价格矩阵i, ji, ji, ji, jC1,C2 。以点到点最小体数据参见附录)。成本为目标,获得综合价格矩阵C(具代码如下clc;R = Railroad;H = Highway;n1 = size(R,1); n2 = size(H,1);C1=zeros(n1, n1); C2=zeros(n2, n2); %C1,C2 分别对应铁路和公路的格价Tiered_prices = 0, 20, 24, 27, 30, 32, 36, 45, 53, 58, 60; %阶梯价格dist = 0, 300, 350, 400, 450, 500, 600, 700, 800, 900,
27、 1000; %阶梯价格对应距离for i=1:n1for j=i+1:n1if(R(i,j) <= dist(end) %铁路里程在 1000km 之内;k=1;while R(i,j) > dist(k) k = k+1;C1(i,j) = Tiered_prices(k);endelse%铁路里程超过 1000km;C1(i,j) = Tiered_prices(end) + ceil( (R(i,j)-dist(end)/100 )*5;endendendC1 = C1 + C1' % C1(i,j)=C1(j,i) C2 = H.*0.1;%*以下计算 S1-S6
28、 到 A1-A15 的最小价格*%S = 7, 23, 22, 21, 20, 17; %R 中钢厂 S1-S6 对应的序号;A = 18:32; %H 中节点 A1-A15 对应的序号;C = ones(6,15) * 10000; %S1-S6 到 A1-A15 的最小价格for i = 1:6for j = 1:15for k = 1:17if C(i,j) > C1(S(i),k) + C2(k,A(j)C(i,j) = C1(S(i),k) + C2(k,A(j);endendendendfile1 = fopen('Cdata.txt','w'
29、);fprintf(file1, '%gt', C' );将 C 的结果导入到 txt 文件中,供后续的 Lingo 程序调用。Lingo 程序如下:LowCost_m1_1.lg4m:Title Lowest Cost; sets:factory/1.6/: s, p, t; node/1.15/: b, d, L, R; link(factory, node): a, c;endsetsdata:s = 1500,800,1500,2500,2800,3000; !产量上限; p = 150,160,155,150,155,155; !S1-S6的价格;d = 12
30、0,311,750,606,194,205,210,680,480,320,220,230,420,500,0; !A1-A15的分段距离;c = file('Cdata.txt'); !S1-S6到A1-A15的最低enddata价格;obj min = Q1+Q2+Q3;Q1 = sum(factory(i): t(i) * p(i) ); Q2 = sum(link: a*c );Q3 = sum(node(j): 0.5*(L(j)2+R(j)2)*0.1 );for(node(j): b(j) = sum(factory(i): a(i,j) ); !各节点的需求量;
31、的生产量;for(factory(i):for(factory(i): for(factory(i):t(i)t(i)t(i)=><sum(node(j): a(i,j) ); !各钢厂600 ); !各钢厂生产的产量下限;s(i) ); !各钢厂生产的产量上限;sum(link: a )=sum(node(j): d(j) ); !需求量等于生产量;for(node(j): b(j) = L(j)+R(j) ); !各节点向的需求量等节点左右两侧的需求量;for(node(j)|j#ne#15: R(j)+L(j+1) = d(j) ); !单侧需求量满足的关系式; L(1) =
32、 0; !最左侧节点的左边需求量为0;R(15) = 0; !最右侧侧节点的右边需求量为0;end4.3.3 求解结果将 4.2.3 的综合模型的数学描述转化成 Lingo 语言,求解得到:最小总费用W = 1246220() = 124.6220(亿元) ;采购成本 P = 805951.3() = 80.5951(亿元) ;T SA = 356983.9() = 35.6984(亿元) = 8.3285(亿元)成本;T AP= 83284.5(表 4-1铁路施工沿线各节点需求量表 4-2钢厂供应量钢厂序号123456供应量1500664.257907.743600600974序号(A)12
33、345678需要量0200507473606209285294序号(A)9101112131415需要量646366502181218381275矩阵 A = a6´15表 4-312314154.3.4 结论根据交通图和 4.3.3 的结果,得出如下结论:只有钢厂S1 达到供应上限(生产极限)。ü管道节点 A1 不需要供货, A1 ® A2 施工段全部由 A2 提供。üü离施工地点近的钢厂 S1, S3 , S6 供应量较大。施工长度较长的施工段 Ai ® Ai+1 的两端点 Ai , Ai+1 (至少其中一个)的需ü求量
34、较大,例如: A3 , A4 , A5 , A9 , A11 。4.3.5 分析u 钢厂在交通图中分布不均,东部没有,中部有5 家钢厂Si (i = 1, 2,.,5) ,西部一家S6 。 S1 离东部及部分中部施工段最近,主要供应中东部施工段,而且东部施工段需求量大,导致S1 达到供应上限。u 中部其他几家钢厂分别对应中部几处施工段,供需情况较为均衡。其中S2协助S1 供应中东部地区, S2 的生产能力最小(最多供应 800),但是没有达到供应上限的应该是 S2 厂的销价最高,在条件没有优势的10000020200246.25700300261.24300400000500000600038
35、1375施工段应该应该尽量减少对 S2 的需求。u 西部虽然只有一家钢厂 S6 ,但是生产能力最大(3000),而西部需求量却在 1000左右,所以供应情况比较乐观。u 对铺设管道长度较长的施工段倾向于两端点同时供应的解释:Rj + Lj +1 = Dj (j=1,2,.,14)L1 = 0andR15 = 015åT AP= 0.05(L + R )22jjj =1在不考虑其他因素的情况下,我们知道T AP 取得最小值的条件是:Lj+1 = Rj( j = 1, 2,.,14)上式意味着施工段两端点的对该段的供应量应该相等,但是实际上由于到达两端点的钢材因为销价和成本不相等的关系,
36、往往得不到 Lj +1 = Rj 这种形式的结果,但是会存在这种平均分配的趋势。4.4 模型二的建立4.4.1 模型一存在的一个缺陷的分为两大步,第一步是从钢厂 S模型一是将到各个管道施到管道沿线各处位置 Point。工节点 A ,第二步是从各个管道施工节点 A 这样做在第一步到第二步的过程中可能会出现示:(成本)浪费,如图所图 4-5题目图一的局部示意图来自钢厂 S5 ,然后这批钢材回向 A12 的两侧A12 的部分,过程中会出现钢材向左侧管道施工段,这里就出现的了的冗余,造成了多余的成本。下面建立模型二来解决这个弊端。4.4.2 目标函数因此,在改进模型一的基础上,我们建立点到点的。即将总
37、长为14D = å Dj = 5246km 的管道拆分成 5246 小段 1km 的施工段。这样改进的目的j =1就是为了避免的往复。æ a1,1a1,5246 öa1,22,2.ç a÷a.aA' = ç2,5246 ÷2,1ç÷.ç a÷a.aè6,5246 ø6,16,2ai, j 表示第 i 个钢厂向第 j 小段的钢材量。各钢厂的供应量ti 如下:5246= å ai, j j =1til 采购成本 P采购成本的计算方式同模型一类似:652
38、46P = å(å ai, j )pii=1j =1价格Ci, j钢厂往第 j 小段l的过程中,相邻的Ci, j 之间可能会相差 0.1,这里的Ci, j 的计算比前面稍微复杂。首先,我们计算出各节点在全部路段的序号 Nk :k -1Nk = å Dk +1i=1(k = 2, 3,.,15)注: Nk 为节点 Ak 对应的序号,记 N1 =1,然后对节点间距 Dk 用累加的方式即可得到节点在所有小段中的序号。往管道总线上的任意一点一个。所以我们也得到了Ci, j 的计算表,必须结果离该点最近的两个端点中的:= min(0.1×( j - NkCi, j
39、j Î( Nk , Nk +1 总价格T(k = 1, 2l6 5246T = åå ai, jCi, j i=1 j =1总费用Wl65246minW = å(aii=1j=14.4.3 约束条件l供应量约束根据题意,各钢厂生产量的下限为 600;上限为 si :5246= å ai, j j =1(i = 1, 2,., 6600 £ ti£ sil需求量约束各段需求量bjº 1( j = 1, 2,.,5246) ,约束如下:6å ai, j i=1= bj = 1( j = 1, 2, 5246l
40、供求平衡约束总供应量要与总需求量相等:6 524665246åå ai, j i=1 j =1= åti = åbj = 5246i=1j =1l整形约束将总管道分成 5246 份,结果这样细分之后,我们可以可以认为每一段上面的来自同一钢厂,结合需求约束得出如下结论:(i = 1, 2,., 6ai, j = 0 or 14.4.4 综合模型通过对原始问题的仔细研究,可以人为模型二是对原始问题的精确描述, 理论上是可以求出原始问题的全局最优解。模型如下:ï6íå= bj = 1(s.t.ai, ji=ï6 5246
41、6ïåå ai, j= åti =ï i=1 j =1i=1or 1(ii, j = 0ïî4.5 模型二的求解4.5.1 求解步骤求解步骤同 4.3.1,这里不再赘述。4.5.2 数据预处理导出的相同数据,处理方法同 4.3.2。利用模型一中Lingo 程序如下:LowCost_m2_1.lg4m:Title Lowest Cost; sets:factory/1.6/: s, p, t; node/1.15/: sum; link(factory, node): c; col/1.5246/; point(factory
42、,col):a, z;endsetsdata:s =p = sum1500,800,1500,2500,2800,3000; !产量上限;150,160,155,150,155,155; !S1-S6的价格;=0,120,431,1181,1787,1981,2186,2396,3076,3556,3876,4096,4326,4746,5246; !D1-D14的累计距离;c = file('Cdata.txt'); !S1-S6到A1-A15的最低价格;enddataobj min = Q1 + Q2;Q1 = sum(factory(i): sum(col(j): z(i
43、,j) * p(i) ); !采购成本;Q2 = sum(point:a*z );!成本;for(factory(i): for(factory(i): for(factory(i):for(factory(i):t(i) =t(i) >con2sum(col(j): z(i,j) ); 600 ); !各钢厂生产的产量下限;t(i) < s(i) ); !各钢厂生产的产量上限;for(node(j)|j#ne#15:for(col(k)|k#gt#sum(j)#and#k#le#sum(j+1):a(i,k) = smin( (k-sum(j)*0.1+c(i,j),(sum(j
44、+1)-k)*0.1+c(i,j+1) ) ) ) ); !各微段取最近距离;for(col(j): sum(factory(i): z(i,j) = 1 ); !各微段长度笔来自某一个钢厂;end注:运行程序的 Lingo 软件必须为运行会因为内存不够报错。版,对内存占用的限制较小,否则4.5.3 求解结果最小总费用W = 1246108(采购成本 P = 805630.0(成本T = 440477.9() = 124.6108(亿元);) = 80.5630(亿元);) = 44.0478(亿元);表 4-4钢厂供应量注:矩阵数据量庞大,故不在文中列出,以 Lingo 报告格式的形式保存在
45、程序文件夹中。4.5.4 结论我们得到了与模型一结果类似的结论:钢厂序号123456供应量1500600971600600975ü只有钢厂S1 达到供应上限(生产极限)。ü离施工地点近的钢厂 S1, S3 , S6 供应量较大。ü钢厂S2 , S4 , S5 供应量均处于一种供应下限的形式,如果没有 600生产下限的约束,这三家供应到生产上限)。量可能被另外两家部分替代(有一家已经达ü最小总费用结果较模型一有所。4.5.5 分析u 模型二的结果理论上应该是本问题原始情况下的最优解,而模型一是对初始模型简化后的结果。所以模型二的结果优于模型是必然现象。4.
46、6 两个模型的比较经过前面建模过程的分析,我们可以做出如下结论:模型二是对原问题初始情况下的解决,而模型一是对初始模型的简化,也可以视为对模型二的近似。4.6.1 费用比较表 4-5 模型一、二总费用及具体费用比较在总费用和采购成本上模型二优于模型一,但是在成本上模型二的结果竟然比模型一要多。而事实上,我们在建模过程中,模型二对于模型一的主要优势在于对成本上的优化。而求解的结果却与预想的结果相反。u 对此做出的解释是:模型的求解目标是总费用的最小化,而不是费用的最小化,模型对成本的优化影响到了整体的调配方案,是起到了优化结果的目的,但是在求解结果的过程中,局部必须服从与整体。以局部的小牺牲换取
47、整体更大的利益。模型二的优化不是没有产生作用,只不过模型一模型二总费用(亿元)124.6220124.6108采购成本( 亿元)80.662980.5630成本( 亿元)43.959044.0478被全局方案的变动覆盖掉了。对模型进行进行量化比较,可以量化模型一的求解准确度(模型二已经是精确解)。模型一的求解误差e 如下e = W1 -W2 ´100% = 9´10-3%1%W2由此可见,模型一的简化的有效的,准确的。4.6.2 钢厂供应方案的比较表 4-6 模型一、二钢厂供应量比较钢厂S1, S4 , S5 的供应量不变,钢厂 S6 增加了一,可忽略不计。主要变化的是钢厂
48、S2, S3 ,变化量几乎相等。u 结合网状图和相关数据可知, S3 比 S2 有价格上的优势,而且 S3 往中部地区比S2 有距离上的优势,两座钢厂相距较近,在方式化整为零后,综合两项优势,S2 的部分供应量会被S3 替代是理所应当的。但是 S2的供应量存在供应下限(600),所以S2 的供应量保持在 600 不再减少。4.6.3 程序复杂度比较u 空间复杂度比较:模型一的 Lingo 代码离矩阵是6´5246 的矩阵,模型二占用内存为 47KB,由于距占用内存 9227KB,远高于模型一的内存占用。很容易超出 Lingo 内部对程序内存占用的极限,导致程序无法正常运行求解或者求解
49、到一半报告内存占用过大而终止程序。这是模型二的一大劣势。u 时间复杂度比较:模型一程序在 1s 内(781)更找出全局最优解并终止程序。模型二在 2s 内(6785)找出全局最优解。模型一钢厂序号123456供应量1500664.257907.743600600974模型二钢厂序号123456供应量15006009716006009754.6.4 比较结果我们对模型一、二更加本质的理解就是划分精度的不同,模型一可视为对总长为 5246 的管道划分成不等长的 14 段,而模型二就是将总管道分成 5246 段。划分得越仔细,求解的精度越高。总结前面的比较,模型二在求解精度上不存在大的优势,但是在程
50、序复杂度方面劣于模型一,所以可以认为模型一要比模型二好。问题二、三、四的求解是都基于模型一的。五、问题二的建模与求解5.1 问题分析找出对购和总费用影响最大的钢厂销价和产量上限,即找出不同钢厂的销价和产量对购和总费用影响的价格。总费用的变化,Lingo 在求解过程中求解某些变量的价格,所以可以直接在问题一的模型上稍作修改,即可找出对总费用影响最大钢厂价格和产量上限。对于运购计划的变化,首先定义运购计划变化程度的函数,用变量法一次改变一个变量,建立运购计划变化程度函数量化评估,找出对总费用影响最大的钢厂价格和产量上限。定义运购计划变化程度函数对模型一的 Lingo程序稍作修改直接利用 Lingo
51、求解结果变量法量化比较,得出结果图 5-1问题模流程图运购计划影响总费用影响5.2 问题二的建模5.2.1 钢厂销价对总费用影响程序初始输入价格参数是固定值,不可变的,就无法进行价格的计算。所以这里引入一个“虚价格为变量 fake _ pi(“虚”价格的概念,即解除钢厂价格的为定值的约束,令”价格),然后令原始价格 pi (i = 1, 2,., 6)为变量fake _ pi 的下限:(i = 1, 2,., 6)fake _ pi ³ pi价格定值转变成变量后,Lingo 就可以直接计算出其价格。同时也可以保证 fake _ pi 一定会收敛与 pi 而导致问题一、二前后结果不一致。5.2.2 钢厂产量上限对总费用的影响钢厂产量ti 在模型一中已经是变量了,故不需要其他操作。5.2.3 钢厂销价对运购计划的影响定义运购计划变化程度的函数为:6P = å ti - ti 0i=1注: ti (i = 1, 2,., 6) 为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广场化粪池建设协议
- 文化旅游董事长聘任合同
- 内蒙古信息安全招投标实施要点
- 办公园区绿化施工总承包合同
- 2025房屋建筑工程劳务分包合同范本
- 2024年度土地租赁与文化旅游项目开发合同3篇
- 2025桩机租赁合同范本
- 2024年度美国市场食品销售合同2篇
- 2024年度二零二四版职工食堂食品安全管理体系承包合同2篇
- 2025专利服务合同模板
- 河北钢铁集团沙河中关铁矿有限公司矿山地质环境保护与土地复垦方案
- 《交通事故应急预案》课件
- 创伤急救理论知识考试试题及答案
- 创意营造学智慧树知到期末考试答案2024年
- (带附件)建筑工人劳务合同
- 急诊分诊流程和分诊标准课件
- 新疆的若干历史问题
- 文化认同与中华民族共同体建设
- 香港大学邀请函
- 成为一名精神科医生的职业规划
- 医院设计投标文件
评论
0/150
提交评论