Conference Paper

Towards a formal specification of local search neighborhoods from a constraint satisfaction problem structure

Authors:
To read the full-text of this research, you can request a copy directly from the authors.

Abstract

Neighborhood operators play a crucial role in defining effective Local Search solvers, allowing one to limit the explored search space and prune the fitness landscape. Still, there is no accepted formal representation of such operators: they are usually modeled as algorithms in procedural language, lacking in compositionality and readability. In this paper we outline a new formalization capable of representing several neighborhood operators eschewing their coding in a full Turing complete language. The expressiveness of our proposal stems from a rich problem representation, as used in Constraint Programming models. We compare our system to competing approaches and show a clear increment in expressiveness.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

... At the moment of writing, two research papers have been accepted for presentation on the international conferences. First one [30] is a short paper laying theoretical foundations for the future works. It formally presents the semantics and expressiveness of the NDL language, proving its capabilities with usage examples. ...
Preprint
Constraint Programming (CP) and Local Search (LS) are different paradigms for dealing with combinatorial search and optimization problems. Their complementary features motivated researchers to create hybrid CP/LS solutions, maintaining both the modeling capabilities of CP and the computational advantages of the heuristic-based LS approach. Research presented in this report is focused on developing a novel method to infer an efficient LS neighborhood operator based on the problem structure, as modeled in the CP paradigm. We consider a limited formal language that we call a Neighborhood Definition Language, used to specify the neighborhood operators in a fine-grained and declarative manner. Together with Logic Programming runtime called Noodle, it allows to automatically synthesize complex operators using a Grammar Evolution algorithm.
... This paper aims at filling this gap by presenting a system capable of inferring Local Search neighborhoods from a fine-grained problem representation consisting in an augmented Constraint Programming model. Section 3 shortly presents a Neighborhood Description Language [16] -a formalism designed to express neighborhood operators in a declarative manner along with a runtime environment. The rest of the paper is dedicated to synthesizing the aforementioned operators by means of a Grammar Evolution [14] algorithm applied on a Logic Programming DSL tailored to the given optimization problem. ...
Preprint
Full-text available
Local Search meta-heuristics have been proven a viable approach to solve difficult optimization problems. Their performance depends strongly on the search space landscape, as defined by a cost function and the selected neighborhood operators. In this paper we present a logic programming based framework, named Noodle, designed to generate bespoke Local Search neighborhoods tailored to specific discrete optimization problems. The proposed system consists of a domain specific language, which is inspired by logic programming, as well as a genetic programming solver, based on the grammar evolution algorithm. We complement the description with a preliminary experimental evaluation, where we synthesize efficient neighborhood operators for the traveling salesman problem, some of which reproduce well-known results.
... This paper aims at filling this gap by presenting a system capable of inferring Local Search neighborhoods from a fine-grained problem representation consisting in an augmented Constraint Programming model. Section 3 shortly presents a Neighborhood Description Language [16] -a formalism designed to express neighborhood operators in a declarative manner along with a runtime environment. The rest of the paper is dedicated to synthesizing the aforementioned operators by means of a Grammar Evolution [14] algorithm applied on a Logic Programming DSL tailored to the given optimization problem. ...
Article
Full-text available
Local Search meta-heuristics have been proven a viable approach to solve difficult optimization problems. Their performance depends strongly on the search space landscape, as defined by a cost function and the selected neighborhood operators. In this paper we present a logic programming based framework, named Noodle, designed to generate bespoke Local Search neighborhoods tailored to specific discrete optimization problems. The proposed system consists of a domain specific language, which is inspired by logic programming, as well as a genetic programming solver, based on the grammar evolution algorithm. We complement the description with a preliminary experimental evaluation, where we synthesize efficient neighborhood operators for the traveling salesman problem, some of which reproduce well-known results.
... At the moment of writing, two research papers have been accepted for presentation on the international conferences. First one [30] is a short paper laying theoretical foundations for the future works. It formally presents the semantics and expressiveness of the NDL language, proving its capabilities with usage examples. ...
Article
Full-text available
Constraint Programming (CP) and Local Search (LS) are different paradigms for dealing with combinatorial search and optimization problems. Their complementary features motivated researchers to create hybrid CP/LS solutions, maintaining both the modeling capabilities of CP and the computational advantages of the heuristic-based LS approach. Research presented in this report is focused on developing a novel method to infer an efficient LS neighborhood operator based on the problem structure, as modeled in the CP paradigm. We consider a limited formal language that we call a Neighborhood Definition Language, used to specify the neighborhood operators in a fine-grained and declarative manner. Together with Logic Programming runtime called Noodle, it allows to automatically synthesize complex operators using a Grammar Evolution algorithm.
Chapter
The paper presents selected applications of graph models in knowledge engineering. Starting from the basic definition of a graph as a set of nodes connected by edges, the article presents possible extensions of this concept aimed at increasing the power of expression and the ability to process knowledge. In particular, the work focuses on selected applications of graph models in research areas explored by the members of the KRaKEn research team.
Conference Paper
The aim of solver-independent modelling is to create a model of a satisfaction or optimisation problem independent of a particular technology. This avoids early commitment to a solving technology and allows easy comparison of technologies. MiniZinc is a solver-independent modelling language, supported by CP, MIP, SAT, SMT, and constraint-based local search (CBLS) backends. Some technologies, in particular CP and CBLS, require not only a model but also a search strategy. While backends for these technologies offer default search strategies, it is often beneficial to include in a model a user-specified search strategy for a particular technology, especially if the strategy can encapsulate knowledge about the problem structure. This is complex since a local-search strategy (comprising a neighbourhood, a heuristic, and a meta-heuristic) is often tightly tied to the model. Hence we wish to use the same language for specifying the model and the local search. We show how to extend MiniZinc so that one can attach a fully declarative neighbourhood specification to a model, while maintaining the solver-independence of the language. We explain how to integrate a model-specific declarative neighbourhood with an existing CBLS backend for MiniZinc.
Conference Paper
Structured Neighbourhood Search (SNS) is a framework for constraint-based local search for problems expressed in the Essence abstract constraint specification language. The local search explores a structured neighbourhood, where each state in the neighbourhood preserves a high level structural feature of the problem. SNS derives highly structured problem-specific neighbourhoods automatically and directly from the features of the Essence specification of the problem. Hence, neighbourhoods can represent important structural features of the problem, such as partitions of sets, even if that structure is obscured in the low-level input format required by a constraint solver. SNS expresses each neighbourhood as a constrained optimisation problem, which is solved with a constraint solver. We have implemented SNS, together with automatic generation of neighbourhoods for high level structures, and report high quality results for several optimisation problems.
Chapter
This paper presents a declarative framework for defining local search procedures. It proceeds by combining neighborhoods by means of so-called combinators that specify when neighborhoods should be explored, and introduce other aspects of the search procedures such as stop criteria, solution management, and various metaheuristics. Our approach introduces these higher-level concepts natively in local search frameworks in contrast with the current practice which still often relies on their ad-hoc implementation in imperative language. Our goal is to ease the development, understanding, experimentation, communication and maintenance of search procedures. This will also lead to better search procedures where lots of efficiency gains can be made both for optimality and speed. We provide a comprehensive overview of our framework along with a number of examples illustrating typical usage pattern and the ease of use of our framework. Our combinators are available in the search component of the OscaR.cbls solver.
Conference Paper
There is no standard modelling language for constraint programming (CP) problems. Most solvers have their own modelling language. This makes it difficult for modellers to experiment with different solvers for a problem. In this paper we present MiniZinc, a simple but expressive CP modelling language which is suitable for modelling problems for a range of solvers and provides a reasonable compromise between many design possibilities. Equally importantly, we also propose a low-level solver-input language called FlatZinc, and a straightforward translation from MiniZinc to FlatZinc that preserves all solver-supported global constraints. This lets a solver writer support MiniZinc with a minimum of effort—they only need to provide a simple FlatZinc front-end to their solver, and then combine it with an existing MiniZinc-to-FlatZinc translator. Such a front-end may then serve as a stepping stone towards a full MiniZinc implementation that is more tailored to the particular solver. A standard language for modelling CP problems will encourage experimentation with and comparisons between different solvers. Although MiniZinc is not perfect—no standard modelling language will be—we believe its simplicity, expressiveness, and ease of implementation make it a practical choice for a standard language.
A Framework for Constraint Based Local Search using Essence
  • Saad Özgür Akgün
  • Ian P Attieh
  • Christopher Gent
  • Ian Jefferson
  • Peter Miguel
  • András Z Nightingale
  • Patrick Salamon
  • James Spracklen
  • Wetter
OscaR: Scala in OR. OscaR Team. 2012. OscaR: Scala in OR
  • Oscar Team