Optimisation modelling for software developers

  • Authors:
  • Kathryn Francis;Sebastian Brand;Peter J. Stuckey

  • Affiliations:
  • National ICT Australia, Victoria Research Laboratory, The University of Melbourne, Victoria, Australia;National ICT Australia, Victoria Research Laboratory, The University of Melbourne, Victoria, Australia;National ICT Australia, Victoria Research Laboratory, The University of Melbourne, Victoria, Australia

  • Venue:
  • CP'12 Proceedings of the 18th international conference on Principles and Practice of Constraint Programming
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software developers are an ideal channel for the distribution of Constraint Programming (CP) technology. Unfortunately, including even basic optimisation functionality in an application currently requires the use of an entirely separate paradigm with which most software developers are not familiar. We suggest an alternative interface to CP designed to overcome this barrier, and describe a prototype implementation for Java. The interface allows an optimisation problem to be defined in terms of procedures rather than decision variables and constraints. Optimisation is seamlessly integrated into a wider application through automatic conversion between this definition and a conventional model solved by an external solver. This work is inspired by the language CoJava, in which a simulation is automatically translated into an optimal simulation. We extend this idea to support a general interface where optimisation is triggered on-demand. Our implementation also supports much more advanced code, such as object variables, variable-sized collections, and complex decisions.