Project Crashing With Excel
Project Crashing With Excel
Exhibit 8.14 shows a modified version of the Excel spreadsheet we developed earlier, in Exhibit 8.10, to
determine the earliest event times for our CPM/PERT network for the house-building project. We have
added columns H, I, and J for the activity crash costs, the activity crash times, and the actual activity
crash times. Cells J6:J13 correspond to the yij variables in the linear programming model. The constraint
formulas for each activity are included in cells F6:F13. For example, cell F6 contains the formula
=J6+B7-B6, and cell F7 contains the formula and cell F7 contains the formula =J7+B8-B7. These
constraints and the others in column F must be set Ú the activity times in column G. The objective
function formula in cell B16 is shown on the formula bar at the top of the spreadsheet. The crashing goal
of 30 weeks is included in cell B15.
The problem in Exhibit 8.14 is solved by using Solver,as shown in Exhibit 8.15. Notice that there are two
sets of decision variables The objective function, Z, represents the total profit to be made from bowls and
mugs, given that $40 is the profit per bowl and $50 is the profit per mug. The first constraint is for
available labor. It shows that a bowl requires 1 hour of labor, a mug requires 2 hours, and 40 hours of
labor are available daily. The second constraint is for clay, and it shows that each bowl requires 4 pounds
of clay, each mug requires 3 pounds, and the daily limit of clay is 120 pounds.
This is a standard linear programming model; as such, it has a single objective function for profit.
However, let us suppose that instead of having one objective, the pottery company has several objectives,
listed here in order of importance:
and x2 = 10 mugs then a total of 25 hours of labor have been expended. Substituting these values into our
goal constraint gives
Because only 25 hours were used in production, labor was underutilized by 15 hours (40 – 25 = 15).
Thus, if we let d1+ = 15 hours amd d1+ = 0 (because there is obviously no overtime), we have
Now consider the case where x 1 = 10 bowls and x2 = 20 mugs. This means that a total of 50 hours have
been used for production, or 10 hours above the goal level of 40 hours. This extra 10 hours is overtime.
Thus, d1- = (because there is no underutilization) and d1+ = 10 hours.
In each of these two brief examples, at least one of the deviational variables equaled zero. In the first
example, d1+ = 0, and in the second example, d2- = 0. This is because it is impossible to use fewer than 40
hours of labor and more than 40 hours of labor at the same time. Of course, both deviational variables,
d1+ and d1+ could have equaled zero if exactly 40 hours were used in production. These examples
illustrate one of the fundamental characteristics of goal programming: At least one or both of the
deviational