Integer Linear Programming for the Bayesian network structure learning problem

Research output: Contribution to journalArticlepeer-review


Bayesian networks are a commonly used method of representing conditional probability relationships between a set of variables in the form of a directed acyclic graph (DAG). Determination of the DAG which best explains observed data is an NP-hard problem [1]. This problem can be stated as a constrained optimisation problem using Integer Linear Programming (ILP). This paper explores how the performance of ILP-based Bayesian network learning can be improved through ILP techniques and in particular through the addition of non-essential, implied constraints. There are exponentially many such constraints that can be added to the problem. This paper explores how these constraints may best be generated and added as needed. The results show that using these constraints in the best discovered configuration can lead to a significant improvement in performance and show significant improvement in speed using a state-of-the-art Bayesian network structure learner.
Original languageEnglish
Pages (from-to)258-271
Number of pages14
JournalArtificial Intelligence
Early online date10 Mar 2015
Publication statusE-pub ahead of print - 10 Mar 2015


  • Bayesian networks
  • Constrained optimisation
  • Cutting planes
  • Integer Linear Programming
  • Separation

Cite this