Optimization with mode-directed preferences

  • Authors:
  • Hai-Feng Guo;Bharat Jayaraman;Gopal Gupta;Miao Liu

  • Affiliations:
  • University of Nebraska, Omaha, NE;State University of New York, Buffalo, NY;University of Texas at Dallas, Richardson, TX;University of Nebraska, Omaha, NE

  • Venue:
  • PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Traditional constraint programming specifies an optimization problem by using a set of constraints and minimizing (or maximizing) objective functions. Unfortunately, general optimization problems may involve compound objectives whose optima are difficult to be represented by a simple minimization (or maximization). Even worse, for many applications, especially those defined over structural domains, it is difficult to specify any objective functions. In this paper we presents a declarative method for specifying generalized optimization problems based on comparison and selection among alternative solutions. The method introduces a formal predicate mode declaration for designating certain predicates as optimization predicates, and uses preference rules for stating the criteria for determining their optimal solutions. We illustrate their uses with two representative examples: one is matrix-chain multiplication from dynamic programming, and the other is ambiguity resolution for recursively-defined grammars. This paper also addresses how to extend a tabled Prolog system with preferences. The execution of logic programs with preferences is achieved in two steps. First, an automatic transformation is applied to embed the preferences into the problem specification to form an executable program. Second, the new program is then evaluated using tabled resolution, while the mode declaration provides a selection mechanism among the alternative solutions. We show that the transformation scheme preserves the semantics for each optimization predicate. Experimental results are shown to indicate that preferences provide a declarative approach without sacrificing efficiency.