193 research outputs found
Parameterizing Branch-and-Bound Search Trees to Learn Branching Policies
Branch and Bound (B&B) is the exact tree search method typically used to
solve Mixed-Integer Linear Programming problems (MILPs). Learning branching
policies for MILP has become an active research area, with most works proposing
to imitate the strong branching rule and specialize it to distinct classes of
problems. We aim instead at learning a policy that generalizes across
heterogeneous MILPs: our main hypothesis is that parameterizing the state of
the B&B search tree can aid this type of generalization. We propose a novel
imitation learning framework, and introduce new input features and
architectures to represent branching. Experiments on MILP benchmark instances
clearly show the advantages of incorporating an explicit parameterization of
the state of the search tree to modulate the branching decisions, in terms of
both higher accuracy and smaller B&B trees. The resulting policies
significantly outperform the current state-of-the-art method for "learning to
branch" by effectively allowing generalization to generic unseen instances.Comment: AAAI 2021 camera-ready version with supplementary materials, improved
readability of figures in main article. Code, data and trained models are
available at https://github.com/ds4dm/branch-search-tree
Machine learning algorithms in Mixed-Integer Programming
RÉSUMÉ: De nombreux problèmes de la vie courante comportent des décisions discrètes, et peuvent être
modélisés sous la forme de programmes d’optimisation en nombres entiers. De tels modèles peuvent désormais être résolus efficacement à l’aide de solveurs matures comportant un vaste arsenal algorithmique, ce qui explique l’utilisation quotidienne de la programmation mathématique mixte en nombres entiers (PNE) dans de multiples secteurs. Alors que les techniques d’apprentissage automatiques (à partir d’exemples) sont de plus en plus mises en œuvre pour l’analyse de données et la predicion, une attention nouvelle est donnée à l’apprentissage dans le contexte d’algorithmes d’optimisation, notamment dans les choix algorithmiques des solveurs de PNE. Cette thèse s’inscrit dans ce courant de recherche : nous analysons et proposons de nouvelles méthodes pour intégrer des techniques d’apprentissage automatique au sein d’algorithmes d’optimisation, et explorons le potentiel de cette interaction. Premièrement, nous passons en revue l’état de l’art quant à l’utilisation de techniques
d’apprentissage automatique pour la sélection de variables et de nœuds dans un arbre de branchement. Plusieurs travaux de PNE sont identifiés comme précurseurs d’approches basées sur l’apprentissage automatique. En discutant les hypothèses et questions sousjacentes de ces décisions, nous proposons un nouveau cadre pour analyser les approches récentes d’apprentissage, et soulignons des nouvelles perspectives quant à l’utilisation de l’apprentissage pour guider le branchement. Deuxièmement, nous développons un modèle de classification pour identifier si un programme
d’optimisation quadratique convexe avec variables mixtes doit être linéarisé ou non. En particulier, cette approche vise à exploiter, au sein du processus d’apprentissage, la connaissance de l’algorithme d’optimisation. Comme le montre l’implémentation au sein du solveur IBM-CPLEX, ces travaux décrivent plus largement une méthodologie pour combiner des
technologies d’apprentissage et de PNE. Troisièmement, nous employons une approche basée sur la classification des séries temporelles pour prédire, après avoir utilisé une fraction du temps de calcul alloué, si un problème de
PNE sera résolu ou non dans le temps imparti par l’utilisateur. Plus généralement, ces expériences sont un point de départ pour explorer comment des algorithmes d’apprentissage automatique peuvent utiliser l’information du processus de branchement pour en identifier les tendances, et éventuellement influencer la résolution. Enfin, nous présentons un nouveau cadre d’apprentissage par imitation pour le problème de sélection de variable dans un arbre de branchement. Afin d’obtenir des stratégies de branchement pouvant être généralisées à des instances de PNE génériques, nous introduisons un nouveau modèle d’aprentissage qui prend en compte l’évolution de l’arbre de branchement et le rôle des variables candidates. En plus d’atteindre les performances recherchées, cette approche offre de nouvelles bases pour de futures recherches sur les algorithmes de branchement.----------ABSTRACT: A variety of real-world tasks involve decisions of discrete nature, and can be mathematically modeled as Mixed-Integer Programming (MIP) optimization problems. Daily deployed in multiple application domains, MIP formulations are nowadays solved effectively and reliably, thanks to the complex and rich algorithmic frameworks developed in modern MIP solvers. With machine learning (ML) being extensively leveraged to “learn from examples”, new
attention has been given to the application of learned predictions in optimization settings, especially in the context of MIP solvers’ algorithmic design. The present thesis contributes to this thread of research: we discuss and propose novel methods on the theme of using ML
algorithms alongside MIP ones, and explore some opportunities of this fruitful interaction. First, to document ML attempts addressing the decisions of variable and node selection in Branch and Bound (B&B), we present a survey on learning and branching. By interpreting
previous MIP literature contributions as forerunners of ML-based works, and discussing the assumptions and concerns underlying these critical heuristic decisions, we provide an original canvas to analyze recent learned approaches and outline new points of view. Second, we develop a classification framework to tackle the algorithmic question of whether to linearize convex quadratic MIPs, aiming at a tight integration of the optimization knowledge in the learning pipeline. As experiments practically led to the deployment of a classifier in the IBM-CPLEX optimization solver, the work more generally outlines a reference methodology for the combination of ML and MIP technologies. Third, we employ a feature-based sequence classification approach to predict, after only a fraction of the available computing time has passed, whether a MIP will be solved before
time-limiting. From a broader perspective, the experiments represent a starting point for exploring how statistical learning algorithms could utilize data from B&B to identify trends in MIP optimization, and possibly influence the resolution process. Finally, we contribute a novel imitation learning framework for variable selection. With the goal of learning branching policies that generalize across generic MIP instances, we introduce a new architectural paradigm that places at its center the evolution of B&B search trees and the role of candidate variables within it. On top of establishing the sought generalization capabilities, the approach offers fresh and promising ideas for future research on branching
Learning to Branch in Combinatorial Optimization with Graph Pointer Networks
Branch-and-bound is a typical way to solve combinatorial optimization
problems. This paper proposes a graph pointer network model for learning the
variable selection policy in the branch-and-bound. We extract the graph
features, global features and historical features to represent the solver
state. The proposed model, which combines the graph neural network and the
pointer mechanism, can effectively map from the solver state to the branching
variable decisions. The model is trained to imitate the classic strong
branching expert rule by a designed top-k Kullback-Leibler divergence loss
function. Experiments on a series of benchmark problems demonstrate that the
proposed approach significantly outperforms the widely used expert-designed
branching rules. Our approach also outperforms the state-of-the-art
machine-learning-based branch-and-bound methods in terms of solving speed and
search tree size on all the test instances. In addition, the model can
generalize to unseen instances and scale to larger instances
Hybrid Models for Learning to Branch
A recent Graph Neural Network (GNN) approach for learning to branch has been
shown to successfully reduce the running time of branch-and-bound algorithms
for Mixed Integer Linear Programming (MILP). While the GNN relies on a GPU for
inference, MILP solvers are purely CPU-based. This severely limits its
application as many practitioners may not have access to high-end GPUs. In this
work, we ask two key questions. First, in a more realistic setting where only a
CPU is available, is the GNN model still competitive? Second, can we devise an
alternate computationally inexpensive model that retains the predictive power
of the GNN architecture? We answer the first question in the negative, and
address the second question by proposing a new hybrid architecture for
efficient branching on CPU machines. The proposed architecture combines the
expressive power of GNNs with computationally inexpensive multi-linear
perceptrons (MLP) for branching. We evaluate our methods on four classes of
MILP problems, and show that they lead to up to 26% reduction in solver running
time compared to state-of-the-art methods without a GPU, while extrapolating to
harder problems than it was trained on.Comment: Preprint. Under revie
Learning to compare nodes in branch and bound with graph neural networks
En informatique, la résolution de problèmes NP-difficiles en un temps raisonnable est d’une grande importance : optimisation de la chaîne d’approvisionnement, planification, routage, alignement de séquences biologiques multiples, inference dans les modèles graphiques pro- babilistes, et même certains problèmes de cryptographie sont tous des examples de la classe NP-complet. En pratique, nous modélisons beaucoup d’entre eux comme un problème d’op- timisation en nombre entier, que nous résolvons à l’aide de la méthodologie séparation et évaluation. Un algorithme de ce style divise un espace de recherche pour l’explorer récursi- vement (séparation), et obtient des bornes d’optimalité en résolvant des relaxations linéaires sur les sous-espaces (évaluation). Pour spécifier un algorithme, il faut définir plusieurs pa- ramètres, tel que la manière d’explorer les espaces de recherche, de diviser une recherche l’espace une fois exploré, ou de renforcer les relaxations linéaires. Ces politiques peuvent influencer considérablement la performance de résolution.
Ce travail se concentre sur une nouvelle manière de dériver politique de recherche, c’est à dire le choix du prochain sous-espace à séparer étant donné une partition en cours, en nous servant de l’apprentissage automatique profond. Premièrement, nous collectons des données résumant, sur une collection de problèmes donnés, quels sous-espaces contiennent l’optimum et quels ne le contiennent pas. En représentant ces sous-espaces sous forme de graphes bipartis qui capturent leurs caractéristiques, nous entraînons un réseau de neurones graphiques à déterminer la probabilité qu’un sous-espace contienne la solution optimale par apprentissage supervisé. Le choix d’un tel modèle est particulièrement utile car il peut s’adapter à des problèmes de différente taille sans modifications. Nous montrons que notre approche bat celle de nos concurrents, consistant à des modèles d’apprentissage automatique plus simples entraînés à partir des statistiques du solveur, ainsi que la politique par défaut de SCIP, un solveur open-source compétitif, sur trois familles NP-dures: des problèmes de recherche de stables de taille maximum, de flots de réseau multicommodité à charge fixe, et de satisfiabilité maximum.In computer science, solving NP-hard problems in a reasonable time is of great importance, such as in supply chain optimization, scheduling, routing, multiple biological sequence align- ment, inference in probabilistic graphical models, and even some problems in cryptography. In practice, we model many of them as a mixed integer linear optimization problem, which we solve using the branch and bound framework. An algorithm of this style divides a search space to explore it recursively (branch) and obtains optimality bounds by solving linear relaxations in such sub-spaces (bound). To specify an algorithm, one must set several pa- rameters, such as how to explore search spaces, how to divide a search space once it has been explored, or how to tighten these linear relaxations. These policies can significantly influence resolution performance.
This work focuses on a novel method for deriving a search policy, that is, a rule for select- ing the next sub-space to explore given a current partitioning, using deep machine learning. First, we collect data summarizing which subspaces contain the optimum, and which do not. By representing these sub-spaces as bipartite graphs encoding their characteristics, we train a graph neural network to determine the probability that a subspace contains the optimal so- lution by supervised learning. The choice of such design is particularly useful as the machine learning model can automatically adapt to problems of different sizes without modifications. We show that our approach beats the one of our competitors, consisting of simpler machine learning models trained from solver statistics, as well as the default policy of SCIP, a state- of-the-art open-source solver, on three NP-hard benchmarks: generalized independent set, fixed-charge multicommodity network flow, and maximum satisfiability problems
Machine Learning for Cutting Planes in Integer Programming: A Survey
We survey recent work on machine learning (ML) techniques for selecting
cutting planes (or cuts) in mixed-integer linear programming (MILP). Despite
the availability of various classes of cuts, the task of choosing a set of cuts
to add to the linear programming (LP) relaxation at a given node of the
branch-and-bound (B&B) tree has defied both formal and heuristic solutions to
date. ML offers a promising approach for improving the cut selection process by
using data to identify promising cuts that accelerate the solution of MILP
instances. This paper presents an overview of the topic, highlighting recent
advances in the literature, common approaches to data collection, evaluation,
and ML model architectures. We analyze the empirical results in the literature
in an attempt to quantify the progress that has been made and conclude by
suggesting avenues for future research.Comment: Accepted in IJCAI 2023 Survey Trac
Learning to Pivot as a Smart Expert
Linear programming has been practically solved mainly by simplex and interior
point methods. Compared with the weakly polynomial complexity obtained by the
interior point methods, the existence of strongly polynomial bounds for the
length of the pivot path generated by the simplex methods remains a mystery. In
this paper, we propose two novel pivot experts that leverage both global and
local information of the linear programming instances for the primal simplex
method and show their excellent performance numerically. The experts can be
regarded as a benchmark to evaluate the performance of classical pivot rules,
although they are hard to directly implement. To tackle this challenge, we
employ a graph convolutional neural network model, trained via imitation
learning, to mimic the behavior of the pivot expert. Our pivot rule, learned
empirically, displays a significant advantage over conventional methods in
various linear programming problems, as demonstrated through a series of
rigorous experiments
Adaptive Constraint Partition based Optimization Framework for Large-scale Integer Linear Programming(Student Abstract)
Integer programming problems (IPs) are challenging to be solved efficiently
due to the NP-hardness, especially for large-scale IPs. To solve this type of
IPs, Large neighborhood search (LNS) uses an initial feasible solution and
iteratively improves it by searching a large neighborhood around the current
solution. However, LNS easily steps into local optima and ignores the
correlation between variables to be optimized, leading to compromised
performance. This paper presents a general adaptive constraint partition-based
optimization framework (ACP) for large-scale IPs that can efficiently use any
existing optimization solver as a subroutine. Specifically, ACP first randomly
partitions the constraints into blocks, where the number of blocks is
adaptively adjusted to avoid local optima. Then, ACP uses a subroutine solver
to optimize the decision variables in a randomly selected block of constraints
to enhance the variable correlation. ACP is compared with LNS framework with
different subroutine solvers on four IPs and a real-world IP. The experimental
results demonstrate that in specified wall-clock time ACP shows better
performance than SCIP and Gurobi.Comment: To be published in AAAI2023 Student Abstrac
- …