Resource Loading & Leveling

Chapter 8
Optimization and Decision Models

Post Graduate Program in Project Management
Resource Loading & Leveling   •   Post Graduate

Optimization and Decision Models

Introduction

Resource loading and leveling become difficult when a project contains scarce specialists, multiple calendars, uncertain productivity, contractual deadlines, competing objectives, and strategic consequences. A schedule that is feasible in a purely technical sense may still be unacceptable because it is too expensive, exposes the organization to excessive risk, or assigns critical people inefficiently. Optimization and decision models provide disciplined ways to examine these trade-offs.

The central idea is to represent a project as a decision system. Activities consume resources, generate costs and benefits, depend on predecessor activities, and are exposed to uncertainty. The project manager then selects start times, resource assignments, staffing levels, modes of execution, or priorities subject to constraints.

No single model is universally superior. Linear programming is useful when relationships are continuous and proportional; integer and mixed-integer programming are appropriate for discrete decisions; constraint programming is powerful for complex scheduling logic; simulation evaluates performance under uncertainty; multi-criteria decision analysis (MCDA) makes value judgments explicit; and metaheuristics search very large solution spaces when exact optimization is computationally impractical.

Learning Objectives

By the end of this chapter, the reader should be able to:

  1. Formulate resource decisions using linear, integer, mixed-integer, and constraint programming.
  2. Distinguish optimization from simulation and explain how the two can be combined.
  3. Construct a multi-criteria decision model for duration, cost, utilization, risk, and strategic value.
  4. Select and apply suitable metaheuristics to resource-constrained project scheduling.
  5. Interpret model outputs critically, including assumptions, sensitivity, robustness, and governance implications.
  6. Recommend a defensible resource plan to senior stakeholders.

1. The Decision Structure of Resource Optimization

A project optimization model has five essential components:

  • Decision variables: quantities controlled by the project team, such as activity start times, resource assignments, staffing levels, or execution modes.
  • Parameters: known or estimated quantities, such as activity durations, resource capacities, rates, precedence relationships, and deadlines.
  • Objective function: a mathematical representation of what the organization seeks to minimize or maximize.
  • Constraints: technical, contractual, financial, logical, safety, or policy requirements.
  • Solution and interpretation: the selected plan, together with its feasibility, trade-offs, and sensitivity to assumptions.

For activity i, let si be its start time, di its duration, and fi = si + di its finish time. If activity j must follow activity i, the precedence constraint is:

sj ≥ si + di

This relation assumes a finish-to-start dependency with no lead or lag. With a lag Lij, it becomes sj ≥ si + di + Lij. Time units must be consistent throughout the model.

If activity i requires air units of resource type r and resource capacity in period t is Crt, a basic capacity constraint is:

∑i∈A air xit ≤ Crt for every resource r and period t

Here xit indicates whether activity i is being processed in period t. In a time-indexed model, it is commonly binary. The expression is valid only when resource demand is measured in the same units as capacity, such as engineer-hours per week.

1.1 Objective functions

A simple project-duration objective is to minimize the makespan T:

minimize T

subject to T ≥ fi for all activities. A cost objective may be:

minimize ∑i∈A ci + ∑r∈R∑t∈H orturt + P(T)

where ci is activity cost, ort is overtime cost, urt is overtime quantity, and P(T) is a schedule-delay penalty. The formula assumes that costs are additive and that the penalty function has been defined consistently with the contract or business case.

Because projects commonly have several objectives, a weighted objective can be written as:

minimize Z = wT ZT + wC ZC + wU ZU + wR ZR − wS ZS

The terms represent normalized measures of duration, cost, under-utilization or imbalance, risk, and strategic value. The weights wk are non-negative and should normally sum to 1. Normalization is essential: days, dollars, probability, and strategic scores cannot be added meaningfully in raw units. A weighted model expresses preferences, not objective truth; its conclusions depend on the quality of the weights and measures.

2. Linear and Mixed-Integer Programming

2.1 Linear programming

Linear programming (LP) is appropriate when decision variables are continuous and both the objective and constraints are linear. For example, an organization may decide how many hours of three engineer categories to allocate among work packages.

A generic LP is:

minimize or maximize cᵀx
subject to Ax ≤ b
x ≥ 0

