Simulation optimization: methods and applications
Proceedings of the 29th conference on Winter simulation
PPDP '99 Proceedings of the International Conference PPDP'99 on Principles and Practice of Declarative Programming
CoJava: a unified language for simulation and optimization
OOPSLA '05 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Simulation optimization: a review, new developments, and applications
WSC '05 Proceedings of the 37th conference on Winter simulation
Service Composition Language to Unify Simulation and Optimization of Supply Chains
HICSS '08 Proceedings of the Proceedings of the 41st Annual Hawaii International Conference on System Sciences
CoReJava: Learning Functions Expressed as Object-Oriented Programs
ICMLA '08 Proceedings of the 2008 Seventh International Conference on Machine Learning and Applications
Unifying simulation and optimization of strategic sourcing and transportation
Proceedings of the 40th Conference on Winter Simulation
MiniZinc: towards a standard CP modelling language
CP'07 Proceedings of the 13th international conference on Principles and practice of constraint programming
CoJava: optimization modeling by nondeterministic simulation
CP'06 Proceedings of the 12th international conference on Principles and Practice of Constraint Programming
Constraint programming and combinatorial optimisation in numberjack
CPAIOR'10 Proceedings of the 7th international conference on Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems
Hi-index | 0.00 |
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.