Akamai engineer models hypervisor maintenance scheduling as RCPSP using OR-Tools CP-SAT, walking through interval variables and AddCumulative constraints with working Python code.
Key Takeaways
The “3Cs” – capacity, concurrency, conflict – define the core constraints when evacuating VMs from hosts before reboots.
CP-SAT interval variables and AddCumulative natively express throughput-limited concurrency; assigning per-VM throughput weights is more realistic than simple count limits.
MIP time-indexed formulations are intuitive but blow up in variable count as planning horizon or task count grows; CP-SAT’s time-continuous modeling avoids this.
CP-SAT runs a portfolio of algorithms internally, sharing information between them, making it a strong fit without hand-tuning a single solver strategy.
Hacker News Comment Review
One commenter confirmed real-world OR-Tools use for heterogeneous shard-to-task assignment, but noted CP-SAT hits scaling limits on very large instances, requiring custom heuristics at that point.