公务员招聘的数学建模论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
公务员招聘的优化模型
摘要:本文主要利用模糊数学理论,建立了公务员招聘的优化模型,解决了我国目前公务员招聘中存在的实际问题。
在模型Ⅰ中,对问题一(即在不考虑应聘者的志愿的情况下),按“择优按需”原则,(“择优”就是综合考虑所有应聘者的初试和复试的成绩来选优;“按需”就是根据用人部门的需求,即各用人部门对应聘人员的要求和评价来选择录用),得出了录用分配方案。
在模型Ⅱ中,对问题二(即在双方都是相互了解的前提下为双方)做出选择方案。
每一个部门对所需人才都有一个期望要求,即可以认为每一个部门对要聘用的公务员都有一个实际的“满意度”:同样的,每一个应聘人员根据自己意愿对各部门也都有一个“满意度”,由此来选取使双方“满意度”最大的录用分配方案。
在两个模型建立的过程中,反复利用了偏大型柯西隶属分布函数,多次将各种不同的等级进行量化处理,最终得到人员的录用方案,实现了模型的建立,并且将其进行了推广。
关键字:公务员招聘;模糊优化;数学模型;偏大型柯西隶属分布;满意度
一.问题重述
我国公务员制度已实施了多年,1993年10月1日颁布施行的《国家公务员暂行条例》规定:“国家行政机关录用担任主任科员以下的非领导的国家公务员,采用公开考试、严格考核的办法,按照德才兼备的标准择优录用”。
目前,我国招聘公务员的程序一般分三步进行:公开考试(笔试)、面试考核、择优录取。
针对公开考试后,根据考试总分从高到低排序按1:2的比例选择进入第二阶段的面试考核,面试考核是由专家对应聘人员的各个方面都给出一个等级评分,根据这个等级的评分,结合笔试成绩,首先不考虑应聘人员本身的申报志愿,建立一个择优录用方案,其次,考虑应聘人员本身申报类别志愿,为招聘领导小组设计一个分配方案。
再次,进行一般情况的检验,最后,对公务员招聘过程提出改进的建议。
二.模型假设
根据建立模型的需要,作出如下假设:
(1)招聘对应聘者特长的四个能力方面所占比重相等。
(2)各应聘人员的笔试成绩与面试成绩所占的比重相等。
(3)各用人部门的基本情况的各项要素所占比重相等。
(4)招聘公务员不受外界环境影响。
三.符号定义与说明
A第j名应聘人员笔试分数
j
'
A第j名应聘人员笔试分数规范化后的笔试成绩
j
m第j名应聘人员的第k项能力的量化值
kj
s第i个部门对第j个人的满意度
ij
c由笔试与面试得到的第j个人的综合成绩
j
()l
s第i个部门对第j个人的第l项能力的满意度
ij
x第j个人被分配到第i个部门
ij
i T 应聘者对第i 个部门的各单项指标的满意度量化值
ik t 应聘者对第i 个部门的第k 项指标的满意度量化值
()
k ji
T 第j 个应聘者对第i 个部门第k 项指标的满意度量化值 ji T 第j 个应聘者对第i 个部门的综合评价满意度 ji w 第j 个应聘者对第i 个部门的满意度权值
ZM 应聘者与应聘部门双方综合满意度
四.建立模型与求解:
4.1 模型Ⅰ
现在,利用模糊数学理论对不考虑应聘者志愿的情况下的招聘问题进行求解:
1.对应聘者等级成绩进行量化:
为了方便将笔试成绩与复试成绩(即面试成绩)进行做统一的比较,在对应聘者等级成绩进行量化之前,先结合表一现在用极差规范化方法作相应的规范化处理这16名应聘人员的初试成绩。
初试得分的规范化公式如下:
116
'
116
116
min 273max min 290273
j j
j j j
j j
j j A A A A A A ≤≤≤≤≤≤--=
=
--
其中(j=1,2, (16)
结合表一中的相关数据,利用matlab 进行编程计算,得到以下结果:
表1 16名应聘人员的初试得分规范化
其次,对专家组对每一位应聘者特长的等级评分(由题意知,知识面等四项能力要求等级通过A ,B ,C ,D 给出)进行量化。
利用模糊数学方法,设等级A ,B ,C ,D ,对应的数值为5,4,3,2。
结合偏大型柯西隶属分布函数:
21[1()],13()ln ,35x x f x a x b x αβ--⎧+-≤≤=⎨+≤≤⎩
(1)
式中,,,,a b αβ均为待定常数。
不难发现:实际上,当评价为“A ”时,则隶属度为1,(5)1f =;当评价为“C ”时,则隶属度为0.8,(3)0.8f =;当评价为“E ”时(实际无此评价),则认为隶属度为0.01,(1)0.01f =。
于是,可求得: 1.1086α=;0.8942β=;
0.3915a =;0.3699b =。
并且有下表:
专家评价
E C A D B x 1 3 5 2 4
0.01
0.8
1
0.5245
0.9126
将上述计算结果代入(1)式,可得隶属函数,如下:
21[1 1.1086(0.8942)] , 13()0.3915ln 0.3699 , 35x x f x x x --⎧+-≤≤=⎨+≤≤⎩
(2)
经计算得f(2)=0.5245,f(4)=0.9126,则专家组对应聘者各单项指标的评价{A ,B ,C ,D}的量化值为(1,0.9126,0.8,0.5245)。
根据已知数据可以得到专家组对每一个应聘者的4项条件的评价指标值,可得专家组对于16个应聘者都有相应的评价量化值。
由假设一,可得到这16名应聘者的复试综合成绩(即复试得分)可以表示为:
4
1
1 (j=1,2,...16)4j kj k B m ==∑
于是,得到这16名应聘者的复试综合成绩计算结果如下:
表3 应聘者的复试综合得分
应聘者 1 2 3 4 5 6 7 8 复试分数 0.9563 0.9282 0.8093 0.9345 0.9063 0.8374 0.9063 0.9282 应聘者
9
10
11
12
13
14
15
16 复试分数 0.9345 0.8093 0.8093 0.9282 0.8093 0.8374 0.9063
0.9063
2.确定应聘人员的综合分数
根据假设二,各应聘人员的笔试成绩与面试成绩所占的比重相等,故假设其各占50%。
则第j 个应聘者的综合分数为:
''(1) (01;1,2,...16)j j j c A B j ααα=+-≤≤=
在这里,=0.5。
于是,可以计算出16名应聘人员的综合得分,如下表所示:
应聘者 1 2 3 4 5 6 7 8 综合得分 1.0000 0.8454 0.4412 0.7786 0.6241 0.3898
0.5358 0.6102 应聘者
9
10 11
12
13
14
15
16 综合得分 0.6316 0.2059 0.1471 0.5219 0.0588 0.1546 0. 3594
0.3300
3.确定用人部门对应聘人员的评价:
根据每个部门的期望要求条件和每个应聘者的实际条件的差异,则每个部门客观地对每个应聘者都存在一个相应的评价指标(即“满意度”)。
每一个部门对应聘者的每一项指标都有一个“满意度”,即反映用人部门对某项指标的要求与应聘者实际水平差异的程度。
现在,假设用人部门对应聘者的某项指标的满意程度赋相应的数值为1,2,3,4,5,6,7。
利用模糊数学方法,设其满意度对应的数值为1,2,3,4,5,6,7。
结合偏大型柯西隶属分布函数:
21[1()],14()ln ,47x x f x a x b x αβ--⎧+-≤≤=⎨+≤≤⎩
(3)
式中,,,,a b αβ均为待定常数。
不难发现:(7)1f =;(4)0.8f =;(1)0.01f =
然后,对偏大型柯西隶属分布函数中的待定常量,,,a b αβ 进行求解,得: 2.4944α=;0.8413β=;0.3574a =;0.3046b =。
将上述计算结果代入(3)式,可得隶属函数,如下:
21[1 2.4944(0.8413)] , 14()0.3574ln 0.3046 , 47
x x f x x x --⎧+-≤≤=⎨+≤≤⎩
并且得到下表:
表5 柯西分布隶属函数计算表x 1 4 7 2 3 5 6
0.01
0.8
1
0.3499
0.6513
0.8798
0.9450
根据专家组对16名应聘者四项特长评分和7个部门的期望要求,则可以分别计算得到每一个部门对每一个应聘者的各单项指标的满意度的量化值,分别记为:
(1)(2)(3)(4)
(,,,) (1,2,...,7;1,2,...,16)ij ij ij ij s s s s i j ==
由假设(1),可取第i 个部门对第j 个应聘者的综合满意度为:
4()
1
1 (1,...,7;1,...,16)4l ij ij l s s i j ====∑
于是,得到这7个部门对这16名应聘者的综合评分,计算结果如下:
表6 7个部门对这16名应聘者的综合评分表
人部 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1 0.8028 0.7065 0.6503 0.7656 0.7075 0.6016 0.7456 0.7238 0.7619 0.5740 0.5949 0.7828 0.6503 0.6494 0.7456 0.7075
2 0.8399 0.8200 0.670
3 0.8200 0.7828 0.6902 0.7828 0.8028 0.8028 0.6225 0.6016 0.7991 0.649
4 0.6494 0.7828 0.7828 3 0.8399 0.8200 0.6703 0.8200 0.7828 0.6902 0.7828 0.8028 0.8028 0.622
5 0.601
6 0.7991 0.6494 0.6494 0.7828 0.7828 4 0.7982 0.743
7 0.5462 0.7819 0.7065 0.7456 0.7065 0.7437 0.802
8 0.6703 0.7257 0.7437 0.6225 0.7456 0.7065 0.7065 5 0.7982 0.7437 0.5462 0.781
9 0.7065 0.7456 0.7065 0.7437 0.8028 0.6703 0.7257 0.7437 0.6225 0.7456 0.7065 0.7065 6 0.8190 0.7437 0.6149 0.7991 0.7274 0.6902 0.7619 0.7473 0.8028 0.6703 0.7257 0.7991 0.6703 0.7456 0.7619 0.7274 7
0.8190
0.7437
0.6149
0.7991
0.7274
0.6902
0.7619
0.7473
0.8028
0.6703
0.7257
0.7991
0.6703
0.7456
0.7619
0.7274
4.建立模型:
现在,定义一个ij x ,且:
根据“择优按需录用”原则把问题就可以转化为下面的优化模型:
7
1616111max j ij ij ij i j j c x s x ===⎛⎫
+ ⎪⎝⎭
∑∑∑
71
716
111611;8;..12,1,,7;
011,,7;1,,16ij i ij i j ij j ij
x x s t x i x i j ====⎧
≤⎪
⎪
⎪
=⎪
⎨⎪
⎪≤≤=⎪
⎪===⎩∑∑∑∑或,
运用matlab 编程可得以下的录用方案:
表7 用人部门的录用方案表
4.2 模型Ⅱ
现在,利用模糊数学理论对考虑应聘者志愿的情况下的招聘问题进行求解: 1.确定应聘者对用人部门的满意度:
根据题意分析得知,影响应聘者对用人部门的满意度有五项指标:福利待遇、工作条件、劳动强度、晋升机会和深造机会。
通过表二,可以总结出各用人部门的基本情况的五项指标,可以分为三类,即优(小,多),中,差(大,少),并且分别对其取值为3,2,1。
利用隶属函数:
⎩⎨
⎧=录用个人被部门,第个人未被录用
第i j j x ij 1
,0
()ln ,13f x a x b x =+≤≤
令(3)1f =,(1)0.1f =,则 0.8192a =,0.1b =。
那么,所求得的隶属函数为:()0.8192ln 0.1f x x =+ 即可得到:(2)0.6678f =
由实际数据可得应聘者对每个部门的各单项指标的满意度量化值T i =(t i1,t i2,
t i3, t i4 ,t i5)(i =1,2,…,7; j =1,2,…,16)。
那么,由假设(2),可以取第j 个应聘者对第i 个部门的综合评价满意度为
5()
1
1,(1,2,...,7;1,2,...,16)5k ji ji k T T i j ====∑
于是,得到应聘者对7个部门基本情况的综合评价满意度,计算结果如下:
根据实际经验,不难发现应聘者申报类别志愿取决于自己是否愿意从事这项工作。
通过表一,志愿类别可以分为三类(即第一志愿,第二志愿,第三个志愿),并且分别对其赋值为3,2,1。
利用隶属函数:
()ln ,13f x a x b x =+≤≤
令(3)1f =,(1)0f =,则0.9102a =,0b = 那么,所求得的隶属函数为:()0.9102ln f x x = 即可得到:(2)0.6309f =
于是,每一个应聘者申报类别志愿可以被量化为(1,0.6309,0)。
这样每一个应聘者对每一个用人部门都有一个满意度权值,(1,...,7;1,...,16)ji w i j ==。
因此,可以得到第j 个应聘者对第i 个部门的满意度为:
表9 16个应聘者对7个部门的满意度表
2.确定应聘者与应聘部门双方综合满意度:
根据上面的表,可知每一个用人部门与每一个应聘者之间都有相应单方面的满意度,因此,双方之间必然存在相互满意度,记作ZM
取双方各自满意度的乘积的平方根的值为双方相互综合满意度,即
1,
,7;1,,16)ZM i j ===
利用matlab 编程,求得双方相互综合满意度,如下表所示:
表10 应聘者与应聘部门双方综合满意度表
3.建立模型:
根据“择优按需录用”原则以及“应聘者的意愿申报情况”,最优的录用分配方案应该是使得所有用人部门和录用公务员之间的相互综合满意度值最大。
即把问题就可以转化为下面的优化模型:
716
11
max ()ij i j ZM x ==∑∑
7
1
716
111611;8;..12,1,,7;
011,,7;1,,16ij i ij i j ij j ij
x x s t x i x i j ====⎧
≤⎪
⎪
⎪
=⎪
⎨⎪
⎪≤≤=⎪
⎪===⎩∑∑∑∑或,
运用matlab 编程可得以下的录用方案:
表11 用人部门的录用方案表
五.模型的分析与推广
在上述的模型中,模型一在不考虑应聘人员的意愿的情况下,按“择优按需录用”的原则,对应聘的人员进行了录用分配;模型二既考虑了应聘人员的意愿,同时又兼顾了用人部门的希望要求,在此基础上进行了对应聘人员的录用分配。
因此,更具有一定的推广价值。
现在对更为一般的情况进行讨论,即N 个应聘人员M 个用人单位时,实际中用人单位的个数M 不会太大,当应聘人员的个数N 大到一定的程度时,可以分步处理。
取所有应聘人员综合分数与用人部门综合评分的均值
1
11
1
1
, N
M N
j ij
j i j c c s s
N
NM ====
=∑∑∑
对于满足1
1
, (1,...,)M
j ij
i c c s
s j N M
=≤≤=∑或
的应聘人员淘汰掉,将剩下的应聘
者重新编号,再用上述的方法求解,确定录用分配方案。
因此,当一般情况下,有N 个应聘人员M 个用人单位时,上述模型依然可
行。
六.公务员招聘过程改进的建议
当今世界是一个物欲横流的世界,因此政府的各项工作的落实也受到不同程度的阻碍。
尤其是在公务员的招聘过程中,各种不良的社会风气也应运而生。
在对公务员的综合水平与各项能力的评定的过程中,有时具有一定的偏差。
同时在招聘公务员的过程中,仅仅只考虑笔试成绩与面试成绩是远远不够的。
结合我国目前在公务员招聘过程中存在的弊端,特提出以下改进的建议:(1)在针对不同岗位的招聘中,应侧重其不同的能力的考核,不能搞“一刀切”;
(2)加大反腐倡廉的力度,杜绝招聘公务员过程中的一切不良的社会风气;(3)在招聘公务员的过程中,加强对应聘人员的职业能力倾向的测验;(4)在公务员期间,通过多种渠道,评估其职业道德与法律基础,提升其自身修养。
七.参考文献
[1] 刘卫国等.matlab程序设计与应用[M].北京:高等教育出版社,2002年
[2] 王萼芳等.高等代数(第三版)[M].北京:高等教育出版社,2003年7月
[3] 魏然等.对公务员招聘问题的思考[J].工程数学学报(第七期).2004年12月,第21卷:137
[4] 韩中庚.招聘公务员问题的优化模型与评述[J].工程数学学报(第七期).2004年12月,第21卷:147
八.附件
程序清单:
-----------------------------------------------------------------------------
MATLAB求解程序如下:
%将16名应聘人员的笔试成绩0-1规范化
A1=[290,288,288,285,283,283,280,280,280,280,178,177,175,275,274,273]';
A1=(A1-min(A1))/(max(A1)-min(A1))
A1
-----------------------------------------------------------------------------
αβ程序
%求解偏大型柯西隶属分布函数的,,,a b
syms a b x y;
[a,b]=solve('a*log(5)+b=1','a*log(3)+b=0.8','a,b')
[x,y]=solve('(1+x*(3-y)^-2)^-1=0.8','(1+x*(1-y)^-2)^-1=0.01','x,y')
αβ程序
%求解偏大型柯西隶属分布函数的,,,a b
MATLAB求解程序如下:
syms a b x y;
[a,b]=solve('a*log(7)+b=1','a*log(4)+b=0.8','a,b')
[x,y]=solve('(1+x*(4-y)^(-2))^(-1)=0.8','(1+x*(1-y)^(-2))^(-1)=0.01','x,y')
----------------------------------------------------------------------------- MATLAB求解程序如下:
function mainfun
clc
clear all
A=5;
B=4;
C=3;
D=2;
alpha1=1.1086;
beta1=0.8942;
eata1=0.3915;
gamma1=0.3699;
alpha2=1.1086;
beta2=0.8942;
eata2=0.3915;
gamma2=0.3699;
w1=1/4.*ones(1,4);
w2=[0.4,0.6];
w3=1/4.*ones(1,4);
S1=[290,288,288,285,283,283,280,280,280,280,178,177,175,275,274,273]';
S1=(S1-min(S1))/(max(S1)-min(S1)) %归一化%
M1=[A A B B
A B A C
B A D C
A B B B
B A B C
B D A B
A B C B
B A A C
B B A B
D B A C
D C B A
A B C A
B C D A
D B A B
A B C B
B A B C];
for i=1:16
for j=1:4
if M1(i,j)<3
MM1(i,j)=(1+alpha1*(M1(i,j)-beta1)^(-2))^(-1); %运用片大型隶属分布函数将M1量化%
else
MM1(i,j)=eata1*log(M1(i,j))+gamma1;
end
end
end
MM1;
MM1=MM1*w1';
SC=S1*w2(1,1)+MM1*w2(1,2); %每位人员的综合成绩%
Y=[B A C A
A B B C
A B B C
C C A A
C C A A
C B B A
C B B A];
P=zeros(16,4,7);
for i=1:7
for j=1:16
P(j,:,i)=M1(j,:)-Y(i,:)+4;
end
end
for i=1:7
for j=1:16
for k=1:4
if P(j,k,i)<4
P(j,k,i)=(1+alpha2*( P(j,k,i)-beta2)^(-2))^(-1); %运用偏大型隶属分布函数将P量化%
else
P(j,k,i)=eata2*log( P(j,k,i))+gamma2;
end
end
end
end
MY=zeros(16,7);
for i=1:7
MY(:,i)=P(:,:,i)*w3'; %部门对每一成员面试的满意度%
end
S=MY';
save S
F=zeros(7,16);
for i=1:7
F(i,:)=S(i,:)+S1'; %每一部门对每一人员初试与面试的综合满意度%
end
f=F(:);
AA=zeros(30,112);
for i=1:16
AA(i,(i-1)*7+1:(i-1)*7+7)=1;
end
for i=17:23
for j=1:16
AA(i,(j-1)*7+i-16)=1;
end
end
for i=24:30
for j=1:16
AA(i,(j-1)*7+i-23)=-1;
end
end
AA;
bb=ones(30,1);
bb(17:23,:)=2;
bb(24:30,:)=-1;
bb
AAeq=ones(1,7*16);
bbeq=8;
[x,fval,exitflag,output] = bintprog(f,AA,bb,AAeq,bbeq)
X=zeros(7,16);
for i=1:7
for j=1:16
X(i,j)=x((j-1)*7+i,1);
end
end
X
end
function mainfun2
clc
clear all
eata=0.8192;
gamma=0.1;
alpha=0.9102;
beta=0;
w=1/5*ones(1,5);
A=[3 3 2 3 1
2 3 1 3 1
2 3 2 1 3
3 1 1 3 3
3 2 2 2 2
2 2 2 2 3
3 2 1 1 3];
A1=A;
for i=1:7
for j=1:5
A1(i,j)=eata*log(A(i,j))+gamma; %运用片大型隶属分布函数将A量化% end
end
A1;
Y=A1*w'; %部门情况的综合指标%
B=[1 3 3 2 2 1 1
2 1 1
3 3 1 1
3 2 2 1 1 1 1
1 1 1
2 2
3 3
1 2 2 3 3 1 1
1 1 1 3 3
2 2
2 1 1 1 1
3 3
1 3 3 1 1
2 2
3 1 1 2 2 1 1
2 1 1
3 3 1 1
2 1 1 1 1
3 3
1 1 1 3 3
2 2
2 3 3 1 1 1 1
3 1 1 2 2 1 1
3 1 1 1 1 2 2
2 1 1 1 1
3 3];
B1=B;
for i=1:16
for j=1:7
B1(i,j)=alpha*log(B(i,j))+beta;
end
end
B1
T=B1;
for i=1:16
T(i,:)=B1(i,:).*Y'; %每一位应聘人员对每个部门的综合满意度% end
T;
S=load('S.mat');
ZM=sqrt(S.S.*T'); %部门与应聘人员相互的综合满意度%
f=ZM(:);
AA=zeros(30,112);
for j=1:16
AA(j,(j-1)*7+1:(j-1)*7+7)=1;
end
for i=17:23
for j=1:16
AA(i,(j-1)*7+i-16)=1;
end
end
for i=24:30
for j=1:16
AA(i,(j-1)*7+i-23)=-1;
end
end
AA;
bb=ones(30,1);
bb(17:23,:)=2;
bb(24:30,:)=-1;
bb
AAeq=ones(1,7*16);
bbeq=8;
[x,fval,exitflag,output] = bintprog(f,AA,bb,AAeq,bbeq)
X=zeros(7,16);
for i=1:7
for j=1:16
X(i,j)=x((j-1)*7+i,1);
end
end %用整数规划把每一位选上的应聘者分配到各部门%
X
end
---------------------------------------------------------------------------- MATLAB求解程序如下:
function mainfun2
clc
clear all
eata=0.8192;
gamma=0.1;
alpha=0.9102;
beta=0;
w=1/5*ones(1,5);
%%
A=[3 3 2 3 1
2 3 1 3 1
2 3 2 1 3
3 1 1 3 3
3 2 2 2 2
2 2 2 2 3
3 2 1 1 3];
A1=A;
for i=1:7
for j=1:5
A1(i,j)=eata*log(A(i,j))+gamma;
end
end
A1;
Y=A1*w';
B=[1 3 3 2 2 1 1
2 1 1
3 3 1 1
3 2 2 1 1 1 1
1 1 1
2 2
3 3
1 2 2 3 3 1 1
1 1 1 3 3
2 2
2 1 1 1 1
3 3
1 3 3 1 1
2 2
3 1 1 2 2 1 1
2 1 1
3 3 1 1
2 1 1 1 1
3 3
1 1 1 3 3
2 2
2 3 3 1 1 1 1
3 1 1 2 2 1 1
3 1 1 1 1 2 2
2 1 1 1 1
3 3];
B1=B;
for i=1:16
for j=1:7
B1(i,j)=alpha*log(B(i,j))+beta;
end
end
B1
T=B1;
for i=1:16
T(i,:)=B1(i,:).*Y';
end
T;
S=load('S.mat');
ZM=S.S.*T'
%%%
end。