Title: Planning of Barus
1(No Transcript)
2Planning of Barus Holley Addition
Activity Duration, Days
Predecessors
215
Procurement
60
Site Preparation
SP
31
Pour Foundation
P, PF
15
Erect Steel
ES
40
Roof, Ext. Wall
ES
50
Fabricate Glass
REW
85
Int Walls Gl.
REW
55
Landscaping
280
Acquire Furn.
IWG, AF, FG
15
Install Furn.
3Arrow Diagram (Network)
Nodes (I) Events
Arrows (I,J) Activities (Tasks)
2
5
PF
L
REW
SP
IWG
P
ES
FG
9
3
4
1
6
7
AF
IF
8
4Forward Pass Find ES(I)
ES(I) Earliest Start of Activities emanating
from node I
60
270
2
5
PF
L
REW
SP
IWG
P
ES
FG
9
3
4
1
6
7
370
215
230
280
355
0
AF
IF
8
355
5Backward Pass Find LC(I)
LC(I) Latest Completion of Activities
terminating at Node I.
184
270
60
270
2
5
PF
L
REW
SP
IWG
P
ES
FG
9
3
4
1
6
7
370
215
230
280
355
0
215
370
230
355
0
355
AF
IF
8
355
355
6Determining the Critical Path
An Activity (I,J) is on the Critical Path if the
following three conditions are met ES(I)
LC(I) ES(J) LC(J) ES(J) ES(I) LC(J)
LC(I) D(I,J) where D(I,J) is the duration of
Activity (I,J).
7Identify Critical Path
184
270
60
270
2
5
PF
L
REW
SP
IWG
P
ES
FG
9
3
4
1
6
7
370
215
230
355
280
0
370
215
230
355
355
0
AF
IF
355
355
8Determining the Slack Times (Floats)
The Slack Time, ST(I,J), of an Activity (I,J) is
the difference between the maximum time
available to perform the Activity (i.e. LC(J)
ES(I)) and its duration D(I,J) that
is, ST(I,J) LC(J) ES(I) D(I,J). For
Activities on the Critical Path the Slack Time is
zero.
9Determine Slack Times
184
270
60
270
2
5
SP(124)
L (45)
PF(124)
REW
IWG
ES
P
P
FG(75)
9
3
4
1
6
7
370
215
230
355
280
0
370
215
230
355
355
0
AF(75)
IF
355
355
10Construct Time Chart
1
5
4
3
7
9
8
1
2
2
3
6
4
5
9
8
1
200
400
300
100
0
Elapsed Time, Days
Critical Tasks
Non-Critical Tasks
11Schedule Project
1
5
4
3
7
9
8
SP
1
2
PF
2
3
FG
6
4
L
5
9
AF
8
1
200
400
300
100
0
Elapsed Time, Days
12LINGO Model Tasks
MODEL SETS TASKS / START, PROCUREMENT,
SITE_PREPARATION, POUR_FOUNDATION, ERECT_STEEL,
ROOF_EXT_WALL, FABRICATE_GLASS, INT_WALLS_GLASS,
LANDSCAPING, ACQUIRE_FURN, INSTALL_FURN, FINISH/
TIME, ES, LS, SLACK PRED( TASKS, TASKS)
/ START, SITE_PREPARATION, START,
PROCUREMENT, START, ACQUIRE_FURN, SITE_PREPARATI
ON, POUR_FOUNDATION, PROCUREMENT, ERECT_STEEL,
POUR_FOUNDATION, ERECT_STEEL, ERECT_STEEL,
ROOF_EXT_WALL, ERECT_STEEL, FABRICATE_GLASS,
ROOF_EXT_WALL, INT_WALLS_GLASS,
FABRICATE_GLASS, INSTALL_FURN,
ROOF_EXT_WALL, LANDSCAPING, INT_WALLS_GLASS,
INSTALL_FURN, ACQUIRE_FURN, INSTALL_FURN, LANDS
CAPING, FINISH, INSTALL_FURN, FINISH / ENDSETS
13LINGO Model Data
DATA TIME 0, 215, 60, 31, 15, 40, 50, 85,
55, 280, 15 ,0 ENDDATA
14LINGO Model Algorithm
_at_FOR( TASKS( J) J GT 1 ES( J) _at_MAX( PRED(
I, J) ES( I) TIME( I))) _at_FOR( TASKS( I) I
LT LTASK LS( I) _at_MIN( PRED( I, J) LS( J) -
TIME( I))) _at_FOR( TASKS( I) SLACK( I) LS( I)
- ES( I)) ES( 1) 0 LTASK _at_SIZE(
TASKS) LS( LTASK) ES( LTASK) END
15LINGO Solution Input Data
Feasible solution found at step 0
Variable
Value
LTASK 12.00000
TIME( START)
0.0000000 TIME(
PROCUREMENT) 215.0000
TIME( SITE_PREPARATION) 60.00000
TIME( POUR_FOUNDATION)
31.00000
TIME( ERECT_STEEL) 15.00000
TIME( ROOF_EXT_WALL)
40.00000 TIME(
FABRICATE_GLASS) 50.00000
TIME( INT_WALLS_GLASS) 85.0000
TIME( LANDSCAPING)
55.00000
TIME( ACQUIRE_FURN) 280.0000
TIME( INSTALL_FURN)
15.0000
TIME( FINISH) 0.0000000
16LINGO Solution Earliest Starts
ES( START)
0.0000000 ES( PROCUREMENT)
0.0000000 ES( SITE_PREPARATION)
0.0000000 ES( POUR_FOUNDATION)
60.00000 ES( ERECT_STEEL)
215.0000 ES( ROOF_EXT_WALL)
230.0000 ES( FABRICATE_GLASS)
230.0000 ES( INT_WALLS_GLASS)
270.0000 ES( LANDSCAPING)
270.0000 ES( ACQUIRE_FURN)
0.0000000 ES( INSTALL_FURN)
355.0000 ES( FINISH)
370.0000
17LINGO Solution Latest Starts
Latest Start is defined by LS(I,J) LC(I,J)
D(I,J).
LS( START)
0.0000000 LS( PROCUREMENT)
0.0000000 LS( SITE_PREPARATION)
124.0000 LS( POUR_FOUNDATION)
184.0000 LS( ERECT_STEEL)
215.0000 LS( ROOF_EXT_WALL)
230.0000 LS( FABRICATE_GLASS)
305.0000 LS( INT_WALLS_GLASS)
270.0000 LS( LANDSCAPING)
315.0000 LS( ACQUIRE_FURN)
75.00000 LS( INSTALL_FURN)
355.0000 LS( FINISH)
370.0000
18LINGO Solution Slack Times
SLACK( START) 0.0000000
SLACK( PROCUREMENT) 0.000000 SLACK(
SITE_PREPARATION) 124.0000 SLACK(
POUR_FOUNDATION) 124.0000 SLACK(
ERECT_STEEL) 0.0000000 SLACK(
ROOF_EXT_WALL) 0.0000000 SLACK(
FABRICATE_GLASS) 75.00000 SLACK(
INT_WALLS_GLASS) 0.0000000 SLACK(
LANDSCAPING) 45.00000 SLACK(
ACQUIRE_FURN) 75.00000 SLACK(
INSTALL_FURN) 0.0000000 SLACK(
FINISH) 0.0000000
19CPM with Crashing LINGO Model (a)
MODEL ! A CPM model with crashing
SETS TASKS / START, PROCUREMENT,
SITE_PREPARATION, POUR_FOUNDATION,
ERECT_STEEL, ROOF_EXT_WALL, FABRICATE_GLASS,
INT_WALLS_GLASS, LANDSCAPING, ACQUIRE_FURN,
INSTALL_FURN, FINISH/ TIME, !
Normal time for task TMIN, ! Min
time at max crash CCOST, ! Crash
cost/unit time EF, ! Earliest
finish CRASH ! Amount of
crashing
20Accessing LINGO
Go to Engineering Instructional Computer
Facility Prince Engineering Laboratory Balcony
(Enter from Brook Street follow corridor to
third stairwell on the right, go up two flights
of stairs) Logon Name First 6 characters of
last name followed by first and second letters
of first name. Password Rightmost 6 numbers
and letters of student ID number. Open
Lingo Go to the Start menu.
21PRINCE LAB COMPUTING FACILITY
LINK TO Logon FAQ
22CPM with Crashing LINGO Model (b)
! Here are the precedence relations PRED(
TASKS, TASKS)/ START, SITE_PREPARATION, START,
PROCUREMENT, START, ACQUIRE_FURN, SITE_PREPARATI
ON, POUR_FOUNDATION, PROCUREMENT, ERECT_STEEL,
POUR_FOUNDATION, ERECT_STEEL, ERECT_STEEL,
ROOF_EXT_WALL, ERECT_STEEL, FABRICATE_GLASS,
ROOF_EXT_WALL, INT_WALLS_GLASS,
FABRICATE_GLASS, INSTALL_FURN,
ROOF_EXT_WALL, LANDSCAPING, INT_WALLS_GLASS,
INSTALL_FURN, ACQUIRE_FURN INSTALL_FURN, LANDSC
APING, FINISH, INSTALL_FURN, FINISH /
ENDSETS
23CPM with Crashing LINGO Model (c)
DATA TIME 0, 215, 60, 31, 15, 40, 50, 85,
55, 280, 15, 0 ! Normal times TMIN
0, 195, 50, 28, 12, 35, 45, 50, 40,
240, 13, 0 ! Crash times CCOST 0, 2, 3, 3,
4, 4, 5, 3, 2, 1, 2, 0 ! Cost
(K)/day to crash DUEDATE 348 !
Project due date ENDDATA
24CPM with Crashing LINGO Model (d)
! The crashing LP model ! Define earliest
finish, each predecessor of a task constrains
when the earliest time the task can be
completed. The earliest the preceding task can
be finished plus the time required for the
task minus any time that could be reduced by
crashing this task. _at_FOR( PRED( I, J) EF(
J) gt EF( I) TIME( J) - CRASH( J) )
25CPM with Crashing LINGO Model (e)
! For each task, the most it can be crashed is
the regular time of that task minus minimum time
for that task _at_FOR( TASKS( J) CRASH( J)
lt TIME( J) - TMIN( J) ) ! Meet the due date !
This assumes that there is a single last task
EF( _at_SIZE( TASKS)) lt DUEDATE
26CPM with Crashing LINGO Model (f)
! Minimize the sum of crash costs MIN _at_SUM(
TASKS CCOST CRASH) END
27CPM with Crashing LINGO Solution
Optimal solution found at step 13
Objective value 44.00000
Variable Value Reduced Cost
EF( START) 0.0000000
2.000000 EF( PROCUREMENT)
195.0000 0.0000000 EF(
SITE_PREPARATION) 60.00000
0.0000000 EF( POUR_FOUNDATION)
91.00000 0.0000000 EF(
ERECT_STEEL) 210.0000 0.0000000
EF( ROOF_EXT_WALL) 250.0000
0.0000000 EF( FABRICATE_GLASS)
335.0000 0.0000000 EF(
INT_WALLS_GLASS) 335.0000
0.0000000 EF( LANDSCAPING)
305.0000 0.0000000 EF(
ACQUIRE_FURN) 280.0000 0.0000000
EF( INSTALL_FURN) 348.0000
0.0000000 EF( FINISH)
348.0000 0.0000000
28CPM with Crashing LINGO Solution(Crash Times)
Variable Value Reduced Cost
CRASH( START) 0.0000000
0.0000000 CRASH( PROCUREMENT)
20.00000 0.0000000 CRASH(
SITE_PREPARATION) 0.0000000 3.000000
CRASH( POUR_FOUNDATION) 0.0000000
3.000000 CRASH( ERECT_STEEL)
0.0000000 2.000000 CRASH(
ROOF_EXT_WALL) 0.0000000 2.000000
CRASH( FABRICATE_GLASS) 0.0000000
5.000000 CRASH( INT_WALLS_GLASS)
0.0000000 1.000000 CRASH(
LANDSCAPING) 0.0000000 2.000000
CRASH( ACQUIRE_FURN) 0.0000000
1.000000 CRASH( INSTALL_FURN)
2.000000 0.0000000 CRASH(
FINISH) 0.0000000 0.0000000