Find Related products on Amazon

Shop on Amazon

A SomewhatMaxSAT Solver

Published on: 2025-06-16 22:05:15

As you may recall from previous posts and elsewhere I have been busy writing a new solver for APT. Today I want to share some of the latest changes in how to approach solving. The idea for the solver was that manually installed packages are always protected from removals – in terms of SAT solving, they are facts. Automatically installed packages become optional unit clauses. Optional clauses are solved after manual ones, they don’t partake in normal unit propagation. This worked fine, say you had A # install request for A B # manually installed, keep it A depends on: conflicts-B | C Installing A on a system with B installed installed C , as it was not allowed to install the conflicts-B package since B is installed. However, I also introduced a mode to allow removing manually installed packages, and that’s where it broke down, now instead of B being a fact, our clauses looked like: A # install request for A A depends on: conflicts-B | C Optional: B # try to keep B installed As a ... Read full article.