各边流量不大于容量2流量平衡约束-Read课件_第1页
各边流量不大于容量2流量平衡约束-Read课件_第2页
各边流量不大于容量2流量平衡约束-Read课件_第3页
各边流量不大于容量2流量平衡约束-Read课件_第4页
各边流量不大于容量2流量平衡约束-Read课件_第5页
已阅读5页,还剩102页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

最小费用流问题最小费用流问题例、最小费用流问题目标:从发点到收点的总的流量费用最小约束:1)容量约束,各边流量不大于容量

2)流量平衡约束,各点进出流量总和相等

3)从发点到收点的总流量为括号内第一个数字是容量,第二个是单位流量费用例、最小费用流问题目标:从发点到收点的总的流量费用最小约束最小费用流问题的一般提法容量网络的每边另外赋值非负的单位流量费用,记为,给定从到的总流量,要求一个总流量等于的可行流使得总费用达到最小,特别是,如果给定总流量等于最大流,所求问题称为最小费用最大流问题最小费用流问题的一般提法容量网络下例中可行流要满足的流量平衡约束中间节点:发点:收点:下例中可行流要满足的流量平衡约定义:从发出的所有边的终节点指标集合

:进入的所有边的始节点的指标集合如下图:定义:从发出的所有边的终节点指再用表示的净发出流量,即流量平衡约束可统一写成再用表示的净发出流量,即流量平衡约束可统网络的最小费用流问题是一种特殊的线性规划问题网络的最小最小费用流问题的对偶目标函数对偶目标函数其中是的分量,表示容量约束最小费用流问题的对偶目标函数对偶目标函数其中是各边流量不大于容量2流量平衡约束-Read课件各边流量不大于容量2流量平衡约束-Read课件最小费用流问题的松弛条件和满足松弛条件满足容量约束最小费用流问题的松弛条件和满足松弛条件满足容量约束最小费用流问题的松弛定理:则是原问题最优解,是对偶问题最优解如果可行流和对偶变量满足松弛条件由弱对偶定理可知结论成立证明:满足松弛条件可行流最小费用流问题的松弛定理:则是原问题最优解,是利用松弛定理解决最小费用流问题的途径1)产生一对满足松弛条件和所有中间节点的流量平衡条件的,的总流量不大于,例如,2)如果也满足收点和发点的流量平衡条件(总流量为),已是原问题的最优解3)如果不满足发点和收点的平衡条件,那么在满足1)的条件的前提下改进,使其流量增加如何完成3)的任务?利用松弛定理解决最小费用流问题的途径1)产生一对满足松弛条件如何增加流量?已知条件:(满足所有中间节点的流量平衡条件和容量约束)

是最大流的充要条件(增广链定理):不存在关于的可增广链可以采用的方法:是最大流问题的一个可行流寻找关于的可增广链,如果找不到,已经是最大流,原问题不可行,否则增加流量如何增加流量?已知条件:(满足所有中间节点的流量平衡条件和容如果沿该增广链增加流量,由容量约束知由于增加后的总流量为,应满足所以最终选用的流量增加值应该为假设是从到关于的可增广链,用表示其前向边的集合,表示后向边的集合,用表示当前的总流量如果沿该增广链增加流量,由容量约束知由于增加后的总流量调整前后原目标函数的改变为是沿增加单位流量的费用,称为的费用,显然应该选择费用最小的可增广链增加总流量记沿对进行调整获得新的流量,则流量调整前后原目标函数的改变为是沿增根据前面的讨论可形成下面的最小费用流算法:1)令2)如果,停止,否则求出费用最小的可增广链(如果没有可增广链,停止)3)令

