7.05d, 7.05e - Float, cascade charts and scheduling

7.05d, 7.05e - Float, cascade charts and scheduling

Use a project's early and late event times to find activity timings, independent float and interfering float in 7.05d. In 7.05e, turn the network into a cascade chart, investigate delays, and construct schedules which obey both dependencies and worker restrictions.

Activity start and finish times

A gallery's project takes 1010 hours with enough workers. Making signs has 44 hours of total float, and preparing the room has 11. Can both activities use all their float together, and can two workers still finish on time? Spare time has a structure: knowing its total is only the beginning.

You already know

For an activity i→ji\to j, EiE_i is the earliest time of its start event and LjL_j is the latest time of its finish event. With duration dijd_{ij}, total float is Lj−Ei−dijL_j-E_i-d_{ij}. Forward and backward passes include all dummy arcs.

Use the gallery project from the preceding lesson. All durations are in hours.

ActivityArcImmediate predecessorsDuration
AA1→21\to2none33
BB1→31\to3none44
dummy2→32\to3AA00
CC2→42\to4AA22
DD3→43\to4A,BA,B55
EE4→54\to5C,DC,D11

The earliest event times are 0,3,4,9,100,3,4,9,10; the latest event times are 0,4,4,9,100,4,4,9,10. An event time need not equal the finishing time of every activity entering it: CC can finish at time 55, while event 44 waits until DD finishes at time 99.

The four activity times

For an activity i→ji\to j with duration dijd_{ij},

earliest start=Eiearliest finish=Ei+dijlatest finish=Ljlatest start=Lj−dij\begin{aligned} \text{earliest start}&=E_i \\ \text{earliest finish}&=E_i+d_{ij} \\ \text{latest finish}&=L_j \\ \text{latest start}&=L_j-d_{ij} \end{aligned}

These latest times preserve the project deadline used in the backward pass, before any additional resource restriction.

Not in the formula booklet: learn it.

Add the duration when moving forward from a start, and subtract it when moving backwards from a finish.

Worked example 1: an activity finishes before its end event

Question. Find the earliest finish and latest start of CC in the original gallery project.

Plan. Use the early time at event 22 for its earliest finish and the late time at event 44 for its latest start.

earliest finish of C=3+2=5earliest start plus durationlatest start of C=9−2=7latest finish minus duration\begin{aligned} \text{earliest finish of }C&=3+2=5 && \text{earliest start plus duration} \\ \text{latest start of }C&=9-2=7 && \text{latest finish minus duration} \end{aligned}

Why this step? Event 44's early time 99 includes waiting for DD. It is not the earliest possible finish of CC.

Answer. CC can finish as early as time 55, or start as late as time 77, while preserving the 1010-hour project completion time.

Check. The latest start minus earliest start is 7−3=47-3=4, its total float.

Worked example 2 changes only CC's duration to 55 hours. Both ends of its allowed interval remain fixed, so the earliest finish moves later and the latest start moves earlier.

Worked example 2: a longer activity has a smaller window

Question. With CC lasting 55 hours and all other gallery data unchanged, find its earliest finish and latest start.

Plan. Check that the minimum project time stays 1010, then apply the two timing calculations with the new duration.

E4=max⁡(3+5,4+5)=9testing still controls the mergeearliest finish of C=3+5=8start at the earliest timelatest start of C=9−5=4finish by the latest time\begin{aligned} E_4&=\max(3+5,4+5)=9 && \text{testing still controls the merge} \\ \text{earliest finish of }C&=3+5=8 && \text{start at the earliest time} \\ \text{latest start of }C&=9-5=4 && \text{finish by the latest time} \end{aligned}

Why this step? The activity's earliest finish is still E2+dCE_2+d_C, even though the finish event occurs at time 99.

Answer. Earliest finish 88; latest start 44.

Check. The start window has length 4−3=14-3=1, agreeing with 9−3−5=19-3-5=1 hour of total float.

The four times refer to one activity, not four different positions on the network.

Watch out

Wrong: earliest finish of CC is E4E_4. At a merge, another activity can determine E4E_4. Right: its earliest finish is E2+dCE_2+d_C; its latest finish is L4L_4.

Now shorten the duration slightly and calculate the window again.

Independent and interfering float

Some spare time is guaranteed even when the preceding work finishes late and the following work is due to start early.

