iopt: A Software Toolkit for Heuristic Search Methods

Size: px
Start display at page:

Download "iopt: A Software Toolkit for Heuristic Search Methods"

Transcription

1 iopt: A Software Toolkit for Heuristic Search Methods Christos Voudouris, Raphael Dorne, David Lesaint, Anne Liret BTexact Technologies, Intelligent Systems Lab, B62 Orion Building, pp MLB1/12, Martlesham Heath, Ipswich IP5 3RE, Suffolk, United Kingdom {chris.voudouris, raphael.dorne, david.lesaint, anne.liret}@bt.com Abstract. 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 Introduction The iopt Toolkit research project at BTexact Technologies was motivated by the lack of appropriate tools to support the development of real-world applications, which are based on heuristic search methods. The goal, originally set, was to develop a set of software frameworks and libraries dedicated to heuristic search to address this problem. Following contemporary thinking in software engineering, iopt allows code reuse and various extensions to reduce as much as possible the fresh source code required to be written for each new application. Furthermore, application development is additive in the sense that the toolkit is enhanced by each new application, reducing further the effort in developing similar applications to those already included. iopt is fully written in the Java programming language with all the acknowledged benefits associated with that, including:

2 easier deployment in different operating systems and environments, stricter object oriented programming, compatibility with 3-tier application servers based on J2EE, and also better integration with visualisation code in Web browsers and stand alone applications. Up to recently, Java was considered too inefficient (e.g. compared to C++) for developing optimisation applications. This situation has significantly improved with the introduction of new compilation technologies such as Sun s HotSpot and the ever improving performance of PCs. iopt has taken advantage of these two developments using Java as a promising alternative to C++; at least from the software engineer s point of view who is sometimes willing to sacrifice ultimate performance for ease of use and better integration. iopt incorporates many libraries and frameworks such as a constraint library, a problem modelling framework, a generic framework for modelling scheduling applications, a heuristic search framework, as well as interactive visualisation facilities for constraint networks, scheduling applications, algorithm configuration and monitoring. In this paper, due to space limitations, we only provide a general description of the different parts of the toolkit while focusing on the software engineering aspects and design choices. For a more detailed technical description and computational results on the problem solving modules (i.e. constraint library and heuristic search framework) the reader may refer to [18] and also [3]. 2 One-Way Constraints The iopt Toolkit, to facilitate problem modelling, provides declarative programming capabilities within the Java programming language. The paradigm followed is similar to C++ libraries for constraint programming such as ILOG Solver [15], consisting of a number of built-in relations which are available to the user to state its problem. A constraint satisfaction algorithm is used to transparently maintain these relations. In contrast to constraint programming tools, relations available in iopt are based exclusively on one-way dataflow constraints [19, 20]. A one-way dataflow constraint is an equation (also called) formula, in which the value of the variable in the left-hand side is determined by the value of the expression in the right-hand side. For example, a programmer could use the equation y = x + 10 to constrain the value of y to be always equal to the value of x plus 10. More formally, a one-way constraint is an equation of the form [19]: u = C(p 0, p 1, p 2,, p n ) (1) where each p i is a variable that serves as a parameter to the function C. Arbitrary code can be associated with C that uses the values of the parameters to compute a

3 value. This value is assigned to variable u. If the value of any p i is changed during the program s execution, u s value is automatically recomputed (or incrementally updated in constant time). Note that u has no influence on any p i as far as this constraint is concerned; hence, it is called one-way. 2.1 Constraint Satisfaction Algorithms for One-Way Constraints The two most common constraint satisfaction schemes for one-way constraints are the mark/sweep strategy [7, 20] and the topological ordering strategy [6, 20]. A mark/sweep algorithm has two phases. In the mark phase, constraints that depend on changed variables are marked out-of-date. In the sweep phase, constraints whose values are requested are evaluated and the constraints are marked as up-to-date. If constraints are only evaluated when their values are requested, then the sweep phase is called a lazy evaluator. If all the out-of-date constraints are evaluated as soon as the mark phase is complete, then the sweep phase is called an eager evaluator. A topological ordering algorithm is one, which assigns numbers to constraints that indicate their position in topological order. Like the mark/sweep strategy, the topological ordering strategy has two phases. A numbering phase that brings the topological numbers up-to-date and a sweep phase that evaluates the constraints. The numbering phase is invoked whenever an edge in the constraint dataflow graph changes. The sweep phase can either be invoked as soon as a variable changes value or it can be delayed to allow several variables to be changed. The sweep phase uses a priority queue to keep track of the next constraint to evaluate. Initially all constraints that depend on a changed variable are added to the priority queue. The constraint solver removes the lowest numbered constraint from the queue and evaluates it. If the constraint s value changes, all constraints that depend on the variable determined by this constraint are added to the priority queue. This process continues until the priority queue is exhausted. For the purposes of this project, we evaluated both topological ordering and mark/sweep algorithms. Although, theory suggests that topological algorithms should be faster at least for basic constraint types [19], our experience (with both approaches implemented in the Java language) showed that topological algorithms were slower something, which is in agreement with the findings in [19]. This is primarily because mark/sweep methods are simple and therefore subject to faster implementations compared to the queue-based topological ordering methods. When cycles and dynamic relations are added then mark/sweep algorithms also become theoretically faster [20]. One-way constraints have been used extensively by the GUI community in building interactive user interfaces [13, 14], and also in circuits [1] and spreadsheet programming [12]. Localizer, a scripting language for implementing local search algorithms also uses this approach for modelling combinatorial optimization problems [10, 11]. A specialized topological ordering algorithm is deployed there [10]. In Localizer, one-way functional constraints are called invariants. We will also use the same term to refer to one-way constraints when used in the context of Heuristic Search. This would help distinguish them from multi-way relational constraints as

4 they are traditionally defined and used in Constraint Programming and also from the problem s constraints as they are given in its mathematical formulation. 2.2 Invariant Library The Invariant Library (IL) of iopt, as the name suggests, is solely based on invariants (i.e. one-way constraints). IL provides a number of built-in data types such as Integer, Real, Boolean, String and Object and also set versions of these types (except for Boolean). Arithmetic, logical, string, object, set and other operators are available to the user to state its problem (i.e. decision variables, parameters, constraints and objective function). Being a library of Java, IL brings a number of advantages such as integration with visualisation components, ability for the user to extend the operators available by defining its own, facilities to work on language data structures such as Java Object and String (useful for producing on-the-fly constraint explanations) and also easier embedding into other Java programs. IL incorporates many optimisations such as incremental updates for aggregate types (e.g. sum, prod, min, max), lazy and eager evaluation modes, constraint priorities, cycle detection facilities, propagation stopping and the ability to work with undefined parts of the dataflow graph (e.g. when some of the decision variables are yet unassigned). In addition to these, it is more geared towards computationally demanding applications compared to other Java libraries and applications. This is achieved by avoiding some of the built-in but inefficient Java data structures and also by trying to avoid the constant creation and garbage collection of objects, something very common in a strict object oriented environment such as Java s. Arbitrary dataflow graphs can be configured to model optimisation problems by mapping the decision variables representing a solution to the objective and constraints as they are given by the problem s mathematical formulation. The reason for selecting invariants for supporting Heuristic Search, over relational constraints (as used in CP), is that invariants are particularly suited for heuristic search. Heuristic search techniques require an efficient way to access the impact of incremental solution changes to the problem s constraints (i.e. constraint checks) and also the value of the objective function. Invariants are particularly adept at this task since they can incorporate specialized incremental update mechanisms for the different operators implemented, in addition to the general algorithms available for restricting the parts of the constraint graph that need to be updated after a change in the input variables (decision variables in this case). Small solution changes (often called moves) are the foundation of Heuristic Search (Local Search to be more precise). They are iteratively used to improve a starting solution for the problem. Devising an efficient move evaluation mechanism normally requires a person with significant expertise in the area. This hinders the widespread use of Heuristic Search. The invariant library addresses this problem by utilising the generic mark/sweep algorithm mentioned above which can achieve relatively efficient move evaluations in an automated way and that without any particular expertise or special programming skills required by the user. The library also supports dynamic changes such as the addition and deletion of variables and constraints always bringing the network of invariants in a consistent state after each modification.

