My Essence'/Savile Row page

For more about the Essence' modeling language, see Modelling with ESSENCE'.

The Automated Generation of Constraint Programs contains more information about Essence' (as well as ESSENCE and CONJURE).

2009-07-25: I blogged about Tailor/Essence' (an earlier version of Essence') in New Tailor version (v0.3.2) and My Essence'/Tailor page

Essence'/Savile Row

2012: Tailor's successor Savile Row constraint modelling assistant can be used instead to solve Essence' models.
Savile Row is a modelling assistant for CP. It provides a high-level language for the user to specify their constraint problem, and automatically translates that language to the input language of a constraint solver. It is a research tool, so it is designed to be as flexible as possible. It is very easy to add new rules and program new translation pipelines.

During the translation process, Savile Row applies some reformulations to improve the model. At the moment these are quite simple, with the most interesting one being common subexpression elimination (CSE). If the same (or equivalent) expression appears in different parts of a model, CSE replaces the expression with a single variable everywhere it appears. In this way it connects together different parts of the model. This often improves constraint propagation.

Savile Row is the successor to Tailor, developed by Andrea Rendl as part of her PhD. Some of the techniques used by Savile Row (CSE in particular) were invented by Andrea, and are detailed in her PhD thesis.

The authors of Savile Row are Ian Miguel and Peter Nightingale. To report bugs, ask questions, or ask for features, contact Peter: pwn1@st-andrews.ac.uk

...

Constraint Solvers At the moment only Minion is fully supported. Work is in progress on supporting Gecode. Also, work is in progress on supporting the Dominion constraint solver synthesizer.
Savile Row is mentioned in the paper Qualitative Modelling via Constraint Programming: Past, Present and Future by Thomas W. Kelsey, Lars Kotthoff, Christoffer A. Jefferson, Stephen A. Linton, Ian Miguel, Peter Nightingale, Ian P. Gent.

My Essence'/Savile Row models

Savile Row has a slighly different view of a proper Essence' model than Tailor so here are the adjusted Essence' models.

Here are some differences between Tailor's and Savile Row's models (found by experimentation):

Also, see information about other constraint programming systems:
* My Constraint Programming Blog, especially the Tailor/Minion category
* Constraint Programming
* Common constraint programming problems
* My MiniZinc page
* My Zinc page
* My JaCoP page
* My JaCoP/Scala page
* My Choco page
* My Gecode/R page
* My Comet page
* My Gecode page
* My ECLiPSe page
* My SICStus Prolog page
* My Google CP Solver page
* My OscaR page
* My JSR-331 page
* My Numberjack page
* My AIMMS+CP page
* My B-Prolog page
* My Choco3 page
* My Picat page
* My z3/python page
* My SWI-Prolog page

Back to my homepage
Created by Hakan Kjellerstrand hakank@gmail.com