The vector x contains decisions, c contains objective coefficients, A contains resource-use coefficients, and b contains available capacities or requirements. Linearity assumes constant marginal effects: one additional unit of a resource has the same coefficient regardless of the current allocation. This assumption is often reasonable for aggregate capacity planning but weak for setup costs, indivisible teams, and threshold effects.

2.2 Integer and mixed-integer programming

Many project decisions are discrete. A specialist is either assigned or not assigned; a work package uses one of several execution modes; a shift is opened or closed. Such decisions require integer variables.

A binary variable yim may indicate whether activity i uses mode m. The mode-selection constraint is:

∑m∈Mi yim = 1 for every activity i

If mode m has duration dim and cost cim, the selected duration and cost can be represented by:

Di = ∑m∈Mi dimyim
Ci = ∑m∈Mi cimyim

These equations are valid because exactly one binary mode variable equals 1. The resulting model is a mixed-integer linear program (MILP) if other variables are continuous.

Binary variables can also represent assignment. Let zir = 1 if resource r is assigned to activity i. Then:

∑r∈Ri zir ≥ qi

requires at least qi qualified resources, while availability can be enforced with:

∑i∈At zir ≤ 1

for each resource r and period t, assuming each person can work on at most one activity in that period. More elaborate models include skill levels, calendars, split activities, learning curves, and labor regulations.

2.3 Worked example: cost-duration trade-off

Consider a work package with two modes:

ModeDuration (weeks)CostSpecialists required per week
Standard440,0002
Accelerated355,0003

Let y1 and y2 be binary mode variables. The model requires:

y1 + y2 = 1

Duration is D = 4y1 + 3y2, and cost is C = 40000y1 + 55000y2. If the deadline is three weeks, the constraint D ≤ 3 forces y2 = 1. The decision therefore costs 55,000 and requires three specialists per week.

If the deadline is four weeks and the objective is cost minimization, the standard mode is selected. If the deadline is four weeks but the organization values early completion at more than 15,000, the accelerated mode may be preferred. This example illustrates why optimization does not eliminate managerial judgment; it makes the consequences of judgment visible.

3. Constraint Programming and Scheduling Logic

Constraint programming (CP) differs from conventional LP/MILP in emphasis. CP represents feasible combinations through domains and logical constraints rather than requiring every relationship to be linear. It is especially useful when a project contains alternative resources, no-overlap requirements, calendars, sequence-dependent setups, and complex conditional rules.

A typical CP scheduling model uses an interval variable for each activity. The interval has a start, duration, and end. A precedence rule is expressed as an end-before-start relation. A cumulative resource constraint limits the total demand of overlapping intervals:

cumulative(intervals, demands, capacity)

This notation is conceptual rather than a universal software syntax; actual syntax differs by solver. The model may also express rules such as:

  • If testing uses laboratory A, calibration must occur first.
  • Maintenance and production cannot overlap.
  • At least one certified engineer must be present during commissioning.
  • A team may work no more than six consecutive days.

CP is attractive where feasibility logic dominates economic trade-offs. MILP may be preferable when strong linear cost structures and dual information are important. Hybrid models are common: CP determines feasible schedules, while MILP or an external evaluation model ranks them.

4. Simulation: Evaluating Uncertainty Rather Than Choosing Directly

Optimization generally selects a plan using specified parameters. Simulation asks what may happen when durations, productivity, arrivals, failures, or resource availability vary. A plan that is optimal under average assumptions may be fragile under realistic variation.

For a simulation replication k, let T(k) be project duration and C(k) be cost. Estimated expected duration is:

T̄ = (1/N) ∑k=1N T(k)

The sample standard deviation is:

sT = √[(1/(N−1))∑k=1N(T(k) − T̄)2]

These estimates assume replications are suitably independent, or that dependence has been handled through an appropriate simulation design. A 95% confidence interval for the estimated mean, under ordinary large-sample conditions, is approximately:

T̄ ± 1.96(sT/√N)

The interval concerns the uncertainty in the estimated mean, not the range of individual project outcomes. For a deadline D, schedule reliability can be estimated as:

P(T ≤ D) ≈ (number of replications with T(k) ≤ D) / N

Simulation can be integrated with optimization in several ways:

  1. Optimize then simulate: generate a candidate schedule and test its robustness.
  2. Simulation optimization: use simulation outputs as the objective for a search algorithm.
  3. Robust optimization: optimize against uncertainty sets or penalize variability.
  4. Scenario analysis: compare plans under defined economic, staffing, or operational futures.

