CAIRE uses a dual-model optimization architecture that combines two specialized engines:
ESS: Employee Shift Scheduling
Determines who works when and on which shifts, based on hourly demand curves and labor law constraints.
FSR: Field Service Routing
Assigns which employee visits which client and optimizes routes to minimize travel time.
14 Shifts] S --> FSR[FSR: Route Optimization] FSR --> R[Optimized Routes
All Visits Assigned] R --> C{Converged?} C -->|No| ESS C -->|Yes| Done[Present to Planner] style ESS fill:#9333EA,color:#fff style FSR fill:#14B8A6,color:#fff style Done fill:#22C55E,color:#fff
Why Two Models?
Traditional schedulers only optimize routes for pre-defined shifts. But how do you know how many employees you need? Using FSR alone leads to a catch-22: if you send a full set of shifts (e.g. one per employee per day), the solver assigns visits to some shifts and leaves others empty—so you get "shifts with no visits." If you send only the shifts you think you need (cold start), the solver often cannot assign all visits and you get "unassigned visits." FSR does not decide how many shifts to create; it routes visits to shifts you already defined. ESS+FSR avoids this: ESS is demand-driven and creates exactly the shifts needed; FSR then only routes to those shifts, so you get no empty shifts and full visit coverage. CAIRE uses the dual model to automatically discover optimal staffing levels:
| Aspect | Traditional Approach | CAIRE ESS+FSR |
|---|---|---|
| Staffing Input | Manual configuration required | Automatic discovery from demand |
| Employee Count | You guess (8? 10? 12?) | System calculates (discovers: 9) |
| Shift Times | You define manually | System optimizes automatically |
| Travel Overhead | Assumed or ignored | Learned from actuals data |
Key Innovation: ESS and FSR work iteratively. ESS estimates travel overhead and creates shifts. FSR reveals actual travel needed. If the delta is >5%, ESS adjusts and re-runs. Typically converges in 2-3 iterations.