Solving Boolean satisfiability and integer programming with Python packaging

Muhammad Maaz developed solvers that use Python packaging to solve Sudoku puzzles. He extended this idea to build SAT and IP solvers that solely rely on pip with no additional libraries required. Building on the concept that package dependency resolution is NP-complete, he demonstrates how SAT problems can be encoded as package dependency problems. He explains how to encode single linear inequalities as SAT instances, showcasing the transformation from IP to SAT. By introducing dummy packages and dependencies, he shows how the feasibility of linear inequalities can be represented in CNF clauses. This innovative approach highlights the versatile applications of Python packaging beyond traditional usage.

https://mmaaz.ca/writings/pipip.html

To top