constraint-satisfaction

star 2

Constraint satisfaction problems

ffsshhttiikk By ffsshhttiikk schedule Updated 2/28/2026

name: constraint-satisfaction description: Constraint satisfaction problems license: MIT compatibility: opencode metadata: audience: machine-learning-engineers category: artificial-intelligence

What I do

  • Formulate and solve constraint satisfaction problems
  • Implement search algorithms
  • Apply backtracking and propagation
  • Design constraint solvers
  • Optimize constraint solving
  • Handle complex combinatorial problems

When to use me

Use me when:

  • Scheduling and planning problems
  • Resource allocation
  • Puzzle solving (Sudoku, crossword)
  • Configuration problems
  • Combinatorial optimization

Key Concepts

CSP Framework

Variables: {X1, X2, X3, ..., Xn}
Domains: {D1, D2, D3, ..., Dn}
Constraints: {C1, C2, C3, ..., Cm}

Goal: Find assignment to all variables satisfying all constraints

Python CSP Example

from constraint import Problem, BacktrackingSolver

# Define problem
problem = Problem(BacktrackingSolver())

# Variables with domains
problem.addVariable("A", [1, 2, 3, 4])
problem.addVariable("B", [1, 2, 3, 4])
problem.addVariable("C", [1, 2, 3, 4])

# Constraints
def all_different(vars):
    return len(set(vars)) == len(vars)

problem.addConstraint(all_different, ["A", "B", "C"])
problem.addConstraint(lambda a, b: a + b > 4, ["A", "B"])
problem.addConstraint(lambda b, c: b != c, ["B", "C"])

# Solve
solutions = problem.getSolutions()
print(solutions)

Algorithms

  • Backtracking: Systematic search
  • Forward Checking: Prune domains early
  • Arc Consistency (AC-3): Remove inconsistent values
  • Min-Conflicts: Local search for large problems
  • Genetic Algorithms: For complex constraints

Applications

  • Scheduling: Employee rostering, class scheduling
  • Routing: Vehicle routing with constraints
  • Puzzles: Sudoku, N-Queens
  • Configuration: Product configuration
  • Planning: Task ordering with dependencies
Install via CLI
npx skills add https://github.com/ffsshhttiikk/opencode-agents-skills --skill constraint-satisfaction
Repository Details
star Stars 2
call_split Forks 2
navigation Branch main
article Path SKILL.md
More from Creator
ffsshhttiikk
ffsshhttiikk Explore all skills →