A key modeling risk is false precision. More replications reduce sampling error but do not correct an unrealistic probability distribution, omitted correlation, or biased resource-productivity assumption.

5. Multi-Criteria Decision Analysis

Project resource decisions often involve criteria that cannot be reduced naturally to money. Strategic capability, safety, stakeholder confidence, knowledge retention, and resilience may matter alongside cost and duration.

A transparent MCDA process normally includes:

  1. Define the decision and alternatives.
  2. Establish criteria and operational definitions.
  3. Determine whether each criterion is beneficial or costly.
  4. Normalize scores to a common scale.
  5. Assign weights using stakeholder elicitation.
  6. Calculate aggregate scores.
  7. Test sensitivity and discuss non-compensatory constraints.

For alternative j and criterion k, a simple weighted sum is:

Vj = ∑k=1K wk rjk

where rjk is the normalized performance score and ∑wk = 1. If higher raw values are better, min–max normalization is:

rjk = (xjk − minj xjk) / (maxj xjk − minj xjk)

For a cost criterion, the direction is reversed:

rjk = (maxj xjk − xjk) / (maxj xjk − minj xjk)

These formulas require a nonzero range. If all alternatives have the same value, the criterion does not discriminate and should be treated separately rather than divided by zero.

The weighted sum is compensatory: a weak score on one criterion can be offset by a strong score on another. Safety, legal compliance, and minimum service levels should often be modeled as constraints or veto thresholds instead of allowing compensation.

Example of MCDA scoring

Suppose three resource plans are assessed on normalized cost, duration, risk, and strategic value. Cost, duration, and risk are represented as benefits after normalization; strategic value is already a benefit. Weights are 0.30, 0.25, 0.20, and 0.25.

PlanCostDurationRiskStrategic valueWeighted score
A0.800.600.700.500.665
B0.600.900.500.800.705
C0.900.500.850.400.685

For Plan B, the score is 0.30×0.60 + 0.25×0.90 + 0.20×0.50 + 0.25×0.80 = 0.705. Plan B ranks first despite not having the lowest cost or risk because its schedule and strategic value compensate for those weaknesses. The ranking should be tested by changing weights and checking whether the preferred plan changes.

6. Metaheuristics for Large Scheduling Problems

The resource-constrained project scheduling problem (RCPSP) is computationally difficult in its general form. Exact methods can prove optimality for small or structured instances, but large portfolios may require heuristics or metaheuristics.

A metaheuristic is a general search strategy that guides the exploration of candidate solutions. It does not guarantee global optimality, but it can produce high-quality solutions within practical time.

6.1 Common approaches

  • Genetic algorithms: encode schedules as chromosomes and use selection, crossover, and mutation. A repair procedure is often needed to restore precedence and capacity feasibility.
  • Simulated annealing: accepts some inferior moves early in the search to escape local optima. With objective change ∆, a worsening move may be accepted with probability:
p = exp(−∆/τ) for ∆ > 0

where τ is a temperature parameter. As τ decreases, the search becomes less exploratory. The expression assumes a minimization problem and a positive worsening amount measured in consistent objective units.

  • Tabu search: records recently visited moves or attributes to discourage cycling while permitting strategically useful non-improving moves.
  • Ant colony optimization: uses collective search and pheromone updating to favor promising sequences.
  • Particle swarm optimization: updates candidate positions using individual and collective experience, although discrete scheduling requires specialized representations.
  • Large-neighborhood search: destroys part of a schedule and repairs it, often combining exact subproblem optimization with heuristic exploration.

6.2 Representation and feasibility

A metaheuristic's quality depends heavily on how a schedule is encoded. A priority-list representation can preserve activity precedence by using a serial schedule-generation scheme. The algorithm selects the next eligible activity according to priority and places it at the earliest feasible time. This approach avoids many infeasible chromosomes and makes the search more efficient.

A useful evaluation function can penalize infeasibility:

F(x) = Z(x) + λ1 Ep(x) + λ2 Ec(x)

where Z(x) is the objective, Ep(x) is precedence violation, Ec(x) is capacity violation, and λ1, λ2 are penalty coefficients. Penalties must be calibrated: excessive values can prevent exploration, while small values may allow infeasible schedules to dominate.

