Learning Solver Design: Automating Factorio Balancers
2024-12-27I find declarative programming fascinating: we just model the problem, describe the result we want, and an “oracle” (a.k.a. solver) conjures a solution for us. A lot of smart people spent decades building solvers for different problem classes, and I wanted an excuse to go and play with some of these solvers to learn optimization tricks along the way.In this post, I describe what I learned solving a toy flow optimization problem with MIP and SAT solvers. I picked belt balancing from the...
Read more at gianlucaventurini.com