Genetic algorithms
A search-based optimization technique that evolves many candidate resource plans to find a near-optimal mix of people, skills, and quantities under constraints. It helps estimate resource counts and assignments when the solution space is large and rules are complex. Useful for balancing cost, schedule, and utilization.
Key Points
- Explores many combinations of resource quantities and assignments to approach the best feasible plan.
- Handles discrete, integer decisions (e.g., number of developers, testers, machines) and complex constraints.
- Can optimize one or multiple goals such as cost, duration, utilization, and risk via fitness functions.
- Produces good, practical solutions quickly, even when exact optimization is hard or time-consuming.
- Works best when guided by clear objectives, realistic constraints, and calibrated productivity/cost data.
- Results should be validated with subject-matter experts before baselining the plan.
Purpose of Analysis
Use this technique to determine the resource mix and timing that meets schedule and scope targets with minimal cost or risk. It is valuable when traditional estimation methods struggle with numerous interdependent variables, skill constraints, and calendars.
It supports resource leveling and smoothing by searching for plans that reduce overloads while preserving milestone commitments.
Method Steps
- Define decision variables: counts of each role per period, specific assignments, or equipment units.
- Set objectives: minimize cost, meet or beat target duration, keep utilization within thresholds, or balance objectives.
- Specify constraints: skill requirements per activity, calendars, maximum availability, budget caps, learning curves, and integer-only counts.
- Choose an encoding: represent a plan as a chromosome (e.g., vector of role counts per sprint or month).
- Build a fitness function: calculate cost, schedule feasibility, penalties for constraint violations, and an overall score.
- Initialize a diverse population: generate feasible or near-feasible candidate plans using historical ranges and heuristics.
- Evolve solutions: select, crossover, and mutate candidates; evaluate fitness; keep the best; iterate for set generations.
- Apply stopping criteria: stop when improvement plateaus, a target score is reached, or max generations/time is hit.
- Review and refine: examine the best solutions with SMEs, adjust weights or constraints, and rerun if needed.
Inputs Needed
- Activity list, effort estimates, and required skills per activity.
- Resource pool with availability, calendars, skill levels, and cost rates.
- Productivity assumptions or throughput models by role and skill proficiency.
- Budget limits, schedule targets, and utilization thresholds.
- Historical performance data or benchmark ratios for calibration.
- Constraint rules: maximum team size, licensing limits, equipment capacity, compliance or union constraints.
- Algorithm settings: population size, crossover and mutation rates, number of generations, and penalty weights.
Outputs Produced
- Recommended resource plan: counts by role/time period and key assignments.
- Objective metrics: estimated cost, duration impact, utilization profiles, and constraint violation counts.
- Ranked alternatives and, if multi-objective, a trade-off curve or Pareto set.
- Sensitivity insights: which constraints or parameters most influence the plan.
- Confidence indicators from repeated runs, showing stability or variability of the solution.
Interpretation Tips
- Check feasibility first: ensure constraint violations are zero or within acceptable penalties.
- Prioritize solutions that are stable across multiple runs and small parameter changes.
- Validate productivity and learning-curve assumptions with team leads to avoid overpromising.
- Use trade-off sets to inform decisions: compare cost vs. duration vs. utilization, not just the top score.
- Translate results into actionable staffing decisions, hiring timelines, or vendor requests.
Example
A 6-month software project must staff backend, frontend, QA, and DevOps while meeting a fixed release date and budget cap. The team encodes monthly counts of each role as a chromosome and sets objectives to meet the date, minimize cost, and keep utilization between 70–85%.
- Inputs: activity skill map, role rates, calendars, and historic velocity per role.
- Run: 200 candidates, 100 generations, penalties for missing critical skills or overutilization.
- Result: two viable plans—Plan A with lower cost but tighter utilization; Plan B slightly higher cost with better buffer and lower risk.
- Decision: choose Plan B for resilience, document the trade-off, and align hiring and vendor onboarding dates accordingly.
Pitfalls
- Vague or misaligned objectives leading to cost-minimal but schedule-infeasible plans.
- Poor constraint modeling, such as ignoring calendars or skill proficiency, producing unrealistic results.
- Premature convergence from low diversity or small populations.
- Treating outputs as precise forecasts instead of decision support with ranges.
- Forgetting integer/discrete constraints on people and equipment counts.
- Overly complex models that are slow to run and hard to explain to stakeholders.
PMP Example Question
A project manager must estimate staffing for a highly constrained schedule with many skill combinations and availability rules. Which approach best supports finding a feasible, cost-aware resource mix when exact optimization is impractical?
- Analogous estimating based on a previous project.
- Parametric estimating using cost per person-month only.
- Expert judgment with a single workshop of team leads.
- Genetic algorithms to search many discrete staffing combinations under constraints.
Correct Answer: D — Genetic algorithms to search many discrete staffing combinations under constraints.
Explanation: This technique efficiently explores complex, constrained solution spaces to find near-optimal resource mixes. The other options provide value but are less effective when many interdependent variables and rules exist.
HKSM