北京吉利大学GM1000倪健毓1运输问题的解决方法一、问题背景:这类问题的典型提法是,为了把某种产品从若干个产地调运到若干个销地,已知每个产地的供应量和每个销地的需求量,如何在许多可行的调运方案中,确定一个总运输费或总运输量最少的方案。运输型问题具有上述特点的线性规划问题通常被称为运输型问题。现已发现的运输型问题有以下6类:①一般运输问题,又称希契科克运输问题,简称H问题。②网络运输问题,又称图上运输问题,简称T问题。③最大流量问题,简称F问题。④最短路径问题,简称S问题。⑤任务分配问题,又称指派问题,简称A问题。⑥生产计划问题,又称日程计划问题,简称CPS问题。其中一般运输问题、任务分配问题和生产计划问题通常都可以用表上作业法求解,而网络运输问题、最大流量问题和最短路径问题一般可用图上作业法或网络技术求解。对于规模不太大的运输问题可用图上作业法或表上作业法求解。生产、生活物资从若干供应点运送到一些需求点,怎样安排输送方案使运费最小,或利润最大;各种类型的货物装箱,由于受体积、重量等限制,如何搭配装载,使获利最高,或装箱数量最少往往都要用到运输问题。二、例题:某架货机有三个货舱:前仓、中仓和后仓。三个货舱所能装载货物的最大重量和体积都有所限制,如下表所示,并且,为了保持飞机的平衡,三个货舱实际装载的重量必须与允许最大的重量成比例。表2-1三个货舱最大允许装载的货物的重量和体积前仓中仓后仓重量限制(吨)10168体积限制(3米)680087005300北京吉利大学GM1000倪健毓2现有四类货物供该货机本次飞行装运,其有关信息如表2-2,最后一列指装运后所获得的利润。表2-2四类装运货物的信息重量(吨)空间(米3/吨)利润(元/吨)货物1184803100货物2156503800货物3235803500货物4123902850应如何安排装运,使该货机本次飞行获利润最大?模型假设:问题中没有对货物装运提出其它要求,我们可作如下假设:1)每种货物可以分割到任意小;2)每种货物可以在一个或多个货舱中任意分布;3)多种货物可以混装,并保证不留空隙。模型建立:决策变量:用xij表示第i种货物装入第j个货舱的重量(吨),货舱j=l,2,3分别表示前仓、中仓、后仓.决策目标是最大化总利润,即MaxZ=3100(x11+x12+x13)+3800(x21+x22+x23)+3500(x3l+x32+x33)+2850(x41+x42+x43)(1)北京吉利大学GM1000倪健毓3约束条件包括以下4个方面:1)供装载的四种货物的总重量约束,即x11+x12+x1318(2)x21+x22+x2315(3)x31+x32+x3323(4)x41+x42+x4312(5)2)三个货舱的重量限制,即x11+x21+x31+x4110(6)x12+x22+x32+x4216(7)x13+x23+x33+x438(8)3)三个货舱的空间限制,即480x11+650x21+580x31+390x416800(9)480x12+650x22+580x32+390x428700(10)480x13+650x23+580x33+390x435300(11)4)三个货舱装入重量的平衡约束,即5)x11…x43这12个变量都为非负数才有实际意义,即x11…x43≥0(13)将(1)至(13)组合就得到了本次问题的的标准线性规划模型。11213141122232421016xxxxxxxx13233343(12)8xxxx北京吉利大学GM1000倪健毓4三、模型求解:3.1说明:线性规划为minfval=f*x(输入时f为行向量或列向量都行)s.tA*xb,Aeq*x=beq,lbxub设置linprog(f,A,b,Aeq,beq,lb,ub)中参数时,若后面全空缺可不写,中间有空缺时用[]代替,如linprog(f,A,b,[],[],lb),linprog(f,A,b)等.3.2matlab程序:f=-[310031003100380038003800350035003500285028502850];Aeq=[8-508-508-508-50;80-1080-1080-1080-10];beq=[00];A=[111000000000;000111000000;000000111000;000000000111;100100100100;010010010010;001001001001;48000650005800039000;04800065000580003900;00480006500058000390];b=[1815231210168680087005300];lb=zeros(12,1);[x,fval,exitflag,output,lambda]=linprog(f,A,b,Aeq,beq,lb)北京吉利大学GM1000倪健毓53.3运行结果:运行后,要知道结果,则Optimizationterminated.x=0.00000.00000.00008.62270.00006.37731.377312.94741.62270.00003.05260.0000fval=-1.2152e+005exitflag=1output=iterations:8algorithm:'large-scale:interiorpoint'cgiterations:0北京吉利大学GM1000倪健毓6message:'Optimizationterminated.'lambda=ineqlin:[10x1double]eqlin:[2x1double]upper:[12x1double]lower:[12x1double]实际上,不妨将所得最优解作四舍五入,结果为货物2装入前仓9吨、装入后仓6吨;货物3装入前仓1吨、装入中仓13吨、装入后仓2吨;货物4装入中仓3吨。最大利润约121500元.四、评注4.1本例在解题决时,为了简化问题引用了很多假设。但在实际问题中,往往这些假设只是理想状态,具体情况还需具体分析。4.2初步看来,本例与运输问题类似,似乎可以把4种货物看成4个供应点,3个货舱看成3个需求点(或者反过来,把货舱看成供应点,货物看成需求点)。但是,这里对供需量的限制包括两个方面:重量限制和空间限制,且有装载均匀要求。因此它只能看成是运输问题的一种变形和扩展!