For activity i→ji\to j, imagine that its start event occurs at its latest time LiL_i, while its finish event must still occur at its earliest time EjE_j. The available interval is then Ej−LiE_j-L_i. Whatever is left after its duration is independent float. If it cannot fit into that interval, its independent float is 00, not a negative number.

Independent and interfering float

Independent float is the amount by which an activity's duration can increase without affecting preceding or succeeding activities, even when preceding events occur as late as permitted and succeeding events occur as early as possible. Interfering float is the rest of its total float: using it can affect the timing available to other activities, although the project deadline can still be met. For example, total float 44 and independent float 22 give interfering float 22.

Total float uses the widest interval, from the earliest start event to the latest finish event. Independent float uses the more restrictive interval between the latest start event and earliest finish event.

Splitting total float

For activity i→ji\to j of duration dijd_{ij},

Fij=Lj−Ei−dijIij=max⁡(Ej−Li−dij,0)interfering float=Fij−Iij\begin{aligned} F_{ij}&=L_j-E_i-d_{ij} \\ I_{ij}&=\max(E_j-L_i-d_{ij},0) \\ \text{interfering float}&=F_{ij}-I_{ij} \end{aligned}

The event times come from forward and backward passes for the same project deadline. All floats are non-negative for a feasible project with that deadline.

Not in the formula booklet: learn it.

The maximum with 00 is part of the formula, not an optional adjustment. Show and label the total and independent floats before subtracting them.

Worked example 3: some float is independent

Question. Activity P:i→jP:i\to j has duration 22 hours. Its event times are Ei=3E_i=3, Li=4L_i=4, Ej=8E_j=8, Lj=9L_j=9. Calculate its total, independent and interfering floats.

Plan. Calculate the widest spare interval first, then the spare interval between LiL_i and EjE_j, and subtract.

FP=9−3−2=4widest available intervalIP=max⁡(8−4−2,0)=2late start event, early finish eventinterfering float=4−2=2remaining total float\begin{aligned} F_P&=9-3-2=4 && \text{widest available interval} \\ I_P&=\max(8-4-2,0)=2 && \text{late start event, early finish event} \\ \text{interfering float}&=4-2=2 && \text{remaining total float} \end{aligned}

Why this step? Even starting at time 44, PP can take 44 hours and still finish at time 88. Its duration can therefore increase from 22 to 44 without disturbing either neighbouring event time.

Answer. Total float 44 hours; independent float 22 hours; interfering float 22 hours.

Check. Independent plus interfering is 2+2=42+2=4, equal to the total.

Worked example 4 changes only PP's duration to 55 hours, with the same event times. The restrictive interval is now too short, even though the activity remains feasible within the wider interval.

Worked example 4: independent float cannot be negative

Question. Activity P:i→jP:i\to j now takes 55 hours. Its event times remain Ei=3E_i=3, Li=4L_i=4, Ej=8E_j=8, Lj=9L_j=9. Calculate all three floats.

Plan. Repeat the calculations and replace a negative value inside the independent-float maximum by 00.

FP=9−3−5=1one hour spare overallEj−Li−dP=8−4−5=−1restrictive interval is too shortIP=max⁡(−1,0)=0no independent spare timeinterfering float=1−0=1all its float is interfering\begin{aligned} F_P&=9-3-5=1 && \text{one hour spare overall} \\ E_j-L_i-d_P&=8-4-5=-1 && \text{restrictive interval is too short} \\ I_P&=\max(-1,0)=0 && \text{no independent spare time} \\ \text{interfering float}&=1-0=1 && \text{all its float is interfering} \end{aligned}

Why this step? A negative intermediate value says there is no guaranteed spare time under both restrictive event choices. It does not mean the activity has negative independent float or that the project is impossible.

Answer. Total float 11 hour; independent float 00; interfering float 11 hour.

Check. Starting at time 33 finishes at time 88; starting at time 44 finishes at time 99. Both fit the project, but the later start cannot preserve the earlier finish event.

The narrower time interval is visible between the two middle event-time bounds.

