constraint-programming

Solve combinatorial optimization and feasibility problems with OR-Tools CP-SAT solver.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve?

This Skill tackles intricate scheduling, allocation, and combinatorial challenges that are often difficult for traditional methods like Mixed-Integer Programming (MIP), leveraging the power of constraint propagation and specialized search strategies.

Core Features & Use Cases

  • Constraint Modeling: Define complex relationships and logical constraints between variables.
  • Job Shop Scheduling: Optimize the scheduling of jobs on machines to minimize makespan.
  • Nurse Scheduling: Create fair and efficient schedules that meet coverage requirements and rest period constraints.
  • Global Constraints: Utilize powerful constraints like AllDifferent, Cumulative, and Circuit for efficient modeling.
  • Use Case: Automatically generate an optimal production schedule for a factory with multiple machines and complex job dependencies, ensuring all operational constraints are met.

Quick Start

Use the constraint-programming skill to solve a job shop scheduling problem with the provided job data.

Frequently Asked Questions about constraint-programming

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

FAQPage Schema
How do I solve complex job shop scheduling problems with constraint programming?

To solve job shop scheduling problems, constraint programming minimizes makespan by applying disjunctive constraints to optimize machine schedules. It leverages OR-Tools CP-SAT solver for efficient propagation and search across multiple jobs and complex dependencies.

What is the best way to automate nurse rostering and ensure fair shift coverage?

Nurse rostering is optimized by applying constraint programming to generate fair schedules that meet coverage requirements and rest period constraints. This ensures efficient resource allocation while adhering to strict operational rules and shift dependencies.

Does OR-Tools CP-SAT support global constraints like AllDifferent and Cumulative for resource allocation?

Yes, OR-Tools CP-SAT supports global constraints like AllDifferent, Cumulative, and Circuit for efficient resource allocation modeling. These constraints enable specialized propagation and search strategies for complex combinatorial feasibility problems.

When should I use constraint programming instead of Mixed-Integer Programming for combinatorial optimization?

Constraint programming is ideal for combinatorial optimization when problems involve intricate logical and disjunctive constraints that are difficult for Mixed-Integer Programming. It uses specialized search strategies and constraint propagation rather than purely mathematical relaxation.

What Python dependencies do I need to run constraint programming models with OR-Tools?

You need the Python dependencies OR-Tools, matplotlib, pandas, and numpy to run constraint programming models. These libraries facilitate solving combinatorial problems, data manipulation, and visualizing the optimized scheduling or allocation results.