5 3 Problem Modelling Framework A Problem Modelling Framework (PMF) is part of the toolkit. The role of the framework is to provide an ontology for combinatorial optimisation problems something which is not explicit in the invariant library which is general in its nature. PMF includes foundation classes for Problem and Solution and also for the various types of decision variables. In addition, it incorporates solution management facilities by keeping the best solution, current solution or a population of solutions, which can be used by local search or population-based techniques. It can also be instructed to detect constraint violations and stop the evaluation algorithm at an early stage. As with the invariant library, arbitrary dynamic changes to the objectives/constraints or decision variables are allowed with the problem model always ending up in a consistent state. In Figure 1, we provide an annotated code sample demonstrating the use of invariants in conjunction with the problem modelling framework to model a simple optimisation problem. We also include operations, which change the problem model. /* Create a simple problem model using invariants */ Problem p = new Problem(); p.beginmodelchanges(); // start changes to the problem model RealVar x = new RealVar(10.0); // create a real variable x and set its initial value to 10.0 p.adddecisionvar(x); // set x to be a decision variable p.addobjective(inv.plus(x, 5.0)); // add the term x to the objective initially undefined p.addconstraint(inv.gt(x, 5.0)); // set the constraint x > 5.0 p.endmodelchanges(); // end changes to the problem model /* Change to the value of the decision variable */ /* Similar operations are performed when local search is evaluating a move or the user modifies the solution through a GUI */ p.beginvaluechanges(); // start changes to the values of the decision variables x.setvalue(100.0); // set x to the new value of p.endvaluechanges(); // end changes to the values of the decision variables p.propagatevaluechanges(); // the mark/sweep algorithm is updating the invariants p.savevaluechanges(); // we commit the changes, we may undo them instead // in case of constraint violations or inferior cost /* Dynamic addition of decision variable/objective to the problem model */ RealVar y = new RealVar(15.0); p.adddecisionvar(y); p.addobjective(inv.plus(y, 10.0)); // the overall objective is now (x + 5.0) + (y ) p.endmodelchanges(); Fig. 1. Sample source code demonstrating the use of invariants and PMF. The above example is a very simple one and only for illustration purposes. In fact, the problem modelling framework usually serves as the basis for domain specific frameworks such as the Scheduling Framework explained next. It has also been extended to model specific problems such as the Graph Colouring, Car Sequencing, Set Partitioning, Frequency Assignment as well as a real-world BT application related to field resource planning.

6 4 Scheduling Framework Scheduling problems can be found in diverse sections of the economy (e.g. Manufacturing, Transportation/Logistics, Utilities). To assist non-expert users to develop applications in these areas, we developed a framework of Java classes for specifically modelling scheduling problems with unary resources. These classes hide the complexity of invariant-based decision models from the user, who instead focuses on describing his/her problem using domain-specific entities (e.g. Activity, Resource, Break, etc.). There is a class hierarchy included for activities to capture the different types found in applications. Depending on the type of the activity, the user can state resource and/or time constraints (e.g. task A before/after task B, multiple time windows, same / different resource constraints and others). For modelling the resources, the framework includes different types of timelines such as state, capacity and capability timelines. The interactions of activities with these timelines capture all the necessary constraints related to the execution of activities on resources. The scheduling framework also supports user-defined models for resource setup(travel)/service times. These are sub-models, which can be implemented by external systems such as GIS (in the case of travel times), to offer realistic duration estimates for activities and also for resource transitions between activities. One or more of several built-in objectives can be selected and used. These are listed below: unallocated costs for activities, resource usage costs, time window/lateness penalties, overtime costs, setup and service duration costs and also resource-activity compatibility preferences. The scheduling framework internally uses the problem modelling framework mentioned in section 3. This makes it possible to extend it to capture the different variations of scheduling problems in terms of additional decision variables, constraints or costs. In contrast to CP-based scheduling libraries, the framework solely uses invariants for both constraint checking and also for the computation of the objective function. The move operators relocate and swap are readily available so that heuristic search methods or interactive graphical components such as a Gantt Chart can operate on the schedule. Using the Scheduling Framework, we have experimented building models for wellknown problems such as the Vehicle Routing Problem, Job Shop Scheduling Problem and also a Workforce Scheduling Problem. As with PMF and the invariant library, dynamic changes are allowed such as adding/removing activities/resources, resource/temporal constraints and also time

7 windows. These operations internally use the facilities of PMF and of the invariant library to implement changes in a consistent and transparent manner. 5 Heuristic Search Framework The Heuristic Search Framework (HSF) was created to be a generic framework for the family of optimisation techniques known as Heuristic Search. It covers single solution methods such as Local Search, population-based methods such as Genetic Algorithms as well as hybrids combining one or more different algorithms. Heuristic Search methods are known to be efficient on a large range of optimisation problems but they remain difficult to design, tune, and compare. Furthermore, they tend to be problem specific often-requiring re-implementation to address a new problem. HSF proposes a new way to design a Heuristic Search method whereby the functionality of common HS algorithms is broken down into components (i.e. parts) for which component categories are defined. Component categories are represented by Java interfaces while specific components are defined as Java classes implementing these interfaces. The designer has the capability to build a complete and complex algorithm by assembling these components which are either build-in or user extensions to the framework. In particular, three main concepts are the basis of HSF: Search Component, Heuristic Solution and Heuristic Problem. Search Component as explained above is the basic entity that is used to build an optimisation method. Most often a Search Component represents a basic concept that could be encountered in an HS method. For example, the concept of Neighbourhood in a Local Search. A complete algorithm is a valid tree of search components 1. Heuristic Solution is the solution representation of an optimisation problem manipulated inside HSF. At the present moment, a Vector of Variables and a Set of Sequences are readily available. These representations are commonly used in modelling combinatorial optimisation problems. For example a vector of variables can model CSPs while a set of sequences can model various scheduling applications with unary resources. Heuristic Problem is only an interface between an optimisation problem model implemented by IL (or my other means 2 ) and HSF. This interface allows using the same algorithm for a family of optimisation problems without re-implementing any separate functionality. The following theoretical problems and real applications are already implemented using the Invariant Library (and also higher-level frameworks such as the Problem Modelling Framework and the Scheduling Framework) and used by HSF using that concept: Graph Colouring, Set Partitioning, Frequency Assignment, Job Shop Scheduling, Workforce Scheduling, Vehicle Routing, Car Sequencing, and Field Resource Planning. 1 A valid tree is a tree of search components that can be executed. 2 HSF is generic like the Invariant Library and it can be used independently from it. For example, it can be used in conjunction with a hard-coded procedural problem model.

8 In the current version of HSF, the Search Component categories group many basic concepts encountered in Single Solution Heuristic Search such as Initial Solution Generation, Local Search, Move, Neighbourhood, Neighbourhood Search, Aspiration Criterion, Taboo mechanism, Dynamic Objective Function and others, and in Population-based Heuristic Search such as Initial Population Generation, Crossover, Mutation, Selection, Mutation Population Method, Crossover Population Method, Selection Population Method, Restart Population Method, and others. Furthermore, many popular meta-heuristics such as Simulated Annealing (SA), Tabu Search (TS), and Guided Local Search (GLS) are implemented. Methods such as Tabu Search and Guided Local Search can become observers of other search components such as Neighbourhood Search and receive notifications for certain events, which require them to intervene (e.g. move performed, local minimum reached, population converged and others). Invariants are often used to model parts of these methods such as the acceptance criterion in SA, tabu restrictions in TS or features and their penalties in GLS. Using the available set of search components and the other facilities explained briefly above, even the most complex hybrid methods can be modelled as the next example shows where a population-based method for Graph Colouring is composed using a local search method as the mutation, IUS crossover specialised to the Graph Colouring, Selection, and various other search components (see Figure 2). Fig. 2. Hybrid Algorithm for Graph Colouring using Local Search as a mutation. As it becomes obvious, designing a heuristic search is simplified to a great extend through assembling a set of components even for a sophisticated method such as the hybrid algorithm in Figure 2. The framework further allows the possibility to specialise an algorithm to an optimisation problem as we did above by adding a Graph

