scispace - formally typeset
Search or ask a question

Showing papers on "Constraint programming published in 2013"


Journal ArticleDOI
TL;DR: Algorithmic composition is the partial or total automation of the process of music composition by using computers as discussed by the authors, which can be classified into three main categories: partial or complete automation, automation, and complete automation.
Abstract: Algorithmic composition is the partial or total automation of the process of music composition by using computers. Since the 1950s, different computational techniques related to Artificial Intelligence have been used for algorithmic composition, including grammatical representations, probabilistic methods, neural networks, symbolic rule-based systems, constraint programming and evolutionary algorithms. This survey aims to be a comprehensive account of research on algorithmic composition, presenting a thorough view of the field for researchers in Artificial Intelligence.

220 citations


Journal ArticleDOI
01 May 2013
TL;DR: The aim of this research was to optimize use of the operating room by minimizing the makespan, minimizing overtime hours, and maximizing affinities among members of the surgical team by developing a ''generic'' model that includes most of the problems encountered in the literature as well as constraints apparent in the hospital.
Abstract: Optimizing the daily operating room schedule can be problematic because of the many constraints that need to be taken into account, and solving this issue within a reasonable time span is difficult. The originality of the present study is the consideration of the surgical team's wishes in the establishment of an operating room schedule. To resolve the operating room scheduling problem, we took advantage of the ''expressive power'' of the constraint programming paradigm to include multiple real-life constraints in our model, such as availability, staff preferences, and affinities among staff members. The aim of this research was to optimize use of the operating room by minimizing the makespan, minimizing overtime hours, and maximizing affinities among members of the surgical team. We developed a ''generic'' model that includes most of the problems encountered in the literature as well as constraints apparent in our hospital. The results achieved when using this model in a real-life situation are presented at the end of the paper.

147 citations


Journal ArticleDOI
TL;DR: The computational results indicate that the three-stage algorithm is effective for finding high-quality solutions and can efficiently solve large problems.

129 citations


Journal ArticleDOI
TL;DR: To what extent constraint programming (CP) can be used as a general solution strategy for pattern set mining is investigated and a mapping of pattern set constraints to constraints currently available in CP is presented.
Abstract: We introduce the problem of k-pattern set mining, concerned with finding a set of k related patterns under constraints. This contrasts to regular pattern mining, where one searches for many individual patterns. The k-pattern set mining problem is a very general problem that can be instantiated to a wide variety of well-known mining tasks including concept-learning, rule-learning, redescription mining, conceptual clustering and tiling. To this end, we formulate a large number of constraints for use in k-pattern set mining, both at the local level, that is, on individual patterns, and on the global level, that is, on the overall pattern set. Building general solvers for the pattern set mining problem remains a challenge. Here, we investigate to what extent constraint programming (CP) can be used as a general solution strategy. We present a mapping of pattern set constraints to constraints currently available in CP. This allows us to investigate a large number of settings within a unified framework and to gain insight in the possibilities and limitations of these solvers. This is important as it allows us to create guidelines in how to model new problems successfully and how to model existing problems more efficiently. It also opens up the way for other solver technologies.

102 citations


Journal ArticleDOI
TL;DR: An extension of specific resource constraint propagation techniques to efficiently prune the search space for EnSP solving and a branching scheme to solve the problem via tree search are presented.

91 citations


Journal ArticleDOI
TL;DR: This paper produces the first complete RNA inverse folding approach which allows for the specification of a wide range of design constraints, and introduces a Large Neighborhood Search approach which allowing us to tackle larger instances at the cost of losing completeness, while retaining the advantages of meeting design constraints.
Abstract: Synthetic biology is a rapidly emerging discipline with long-term ramifications that range from single-molecule detection within cells to the creation of synthetic genomes and novel life forms. Truly phenomenal results have been obtained by pioneering groups--for instance, the combinatorial synthesis of genetic networks, genome synthesis using BioBricks, and hybridization chain reaction (HCR), in which stable DNA monomers assemble only upon exposure to a target DNA fragment, biomolecular self-assembly pathways, etc. Such work strongly suggests that nanotechnology and synthetic biology together seem poised to constitute the most transformative development of the 21st century. In this paper, we present a Constraint Programming (CP) approach to solve the RNA inverse folding problem. Given a target RNA secondary structure, we determine an RNA sequence which folds into the target structure; i.e. whose minimum free energy structure is the target structure. Our approach represents a step forward in RNA design--we produce the first complete RNA inverse folding approach which allows for the specification of a wide range of design constraints. We also introduce a Large Neighborhood Search approach which allows us to tackle larger instances at the cost of losing completeness, while retaining the advantages of meeting design constraints (motif, GC-content, etc.). Results demonstrate that our software, RNAiFold, performs as well or better than all state-of-the-art approaches; nevertheless, our approach is unique in terms of completeness, flexibility, and the support of various design constraints. The algorithms presented in this paper are publicly available via the interactive webserver http://bioinformatics.bc.edu/clotelab/RNAiFold; additionally, the source code can be downloaded from that site.

