APP下载

非标准形式的指派模型在资源分配问题中的应用

2014-09-17马锦娟姚晓鹏

大学数学 2014年6期
关键词:指派卫队分配

马锦娟, 姚晓鹏, 郑 挺

(浙江工商大学 统计与数学学院,杭州 310018)

1 引 言

1951年美国学者Richard.Bellman提出了动态规划,用以解决各类多阶段决策问题[1]. 其基本原理是Bellman的最优性定理并由此导出的最优性原理[2]. 其求解步骤:首先建立问题的动态规划模型(划分阶段,选择问题的状态变量和决策变量,列出状态转移方程,描述问题的指标体系,列出动态规划方程).其次,递推计算(按所列出的动态规划方程分阶段逐一计算).最后,以递推计算结果为基础,以状态转移方程为纽带,按与递推计算相反方向寻找最优策略[3].对一类资源平行分配问题,文献[4]给出一种匈牙利方法.由资源平行分配的特点,我们根据人数少于任务数的指派模型(非标准指派模型[3])给出一种求解的方法.

2 人数少于任务数的指派模型

设有n人,m项工作(n≤m),每人可做多项工作,每项工作只被一人做.效率(或损失)矩阵为

问如何安排可使总的效率达到最大(或损失最小).

则该问题的线性规划模型:

3 资源平行分配问题的“人数少于任务数的指派模型”求解方法

为了叙述方便,首先给出

定义[5]设n,n1,n2,…,nk均为正整数,称n=n1+n2+…+nk为整数n的一个k分部的分拆.若该分拆与n1,n2,…,nk的顺序有关,则称为有序分拆;否则称为无序分拆.另外,若对ni(i=1,2,…,k)有限制,则称为有限制分拆,否则称为无限制分拆.

在资源平行分配中,正整数n的分拆中允许ni=0(i=1,2,…,k).

对于资源总量为n,被分配的部门数量为k及效率(或收益或损失等)矩阵为A=(aij)(aij表示第j部门分配到第i种资源的数量)的分配问题,下面我们总是假设需要资源的部门称为指派问题中的“任务”(有几个部门即表示有几项“任务”),资源的一种分配称为指派问题中的“人”(有几种资源的分配即表示有几个“人”).

指定n的k分部有限制无序分拆n=y1+y2+…+yk,对应一个效率矩阵U(y1y2…yk),其第i行为A中的第yi行.若yi=yj,此时出现第i行与第j行相同,则只写一行,相同的行不重复写.此时还需要特别强调的是,由yi(资源的一种分配)这个“人”与yj这个“人”相同,所以,yi这个“人”需要完成两项“任务”.

下面是所介绍的方法的具体步骤:

(a) 写出分配问题的效率矩阵A和资源总量n的所有k(个部门)分部有限制无序分拆;

(b) 对每一个分拆y1,y2,…,yk,写出对应的效率(或收益或损失)矩阵U(y1,y2,…yk);

(c) 根据1的内容,写出U(y1,y2,…yk)对应的线性规划模型(若有ni个yi相同,则表示yi这个“人”需要完成ni项任务)并求解;

(d) 所有解中的最大者(或最小者)即为所求.

4 应用举例

某警卫部门有12支卫队负责A, B, C, D四个要害部门,每个部门需要2-4支卫队巡逻.派出的卫队数不同,则各部门预期在一段时间内可能造成的损失有差别,如下表所示:

预 期 损 失部 门卫 队 数A BCD2183824 34314352231410312125

问应往各部门派多少支卫队巡逻,可使总的预期损失最小?

解此问题中,资源总量为12,部门有四个: A, B, C, D,对应于指派问题中有四项“任务”;资源分配有三种:2,3,4,对应于指派问题中有三个“人”.四项任务被三人完成.

(a) 损失矩阵为

令变量yi(i=1,2,3,4)为派往第i部门的卫队数.于是得整数12的所有4部有限制的无序分拆为

12=y1+y2+y3+y4, 2≤yi≤4, 1≤i≤4.

共有三种不同分拆:

12=4+4+2+2 12=4+3+3+2 12=3+3+3+3.

(b) 对第一种分拆12=4+4+2+2表示向四个部门中的两个部门各派4支卫队,向另外两个部门各派2支卫队.下面具体的求出向哪两个部门派4支卫队, 向哪两个部门派2支卫队.

