Solving functional constraints by variable substitution

Yuanlin Zhang, Roland H.C. Yap

Research output: Contribution to journalArticlepeer-review

2 Scopus citations


Functional constraints and bi-functional constraints are an important constraint class in Constraint Programming (CP) systems, in particular for Constraint Logic Programming (CLP) systems. CP systems with finite domain constraints usually employ Constraint Satisfaction Problem(s)-based solvers which use local consistency, for example, arc consistency. We introduce a new approach which is based instead on variable substitution. We obtain efficient algorithms for reducing systems involving functional and bi-functional constraints together with other nonfunctional constraints. It also solves globally any CSP where there exists a variable such that any other variable is reachable from it through a sequence of functional constraints. Our experiments on random problems show that variable elimination can significantly improve the efficiency of solving problems with functional constraints.

Original languageEnglish
Pages (from-to)297-322
Number of pages26
JournalTheory and Practice of Logic Programming
Issue number2-3
StatePublished - Mar 2011


  • Arc consistency
  • Constraint logic programming
  • Constraint satisfaction problem
  • Functional constraints
  • Variable substitution


Dive into the research topics of 'Solving functional constraints by variable substitution'. Together they form a unique fingerprint.

Cite this