28 research outputs found
SUNNY-CP and the MiniZinc Challenge
In Constraint Programming (CP) a portfolio solver combines a variety of
different constraint solvers for solving a given problem. This fairly recent
approach enables to significantly boost the performance of single solvers,
especially when multicore architectures are exploited. In this work we give a
brief overview of the portfolio solver sunny-cp, and we discuss its performance
in the MiniZinc Challenge---the annual international competition for CP
solvers---where it won two gold medals in 2015 and 2016. Under consideration in
Theory and Practice of Logic Programming (TPLP)Comment: Under consideration in Theory and Practice of Logic Programming
(TPLP
A Multicore Tool for Constraint Solving
*** To appear in IJCAI 2015 proceedings *** In Constraint Programming (CP), a
portfolio solver uses a variety of different solvers for solving a given
Constraint Satisfaction / Optimization Problem. In this paper we introduce
sunny-cp2: the first parallel CP portfolio solver that enables a dynamic,
cooperative, and simultaneous execution of its solvers in a multicore setting.
It incorporates state-of-the-art solvers, providing also a usable and
configurable framework. Empirical results are very promising. sunny-cp2 can
even outperform the performance of the oracle solver which always selects the
best solver of the portfolio for a given problem
A Regular Matching Constraint for String Variables
Using a regular language as a pattern for string matching is nowadays a common-and sometimes unsafe-operation, provided as a built-in feature by most programming languages. A proper constraint solver over string variables should support most of the operations over regular expressions and related constructs. However, state-of-the-art string solvers natively support only the membership relation of a string variable to a regular language. Here we take a step forward by defining a specialised propagator for the match operation, returning the leftmost position where a pattern can match a given string. Empirical evidences show the effectiveness of our approach, implemented within the constraint programming framework, and tested against state-of-the-art string solvers.</p
SUNNY: a Lazy Portfolio Approach for Constraint Solving
*** To appear in Theory and Practice of Logic Programming (TPLP) ***
Within the context of constraint solving, a portfolio approach allows one to
exploit the synergy between different solvers in order to create a globally
better solver. In this paper we present SUNNY: a simple and flexible algorithm
that takes advantage of a portfolio of constraint solvers in order to compute
--- without learning an explicit model --- a schedule of them for solving a
given Constraint Satisfaction Problem (CSP). Motivated by the performance
reached by SUNNY vs. different simulations of other state of the art
approaches, we developed sunny-csp, an effective portfolio solver that exploits
the underlying SUNNY algorithm in order to solve a given CSP. Empirical tests
conducted on exhaustive benchmarks of MiniZinc models show that the actual
performance of SUNNY conforms to the predictions. This is encouraging both for
improving the power of CSP portfolio solvers and for trying to export them to
fields such as Answer Set Programming and Constraint Logic Programming
A Constraint-Based Model for Fast Post-Disaster Emergency Vehicle Routing
Disasters like terrorist attacks, earthquakes, hurricanes, and volcano eruptions are usually unpredictable events that affect a high number of people. We propose an approach that could be used as a decision support tool for a post-disaster response that allows the assignment of victims to hospitals and organizes their transportation via emergency vehicles. By exploiting the synergy between Mixed Integer Programming and Constraint Programming techniques, we are able to compute the routing of the vehicles so as to rescue much more victims than both heuristic based and complete approaches in a very reasonable time
sunny-as2: Enhancing SUNNY for Algorithm Selection
SUNNY is an Algorithm Selection (AS) technique originally tailored for
Constraint Programming (CP). SUNNY enables to schedule, from a portfolio of
solvers, a subset of solvers to be run on a given CP problem. This approach has
proved to be effective for CP problems, and its parallel version won many gold
medals in the Open category of the MiniZinc Challenge -- the yearly
international competition for CP solvers. In 2015, the ASlib benchmarks were
released for comparing AS systems coming from disparate fields (e.g., ASP, QBF,
and SAT) and SUNNY was extended to deal with generic AS problems. This led to
the development of sunny-as2, an algorithm selector based on SUNNY for ASlib
scenarios. A preliminary version of sunny-as2 was submitted to the Open
Algorithm Selection Challenge (OASC) in 2017, where it turned out to be the
best approach for the runtime minimization of decision problems. In this work,
we present the technical advancements of sunny-as2, including: (i)
wrapper-based feature selection; (ii) a training approach combining feature
selection and neighbourhood size configuration; (iii) the application of nested
cross-validation. We show how sunny-as2 performance varies depending on the
considered AS scenarios, and we discuss its strengths and weaknesses. Finally,
we also show how sunny-as2 improves on its preliminary version submitted to
OASC
Abstract Interpretation, Symbolic Execution and Constraints
Abstract interpretation is a static analysis framework for sound over-approximation of all possible runtime states of a program. Symbolic execution is a framework for reachability analysis which tries to explore all possible execution paths of a program. A shared feature between abstract interpretation and symbolic execution is that each - implicitly or explicitly - maintains constraints during execution, in the form of invariants or path conditions. We investigate the relations between the worlds of abstract interpretation, symbolic execution and constraint solving, to expose potential synergies