会议分组问题摘要通过对问题的分析,我们确定运用优化的整数规划模型、矩阵理论和置换等方面的知识和技巧。
通过矩阵将决策变量和所要求解的目标函数建立联系。
在提出模型目标函数的过程中,首先我们提出了代表相遇次数的概念,用矩阵Q 表示其任意两个代表的相遇次数,并利用矩阵的Frobenius范数控制了Q中元素的大小及其均匀程度,得到目标函数f(x),从而求解代表的相遇次数。
第一个目标函数设定后,基于f(x)在群体整体换组时不能起到控制作用的问题,决定使用共同成员概念:即任意两组(可以属于不同场次)整个会议中的交集。
利用矩阵A,对矩阵的Frobenius范数的运用使群体整体换组现象得到了有效的遏制,对与会者混合程度进行了控制。
求解模型时,使用迭代算法,利用线性规划,在目标函数可行域范围内查找最优解可以利用MATLAB软件设计出计算可行初始解->随机产生一个可行解->局部优化->全局优化从而达到全局最优解的三步求解的方法,局部->全局的步骤解出了全局最优解,简化运算步骤的同时提高了结果优化程度,降低对初值的依赖程度,很好的达到了与会者需要充分混合的目的。
基于算法的目标函数,因为在建立时具有一般性,若需建立起优化全局的目标函数,只需对参数进行改变。
这样一来模型的推广得到了算法上的支持,带来了极大的便利。
我们此次建模得到了合适的人员分配结果,达到了建模的目的。
关键词:抽屉原理相遇矩阵共同成员 Frobenius范数一、问题重述目前,国内外许多重要会议都是以分组形式进行研讨,以便充分交流、沟通。
一般地,一个由N名代表参加的会议,要分为M个场次,每场会议分为L个小组,并且要求每个小组的人数基本均衡。
问题1:请建立分组方案的数学模型,使得尽可能让任意两个来自不同地区的委员之间都有见面交流的机会。
问题2:设计求解上述分组模型的有效算法。
问题3:现有一个学术团体要举行由37位专家参加的学术研讨会,每个专家所在地区的信息见表1。
会议分5场进行,每场会议又分5个小组,每个小组人数要基本均衡。
请根据问题1所建立的模型以及问题2设计的算法,给出5场会议的每一场各个组中有哪些委员参加的安排方案。
说明:论文要附有求解问题3源程序的全部代码,并确保能够直接运行以检验结果的正确性。
二、模型假设(1)假设各场会议及各小组间是相互独立的;(2)假设所有代表严格遵守派遣方案,不会改变制定的分配方案; (3)假设来自不同地区的代表之间无其他差异; (4)假设每场会议各组人数分配为7,7,7,9,9。
注:对于假设(4),我们可以运用初等模型中的公平分配得到,具体过程如下:三、变量及符号说明和数学描述1、变量符号说明(1) ijk x :0-1决策变量,表示第i 位代表有否参加第k 场第j 组会议; (2) P :开会分组矩阵,表示整次会议每场代表的分组安排,其中k P 表示第k 场会议的分组矩阵,其行向量jk P 表示第k 场会议第j 组的分组矩阵;(3) Q :相遇矩阵; (4)()f x :目标函数一,用来控制代表相遇次数;(5) ()g x :目标函数二,用于控制不同场间组间共同成员个数; (6) ()F x :总的目标函数,综合考虑()f x 和()g x 的目标函数.2、变量符号数学描述(1)ijk 1,j 0,.x ⎧⎪=⎨⎪⎩表示第i 位代表参加第k 场第组的会议否则(2)()12=jk jkjkNjk P xx x ,k 表示第k 段会议,j 表示第j 组,k=1,2,…,M ,j=1,2,…,L,i=1,2,…,N .(3)1k 11k 21k 1k 212k 22k 2k 1k2kk x x x x x x =x x x N k N k M M NM Mk P P P P ⎛⎫⎛⎫⎪ ⎪ ⎪ ⎪= ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭(4)111121ML L LM P P P P P P P P ⎛⎫⎪ ⎪ ⎪⎛⎫⎪ ⎪⎪ ⎪== ⎪ ⎪⎪⎪⎪⎝⎭⎪ ⎪ ⎪⎝⎭(5)()1212TT TT L L P P Q P P P PP P ⎛⎫ ⎪ ⎪== ⎪ ⎪⎝⎭四、模型建立通过使用(0-1)整数规划来建立该问题的模型。
题目要求每个小组的人数基本均衡,使得尽可能让任意两个来自不同地区的委员之间都有见面交流的机会。
从这两个要求出发,分别从相遇代表次数和共同成员数目两个角度建立了两个目标函数。
再加上题设要求以及模型假设得到的约束条件,完成本模型的建立。
具体过程以及模型如下所示。
题目要求分组名单安排计划属于分派问题,常用0-1变量表示分派的决策变量,根据本题的特点现在把分派问题视为抽屉问题。
每场会议配给L 个抽屉,每组分一个,每个抽屉分为N 个空格(第1至第N 号),每位代表的编号放入空格。
如果空格处有对应的编号则ijk x 就是1,如果没有就是0.即ijk 1,k j i ,1,2,...,,1,2,...,,1,2,...,0,x i N j L k M====⎧⎨⎩第场第组第个空格有编号否则 根据以上的分法我们可以用由ijk x 组成的矩阵来表示开会时代表分布的具体情况。
令()12=jk jkjkNjk P xx x ,这表示第k 场第j 组的与会代表的分布情况。
每场会的具体安排由矩阵排列如下:1k 11k 21k 1k 212k 22k 2k 1k2kk x x x x x x =x x x N k N k M M NM Mk P P P P ⎛⎫⎛⎫⎪ ⎪ ⎪ ⎪= ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭1、建立目标函数基于计算过程中会遇到一个行向量与自己的转置相乘情况,运算的结果不仅对于我们的模型中无效,还会对计算情况有着较大的影响,我们先规定在计算中0,0,1,2,...,,1,2,...,.T T jk jk jk jk P P P P j L k M ====根据要求每个小组的人数基本均衡,使得尽可能让任意两个来自不同地区的委员之间都有见面交流的机会,分两部分来描述:1、会议安排应使任意两个代表在整个会议中见面的次数平均2、不同场会议在同一小组中一起开会的代表最少,最好代表之间都可以见面。
1、为了控制在不同场会议在同一小组中一起开会的代表数目并控制任意两个代表在整个会议中见面的次数,随机抽取两位代表,解出彼此在同组同时开会见面的次数见面次数采用0-1决策变量ijkx 来表示:11L Msjktjkj k xx ==∑∑表示第s 号代表与第t 号代表在M 场会议中相遇的总次数.基于运算方便的目的,列出两个代表相遇的矩阵Q 如下:()()12121122=++T TTT T TT L L L st N NL P P Q P P P P P P P P P P P q P ⨯⎛⎫⎪ ⎪==+= ⎪⎪⎝⎭其中11.L Mstsjk tjk j k q x x ===∑∑计算出全部st q 的和,求解得所有代表的相遇次数,考虑到代表彼此相遇的单个差异的不明显性,我们把()lst q 放大,再对()lst q 进行求和,设l 值等于2,使用矩阵Q 的Frobenius 范数达到放大st q 之间的差异的目的,既考虑到了全局相遇次数的同时也考虑到了单个相遇次数的差异,第一个目标函数建立如下:()()11lLLst s t f x q ===∑∑2、对于()f x ,其弱点有:当同一批人分别处于两场会议的某两组时,且在接下来的会议中会完全打乱分配,并尽可能弥补开始相遇次数增大的缺陷,保持成员见面的次数个别差异很小时,使用()f x 不能充分控制住。
因此这就需要我们再建立了一个目标函数来克服此弱点。
对于整个会议中任意抽取出的两个讨论组,称在这两个讨论组中都出现的代表称为这两个组的共同成员。
第k场第i 组与第t 场第j 组的共同成员个数为T ik jt P P . 我们用矩阵来排列这些数:()111111*********11111111111111111111121312TT TTL MLM T T T T L L L L ML MTTTTM LM M MM LM T T TT LM LM L LM MLM LM TT TT ML M P P P P P P P P P P P P P P P P A P P P P P P P P P P P P P P P P PP PP PP PP ⨯⎛⎫ ⎪⎪ ⎪ ⎪ ⎪=⎪⎪ ⎪ ⎪⎪ ⎪⎝⎭=21222323132333123TT T T MTTTT MT T TT L L L L M P P P P P P P P P P P P P P P P P P P P P P P P ⎛⎫⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭A 是一个()2L M ⨯的矩阵,其中A 的对角线上的方块T k k P P 是第k 段会议段内各组的共同成员,其非对角线上的元素一定为0,而其对角线上的元素在上文中已经提到为无效量,故不计算A 对角线方块Tk k P P 中的元素,k=1,2,…,M.A 中每个元素为整个会议中任意两组(可以分别属于不同段)的共同成员个数。
如果出现上一段提出的问题,那么A 中元素的大小(除去对角线方块,1,2,...,T k k P P k M =中的元素)将会出现明显的不平均。
如果让A 中对角线方块,1,2,...,T k k P P k M =以外所有元素的尽可能平均的话,那么会议中任一组与任何该组所属的段以外的组的共同成员数量将会均匀分布。
于是,成员间自发组成的小组总在同一个讨论组中出现的现象将会得到遏制,与会成员将会尽可能平均分配。
类似上一个目标函数,为了达到描述A 中元素的平均程度的目的,可以使用矩阵A 的Frobenius 范数。
在此情况下,可以再次建立一个目标函数:()()2=T ik jt k tg x P P ≠∑)()()(21x g x f x F λλ+=其中2121,,1λλλλ=+为权系数),为总的目标函数。
2、约束条件利用已知题目条件设出相应的模型约束条件:(1) 在每一场会议中每个代表只能分入一个组里()11=111,1,2,...,.Ljk N j P k M ⨯==∑(2) 易知不同组间开会代表应该尽量相等,才可以使得相见的次数尽可能少,所以1,2,...,,1,2,,.T jk jk N p p j L k M L ⎡⎤===⎣⎦(3) 在具体计算时()f x ,相遇代表次数须在一个范围,即<M m q .(4) 类似地我们对()g x 考虑,共同成员个数也要在一个有意义的范围内,即T ik jt P P .<M-1.五、模型的求解1、详细求解方案使用MATLAB 对该模型求解。
模型变量总数为N ,对于每个变量来说,取值范围为0-1,如果N 取值较大时,求解大规模的数据时若使用穷举法,会使总的计算步骤较复杂。