Help - Optimization: Supplier Selection (optima_supplier_selection)
Click here to open the calculator: Optimization: Supplier Selection
Optimization: Supplier Selection
Purpose
This calculator chooses supplier-item purchase quantities to minimize total procurement cost while satisfying demand and respecting supplier constraints.
It can include fixed supplier activation costs, per-item caps, optional budget, and optional average quality/risk targets. In practice, it helps you answer: which suppliers should you actually use, and how much should you buy from each, so total cost stays low without compromising on quality, risk, or supply reliability?
Background
Problem Domain
Supplier selection is a mixed-integer optimization problem: quantity variables plus binary supplier-use decisions. It captures a tension every procurement team faces — the supplier with the lowest unit price is not automatically the cheapest choice once you add their fixed onboarding or activation cost, so the optimal mix can look different from a simple lowest-price ranking.
Real-World Uses
- Multi-vendor sourcing: No single supplier can fulfill all demand, and supplier capacities differ. Use the model to split purchases across suppliers at minimum total landed cost.
- Risk/quality-governed sourcing: The cheapest mix can violate acceptable quality or risk thresholds. Use the model to meet demand while satisfying average risk/quality targets.
- Spend-constrained procurement: Budget is fixed, but required quantities still need to be purchased. Use the model to test feasibility and determine the best supplier-item allocation.
- Vendor rationalization: Too many active suppliers increase operational overhead. Use the model to cap supplier count while preserving demand coverage and controlling cost.
Inputs
material_demand: Input table with columnsItemandDemand. Defines required purchase quantity per item. Use one consistent quantity unit basis across all procurement tables.supplier_master: Input table with columnsSupplier,Capacity, andFixed Cost, plus optionalMin Order,Risk, andQuality.Capacityshould use the same quantity units asmaterial_demand.supplier_item_cost: Input table with columnsSupplier,Item, andUnit Cost, plus optionalMax Qtyper supplier-item pair.Unit Costis per one quantity unit, andMax Qtyshould use the same quantity basis asDemandand supplierCapacity.max_suppliers: Maximum number of selected suppliers. Use0for no supplier-count limit.material_qty_type: Purchase quantity type. Usecontinuousfor fractional quantities orintegerfor whole-number quantities.budget_limit: Optional total spend cap including variable and fixed costs.min_avg_quality: Optional demand-weighted average quality floor. RequiresQualityinsupplier_masterand uses the same numeric scale as theQualitycolumn.max_avg_risk: Optional demand-weighted average risk ceiling. RequiresRiskinsupplier_masterand uses the same numeric scale as theRiskcolumn.show_zero: Controls output display. Turn on to include zero-quantity lines; turn off to show only active lines.
Results
Summary: Portfolio-level outcome withSelected Suppliers,Total Purchased,Total Demand, and minimumObjectivecost. This shows whether demand is fully covered and how many suppliers were needed.Decision Table: Active supplier-item purchase lines (Qty,Unit Cost,Line Cost) used as the execution-ready buying plan.Supplier Utilization: Per-supplier selection and usage view (purchased qty, capacity utilization, fixed cost, optional risk/quality) to evaluate vendor concentration and dependence.Constraint Slack: Slack for capacity, budget, supplier-count, risk, and quality constraints; useful for understanding what is constraining cost.
Understanding the Calculation
Objective:
- Minimize variable purchase cost + fixed supplier costs.
Core constraints:
- Item demand exactly met.
- Supplier total purchases within capacity.
- Linking: purchases from a supplier allowed only if that supplier is selected.
- Optional constraints for min order, budget, max suppliers, average quality, and average risk.
Example
Default run returns Optimal with objective 3670, selecting 2 suppliers
and purchasing total 240 units (exactly matching demand). Sample lines:
S1-I1: 100S3-I2: 80S3-I3: 60
Interpretation: a two-supplier mix is cheapest after accounting for both unit prices and fixed supplier costs. Adding a third supplier might lower unit costs further but isn't worth its fixed activation cost — exactly the kind of tradeoff that's hard to see without running the numbers.
Important Assumptions and Limitations
- Linear unit costs and fixed costs.
- No lead-time, service-level, or disruption probability modeling.
- Quality/risk aggregation is demand-weighted average, not worst-case.