-2hard / -1medium / -350soft
│ │ │
│ │ └── Soft penalties (optimization)
│ └── Medium violations
└── Hard violations (must be 0)
Feasible = Hard score is 0
Common Constraint Types
Constraint
Level
Description
Skill Match
Hard
Entity skills ⊆ Value skills
Capacity
Hard
Don't exceed limits
Deadline
Hard
Complete before deadline
No Overlap
Hard
Same resource, different times
Minimize Cost
Soft
Reduce total cost
Balance Workload
Soft
Distribute evenly
API Quick Reference
Solver API (Port 8001)
# Submit problem
curl -X POST http://localhost:8001/api/solve \
-H "Content-Type: application/json" \
-d @problem.json
# Check status
curl http://localhost:8001/api/solve/{jobId}
# Get solution
curl http://localhost:8001/api/solve/{jobId}/solution
# Get explanation
curl http://localhost:8001/api/solve/{jobId}/explain
Config API (Port 8002)
# List test cases
curl http://localhost:8002/api/testing/cases
# AI chat
curl -X POST http://localhost:8002/api/ai/chat \
-H "Content-Type: application/json" \
-d '{"provider":"deepseek","model":"deepseek-chat","messages":[...]}'
N-Variable Format
Variable Types
Type
Use Case
Example
basic
One entity → One value
Task → Developer
list
One entity → Multiple values
Vehicle → [Stop1, Stop2, Stop3]
Important
Vehicle Routing MUST use list type. All other problem types use basic.