优化模型实例

优化模型实例
优化模型实例

摘要

本文主要研究人力资源安排的最优化方案问题。根据问题1中所提供的各专业人员结构及工资情况、不同项目和各种人员的收费标准、各项目对专业技术人员结构的要求,以及在问题2中各专业人员的四种组合情况分别建立了整数规划模型。在此基础上运用LINGO对模型进行求解,得到数学系每天的最大直接收益为40106元,以及专业人员工作天数有差异时一星期内的最大收益196070元,同时满足了各项目对专业技术人员的数量和结构要求。然后对各专业技术人员人数改变对收益的影响和最优解不变条件下项目薪酬的变化进行了灵敏度分析。

最后在适当简化模型的同时,对模型进行了改进和推广,使得该模型在解决实际问题时更具有可信性和可用性。

关键词:人力资源安排整数规划灵敏度分析人员能力系数 LINGO

一问题重述

某学校数学系现有64名教师,不同职称结构的专业技术人员相应的日工资水平标准不同。目前,该系承接有4个项目,其中2项项目实践,需要到现场监理,分别在A地和B地,主要工作在现场完成;另外2项是理论研究,分别在C 地和D地,主要工作在办公室完成。由于4个项目来源于不同客户,并且工作的难易程度不一,因此,各项目的合同对有关技术人员的报酬标准不同。

为了保证项目质量,各项目中必须保证各职称人员结构符合客户的要求。根据题目中的表3可以看到,4个项目地对技术人员总人数都有限制;各项目客户对教授的配备有不能少于一定数目的限制,也不能超过其最高要求;对于项目D,由于技术要求较高,人员配备必须是讲师以上,助教不能参加;而且,C、D项目需每人每天支付50元的管理费开支。

(1)、4个项目总共同时最多需要的人数是17+20+15+18=70,多于数学系现有人数64。因此,要求通过建立合理的数学模型,来合理分配现有的技术力量,使数学系每天的直接收益最大,并且满足各项目对专业技术人员的要求。

(2)、以一个星期为周期,每个教授最多只能工作四天,每个副教授最多只能工作5天,讲师和助教每天都可以工作。此时又如何合理的分配现有的技术力量,使数学系一个星期的直接收益最大,并且满足各项目对专业技术人员的要求

二问题分析

在本问题中,要求合理的分配人力资源,但是问题中含有复杂的约束条件,不仅要使得数学系每天的直接收益达到最大,而且要满足了各项目对专业技术人员的要求。因此,本问题的关键在于两个方面:

(1)尽可能的把数学系的现有人员都安排到4个项目地,因为各专业技术人员的项目报酬都比其相应的工资要高,故对每个专业人员均能获得直接收益;

(2)要对人员的分配做到最优,因为各专业技术人员的项目报酬标准各不相同,所以不同的分配方案的直接收益可能不同;

由于人员安排不可能是小数,因此本问题应该是一个整数规划问题,数学系的直接收益是目标函数,而对于约束条件主要涉及到以下几个方面:(1)各项目对人员总数的约束,各项目的总人数不能超过规定的限制;

(2)各项目对人员结构的约束,比如,各项目对教授的配备不能少于一定的数目,也不能超过一定的的限度。对于项目D,由于技术要求较高,助教不能参加,各项目对其他职称人员也有不同的限制或要求;

(3)数学系的人员总数的约束,这主要表现在现有人数和工资两个方面,数学系现有人员总数64人,少于个项目最多需要的人数70人,而数学系要发放给专业人员工资,这就使得数学系的直接收益减少;

(4)管理费开支, C、D两项目要求每人每天有50元的管理费开支,所以分配在C、D两地的人员数越多,也将使得数学系的直接收益降低。

对于问题2中,由于在一个星期内,各人员的工作天数有限制,所以必须考虑到在工作天数的限制下,如何安排各专业人员在一星期内进行工作,使得数学系在一星期内的直接收益最大,同时满足问题1中的相应要求。

可以看出,要使得数学系的直接收益最大,就应该使得总项目薪酬最高,而管理费和工资开支最低,用公式可以表示为:

费开支报酬-人员工资-管理直接收益=项目所得总

三 模型假设与符号说明

模型假设

(1) 假设各数学系的人员,无论是否安排到4各项目工作,都应发放工资; (2) 假设在一段时间内,各专业技术人员的收费和工资不发生变化;

(3) C 、D 两项目的除管理费外没有其他费用开支,并且人员不在C 、D 两地工

作时不开支管理费;

(4) 同一级别的专业技术人员的工作能力是没有差别的;

(5) 在一段时间内,公司不会再增加和减少各专业技术人员的人数; (6) 在一星期这个周期内的某一天,不因某职称的专业技术人员不工作而使得

各项目的人员结构的要求受到影响。 基本符号定义与说明

4,3,2,1=i ----分别表示教授、副教授、讲师和助教; 4,3,2,1=j ----分别表示A,B,C,D 四个项目所在地;

R ----数学系的直接收益,单位为元;

