iOpt: A Software Toolkit for Heuristic Search Methods

Heuristic Search techniques are known for their efficiency and effectiveness in solving NP-Hard problems. However, there has been limited success so far in constructing a software toolkit which is dedicated to these methods and can fully support all the stages and aspects of researching and developing a system based on these techniques. Some of the reasons for that include the lack of problem modelling facilities and domain specific frameworks which specifically suit the operations of heuristic search, tedious code optimisations which are often required to achieve efficient implementations of these methods, and the large number of available algorithms - both local search and population-based - which make it difficult to implement and evaluate a range of techniques to find the most efficient one for the problem at hand. The iOpt Toolkit, presented in this article, attempts to address these issues by providing problem modelling facilities well-matched to heuristic search operations, a generic framework for developing scheduling applications, and a logically structured heuristic search framework allowing the synthesis and evaluation of a variety of algorithms. In addition to these, the toolkit incorporates interactive graphical components for the visualisation of problem and scheduling models, and also for monitoring the run-time behaviour and configuring the parameters of heuristic search algorithms.

[1]  Rob Miller,et al.  Lessons learned about one-way, dataflow constraints in the Garnet and Amulet graphical toolkits , 2001, TOPL.

[2]  Brad A. Myers,et al.  Integrating pointer variables into one-way constraint models , 1994, TCHI.

[3]  Bowen Alpern,et al.  Incremental evaluation of computational circuits , 1990, SODA '90.

[4]  Pascal Van Hentenryck,et al.  Localizer: A Modeling Language for Local Search , 1999, INFORMS J. Comput..

[5]  R. Hoover Incremental graph evaluation (attribute grammar) , 1987 .

[6]  Maurizio Lenzerini,et al.  LOCAL ++: A C++ framework for local search algorithms , 2000 .

[7]  Roger B. Dannenberg,et al.  Garnet: comprehensive support for graphical, highly interactive user interfaces , 1990, Computer.

[8]  Rob Miller,et al.  The Amulet Environment: New Models for Effective User Interface Software Development , 1997, IEEE Trans. Software Eng..

[9]  David L. Woodruff,et al.  Building Reusable Software Components for Heuristic Search , 1999 .

[10]  Jean-François Puget,et al.  Applications of Constraint Programming , 1995, CP.

[11]  Celso C. Ribeiro,et al.  An object-oriented framework for local search heuristics , 1998, Proceedings. Technology of Object-Oriented Languages. TOOLS 26 (Cat. No.98EX176).

[12]  Christos Voudouris,et al.  HSF: A Generic Framework to Easily Design Meta-Heuristic Methods , 2001 .

[13]  Stephen F. Smith,et al.  An Ontology for Constructing Scheduling Systems , 1997 .

[14]  Claude Le Pape,et al.  Implementation of resource constraints in ILOG SCHEDULE: a library for the development of constraint-based scheduling systems , 1994 .

[15]  Roger Hoover Incremental Graph Evaluation , 1987 .

[16]  Alex Fukunaga,et al.  Towards an application framework for automated planning and scheduling , 1997, 1997 IEEE Aerospace Conference.

[17]  Scott E. Hudson,et al.  Incremental attribute evaluation: a flexible algorithm for lazy update , 1991, TOPL.