欢迎来到论文网! 识人者智,自知者明,通过生日认识自己! 生日公历:
网站地图 | Tags标签 | RSS
论文网 论文网8200余万篇毕业论文、各种论文格式和论文范文以及9千多种期刊杂志的论文征稿及论文投稿信息,是论文写作、论文投稿和论文发表的论文参考网站,也是科研人员论文检测和发表论文的理想平台。lunwenf@yeah.net。
您当前的位置:首页 > 经济管理 > 项目管理论文

改进的DFS算法实现资源约束条件下多项目的调度_多项目管理-论文网

时间:2014-09-28  作者:林玉青
若w未曾访问过,则以w为新的出发点继续进行深度优先遍历,直至图中所有和源点v有路径相通的顶点(亦称为从源点可达的顶点)均已被访问为止。若此时图中仍有未访问的顶点,则另选一个尚未访问的顶点作为新的源点重复上述过程,直至图中所有顶点均已被访问为止。

图的深度优先遍历类似于树的前序遍历。采用的搜索方法的特点是尽可能先对纵深方向进行搜索。这种搜索方法称为深度优先搜索(Depth-FirstSearch)。相应地,用此方法遍历图就很自然地称之为图的深度优先遍历。

3.改进的DFS算法过程

首先建立两个数组序列,记为A[Tij](i,j=1,2,3…n,T表示任两个接点之间的遍历时间,T12表示接点1和2之间的遍历时间),B[n](n=1,2,3…n,表示接点)下面开始进行检索,并填充至B中。设x是当前被访问顶点,在对x做过访问标记后,选择一条从x出发的未检测过的边(x,y)。若发现顶点y已访问过,则重新选择另一条从x出发的未检测过的边,否则沿边(x,y)到达未曾访问过的y,对y访问并将其标记为已访问过;然后从y开始搜索,直到搜索完从y出发的所有路径,即访问完所有从y出发可达的顶点之后,才回溯到顶点x,并且再选择一条从x出发的未检测过的边。上述过程直至从x出发的所有边都已检测过为止。此时,若x不是源点,则回溯到在x之前被访问过的顶点;否则图中所有和源点有路径相通的顶点(即从源点可达的所有顶点)都已被访问过,遍历过程结束。由于一个图的遍历结果不止一种,我们要讨论:当一个接点仅有一个邻接接点时,添加至B中,当一个接点(假定为M)下一个遍历的接点都是多个时,我们选取与M接点时间最长的下一个接点(假定为N),我们将接点N添加至B中。这是因为到并行工作的进度取决于工时最长的活动,要注意,严格按照顺序依次添加。添加完毕,形成一个完整的B数组序列,将数组B中接点依次按两两组合的形式添加至A中i和j的位置,形成完整A数组。最后将A中所有的时间相加得出一个遍历所有接点的满意时间。

四、实例分析

为了验证算法的有效性,本文采用文献[4]的模具生产实例进行检验,此实例包含3个具有相同网络结构的项目,其网络结构图如图1所示。

图1网络结构图

每个项目含有16个任务,所有的16个任务共享13中资源,在不同的项目中任务的工期是有所不同的。虽然企业中多项目是并存的,但我们总是可以给这些项目设置一定的优先级,即权重。我们假设w1=0.5,w2=0.3,w3=0.2(w1表示项目的权重,其他类推)。三个项目同时开始,在没有资源约束的情况下,三个项目的完工时间分别是33天,43天,38天,计划的最晚交货期是48、63和62天,下面的表1说明任务的资源需求和工期。

表1:

任务

资源

P

P

P

1

1

4

5

4

2

1

3

6

6

3

2

2

2

1

4

3

4

3

4

5

4

3

2

3

6

5

5

6

6

7

6

4

6

3

8

7

2

3

2

9

2

1

1

1

10

7

2

2

2

11

8

4

3

3

12

9

3

4

3

13

10

3

2

4

14

11

2

4

2

15

12

3

3

4

16

13

4

4

4

其中,P表示项目1的各个任务的工期,其他依此类推。