Metaheuristics should be compared using repeated runs, common stopping rules, and meaningful performance measures. Reporting only the best run is misleading. Useful evidence includes mean objective value, best value, standard deviation, computational time, feasibility rate, and robustness under simulation.

7. Integrated Decision Framework

A robust professional workflow combines optimization, simulation, and managerial judgment.

Integrated project resource decision workflow Define objectivesand constraints Build modelLP, MILP or CP Generate plansexact or heuristic Simulate and rankrisk and value revise assumptions, weights, or constraints
Integrated project resource decision workflow
Figure: Integrated project resource decision workflow

Figure: An iterative workflow for integrated resource decisions.

The workflow begins with a decision charter. It identifies the decision owner, planning horizon, approved data, non-negotiable constraints, and escalation rules. The model is then built at a level of detail proportionate to the decision. Excessive detail can create data-maintenance costs and obscure the main drivers.

Candidate schedules should be evaluated on at least four dimensions:

  • Feasibility: all logical, capacity, contractual, and policy rules are satisfied.
  • Performance: duration, cost, utilization, and service targets.
  • Robustness: performance under plausible uncertainty and disruption.
  • Acceptability: stakeholder, ethical, legal, and strategic implications.

8. Illustrative Case: Orion Hospital Diagnostic Upgrade

The following is a fictional illustrative case designed for educational use.

Background

Orion Hospital plans to replace diagnostic imaging equipment while maintaining emergency services. The project includes procurement, room modification, installation, software integration, testing, and staff training. The hospital has two biomedical engineers, one software specialist, and a limited number of approved contractors.

Problem

The baseline schedule completes in 14 weeks at a planned cost of 1.20 million currency units. Management asks whether the project can finish within 12 weeks without reducing safety or service continuity. Accelerating installation requires an additional contractor, but the contractor is also needed by another hospital project.

Analysis

The team formulates a MILP with binary variables for execution modes and contractor assignment. Constraints include:

  • procurement must precede installation;
  • room modification and software integration may overlap only if a qualified engineer is assigned;
  • emergency imaging capacity cannot fall below an approved threshold;
  • the additional contractor may be assigned to Orion in at most two of the four critical weeks;
  • installation must be completed before testing and training.

Three feasible plans are generated. Plan 1 meets the 14-week baseline at 1.20 million. Plan 2 finishes in 12 weeks at 1.31 million but uses the external contractor during two weeks. Plan 3 finishes in 13 weeks at 1.25 million and preserves more internal engineering capacity.

The plans are simulated using uncertain procurement lead time, installation duration, and software defect correction. Across 5,000 replications, the approximate results are:

PlanMean durationProbability of finishing within 14 weeksMean costNotable exposure
114.2 weeks0.581.20 millionhigh procurement sensitivity
212.7 weeks0.811.31 millioncontractor dependence
313.4 weeks0.731.25 millionmoderate internal workload

The hospital then applies MCDA. Safety and emergency continuity are treated as hard constraints, while cost, deadline reliability, staff workload, and strategic modernization value are weighted criteria. Plan 2 ranks first when the 12-week objective is strategically critical. Plan 3 ranks first when contractor dependence is assigned a large risk penalty.

Approach and solution

The steering committee selects Plan 3 as the approved base plan and retains Plan 2 as a contingency option if procurement is completed by week 3. This is a contingent decision rather than a claim that one plan is universally optimal. A trigger-based governance rule is established: if the procurement milestone is more than five working days late, the team activates the Plan 2 contractor reservation or formally revises the completion target.

Outcome and learning points

The case demonstrates that the lowest-cost or shortest deterministic schedule is not necessarily the best managerial choice. Optimization identifies feasible trade-offs; simulation reveals exposure; MCDA incorporates strategic and stakeholder value; governance converts analysis into an actionable policy.

9. Limitations, Ethics, and Governance

Models can produce authoritative-looking answers from weak assumptions. Important limitations include:

  • inaccurate duration or productivity estimates;
  • omitted resource calendars and skill constraints;
  • correlation between activities that is treated as independence;
  • double counting of risk in both cost and penalty terms;
  • arbitrary criterion weights;
  • solver time limits mistaken for proven optimality;
  • overfitting to a single scenario;
  • failure to model human fatigue, learning, or coordination costs.