84 citations


DissertationDOI
27 Mar 2013
TL;DR: This thesis extends a quantitative continuity results for two-stage stochastic mixed-integer linear programs to include situations with simultaneous uncertainty in costs and right-hand side and shows that SCIP has become a competitive solver for MINLPs, even though it does not yet include all techniques that are available in other solvers.

80 citations


Book ChapterDOI
16 Sep 2013
TL;DR: The Embarrassingly Parallel Search is a simple and efficient method for solving constraint programming problems in parallel and can be quite competitive with the work stealing approach and able to solve some classical problems at the maximum capacity of the multi-core machines.
Abstract: We propose the Embarrassingly Parallel Search, a simple and efficient method for solving constraint programming problems in parallel. We split the initial problem into a huge number of independent subproblems and solve them with available workers, for instance cores of machines. The decomposition into subproblems is computed by selecting a subset of variables and by enumerating the combinations of values of these variables that are not detected inconsistent by the propagation mechanism of a CP Solver. The experiments on satisfaction problems and optimization problems suggest that generating between thirty and one hundred subproblems per worker leads to a good scalability. We show that our method is quite competitive with the work stealing approach and able to solve some classical problems at the maximum capacity of the multi-core machines. Thanks to it, a user can parallelize the resolution of its problem without modifying the solver or writing any parallel source code and can easily replay the resolution of a problem.

77 citations


Proceedings ArticleDOI
20 Jun 2013
TL;DR: An algorithm is proposed which uses differential evolution to solve both the upper and lower level optimization problems, characterized by two optimization problems which are hierarchically related.
Abstract: Bilevel programming problems are characterized by two optimization problems which are hierarchically related, where to each feasible upper level solution an optimal solution in the lower level problem must be associated. These problems appear in many practical applications, and a variety of solution techniques can be found in the literature. In this paper, an algorithm is proposed which uses differential evolution to solve both the upper and lower level optimization problems. Several test problems from the literature are solved in order to assess the performance of the proposed method.

74 citations


Journal ArticleDOI
TL;DR: A decomposition approach to solve the weekly transportation of logs in the forest industry, as a variation of the log-truck scheduling problem, using a MIP solver and a hybrid approach involving a constraint programming based model and a constraint-based local search model.

69 citations


Proceedings Article
01 Jan 2013
TL;DR: This paper introduces JaCoP solver implemented entirely in Java, which offers a rich set of primitive, logical, conditional and global constraints as well as configurable search methods.
Abstract: This paper introduces JaCoP solver implemented entirely in Java. The solver offers a rich set of primitive, logical, conditional and global constraints as well as configurable search methods. The solver can be used directly from Java or through one of its front-end, Minizinc front-end or Scala DSL. The solver got three silver medals on Minizinc Challenge in the period 2010-2012.

Journal ArticleDOI
TL;DR: In this paper, a survey of the recent developments for this challenging class of mathematical programming problems is presented, based on new reformulations, approximation and relaxation techniques, promising exact and approximate methods have been developed.
Abstract: Mathematical programming problems with semi-continuous variables and cardinality constraint have many applications, including production planning, portfolio selection, compressed sensing and subset selection in regression. This class of problems can be modeled as mixed-integer programs with special structures and are in general NP-hard. In the past few years, based on new reformulations, approximation and relaxation techniques, promising exact and approximate methods have been developed. We survey in this paper these recent developments for this challenging class of mathematical programming problems.

