EPOCH(ID:5024/epo001)


for Extension to Prolog for Constraint Handling




Related languages
Prolog => EPOCH   Extension of

References:
  • T.Nishizawa, K.Hiraki, Y.Anzai "EPOCH: A Constraint Logic Programming Language with Goal Constraint Description" JJSAI 7(3) view details Abstract: In this paper, we describe design and implementation of a constraint logic programming language EPOCH (extended PROLOG with constraint handling). EPOCH can interpret two types of constraints, "required constraints" that must be satisfied and "goal constraints" that not have to but should be satisfied. Goal constraints is used to find an "optimal solution" from more than one feasible solution. Under this constraint model, this paper describes formalization of optimal solutions for a problem in terms of a mathematical programming framework. EPOCH translates constraints described in a program into a standard linear programming problem, and EPOCH's constraint solver can find an optimal solution with the implex method for goal programming. In order to demonstrate EPOCH, shows two examples; a layout problem and a scheduling problem. In general, inequalities are more useful than equations to express time constraints or location constraints. Therefore, these problems generally have many feasible solutions. However, existing languages, such as CLP, CHIP and Prolog-III, do not have any basis to find a particular solution, because they can only interpret required constraints. In contrast with them, EPOCH has the ability of finding an optimal solution based on goal constraints. Thus, EPOCH is applicable to many kinds of problems compared with existing language.