920 research outputs found
Can -Learning with Graph Networks Learn a Generalizable Branching Heuristic for a SAT Solver?
We present Graph--SAT, a branching heuristic for a Boolean SAT solver
trained with value-based reinforcement learning (RL) using Graph Neural
Networks for function approximation. Solvers using Graph--SAT are complete
SAT solvers that either provide a satisfying assignment or proof of
unsatisfiability, which is required for many SAT applications. The branching
heuristics commonly used in SAT solvers make poor decisions during their
warm-up period, whereas Graph--SAT is trained to examine the structure of
the particular problem instance to make better decisions early in the search.
Training Graph--SAT is data efficient and does not require elaborate dataset
preparation or feature engineering. We train Graph--SAT using RL interfacing
with MiniSat solver and show that Graph--SAT can reduce the number of
iterations required to solve SAT problems by 2-3X. Furthermore, it generalizes
to unsatisfiable SAT instances, as well as to problems with 5X more variables
than it was trained on. We show that for larger problems, reductions in the
number of iterations lead to wall clock time reductions, the ultimate goal when
designing heuristics. We also show positive zero-shot transfer behavior when
testing Graph--SAT on a task family different from that used for training.
While more work is needed to apply Graph--SAT to reduce wall clock time in
modern SAT solving settings, it is a compelling proof-of-concept showing that
RL equipped with Graph Neural Networks can learn a generalizable branching
heuristic for SAT search.Comment: Camera-ready for NeurIPS 202
Machine Learning for SAT: Restricted Heuristics and New Graph Representations
Boolean satisfiability (SAT) is a fundamental NP-complete problem with many
applications, including automated planning and scheduling. To solve large
instances, SAT solvers have to rely on heuristics, e.g., choosing a branching
variable in DPLL and CDCL solvers. Such heuristics can be improved with machine
learning (ML) models; they can reduce the number of steps but usually hinder
the running time because useful models are relatively large and slow. We
suggest the strategy of making a few initial steps with a trained ML model and
then releasing control to classical heuristics; this simplifies cold start for
SAT solving and can decrease both the number of steps and overall runtime, but
requires a separate decision of when to release control to the solver.
Moreover, we introduce a modification of Graph-Q-SAT tailored to SAT problems
converted from other domains, e.g., open shop scheduling problems. We validate
the feasibility of our approach with random and industrial SAT problems
DIFUSCO: Graph-based Diffusion Solvers for Combinatorial Optimization
Neural network-based Combinatorial Optimization (CO) methods have shown
promising results in solving various NP-complete (NPC) problems without relying
on hand-crafted domain knowledge. This paper broadens the current scope of
neural solvers for NPC problems by introducing a new graph-based diffusion
framework, namely DIFUSCO. Our framework casts NPC problems as discrete {0,
1}-vector optimization problems and leverages graph-based denoising diffusion
models to generate high-quality solutions. We investigate two types of
diffusion models with Gaussian and Bernoulli noise, respectively, and devise an
effective inference schedule to enhance the solution quality. We evaluate our
methods on two well-studied NPC combinatorial optimization problems: Traveling
Salesman Problem (TSP) and Maximal Independent Set (MIS). Experimental results
show that DIFUSCO strongly outperforms the previous state-of-the-art neural
solvers, improving the performance gap between ground-truth and neural solvers
from 1.76% to 0.46% on TSP-500, from 2.46% to 1.17% on TSP-1000, and from 3.19%
to 2.58% on TSP10000. For the MIS problem, DIFUSCO outperforms the previous
state-of-the-art neural solver on the challenging SATLIB benchmark. Our code is
available at "https://github.com/Edward-Sun/DIFUSCO"
A General Large Neighborhood Search Framework for Solving Integer Programs
This paper studies how to design abstractions of large-scale combinatorial optimization problems that can leverage existing state-of-the-art solvers in general purpose ways, and that are amenable to data-driven design. The goal is to arrive at new approaches that can reliably outperform existing solvers in wall-clock time. We focus on solving integer programs, and ground our approach in the large neighborhood search (LNS) paradigm, which iteratively chooses a subset of variables to optimize while leaving the remainder fixed. The appeal of LNS is that it can easily use any existing solver as a subroutine, and thus can inherit the benefits of carefully engineered heuristic approaches and their software implementations. We also show that one can learn a good neighborhood selector from training data. Through an extensive empirical validation, we demonstrate that our LNS framework can significantly outperform, in wall-clock time, compared to state-of-the-art commercial solvers such as Gurobi
Monte Carlo Forest Search: UNSAT Solver Synthesis via Reinforcement learning
We introduce Monte Carlo Forest Search (MCFS), an offline algorithm for
automatically synthesizing strong tree-search solvers for proving
\emph{unsatisfiability} on given distributions, leveraging ideas from the Monte
Carlo Tree Search (MCTS) algorithm that led to breakthroughs in AlphaGo. The
crucial difference between proving unsatisfiability and existing applications
of MCTS, is that policies produce trees rather than paths. Rather than finding
a good path (solution) within a tree, the search problem becomes searching for
a small proof tree within a forest of candidate proof trees. We introduce two
key ideas to adapt to this setting. First, we estimate tree size with paths,
via the unbiased approximation from Knuth (1975). Second, we query a strong
solver at a user-defined depth rather than learning a policy across the whole
tree, in order to focus our policy search on early decisions, which offer the
greatest potential for reducing tree size. We then present MCFS-SAT, an
implementation of MCFS for learning branching policies for solving the Boolean
satisfiability (SAT) problem that required many modifications from AlphaGo. We
matched or improved performance over a strong baseline on two well-known SAT
distributions (\texttt{sgen}, \texttt{random}). Notably, we improved running
time by 9\% on \texttt{sgen} over the \texttt{kcnfs} solver and even further
over the strongest UNSAT solver from the 2021 SAT competition
Exact Combinatorial Optimization with Graph Convolutional Neural Networks
Combinatorial optimization problems are typically tackled by the
branch-and-bound paradigm. We propose a new graph convolutional neural network
model for learning branch-and-bound variable selection policies, which
leverages the natural variable-constraint bipartite graph representation of
mixed-integer linear programs. We train our model via imitation learning from
the strong branching expert rule, and demonstrate on a series of hard problems
that our approach produces policies that improve upon state-of-the-art
machine-learning methods for branching and generalize to instances
significantly larger than seen during training. Moreover, we improve for the
first time over expert-designed branching rules implemented in a
state-of-the-art solver on large problems. Code for reproducing all the
experiments can be found at https://github.com/ds4dm/learn2branch.Comment: Accepted paper at the NeurIPS 2019 conferenc
- …