将四个部门A, B, C, D称为四项“任务”;由于该分拆(y1=y2=4,y3=y4=2)中只有2,4两个不同的数(是资源的两种不同分配),由于2,4在排列中各出现两次,此时损失矩阵U(2244)(由A中2和4所在的行组成,即由A中第一和第三行组成,相同的行不重复写)为

对第二种分拆12=4+3+3+2表示向四个部门中的两个部门各派4支和2支卫队,向另外两个部门各派3支卫队,下面具体的求出向哪两个部门分别派4支和2支卫队,向哪两个部门各派3支卫队.

四项“任务” A, B, C, D被2,3,4这三个“人”来做.由于该分拆中只有2,3,4三个不同的数,此时损失矩阵为(由矩阵A中2,3,4所在的行组成,相同的行不重复写)

对第三种分拆12=3+3+3+3,表示向四个部门各派3支卫队.

四项“任务” A, B, C, D被3这一个“人”来完成.由于该分拆中只有3这一个数,此时损失矩阵为

U(3333)=(14 35 22 31).

(c) 由1得U(2244)对应的线性规划模型(由于2,4在排列中各出现两次,所以2这个“人”和4这个“人” 对这四项工作各做两项):

min18x11+38x12+24x13+34x14+10x21+31x22+21x23+25x24,

由文献[6]中Matlab计算得

x12=x13=x21=x24=1, 其它xij=0.

即向A部门派4支卫队, 向B部门派2支卫队, 向C部门派2支卫队, 向D部门派4支卫队,最小损失为97.

继续由1得U(2334)对应的线性规划模型(注意到该分拆中,2出现一次,3出现两次,4出现一次,这说明,2这个“人”只做一项工作,3这个“人”做两项工作,4这个“人”做一项工作):

min18x11+38x12+24x13+34x14+14x21+35x22+22x23+31x24+10x31+31x32+21x33+25x34,

由Matlab计算得

x13=x21=x22=x34=1, 其它xij=0.

即向A部门派3支卫队, 向B部门派3支卫队, 向C部门派2支卫队, 向D部门派4支卫队,最小损失为98.

由1得U(3333)对应的线性规划模型(注意到该分拆中,3出现四次,所以,3这个“人”要完成4项“任务”):

min14x11+35x12+22x13+31x14,

此时最小损失显然为14+35+22+31=102.

(d) 由min{97,98,102}=97知,应该选择方案:

向A部门派4支卫队,向B部门派2支卫队, 向C部门派2支卫队,向D部门派4支卫队.最小损失为97.

5 结束语

文献[4]中,对n的任一个k分部划分(分拆),用FORTRAN77程序必须求解一个有k2个决策变量且有2k个约束条件的0-1规划问题.当某个分拆中有相同的数时,本文模型中有着决策变量少且约束条件少的优点.如3的例中,分拆2244对应的0-1规划模型中,决策变量只需8个,约束条件6个;若用[4]中的方法,决策变量需要16个,约束条件要8个.

[参 考 文 献]

[1] 杨超,熊伟,白亚根. 运筹学[M]. 北京:科学出版社,2004:232-234.

[2] 陈华友. 运筹学[M]. 合肥:中国科学技术大学出版社,2008:191-195.

[3] 吴祈宗. 运筹学[M]. 北京:北京理工大学出版社,2011:157-158,168-169.

[4] 赵茂先,万贤美,黄珍. 匈牙利方法在资源分配问题中的应用[J]. 山东科技大学学报(自然科学版),2001(2):18-20.

[5] 卢开澄,卢华明. 组合数学[M]. 北京:清华大学出版社,2002:80-85.

[6] 张伯生,范君晖,田书格. 运筹学[M]. 北京:科学出版社, 2008:158-161.

猜你喜欢

指派卫队分配
应答器THR和TFFR分配及SIL等级探讨
遗产的分配
一种分配十分不均的财富
多目标C-A指派问题的模糊差值法求解
最呆萌“检阅”
零元素行扩展路径算法求解线性指派问题
具有直觉模糊信息的任务指派问题研究
非线性流水线的MTO/MOS工人指派优化决策研究
我会好好地分配时间