{"slug": "or-tools-cp-sat", "name": "OR-Tools CP-SAT", "category": "other", "category_name": "Other software", "description": "", "recommenders": 3, "commenters": 3, "warners": 0, "score": 2.594, "rising": -0.98, "first": "2025-11-11", "latest": "2026-05-13", "why": "Most cases I've tried can be solved reasonably quickly when using OR-Tools CP-SAT", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 3, "neutral": 0, "compare": 0, "warn": 0}, "spark": [1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "Most cases I've tried can be solved reasonably quickly when using OR-Tools CP-SAT", "kind": "", "icon": true, "domain": null, "github_repo": null, "official_url": "https://developers.google.com/optimization", "pricing": "", "aliases": ["OR-Tools CP-SAT"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 769976096, "item_id": 48123506, "url": "https://news.ycombinator.com/item?id=48123506", "by": "lsuresh", "date": "2026-05-13", "stance": "recommend", "quote": "I'm a big fan of the CP-SAT solver", "excerpt": "I'm a big fan of the CP-SAT solver. It was a remarkable piece of tech to learn about (especially Peter Stuckey's talks on lazy clause generation [1]). I'd used it in a past life to build a Kubernetes scheduler [2] and tackle some cluster management problems. [1] https://www.youtube.com/watch?v=lxiCHRFNgno [2] https://www.usenix.org/system/files/osdi20-suresh.pdf", "context": "", "use_case": "constraint solving", "switched_from": "", "story": "Using OR-Tools CP-SAT for Scheduling Problems"}, {"id": 769957328, "item_id": 48122333, "url": "https://news.ycombinator.com/item?id=48122333", "by": "sobellian", "date": "2026-05-13", "stance": "recommend", "quote": "CP-SAT handles it pretty well.", "excerpt": "I use CP-SAT for automated design problems. I need a guarantee on solution quality, so gen AI is a nonstarter. The problem formulation is quite messy and has constraints that can vary by locale. CP-SAT handles it pretty well. The one thing I've been trying to model well are cover constraints where for each x : xs, there is some y : ys st. pred(x, y). I've tried both boolean matrices and index constraints, and they wo", "context": "", "use_case": "automated design constraint solving", "switched_from": "", "story": "Using OR-Tools CP-SAT for Scheduling Problems"}, {"id": 734176432, "item_id": 45886027, "url": "https://news.ycombinator.com/item?id=45886027", "by": "mzl", "date": "2025-11-11", "stance": "recommend", "quote": "Most cases I've tried can be solved reasonably quickly when using OR-Tools CP-SAT", "excerpt": "You will most likely need both smarter heuristics and better deductions for larger instances. As mentioned, I've seen well-engineered custom tight C++-solvers with decent heuristics and the normal deductions take >1 hour on some instances. Most cases I've tried can be solved reasonably quickly when using OR-Tools CP-SAT which uses constraint programming style lazy clause generation to a SAT solver and custom MIP rela", "context": "", "use_case": "Constraint solving", "switched_from": "", "story": null}]}], "caveats": [], "who": [], "tags": [], "use_cases": ["constraint solving", "automated design constraint solving"], "compared": [], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=48120351", "title": "Using OR-Tools CP-SAT for Scheduling Problems", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=45869350", "title": "item 45869350", "mentions": 1}], "sentiment_by_month": {"2025-11": {"recommend": 1}, "2025-12": {}, "2026-01": {}, "2026-02": {}, "2026-03": {}, "2026-04": {}, "2026-05": {"recommend": 2}, "2026-06": {}, "2026-07": {}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "quotes": [{"id": 769976096, "item_id": 48123506, "url": "https://news.ycombinator.com/item?id=48123506", "by": "lsuresh", "date": "2026-05-13", "stance": "recommend", "quote": "I'm a big fan of the CP-SAT solver", "excerpt": "I'm a big fan of the CP-SAT solver. It was a remarkable piece of tech to learn about (especially Peter Stuckey's talks on lazy clause generation [1]). I'd used it in a past life to build a Kubernetes scheduler [2] and tackle some cluster management problems. [1] https://www.youtube.com/watch?v=lxiCHRFNgno [2] https://www.usenix.org/system/files/osdi20-suresh.pdf", "context": "", "use_case": "constraint solving", "switched_from": "", "story": "Using OR-Tools CP-SAT for Scheduling Problems"}, {"id": 769957328, "item_id": 48122333, "url": "https://news.ycombinator.com/item?id=48122333", "by": "sobellian", "date": "2026-05-13", "stance": "recommend", "quote": "CP-SAT handles it pretty well.", "excerpt": "I use CP-SAT for automated design problems. I need a guarantee on solution quality, so gen AI is a nonstarter. The problem formulation is quite messy and has constraints that can vary by locale. CP-SAT handles it pretty well. The one thing I've been trying to model well are cover constraints where for each x : xs, there is some y : ys st. pred(x, y). I've tried both boolean matrices and index constraints, and they wo", "context": "", "use_case": "automated design constraint solving", "switched_from": "", "story": "Using OR-Tools CP-SAT for Scheduling Problems"}, {"id": 734176432, "item_id": 45886027, "url": "https://news.ycombinator.com/item?id=45886027", "by": "mzl", "date": "2025-11-11", "stance": "recommend", "quote": "Most cases I've tried can be solved reasonably quickly when using OR-Tools CP-SAT", "excerpt": "You will most likely need both smarter heuristics and better deductions for larger instances. As mentioned, I've seen well-engineered custom tight C++-solvers with decent heuristics and the normal deductions take >1 hour on some instances. Most cases I've tried can be solved reasonably quickly when using OR-Tools CP-SAT which uses constraint programming style lazy clause generation to a SAT solver and custom MIP rela", "context": "", "use_case": "Constraint solving", "switched_from": "", "story": null}]}