公务员招聘摘要:本文利用层次分析法和0—1型整数规划建立了一个公务员招聘的数学模型,并结合实际提出了通用可行的算法。首先利用层次分析法先后确定了各工作类别对各种面试能力的要求权重矩阵dij,各种面试能力对各人员的权重矩阵aij,然后经过初始平衡分析确定了人员的笔试成绩权重矩阵ri,接着我们引入了各类别对笔试成绩的看重率ki,让笔试权重乘以ki加上面试权重乘以(1-ki)再乘以dij得到各人员对各种类别的能力权重矩阵,而这前面所有的矩阵的得出我们是用C语言实现的,最后我们引入0-1变量,加上一个人最多只能被一个类别录用,一共录用8人,各类别至少录用其规定的人数等相关约束条件,建立起规划模型,求人员对用人单位的权重之和的最大值,然后用lingo求解得出相应结果。对于考虑到人员的志愿时,其模型基本不变,只是多加一个约束条件而已。一问题的重述(略)二模型的假设1.笔试和面试的成绩客观准确地反映了各个应聘人员的真实能力。2.各个工作享有对应聘人员相同的支配度,不存在某个工作优先录取的情况。3.对于所有部门而言均分为四个工作种类,每个工作种类对于能力的要求不变。4.每个人员只能被一个单位录取,一个单位至少录取一个人。三符号说明ki:第i个类别对笔试成绩的重视率u(i,k):第i个人员被第k个部门录用f(i,j):第个i人员的第k个志愿a(i,j);第i个人对应于面试能力j的权重w(i,j):第i个人对第j个工作类别的权值d(i,j):第i个工作类别对第j个面试能力的要求权值四问题的分析通过对每个人的能力等级与各个工作要求比较,我们发现只有1、2、4三个人满足第二项工作类别要求。那么如何建立最优的人员分配方案成为我们关注的要点,最后我们认为先找到一个关于人员对于工作类别的权重矩阵,然后将其处理为规划问题,求人员对用人单位总的权值和最大。如何得到这个矩阵便又成了关键所在。我们可以利用层次分析法先后确定各工作类别对各种面试能力的要求权重矩阵dij,各种面试能力对各人员的权重矩阵aij,然后经过初始平衡分析确定人员的笔试成绩权重矩阵ri,接着我们引入各类别对笔试成绩的看重率ki,让笔试权重乘以ki加上面试权重乘以(1-ki)再乘以dij得到各人员对各种类别的能力权重矩阵。对于问题二,考虑到人员的志愿时,其处理方法和前面基本一样,只是其模型稍作改变,多加一个约束条件而且。五模型的建立与求解首先我们建立层次关系模型如下:我们把表1中的A、B、C、D相应的取权值为8、4、2、1,把表2中的A、B、C相应的取权值为4、2、1,关于知识面、理解能力、应变能力、表达能力对于工作类别一可以得到如下矩阵:C1P1P2P3P4P111/221/2P22141P31/21/411/4P42141相应的对于工作类别二可以得到如下矩阵:C2P1P2P3P4P11224P21/2112P31/2112P41/41/21/21各种能力对不同工作的权重工作类别c1工作类别c2工作类别c3工作类别c4知识面p1理解能力p2应变能力p3表达能力p4人员1人员2人员3人员16人员15对于工作类别三可以得到如下矩阵:C3P1P2P3P4P1111/41/4P2111/41/4P34411P44411对于工作类别四可以得到如下矩阵:C4P1P2P3P4P111/21/21/4P22111/2P32111/2P44221我们用C语言编写相应的程序,求得各矩阵的特征向量dij如下:4444.04000.01111.03636.02222.04000.02222.00909.02222.01000.02222.03636.01111.01000.04444.01818.0关于16个人员对于知识面可得到如下矩阵,并用C语言求得其特征向量W:对于知识面可得到如下矩阵:M1N1N2N3N4N5N6N7N8N9N10N11N12N13N14N15N16WN111212212288128120.1013N211212212288128120.1013N31/21/211/2111/211441/2141/210.0506N411212212288128120.1013N51/21/211/2111/211441/2141/210.0506N61/21/211/2111/211441/2141/210.0506N711212212288128120.1013N81/21/211/2111/211441/2141/210.0506N91/21/211/2111/211441/2141/210.0506N101/81/81/41/81/41/41/81/41/4111/81/411/81/40.0127N111/81/81/41/81/41/41/81/41/4111/81/411/81/40.0127N1211212212288128120.0103N131/21/211/2111/211441/2141/210.0506N141/81/81/41/81/41/41/81/41/4111/81/411/81/40.0127N1511212212288128120.1013N161/21/211/2111/211441/2141/210.0506d1Td2Td3Td4T对于理解能力可得到如下矩阵:对于应变能力可得到如下矩阵:M1N1N2N3N4N5N6N7N8N9N10N11N12N13N14N15N16yjjN112121821224242210.1039N21/211/211/2411/211212111/20.0519N312121821224242210.1039N41/211/211/2411/211212111/20.0519N512121821224242210.1039N61/81/41/81/41/811/41/81/41/41/21/41/21/41/41/80.0130N71/211/211/2411/211212111/20.0569N812121821224242210.1039N91/211/211/2411/211212111/20.0519N101/211/211/2411/211212111/20.0519N111/41/21/41/21/421/21/41/21/211/211/21/21/40.0260N121/211/211/2411/211212111/20.0519N131/41/21/41/21/421/21/41/21/211/211/21/21/40.0260N141/211/211/2411/211212111/20.0519N151/211/211/2411/211212111/20.0519N1612121821224242210.1039M1N1N2N3N4N5N6N7N8N9N10N11N12N13N14N15N16yjjN111/24111/221/21/21/21241/2210.0526N221822141112481420.1053N31/41/811/41/41/81/21/81/81/81/41/211/81/21/40.0132N411/24111/221/21/21/21241/2210.0526N511/24111/221/21/21/21241/2210.0526N621822141112481420.1053N71/21/421/21/21/411/41/41/41/2121/411/20.0263N821822141112481420.1053N921822141112481420.1053N1021822141112481420.1053N1111/24111/221/21/21/21241/2210.0526N121/21/421/21/21/411/41/41/41/2121/411/20.0263N131/41/811/41/41/81/21/81/81/81/41/211/81/21/40.0132N1421822141112481420.1053N151/21/421/21/21/411/41/41/41/2421/411/20.0263N1611/24111/221/21/21/21241/2210.0526对于表达能力可得到如下矩阵:于是我们就得到了一个16X4的关于人员的特长能力的矩阵aij,这时我们发现矩阵中的所有权值均在0.01到0.1之间变化。因此在考虑人员笔试成绩的时候,我们也希望其变化范围在0.01到0.10之间,(因为笔试成绩的跨度为290-273=17,所以我们假设两个变量x,y应有:100101001017yxyx,从而解得91700917yx从而便可算得人员的笔试权值矩阵ri),这样才能体现出笔试与面试的初始平衡性,然后再引入一系列系数Ki,表示类别i对于笔试成绩的看中率,所以各人员的最终权值bij表示为ri*kj+aij*(1-kj)。因此我们令Wij为人员对工作类别的权重矩阵则有,Wij=bik*dkj。我们令k1=0.3k2=0.5k3=0.5k4=0.4然后也是用C语言编程实求解,得到如下结果:总矩阵类别1类别2类别3类别4人员10.1266750.1269140.1108190.117388人员20.096690.119370.109560.09909人员30.0980080.0879490.072850.084547人员40.0964590.1047760.0939720.094564人员50.0902810.086120.0769630.081832人员60.0733640.0810980.1014330.087209人员70.0845770.0894560.0723050.078161人员80.0882860.0914790.0910550.086661M1N1N2N3N4N5N6N7N8N9N10N11N12N13N14N15N16YjjN112212112121/21/21/21120.0625N21/2111/211/21/211/211/41/41/41/21/210.0313N31/2111/211/21/211/211/41/41/41/21/210.0313N412212112121/21/21/21120.0625N51/2111/211/21/211/211/41/41/41/21/210.0313N612212112121/21/21/21120.0625N712212112121/21/21/21120.0625N81/2111/211/21/211/211/41/41/41/21/210.0313N912212112121/21/21/21120.0625N101/2111/211/21/211/211/41/41/41/21/210.0313N1124424224241112240.1250N1224424224241112240.1250N1324424224241112240.1250N1412212112121/21/21/21120.0625N1512212112121/21/21/21120.0625N161/2111/211/21/211/211/41/41/41/21/210.0313人员90.0807230.0833910.0983360.088971人员100.0624880.0630970.0820650.070896人员110.0780450.0518760.0914560.09075人员120.0821550.0485380.0807170.087834人员130.074350.0535310.0722570.079057人员140.0625230.0559790.0828970.073291人员150.0691880.0756470.0578280.063287人员160.0676630.0649520.0536690.058893最后我们又设一01变量Uij当其为