Journal ArticleDOI
TL;DR: This work discusses the sufficient conditions guaranteeing the schedulability of both local and multimodal cyclic processes, and proposes a recursive approach in designing them.
Abstract: Problems of cyclic scheduling are usually observed in flexible manufacturing systems which produce multitype parts where the automated guided vehicle system plays the role of a material handling system, as well as in various other multimodal transportation systems where goods and/or passenger itinerary planning plays a pivotal role. The schedulability analysis of the processes executed in the so-called systems of concurrent cyclic processes (SCCPs) can be executed within a declarative modeling framework. Consequently, the considered SCCP scheduling problem can be seen as a constraint satisfaction problem. Such a representation provides a unified way for evaluating the performance of local cyclic processes as well as of multimodal processes supported by them. Here, the crucial issue is that of a control procedure (e.g., a set of dispatching rules), which would guarantee the cyclic behavior of the SCCP. In this context, we discuss the sufficient conditions guaranteeing the schedulability of both local and multimodal cyclic processes, and we propose a recursive approach in designing them.

Journal ArticleDOI
TL;DR: BtrPlace is presented, a flexible consolidation manager that is customized through configuration scripts written by the application and data center administrators and relies on constraint programming and an extensible library of placement constraints.
Abstract: The massive amount of resources found in data centers makes it possible to provide high availability to multitier applications. Virtualizing these applications makes it possible to consolidate them on servers, reducing runtime costs. Nevertheless, replicated VMs have to be carefully placed within the data center to provide high availability and good performance. This requires resolving potentially conflicting application and data center requirements, while scaling up to the size of modern data centers. We present BtrPlace, a flexible consolidation manager that is customized through configuration scripts written by the application and data center administrators. BtrPlace relies on constraint programming and an extensible library of placement constraints. The present library of 14 constraints subsumes and extends the capabilities of existing commercial consolidation managers. Scalability is achieved by splitting the data center into partitions and computing placements in parallel. Overall, BtrPlace repairs a nonviable placement after a major load increase or a maintenance operation for a 5,000 server data center hosting 30,000 VMs and involving thousands of constraints in 3 minutes. Using partitions of 2,500 servers, placement computing is reduced to under 30 seconds.

Journal ArticleDOI
O. E. Emam1
TL;DR: This paper proposes an interactive approach for solving bi-level integer multi-objective fractional programming problem and simplifies the equivalent problem by transforming it into separate multi-Objective decision-making problem and solving it by using the @e-constraint method.

Journal ArticleDOI
TL;DR: In this article, a constraint programming (CP) model for the quay crane scheduling problem (QCSP) is presented, which occurs at container terminals, with realistic constraints such as safety margins, travel times and precedence relations.
Abstract: This study presents a constraint programming (CP) model for the quay crane scheduling problem (QCSP), which occurs at container terminals, with realistic constraints such as safety margins, travel times and precedence relations. Next, QCSP with time windows and integrated crane assignment and scheduling problem, are discussed. The performance of the CP model is compared with that of algorithms presented in QCSP literature. The results of the computational experiments indicate that the CP model is able to produce good results while reducing the computational time, and is a robust and flexible alternative for different types of crane scheduling problems.

Journal ArticleDOI
TL;DR: This paper surveys the main applications, developments and current trends of concurrent Constraint Programming.
Abstract: Concurrent Constraint Programming (CCP) has been used over the last two decades as an elegant and expressive model for concurrent systems. It models systems of agents communicating by posting and querying partial information, represented as constraints over the variables of the system. This covers a vast variety of systems as those arising in biological phenomena, reactive systems, net-centric computing and the advent of social networks and cloud computing. In this paper we survey the main applications, developments and current trends of CCP.

Journal ArticleDOI
01 Jul 2013
TL;DR: A recommendation system which assists users during process execution to optimize performance goals of the processes and is based on a constraint-based approach for planning and scheduling the BP activities and considers both the control-flow and the resource perspective.
Abstract: In order to be able to flexibly adjust a company's business processes (BPs) there is an increasing interest in flexible process-aware information systems (PAISs). This increasing flexibility, however, typically implies decreased user guidance by the PAIS and thus poses significant challenges to its users. As a major contribution of this work, we propose a recommendation system which assists users during process execution to optimize performance goals of the processes. The recommendation system is based on a constraint-based approach for planning and scheduling the BP activities and considers both the control-flow and the resource perspective. To evaluate the proposed constraint-based approach different algorithms are applied to a range of test models of varying complexity. The results indicate that, although the optimization of process execution is a highly constrained problem, the proposed approach produces a satisfactory number of suitable solutions.