4)用替换,替换,回到2)根据前面的讨论可形成下面的最小费用流算法:1)令对前面的最小费用流算法要解决的问题1)实现问题如何方便地求出费用最小的可增广链?2)理论问题算法停止于时所产生的是否是最小费用流问题的解?对前面的最小费用流算法要解决的问题1)实现问题2)理论问题对第一个问题的解决方法情况1)如果出现在某个可增广链中,一定属于该链的前向边,此时如果把转换成从到的下述道路任取,其只会是以下三种情况之一1),2),3)那么构成路长的一部分,就象构成的一部分一样对第一个问题的解决方法情况1)如果情况2)如果出现在某个可增广链中,一定属于该链的后向边,此时如果把转换成从到的下述道路那么构成路长的一部分,就象构成的一部分一样情况3)此时既可能属于前向边,也可能属于后向边,所以上述两种可能的等价转化方式都应该保留情况2)如果出现在某个可增广链总结前面讨论,可以把容量网络的每条边按以下规则等价转换成长度网络(求最短路的网络)中的边如果如果如果然后求长度网络的最短路确定最小费用可增广链总结前面讨论,可以把容量网络的每条边按以下规如果如果如果然后例长度网络由于有小于零的权值,要用值迭代法求最短路例长度网络由于有小于零的权值,要用值迭代法求最短路对长度网络的改进简化成本定义从到关于的可增广链的长度对长度网络的改进简化成本定义从到关增广链上任意中间节点的三种可能情况可以用代替生成计算最小费用的可增广链增广链上任意中间节点的三种可能情况可以用用代替计算最小费用的可增广链的好处和满足松弛条件最短路网络无负数,可用Dijkstra算法用代替计算最小费用的可增广链的好处对第二个问题的回答那么存在对偶变量和一起满足松弛条件定理如果下述条件满足:1)满足所有中间节点的流量平衡条件2)存在对偶变量和一起满足松弛条件3)是从到关于的最小费用可增广链4)沿对按前面的算法调整获得一旦证明了上述定理,马上可以说明前面的最小费用流算法或者能够证明没有可行解,或者能够给出最优解对第二个问题的回答那么存在对偶变量和一对用生成的长度网络的每个,用表示从到的最短路,如果从到没有道路,令,用表示最小费用增广链及其前向和后向边,由最小费用增广链的定义可知定义如下下面说明,这样定义的和一起满足松弛条件,从而完成对前面定理的证明对用生成的长度网络的每个,用首先可以看出(反证)所以,如果能够证明上面条件成立,就可完成证明首先可以看出(反证)所以,如果能够证明上面条件成立,就可完成首先考虑的情况,又要分别考虑两种情形1)首先考虑的情况,又要分别考虑两种2)(不一定在增广链上)对的情况可类似证明2)(不一定在增广链上)对的情况可类利用对偶变量的最小费用流求解算法1)令2)如果,停止3)令,构造长度网络4)求出从到每个的最短路长,如果到某个没有最短路,令5)如果,停止(没有可增广链)6)利用从到的最短路和所有的修改原变量和对偶变量,并用修改后的数值替换原来的数值,同时修改总流量,然后回到2)利用对偶变量的最小费用流求解算法1)令例求总流量为10的