ij c ----表示第i 人员对第j 项目的收费,其矩阵形式记为ij ij c C )(=; ij x ----表示第i 人员安排在第j 项目的人数,ij x 为整数;

i a ----表示第i 人员的工资,单位元/天; i b ----表示第i 人员的现有数量; j d ----表示第j 项目限制的人数;

ij n ----表示项目地j 对人员i 的最低要求,其矩阵形式记为ij ij n N )(=; ij m ----表示项目地j 对人员i 的最高要求,其矩阵形式记为ij ij m M )(=;

四 模型建立及分析

根据对问题的分析和模型假设,综合考虑各因素的影响,分别对问题1和问题2建立整数规划模型。

模型一:技术人员的工作天数无差别

在各专业技术人员工作天数相同和现有人员总数的情况下,同时要保证各项目地对总人数和人员结构的限制,以每天的直接收益最大为目标函数,建立模型。

资-管理费开支目所得总报酬-人员工数学系的直接收益=项

其中,项目所得总报酬可以表示为:ij i j ij x c ∑∑==4141

,管理费为:∑=+4

1

43)(50i i i x x ,

在人员数不变动时,人员工资∑=4

1

i i i b a 是不变的。

在目标函数下必须考虑如下的约束条件, 数学系总人数的约束:i j ij b x ≤∑=4

1,4,3,2,1=i

各项目对总人数的约束:j i ij d x ≤∑=4

1

,4,3,2,1=j

各项目对人员结构的约束:ij ij ij m x n ≤≤,4,3,2,1=i ,4,3,2,1=j 因此,可以将此情况下的模型一表示为:

目标函数 Max ∑∑∑∑====+--4

1

434

1

4

14

1

1)(50i i i i i i i j ij ij x x b a x c R =

. i j ij b x ≤∑=4

1

,4,3,2,1=i

j i ij d x ≤∑=4

1

,4,3,2,1=j

ij ij ij m x n ≤≤,4,3,2,1=i ,4,3,2,1=j ij x 取整数,4,3,2,1=i ,4,3,2,1=j

模型二:技术人员的工作天数不相同

在一个星期内,由于各专业技术人员的工作天数不同,所以在问题1的情况下还应考虑由于工作天数不同而使最优方案的改变。对问题进行分析,可以得到下述结论。

以一个星期为一个周期,为了获得最大的直接收益,数学系的专业技术人员的工作天数都应该为最大。

事实上,对于每个专业技术人员,其项目所得报酬减去工资和管理费仍然能够获得直接收益,即050>--i ij a c 。如果某专业技术人员在一星期内的工作天数没有达到最大,即使是在C 、D 两项目地的管理费可以不开支,数学系同样要给该技术人员发放工资,而技术人员的工资均多于管理费,也即050>-i a ,这样数学系的直接收益必然要减少。所以,为了获得最大的直接收益,各专业技术人员的工作天数都应该达到最大。

因此,在一个星期内,每个教授应该工作4天,每个副教授应该工作5天,讲师和助教一周7天都要工作。

在上面结论的条件下,数学系人员的组合情况只有以下四种:教授、副教授、

讲师和助教;教授、讲师和助教;副教授、讲师和助教;讲师和助教。而且,在一星期内,至少有2天是在教授、副教授、讲师和助教的组合情况下工作,至少有1天是在副教授、讲师和助教的组合情况下工作。对四种不同的组合情况分别进行建模求解。

情况1:教授、副教授、讲师和助教都工作

这种情况下,由于各专业技术人员的构成与问题1完全相同,所以此时的模型与模型一完全相同,各人员的分配情况也相同。 情况2:只有副教授、讲师和助教工作

在只有副教授、讲师和助教工作,教授不工作时,各项目对人员构成的要求要改变为下表所示的情况:

表1 副教授、讲师和助教工作,教授不工作的人员结构

(注:其中的总人数要求要相应得减去对教授的最低人数要求)

此时,只需对模型一稍作修改即可得到该情况下的模型二,如下: 目标函数 Max ∑∑∑∑====+--4

2

434

1

4

24

1

)2(2)(50i i i i i i i j ij ij

x x b a x c R =

. i j ij b x ≤∑=4

1

,4,3,2=i

)2(4

2

j i ij d x ≤∑=,4,3,2,1=j

ij ij x n ≤)

2(,4,3,2=i ,4,3,2,1=j

824≤x 044=x ij x 取整数,4,3,2=i ,4,3,2,1=j

其中和分别为项目D 对副教授和助教的人员要求,∑=4

1i i i b a 表示对于不工作的

教授仍然要发放工资;、、 中的)2(ij c 、)2(j d 、)2(ij n 分别为对应于此模型下的取值。

情况3:只有教授、讲师和助教工作

与情况类似,在只有教授、讲师和助教工作,副教授不工作时,各项目对人

员构成的要求要改变为下表所示的情况:

(注:其中的总人数要求要相应得减去对副教授的最低人数要求)

此时,只需对模型一稍作修改即可得到该情况下的模型三,如下: 目标函数 Max ∑∑∑

∑≠==≠==+--4

2

,143

4

1

4

2,14

1

)3(3)(50

i i i i i i i i i j ij ij

x x

b a x c

R =

. i j ij b x ≤∑=4

1

,4,3,1=i

)3(4

2

,1j i i ij

d x

≤∑≠=,4,3,2,1=j

ij ij x n ≤)

3(,4,3,1=i ,4,3,2,1=j

044=x ij x 取整数,4,3,1=i ,4,3,2,1=j

其中项目D 对助教的人员要求,∑=4

1i i i b a 表示对于不工作的副教授仍然要发放

工资;、、 中的)3(ij c 、)3(j d 、)3(ij n 分别为对应于此模型下的取值。

情况4:只有讲师和助教工作

在只有讲师和助教工作,教授和副教授不工作时,各项目对人员构成的要求为下表:

此时,只需对模型二或模型三稍作修改即可得到该情况下的模型四,如下: 目标函数 Max ∑∑∑∑====+--4

3

434

1

4

34

1

)

4(4)(50i i i i i i i j ij ij

x x b a x c R =

. i j ij b x ≤∑=4

1

,4,3=i

)4(4

3

j i ij d x ≤∑=,4,3,2,1=j

ij ij x n ≤)