9 Colouring specific crossover IUS. Thus for the development of a problem-specific algorithm, we have only to implement the specialised problem-specific components not included in HSF. These can be incorporated in the framework and possibly reused in similar applications. Another benefit is that we can conduct easily and fairly comparisons between different algorithms or between different components of the same category (e.g. various Neighbourhood Search methods, currently fifteen of them incorporated in HSF). Since any new component can be directly plugged into the algorithmic tree replacing an old one, we can quickly determine the real benefit of different components to the search process. This is particularly useful when we are trying to determine what is the best variant of a method based on a particular philosophy (e.g. Tabu Search, Genetic Algorithms). An additional functionality included in HSF is that any heuristic search algorithm composed by the user can be saved in XML (a commonly-used Internet format for exchanging information). An efficient algorithm is never lost, instead can be kept in a simple text file. A build-in software generator can recreate the method at a later time from its XML specification. Since problem models are declarative and implemented by the Invariant Library, performing moves (in Local Search) or evaluating new solutions (in Population Methods) is transparent to the user. The user can then focus on the more important task of choosing and tuning the right algorithm instead of getting involved in lowlevel tasks such as trying to devise hard-coded efficient move evaluation mechanisms or implementing problem-specific methods to compute a complex fitness function. 6 Interactive Visualisation For optimisation systems to unlock their potential, they require not only sound algorithmic frameworks but also intuitive visualisation facilities to enable the user to participate in the problem solving process. For addressing this issue, the toolkit incorporates visualisation components (and also add-ons to third-party visualisation components), which can be connected to the various algorithmic/modelling frameworks, included in the toolkit. This facilitates the development of interactive optimisation systems, which allow what-if scenario testing along with intelligent manual interventions. In particular, three areas of visualisation are addressed. 6.1 Invariant Visualisation Software components have been developed to visualise invariant networks. The Model-View-Controller (MVC) approach is followed and the visual components use the Observer-Observable pattern (supported by the Invariant Library) to connect to the constraint network. The user may modify the values of variables or read the value of invariants in a table format or use a graph view to visualise the structure of the invariant network. This is particularly useful in the early stages of development for debugging parts of the problem model and also understanding the mechanism of

10 invariant evaluation. Figure 3 provides an example of a simple invariant network as visualised by the system. Fig. 3. Invariant visualisation example. 6.2 Schedule Visualisation Similarly to invariant visualisation, a number of interactive components have been developed to visualise the entities in a schedule model amongst them a schedule tree representation, a Gantt Chart, a Capacity Chart, and a Map Viewer, along with several table views for the schedule entities (e.g. Resources, Activities, Breaks, etc.). The visual components are directly connected to a schedule model using again the MVC architecture and the Observer/Observable pattern. The user may drag and drop activities or change parameters and immediately see the impact they have on the problem s constraints and objectives as the underlying invariant network propagates changes and updates only the affected parts of the visual display. Essentially, this approach implements an interesting form of interactive constraint satisfaction/optimisation, engaging the user in the problem solving process. It has also been useful to demonstrate to non-optimisation people the complexity of scheduling problems so that they appreciate more the usefulness of Heuristic Search methods. The visual components because they are Java-based can be incorporated inside a Web browser interface significantly reducing lead times otherwise needed to connect

11 to the constraint engine on the server in order to assess the impact of changes to the solution. Figure 4 shows a screen shot from a fully assembled system utilising the different components. Fig. 4. Schedule visualisation example. 6.3 Algorithm Visualisation To visualise heuristic search algorithms, a special Java software package has been implemented with the focus being on allowing the user to understand and control the structure and behaviour of the methods. The facilities provided in the library include the visualisation of the tree of search components comprising an algorithm alongside with information on the parameters used by these search components. The user can walk through the tree of search components for any heuristic search method built using the toolkit. As shown in Figure 5, the UI is divided into two panels. On the left, the tree of search components for the method selected is available and on the right appears a panel with all parameters of the currently selected component that can be adjusted by the user. Changes to these parameters can be done before commencing the search process or during the search process.

12 Fig. 5. Component visualisation and settings for a Simulated Annealing method. This latter facility allows the user to have interactive control over the algorithm. For example, if a tabu search method is trapped in a local optimum then we may want to increase (even temporarily) the size of the tabu tenure to allow the search to escape from it. As it can be seen in Figure 5, on the right panel there is a Watch button. When pressed, this button activates a monitoring facility for the particular search component. Watching a search component means displaying its different major variables. For example, watching a Simulated Annealing search component will display the objective value of the current/best solution, its current temperature, acceptance probability etc. (see Figure 6). This last facility allows the possibility to visualise the workings of the whole algorithm as well as of separate search components during a search process and then exploit this information to make further changes to their parameters. Fig. 6. Watching a Simulated Annealing search component. This can be seen as a form of heuristic search behaviour trouble-shooter. After having designed a heuristic search method using the HSF framework, the user can get a better understanding of the method by watching, setting or dynamically modifying

