11 research outputs found
Distributed Domain Propagation
This is the final version. Available on open access from the publisher via the DOI in this record16th International Symposium on Experimental Algorithms (SEA 2017), 21-23 June 2017, London, UKPortfolio parallelization is an approach that runs several solver instances in parallel and terminates when one of them succeeds in solving the problem. Despite it’s simplicity portfolio parallelization has been shown to perform well for modern mixed-integer programming (MIP) and boolean satisfiability problem (SAT) solvers. Domain propagation has also been shown to be a simple technique in modern MIP and SAT solvers that effectively finds additional domain reductions after a variables domain has been reduced. This paper investigates the impact of distributed domain propagation in modern MIP solvers that employ portfolio parallelization. Computational experiments were conducted for two implementations of this parallelization approach. While both share global variable bounds and solutions they communicate differently. In one implementation the communication is performed only at designated points in the solving process and in the other it is performed completely asynchronously. Computational experiments show a positive performance impact of communicating global variable bounds and provide valuable insights in communication strategies for parallel solvers.German Federal Ministry of Education and Researc
Distributed Domain Propagation
Portfolio parallelization is an approach that runs several solver instances in parallel and terminates when one of them succeeds in solving the problem. Despite its simplicity, portfolio parallelization has been shown to perform well for modern mixed-integer programming (MIP) and boolean satisfiability problem (SAT) solvers. Domain propagation has also been shown to be a simple technique in modern MIP and SAT solvers that effectively finds additional domain reductions after the domain of a variable has been reduced. In this paper we introduce distributed domain propagation, a technique that shares bound tightenings across solvers to trigger further domain propagations. We investigate its impact in modern MIP solvers that employ portfolio parallelization. Computational experiments were conducted for two implementations of this parallelization approach. While both share global variable bounds and solutions, they communicate differently. In one implementation the communication is performed only at designated points in the solving process and in the other it is performed completely asynchronously. Computational experiments show a positive performance impact of communicating global variable bounds and provide valuable insights in communication strategies for parallel solvers
The SCIP Optimization Suite 9.0
The SCIP Optimization Suite provides a collection of software packages for
mathematical optimization, centered around the constraint integer programming
(CIP) framework SCIP. This report discusses the enhancements and extensions
included in the SCIP Optimization Suite 9.0. The updates in SCIP 9.0 include
improved symmetry handling, additions and improvements of nonlinear handlers
and primal heuristics, a new cut generator and two new cut selection schemes, a
new branching rule, a new LP interface, and several bug fixes. The SCIP
Optimization Suite 9.0 also features new Rust and C++ interfaces for SCIP, new
Python interface for SoPlex, along with enhancements to existing interfaces.
The SCIP Optimization Suite 9.0 also includes new and improved features in the
LP solver SoPlex, the presolving library PaPILO, the parallel framework UG, the
decomposition framework GCG, and the SCIP extension SCIP-SDP. These additions
and enhancements have resulted in an overall performance improvement of SCIP in
terms of solving time, number of nodes in the branch-and-bound tree, as well as
the reliability of the solver.Comment: The release report of the SCIP Optimization Suite version 9.
UG Framework to Parallelize MIP, MINLP, and ExactIP Solvers
Open House, ISM in Tachikawa, 2012.6.15統計数理研究所オープンハウス(立川)、H24.6.15ポスター発
制約整数計画ソルバSCIPの並列化
要旨あり最適化技術に基づく統計的推論原著論
SCIP-Jack—a solver for STP and variants with parallelization extensions
This is the author accepted manuscript. The final version is available from Springer Verlag via the DOI in this record The Steiner tree problem in graphs is a classical problem that commonly arises in practical applications as one of many variants. While often
a strong relationship between different Steiner tree problem variants can be
observed, solution approaches employed so far have been prevalently problemspecific. In contrast, this paper introduces a general-purpose solver that can
be used to solve both the classical Steiner tree problem and many of its variants without modification. This versatility is achieved by transforming various
problem variants into a general form and solving them by using a state-ofthe-art MIP-framework. The result is a high-performance solver that can be
employed in massively parallel environments and is capable of solving previously unsolved instances.German Federal Ministry of Education and Researc
SCIP-Jack - A solver for STP and variants with parallelization extensions
The Steiner tree problem in graphs is a classical problem that commonly arises in practical applications as one of many variants. While often a strong relationship between different Steiner tree problem variants can be observed, solution approaches employed so far have been prevalently problem-specific. In contrast, this paper introduces a general-purpose solver that can be used to solve both the classical Steiner tree problem and many of its variants without modification. This versatility is achieved by transforming various problem variants into a general form and solving them by using a state-of-the-art MIP-framework. The result is a high-performance solver that can be employed in massively parallel environments and is capable of solving previously unsolved instances
Unlocking Solver Potential: A Framework for Analysis and Inter-Comparison of Optimisation Solvers
Linear and mixed integer optimisation problems have demonstrated their strength in the field of logistics and supply chain management for years. However, real-world optimisation problems are complex in nature, and various mathematical programming solvers are leveraged to solve these problems today. With several advances in solver technologies in recent years, there has been growing interest in carrying out comparative evaluations of solvers for a range of applications. However, there appears a lack of guidance for decision makers to conduct solver performance assessment and inter-comparison. To address this gap, we aim to derive a framework of parameters deemed most relevant for evaluating and comparing different solvers for a given application. To this end, we perform a systematic literature review. The resulting parameters are classified into three core categories: performance metrics, stopping conditions, and performance enhancing elements of a solver
CUBES: A Parallel Synthesizer for SQL Using Examples
In recent years, more people have seen their work depend on data manipulation
tasks. However, many of these users do not have the background in programming
required to write complex programs, particularly SQL queries. One way of
helping these users is automatically synthesizing the SQL query given a small
set of examples. Several program synthesizers for SQL have been recently
proposed, but they do not leverage multicore architectures.
This paper proposes CUBES, a parallel program synthesizer for the domain of
SQL queries using input-output examples. Since input-output examples are an
under-specification of the desired SQL query, sometimes, the synthesized query
does not match the user's intent. CUBES incorporates a new disambiguation
procedure based on fuzzing techniques that interacts with the user and
increases the confidence that the returned query matches the user intent.
We perform an extensive evaluation on around 4000 SQL queries from different
domains. Experimental results show that our sequential version can solve more
instances than other state-of-the-art SQL synthesizers. Moreover, the parallel
approach can scale up to 16 processes with super-linear speedups for many hard
instances. Our disambiguation approach is critical to achieving an accuracy of
around 60%, significantly larger than other SQL synthesizers