Resource models also have ethical implications. A utilization objective can encourage excessive workload, unpaid overtime, unsafe compression, or systematic assignment of undesirable shifts to less powerful employees. A fair model should include labor law, rest requirements, psychological safety, accessibility, and transparent assignment principles. Personal data used in workforce models should be minimized, protected, and governed under applicable privacy requirements.

Model governance should require version control, documented assumptions, data lineage, approval of objective weights, independent validation for high-impact decisions, and an audit trail of overrides. Human review is especially important when model recommendations affect employment, safety, public services, or vulnerable stakeholders.

10. Technology and Contemporary Developments

Modern project platforms increasingly combine schedule networks, resource calendars, optimization solvers, probabilistic risk engines, and dashboards. Digital twins can update simulations from operational data, while machine-learning models can improve duration estimates. However, predictive accuracy does not guarantee decision quality. A forecast may be accurate but irrelevant if the objective function omits strategic value or fairness.

AI-assisted optimization should therefore be used as decision support rather than unexamined automation. Project professionals should ask: What data trained the model? Which groups or activities are systematically underrepresented? Can the recommendation be explained? What happens when conditions change? Generative AI can help formulate scenarios and explain outputs, but numerical results require solver validation and independent checking.

Promising research directions include robust and distributionally robust scheduling, explainable optimization, human-in-the-loop decision systems, multi-project resource optimization, carbon-aware scheduling, and adaptive policies that respond to observed project states rather than committing to one fixed schedule.

Best-Practice Checklist

  1. Define hard constraints before selecting a preferred objective.
  2. Separate controllable decisions from uncertain parameters.
  3. Use LP only when continuity and proportionality assumptions are defensible.
  4. Use integer or constraint programming for discrete and logical decisions.
  5. Normalize multi-criteria scores and document weights.
  6. Test deterministic plans through simulation.
  7. Report robustness, not only the best objective value.
  8. Compare metaheuristic results over repeated runs.
  9. Perform sensitivity analysis on durations, capacities, costs, and weights.
  10. Preserve human, legal, safety, and ethical review.
  11. Document assumptions, data sources, solver settings, and overrides.
  12. Convert selected plans into trigger-based operating policies where uncertainty is material.

Chapter Summary

Optimization and decision models transform resource loading and leveling from a purely procedural exercise into an explicit analysis of trade-offs. Linear programming handles continuous proportional allocations; integer and mixed-integer programming represent discrete assignments, modes, and activation decisions; constraint programming represents complex scheduling logic and cumulative capacity restrictions. Simulation evaluates uncertainty and estimates reliability, while MCDA incorporates cost, duration, utilization, risk, and strategic value in a transparent value framework. Metaheuristics provide practical search methods for large, computationally difficult scheduling problems.

The strongest professional practice is integrative. A model should first establish feasibility, then generate alternatives, evaluate deterministic performance, test uncertainty through simulation, and subject results to sensitivity, ethical, and governance review. An optimal mathematical solution is not automatically a robust or responsible management decision.

Key Terms

Linear programming: Optimization with continuous variables and linear objective and constraint relationships.

Integer programming: Optimization requiring some or all decision variables to take integer values.

Mixed-integer linear programming: A model containing both continuous and integer variables with linear relationships.

Constraint programming: A modeling approach based on variable domains and logical or combinatorial constraints.

Resource-constrained project scheduling problem: Scheduling activities subject to precedence and limited resource capacity.

Makespan: Time from project start to completion of the final activity.

Decision variable: A quantity controlled by the decision maker in a model.

Parameter: An input value treated as known or estimated for a model run.

Objective function: Mathematical expression representing the quantity to minimize or maximize.

Hard constraint: A condition that every acceptable solution must satisfy.

Simulation: Computational representation of system behavior under specified uncertainty.

Scenario analysis: Comparison of outcomes under distinct assumptions about future conditions.

Multi-criteria decision analysis: Structured evaluation of alternatives using multiple criteria and preferences.

Normalization: Transformation of measures to a common scale for comparison.

Metaheuristic: General search strategy that seeks high-quality solutions without guaranteeing optimality.

Robustness: The ability of a plan to perform acceptably under variation and disruption.

Sensitivity analysis: Examination of how results change when inputs or assumptions change.

