ALLOCATE — Portfolio Selection
Package: tools-impact-engine-allocate
Purpose
Select which initiatives to scale given a limited budget.
Inputs (from EVALUATE)
Confidence scores
Scenario returns (R_best, R_med, R_worst)
Costs to scale each initiative
Produces
Selected initiatives for scaling
Budget allocation per initiative
Predicted returns
Algorithm
Minimax regret optimization (linear programming).
from support import solve_minimax_regret_optimization
result = solve_minimax_regret_optimization(
initiatives=initiatives,
budget=budget,
scenarios=["best", "med", "worst"]
)
Fan-In Exception
ALLOCATE is the only fan-in stage. It receives all evaluated initiatives as a batch and returns a single portfolio selection. This is inherent to the allocation problem: you cannot select a portfolio by looking at initiatives one at a time.