科技创新项目--小程序设计(3)(07年11月17日)

小程序在10月24日就做出了第一版,我主要参考了《数据结构》(清华 严蔚敏)中的邻接表的图储存结构和AOE网的相关算法(如关键路径)。

    在26号就给李老师看了一下。李老师的意见是数据的输入问题。有一个txt文件,当作是用户的输入数据,文件中的第一行是网络计划中的工作(图的边)数 目,第二行是网络计划中的节点数目(图的顶点),第三行是各个工作的具体信息:工作id;工作名称;工作时间;前节点;后节点。但要用户这样输入数据的 话,首先得让用户先画出网络图,才能给出像前后节点那样的输入数据。但其实画网络图也是一个很大的工作量,特别是在需要编排的工作很多的情况下。所以我们 要把这个也考虑到程序中,让程序替用户作网络图。具体来说就是去掉前后节点(顶点)这两个用户的输入,而只给出前工作(边)的编号。

    接着,李老师又补充了几点,给每个工作加入一个延搁时间的属性,表示前工作完成后要延搁多长时间接下来的工作才可以开始,这个属性还可以是负数,表示在前 工作完成前就开始紧后的工作。还有的就是要考虑到资源问题,在给每项工作加上资源这一属性,在输出时给出每天的资源消耗量。

我想了一下解决方法:
1. 对于只提供工作(边)信息来生成网络图的问题,要改进的地方是NetworkOperator中的InitializeNetwork方法,利用边的id 和前工序   id的匹配来得到边。想了很久,如果按顺序连接各项工作的话会用到很多的循环,现在就想用递归看行不行。
2.对于加入延搁时间这个问题,要修改的部分就是NetworkOperator中的CalculateVerEarTime和CalculateVerLatTime两个方法,具体来   说就是赋最早最晚值那一部分要改一下咯。
3.对于资源属性这个问题,关键就是要怎样得到一个每天消耗资源的数组,到现在我还没有具体的想法。

ps:很多作用要补,还要有两科期末考试,时间就没安排好,所以这几周一直没有上来更新SPACE了
posted @ 2007-12-09 00:23  斌伯  阅读(217)  评论(0编辑  收藏  举报