建筑工地人员规划问题.doc

上传人:wj 文档编号:65228 上传时间:2023-04-28 格式:DOC 页数:18 大小:271.50KB
下载 相关 举报
建筑工地人员规划问题.doc_第1页
第1页 / 共18页
建筑工地人员规划问题.doc_第2页
第2页 / 共18页
建筑工地人员规划问题.doc_第3页
第3页 / 共18页
建筑工地人员规划问题.doc_第4页
第4页 / 共18页
建筑工地人员规划问题.doc_第5页
第5页 / 共18页
建筑工地人员规划问题.doc_第6页
第6页 / 共18页
建筑工地人员规划问题.doc_第7页
第7页 / 共18页
建筑工地人员规划问题.doc_第8页
第8页 / 共18页
建筑工地人员规划问题.doc_第9页
第9页 / 共18页
建筑工地人员规划问题.doc_第10页
第10页 / 共18页
建筑工地人员规划问题.doc_第11页
第11页 / 共18页
建筑工地人员规划问题.doc_第12页
第12页 / 共18页
建筑工地人员规划问题.doc_第13页
第13页 / 共18页
建筑工地人员规划问题.doc_第14页
第14页 / 共18页
建筑工地人员规划问题.doc_第15页
第15页 / 共18页
建筑工地人员规划问题.doc_第16页
第16页 / 共18页
建筑工地人员规划问题.doc_第17页
第17页 / 共18页
建筑工地人员规划问题.doc_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

建筑工地人员规划问题.doc

《建筑工地人员规划问题.doc》由会员分享,可在线阅读,更多相关《建筑工地人员规划问题.doc(18页珍藏版)》请在冰点文库上搜索。

建筑工地人员规划问题.doc

题目:

在建筑工地上负责架设高层建筑的钢结构的建筑工人称为钢结构安装工。

表1列出了某个工地上在六个月内对钢结构安装工的需求人数。

在每个月第一天可以从其它工地向此工地借调工人,每借调一名工人需要支出100元;在每个月的最后一天,工人可以离开去其它工地,此时每有一名工人离开时需要支出100元;工人过多或者过少都会带来额外支出,每缺员1人需要额外支出200元(如果人员不足出现缺员,则其他工人需要加班,因此有额外支出),每冗员1人需要多支出200元。

同时,根据工作协议:

每天加班时间不能超过正常工作时间的25%;每个月至多只能新来3名工人;每个月底离开此工地去其它工地的工人数不能超过总人数的。

假定在2月底此工地上已经有了3名钢结构安装工,且在2月底没有人离开,并且要求在8月底此工地上仍然有3名钢结构安装工。

请建立模型解决:

(1)确定每个月初到来和月底离开的工人数的人员规划,使总成本最低?

(2)如果7月的安装工人需求量变为5名,是否改变已有的规划?

(3)如果借调一名安装工所需要支出由100元变成200元,是否改变已有的规划?

(4)如果每缺员1人的额外支出费用由200元/人变成三月:

200元/人、四月:

300元/人、五月300元/人、六月250元/人、七月300元/人、八月200元/人,试确定新的人员规划。

表1每月钢结构安装工需求量

三月

四月

五月

六月

七月

八月

4

6

7

4

6

2

建筑工地人员规划问题

摘要

本文针对建筑工地上为使结构安装总成本最低,而涉及的结构安装工的人员规划问题,采用了数学建模中的纯整数线性规划(PILP)的相关知识,以及符号无限制变量的转化方法进行建模并采用单纯形法及分支界定法(此步由Lingo软件执行)进行计算得出了在题中所要求的四种情况下,各自所需的最小成本以及在最小成本的条件下各月人员的借调,离开,多余和缺少人人数等结果。

在第一个问题中根据所建模型经过Lingo软件计算得到的人员规划结果为:

三月,四月,五月分别借调1,2,1名工人,其余月份不借调,五月,七月,八月月末时分别离开2,1,1名工人,在此种情况下的最小成本为1600元,且还可以知道每月实际多余或缺少的人数(见附录中的v,u值)。

第二个问题当七月安装工的需求量变为五名时,由于在建立的模型中的目标方程:

