PowerSolver Docs
Back to Wizard

PowerSolver Quick Reference

Wizard Steps

Step Name Key Action
1 Problem Type Select template or custom
2 Entities Define items to plan
3 Values Define resources
4 Constraints Define rules
5 Preview Review configuration
6 Solve Run solver, view results

Constraint Levels

Level Icon Impact Use For
Hard 🔴 Must satisfy Requirements
Medium 🟡 Should satisfy Important preferences
Soft 🟢 Nice to have Optimization

Score Reading

-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.

JSON Structure

{
  "variables": [
    { "id": "employee", "type": "basic", "valueRange": "employees" },
    { "id": "timeSlot", "type": "basic", "valueRange": "timeSlots" }
  ],
  "valueRanges": {
    "employees": [...],
    "timeSlots": [...]
  },
  "entities": [...],
  "constraints": [
    { "name": "Skill Match", "type": "hard", "rule": "skillMatch", ... }
  ]
}

Keyboard Shortcuts

Shortcut Action
Ctrl+S Save problem
Ctrl+Enter Start solving
Escape Stop solving
? Help

Troubleshooting Quick Fixes

Problem Solution
No feasible solution Relax hard constraints or add more values
Poor score Add/adjust soft constraints
Solver slow Reduce timeout, simplify constraints
API offline Check ports 8001, 8002

File Locations

Component Path
Solver API timefold-api/
Config API sqlite-api/
Wizard timefold-wizard/
Admin Console timefold-admin/
Templates timefold-templates/
Tests timefold-tests/
Shared Utilities shared/
Docs timefold-guides/Documentation/

Environment URLs

Environment Wizard Solver API Config API
Local localhost:8080 localhost:8001 localhost:8002
Production planning.planningpowertools.com api.planningpowertools.com config.planningpowertools.com

Support