Graph to model the order of different tasks in construction I have this question:

During the construction of a house there are certain tasks that have
  to be completed before another one can commence, e.g., the roof has to
  be installed before work on electrical wiring or plumbing can begin.
  How can a graph be used to model the different tasks during the
  construction? Should the edges be directed or undirected? By analyzing
  the graph model, how can we find tasks that can be done at any time?
  Knowing the amount of time that each task takes, what do we need to
  compute to find the minimum time necessary to build the whole house
  (assuming enough resources are always available)?

Right off the bat, I know the the graph that depicts the ordered tasks should have directed edges, because the order is important. If we are trying to find the processes that can be done in any order, then we could use undirected edges. From there, though, I'm lost. It's talking about analyzing the graph model, but how am I supposed to know how many points to plot, or how to connect them? Any advice here? Thanks!
 A: If you actually want to build a house, a good thing to use is the Gantt chart:
https://en.wikipedia.org/wiki/Gantt_chart
From a graph theory point of view:


*

*the graph is oriented (and loopless)

*the nodes stand for each task (ractangles of the gantt diagram) 

*there is an arrow between i and j if i has to be done before j. Its length is the duration of task i.
Then, all becomes much clearer. You can see then that the longest path in your graph is the total duration of your project (house building). Different connected components from the graph can be done at the same time. You would start all tasks represented by nodes with no father at the same time, ...
A: Each vertex $v$ represents a task, while a (directed) edge $e = (v_1, v_2)$ represents that the $v_1$ task needs to be completed before the $v_2$ task. For finding the minimum time, we need to give each vertex a weight that represents the time needed to complete the corresponding task. With this construction, can you see how to analyze it as the problem asks?