(其中的符号说明见后面)中没有涉及到各月需求人数,只是在约束条件中出现,故将其中的相关的约束条件中出现的七月所需人数改变即可,然后由Lingo软件解出规划方法最后的规划方式为:

三月,四月分别借调1,2名工人,其他月份不借调,五月,七月分别离开2,1名工人,其他月份不离开,在此种情况下最小成本变为1200元,同样可以得知每月多于或者缺少人数。

经过与第一题的规划进行对比可知此种情况最小成本更小且其余的人数安排也不一样。

第三个问题中,当借调一名安装工的费用支出由100元变为200元,由整数线性规划的在建模中的应用,可知只需要将模型中的表示借调的未知数的系数改变为200即可达到题中所要求,最后的结果为:

三月,四月各借调1名和2名安装工,其他月份不借调。

五月,七月,八月月末时各离开1名安装工,其他月份不离开,在此种情况下,最小成本为1900元,对于各月多于或缺少人数见附件,同样经过对比可知道最小成本已经更高而且人员的规划已经改变。

第四个问题中,正是得益于本模型中的特别之处:

巧妙的将工地实际人数与所需人数之间的差值,符号无限制变量(冗员时为负值,缺员时为正值)转化成,因此只需要将模型方程式中前系数改变成相应的缺员支出费用即可,最后的结果为:

三月,四月,五月分别借调1名,2名,1名工人,其他月份不借调,五月,七月,八月分别离开1名,2名,1名工人,其他月份不离开,在此种情况下最后的最小成本为1600元。

本文最大的特色在于先根据题中表述建立基本模型,然后将基本模型进一步深化,得到一个更加优越的模型,其次巧妙的将工地实际人数与所需人数之间的差值,符号无限制变量进行转化也是本文一大特色。

关键词:

纯整数线性规划(PILP)符号无限制变量Lingo计算深化

一、问题提出

在建筑工地上负责架设高层建筑的钢结构的建筑工人称为钢结构安装工。

表1列出了某个工地上在六个月内对钢结构安装工的需求人数。

在每个月第一天可以从其它工地向此工地借调工人,每借调一名工人需要支出100元;在每个月的最后一天,工人可以离开去其它工地,此时每有一名工人离开需要支出100元;工人过多或者过少都会带来额外支出,每缺员1人需要额外支出200元(如果人员不足出现缺员,则其他工人需要加班,因此有额外支出),每冗员1人需要多支出200元。

同时,根据工作协议:

每天加班时间不能超过正常工作时间的25%;每个月至多只能新来3名工人;每个月底离开此工地去其它工地的工人数不能超过总人数的。

假定在2月底此工地上已经有了3名钢结构安装工,且在2月底没有人离开,并且要求在8月底此工地上仍然有3名钢结构安装工。

请建立模型解决:

(1)确定每个月初到来和月底离开的工人数的人员规划,使总成本最低?

(2)如果7月的安装工人需求量变为5名,是否改变已有的规划?

(3)如果借调一名安装工所需要支出由100元变成200元,是否改变已有的规划?

(4)如果每缺员1人的额外支出费用由200元/人变成三月:

200元/人、四月:

300元/人、五月300元/人、六月250元/人、七月300元/人、八月200元/人,试确定新的人员规划。

表1每月钢结构安装工需求量

三月

四月

五月

六月

七月

八月

4

6

7

4

6

2

二、基本假设

1、假设三月至八月时间内没有任何其他因素迫使工人人数非正常变化(即不按照题中所设条件变化如,工人因故无法工作等);

2、假设三月至八月该工地上每月的钢结构安装工的需求量不会非正常变化(即该工地的工作量在这几个月内不会相对于题中条件增加或减少);

3、假设每月都能够成功从别处借调工人过来;

4、假设二月底此工地上已经有了三名钢结构安装工,且在二月底没有离开;

5、假设此期间不会发生任何意外增加工地的各种成本;

6、假设八月底一部分工人在离开后还有三名工人;

7、假设工人的加班时间始终不会超过正常工作时间的25%;

8、假设每月借调的工人数不会超过3名;

9、假设每月底离开的工人数不会超过该月实际工人总数的1/3。

