1、编号 0809313 毕 业 论 文 ( 2012 届本科)题 目: 动态规划模型在指派问题中的应用 学 院: 数学与统计学院 专 业: 数学与应用数学 作者姓名: 景诚 指导教师: 李拓 职称: 副教授 完成日期: 2012 年 5 月 30 日二 一 二 年 五 月1动态规划模型在指派问题中的应用景诚 指导教师:李拓(河西学院 数学与应用数学专业 2012 届 3 班 13 号 甘肃张掖 734000)摘 要 本文利用动态规划的基本理论和方法, 考虑了两类一般的非标准指派问题 , 对它们进行了总结和归纳, 得出了一类更一般的非标准指派问题. 通过实例, 运用所建立的动态规划模型对其进行了求
2、解.关键词 动态规划; 多阶段决策问题 ; 指派问题; 目标函数.中图分类号 O224 Application of the Dynamic Programming Model in Assignment problemJing Cheng Instructor Li Tuo (NO.13,Class 3 of 2012.Specialty of Mathematics and Applied Mathematics ,Hexi University,Zhangye,Gansu,734000)Abstract: This paper using the basic theory and the
3、 Dynamic programming method considers the two kinds of generally non-standard assignment problem,summarizes and concludes them, finally it draws the conclusion that reaches a class of more general than standard assignment problem.Throughout the example, using the dynamic programming model gets its c
4、onclusion.Keywords: The Dynamic Programming Model; Multi stage decision problem; The Assignment problem; Objective function.1 引言动态规划是解决多阶段决策过程最优化的一种方法, 它是由美国数学家贝尔曼(Richard Bellman)等人在 1951 年提出来的, 他们针对多阶段决策问题的特点 , 提出了解决这类问题的最优化原理, 并成功解决了生产管理、工程技术中遇到的许多决策问题.在现代社会中, 动态规划已经成为企业管理中的一种重要决策方法, 人们用它能解决很多棘手的
5、问题, 如最优路径的选择、资源的最优分配、生产计划的最优决策等等. 在现实生活中, 我们还经常会遇到这种情况: 有 项工作, 每一项工作可以由一m人完成, 同时有 个人, 每一个人可以完成一项工作. 要确定完成 项工作效率最高n2或者总工时最小的分配工作方案, 此问题被称为是标准指派问题, 即当 时的指派nm问题. 但我们在解决实际问题时常常还会遇到下列情况, 即人们在工作的分配过程中, 有以下特征之一的指派问题: (1)工作项目数与人数不相等; (2)某人不能做某项工作(某事不能由某人做, 无法接受的指派); (3)某人可以同时被指派多个任务; (4)某事可以由多人共同完成; (5)目标函数
6、是与指派有关的总效用最大或最小的函数. 该类指派问题被称为是非标准指派问题. 由于指派问题也是属于多阶段决策问题, 所以本文主要利用动态规划的基本原理和方法解决一类较一般的非标准指派问题, 即有 项工m作欲指派 个人去做,当 时, 要求每项工作只能由一个人去做, 第 个人可以同时nnm i做 项工作(某人可以同时被指派多个任务), 其中 是待求未知数, 满足 ib ibiiiebd( 为第 个人所需工作数的上下限) 及 (即每个工作都有人做), 为已ide mni1 i,知常数 ; 当 时, 要求每个人只做一项工作,第 项工作可以由 个人,.21nii共同去做(某事可以由多人共同完成), 其中
7、 是待求未知数,满足 ( 为ibiiiebdid,第 项工作所需人数的上下限)及 (即每个人都有工作 ), 为已知常数i nmi1 i,; 第 个人做第 项工作所用的工作时间或工作效益为 ,.21(nj ,0ijc. 确定使总耗用时间最少或使总效益最大的指派问题. 记上述),ji问题为 . 当 且 时, 问题 便是 中的问题. 当 且PediiP2,1 nm时, 问题 便是 中的问题. 所以问题 是一类更一般的非标准指派问nedii1P4,3题, 在经营管理实践中更有意义. 本文将应用所总结归纳的动态规划模型对这一类非标准指派问题进行求解, 并用匈牙利法 对其进行检验, 说明本文所运用方法的正
8、确5性. 2 预备知识定义 2.1 (多阶段决策过程)多阶段决策过程是一类特殊的活动过程 , 这8,76个过程可以按时间顺序分解成若干相互联系的阶段, 我们把它称之为“时段”, 在每一个时段上都要作出决策, 全部过程的决策构成了一个决策序列. 多阶段决策过程最优化的目标是要达到整个活动过程的总体效果最优. 由于各阶段决策间有机地联系着, 一个阶段决策的执行将影响到下一阶段的决策, 以至于影响总体效果, 所以决策者在每个阶段决策时不应仅考虑单个阶段最优, 还应考虑对最终目标的影响, 从而作出对全局来讲是最优的决策. 而动态规划就是符合这种要求的一种决策方法. 动态规划方法与“时间”关系很紧密,
9、随着时间过程的发展而决定各时段的决策, 产生一个决策3序列, 这就是“动态”的意思 . 然而它也可以处理与时间无关的静态问题 , 只要在问题中人为地引进“时段”因素, 将问题看成多阶段的决策过程即可.用动态规划方法解决多阶段决策问题,首先要将实际问题写成动态规划模型, 此时要用到以下概念: 1、阶段; 2、状态; 3、决策; 4、策略; 5、状态转移方程; 6、阶段指标函数; 7、过程指标函数; 8、最优指标函数. 这里用一个最短路的简单例子来说明这些概念.下图是给定是一个线路网状图, 选择从 地到 地去的最短路线. 如图 1 所示. AD图 1定义 2.2 (阶段)将所给问题的过程, 按时间
10、或空间特征分解为若干相互8,76联系的阶段, 以便按照次序去求解每阶段的解 , 每个阶段就是一个子问题 , 常用字母表示阶段变量. 上例中 , 从 到 可以分成 到 , 到 , 到 三个阶段. 即kADABCD.3,21定义 2.3 (状态)状态是我们所研究的问题在各个阶段的初始形态或客观8,76条件, 而描述各阶段状态的变量称为状态变量, 常用 表示第 阶段的状态变量, 状kx态变量 的取值集合称为状态集合, 用 表示. 在上例中, kx kX.DXCBAX432132121 ,动态规划中的状态应具有如下性质: 当某阶段状态给定以后, 在这阶段以后过程的发展不受这一阶段以前各阶段状态的影响.
11、 也就是说, 当前状态是过去历史的一个完整总结, 过程的过去历史只能通过当前状态去影响它未来的发展, 这称之为无后效性. 如果选择的变量不具备无后效性 , 就不能作为状态变量来构造动态规划模型 . 当某一阶段的初始状态已选定某个点时, 从这个点以后的路线只与该点有关, 不受以前路线的影响,所以满足状态的无后效性.定义 2.4 (决策和策略)当各段的状态取定以后 , 就可以作出不同的决策,8,76从而确定下一阶段的状态, 这种决策的变量, 称之为决策变量, 常用 表示第 阶)(kxu段当状态为 时的决策变量. 在实际问题中, 决策变量的取值往往限制在一定的范围kx4内, 我们称这个范围为允许决策
12、集合, 常用 表示第 阶段从状态 出发的允许)(kxUkx决策集合,显然, 在上例中, 从第二阶段的状态 出发, 可以选择下一阶).(kkxUu2B段的 即允许决策集合为.,21C.,)(212CB如果决定选择 , 则可表示为2.22)(u各阶段决策确定以后, 整个问题的决策序列就构成一个策略. 对于每一个实际问题而言, 可供选择的策略也有一定的范围, 称之为允许策略集合, 记作 使整个问,1np题达到最优效果的策略就是最优策略.定义 2.5 (状态转移方程)动态规划中一个阶段的状态往往是上一个阶段8,76的状态和决策的结果. 如果给定了第 阶段的状态 , 本阶段决策为 , 则第kkx)(kx
13、u段的的状态 也就完全确定. 它们的关系可表示为1k1kx,)(1kkuTx由于它表示了由 段到 段的状态转移规律,所以称之为状态转移方程. 在上例中,状态转移方程为.)(1kkxu定义 2.6 (阶段指标函数)假设第 阶段的状态为 , 当执行了决策 时,8,76 kxku除带来系统状态的转移之外,还产生第 阶段的局部效益,它是所求总效益的一部分, 称之为阶段指标函数, 记作 ).,(kuxg定义 2.7 (指标函数)用于衡量所选定策略优劣的数量指标称为指标函数.8,76一个 阶段决策过程, 从 1 到 叫作问题的原过程, 对于任意一个给定的 nn k),1(n从第 阶段到第 阶段的过程称为原
14、过程的一个后部子过程. 阶k ),(1,表 示 在 第npxv段,状态为 采用策略 时原过程的指标函数值, 而 表示在第 阶段,状1xnp1 ,knk态为 采用策略 时后部子过程的指标函数值. 表示从第 阶段状态 采用kk, )(xf kx最优策略 到过程终止时的最优值函数. 与 间的关系为*,n )(kf,nknpv,( 意为最优).),()( ,*, ,npnknkk otxvf knot当 时, 就是从初始状态 到全过程结束的整体最优函数.111x在所给例子中, 指标函数用来衡量策略优劣的数量指标就是距离. 求解最小距离就是所要解决的问题.综上所述, 我们在运用动态规划解决问题的时候可以
15、采取的方法步骤 为8,76将多阶段决策过程划分阶段, 恰当地选取状态变量、决策变量,定义最优指标5函数, 从而把问题化成一簇同类型的子问题,然后逐个求解.求解时从最后阶段开始, 逆过程方向行进,逐段递推寻优, 在每一个子问题求解时, 都要使用它前面已求出的子问题的最优结果, 最后一个子问题的最优解, 就是整个问题的最优解.定理 2.1 (最优化原理)对于最优策略过程中的任意状态而言 , 无论其过去9,8的状态和决策如何, 余下的诸决策必构成一个最优子策略.3 所讨论非标准指派问题的动态规划模型的建立和求解步骤对于问题 而言, 由于分配的过程是顺序进行的, 所以它具有可分性,因此可以对P其建立动
16、态规划模型.建立动态规划模型如下(1)阶段变量: 表示给 个人指派工作的顺序 ;,2,1nk(2)状态变量: ( 为整数, 这里以工作为状态)表示第 阶段初剩余的工作数, xk k亦即给第 个人指派工作前剩余的工作数. 假定全体工作按 编号, 记 表m.21)(kxs示为第 阶段初工作数为 对应 项工作的编号集, 则 , kkkx .2,1)(1. 记 表示在第 阶段初工作数为 时, 项工作所有可)(1nxs)()(ksxTkxk能的编号集, 则 .11(3)决策变量: ( 为整数)表示指派给第 阶段的工作数; 即kuk ),2(nk为指派给第 人的工作数. ku(4)允许决策集合: 表示第
17、阶段决策变量可能的取值; 显然, ),2(nUk根据决策变量的定义易得: .1(5)状态转移方程. (1)0),.2(1nkkxnum因为从第 阶段到第 阶段至少应有 个工作数, 从第 阶段到第 阶段至nkid11k少可剩余 个工作数, 从第 阶段到第 阶段至多安排 个工作数, 从第 阶1kiemnkie段到第 阶段至多可剩余 个工作数, 因此 :1kidm(6)状态集合6(2) .,32,0 ,min,max11 1111 nkX xedxdenn knikikkinkik 为 整 数(7)允许决策集合(3) .1,.2,)( ,inax 11kudxU udxeuennn knkiikkn
18、iikk 为 整 数记策略 , 则最优指派即是确定最优策略 和工作W.,21 *2*1,.nuW的具体分配方案, 使 , 满足 且保证使总耗时最少或者总效用最*iibmubnii1*大.(8)指标函数: 用 表示从第 阶段的决策变量为 且工作编号集为)(,kkxsuvkku时从第 阶段到第 阶段的最优指标, 即从 中指派 项工作给)(kxsn)(kxs)(xU第 个人时, 从第 个人至第 个人完成所指派的工作所耗用的时间或所得到的效用.(9)最优值函数 表示在第 阶段工作编号集为,()(kkkuvoptxsf时, 从第 阶段到第 阶段对应最优策略时的总耗用时间或者总效用)(kxs n. 因此,
19、 即表示 个人完成全部指派工作所耗用)12n )()(11msff n的最少时间或者最大效用. 故只需求出 , 并给出相应的工作分派即可. 由动x态规划的最优性原理, 可以建立如下的动态规划方程, (4)0)(),.21(1nnkk kkxsfUuxsuvoptf其中, 是下列问题的最优值,kkv. (5) .0 ,.21;,.1)( )(1 11项 工 作个 人 不 做 第第 项 工 作 ,个 人 做 第第 其 中 jk nkmjxuxsjuxsfcoptkj kkkj kkjk记 表示分派给第 个人的工作编号 由动态规划方程(4), )(I ).,(5)逆推可求得最小耗用时间或者最大工作效
20、用 , 再沿计算过程反向查找可1xsf得第 阶段的最佳状态变量 及对应的最佳工作编号 , 则 即为分派给第k*kx)(*k)(*kxI个人的最佳工作, 即为第 阶段的最优分派工作数.)(ksubk7综上分析问题 的计算步骤如下P、 ;nk、写出 的所有可能值对每一个 给出 和 对每个kx kXx)(kxU)(kT由公式(4), (5)求 ;)()(kkTxs)(ksf、若 , 转, 否则 转;11、最小耗用时间或最大工作效用为 , 最佳状态变量值为 , 第 个人)(1xf *kx分派的最佳工作为 , 工作数)(*kxI *kksub).1,2n4 动态规划在解决非标准指派问题中的应用4.1 问
21、题描述某公司拟将四名技术员工分配到甲、乙、丙三个工作点工作, 每个人在各个工作点的效用如表 所示, 已知第一个人工作数 满足 , 问该公司如何分配员工才11b2i能使得三个工作点的总效用为最大?表一工作技术员工甲 乙 丙0 0 0 01 4 7 52 9 6 33 7 3 84 10 11 13问题分析这个问题属于问题 范畴. 已知条件是必须保证每个人都有工作, 对此需要做出p三个相关的决策, 即有多少个技术员工分配到三个工作点中的每一个. 工作的分派过程具有明显的顺序性, 因此可以用已建的动态规划模型求解. 以人员为状态变量, 并对人员进行编号 , 记为 .4321)(kxs题目是使最大化效
22、用的指派问题, 所以在已建模型中, 方程(4)应变为.0)(),.21(ma1nnkk kkxsfUuxsuvf方程(5)应变为8. .0 ,21;,.1)( )(max,1 11项 工 作个 人 不 做 第第 项 工 作 ,个 人 做 第第 其 中 jk nkmjxusjuxsfcvkj kkkj kkjkkk求解过程该指派问题的效用矩阵为 .130876954)(mnijcC解 (1) , , , .3k213或xX)(3uU21)2(3或uU , ,1,3ux4,T)(s)(33sv)(3xsf )(3*xs)(3xI55112 238834131314 , .2,3ux4,2,4,2)
23、(3T)(3sxsv)(3xsf )(3*xsu)(3xI,1882,113124, 4,32 32,16162,4224(2) , , , . k122或x1)(22uU2)(2uU , , ,2xu 43,43)(T)(s22sv)(2xsf )(2*xs)(2xI,111193,115151142020,2442191914,3 4 , , .2x21或u4,32,14,3,21)(Txsv)(s22u)(2xsf )(2*xsu)(2xI3,211911,14362622,288132757(3) , , , .1k41x21)(1或uU4,321)(T(suv)(xs12)(xsf
24、)*xsu)(1xI4,3217363712由上述过程反查表得时, , ;)(*1xs 1)(*11xsub2)(*xI时, , ;432 222时, , .*3 *33 4,3*3成效评价由上述分析可以得知, 最优分配方案为 : 第 个人做甲工作, 第 个人做乙工作, 21第 个人和第 个人去做丙工作, 这时的效用 为最大.3437问题检验匈牙利法检验过程当第一个工作点必须由两人来做时(见图 2)10图 2最大效用为: 9+7+7+13=36当第一个工作点由一人来做, 第二个工作点由两人来做时(见图 3)图 3最大效用为: 9+7+11+8=35当第一个工作点由一人来做, 第三个工作点由两人
25、来做时(见图 4)图 4最大效用为: 9+7+8+13=37综上所述最大效用为 37, 这跟题目所得结果相同, 所以解法正确.114.2 问题描述某有色金属公司欲派出三名专家 、 、 将对所属五家冶炼厂(编号为 厂、ABC1厂、 厂、 厂、 厂)进行技术改造,由于人手不够, 该公司只能根据每位专家对2345各个冶炼厂进行技术改造的时间来加快整体工作进程. 要求人员分配时第一个人的工作数 必须满足 , 问怎样安排人员才可以使得整体工作进程加快? 已知各个ib32ib专家对每个厂技术改造时所用的时间矩阵如下所示 .7912860435)( mnijcC问题分析很显然, 该问题属于问题 范畴, 因此
26、可以运用已建的动态模型来对该问题进行p求解. 这里以工作为状态变量 , 按三个专家的分为三个阶段 . 用 表示第 阶段初)(kxs工作数为 时对应 项工作的编号集, 表示在第 阶段初工作数为kxk )()(kkxsT时 , 项工作所有可能的编号集.k题目是使所耗时间最少的指派问题, 所以在已建模型中, 方程(4)应变为.0)(),.21(min1nnkk kkxsfUuxsuvf方程(5)变为. .0 ,21;,.1)( )(i,1 11项 工 作个 人 不 做 第第 项 工 作 ,个 人 做 第第 其 中 jk nkmjxuxsjuxsfcvkj kkkj kkjkkk求解过程解 (1) ,
27、 , , .3k23或 1)(33uU)(33uU , , ,13xu54,1T)(s)(3xv)(3xsf )(3*xs)(3xI6611288231212349914577512 , , .23x3u5,43,5,24,35,14,32,1)(3T)(sxv)(xsf )(3*xsu)(3xI,14 2,13181824,554,5133513,2202023,24171745,555,32223,1919,546654(2) , , , .2k32或x)(22uU21)3(22或uU , , ,x1u 54,545,14,)(T)(2s2v)(2xsf )(2*xs)(2xI,13313
28、181814,55513313,2191924665,441325253, 55419191 ,32x2或u.5,43,25,4,325,1,34,1541,)(T2s)(2xv)(2xsf )(*xsu)(2xI1312u23,215521或或21,4 或或,5,2020或或,31731711,5855422,3238126965,42233315115(3) , , , .k11x)(11或uU,432)5(1T(uv)(1xs2131)(xsf 1*xsu)(1xI5,43239523,由上述过程反查表得时, , ;5432,1)(*1xs 2)(*11xsub3,1)(*1xI时, ,
29、 ;2 2*2时, , .)(*3 )(33 5,4)(*3I成效评价由上述分析可以知道最优的安排方案为: 把专家 指派到 厂和 厂; 把专家 指A13B派到 厂; 把专家 指派到 厂和 厂; 这样的分派可使工作时间最短 , 为 . 其结果2C45 5可以有效的加快公司的工作进程.问题检验匈牙利法检验过程当第一个人的工作数为两个, 第二个人的工作数为两个时(见图 5)14图 5最小工作时间为: 5+7+7+10+9=38当第一个人的工作数为两个, 第三个人的工作数为两个时(见图 6)图 6最小工作时间为: 5+7+7+9+7=35当第一个人工作数为三时(见图 7)15图 7最小工作时间为: 5
30、+7+13+7+7=39综上所述最小工作时间为 35, 这与本题动态规划解法所求结果一致, 所以正确.致谢 衷心的感谢李拓老师在我论文写作时给予的精心指导.参 考 文 献1王吉波,王明坤.一类最优指派问题的动态规划算法J.沈阳师范学院学报(自然科学版),2002,20(4):266-270.2李苏北.一类最优指派问题的动态规划解法J.运筹与管理,2000,9(1):69-73.5秦学志,王雪华.一类最优指派问题的动态规划模型J.数学的实践与认识,1996,26(3):212-216.4王雪华.关于“一类最优指派问题的动态规划模型”的注记J.数学的实践与认识,2000,30(2):147-149.5孙麟平.运筹学M.北京:科学出版社 ,2006.6孔造杰.运筹学M.北京:机械工业出版社 ,2006.7杨文鹏,贺兴时,杨选良.新编运筹学教程-模型、解法及计算机实现M.西安:陕西科学技术出版社,2005.8吴祈宗.运筹学M.北京:机械工业出版社 ,2006.9(美)弗雷德里克.S.希利尔,杰拉尔德.J.利伯曼.运筹学导论M.北京:清华大学出版社,2007.