Artificial Intelligence Combinatorial Optimization G. Guérard Department of Nouvelles Energies Ecole Supérieur d Ingénieurs Léonard de Vinci Lecture 4
Outline 1 2
Decisions about Resource Allocation Which process gets which resources. This is a space sharing, we control access to resource. Resources are not easily preemptible. Scheduling How long process keeps resource, in which order should requests be serviced? This is a time sharing. Resource is preemptible. How to represent task relationships? Network-based methods (CPM, PERT, MPM), matrix-based methods, system dynamics (for the next year!)
Motivation When does scheduler make decisions? When a process: switches from running to waiting state switches from running to ready state switches from waiting to ready terminates
Motivation Application of schedule: Identify critical path Communication between parties Role in control Link to resources Exposure to crowding Preliminary design Law (team management s law) Resources time-dependence
Graph representation Represent a set of task as a network using graph theory: capture task durations capture task logic
Graph representation Here: Node represents a Task ID and its expected duration. Arc represents a dependence between two task (a task can start if another is finished).
Assumptions We assume that: 1 project consists of a collection of well defined tasks. 2 Project ends when all jobs completed. 3 Jobs may be started and stopped independently of each other within a given sequence. 4 Jobs are ordered.
PERT Charts PERT: Program Evaluation and Review Technique. Activity on Arrow The tasks are shown by arrows. TThe nodes indicate the start or end of tasks. Task durations are shown by numbers on arrow.
PERT Charts Dummy task It shows a dependency but no task. Eat depends on Prep, Son and Dad. When parallel paths need to be completed before to start a task, we had Dummy task between parallel path to show the dependancy.
PERT Chart Early Start (ES) To compute ES, take the maximum between ES of predecessor plus the time to finish the task (a dummy task have a time equals to zero). The start point ES is equal to zero. Critical Path A critical path is a path where all node are bottlenecks (the maximum value computed during ES).
PERT Chart EF are written in node.
PERT Chart Late Start (LS) To compute LS, start from the end point, and substract the time to finish a task to the finish node. In the critical path, ES=LS by definition. LS are used to answer to this kind of question: How much more time could dad walk the dog before eating breakfast got delayed? Dad have to finish to walk the dog at 50min, so he have an extra 30min if he start at 10. The Float time is 30min.
AON AON means Activity on Node Method Node shows a lot of information about the task. It is an easier representation than PERT for large project.
AON
AON Identifies ES and EF: for ES, all immediate predecessors must be done before an activity can begin. if only one immediate predecessor, then ES=EF of predecessor. If >1 immediate predecessors, then ES=max{EF of all predecessors} This process is computed from Start node to End node.
AON
AON Identifies LS and LF: by backward pas, for LS, all immediate successors must be done. if activity is the immediate predecessor to only 1 activity then LF=LS of immediate follower if activity is the immediate predecessor to multiple activities, then LF=min{LS of all immidiate followers} LS=LF-activity time
AON
AON Slack The slack is the length of time an activity can be delayed without delaying the project. Slack=LS-ES=LF-EF. Activities with 0 slack are part of Critical Path.
AON
AON Total slack time It is shared by more than 1 activity. Example: A 1 week delay in activity B will leave 0 slack for activity D. Free slack time It is associated with only 1 activity. Example: Activity F has 6 week of free slack time