三、符号说明

符号

意义

单位

备注

第i个月从其他工地借调人数,i=3…8

正整数

第i个月月末离开此工地人数,i=3…8

正整数

第i个月此工地缺员人数,i=3…8

正整数

第i个月此工地冗员人数,i=3…8

正整数

此工地三至八月刚结构安装工总成本

正数

此工地需求工人数与工地每月实际工人数的差值,i=3…8

符号不确定

四、问题分析

由第一问中,确定每个月初到来和月底离开的工人数的人员规划,使总成本最低,而根据题中的条件,钢结构安装总成本应该等于借调人员支出,离开人员支出,缺员人员支出,冗员人员支出的总和,因而可由此设各影响成本的未知数分别为,,,再将各未知数与各自系数乘积相加即可得到总成本。

由于为此工地需求工人数与工地每月实际工人数的差值,而实际工人数相对于需求工人数必有多有少,故符号不确定(也即是符号无限制变量,可正可负),故可将写成,此时缺少与多余人数均可表示出来了。

另外,第二题,三题,四题均是在总成本最低的前提下,因而此模型均可使用,只需根据题中条件将相应的约束条件做相应改动。

最后,根据建立模型的思路可知此规划为纯整数线性规划(PILP),因而适宜采用Lingo软件进行计算得出最终结果。

五、模型的建立与求解

5.1问题一模型的建立与求解

5.1.1问题一的分析

根据之前的问题分析,可以知道建筑工地的人员规划要使总成本最小,即要使工人的借调,离开,缺少,冗员费用支出之和最少,而由于在第一题中各项人员流通中每一个人的流通费用均已经有题中固定,且各月需求人数也已经固定,所以最终影响总成本的只有人员的借调,离开,缺少与多余人数,当然其中的各个代表工人人数的未知量均为正整数,因而可以采用纯整数线性规划方式进行建模。

5.1.2问题一模型的建立与求解

符号说明:

表示第i月工地上的实际工人数,表示第i月工地上需求人数,表示每天每名工人的正常工作时间。

根据对问题一的分析能够很容易的得出目标方程最小成本

因为假设中二月月底已经有3名工人,且月底没有人员离开,所以三月实际人数应该有:

,其中因为借调人数不能超过3名所以,而由于假设中有每天加班时间不能超过正常工作时间的25%,所以存在约束条件:

,因为每月离开人数不能超过该月实际人数的1/3,所以有约束,而三月冗员或者缺少人数应该为:

,相应的可知四月实际人数应该为三月实际人数减去三月月末离开人数加上四月借调人数所以有,同样由于借调人员人数限制有,由于加班时间限制有,由于离开人数的限制有,四月冗员或者缺少人数应该为,而对于后边的五月,六月,七月,八月则可以按照相同的思路得出类似的限制条件,因为假设中最终可以得到如下基本模型:

由建模思想及模型可知,求解此模型宜首先采用单纯刑法和分支界定法求解出满足此模型约束条件的最优解,此过程的算法可以简单描述为:

Step1:

将原整数规划问题记做P,相应的伴随线性规划问题记做Q,采用单纯刑法求解问题Q;

Step2:

如果问题Q无可行解,计算终止,这时问题P无解;

Step3:

检查Q的最优解,看他是否符合整数条件。

如果符合,就得P的最优解,计算终止;否则转Step4;

Step4:

在Q的最优解中选一非整数解变量,做两个分支问题。

也就是在问题Q中各增加一个约束条件:

(1)

(2);(其中b表示小于b的最大整数);

不考虑最后整数条件,解这两个分支问题得最优解或无解。

Step5:

在有最优解的各分支问题中,选择目标函数值最优的问题,重新记这个问题Q,返回Step3。

以上计算过程可以由Lingo软件执行,具体代码见附录I,最后软件得出在这个基本模型下的最优解为:

MinP=1800元,且人员规划为

三月

四月

五月

六月

七月

八月

1

2

1

0

0

0

0

1

1

0

1

1

0

0

1

0

1

0

1

0

2

0

0

0

5.1.2.1模型的深化与求解