Book ChapterDOI
30 Dec 2013
TL;DR: This work proposes a new approach for solving sequencing problems based on multivalued decision diagrams (MDDs), which are compact graphical representations of Boolean functions, originally introduced for applications in circuit design by Lee and widely studied and applied in computer science.
Abstract: Sequencing problems are among the most widely studied problems in operations research. Specific variations of sequencing problems include single machine scheduling, the traveling salesman problem with time windows, and precedence-constrained machine scheduling. In this work we propose a new approach for solving sequencing problems based on multivalued decision diagrams (MDDs). Decision diagrams are compact graphical representations of Boolean functions, originally introduced for applications in circuit design by Lee [7], and widely studied and applied in computer science. They have been recently used to represent the feasible set of discrete optimization problems, as demonstrated in [2] and [3, 4]. This is done by perceiving the constraints of a problem as a Boolean function f(x) representing whether a solution x is feasible. Nonetheless, such MDDs can grow exponentially large, which makes any practical computation prohibitive in general.

Journal ArticleDOI
TL;DR: A new algorithm for efficient flux variability (and flux balance) analysis with thermodynamic constraints, suitable for analysing genome-scale metabolic networks is presented, and a theoretical tractability result is derived which can be applied to metabolic networks in practice.
Abstract: Motivation: Flux variability analysis (FVA) is an important tool to further analyse the results obtained by flux balance analysis (FBA) on genome-scale metabolic networks. For many constraint-based models, FVA identifies unboundedness of the optimal flux space. This reveals that optimal flux solutions with net flux through internal biochemical loops are feasible, which violates the second law of thermodynamics. Such unbounded fluxes may be eliminated by extending FVA with thermodynamic constraints. Results: We present a new algorithm for efficient flux variability (and flux balance) analysis with thermodynamic constraints, suitable for analysing genome-scale metabolic networks. We first show that FBA with thermodynamic constraints is NP-hard. Then we derive a theoretical tractability result, which can be applied to metabolic networks in practice. We use this result to develop a new constraint programming algorithm Fast-tFVA for fast FVA with thermodynamic constraints (tFVA). Computational comparisons with previous methods demonstrate the efficiency of the new method. For tFVA, a speed-up of factor 30–300 is achieved. In an analysis of genome-scale metabolic networks in the BioModels database, we found that in 485 of 716 networks, additional irreversible or fixed reactions could be detected. Availability and implementation:Fast-tFVA is written in C++ and published under GPL. It uses the open source software SCIP and libSBML. There also exists a Matlab interface for easy integration into Matlab. Fast-tFVA is available from page.mi.fu-berlin.de/arnem/fast-tfva.html. Contact:arne.mueller@fu-berlin.de; Alexander.Bockmayr@fu-berlin.de Supplementary information:Supplementary data are available at Bioinformatics online.

Book ChapterDOI
16 Sep 2013
TL;DR: This paper introduces two novel constraint models for the BBSS including a smart branching strategy that focusses on the most promising routes and incorporates both models in a Large Neighborhood Search LNS approach that is adapted to the respective CP model.
Abstract: In order to meet the users' demand, bike sharing systems must be regularly rebalanced. The problem of balancing bike sharing systems BBSS is concerned with designing optimal tours and operating instructions for relocating bikes among stations to maximally comply with the expected future bike demands. In this paper, we tackle the BBSS by means of Constraint Programming: first, we introduce two novel constraint models for the BBSS including a smart branching strategy that focusses on the most promising routes. Second, in order to speed-up the search process, we incorporate both models in a Large Neighborhood Search LNS approach that is adapted to the respective CP model. Third, we perform a computational evaluation on instances based on real-world data, where we see that the LNS approach outperforms the Branch & Bound approach and is competitive with other existing approaches.

