假设我有 20 面墙需要按给定顺序进行粉刷。每面墙需要 5 层油漆,每次涂漆需要 12 小时才能干燥。每面墙的面积各不相同,粉刷所需的时间也各不相同。我需要按顺序完成工作,即从墙 1、墙 2、墙 3 等开始。
但是,一旦墙 1 需要 12 小时才能干燥,我需要在完成要粉刷的墙后返回并开始涂第二层油漆。例如,假设我正在粉刷墙 8,完成后,一旦干燥时间已过 12 小时,我就会返回墙 1 涂第二层油漆。
在我完成墙 1 的第二层涂料后,如果墙 2 已经放置了 12 小时,那么我也可以在上面涂第二层涂料,如果没有,我就会涂墙 9——这是我在回去给墙 1 涂第二层涂料之前的下一个涂料。同样,一旦墙 2 的 12 小时干燥过去,我就会回去涂第二层涂料,只要我当时正在粉刷的墙都刷完了。
在 MS Project 中,有没有一种方法可以让我按照这种逻辑将依赖关系应用于干燥时间和顺序约束,以便最后我可以全面了解在某个日历(例如没有周末工作)的情况下完成工作需要多长时间?实际应用是一个土方工程,它有干燥时间和固定的工作顺序。
答案1
以下是如何执行此操作的示例。这是一个简化的示例,其中有四面“墙”(又称土方工程),每面墙都涂有三层“油漆”(又称需要固化的东西)。按照图片所示设置时间表并设置以下内容:
- 将项目日历更改为您需要的工作时间。在此示例中,我设置为每周 7 天,上午 9:00 至下午 5:00。
- 确保所有任务都是自动安排的(而不是手动安排的)。
- 使用经过的持续时间(例如日历天/小时而不是工作时间)将每个“油漆涂层”任务链接到前一层。
- 将每个后续“墙”的第一个任务链接到前一个墙的第一个任务(换句话说,不喜欢摘要任务)。
- 添加资源来完成工作。
一旦设置完成,时间表应该类似于此图。请注意大多数任务左侧的红色人形图标。这表示资源分配过多。
现在,使用 MS Project 等调度引擎的强大功能就出现了。由于任务以表示实际依赖关系的方式链接在一起,因此我们可以使用调平功能移动任务以使资源不会过度分配(例如,同时预订多个任务)。
要平衡资源,请单击“资源”选项卡中的“平衡所有资源”。任务日期将移动,以便资源不会分配过多,时间表将如下所示:
最后说明:确保日期不是硬编码的 - 换句话说,任务不应该有诸如“不早于...开始”之类的限制。