4(,4,3=i ,4,3,2,1=j

044=x ij x 取整数,4,3=i ,4,3,2,1=j

其中为项目D 对助教的人员要求,∑=4

1i i i b a 表示对于不工作的教授和副教授仍

然要发放工资;、、 中的)4(ij c 、)4(j d 、)4(ij n 分别为对应于此模型下的取值。

五 模型求解

模型一的求解

模型一中有约束条件ij ij ij m x n ≤≤,4,3,2,1=i ,4,3,2,1=j ,其中ij n 表示项目地j 对人员i 的最低要求,其值是表3中各项目对专业技术人员要求的最小值,即,

4

44

4440131

122222221221

)(???

?

??????????==n N , ij m 表示项目地j 对人员i 的最高要求,其中,,,,24141211m m m m 为相应人员要求

的最大值,0,24413==m m ,其他值是表3中第j 项目的总人数j d 减去除ij m 之外第i 人员最低人数之和的差值,比如1312117413111121=---=---=n n n d m 。

ij m 的计算结果如下:

4

409141215101313810131132253

)(?????

?????

???=ij ij m M = 对模型运用LINGO 编程进行求解,得到各项目分配人员结果如下表:

表4 技术人员的工作天数无差别的分配情况

从表4可以看出,数学系的各专业技术人员均完全分配到四个项目地,并且分配到四个项目地的教授人员恰好是各项目的最高人员要求。对于分配到各个项目地的人员都达到了其对各技术人员结构的要求,而且各个项目地总人员数,除了D 项目为12人,没有达到其上限18人外,其他3个项目的都达到了其上限人数要求。

这表明所建立的模型是合理的,数学系的人力资源做到了合理使用,并且满足了客户的要求。

模型二的求解:

模型中只有副教授、讲师和助教工作,教授不工作,所以i 的取值为4,3,2=i 。对于不工作的教授按照要求仍然要发放工资,所以在目标函数中仍然要除去教授的工资。对模型用LINGO 编程进行求解,得到各项目分配人员结果如下:

从表5可以看出,四个项目地分配讲师的人数由模型一的B 地、D 地的5人和8人变化为8人和5人,其他人员的分配情况与模型一的相同,只是由于在D 地要支付每人每天50元管理费的缘故。另外,与模型一不同,在表4中只有B 、C 两项目地分配的人员总数达到了其上限值。

模型三的求解

模型中只有教授、讲师和助教工作,副教授不工作,所以i的取值为4,3,1

i。

=

对于不工作的副教授按照要求仍然要发放工资,所以在目标函数中仍然要除去副教授的工资。对模型用LINGO编程进行求解,得到各项目分配人员结果如下:

表6 只有教授、讲师和助教工作的人员分配情况

从表6可以看出,四个项目地分配人员的与模型一的相同,与模型一不同的只是在表6中只有B项目地分配的人员总数达到了其上限值。

模型四的求解

在这里,只有讲师和助教工作,i的取值只能为4,3

i,对于不工作的教授

=

和副教授按照要求仍然要发放工资,所以在目标函数中仍然要除去教授和副教授的工资。对模型用LINGO编程进行求解,得到各项目分配人员结果如下:

与模型二的相同,只是此情况下只有B项目地分配的人员总数达到了其上限值。

根据以上结果,四种情况下的数学系每天直接收益分别为40160元、25410元、19760元和5010元。由于教授在一星期内要工作四天,而在情况1下工作时直接收益最高,故教授只能工作在教授、副教授、讲师和助教的组合之下。另外,至少有1天是在情况2下工作,即副教授、讲师和助教的组合情况,此时副教授的工作天数以达到了5天,所以剩下的两天只能是讲师和助教的组合情况,即情况4。

可以看出,在以一星期为周期时,为了使数学系的直接收益达到最大,应该安排4天在情况1下工作,1天在情况2下工作,2天在情况4下工作。

这样,数学系在一星期内的直接收益为:

=?

?

R元

25410

196070

4=

5010

40160

2

平均每天可得到直接收益为28010元,比模型一的每天直接收益40160元要少12150元。

对于具体的工作方案可以按照实际情况灵活安排,比如在一星期内,周一到

周四所有的专业技术人员按照表4分配到四个项目地工作,周五教授不工作,周六到周七副教授也不工作,并且从周五开始要从D项目地抽调3位技术人员到B 项目地工作。

六灵敏度分析

由于模型中的数据不是绝对不变的,因此有必要分析以下这些数据发生波动时,对目前的最优解和最优值会产生什么影响,即灵敏度分析。模型以及参数的敏感性反映了各种因素影响结果的显著程度。

在本题中对模型结果产生影响的因素很多,故选取主要的参数进行灵敏度分析,特别地,这里只对模型一进行灵敏度分析,而对于模型二和三可进行相似的灵敏度分析。

各专业技术人员人数的改变对收益的影响

在LINGO中对每个专业技术人员的人数逐个的在-5到10之间增加或减少,分析人员变动对数学系收益的影响。其变化趋势可以从下图中明显地看出来。

图直接收益随人员增减的变化趋势

由图可以看出,模型的结果随变量的增加程线性变化,模型的稳定性较好。在现有的教授的情况下,数学系的直接收益最大,而无论是增加和减少教授人数都会使得数学系收益减少;副教授、讲师和助教在增加不超过3人时,收益是一直增加的,而大于3人时,对于副教授其收益不变,对于讲师和助教其收益均有所减少。所以,在其他条件不变的情况下,该数学系可以考虑在各增加3名副教授、讲师和助教的人数,以提高其直接收益。

最优解不变条件下项目薪酬标准的变化范围

在实际中由于各项目的薪酬标准会不断变化,导致了目标函数中C的变化,所以当C在一定范围变化,而最优解不变时,最优解则具有可信性,模型也有更好的应用价值。在LINGO中对整数规划没有提供灵敏度分析的功能,但是在去掉

x的整数约束时,发现模型的最优解并没有改变,所以可以考虑去掉整模型中

ij

数约束以进行相应灵敏度分析,其输出结果见附录5,其中与Current

Coefficient 对应的Allowable Increase 和Allowable Decrease 给出了最优解不变的条件下目标函数系数(即,项目薪酬标准)的允许变化范围,按照Current RHS -Allowable Decrease

型仍然是最优的,从而可以减少时间和精力,提高人员分配的效率。

七 模型的简化、评价与推广

模型简化

在模型一中,每个项目都有最低要求,故可以先按照其最低要求对人员进行预分配,即按照矩阵ij ij n N )(=先将ij x 的值取为N x X ij ij =)()0()0(=,此时可以计算得15760)(504

1

434

1

)0(4

14

1)