Book ChapterDOI
18 May 2013
TL;DR: In this article, a time-table-edge-finding propagator for cumulative resource constraints is proposed to solve the problem of resource-constrained project scheduling with lazy clause generation.
Abstract: Cumulative resource constraints can model scarce resources in scheduling problems or a dimension in packing and cutting problems.In order to efficiently solve such problems with a constraint programming solver, it is important to have strong and fast propagators for cumulative resource constraints. Time-table-edge-finding propagators are a recent development in cumulative propagators, that combine the current resource profile (time-table) during the edge-finding propagation. The current state of the art for solving scheduling and cutting problems involving cumulative constraints are lazy clause generation solvers, i.e., constraint programming solvers incorporating nogood learning, have proved to be excellent at solving scheduling and cutting problems. For such solvers, concise and accurate explanations of the reasons for propagation are essential for strong nogood learning. In this paper, we develop a time-table-edge-finding propagator for cumulative that explains its propagations. We give results using this propagator in a lazy clause generation system on resource-constrained project scheduling problems from various standard benchmark suites. On the standard benchmark suite PSPLib, we are able to improve the lower bound of about 60% of the remaining open instances, and close 6 open instances.

01 Jan 2013
TL;DR: It is shown how many aspects essential in different poetical forms, and partially even in the level of language syntax and semantics, can be represented as interacting constraints.
Abstract: Constraints are a major factor shaping the conceptual space of many areas of creativity. We propose to use constraint programming techniques and off-the-shelf constraint solvers in the creative task of poetry writing. We show how many aspects essential in different poetical forms, and partially even in the level of language syntax and semantics can be represented as interacting constraints. The proposed architecture has two main components. One takes input or inspiration from the user or the environment, and based on it generates a specification of the space and aesthetic of a poem as a set of declarative constraints. The other component explores the specified space using a constraint solver. We provide an elementary set of constraints for composition of poetry, we illustrate their use, and we provide examples of poems generated with different sets of constraints.

Book ChapterDOI
23 Sep 2013
TL;DR: A declarative and generic framework, based on Constraint Programming, is proposed, which enables to design clustering tasks by specifying an optimization criterion and some constraints either on the clusters or on pairs of objects.
Abstract: In recent years, clustering has been extended to constrained clustering, so as to integrate knowledge on objects or on clusters, but adding such constraints generally requires to develop new algorithms. We propose a declarative and generic framework, based on Constraint Programming, which enables to design clustering tasks by specifying an optimization criterion and some constraints either on the clusters or on pairs of objects. In our framework, several classical optimization criteria are considered and they can be coupled with different kinds of constraints. Relying on Constraint Programming has two main advantages: the declarativity, which enables to easily add new constraints and the ability to find an optimal solution satisfying all the constraints (when there exists one). On the other hand, computation time depends on the constraints and on their ability to reduce the domain of variables, thus avoiding an exhaustive search.

Journal ArticleDOI
TL;DR: In this article, a joint chance constrained programming model and mixed-integer programming are used to deal with the problem of minimizing the total cost while maintaining a service level under uncertain container demand.
Abstract: This paper provides a tangible methodology to deal with the liner ship fleet deployment problem aiming at minimizing the total cost while maintaining a service level under uncertain container demand. The problem is first formulated as a joint chance constrained programming model, and the sample average approximation method and mixed-integer programming are used to deal with it. Finally, a numerical example of a liner shipping network is carried out to verify the applicability of the proposed model and solution algorithm. It is found that the service level has significant effect on the total cost.

Book ChapterDOI
16 Sep 2013
TL;DR: BaSCoP, on the top of the Gecode constraint solver, is shown to significantly improve on depth-first search on some CP benchmark suites, demonstrating its relevance as a generic yet robust CP search method.
Abstract: Constraint Programming CP solvers classically explore the solution space using tree-search based heuristics. Monte-Carlo Tree Search MCTS, aimed at optimal sequential decision making under uncertainty, gradually grows a search tree to explore the most promising regions according to a specified reward function. At the crossroad of CP and MCTS, this paper presents the Bandit Search for Constraint Programming BaSCoP algorithm, adapting MCTS to the specifics of the CP search. This contribution relies on i a generic reward function suited to CP and compatible with a multiple restart strategy; ii the use of depth-first search as roll-out procedure in MCTS. BaSCoP, on the top of the Gecode constraint solver, is shown to significantly improve on depth-first search on some CP benchmark suites, demonstrating its relevance as a generic yet robust CP search method.

