【VB开源代码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了VB开源代码-求取最短工期的程序编制及应用约翰逊贝尔曼法则的补充与拓展 - 期刊论文的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
第5卷第2期 武汉交通管理千部学院学报 2003年6月VoI.5 No.2 Journal of Wuhan Communication Management Institute Jun. 2003 求取最短工期的程序编制及应用 ——“约翰逊一贝尔曼法则”的补充与拓展 张长青 (武汉交通管理干部学院,湖北 武汉430062) 摘要:文章用一个具体事例说明了工程排序的必要性.同时祥尽地解释了蝙程的具体思路.利用数码的排列具有大小区玑的特点,把工程的排列转化为数码的排列.甩一个比较简单的方法蝙幸I了一个求最短工期的程序.对进行施工组织与管理的业内人士,迅速、正确地编排科学的施工进度计划.可以提供有效的帮助. 关键词:全排列;逐步第增;三次筛选;阶乘l空数组;边计算;边赋值;边调用;数据归住;循环.嵌套 中凰分类号。
TU72 文献标识码:A 文章缩号:1008—3146(2003)02-0075—06 在对工程的流水施工进行组织与管理的时候,人们往往忽略了对施工段进行排序以寻求最短工期.这也许是由于人们不了解排序的重要作用、也许是人们嫌这个工作太繁琐、也许是人们还不知道应该怎样安排、…….在这里.我想用一个简单的例子,来说嘎排序在同等条件下对缩短工期的重要意义.另外,为了把大家 从繁琐的工作中解脱出来,我愿意奉献给大家一个简单迅速的排序并求得最短工期的程序.同时对产生这种程序的思路及使用这种程序的操作方法加以说明。
下面是六个工段三个工序的一个工程.各工段中各工序的持续时间列入表内.求施工时.不同排列顺序所对应的工期. 工序\ \\工段 工序1 工段A 25 工段B 20 工段C 15 工段D 30 工段E 35 工段F 44 工序2 12 15 11 8 6 4 工序3 18 25 24 10 24 16 首先就按ABCDEF的施工顺序求工期: 如下图所示.这种排列的工期是T=25+20+15+30+35+44十4+16----189天. 1^2, l I _ B20 C15 DOO ·廿s I Ⅳ· 112 ,|15 -·I ■ I 6 ● ^I矗 B25 C2● dlO f强4 F-6 图一 下面再按FEDABC的施工顺序求工期: 如图所示.这种排列的工期是T=44+35+30+25+20+15+25+24=218天。
收稿日期:2003-02-10 作者简介:张长青(1948一),男,湖北武汉人,武汉交通管理干部学院副教授,主要从事建工专业教学
工作。
一75— 万方数据 F4· E35 D30 A25 B20 l 5 4 6 8 12 15 ll -6 l 24 IO 8 25 24 图二 以上两种不同的施工顺序得到两个悬殊很大的施工工期的事实,清楚地告诉我们:正确的施工顺序,确实能够有效地缩短工期。
那么怎样才能得到正确的施工顺序呢?对于这个问题.人们曾经进行了大量的探索和研究。
各种教科书上都介绍了一个被称为“约翰逊一贝尔曼”的法则。
但是。
由于没有给出这个法则的证明.而且这个法则只适用于两道工序,这就使得这个法则的使用泛围受到了很大的限制。
同时,根据这个法则只能确定一种施工顺序来对应最短工期。
而实际情况并不是这样,对应于最短工期的施工顺序往往有几种、几十种、甚至几百种……。
这就使我们失去了在最短工期的前提下根据具体情况确定施工顺序的机会。
那么三道及三道以上工序的工程,应该怎样安排施工顺序才能得到最短工期呢?怎样求得与最短工期相对应的所有施工顺序呢?对于这个问题,各教科书都没有给出答案。
有的说可以借助于计算机来求得,但也没有给出一个程序。
每当学生同起究竟应该怎样求最短工期及对应的施工顺序的时候,往往无言以对。
经过一段时间的思索与探讨,我用VisualBasic6.0编写了一段程序,终于能够对学生有了一个交代。
下面我就把这个
程序的思路及操作方法作一个介绍,以期给进行施工组织管理的业内人士一点帮助。
我们以上面六个工段,三个工序为例。
求最短工期,就要把各种不同的施工顺序产生的工期都求出来,然后求出最短的那一个。
编制程序首先要确定算法,算法的第一步,关键就是要对ABCDEF进行全排列。
我们把ABCDEF用123456来表示,那么只要把123456这个六位数进行全排列,就可以了.我们知道123456的全排列共有6。
5。
4。
3。
2。
1=720种,其中最大一个排列是654321。
那么我们把123456逐步增加1,并从中选出仍由这几个数码组成的数字。
如:123465、123546、123564……