当我们返回模型中关于离开人数的约束时即:

可以发现,每月离开人数仅仅与该月离开之前的借调和离开人数有关,因而在求最优解时往往会优先考虑之前借调与离开的人数产生的费用,恰恰在这个模型中由人员的缺少与冗员产生费用的速率比借调,离开人数产生费用的速率大一倍,因而应该优先考虑到人员的缺少与冗员对离开人数的限制,即该约束条件约束条件可以深化为:

则深化后的模型为:

编写相应的Lingo代码(见附录II),并得到最终结果为:

P=1600元,具体人员规划为

三月

四月

五月

六月

七月

八月

1

2

1

0

0

0

0

0

2

0

1

1

0

0

0

0

1

0

0

0

0

1

0

2

可见深化后的模型更具有可用性。

5.1.3模型结果的分析

由表中的人员规划数可以知道,在三月初时借调一名工人后三月实际工人数有4名,那么三月既不会缺员也不会冗员,而三月末时候没有工人离开,那么三月产生的费用就应该为100元,四月初在借调2名工人,那么四月还是不会缺员和冗员,且四月没有工人离开,那么四月产生的费用就应该为200元,五月月初时候借调一名工人,则五月实际工人数就应该有7名,既不缺员也不冗员,五月末离开2名工人,则五月产生费用为300元,五月在离开两名工人后还剩下五名工人,六月既不借调也不离开,则六月多一人,产生200元费用,七月不借调,那么七月将缺少一人,产生200元费用,而在月末时候离开一名又产生100元,七月总计产生300元,在七月离开一名后还剩下五名工人,那么八月不借调,将冗员2名,产生400元费用,由于八月最终只有三名工人,所以八月还要离开一名,最后八月产生的费用为500元,则以上的总费用为100+200+300+200+300+500=1600元。

5.2问题二模型的建立于求解

5.2.1问题二的分析

在问题二中由于题目叙述等没有改变,且同样是在总成本最小的前提下的人员规划,而问题二,如果七月的安装工人需求量变为5名,求人员规划,由于在建立模型的过程中,每月安装工的需求量仅仅是出现在约束条件中,因而只需将原模型中关于七月需求量的约束条件做相应改动即可:

将约束改成约束,约束改成,约束改成。

5.2.2问题二模型的建立与求解

根据以上对问题二的分析可以得出问题二的模型为:

同样适用于Lingo软件的整数线性规划,代码见附录III,最后的结果为P=1200元,人员规划为:

三月

四月

五月

六月

七月

八月

1

2

0

0

0

0

0

0

2

0

1

0

0

0

1

0

1

0

0

0

0

0

0

1

5.2.3问题二结果的分析

由以上的计算结果可知道,如果七月的安装工的需求量变为5名,则为使总成本最小,最终的人员规划有所改变:

三月份应该借调一名且三月没有人员的离开,三月的费用为100元,四月应该借调2名,同样没有人员离开,也没有缺少、多余人员,四月份的费用为200元,五月份不借调只是要离开2名,则在离开前五月份应该缺少1名工人,则五月份共产生费用400元,六月份既不借调也不离开人员,那么六月份的费用就应该是0元,七月份离开1名,那么将缺少1名工人,产生300元,八月份不就借调也不离开,就只会多余一个工人,且刚好是3名工人,产生费用为200元。

所以在七月份的需求量变为5名工人后,规划改变,费用减少400元。

5.3问题三模型的建立与求解

5.3.1问题三的分析

问题三,如果借调一名安装工所需要的支出由100元变成200元,是否改变已有规划,显然问题三的建模思想与之前问题一、二一致(主要是将问题一中的模型中x前面的系数改变为200)。

5.3.2问题三模型的建立与求解

根据以上分析以及问题一中的模型可以得到问题三的模型应该为:

利用Lingo软件可以求出结果(代码见附录IV),最后的结果为P=1900元,人员规划为:

三月

四月

五月

六月

七月

八月

1

2

0

0

0

0

0

0

1

0

1

1

0

0

1

0

1

0

0

0

0

1

0

2

5.3.3问题三结果分析

当借调一名工人的费用变为200元时,工人的规划也应该改变:

三月借调一名,没有人员离开,三月产生费用200元,四月借调2名,没有人员离开,四月产生费用为400元,五月不借调,那么五月缺少一人,五月工人不离开,最后产生的费用为300元,六月不借调也不离开,将会冗员一名,产生费用为200元,七月离开一名,但是不借调,七月将会缺少一名,产生费用为300元,八月不借调,但是离开一名工人,在未离开前冗员2名,最终八月产生的费用为500元。

5.4问题四模型建立与求解

5.4.1问题四的分析

分析过程同问题一,最后将问题一中的模型中的表示缺员让人数的未知数系数根据题中要求作相应改变。

5.4.2问题四模型的建立与求解

根据以上分析以及问题一中的的模型建立可得问题四的模型为:

利用Lingo软件计算可得结果(代码见附录),P=1600元,人员的规划为:

三月

四月

五月

六月

七月

八月

1

2

1

0

0

0

0

0

1

0

2

1

0

0

0

0

0

0

0

0

0

2

0

2

5.4.3问题四结果分析

由以上的计算结果可以知道,在缺员一人的支出费用发生变化后,其人员的规划也发生改变:

三月借调1名且没有多余没有缺少也没有人员的离开,产生的费用为100元,四月借调两名,没有人员的离开产生的费用为200元,五月借调一名,同样不会有人员的缺少、多余,月末离开一名,产生费用为200元,六月既不借调也不离开,将会有一人多余,产生200元的费用,七月时候不借调,将不会缺少工人,也不会多余,月末离开两名,产生费用为200元,八月不借调,将会有两名工人多出,不会缺少,月末离开一名后还是有三名,产生的费用为500元。

六、模型的评价与推广

6.1模型的评价

这个问题的规划,本文提出的模型,一方面考虑到多个变量对总成本的影响,但是其中人员的缺少与冗余均会增加成本,于是将实际人数与需求人数的差值进行转化,既方便了以后小题的计算又能够简化运算;另一方面,对于刚刚建立的基本模型,考虑到其中的各项变量对总成本的影响不同,而进过深化模型,使对于成本影响大的变量能够得到优先考虑,从而使最后得到的模型更加优越!

6.2模型的推广

根据本模型的建立思想,以及其中采用的无符号限制变量的转化,根据对最后结果的影响速率确定优先等技巧,还可以运用于工厂里生产计划的指定,超市等货物的采办,以及其他类似此题情况的人员的规划等等。

七、参考文献

【1】姜启源等,《数学模型》(第三版),高等教育出版社,2003年8月

【2】范玉妹等,《数学规划及其应用》(第三版),冶金工业出版社,2009年

【3】严喜祖等,《数学建模及其试验》,科学出版社

八、附录

8.1附录清单

附录一:

问题一的Lingo程序

附录二:

问题二的lingo程序

附录三:

问题三的Lingo程序

附录四:

问题四的Lingo程序

8.2附录正文

附录一:

min=100*x3+100*x4+100*x5+100*x6+100*x7+100*x8+100*y3+100*y4+100*y5+100*y6+100*y7+100*y8+200*u3+200*u4+200*u5+200*u6+200*u7+200*u8+200*v3+200*v4+200*v5+200*v6+200*v7+200*v8;

x3<=3;x4<=3;x5<=3;x6<=3;x7<=3;x8<=3;

1-x3=u3-v3;

3-x3+y3-x4=u4-v4;

4-x3+y3-x4+y4-x5=u5-v5;

1-x3+y3-x4+y4-x5+y5-x6=u6-v6;

3-x3+y3-x4+y4-x5+y5-x6+y6-x7=u7-v7;

-1-x3+y3-x4+y4-x5+y5-x6+y6-x7+y7-x8=u8-v8;

y3<=(4-u3+v3)/3;

y4<=(6-u4+v4)/3;

y5<=(7-u7+v7)/3;

y6<=(4-u6+v6)/3;

y7<=(6-u7+v7)/3;

y8-v8/3<=2/3;

x3-y3+x4-y4+x5-y5+x6-y6+x7-y7+x8-y8=0;

x3>=1/5;

x3-y3+x4>=9/5;