[DIAGRAM: asset_name: The two intervals behind float; asset_slug: h245_7_05_float_windows; caption: Independent float uses the interval from the latest start event to the earliest finish event. A negative remainder is replaced by zero; description: Two horizontal timing panels for activity P, with E_i=3, L_i=4, E_j=8, L_j=9 on a common scale. A pale blue wider interval runs from 3 to 9 and a green restrictive interval from 4 to 8. The top panel shows duration 2, total float 4, independent float 2 and interfering float 2. The bottom shows duration 5, total float 1, independent float 0 and interfering float 1, with the calculation max(8-4-5,0)=0]
Independent float uses the interval from the latest start event to the earliest finish event. A negative remainder is replaced by zero

Label each answer: three unlabelled numbers do not show which type of float you have calculated.

Watch out

Wrong: independent float =−1=-1, then interfering float =1−(−1)=2=1-(-1)=2. Right: independent float =max⁡(−1,0)=0=\max(-1,0)=0, then interfering float =1=1. Apply the maximum before calculating the interfering float.

Choose the two event-time bounds carefully in the next calculation.

Constructing cascade charts

A cascade chart shows the activity durations and their available float on a time axis, making parallel work and spare intervals easy to see.

For the original gallery project, place each activity's solid bar at its earliest start. Continue with a dashed segment from its earliest finish to its latest finish, if these differ. That dashed length is its total float. You may give every activity its own row, or put the critical activities together on one row and each non-critical activity on a separate row; follow the layout requested in the question.

Cascade chart

A cascade chart is a time-scaled display of activities, usually with each activity starting at its earliest start time. A solid bar shows its duration and a dashed extension can show its total float. For example, CC's solid bar from time 33 to 55 and dashed extension from 55 to 99 show duration 22 and total float 44. The row represents an activity, not a worker.

The bar must end at earliest start plus duration, while the dashed extension ends at latest finish. Dummy activities have no duration to draw as a solid bar, but their dependencies remain part of the timing calculations.

Worked example 5: putting durations and float on a time axis

Question. Construct a cascade chart for the original gallery project, starting activities at their earliest times and showing total float with dashed lines.

Plan. List each solid interval and dashed extension, then draw them to the same time scale.

ActivitySolid intervalDashed intervalReasonA[0,3][3,4]E1=0, L2=4B[0,4]noneFB=0C[3,5][5,9]E2=3, L4=9D[4,9]noneFD=0E[9,10]noneFE=0\begin{array}{c|c|c|c} \text{Activity}&\text{Solid interval}&\text{Dashed interval}&\text{Reason}\\\hline A&[0,3]&[3,4]&E_1=0,\ L_2=4\\ B&[0,4]&\text{none}&F_B=0\\ C&[3,5]&[5,9]&E_2=3,\ L_4=9\\ D&[4,9]&\text{none}&F_D=0\\ E&[9,10]&\text{none}&F_E=0 \end{array}

Why this step? Drawing CC from time 33 to time 99 as a solid bar would turn its 44 hours of float into fictitious work. Separate work from available time.

Answer. The upper chart below has these five solid bars and the two dashed extensions.

Check. Solid lengths are 3,4,2,5,13,4,2,5,1, while dashed lengths are 1,0,4,0,01,0,4,0,0. The last activity finishes at time 1010.

Worked example 6 changes only CC's duration from 22 to 55 hours. Its bar gets longer and its dashed extension gets shorter.

Worked example 6: changing the split between work and float

Question. Construct the cascade chart when CC takes 55 hours and all other gallery data are unchanged.

Plan. Keep the unchanged activity bars, and redraw CC using its new earliest finish and remaining float.

earliest start of C=3after Aearliest finish of C=3+5=8new durationlatest finish of C=9same project deadlinesolid interval=[3,8]five hours of workdashed interval=[8,9]one hour of float\begin{aligned} \text{earliest start of }C&=3 && \text{after }A \\ \text{earliest finish of }C&=3+5=8 && \text{new duration} \\ \text{latest finish of }C&=9 && \text{same project deadline} \\ \text{solid interval}&=[3,8] && \text{five hours of work} \\ \text{dashed interval}&=[8,9] && \text{one hour of float} \end{aligned}

Why this step? The total interval [3,9][3,9] has not changed. Its allocation between work and float has.

Answer. Use the lower chart below: only CC's solid/dashed boundary changes.

Check. The new solid length is 8−3=58-3=5 and the dashed length is 9−8=19-8=1, agreeing with the recalculated float.

A common axis makes the change directly comparable.

Continue this lesson.

You’re previewing NovaLearn without an account. Create a free account to read the rest.

Create free account