procurement-optimization

Calculate EOQ and allocate orders across suppliers with PuLP and NumPy.

56|16|Updated Oct 18, 2025
One-click install
npx skills add https://github.com/kishorkukreja/awesome-supply-chain --skill procurement-optimization
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: procurement-optimization
Source: https://github.com/kishorkukreja/awesome-supply-chain/tree/main/skills/procurement-optimization
Command: npx skills add https://github.com/kishorkukreja/awesome-supply-chain --skill procurement-optimization

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires numpy, pandas, scipy, pulp, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill helps organizations make optimal purchasing decisions by minimizing total costs, allocating orders across suppliers, and determining ideal order quantities, while meeting service levels and constraints.

Core Features & Use Cases

  • Economic Order Quantity (EOQ): Calculates optimal order sizes to minimize ordering and holding costs.
  • Supplier Allocation: Determines the best way to split orders among multiple suppliers based on cost, capacity, and quality.
  • Use Case: A manufacturing company needs to procure raw materials. This Skill can calculate the EOQ for each material and then determine the optimal allocation of the total demand across its approved suppliers to achieve the lowest total cost while ensuring quality and capacity requirements are met.

Quick Start

Use the procurement-optimization skill to calculate the EOQ for an annual demand of 10,000 units, an order cost of $100, and a holding cost rate of 25%.

Frequently Asked Questions about procurement-optimization

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I calculate Economic Order Quantity (EOQ) to minimize inventory holding and ordering costs?

Yes, you can allocate orders across multiple suppliers by formulating the procurement problem as a linear program. This Skill uses PuLP to minimize total costs while satisfying supplier capacity limits, minimum order quantities (MOQs), and quality constraints.

Can I optimize supplier allocation while accounting for minimum order quantities and supplier capacity?

Supplier allocation is optimized using PuLP linear programming to split orders across vendors based on cost, capacity, and quality. It minimizes total procurement costs while strictly enforcing minimum order quantities and supplier capacity constraints.

What's the best way to model quantity discounts in procurement optimization using Python?

Modeling quantity discounts in procurement optimization involves evaluating tiered pricing structures against order sizes. This Skill calculates EOQ and allocates demand using pandas and scipy to minimize costs when suppliers offer volume-based quantity discounts.

Do I need linear programming knowledge to optimize purchasing decisions with this Skill?

No explicit linear programming knowledge is required to start optimizing purchasing decisions. The Skill handles the underlying PuLP formulation internally, allowing users to input demand, costs, and supplier constraints to receive minimized procurement outputs.

How does supplier allocation handle quality constraints when minimizing total procurement costs?

Supplier allocation handles quality constraints by incorporating them into the linear programming objective function. The optimization engine ensures that selected suppliers meet specified quality thresholds while still achieving the lowest total procurement cost.