Utilization: The proportion of available resource capacity that is used.

Model governance: Controls for assumptions, data, validation, approval, use, and auditability.

Review Questions

Short Answer Questions

  1. What distinguishes a decision variable from a parameter in a resource optimization model?
  2. When is a mixed-integer model preferable to a linear programming model?
  3. Why should cost, duration, and risk be normalized before using a weighted-sum MCDA model?
  4. What does simulation add to a deterministic project schedule?
  5. Why must utilization objectives be examined for ethical and workload consequences?

Long Answer Questions

  1. Compare linear programming, mixed-integer programming, and constraint programming for project resource decisions. Include assumptions, strengths, and limitations.
  2. Explain how optimization and simulation can be integrated in a project resource decision workflow.
  3. Develop a structured MCDA approach for selecting among three competing resource plans.
  4. Explain how metaheuristics address large resource-constrained scheduling problems and why representation is important.
  5. Discuss model governance requirements for AI-assisted resource allocation in a major project.

Analytical / Application Questions

  1. A project has two execution modes for each of five activities, limited specialists, and a fixed completion deadline. Design the principal variables, constraints, and objective terms for a MILP formulation.
  2. Three schedules have different mean durations, costs, deadline probabilities, and strategic benefits. Explain how you would test whether the preferred schedule remains preferred when simulation assumptions and MCDA weights change.
  3. A mathematically optimal schedule requires sustained overtime and assigns all night work to one employee group. Recommend changes to the model and explain how you would justify them to the steering committee.

Multiple Choice Questions with Answers

Question 1

Which decision variable most directly represents a discrete mode choice for an activity?

A. A continuous labor-hour variable

B. A binary variable indicating whether a mode is selected

C. A probability distribution for duration

D. A normalized strategic score

Correct Answer: B. A binary variable indicating whether a mode is selected

Question 2

In a finish-to-start dependency with no lag, which constraint is correct?

A. s_j ≤ s_i + d_i

B. s_i ≥ s_j + d_j

C. s_j ≥ s_i + d_i

D. d_j ≥ s_i + s_j

Correct Answer: C. s_j ≥ s_i + d_i

Question 3

What is the principal purpose of simulation in resource decision analysis?

A. To guarantee an optimal schedule

B. To evaluate performance under uncertainty

C. To eliminate the need for constraints

D. To convert all variables into binary values

Correct Answer: B. To evaluate performance under uncertainty

Question 4

In a weighted-sum MCDA model, why are criteria normalized?

A. To make all alternatives feasible

B. To ensure every criterion has a zero value

C. To place measures with different units on a comparable scale

D. To remove stakeholder preferences

Correct Answer: C. To place measures with different units on a comparable scale

Question 5

A plan has normalized scores 0.60, 0.90, 0.50, and 0.80, with weights 0.30, 0.25, 0.20, and 0.25. What is its weighted score?

A. 0.605

B. 0.665

C. 0.705

D. 0.805

Correct Answer: C. 0.705

Question 6

Which method is especially suitable for complex no-overlap and conditional scheduling rules?

A. Constraint programming

B. Simple averaging

C. Unconstrained regression

D. Cash-flow discounting only

Correct Answer: A. Constraint programming

Question 7

In simulated annealing for a minimization problem, what generally happens as temperature decreases?

A. Worsening moves become more likely

B. The search becomes less willing to accept worsening moves

C. All constraints are removed

D. The objective becomes linear

Correct Answer: B. The search becomes less willing to accept worsening moves

Question 8

If 810 of 1,000 simulation replications finish by the deadline, the estimated deadline reliability is:

A. 0.081

B. 0.19

C. 0.81

D. 1.81

Correct Answer: C. 0.81

Question 9

Which statement best describes a hard constraint?

A. It is a preference that can always be traded off

B. It must be satisfied by every acceptable solution

C. It is used only in simulation outputs

D. It is always assigned the smallest weight

Correct Answer: B. It must be satisfied by every acceptable solution

Question 10

Why should a metaheuristic be run repeatedly with controlled settings?

A. Its stochastic search may produce different results across runs

B. Repeated runs convert it into exact optimization

C. It removes the need to test feasibility

D. It guarantees that all assumptions are correct

Correct Answer: A. Its stochastic search may produce different results across runs

Resource Loading & Leveling
Chapter 8 of 14