Journal ArticleDOI
TL;DR: This is the first paper in the literature which takes into account the network type precedence diagrams and limited buffer capacities between stations and shows that the CP approach outperforms the MIP approach as well as the decomposition schemes.
Abstract: Mixed model assembly line literature involves two problems: balancing and model sequencing. The general tendency in current studies is to deal with these problems in different time frames. However, in today's competitive market, the mixed model assembly line balancing problem has been turned into an operational problem. In this paper, we propose mixed integer programming (MIP) and constraint programming (CP) models which consider both balancing and model sequencing within the same formulation along with the optimal schedule of tasks at a station. Furthermore, we also compare the proposed exact models with decomposition schemes developed for solving different instances of varying sizes. This is the first paper in the literature which takes into account the network type precedence diagrams and limited buffer capacities between stations. Besides, it is the first study that CP method is applied to balancing and scheduling of mixed model assembly lines. Our empirical study shows that the CP approach outperforms the MIP approach as well as the decomposition schemes.

Proceedings ArticleDOI
04 Nov 2013
TL;DR: An improved approach to handle function symbols in a ground-and-solve methodology, building on ideas from Constraint Programming is presented, in the context of FO(.)IDP, the knowledge representation language that extends First-Order Logic with, among others, inductive definitions, arithmetic and aggregates.
Abstract: The traditional approach to Model Expansion (MX) is to reduce the theory to a propositional language and apply a search algorithm to the resulting theory. Function symbols are typically replaced by predicate symbols representing the graph of the function, an operation that blows up the reduced theory. In this paper, we present an improved approach to handle function symbols in a ground-and-solve methodology, building on ideas from Constraint Programming. We do so in the context of FO(.)IDP, the knowledge representation language that extends First-Order Logic (FO) with, among others, inductive definitions, arithmetic and aggregates. An MX algorithm is developed, consisting of (i) a grounding algorithm for FO(.)^IDP, parametrised by the function symbols allowed to occur in the reduced theory, and (ii) a search algorithm for unrestricted, ground FO(.)^IDP. The ideas are implemented in the IDP knowledge-base system and experimental evaluation shows that both more compact groundings and improved search performance are obtained.

Journal ArticleDOI
TL;DR: Two linear-logic semantics for CHR∨ that differ in the reasoning domain for which they are instrumental are developed and it is shown how to apply the linear- logic semantics to decide program properties and to reason about operational equivalence ofCHR∨ programs.
Abstract: Constraint Handling Rules (CHR) is a declarative rule-based programming language that has cut out its niche over the course of the last 20 years. It generalizes concurrent constraint logic programming to multiple heads, thus closing the gap to multiset transformation systems. Its popular extension CHR with Disjunction (CHR∨) is a multiparadigm declarative programming language that allows embedding of Horn programs with SLD resolution.We analyze the assets and the limitations of the classical declarative semantics of CHR∨ and highlight its natural relationship with linear-logic. We furthermore develop two linear-logic semantics for CHR∨ that differ in the reasoning domain for which they are instrumental. We show their idempotence and their soundness and completeness with respect to the operational semantics. We show how to apply the linear-logic semantics to decide program properties and to reason about operational equivalence of CHR∨ programs.

Proceedings ArticleDOI
26 Aug 2013
TL;DR: This work introduces the feature-oriented language FLan as a proof of concept for specifying both declarative aspects of product families, namely constraints on their features, and procedural aspects, namely feature configuration and run-time behaviour.
Abstract: We introduce the feature-oriented language FLan as a proof of concept for specifying both declarative aspects of product families, namely constraints on their features, and procedural aspects, namely feature configuration and run-time behaviour. FLan is inspired by the concurrent constraint programming paradigm. A store of constraints allows one to specify in a declarative way all common constraints on features, including inter-feature constraints. A standard yet rich set of process-algebraic operators allows one to specify in a procedural way the configuration and behaviour of products. There is a close interaction between both views: (i) the execution of a process is constrained by its store to forbid undesired configurations; (ii) a process can query a store to resolve design and behavioural choices; (iii) a process can update the store by adding new features. An implementation in the Maude framework allows for a variety of formal automated analyses of product families specified in FLan, ranging from consistency checking to model checking.