运筹学整数规划和分配问题新.pptxVIP

  • 2
  • 0
  • 约4.39千字
  • 约 69页
  • 2022-03-31 发布于上海
  • 举报
1;;不考虑整数要求时, 最优解为: X=(3.25 ,2.5)T Z=13 (见下页图解法) 考虑整数要求时,最优解为:X=(4 ,1)T Z=14 凑整 (3,2)可行,非最优,Z=13。 (4,3),(4,2),(3,3) 不可行;第3页/共69页;二、整数规划的分类 1. 全整数线性规划 决策变量全部取整数,约束系数和约束常数项也取整数的整数线性规划。 2. 纯整数线性规划 决策变量全部取整数,约束系数和约束常数项可取非整数的整数线性规划。 纯整数线性规划可化为全整数线性规划。 3. 混合整数线性规划 决策变量中有一部分取整数值,另一部分可取非整数值的整数线性规划。 4. 0-1整数线性规划 决策变量只能取0或1的整数线性规划。;三、0-1变量(或称逻辑变量)在模型中的应用 整数规划模型对研究管理问题有重要意义。很多不能归结为线性规划数学模型的管理问题,却可以通过设置逻辑变量建立起整数规划数学模型。;第6页/共69页;第7页/共69页;第8页/共69页;第二节 分配问题(指派问题)与匈牙利法 2-1 问题的提出及数学模型 假设有m项任务分配给m个人去完成,并指定每个人完成其中一项,每项任务也只由一个人完成,问应如何分配任务,才能使总效率最高?(或总费用最少,花费的总时间最少等等。) 设每个人完成不同任务的耗费见下面的效率矩阵,通常要求aij≥0。;第10页/共69页;则分配问题的数学模型为;2-2 匈牙利法 定理1.如果从分配问题效率矩阵(aij)的每一行元素中分别减去(或加上)一个常数ui (称为该行的位势);从每一列中分别减去(或加上)一个常数 vj (称为该列的位势);得到一个新的效率矩阵bij,其中bij= aij - ui - vj ,则aij的最优解等价于bij的最优解。 定理2. 若效率矩阵A的元素可分成0与非0两部分,则覆盖所有0元素的最少直线数等于位于不同行不同列的0元素的最大个数。;第13页/共69页;匈牙利法的步骤: 第一步 效率矩阵每行都减去该行的最小元素; 第二步 效率矩阵每列都减去该列的最小元素; 此时,效率矩阵的每行每列都有0元素。;第三步 寻找位于不同行不同列的0元素,也就是寻找能覆盖所有0元素的最少直线数。 方法: 1. 从只有一个0元素的行开始,对0元素打上( )号,然后对打( )的0元素所在列画一条直线,依次进行到最后一行; 2. 从只有一个0元素的列开始,对0元素打上( )号, 然后对打( )的0元素所在行画一条直线,依次进行到最后一列;;3. 重复1.、2.两个步骤,可能出现三种情况: (1)若能找到m个位于不同行不同列的0元素(即带( )的0元素),则令(0)处的xij=1,求解结束; (2)若有形成闭回路的0元素,则任选一个打( ),然后对每个间隔的0元素打( ),同时对打( )的0元素所在行(或列)画一条直线。 (3)若位于不同行不同列的0元素[即带( )的0元素]少于m,转第四步。 ;第四步 为产生m个位于不同行不同列的0元素,用定理一对效率矩阵进行调整,使之生成新的0元素。方法: 1. 在效率矩阵未被直线覆盖的元素中找出最小元素k; 2. 效率矩阵未被直线覆盖的行都减k; 3. 效率矩阵被直线覆盖的列都加k; 4. 转回第三步。;2-3 特殊情况的处理 1. 人数多于任务数,加虚拟任务。 设有n人,m项任务,n>m,则增加n-m项任务。 2. 人数少于任务数,加虚拟人员。 设有n人,m项任务,n<m,则增加m-n项任务。;此时,效率矩阵的元素全成为负值,不符合要求,根据定理1,令 变换后的效率矩阵每行都加M即可。;作业:(a) 4.8(a) 第三节 分枝定界法 一、分枝定界法的基本思想 先不考虑整数解的限制,用单纯形法求解其松弛问题,如果求得的解恰好是整数解,则得整数规划最优解,停止计算。否则,将松弛问题分解为两个子问题(也称后继问题),每个子问题都是在原松弛问题的基础上增加一个变量取整数的约束条件,这样就缩小了原来的可行域,然后用单纯形法求解,直至得到最终结果。;二、分枝定界法的步骤(最大值问题) 第一步 寻找替代问题并求解 设原整数规划问题为IP,其松弛问题为L0。用单纯形法求L0,若L0无可行解,则IP也无可行解,计算停止。若求得L0为整数解,则得IP的最优解,停止。否则,转下一步; 第二步 分枝与定界 在L0的解中,任选一个不满足整数条件的变量xi,设xi = bi ,则做两个子问题; 不考虑整数条件,用单纯形法求解两个子问题,若得整数解或子问题的最优值小于前面分支中已计算得到的所有整数解的

文档评论(0)

1亿VIP精品文档

相关文档