x3-y3+x4-y4+x5>=13/5;

x3-y3+x4-y4+x5-y5+x6>=1/5;

x3-y3+x4-y4+x5-y5+x6-y6+x7>=9/5;

@gin(x3);@gin(x4);@gin(x5);@gin(x6);@gin(x7);@gin(x8);@gin(y3);@gin(y4);@gin(y5);@gin(y6);@gin(y7);@gin(y8);@gin(u3);@gin(u4);@gin(u5);@gin(u6);@gin(u7);@gin(u8);@gin(v3);@gin(v4);@gin(v5);@gin(v6);@gin(v7);@gin(v8);

附录二:

min=100*x3+100*x4+100*x5+100*x6+100*x7+100*x8+100*y3+100*y4+100*y5+100*y6+100*y7+100*y8+200*u3+200*u4+200*u5+200*u6+200*u7+200*u8+200*v3+200*v4+200*v5+200*v6+200*v7+200*v8;

x3<=3;x4<=3;x5<=3;x6<=3;

x7<=3;x8<=3;

1-x3=u3-v3;

3-x3+y3-x4=u4-v4;

4-x3+y3-x4+y4-x5=u5-v5;

1-x3+y3-x4+y4-x5+y5-x6=u6-v6;

2-x3+y3-x4+y4-x5+y5-x6+y6-x7=u7-v7;

-1-x3+y3-x4+y4-x5+y5-x6+y6-x7+y7-x8=u8-v8;

y3<=(4-u3+v3)/3;

y4<=(6-u4+v4)/3;

y5<=(7-u7+v7)/3;

y6<=(4-u6+v6)/3;

y7<=(5-u7+v7)/3;

y8-v8/3<=2/3;

x3-y3+x4-y4+x5-y5+x6-y6+x7-y7+x8-y8=0;

x3>=1/5;

x3-y3+x4>=9/5;

x3-y3+x4-y4+x5>=13/5;

x3-y3+x4-y4+x5-y5+x6>=1/5;

x3-y3+x4-y4+x5-y5+x6-y6+x7>=1;

@gin(x3);@gin(x4);@gin(x5);@gin(x6);@gin(x7);@gin(x8);@gin(y3);@gin(y4);@gin(y5);@gin(y6);@gin(y7);@gin(y8);@gin(u3);@gin(u4)@gin(u5);@gin(u6);@gin(u7);@gin(u8);@gin(v3);@gin(v4);@gin(v5);@gin(v6);@gin(v7);@gin(v8);

附录三:

min=200*x3+200*x4+200*x5+200*x6+200*x7+200*x8+100*y3+100*y4+100*y5+100*y6+100*y7+100*y8+200*u3+200*u4+200*u5+200*u6+200*u7+200*u8+200*v3+200*v4+200*v5+200*v6+200*v7+200*v8;

x3<=3;x4<=3;x5<=3;x6<=3;

x7<=3;x8<=3;

1-x3=u3-v3;

3-x3+y3-x4=u4-v4;

4-x3+y3-x4+y4-x5=u5-v5;

1-x3+y3-x4+y4-x5+y5-x6=u6-v6;

3-x3+y3-x4+y4-x5+y5-x6+y6-x7=u7-v7;

-1-x3+y3-x4+y4-x5+y5-x6+y6-x7+y7-x8=u8-v8;

y3<=(4-u3+v3)/3;

y4<=(6-u4+v4)/3;

y5<=(7-u7+v7)/3;

y6<=(4-u6+v6)/3;

y7<=(6-u7+v7)/3;

y8-v8/3<=2/3;

x3-y3+x4-y4+x5-y5+x6-y6+x7-y7+x8-y8=0;

x3>=1/5;

x3-y3+x4>=9/5;

x3-y3+x4-y4+x5>=13/5;

x3-y3+x4-y4+x5-y5+x6>=1/5;

x3-y3+x4-y4+x5-y5+x6-y6+x7>=9/5;

@gin(x3);@gin(x4);@gin(x5);@gin(x6);@gin(x7);@gin(x8);@gin(y3);@gin(y4);@gin(y5);@gin(y6);@gin(y7)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2