13 critical parameters. This could be used to make a better design resulting into a bettertuned and more efficient system. 8 Related Work and Discussion In terms of the Invariant Library, the system uses algorithms initially explored in the areas of Computer Graphics [19, 20]. Related work on using one-way constraints for heuristic optimisation is the Localizer language described in [10, 11] also mentioned earlier in this paper. Differences between the IL and Localizer include the algorithms used for propagation (mark/sweep and topological-ordering respectively), the ability to model dynamic problems in IL, but most importantly the fact that Localizer is a language on its own, whereas IL uses the Java programming language by providing a declarative environment within it. In the area of Scheduling, different frameworks have been developed such as DITOPS/OZONE[17], ASPEN[5], ILOG Schedule[9], with varying degrees of modelling capabilities. iopt s scheduling framework is solely based on invariants, which is unique among the published work in the above mentioned systems since most of them use relational constraints or a combination of functional and relational constraints as in the case of ASPEN. Secondly, the model provided is suited for the variety of Heuristic Search methods included in HSF with the addition of dynamic problem modelling capabilities. Systems such as ILOG Schedule are primarily based on exact search methods while DITOPS/OZONE and ASPEN support only a limited set of customised heuristic methods that have been built specifically for these libraries. In the case of the HSF, most of the frameworks proposed in the literature are either Local Search based or Genetic Algorithm based. In the case of Local Search examples of frameworks include HotFrame [4], Templar [8], LOCAL++ [16], SCOOP ( and also the work of Andreatta et al. [2]. These tend to provide templates with the user having to define the problem model rather than use a constraint-based problem modelling paradigm. The same applies for move operators. CP toolkits such as Eclipse and ILOG Solver in their latest versions also have integrated certain basic Heuristic Search methods such as Tabu Search and Simulated Annealing. Finally, almost all of the related works mentioned in this section, are either C/C++-based or rely on specialized scripting languages. 9 Conclusions The iopt toolkit presented in this article represents a research effort to integrate a number of technologies to offer a complete set of tools for developing optimisation applications based on Heuristic Search. At its present stage of development, it plays the role of a prototype platform for experimenting with the integration of a number of technologies such as constraint satisfaction, domain-specific frameworks, heuristic

14 search and interactive visualisation whilst utilising the capabilities of the much promising Java language in doing so. In this article, we examined parts comprising the toolkit and in particular: a lightweight constraint library for modelling combinatorial optimisation problems, a problem modelling framework providing an ontology for combinatorial optimisation problems, a scheduling framework which can be customized to model applications in areas such as manufacturing, transportation, workforce management, a heuristic search framework for synthesising local search and population based algorithms and various visualisation components which integrate with the above algorithmic modules. We described how these can work in synergy allowing a developer to focus on the high level task of algorithm design, automating in an efficient way large parts of his/her work in developing a real-world optimisation system. Current research is focused on incorporating as part of iopt a relational constraint library and an exact search framework developed in-house. Relational constraints and invariants and also exact and heuristic search methods can work collaboratively in many different ways and at present we are trying to identify the most promising ones. This is analogous to the link between MP and CP. Hopefully, a successful link of HS with CP in iopt can lead to an environment which not only supports CP and HS but also guides the user how to exploit the best combinations of these techniques. On the industrialisation front, iopt is presently being validated on internal BT applications and an enterprise system based on the toolkit will be deployed later in the year. First results are promising both in terms of reducing development times and also with regard to use of the system by non-expert software developers. Experience gained from in-house development is utilised to rationalise the system and also improve its robustness and performance. References 1. Alpern, B., Hoover, R., Rosen, B.K., Sweeney, P. F., and Zadeck, F.K., Incremental evaluation of computational circuits. In ACM SIGACT-SIAM 89 Conference on Discrete Algorithms, pp , Andreatta, A., Carvalho, S., and Ribeiro, C., An Object-Oriented Framework for Local Search Heuristics, 26th Conference on Technology of Object-Oriented Languages and Systems (TOOLS USA'98), IEEE Press, 33-45, Dorne, R, and Voudouris, C., HSF: A generic framework to easily design Meta-Heuristic methods, 4 th Metaheuristics International Conference (MIC 2001), Porto, Portugal, , Fink, A., Voß, S., Woodruff, D., Building Reusable Software Components for Heuristic Search, In: P. Kall, H.-J. Lüthi (Eds.), Operations Research Proceedings 1998, Springer, Berlin, , 1999.

15 5. Fukunaga, A., Rabideau, G., Chien, S., and Yan, D., Toward an Application Framework for Automated Planning and Scheduling, Proceedings of the 1997 International Symposium on Artificial Intelligence, Robotics and Automation for Space, Tokyo, Japan, July Hoover, R., Incremental Graph Evaluation. PhD thesis, Department of Computer Science, Cornell University, Ithaca, NY, Hudson, S., Incremental Attribute Evaluation: A Flexible Algorithm for Lazy Update, ACM Transactions on Programming Languages and Systems, Vol.13, No. 3, pp , July Jones, M., McKeown, G, Raywar-Smith, V., Templar: An Object Oriented Framework for Distributed Combinatorial Optimization, UNICOM Seminar on Modern Heuristics for Decision Support, London, 7 December, Le Pape, C., Implementation of Resource Constraints in ILOG SCHEDULE: A Library for the Development of Constraint-Based Scheduling Systems, Intelligent Systems Engineering, 3(2):55-66, Michel, L. and Van Hentenryck, P., Localizer, Tech Report CS-98-02, Brown University, March Michel, L. and Van Hentenryck, P., Localizer: A Modeling Language for Local Search, INFORMS Journal of Computing 11(1): 1-14, Microsoft Corporation, Microsoft Excel. 13. Myers B.A., McDaniel, R.G., Miller, R.C., Ferrency, A., Faulring, A., Kyle, B.D., Mickish, A., Klimovitski, A., and Doane, P., The Amulet Environment: New Models for Effective User Interface Software Development, IEEE Transactions on Software Engineering, Vol. 23, No. 6, pp , Myers, B.A., Giuse D., Dannenberg, R.B., Zanden, B.V., Kosbie, D.S., Pervin E., Mickish, A., and Marchal, P., Garnet: Comprehensive Support for Graphical, Highly-Interactive User Interfaces, IEEE Computer, Vol. 23, No. 11., pp , Puget, J-F., Applications of constraint programming, in Montanari, U. & Rossi, F. (ed.), Proceedings, Principles and Practice of Constraint Programming (CP'95), Lecture Notes in Computer Science, Springer Verlag, Berlin, Heidelberg & New York, , Schaerf, A., Lenzerini, M., Cadoli, M, LOCAL++: a C++ framework for local search algorithms, Proc. of TOOLS Europe '99: Technology of Object Oriented Languages and Systems. 29th Int. Conf June, IEEE Comput. Soc, pp , Smith, S.F., and Becker, M., An Ontology for Constructing Scheduling Systems, Working Notes of 1997 AAAI Symposium on Ontological Engineering, Stanford, CA, March, 1997 (AAAI Press). 18. Voudouris, C., and Dorne, R., Heuristic search and one-way constraints for combinatorial optimisation, Proceedings of CP-AI-OR 01, Wye College (Imperial College), Asford, Kent UK, pp , April Zanden, B.V., Halterman, R., Myers, B.A., McDaniel, R., Miller, R., Szekely, P., Giuse, D., and Kosbie, D., Lessons Learned About One-Way, Dataflow Constraints in the Garnet and Amulet Graphical Toolkits, manuscript in preperation, Zanden, B.V., Myers, B.A., Giuse, D. and Szekely, P., Integrating Pointer Variables into One-Way Constraint Models, ACM Transactions on Computer-Human Interaction. Vol. 1, No. 2, pp , June, 1994.

Metaheuristic Optimization with Evolver, Genocop and OptQuest

Metaheuristic Optimization with Evolver, Genocop and OptQuest Metaheuristic Optimization with Evolver, Genocop and OptQuest MANUEL LAGUNA Graduate School of Business Administration University of Colorado, Boulder, CO 80309-0419 Manuel.Laguna@Colorado.EDU Last revision:

More information

Effective Optimizer Development for Solving Combinatorial Optimization Problems *

Effective Optimizer Development for Solving Combinatorial Optimization Problems * Proceedings of the 11th WSEAS International Conference on SYSTEMS, Agios Nikolaos, Crete Island, Greece, July 23-25, 2007 311 Effective Optimizer Development for Solving Combinatorial Optimization s *

More information

Local Search Heuristics, Exercises

Local Search Heuristics, Exercises DM87 SCHEDULING, TIMETABLING AND ROUTING Lecture 6 Local Search Heuristics, Exercises Marco Chiarandini DM87 Scheduling, Timetabling and Routing 2 DM87 Scheduling, Timetabling and Routing 3 DM87 Scheduling,

More information

Framework for replica selection in fault-tolerant distributed systems

Framework for replica selection in fault-tolerant distributed systems Framework for replica selection in fault-tolerant distributed systems Daniel Popescu Computer Science Department University of Southern California Los Angeles, CA 90089-0781 {dpopescu}@usc.edu Abstract.

More information

Stefan WAGNER *, Michael AFFENZELLER * HEURISTICLAB GRID A FLEXIBLE AND EXTENSIBLE ENVIRONMENT 1. INTRODUCTION

Stefan WAGNER *, Michael AFFENZELLER * HEURISTICLAB GRID A FLEXIBLE AND EXTENSIBLE ENVIRONMENT 1. INTRODUCTION heuristic optimization, distributed computation, optimization frameworks Stefan WAGNER *, Michael AFFENZELLER * HEURISTICLAB GRID A FLEXIBLE AND EXTENSIBLE ENVIRONMENT FOR PARALLEL HEURISTIC OPTIMIZATION

More information

Job Shop Scheduling Problem (JSSP) Genetic Algorithms Critical Block and DG distance Neighbourhood Search

Job Shop Scheduling Problem (JSSP) Genetic Algorithms Critical Block and DG distance Neighbourhood Search A JOB-SHOP SCHEDULING PROBLEM (JSSP) USING GENETIC ALGORITHM (GA) Mahanim Omar, Adam Baharum, Yahya Abu Hasan School of Mathematical Sciences, Universiti Sains Malaysia 11800 Penang, Malaysia Tel: (+)

More information

Dynamically Configured λ-opt Heuristics for Bus Scheduling

Dynamically Configured λ-opt Heuristics for Bus Scheduling Dynamically Configured λ-opt Heuristics for Bus Scheduling Prapa Rattadilok and Raymond S K Kwan School of Computing, University of Leeds, UK {prapa, rsk}@comp.leeds.ac.uk Bus scheduling is a complex combinatorial

More information

Title: Guided Local Search and Its Application to the Traveling Salesman Problem.

Title: Guided Local Search and Its Application to the Traveling Salesman Problem. Title: Guided Local Search and Its Application to the Traveling Salesman Problem. Authors: Christos Voudouris Intelligent Systems Research Group, Advanced Research & Technology Dept., BT Laboratories,

More information

Ontology Refinement and Evaluation based on is-a Hierarchy Similarity

Ontology Refinement and Evaluation based on is-a Hierarchy Similarity Ontology Refinement and Evaluation based on is-a Hierarchy Similarity Takeshi Masuda The Institute of Scientific and Industrial Research, Osaka University Abstract. Ontologies are constructed in fields

More information

Evolving Variable-Ordering Heuristics for Constrained Optimisation

Evolving Variable-Ordering Heuristics for Constrained Optimisation Griffith Research Online https://research-repository.griffith.edu.au Evolving Variable-Ordering Heuristics for Constrained Optimisation Author Bain, Stuart, Thornton, John, Sattar, Abdul Published 2005

More information

How to Conduct a Heuristic Evaluation

How to Conduct a Heuristic Evaluation Page 1 of 9 useit.com Papers and Essays Heuristic Evaluation How to conduct a heuristic evaluation How to Conduct a Heuristic Evaluation by Jakob Nielsen Heuristic evaluation (Nielsen and Molich, 1990;

More information

An Introduction to SAT Solvers

An Introduction to SAT Solvers An Introduction to SAT Solvers Knowles Atchison, Jr. Fall 2012 Johns Hopkins University Computational Complexity Research Paper December 11, 2012 Abstract As the first known example of an NP Complete problem,

More information

Minion: Fast, Scalable Constraint Solving. Ian Gent, Chris Jefferson, Ian Miguel

Minion: Fast, Scalable Constraint Solving. Ian Gent, Chris Jefferson, Ian Miguel Minion: Fast, Scalable Constraint Solving Ian Gent, Chris Jefferson, Ian Miguel 1 60 Second Introduction to CSPs Standard Definition A CSP is a tuple V: list of variables D: a domain for each

More information

The Augmented Regret Heuristic for Staff Scheduling

The Augmented Regret Heuristic for Staff Scheduling The Augmented Regret Heuristic for Staff Scheduling Philip Kilby CSIRO Mathematical and Information Sciences, GPO Box 664, Canberra ACT 2601, Australia August 2001 Abstract The regret heuristic is a fairly

More information

Reflective Java and A Reflective Component-Based Transaction Architecture

Reflective Java and A Reflective Component-Based Transaction Architecture Reflective Java and A Reflective Component-Based Transaction Architecture Zhixue Wu APM Ltd., Poseidon House, Castle Park, Cambridge CB3 0RD UK +44 1223 568930 zhixue.wu@citrix.com ABSTRACT In this paper,

More information

Utilizing a Common Language as a Generative Software Reuse Tool

Utilizing a Common Language as a Generative Software Reuse Tool Utilizing a Common Language as a Generative Software Reuse Tool Chris Henry and Stanislaw Jarzabek Department of Computer Science School of Computing, National University of Singapore 3 Science Drive,

More information

Tabu search and genetic algorithms: a comparative study between pure and hybrid agents in an A-teams approach

Tabu search and genetic algorithms: a comparative study between pure and hybrid agents in an A-teams approach Tabu search and genetic algorithms: a comparative study between pure and hybrid agents in an A-teams approach Carlos A. S. Passos (CenPRA) carlos.passos@cenpra.gov.br Daniel M. Aquino (UNICAMP, PIBIC/CNPq)

More information

Note: In physical process (e.g., annealing of metals), perfect ground states are achieved by very slow lowering of temperature.

Note: In physical process (e.g., annealing of metals), perfect ground states are achieved by very slow lowering of temperature. Simulated Annealing Key idea: Vary temperature parameter, i.e., probability of accepting worsening moves, in Probabilistic Iterative Improvement according to annealing schedule (aka cooling schedule).

More information

Fuzzy Inspired Hybrid Genetic Approach to Optimize Travelling Salesman Problem

Fuzzy Inspired Hybrid Genetic Approach to Optimize Travelling Salesman Problem Fuzzy Inspired Hybrid Genetic Approach to Optimize Travelling Salesman Problem Bindu Student, JMIT Radaur binduaahuja@gmail.com Mrs. Pinki Tanwar Asstt. Prof, CSE, JMIT Radaur pinki.tanwar@gmail.com Abstract

More information

A Case Study on Earliness/Tardiness Scheduling by Constraint Programming

A Case Study on Earliness/Tardiness Scheduling by Constraint Programming A Case Study on Earliness/Tardiness Scheduling by Constraint Programming Jan Kelbel, Zdeněk Hanzálek Department of Control Engineering, Faculty of Electrical Engineering Czech Technical University in Prague

More information

Towards ParadisEO-MO-GPU: a Framework for GPU-based Local Search Metaheuristics

Towards ParadisEO-MO-GPU: a Framework for GPU-based Local Search Metaheuristics Towards ParadisEO-MO-GPU: a Framework for GPU-based Local Search Metaheuristics N. Melab, T-V. Luong, K. Boufaras and E-G. Talbi Dolphin Project INRIA Lille Nord Europe - LIFL/CNRS UMR 8022 - Université

More information

Evolutionary Computation Algorithms for Cryptanalysis: A Study

Evolutionary Computation Algorithms for Cryptanalysis: A Study Evolutionary Computation Algorithms for Cryptanalysis: A Study Poonam Garg Information Technology and Management Dept. Institute of Management Technology Ghaziabad, India pgarg@imt.edu Abstract The cryptanalysis

More information

SUPPORT SYSTEM FOR PROCESS FLOW SCHEDULING

SUPPORT SYSTEM FOR PROCESS FLOW SCHEDULING SUPPORT SYSTEM FOR PROCESS FLOW SCHEDULING Juan Lerch, Enrique Salomone and Omar Chiotti GIDSATD UTN FRSF, Lavaisse 610, 3000 Santa Fe - Argentina INGAR CONICET, Avellaneda 3657, 3000 Santa Fe Argentina

More information

Introduction. A Brief Description of Our Journey

Introduction. A Brief Description of Our Journey Introduction If you still write RPG code as you did 20 years ago, or if you have ILE RPG on your resume but don t actually use or understand it, this book is for you. It will help you transition from the

More information

Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects,

Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects, Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects, Classes, Class Diagrams Values and Attributes Operations

More information

GUI framework communication via the WWW

GUI framework communication via the WWW GUI framework communication via the WWW Thomas Tilley, School of Information Technology, Griffith University, Australia 4215, T.Tilley@gu.edu.au Peter Eklund, School of Information Technology, Griffith

More information

INTERACTIVE MULTI-OBJECTIVE GENETIC ALGORITHMS FOR THE BUS DRIVER SCHEDULING PROBLEM

INTERACTIVE MULTI-OBJECTIVE GENETIC ALGORITHMS FOR THE BUS DRIVER SCHEDULING PROBLEM Advanced OR and AI Methods in Transportation INTERACTIVE MULTI-OBJECTIVE GENETIC ALGORITHMS FOR THE BUS DRIVER SCHEDULING PROBLEM Jorge PINHO DE SOUSA 1, Teresa GALVÃO DIAS 1, João FALCÃO E CUNHA 1 Abstract.

More information

Development of web applications using Google Technology

Development of web applications using Google Technology International Journal of Computer Engineering and Applications, ICCSTAR-2016, Special Issue, May.16 Development of web applications using Google Technology Vaibhavi Nayak 1, Vinuta V Naik 2,Vijaykumar

More information

A Web-Based Evolutionary Algorithm Demonstration using the Traveling Salesman Problem

A Web-Based Evolutionary Algorithm Demonstration using the Traveling Salesman Problem A Web-Based Evolutionary Algorithm Demonstration using the Traveling Salesman Problem Richard E. Mowe Department of Statistics St. Cloud State University mowe@stcloudstate.edu Bryant A. Julstrom Department

More information

Creating and Running Mobile Agents with XJ DOME

Creating and Running Mobile Agents with XJ DOME Creating and Running Mobile Agents with XJ DOME Kirill Bolshakov, Andrei Borshchev, Alex Filippoff, Yuri Karpov, and Victor Roudakov Distributed Computing & Networking Dept. St.Petersburg Technical University

More information

Extensible and Dynamic Data Structure Viewers in Java

Extensible and Dynamic Data Structure Viewers in Java Extensible and Dynamic Data Structure Viewers in Java Jhilmil Jain Computer Science and Software Engineering Department, Auburn University, Auburn AL Email: jainjhi@auburn.edu Problem & motivation Many

More information

A New Exam Timetabling Algorithm

A New Exam Timetabling Algorithm A New Exam Timetabling Algorithm K.J. Batenburg W.J. Palenstijn Leiden Institute of Advanced Computer Science (LIACS), Universiteit Leiden P.O. Box 9512, 2300 RA Leiden, The Netherlands {kbatenbu, wpalenst}@math.leidenuniv.nl

More information

Regensburger DISKUSSIONSBEITRÄGE zur Wirtschaftswissenschaft

Regensburger DISKUSSIONSBEITRÄGE zur Wirtschaftswissenschaft Regensburger DISKUSSIONSBEITRÄGE zur Wirtschaftswissenschaft A Cluster Based Scatter Search Heuristic for the Vehicle Routing Problem University of Regensburg Discussion Papers in Economics No. 415, November

More information

Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 22 Slide 1

Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 22 Slide 1 Verification and Validation Slide 1 Objectives To introduce software verification and validation and to discuss the distinction between them To describe the program inspection process and its role in V

More information

Integrating Multiple Approaches for Interacting with Dynamic Data Structure Visualizations

Integrating Multiple Approaches for Interacting with Dynamic Data Structure Visualizations Electronic Notes in Theoretical Computer Science 224 (2009) 141 149 www.elsevier.com/locate/entcs Integrating Multiple Approaches for Interacting with Dynamic Data Structure Visualizations James H. Cross

More information

Tabu Search for Constraint Solving and Its Applications. Jin-Kao Hao LERIA University of Angers 2 Boulevard Lavoisier Angers Cedex 01 - France

Tabu Search for Constraint Solving and Its Applications. Jin-Kao Hao LERIA University of Angers 2 Boulevard Lavoisier Angers Cedex 01 - France Tabu Search for Constraint Solving and Its Applications Jin-Kao Hao LERIA University of Angers 2 Boulevard Lavoisier 49045 Angers Cedex 01 - France 1. Introduction The Constraint Satisfaction Problem (CSP)

More information

Algorithm Design (4) Metaheuristics

Algorithm Design (4) Metaheuristics Algorithm Design (4) Metaheuristics Takashi Chikayama School of Engineering The University of Tokyo Formalization of Constraint Optimization Minimize (or maximize) the objective function f(x 0,, x n )

More information

A Development of Hybrid Cross Entropy-Tabu Search Algorithm for Travelling Repairman Problem

A Development of Hybrid Cross Entropy-Tabu Search Algorithm for Travelling Repairman Problem Proceedings of the 2012 International Conference on Industrial Engineering and Operations Management Istanbul, Turkey, July 3 6, 2012 A Development of Hybrid Cross Entropy-Tabu Search Algorithm for Travelling

More information

Configuration Management for Component-based Systems

Configuration Management for Component-based Systems Configuration Management for Component-based Systems Magnus Larsson Ivica Crnkovic Development and Research Department of Computer Science ABB Automation Products AB Mälardalen University 721 59 Västerås,

More information

DEPARTMENT OF COMPUTER SCIENCE

DEPARTMENT OF COMPUTER SCIENCE Department of Computer Science 1 DEPARTMENT OF COMPUTER SCIENCE Office in Computer Science Building, Room 279 (970) 491-5792 cs.colostate.edu (http://www.cs.colostate.edu) Professor L. Darrell Whitley,

More information

Interactive 3D Visualization Of Optimization For Water Distribution Systems

Interactive 3D Visualization Of Optimization For Water Distribution Systems City University of New York (CUNY) CUNY Academic Works International Conference on Hydroinformatics 8-1-2014 Interactive 3D Visualization Of Optimization For Water Distribution Systems Matthew Barrie Johns

More information

Constraint Solving by Composition

Constraint Solving by Composition Constraint Solving by Composition Student: Zhijun Zhang Supervisor: Susan L. Epstein The Graduate Center of the City University of New York, Computer Science Department 365 Fifth Avenue, New York, NY 10016-4309,

More information

Adaptable and Adaptive Web Information Systems. Lecture 1: Introduction

Adaptable and Adaptive Web Information Systems. Lecture 1: Introduction Adaptable and Adaptive Web Information Systems School of Computer Science and Information Systems Birkbeck College University of London Lecture 1: Introduction George Magoulas gmagoulas@dcs.bbk.ac.uk October

More information

IF/Prolog - a high-productivity, declarative, industry proven programming environment. Constraint Prolog - a powerful tool for resource management

IF/Prolog - a high-productivity, declarative, industry proven programming environment. Constraint Prolog - a powerful tool for resource management IF/Prolog - a high-productivity, declarative, industry proven programming environment IF/Prolog is one of the most well known and respected Prolog systems in use today. It has established its niche amongst

More information

OptLets: A Generic Framework for Solving Arbitrary Optimization Problems *

OptLets: A Generic Framework for Solving Arbitrary Optimization Problems * OptLets: A Generic Framework for Solving Arbitrary Optimization Problems * CHRISTOPH BREITSCHOPF Department of Business Informatics Software Engineering Johannes Kepler University Linz Altenberger Straße

More information

Genetic Algorithm for Circuit Partitioning

Genetic Algorithm for Circuit Partitioning Genetic Algorithm for Circuit Partitioning ZOLTAN BARUCH, OCTAVIAN CREŢ, KALMAN PUSZTAI Computer Science Department, Technical University of Cluj-Napoca, 26, Bariţiu St., 3400 Cluj-Napoca, Romania {Zoltan.Baruch,

More information

Some Applications of Graph Bandwidth to Constraint Satisfaction Problems

Some Applications of Graph Bandwidth to Constraint Satisfaction Problems Some Applications of Graph Bandwidth to Constraint Satisfaction Problems Ramin Zabih Computer Science Department Stanford University Stanford, California 94305 Abstract Bandwidth is a fundamental concept

More information

Chapter 6 Architectural Design. Chapter 6 Architectural design

Chapter 6 Architectural Design. Chapter 6 Architectural design Chapter 6 Architectural Design 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process for identifying

More information

Dynamic Editing Methods for Interactively Adapting Cinematographic Styles

Dynamic Editing Methods for Interactively Adapting Cinematographic Styles Dynamic Editing Methods for Interactively Adapting Cinematographic Styles Martin Rougvie Culture Lab School of Computing Science Newcastle University Newcastle upon Tyne NE1 7RU m.g.rougvie@ncl.ac.uk Patrick

More information

Simple mechanisms for escaping from local optima:

Simple mechanisms for escaping from local optima: The methods we have seen so far are iterative improvement methods, that is, they get stuck in local optima. Simple mechanisms for escaping from local optima: I Restart: re-initialise search whenever a

More information

Proceedings of the 2012 International Conference on Industrial Engineering and Operations Management Istanbul, Turkey, July 3 6, 2012

Proceedings of the 2012 International Conference on Industrial Engineering and Operations Management Istanbul, Turkey, July 3 6, 2012 Proceedings of the 2012 International Conference on Industrial Engineering and Operations Management Istanbul, Turkey, July 3 6, 2012 Solving Assembly Line Balancing Problem in the State of Multiple- Alternative

More information

1 Version management tools as a basis for integrating Product Derivation and Software Product Families

1 Version management tools as a basis for integrating Product Derivation and Software Product Families 1 Version management tools as a basis for integrating Product Derivation and Software Product Families Jilles van Gurp, Christian Prehofer Nokia Research Center, Software and Application Technology Lab

More information

Constraint Programming

Constraint Programming Constraint Programming - An overview Examples, Satisfaction vs. Optimization Different Domains Constraint Propagation» Kinds of Consistencies Global Constraints Heuristics Symmetries 7 November 0 Advanced

More information

A RESOURCE AWARE SOFTWARE ARCHITECTURE FEATURING DEVICE SYNCHRONIZATION AND FAULT TOLERANCE

A RESOURCE AWARE SOFTWARE ARCHITECTURE FEATURING DEVICE SYNCHRONIZATION AND FAULT TOLERANCE A RESOURCE AWARE SOFTWARE ARCHITECTURE FEATURING DEVICE SYNCHRONIZATION AND FAULT TOLERANCE Chris Mattmann University of Southern California University Park Campus, Los Angeles, CA 90007 mattmann@usc.edu

More information

Spemmet - A Tool for Modeling Software Processes with SPEM

Spemmet - A Tool for Modeling Software Processes with SPEM Spemmet - A Tool for Modeling Software Processes with SPEM Tuomas Mäkilä tuomas.makila@it.utu.fi Antero Järvi antero.jarvi@it.utu.fi Abstract: The software development process has many unique attributes

More information

On Computing Minimum Size Prime Implicants

On Computing Minimum Size Prime Implicants On Computing Minimum Size Prime Implicants João P. Marques Silva Cadence European Laboratories / IST-INESC Lisbon, Portugal jpms@inesc.pt Abstract In this paper we describe a new model and algorithm for

More information

JQueryScapes: customizable Java code perspectives

JQueryScapes: customizable Java code perspectives JQueryScapes: customizable Java code perspectives [Forum Demonstration Proposal] Lloyd Markle, Kris De Volder Department of Computer Science University of British Columbia Vancouver, BC, Canada 604-822-1290

More information

RADX - Rapid development of web applications in XML

RADX - Rapid development of web applications in XML RADX - Rapid development of web applications in XML José Paulo Leal and Jorge Braz Gonçalves DCC-FC, University of Porto R. Campo Alegre, 823 4150 180 Porto, Portugal zp@dcc.fc.up.pt, jgoncalves@ipg.pt

More information

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements. Contemporary Design We have been talking about design process Let s now take next steps into examining in some detail Increasing complexities of contemporary systems Demand the use of increasingly powerful

More information

CTI Short Learning Programme in Internet Development Specialist

CTI Short Learning Programme in Internet Development Specialist CTI Short Learning Programme in Internet Development Specialist Module Descriptions 2015 1 Short Learning Programme in Internet Development Specialist (10 months full-time, 25 months part-time) Computer

More information

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

challenges in domain-specific modeling raphaël mannadiar august 27, 2009 challenges in domain-specific modeling raphaël mannadiar august 27, 2009 raphaël mannadiar challenges in domain-specific modeling 1/59 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing

More information

A Component Framework for HPC Applications

A Component Framework for HPC Applications A Component Framework for HPC Applications Nathalie Furmento, Anthony Mayer, Stephen McGough, Steven Newhouse, and John Darlington Parallel Software Group, Department of Computing, Imperial College of

More information

ON THE BENEFITS OF A DOMAIN-SPECIFIC LANGUAGE FOR MODELING METAHEURISTIC OPTIMIZATION ALGORITHMS

ON THE BENEFITS OF A DOMAIN-SPECIFIC LANGUAGE FOR MODELING METAHEURISTIC OPTIMIZATION ALGORITHMS ON THE BENEFITS OF A DOMAIN-SPECIFIC LANGUAGE FOR MODELING METAHEURISTIC OPTIMIZATION ALGORITHMS Stefan Vonolfen (a), Stefan Wagner (b), Andreas Beham (c), Michael Affenzeller (d) (a)(b)(c)(d) Upper Austria

More information

Discrete Optimization. Lecture Notes 2

Discrete Optimization. Lecture Notes 2 Discrete Optimization. Lecture Notes 2 Disjunctive Constraints Defining variables and formulating linear constraints can be straightforward or more sophisticated, depending on the problem structure. The

More information

3D object comparison with geometric guides for Interactive Evolutionary CAD

3D object comparison with geometric guides for Interactive Evolutionary CAD Loughborough University Institutional Repository 3D object comparison with geometric guides for Interactive Evolutionary CAD This item was submitted to Loughborough University's Institutional Repository

More information

Metaprogrammable Toolkit for Model-Integrated Computing

Metaprogrammable Toolkit for Model-Integrated Computing Metaprogrammable Toolkit for Model-Integrated Computing Akos Ledeczi, Miklos Maroti, Gabor Karsai and Greg Nordstrom Institute for Software Integrated Systems Vanderbilt University Abstract Model-Integrated

More information

Inductive Logic Programming in Clementine

Inductive Logic Programming in Clementine Inductive Logic Programming in Clementine Sam Brewer 1 and Tom Khabaza 2 Advanced Data Mining Group, SPSS (UK) Ltd 1st Floor, St. Andrew s House, West Street Woking, Surrey GU21 1EB, UK 1 sbrewer@spss.com,

More information

ZLoc: A C++ library for local search

ZLoc: A C++ library for local search International Journal of the Physical Sciences Vol. 6(31), pp. 7095-7099, 30 November, 2011 Available online at http://www.academicjournals.org/ijps DOI: 10.5897/IJPS11.1499 ISSN 1992-1950 2011 Academic

More information

CTI Higher Certificate in Information Systems (Internet Development)

CTI Higher Certificate in Information Systems (Internet Development) CTI Higher Certificate in Information Systems (Internet Development) Module Descriptions 2015 1 Higher Certificate in Information Systems (Internet Development) (1 year full-time, 2½ years part-time) Computer

More information

Meta- Heuristic based Optimization Algorithms: A Comparative Study of Genetic Algorithm and Particle Swarm Optimization

Meta- Heuristic based Optimization Algorithms: A Comparative Study of Genetic Algorithm and Particle Swarm Optimization 2017 2 nd International Electrical Engineering Conference (IEEC 2017) May. 19 th -20 th, 2017 at IEP Centre, Karachi, Pakistan Meta- Heuristic based Optimization Algorithms: A Comparative Study of Genetic

More information

A Firework Algorithm for Solving Capacitated Vehicle Routing Problem

A Firework Algorithm for Solving Capacitated Vehicle Routing Problem A Firework Algorithm for Solving Capacitated Vehicle Routing Problem 1 Noora Hani Abdulmajeed and 2* Masri Ayob 1,2 Data Mining and Optimization Research Group, Center for Artificial Intelligence, Faculty

More information

Benefits of Programming Graphically in NI LabVIEW

Benefits of Programming Graphically in NI LabVIEW Benefits of Programming Graphically in NI LabVIEW Publish Date: Jun 14, 2013 0 Ratings 0.00 out of 5 Overview For more than 20 years, NI LabVIEW has been used by millions of engineers and scientists to

More information

Benefits of Programming Graphically in NI LabVIEW

Benefits of Programming Graphically in NI LabVIEW 1 of 8 12/24/2013 2:22 PM Benefits of Programming Graphically in NI LabVIEW Publish Date: Jun 14, 2013 0 Ratings 0.00 out of 5 Overview For more than 20 years, NI LabVIEW has been used by millions of engineers

More information

Inducing Parameters of a Decision Tree for Expert System Shell McESE by Genetic Algorithm

Inducing Parameters of a Decision Tree for Expert System Shell McESE by Genetic Algorithm Inducing Parameters of a Decision Tree for Expert System Shell McESE by Genetic Algorithm I. Bruha and F. Franek Dept of Computing & Software, McMaster University Hamilton, Ont., Canada, L8S4K1 Email:

More information

Minsoo Ryu. College of Information and Communications Hanyang University.

Minsoo Ryu. College of Information and Communications Hanyang University. Software Reuse and Component-Based Software Engineering Minsoo Ryu College of Information and Communications Hanyang University msryu@hanyang.ac.kr Software Reuse Contents Components CBSE (Component-Based

More information

Other approaches. Marco Kuhlmann & Guido Tack Lecture 11

Other approaches. Marco Kuhlmann & Guido Tack Lecture 11 Other approaches Marco Kuhlmann & Guido Tack Lecture 11 Plan for today CSP-based propagation Constraint-based local search Linear programming CSP-based propagation History of CSP-based propagation AI research

More information

AN EVOLUTIONARY APPROACH TO DISTANCE VECTOR ROUTING

AN EVOLUTIONARY APPROACH TO DISTANCE VECTOR ROUTING International Journal of Latest Research in Science and Technology Volume 3, Issue 3: Page No. 201-205, May-June 2014 http://www.mnkjournals.com/ijlrst.htm ISSN (Online):2278-5299 AN EVOLUTIONARY APPROACH

More information

Crossword Puzzles as a Constraint Problem

Crossword Puzzles as a Constraint Problem Crossword Puzzles as a Constraint Problem Anbulagan and Adi Botea NICTA and Australian National University, Canberra, Australia {anbulagan,adi.botea}@nicta.com.au Abstract. We present new results in crossword

More information

The Relationships between Domain Specific and General- Purpose Languages

The Relationships between Domain Specific and General- Purpose Languages The Relationships between Domain Specific and General- Purpose Languages Oded Kramer and Arnon Sturm Department of Information Systems Engineering, Ben-Gurion University of the Negev Beer-Sheva, Israel

More information

Lecture 1. Chapter 6 Architectural design

Lecture 1. Chapter 6 Architectural design Chapter 6 Architectural Design Lecture 1 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process

More information

Guidelines for the use of meta-heuristics in combinatorial optimization

Guidelines for the use of meta-heuristics in combinatorial optimization European Journal of Operational Research 151 (2003) 247 252 Preface Guidelines for the use of meta-heuristics in combinatorial optimization Alain Hertz a, *, Marino Widmer b www.elsevier.com/locate/dsw

More information

MODELING OF HEURISTIC OPTIMIZATION ALGORITHMS

MODELING OF HEURISTIC OPTIMIZATION ALGORITHMS MODELING OF HEURISTIC OPTIMIZATION ALGORITHMS Stefan Wagner (a), Gabriel Kronberger (b), Andreas Beham (c), Stephan Winkler (d), Michael Affenzeller (e) (a), (b), (c), (d), (e) Heuristic and Evolutionary

More information

An Extensible Modelling Framework for the Examination Timetabling Problem

An Extensible Modelling Framework for the Examination Timetabling Problem An Extensible Modelling Framework for the Examination Timetabling Problem David Ranson 1 and Samad Ahmadi 2 1 Representational Systems Lab, Department of Informatics, University of Sussex, Falmer, UK d.j.ranson@sussex.ac.uk

More information

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently. Gang of Four Software Design Patterns with examples STRUCTURAL 1) Adapter Convert the interface of a class into another interface clients expect. It lets the classes work together that couldn't otherwise

More information

Artificial Neuron Modelling Based on Wave Shape

Artificial Neuron Modelling Based on Wave Shape Artificial Neuron Modelling Based on Wave Shape Kieran Greer, Distributed Computing Systems, Belfast, UK. http://distributedcomputingsystems.co.uk Version 1.2 Abstract This paper describes a new model

More information

B553 Lecture 12: Global Optimization

B553 Lecture 12: Global Optimization B553 Lecture 12: Global Optimization Kris Hauser February 20, 2012 Most of the techniques we have examined in prior lectures only deal with local optimization, so that we can only guarantee convergence

More information

Principles of Optimization Techniques to Combinatorial Optimization Problems and Decomposition [1]

Principles of Optimization Techniques to Combinatorial Optimization Problems and Decomposition [1] International Journal of scientific research and management (IJSRM) Volume 3 Issue 4 Pages 2582-2588 2015 \ Website: www.ijsrm.in ISSN (e): 2321-3418 Principles of Optimization Techniques to Combinatorial

More information

What is Search For? CSE 473: Artificial Intelligence. Example: N-Queens. Example: N-Queens. Example: Map-Coloring 4/7/17

What is Search For? CSE 473: Artificial Intelligence. Example: N-Queens. Example: N-Queens. Example: Map-Coloring 4/7/17 CSE 473: Artificial Intelligence Constraint Satisfaction Dieter Fox What is Search For? Models of the world: single agent, deterministic actions, fully observed state, discrete state space Planning: sequences

More information

For a long time, programming languages such as FORTRAN, PASCAL, and C Were being used to describe computer programs that were

For a long time, programming languages such as FORTRAN, PASCAL, and C Were being used to describe computer programs that were CHAPTER-2 HARDWARE DESCRIPTION LANGUAGES 2.1 Overview of HDLs : For a long time, programming languages such as FORTRAN, PASCAL, and C Were being used to describe computer programs that were sequential

More information

Overview of Tabu Search

Overview of Tabu Search Overview of Tabu Search The word tabu (or taboo) comes from Tongan, a language of Polynesia, where it was used by the aborigines of Tonga island to indicate things that cannot be touched because they are

More information

SPATIAL OPTIMIZATION METHODS

SPATIAL OPTIMIZATION METHODS DELMELLE E. (2010). SPATIAL OPTIMIZATION METHODS. IN: B. WHARF (ED). ENCYCLOPEDIA OF HUMAN GEOGRAPHY: 2657-2659. SPATIAL OPTIMIZATION METHODS Spatial optimization is concerned with maximizing or minimizing

More information

COMMON ISSUES AFFECTING SECURITY USABILITY

COMMON ISSUES AFFECTING SECURITY USABILITY Evaluating the usability impacts of security interface adjustments in Word 2007 M. Helala 1, S.M.Furnell 1,2 and M.Papadaki 1 1 Centre for Information Security & Network Research, University of Plymouth,

More information

HYBRID GENETIC ALGORITHM WITH GREAT DELUGE TO SOLVE CONSTRAINED OPTIMIZATION PROBLEMS

HYBRID GENETIC ALGORITHM WITH GREAT DELUGE TO SOLVE CONSTRAINED OPTIMIZATION PROBLEMS HYBRID GENETIC ALGORITHM WITH GREAT DELUGE TO SOLVE CONSTRAINED OPTIMIZATION PROBLEMS NABEEL AL-MILLI Financial and Business Administration and Computer Science Department Zarqa University College Al-Balqa'

More information

OASIS: Architecture, Model and Management of Policy

OASIS: Architecture, Model and Management of Policy OASIS: Architecture, Model and Management of Policy Ken Moody Computer Laboratory, University of Cambridge 1 Overview OASIS : Architecture, Model and Policy 1. background to the research people, projects

More information

Metaheuristic Development Methodology. Fall 2009 Instructor: Dr. Masoud Yaghini

Metaheuristic Development Methodology. Fall 2009 Instructor: Dr. Masoud Yaghini Metaheuristic Development Methodology Fall 2009 Instructor: Dr. Masoud Yaghini Phases and Steps Phases and Steps Phase 1: Understanding Problem Step 1: State the Problem Step 2: Review of Existing Solution

More information

Introduction to and calibration of a conceptual LUTI model based on neural networks

Introduction to and calibration of a conceptual LUTI model based on neural networks Urban Transport 591 Introduction to and calibration of a conceptual LUTI model based on neural networks F. Tillema & M. F. A. M. van Maarseveen Centre for transport studies, Civil Engineering, University

More information

Towards a Search-based Interactive Configuration of Cyber Physical. System Product Lines 1

Towards a Search-based Interactive Configuration of Cyber Physical. System Product Lines 1 Towards a Search-based Interactive Configuration of Cyber Physical System Product Lines Kunming Nie, Tao Yue, Shaukat Ali Software Engineering Institute, Beihang University, Beijing, China niekunming@cse.buaa.edu.cn

More information

Influence of the tape number on the optimized structural performance of locally reinforced composite structures

Influence of the tape number on the optimized structural performance of locally reinforced composite structures Proceedings of the 7th GACM Colloquium on Computational Mechanics for Young Scientists from Academia and Industry October 11-13, 2017 in Stuttgart, Germany Influence of the tape number on the optimized

More information

A Visual Tool for Supporting Developers in Ontology-based Application Integration

A Visual Tool for Supporting Developers in Ontology-based Application Integration A Visual Tool for Supporting Developers in Ontology-based Application Integration Tobias Wieschnowsky 1 and Heiko Paulheim 2 1 SAP Research tobias.wieschnowsky@sap.com 2 Technische Universität Darmstadt

More information

6. Tabu Search 6.1 Basic Concepts. Fall 2010 Instructor: Dr. Masoud Yaghini

6. Tabu Search 6.1 Basic Concepts. Fall 2010 Instructor: Dr. Masoud Yaghini 6. Tabu Search 6.1 Basic Concepts Fall 2010 Instructor: Dr. Masoud Yaghini Outline Tabu Search: Part 1 Introduction Illustrative Problems Search Space Neighborhood Structure Tabus Aspiration Criteria Termination

More information