最小费用流令,长度网络为例求总流量为10的令求得增广链(红线)和所有的(括号内的数)求出()求得增广链(红线)和所有的(括号内的数)求出利用可增广链调整流量利用可增广链调整流量第一次迭代后的信息均在下图中,其中顶点后的数是对偶变量值,容量和费用对下面的数据对是流量简化成本可验证松弛条件第一次迭代后的信息均在下图中,其中顶点后的数可验证松弛条件利用上图构造长度网络图利用上图构造长度网络图求得增广链(红线)和所有的利用求出求得增广链(红线)和所有的利用求出利用可增广链调整流量利用可增广链调整流量第二次迭代后的信息可验证松弛条件第二次迭代后的信息可验证松弛条件利用上图构造长度网络利用上图构造长度网络求得增广链(红线)和所有的利用求出求得增广链(红线)和所有的利用求出利用可增广链调整流量利用可增广链调整流量第三次迭代后的信息可验证松弛条件由于总流量等于10已经满足约束,所以是最优解第三次迭代后的信息可验证松弛条件由于总流量等于10已经满足约运输问题运输问题运输表描述产地销地产量销量运输表描述产地销地产量销量运输问题的图描述产地销地产量销量在流量平衡和非负约束下极小化总的运输费用运输问题的图描述产地销地产量销量在流量平衡和非负约束下极小化产销平衡运输问题的数学规划模型(线性规划问题)产销平衡假定:产销平衡运输问题的数学规划模型(线性规划问题)产销平衡假定:有可行解有可行解最后一个约束多余,等式约束可写成共有个等式约束最后一个约束多余,等式约束可写成共有注意:其中列向量表示模型注意:其中列向量表示模型例产地销地产量销量例产地销地产量销量图表示图表示产生基本可行解产生基本可行解如果一组变量(红线表示)形成回路在中令其他变量等于0如果一组变量(红线表示)形成回路在如果一组变量(红线表示)不含回路在中令其他变量等于0如果一组变量(红线表示)不含回路在上述第一种情况的运输表产地销地产量销量上述第一种情况的运输表产地销地产量销量上述第二种情况的运输表产地销地产量销量上述第二种情况的运输表产地销地产量销量结论:运输问题一组变量的系数线性无关的充要条件是在图或表中不含有回路基本可行解的个数结论:运输问题一组变量的系数线性无关的充要条件是在图或表中不用最小元素法产生基本可行解基本思想:优先安排单位运输成本最小的运输方式产地销地产量销量用最小元素法产生基本可行解基本思想:优先安排单位运输成本最小产地销地产量销量产地销地产量销量产地销地产量销量产地销地产量销量产地销地产量销量产地销地产量销量产地销地产量销量产地销地产量销量产地销地产量销量最后删除两个约束不会形成回路每次删除一个约束(节点)变量产地销地产量销量最后删除两个约束不会形成回路每次删除一个约束产生基本可行解等价于在运输图中生成一个支撑树由流量平衡方程依次可得对应的可行流产生基本可行解等价于在运输图中生成一个支撑树由流量平衡方程依计算检验数计算检验数回忆检验数计算公式令(对偶变量)回忆检验数计算公式令(各边流量不大于容量2流量平衡约束-Read课件产地销地产量位势行位势列销量利用运输表解对偶变量(位势法)产地销地产量位势行位势列销量利用运输表解对偶变量(位势法)产地销地产量位势行位势列销量产地销地产量位势行位势列销量产地销地产量位势行位势列销量产地销地产量位势行位势列销量产地销地产量位势行位势列销量利用对偶变量计算检验数(视)产地销地产量位势行位势列销量利用对偶变量计算检验数(视改进基本可行解改进基本可行解产地销地产量销量已知以下基本可行解和负的检验数让进基(取值大于零)可改进基本可行解产地销地产量销量已知以下基本可行解和负的检验数让由于基本可行解形成一个支撑树,加入任何非基变量一定和某些基变量形成回路加入形成回路由于基本可行解形成一个支撑树,加入任何非基变量一加入产地销地产量销量在和基变量形成的回路中,让基变量依次减少或增加的增加值,可保持等式约束满足产地销地产量销量在和基变量形成的回路中,让基变量依产地销地产量销量取,可得下面新的基本可行解出基,目标函数等于原目标值加上产地销地产量销量取算法总结1)用最小元素法确定一个基本可行解2)用位势法计算所有非基变量的检验数3)如果所有检验数不小于零,已得最优解,否则找出最小检验数对应的非基变量以及与其形成回路的基变量,据此确定相应非基变量的增加值以及回路基变量的新值,然后回到上一步继续迭代算法总结1)用最小元素法确定一个基本可行解总产量大于总销量(产销不平衡)的运输问题优化模型处理办法引入假想销地总产量大于总销量(产销不平衡)的运输问题优化模型处理办法引入优化模型往假想销地的运量没有成本定义假想销地的销量优化模型往假想销地的运量没有成本定义假想销地指派问题指派问题例

开办五家新商店,要五家建筑公司分别承建,各公