下面我们利用改进的DFS算法来求该实例的多项目调度问题。由前面所述的改进DFS算法我们分析项目的网络结构图,在图的遍历过程发现P>P(项目2和3也是这种情况),由于DFS算法就是图的遍历,也就是说要图的各个接点都要遍历到,即访问到任何一个接点,所以在访问P的时候,只要资源不发生冲突,就可以并行的访问P,因为P>P,由此得出的结论就是项目的工期完全由遍历的任务工期之和决定的,当然了应当排除那些并行的任务之中工期短的那些任务。

所以,P=P+P+P+P+P+P+P+P+P+P(i=1,2,3,P表示三个项目)

可以计算出项目1的总工期是:P+P+P+P+P+P+P+P+P+P=4+3+5+4+2+3+3+2+3+4=33(天),

同理可以知道项目2的工期:P+P+P+P+P+P+P+P+P+P+7=5+6+6+6+3+4+2+4+3+4+7=43+7=50(天),对式中的7说明:由于项目1的任务1和2共享一种资源,所以项目2的开始时间就是P+P=3+4=7(天)。

项目3的工期:P+P+P+P+P+P+P+P+P+P+18=4+6+6+3+2+3+4+2+4+4+18=38+18=56(天),对式中的18说明:由于项目1和2它们各自的任务1和2共享一种资源,所以项目3的开始时间就是P+P+P+P=3+4+5+6=18(天)。

本文的求解过程完全可以通过计算机编程来实现,能够提高过程的效率。与其他一些调度算法相比,工期有明显的缩短。通过国内的一些算法我们可以清楚的比较出来,这些算法文献3都给出了结论,如表2。

表2:

算法

项目1

项目2

项目3

SASP

33

50

58

MAXTWK

47

43

56

多优先规则算法

42

54

58

当然了,关于多项目的调度问题国内外许多学者提出了很多不同的实现方法,各个方法都各有优缺点,本算法特别适用于项目的网络结构图能转化为图的这种结构形式,以便通过DFS算法实现。

五、结论

本文借鉴了许多关于多项目管理在资源受限情况的调度问题,和其他的算法相比实质基本上一致,只不过是采用了一种新的算法,即DFS算法,当然了,本算法也用不足之处,就是资源使用的独占性,一旦项目交叉起来进行,不同的项目,不同的任务的优先级都不一致,这种情形下,情况可能会更加复杂,需要更进一步的研究与探讨!

参考文献
1 吴之明,卢有杰. 项目管理引论[M]. 北京: 清华大学出版社,2001.12.
2 陈慧南.数据结构-C语言描述[M].陕西:西安弟子科技大学出版社,2003.8.
3 寿涌毅. 资源约束下多项目调度的迭代算法 [J]. 浙江大学学报(工学版), 2004, 38(8): 1095-1099.
4 廖仁,陈庆新,毛宁.资源约束下多项目调度的启发式算法 [J].管理工程学报, 2002, 16(S): 100-103.
5 严蔚敏,吴伟民.数据结构[M].北京:清华大学出版社,2007.12.
6 方炜, 欧立雄. 多项目环境下新产品研发项目资源分配问题研究[J]. 管理工程学报, 2005, 19(S): 6-10.
7 徐孝凯,魏荣.数据结构[M], 北京:机械工业出版社,1996
8 朱洪等译,[美]S巴斯.计算机算法:设计和分析引论[M].上海:复旦大学出版社,1985
9 Endley L G. Towards the Development of a Complete Multi-project Scheduling System [J]. Journal ofIndustrial Engineering (S0022-183X), 1968, 19(10): 505-515.
10 EsakovJ,WeissT.Data Structures:An Advanced Approach Using C.Prentice-Hall,Inc.,1989

查看相关论文专题
加入收藏  打印本文
上一篇论文:8年四川省经济增长因素的实证分析_全要素生产率-论文网
下一篇论文:项目管理成熟度模型在制造企业中的运用-论文网
经济管理分类
电子商务论文 人力资源管理论文
企业管理论文 市场营销论文
管理学论文 国际贸易论文
工商管理论文 财务管理论文
项目管理论文 网络营销论文
经济学论文 客户关系管理论文
酒店管理论文 物流论文
质量管理论文 金融论文
教育管理论文 成本管理论文
广告设计论文
相关项目管理论文
最新项目管理论文
读者推荐的项目管理论文