0(=+--∑∑∑∑====i i i i i

i i j ij

ij x x b

a x

c 元,其中)5,7,8,6()0(=i b ,此时

数学系还剩下6名教授,而项目的最高要求恰好为6名,故可以先把教授分配完,

此六名教授的直接收益为5950元,而4个项目地分配教授分别为3,5,2,2。故可以对模型一进行简化,得到简化的模型如下: 目标函数 Max ∑∑∑∑====+--4

2

434

2

4

24

1

)(50i i i i i i i j ij ij x x b a x c R =

. )1(4

1

i j ij b x ≤∑=,4,3,2=i

)1(4

2

j i ij d x ≤∑=,4,3,2,1=j

)

1(ij ij m x ≤,4,3,2=i ,4,3,2,1=j

ij x 取整数,4,3,2=i ,4,3,2,1=j

其中,)1(i b =(17,10,5),)1(j d =(9,8,8,13)

??

??

?

?????==0889138896889)()

1(ij m M 模型推广

在实际问题中,由于各级别专业的技术人员的工作能力是有区别,即使是同

一级别的专业人员其工作能力也不可能完全相同,所以各个项目客户必然对不同能力的专业人员的薪酬标准有所区别,而不仅仅是由项目的难易程度来决定人员的薪酬标准。因此,可以考虑定义一个人员的能力系数指标,以便来确定人员的薪酬标准。

ij ij ij k βα熟练度=适宜度人员能力系数?

其中,ij α适宜度指各专业技术人员对不同难易程度项目的适应性的大小,其取值范围在]1,0[之间,ij β熟练度是指各人员对所从事的项目经验的高低,解决问题的熟练程度的度量,其取值也在]1,0[之间。α适宜度和β熟练度可以由项目客户的专家与数学系负责人之间确定。

然后,将各个客户拟定的各项目薪酬标准ij c 与ij k 10相乘,即可得到更合理地薪酬标准ij p ,即ij ij ij c k p 10=。将ij p 替换掉以上模型中的ij c 即可得到相应的模型,并进行求解分析。

当不同的数学系承担某项目时,只需要评测相应的ij k 人员能力系数即可,从而使得模型应用更广泛、操作更简洁。 模型评价 模型的优点:

(1)本文建立的最优模型与实际紧密联系,结合实际情况对问题进行求解,使模型更贴近实际,通用性较强,而且模型简单易行,有可靠的依据。

(2)问题2中,对于得到的最优方案,如何安排人员工作可以根据实际情况做出决定,灵活方便,易于施行,又不会影响模型的使用。

(3)针对重要的因素进行了灵敏度分析,为合理分配人员,提高人力资源的利用率有很好的参考价值。

模型的缺点:

(1)在灵敏度分析中,对模型中最优值的影响因素只是从单个方面的变化因素进行考虑的,不是十分的全面。

(2)在模型建立上,只是从规划的方面进行讨论和求解,对于其他方面只是进行简单的说明,而没有实际的求解过程。

参考文献

[1] 吴建国主编,数学建模案例精编,北京:中国水利水电出版社,2005.

[2] 袁新生主编,LINGO和Excel在数学建模中的应用,北京:科学出版社,2007.

[3] 姜启源谢金星叶俊编,数学模型(第三版),北京:高等教育出版社,2003.

[4] 陶学明应俊郑洁,但琦, 人力资源安排问题,,方林锋马莉胡依娜, 人力资源调度优化模型,,韩魏吴华建唐云岚,基于CMMI的人力资源配置模型研究,计算机工程,第32卷第3期:91-93,.

附录

附录1:模型一求解程序

model:!人力资源安排问题;

sets:

row/1..4/:a,b;

cloum/1..4/:d;

links(row,cloum): x,c,n,m;

endsets

data:

a=250 200 170 110;

b=12 25 17 10;

d=17 20 15 18;

c= 1000 1500 1300 1000

800 800 900 800

600 700 700 700

500 600 400 500;

n=1 2 2 1

2 2 2 2

2 2 2 1

1 3 1 0;

m=3 5 2 2

13 13 10 8

13 13 10 15

12 14 9 0;

enddata

max=@sum(links(I,J):c(I,J)*x(I,J))-@sum(links(I,J)|J#ge#3:50*x(I,J))-@sum(row(I):a(I)*b(I));!目标函数;

@for(row(I):@sum(cloum(J):x(I,J))<=b(I));!约束条件;

@for(cloum(J):@sum(row(I):x(I,J))<=d(J));

@for(links(I,J):@bnd(n(I,J),x(I,J),m(I,J)));

@for(links(I,J):@gin( x(I,J)));

end

附录2:模型二求解程序

模型二求解:

model:!人力资源安排问题;

sets:

row/1..4/:a,b;

cloum/1..4/:d;

links(row,cloum): x,c,n,m;

endsets

data:

a=250 200 170 110;

b=12 25 17 10;

d=16 18 13 17;

c= 1000 1500 1300 1000

800 800 900 800

600 700 700 700

500 600 400 500;

n=1 2 2 1

2 2 2 2

2 2 2 1

1 3 1 0;

enddata

max=@sum(links(I,J)|I#ge#2:c(I,J)*x(I,J))-@sum(links(I,J)|I#ge#2#and#J#ge#3:50* x(I,J))-@sum(row(I):a(I)*b(I));!目标函数;

@for(row(I)|I#ge#2:@sum(cloum(J):x(I,J))<=b(I));!约束条件;

@for(cloum(J):@sum(row(I)|I#ge#2:x(I,J))<=d(J));

@for(links(I,J)|I#ge#2:x(I,J)>=n(I,J));

x(2,4)<=8;

x(4,4)=0;

@for(links(I,J)|I#ge#2:@gin( x(I,J)));

End

附录3:模型三求解程序:

model:!人力资源安排问题;

sets:

row/1..4/:a,b;

cloum/1..4/:d;

links(row,cloum): x,c,n,m;

endsets

data:

a=250 200 170 110;

b=12 25 17 10;

d=16 18 13 16;

c= 1000 1500 1300 1000

800 800 900 800

600 700 700 700

500 600 400 500;

n=1 2 2 1

2 2 2 2

2 2 2 1

1 3 1 0;

m=3 5 2 2

13 13 10 8

13 13 10 15

12 14 9 0;

enddata

max=@sum(links(I,J)|I#ne#2:c(I,J)*x(I,J))-@sum(links(I,J)|I#ne#2#and#J#ge#3:50*x(I,J))-@s um(row(I):a(I)*b(I));!目标函数;

@for(row(I)|I#ne#2:@sum(cloum(J):x(I,J))<=b(I));!约束条件;

@for(cloum(J):@s u m(row(I)|I#ne#2:x(I,J))<=d(J));

@for(links(I,J)|I#ne#2:@bnd(n(I,J),x(I,J),m(I,J)));

@for(links(I,J)|I#ne#2:@gin( x(I,J)));

end

附录4:模型四求解程序:

model:!人力资源安排问题;

sets:

row/1..4/:a,b;

cloum/1..4/:d;

links(row,cloum): x,c,n;

endsets

data:

a=250 200 170 110;

b=12 25 17 10;

d=14 16 11 15;

c= 1000 1500 1300 1000

800 800 900 800

600 700 700 700

500 600 400 500;

n=1 2 2 1

2 2 2 2

2 2 2 1

1 3 1 0;

enddata

max=@sum(links(I,J)|I#ge#3:c(I,J)*x(I,J))-@sum(links(I,J)|I#ge#3#and#J#ge#3:50* x(I,J))-@sum(row(I):a(I)*b(I));!目标函数;

@for(row(I)|I#ge#3:@sum(cloum(J):x(I,J))<=b(I));!约束条件;

@for(cloum(J):@sum(row(I)|I#ge#3:x(I,J))<=d(J));

@for(links(I,J)|I#ge#3:x(I,J)>=n(I,J));

x(4,4)=0;

@for(links(I,J)|I#ge#3:@gin( x(I,J)));

End

附录5:对模型一的灵敏度分析结果(去掉整数的约束)

Ranges in which the basis is unchanged:

Objective Coefficient Ranges

Current Allowable Allowable

X( 1

X( 1, 4) INFINITY

X( 2, 1)

X( 2, 2) INFINITY

X( 2, 3)

X( 2, 4)

X( 3, 1) INFINITY

X( 3, 2)

X( 3, 3) INFINITY

X( 3, 4)

X( 4, 1) INFINITY

X( 4, 2) INFINITY

X( 4, 3) INFINITY

X( 4, 4) INFINITY

Righthand Side Ranges

Row Current Allowable Allowable

RHS Increase Decrease

2 INFINITY

3

4

5

6

7

8

9 INFINITY

附录6:直接收益随人员增减的变化趋势图的MATLAB程序

clear

clc

n=-5:10;

a=[ -4600 -3400 -2200 -1450 -700 0 -250 -500 -750 -1000 -1250 -1500 -0 -2500]; b=[-3000 -2400 -1800 -1200 -600 0 550 1100 1650 2200 2750 3300 3300 3300 3300 3300]; c=[-2400 -1920 -1440 -960 -480 0 480 960 1440 1920 2400 2880 2810 2740 2670 2600]; d=[-2200 -1760 -1320 -880 -440 0 440 880 1320 1660 2000 2340 2230 2120 2010 1900]; hold on

plot(n,[a;b;c;d],'LineWidth',,'MarkerSize',2)

plot(n,[a;b;c;d],'s','MarkerSize',5)

title('直接收益随人员增减地变化')

xlabel('人员增减量(个)')

ylabel('直接收益增减量的变化(元)')

gtext({'教授';'副教授';'讲师';'助教'})

hold off

附录7:专业技术人员的人数的逐个增加或减少,使数学系直接收益的变化

运输优化模型参考

运输问题 摘要 本文根据运输公司提供的提货点到各个客户点的路程数据,利用线性规划的优化方法与动态优化模型——最短路径问题进行求解,得到相关问题的模型。 针对问题一 ,我们采用Dijkstra 算法,将问题转化为线性规划模型求解得出当运送员在给第二个客户卸货完成的时,若要他先给客户10送货,此时尽可能短的行使路线为: 109832V V V V V →→→→,总行程85公里。 针对问题二,我们首先利用prim 算法求解得到一棵最小生成树: 再采用Dijkstra 算法求得客户2返回提货点的最短线路为12V V →故可得到一条理想的回路是:121098436751V V V V V V V V V V V →→→→→→→→→→ 后来考虑到模型的推广性,将问题看作是哈密顿回路的问题,建立相应的线性规划模型求解,最终找到一条满足条件的较理想的的货车送货的行车路线: 121098436751V V V V V V V V V V V →→→→→→→→→→。 针对问题三,我们首先直接利用问题二得一辆车的最优回路,以货车容量为限定条件,建立相应的规划模型并设计一个简单的寻路算法,最终可为公司确定合理的一号运输方案:两辆车全程总和为295公里(见正文);然后建立线性规划模型得出二号运输方案:两辆车全程总和为290公里(见正文);最后再进一步优化所建的线性规划模型,为运输公司 针对问题四,我们首先用Dijkstra 算法确定提货点到每个客户点间的最短路线,然后结合一些限定条件建立一个目标模型,设计一个较好的解决方案进行求解可得到一种很理 该方案得到运输总费用是645元。 关键字:Dijkstra 算法, prim 算法, 哈密顿回路 问题重述

优化模型在生活中的应用

优化模型在生活中的应用 人类生活在丰富多彩、变化万千的现实世界里,无时无刻不在运用智慧和力量去认识、利用、改造这个世界,从而不断地创造出日新月异、五彩缤纷的物质文明和精神文明。而在我们认识、利用和改造世界时我们往往离不开数学方法,数学建模则是利用数学方法解决实际问题的一种实践。通过抽象,简化、假设、引进变量等处理过程后,将实际问题用数学方式表达,建立起数学模型,然后运用先进的数学方法及计算机技术进行求解。 人们生活是离不开数学的,衣食住行等各个方面都需要数学,倘若能在这些实际问题中建立各种各样的比较典型的数学模型,在遇到生活中的这些琐碎小事时,就能更高效、更正确地进行处理了。 必须说明的是,建立数学模型需要用系统的某种特征的本质的数学表达式(或是用数学术语)对部分现实世界的描述即用数学式子(如函数,图形,代数方程,微分方程,积分方程,差分方程等)来描述所研究的客观对象或系统在某一方面的存在规律。 优化模型是生活过程中必须用到的的数学模型,其建立目的就是为了得到最大化的工作效益以及减少投资等一系列最优条件。一般来说,我们在生活中经常应用这种模型,却没有将其抽象出来,明文对其进行规定。 1.模型类型说明举例 在姜启源先生等人主编的《数学模型》一书中提到过这样一个例子: “一饲养场每天投入4元资金用于饲料、设备、人力,估计可使一头80公斤重的生猪每天增加2公斤.目前生猪出售的市场价格为每公斤8元,但是预测每天会降低0.1元,问该场应该什么时候出售这样的生猪。” 在上述描述中,我们将设计到的特征,用数值明确地表示出来,通过构建数学式子便可很快的计算出最佳的出售时机。建模解答过程如下: 模型假设每天投入4元资金使生猪体重每天增加常数r(=2公斤);生猪出售的市场价格每天降低常数g(=0.1元). 模型建立给出以下记号:t ~时间(天).w ~生猪体重(公斤);~p 单价 (元/公斤);R-出售的收入(元);C-t 天投入的资金(元);Q-纯利润(元). 按照假设,)1.0(8),2(80=-==+=g gt p r rt w .又知道t C pw R 4,==,再考虑到纯利润应扣掉以当前价格(8元/公斤)出售80公斤生猪的收入,有808?--=C R Q ,得到目标函数(纯利润)为 其中1.0,2==g r .求)0(≥t 使)(t Q 最大.

列车运行调整的优化与仿真

0引言 系统仿真是利用系统模型对实际系统进行实验研究的过程。基于安全性和经济性的考虑,系统仿真可在不破坏真实系统环境的情况下,构造模型代替实际系统进行实验,并根据仿真结果推断、估计、评价真实系统的性能[1]。作为一种行之有效的认知方法,系统仿真技术已在铁路运输、航空航天、经济管理、决策优化、军事演习、安全软件测试评估等诸多领域得到了广泛的应用。我国从20世纪80年代开始进行铁路运输计算机仿真的研究,近些年来有了较大进展。计算机仿真技术在铁路运输领域的应用包括列车运行、调度指挥、牵引操纵、铁路基建、站场作业、列车动力学、信号系统等方面[2-7]。如刘海东[4]等在介绍了城市轨道交通不同信号闭塞方式及其追踪列车间隔时间的计算方法的基础上建立了不同信号闭塞方式多列车追踪运行的仿真系统; 程瑞琪[7]等在探讨了区间列车运行分布式仿真系统的构建方法及区间列车的运行动态基础上,提出区间列车运行仿真系统分布式结构和模型等。 列车运行调整是对列车运行图阶段计划的优化,即根据本调度台管辖范围内列车运行图、列车实时运行情况以及相邻调度台预报的列车到达情况,规划3 ̄4小时时间段的运行调整计划,达到提高列车正点率、提高列车运行速度等综合目标。列车运行调整涉及因素众多,它不仅与各国采用的行车组织方式有关,还关系到列车密度、速度、线路通过能力等因素,属于非确定多项式(Non-deterministicPolynomial,NP)难解的组合优化问题。仿真技术是进行列车运行调整模型与算法研究的重要技术手段,国内学者已进行了大量的研究工作,包括列车运行调整模型与算法的仿真实验和仿真计算等,实现各种优化模型和调整算法[8-10,12-14];张莉 收稿日期:2007-05-24 作者简介:金炜东,成都市二环路北一段111号西南交通大学电气工程学院,教授,主要从事优化与系统仿真、智能信息处理、控制与检 测技术等领域的研究;E-mail:wdjin@home.swjtu.edu.cn 列车运行调整的优化与仿真 金炜东1,章优仕1,高四维2 1.西南交通大学电气工程学院,成都610031 2.西南交通大学峨嵋校区交通运输系,四川峨嵋614202 [摘要]列车运行调整是一类高度复杂的组合优化问题,仿真技术是列车运行调整研究的重要技术手段。在建立了基于满意优化的列 车运行调整智能化决策支持系统模型基础上,介绍了仿真技术在列车运行调整优化中的应用,以及用于铁路列车调度员技能培训的仿真系统。 [关键词]仿真技术;列车运行调整;满意优化;仿真培训系统[中图分类号]TP391.9,U292.42[文献标识码]A [文章编号]1000-7857(2007)12-0018-05 TheOptimizationandSimulationofRailwayRescheduling JINWeidong,ZHANGYoushi,GAOSiwei 1.SchoolofElectricalEngineering,SouthwestJiaotongUniversity,Chengdu610031,China; 2.EmeiCampusSouthwestJiaotongUniversityDepartmentofTrafficandTransportation,Emei614202,SichuanProvince,China Abstract:Railwayreschedulingisaverycomplicatedcombinatorialoptimizationproblem,whichcanbesolvedbyusingthesimulationtechnique.Onthebasisofamodelfortheintelligentdecisionsupportsystemforrailwayreschedulingandusingtheoptimizationmethod,thispaperstudiestheapplicationsofthesimulationtechniquetorailwayreschedulingoptimizationandtothesimulationsystemfortrainingrailwaydispatchers. KeyWords:simulationtechnique;railwayrescheduling;satisfactoryoptimization;simulatedtrainingsystemCLCNumbers:TP391.9,U292.42DocumentCode:AArticleID:1000-7857(2007)12-0018-05 18

数学建模实验答案_简单地优化模型

实验03 简单的优化模型(2学时) (第3章简单的优化模型) 1. 生猪的出售时机p63~65 目标函数(生猪出售纯利润,元): Q(t) = ( 8 – g t )( 80 + rt ) – 4t – 640 其中,t≥ 0为第几天出售,g为每天价格降低值(常数,元/公斤),r为每天生猪体重增加值(常数,公斤)。 求t使Q(t)最大。 1.1(求解)模型求解p63 (1) 图解法 绘制目标函数 Q(t) = ( 8 – g t )( 80 + rt ) – 4t – 640 的图形(0 ≤t≤ 20)。其中,g=0.1, r=2。 从图形上可看出曲线Q(t)的最大值。 (2) 代数法 对目标函数 Q(t) = ( 8 – g t )( 80 + rt ) – 4t – 640 用MATLAB求t使Q(t)最大。其中,r, g是待定参数。(先对Q(t)进行符号函数求导,对导函数进行符号代数方程求解) 然后将代入g=0.1, r=2,计算最大值时的t和Q(t)。 要求: ①编写程序绘制题(1)图形。 ②编程求解题(2). ③对照教材p63相关内容。 相关的MATLAB函数见提示。 ★要求①的程序和运行结果:

★要求②的程序和运行结果:

1.2(编程)模型解的的敏感性分析p63~64 对1.1中(2)所求得的符号表达式t(r,g),分别对g和r进行敏感性分析。 (1) 取g=0.1,对t(r)在r=1.5:0.1:3上求r与t的关系数据,绘制r与t 的关系图形(见教材p65)。 (2) 取r=2,对t(g)在g=0.06:0.01:0.15上求g与t的关系数据,绘制g 与t的关系图形(见教材p65)。 要求:分别编写(1)和(2)的程序,调试运行。 ★给出(1)的程序及运行结果:

3DMAX优化模型

优化 关于优化这个问题群里不止一个人问我了,我也懒得每次都详细解释。直接上图解释 :如图我们有时候在网上下的模型面数是很多的这个面数太多会严重影响到MAX的运行速度,这个简单的雕花就有70万面,现在就需 要优化这个模型,让其面数降低而且不影响这个模型的本来外观。MAX 优化的命令以我知道的有两个一个就是英文名optimize(优化)汉版好像就是叫优化,但是这个我从来不用下面介绍另外一个 Multires 这个命令汉版也是叫这个名字。汉语翻译过来的意思不

知道我只知道他可以优化模型面数。 如图这个是我们用optimize(优化)这个命令优化的现在模型的面数减少到了17万面顶点8万多,虽然大大的减少了模型的面数但是我觉得还不够。 下面我们用Multires这个命令进行优化如图

如图我们现在的模型面数是1万五顶点是七千多。从将近80万的面

到现在1.5万,这些大家自己去体会吧。还有就是Multires这个命令优化不会影响贴图效果,就是模型贴了图的不会出现贴图破了的现象,然而optimize(优化)这个命令有时候会贴图破掉。但是optimize(优化)这个命令可以对组使用就是一个成组的物体可以使用前提是你的电脑可以抗得住,不是很容易死机。Multires这个命令有时候可以对成组使用但是很容易死机,一般是对单个物体使用而且物体的面数不要太多如果超过三四十万面的一个物体你直接使用在点最下生成的一瞬间MAX很容易蹦掉。还有就是这两个命令优化的参数不是死的optimize(优化)这个不是固定的4,Multires 这个是百分百不是固定的1是根据你模型的面数来控制的。方法就是这样,大家自己去实验。

多目标最优化模型

第六章 最优化数学模型 §1 最优化问题 1.1 最优化问题概念 1.2 最优化问题分类 1.3 最优化问题数学模型 §2 经典最优化方法 2.1 无约束条件极值 2.2 等式约束条件极值 2.3 不等式约束条件极值 §3 线性规划 3.1 线性规划 3.2 整数规划 §4 最优化问题数值算法 4.1 直接搜索法 4.2 梯度法 4.3 罚函数法 §5 多目标优化问题 5.1 多目标优化问题 5.2 单目标化解法 5.3 多重优化解法 5.4 目标关联函数解法 5.5 投资收益风险问题 第六章 最优化问题数学模型 §1 最优化问题 1.1 最优化问题概念 (1)最优化问题 在工业、农业、交通运输、商业、国防、建筑、通信、政府机关等各部门各领域的实际工作中,我们经常会遇到求函数的极值或最大值最小值问题,这一类问题我们称之为最优化问题。而求解最优化问题的数学方法被称为最优化方法。它主要解决最优生产计划、最优分配、最佳设计、最优决策、最优管理等求函数最大值最小值问题。 最优化问题的目的有两个:①求出满足一定条件下,函数的极值或最大值最小值;②求出取得极值时变量的取值。 最优化问题所涉及的内容种类繁多,有的十分复杂,但是它们都有共同的关键因素:变量,约束条件和目标函数。 (2)变量 变量是指最优化问题中所涉及的与约束条件和目标函数有关的待确定的量。一般来说,它们都有一些限制条件(约束条件),与目标函数紧密关联。 设问题中涉及的变量为n x x x ,,,21 ;我们常常也用),,,(21n x x x X 表示。 (3)约束条件 在最优化问题中,求目标函数的极值时,变量必须满足的限制称为约束条件。 例如,许多实际问题变量要求必须非负,这是一种限制;在研究电路优化设

优化模型实例

摘要 本文主要研究人力资源安排的最优化方案问题。根据问题1中所提供的各专业人员结构及工资情况、不同项目和各种人员的收费标准、各项目对专业技术人员结构的要求,以及在问题2中各专业人员的四种组合情况分别建立了整数规划模型。在此基础上运用LINGO对模型进行求解,得到数学系每天的最大直接收益为40106元,以及专业人员工作天数有差异时一星期内的最大收益196070元,同时满足了各项目对专业技术人员的数量和结构要求。然后对各专业技术人员人数改变对收益的影响和最优解不变条件下项目薪酬的变化进行了灵敏度分析。 最后在适当简化模型的同时,对模型进行了改进和推广,使得该模型在解决实际问题时更具有可信性和可用性。 关键词:人力资源安排整数规划灵敏度分析人员能力系数 LINGO

一问题重述 某学校数学系现有64名教师,不同职称结构的专业技术人员相应的日工资水平标准不同。目前,该系承接有4个项目,其中2项项目实践,需要到现场监理,分别在A地和B地,主要工作在现场完成;另外2项是理论研究,分别在C 地和D地,主要工作在办公室完成。由于4个项目来源于不同客户,并且工作的难易程度不一,因此,各项目的合同对有关技术人员的报酬标准不同。 为了保证项目质量,各项目中必须保证各职称人员结构符合客户的要求。根据题目中的表3可以看到,4个项目地对技术人员总人数都有限制;各项目客户对教授的配备有不能少于一定数目的限制,也不能超过其最高要求;对于项目D,由于技术要求较高,人员配备必须是讲师以上,助教不能参加;而且,C、D项目需每人每天支付50元的管理费开支。 (1)、4个项目总共同时最多需要的人数是17+20+15+18=70,多于数学系现有人数64。因此,要求通过建立合理的数学模型,来合理分配现有的技术力量,使数学系每天的直接收益最大,并且满足各项目对专业技术人员的要求。 (2)、以一个星期为周期,每个教授最多只能工作四天,每个副教授最多只能工作5天,讲师和助教每天都可以工作。此时又如何合理的分配现有的技术力量,使数学系一个星期的直接收益最大,并且满足各项目对专业技术人员的要求 二问题分析 在本问题中,要求合理的分配人力资源,但是问题中含有复杂的约束条件,不仅要使得数学系每天的直接收益达到最大,而且要满足了各项目对专业技术人员的要求。因此,本问题的关键在于两个方面: (1)尽可能的把数学系的现有人员都安排到4个项目地,因为各专业技术人员的项目报酬都比其相应的工资要高,故对每个专业人员均能获得直接收益; (2)要对人员的分配做到最优,因为各专业技术人员的项目报酬标准各不相同,所以不同的分配方案的直接收益可能不同; 由于人员安排不可能是小数,因此本问题应该是一个整数规划问题,数学系的直接收益是目标函数,而对于约束条件主要涉及到以下几个方面:(1)各项目对人员总数的约束,各项目的总人数不能超过规定的限制; (2)各项目对人员结构的约束,比如,各项目对教授的配备不能少于一定的数目,也不能超过一定的的限度。对于项目D,由于技术要求较高,助教不能参加,各项目对其他职称人员也有不同的限制或要求; (3)数学系的人员总数的约束,这主要表现在现有人数和工资两个方面,数学系现有人员总数64人,少于个项目最多需要的人数70人,而数学系要发放给专业人员工资,这就使得数学系的直接收益减少; (4)管理费开支, C、D两项目要求每人每天有50元的管理费开支,所以分配在C、D两地的人员数越多,也将使得数学系的直接收益降低。 对于问题2中,由于在一个星期内,各人员的工作天数有限制,所以必须考虑到在工作天数的限制下,如何安排各专业人员在一星期内进行工作,使得数学系在一星期内的直接收益最大,同时满足问题1中的相应要求。 可以看出,要使得数学系的直接收益最大,就应该使得总项目薪酬最高,而管理费和工资开支最低,用公式可以表示为:

动态优化模型

第十八章 动态优化模型 动态过程的另一类问题是所谓的动态优化问题,这类问题一般要归结为求最优控制函数使某个泛函达到极值。当控制函数可以事先确定为某种特殊的函数形式时,问题又简化为求普通函数的极值。求解泛函极值问题的方法主要有变分法和最优控制理论方法。 §1 变分法简介 变分法是研究泛函极值问题的一种经典数学方法,有着广泛的应用。下面先介绍变分法的基本概念和基本结果,然后介绍动态系统最优控制问题求解的必要条件和最大值原理。 1.1 变分法的基本概念 1.1.1 泛函 设S 为一函数集合,若对于每一个函数S t x ∈)(有一个实数J 与之对应,则称J 是对应在S 上的泛函,记作))((t x J 。S 称为J 的容许函数集。 通俗地说,泛函就是“函数的函数”。 例如对于xy 平面上过定点),(11y x A 和),(22y x B 的每一条光滑曲线)(x y ,绕x 轴旋转得一旋转体,旋转体的侧面积是曲线)(x y 的泛函))((x y J 。由微积分知识不难写出 dx x y x y x y J x x )('1)(2))((2 12?+=π (1) 容许函数集可表示为 })( ,)(],,[)(|)({2211211y x y y x y x x C x y x y S ==∈= (2) 最简单的一类泛函表为 ?=2 1 ),,())((t t dt x x t F t x J (3) 被积函数F 包含自变量t ,未知函数x 及导数x 。(1)式是最简泛函。 1.1.2 泛函的极值 泛函))((t x J 在S t x ∈)(0取得极小值是指,对于任意一个与)(0t x 接近的 S t x ∈)(,都有))(())((0t x J t x J ≥。所谓接近,可以用距离ε<))(),((0t x t x d 来度量,而距离定义为 |})()(||,)()({|max ))(),((0002 1t x t x t x t x t x t x d t t t --=≤≤ 泛函的极大值可以类似地定义。)(0t x 称为泛函的极值函数或极值曲线。 1.1.3 泛函的变分 如同函数的微分是增量的线性主部一样,泛函的变分是泛函增量的线性主部。作为泛函的自变量,函数)(t x 在)(0t x 的增量记为 )()()(0t x t x t x -=δ 也称函数的变分。由它引起的泛函的增量记作 ))(())()((00t x J t x t x J J -+=?δ 如果J ?可以表为 ))(),(())(),((00t x t x r t x t x L J δδ+=?

相关文档
最新文档