司营造费用报价如下,如何指派使总造价最小商店费用报价公司例开办五家新商店,要五家建筑公司分别承建,各公商店费用标准指派问题的一般提法有件事要个人完成,每人做一件事,已知第个人做第件事的成本是,要确定人和事之间一对一的指派方案,使完成这件事的总费用最小称为指派问题的系数矩阵标准指派问题的一般提法有件事要个人完成定义整数规划模型定义整数规划模型产地销地产量销量标准指派问题是一个特殊的产销平衡运输问题产地销地产量销量标准指派问题是一个特殊的产销平衡运输问题当且仅当一组变量不含回路时,其对应的系数矩阵的列向量线性无关推论一组线性无关的系数向量对应的变量中,至少有一个变量所在行或列没有其它基变量在运输问题的讨论中已得出下面的结论推论运输问题的基变量取值一定等于产量或销量或它们的差或它们的差的差当且仅当一组变量不含回路时,其对应的系数矩阵推论一组线性无关产地销地产量销量例推论产量和销量都是非负整数的运输问题的基本可行

解的每个分量一定是非负整数产地销地产量销量例推论产量和销量都是非负整数的运输问题推论下述运输问题的基本可行解满足0-1约束!产地销地产量销量推论下述运输问题的基本可行解满足0-1约束!产地销地产量结论不用考虑0-1变量约束!求解下述运输问题可得标准指派问题的解结论不用考虑0-1变量约束!求解下述运输问题可得标准指派问题尽管可以用求解运输问题的算法求解标准指派问题,由于存在大量的退化解,经常出现换基不能改进目标函数的情况,这种做法效率不高进一步挖掘标准指派问题的特点可以获得更加有效的算法,这就是所谓的匈牙利算法尽管可以用求解运输问题的算法求解标准指派进一步挖掘标准指派问标准指派问题的第一个有用的性质任取和任意实数,用和分别表示将的第行或第列减去以后得到的系数矩阵,则以,或为系数矩阵的指派问题的最优方案相同理由:目标函数差一个常数,约束相同,最优解也相同标准指派问题的第一个有用的性质任取标准指派问题的第二个有用的性质如果的所有元素中没有负数,且存在个行列号都互不相同的零元素(简称为独立零元素),那么对应的标准指派问题的最优目标值等于零,最优方案可以由独立零元素的位置确定例如最优解标准指派问题的第二个有用的性质如果算法设想(匈牙利算法)一、利用第一个性质产生独立零元素二、对给定矩阵找到最大的独立零元素组三、当最大的独立零元素组的零元素数目不够

时增加独立零元素的数目通过以上步骤的迭代找到足够的独立零元素算法设想(匈牙利算法)一、利用第一个性质产生独立零元素通过以例一、顺序对每行每列减去最小值产生零元素例一、顺序对每行每列减去最小值产生零元素1)用红圈标出一些某行或某列仅有的零元素,再通过行列交换把这些零换到左上角(后者非必须)行交换二、对给定矩阵找到最大数目的独立零元素组列交换1)用红圈标出一些某行或某列仅有的零元素,再行交换二、对2)在没有红圈的右下角如果有零,一定是新的独立零元素3)用直线覆盖红圈所在行2)在没有红圈的右下角如果有3)用直线覆盖红圈所在行4)在直线未覆盖处找零,如果没有零停止,否则会出现以下两种情况,其中黑实圈圈住的是新零情况二情况一4)在直线未覆盖处找零,如果没有零停止,否则情况二情况一两种情况的处理方法两种情况的处理方法前面第一种情况后可能发生的另外一种情况例未覆盖的黑圈所在列的红圈所在行存在没有列直线覆盖的零,和前面的第二种情况一样,但是该黑圈所在行有红圈,不能将该零选为独立零元素此时要覆盖剩下的零必须加直线前面第一种情况后可能发生的另外一种情况例未覆盖的黑圈所在列的这种情况也一定能够增加独立零元素理由:新选零未被行直线覆盖,而该行有红圈,红圈一定被列直线覆盖,其所在列一定有黑圈(记

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论