Stuckey (1995) has presented a sound and complete procedure for Constructive Negation in constraint logic programming, together with a sufficient condition, called admissible closure, which guarantees an effective imp...
详细信息
Stuckey (1995) has presented a sound and complete procedure for Constructive Negation in constraint logic programming, together with a sufficient condition, called admissible closure, which guarantees an effective implementation. In this paper we analyze this condition and relate it to the decidability of the underlying constraint structure. We prove that the admissible closure condition is also necessary to guarantee the existence of an effective implementation of Constructive Negation. (C) 2000 Elsevier Science B.V. All rights reserved.
Formal reasoning about finite sets and cardinality is important for many applications. including software verification, where very often one needs to reason about the size of a given data structure. The constraint Log...
详细信息
Formal reasoning about finite sets and cardinality is important for many applications. including software verification, where very often one needs to reason about the size of a given data structure. The constraint logic programming tool {log} provides a decision procedure for deciding the satisfiability of formulas involving very general forms of finite sets, although it does not provide cardinality constraints. In this paper we adapt and integrate a decision procedure for a theory of finite sets with cardinality into {log}. The proposed solver is proved to be a decision procedure for its formulas. Besides, the new CLP instance is implemented as part of the {log} tool. In turn, the implementation uses Howe and King's Prolog SAT solver and Prolog's CLP(Q) library. as an integer linear programming solver. The empirical evaluation of this implementation based on +250 real verification conditions shows that it can be useful in practice.
CLP(H) is an instantiation of the general constraint logic programming scheme with the constraint domain of hedges. Hedges are finite sequences of unranked terms, built over variadic function symbols and three kinds o...
详细信息
CLP(H) is an instantiation of the general constraint logic programming scheme with the constraint domain of hedges. Hedges are finite sequences of unranked terms, built over variadic function symbols and three kinds of variables: for terms, for hedges, and for function symbols. constraints involve equations between unranked terms and atoms for regular hedge language membership. We study algebraic semantics of CLP(H) programs, define a sound, terminating, and incomplete constraint solver, investigate two fragments of constraints for which the solver returns a complete set of solutions, and describe classes of programs that generate such constraints.
The comparative study published in this journal by Fernandez and Hill benchmarked some constraintprogramming systems on a set of well-known puzzles. The current article examines the positive and negative aspects of t...
详细信息
The comparative study published in this journal by Fernandez and Hill benchmarked some constraintprogramming systems on a set of well-known puzzles. The current article examines the positive and negative aspects of this kind of benchmarking. The article analyses some pitfalls in benchmarking, recalling previous published results from benchmarking different kinds of software, and explores some issues in comparative benchmarking of CLP systems. A benchmarking exercise should cover a broad set of representative problems and a broad set of programming constructs. This can be achieved using two kinds of berchmarking: Applications Benchmarking and Unit Testing. The article reports the authors' experiences with these two kinds of benchmarking in the context of the CHIC-2 Esprit project. The benchmarks were used to unit test different features of the CLP system ECLiPSe and to compare application development with different high-level constraint platforms. The conclusion is that, in deciding which system to use on a new application, it is less useful to compare standard features of CLP systems, than to compare their relevant functionalities.
The goal of Bounded-Exhaustive Testing (BET) is the automatic generation of all test cases satisfying a given invariant, within a given size bound. When the test cases have a complex structure, the development of corr...
详细信息
The goal of Bounded-Exhaustive Testing (BET) is the automatic generation of all test cases satisfying a given invariant, within a given size bound. When the test cases have a complex structure, the development of correct and efficient generators becomes a very challenging task. In this article we use constraint logic programming (CLP) to systematically develop generators of structurally complex test data structures. We follow a declarative approach that allows us to separate the issue of (i) defining the test data structure in terms of its properties, from that of (ii) efficiently generating data structure instances. This separation helps establish the correctness of the developed test case generators. We rely on a symbolic representation and we take advantage of efficient search strategies provided by CLP systems for generating test instances. Through a running example taken from the literature on BET, we illustrate our test generation framework and we show that CLP allows us to develop easily understandable and efficient test generators. Additionally, we propose a program transformation technique whose goal is to make the evaluation of these CLP-based generators much more efficient and we demonstrate its effectiveness on a number of complex test data structures.
This paper represents an integration of Mixed Integer programming (MIP) and constraint logic programming (CLP) which, like MIP, tightens bounds rather than adding constraints during search. The integrated system combi...
详细信息
This paper represents an integration of Mixed Integer programming (MIP) and constraint logic programming (CLP) which, like MIP, tightens bounds rather than adding constraints during search. The integrated system combines components of the CLP system ECLiPSe [7] and the MIP system CPLEX [5], in which constraints can be handled by either one or both components. Our approach is introduced in three stages. Firstly, we present an automatic transformation which maps CLP programs onto such CLP programs that any disjunction is eliminated in favour of auxiliary binary variables. Secondly, we present improvements of this mapping by using a committed choice operator and translations of pre-defined non-linear constraints. Thirdly, we introduce a new hybrid algorithm which reduces the solution space of the problem progressively by calling finite domain propagation of ECLiPSe as well as dual simplex of CPLEX. The advantages of this integration are illustrated by efficiently solving difficult optimisation problems like the Hoist Scheduling Problem [23] and the Progressive Party Problem [27].
constraint logic programming has become a promising new technology for solving complex combinatorial problems. In this paper, we investigate how (constraint) logicprogramming can support the modelling part when solvi...
详细信息
constraint logic programming has become a promising new technology for solving complex combinatorial problems. In this paper, we investigate how (constraint) logicprogramming can support the modelling part when solving discrete optimisation problems. First, we show that the basic functionality of algebraic modelling languages can be realised very easily in a pure logicprogramming system like PROLOG and that, even without using constraints, various additional features are available. Then we focus on the constraint-solving facilities offered by constraint logic programming systems. In particular, we explain how the constraint solver of the constraint logic programming language CLP(PB) can be used in modelling 0-1 problems.
We introduce a knowledge representation language AC(C) extending the syntax and semantics of ASP and CR-Prolog, give some examples of its use, and present an algorithm, ACsolver, for computing answer sets of AC(C) pro...
详细信息
We introduce a knowledge representation language AC(C) extending the syntax and semantics of ASP and CR-Prolog, give some examples of its use, and present an algorithm, ACsolver, for computing answer sets of AC(C) programs. The algorithm does not require full grounding of a program and combines "classical" ASP solving methods with constraint logic programming techniques and CR-Prolog based abduction. The AC(C) based approach often allows to solve problems which are impossible to solve by more traditional ASP solving techniques. We believe that further investigation of the language and development of more efficient and reliable solvers for its programs can help to substantially expand the domain of applicability of the answer set programming paradigm.
We propose an agent-based freight brokering system that provides an intelligent logistics brokerage service focusing on the transport activity for the efficient allocation of transport resources (vehicles or trucks) t...
详细信息
We propose an agent-based freight brokering system that provides an intelligent logistics brokerage service focusing on the transport activity for the efficient allocation of transport resources (vehicles or trucks) to the transport applications. The freight broker has the role to coordinate transportation arrangements of transport customers with transport resource providers. In this paper we focus on the fundamental function of this business that aims to find available trucks and to define their feasible routes for transporting requested customer loads. Our main achievement is the proposal of a knowledge-based freight broker based on agents and constraintprogramming. We describe the multi-agent architecture and the interaction protocol of the freight broker. The brokering function is defined as a special type of vehicle routing with pickup and delivery problem. This function is achieved by proposing an optimization agent based on constraint logic programming. We present in detail our novel declarative optimization model, as well as the components of the optimization agent. This model was implemented and evaluated using the state-of-the-art ECLiPSe-CLP engine. The experimental results that we obtained for sample benchmark problems are promising and they support the effectiveness of our approach in a practical setting.
We define a Kripke semantics for Intuitionistic Higher-Order logic with constraints formulated within Church's Theory of Types via the addition of a new constraint base type. We then define an executable fragment,...
详细信息
We define a Kripke semantics for Intuitionistic Higher-Order logic with constraints formulated within Church's Theory of Types via the addition of a new constraint base type. We then define an executable fragment, hoHH(C), of the logic: a higher-order logicprogramming language with typed lambda-abstraction, implication and universal quantification in goals and constraints, and give a modified model theory for this fragment. Both formal systems are shown sound and complete for their respective semantics. We also solve the impredicativity problem in lambda Prolog semantics, namely how to give a definition of truth without appealing to induction on subformula structure. In the last section we give a simple semantics-based conservative extension proof that the language hoHH(C) satisfies a uniformity property along the lines of [39]. (C) 2017 Elsevier B.V. All rights reserved.
暂无评论