An Object-Oriented Framework for Multiobjective Local ... - CiteSeerX

3 downloads 1151 Views 180KB Size Report
Email: {jclaro, jsousa}@inescporto.pt ... general architecture and a template for multiobjective local search are highlighted; the paper ends ... tion with the decision maker requires high efficiency from tools for the generation of efficient solutions,.
MIC’2001 - 4th Metaheuristics International Conference

231

An Object-Oriented Framework for Multiobjective Local Search Jo˜ao Claro∗ ∗

INESC Porto - Instituto de Engenharia de Sistemas e Computadores do Porto Rua Jos´e Falc˜ ao, 110, 4050-315 Porto - Portugal Email: {jclaro, jsousa}@inescporto.pt †

1

Jorge P. Sousa∗†

Faculdade de Engenharia da Universidade do Porto Rua Roberto Frias, 4200-465 Porto - Portugal

Introduction

A growing attention has been devoted in recent years to optimisation in multiobjective contexts. As part of this increasing interest, metaheuristics are being adapted to handle multiple objectives, in an effort that has been motivated by the success of metaheuristics in single-objective contexts. Also as a result of significant recent attention, a number of object-oriented approaches for single-objective metaheuristics have been proposed, mainly aiming at bringing theory and application in this field closer, and facilitating the implementation and comparison of methods. In this paper, an object-oriented framework for multiobjective local search, integrating several generic strategies, is briefly presented: the fundamental concepts of Multiobjective Combinatorial Optimisation are introduced, followed by an overview of Multiobjective Metaheuristics; a short review of objectoriented approaches to metaheuristics precedes the actual presentation of the framework, in which the general architecture and a template for multiobjective local search are highlighted; the paper ends with a short set of concluding remarks and lines for future developments.

2

Multiobjective Combinatorial Optimisation

A Multiobjective Combinatorial Optimisation (MOCO) problem can be stated as min f1 (x) = z1 .. . min fk (x) = zk s.t. x ∈ S, where x is a solution to the problem, S is the discrete, feasible region in the decision space, and f1 , ..., fk are the objective functions. z = (z1 , ..., zk ) is called a criterion vector. The feasible region in the objective space is Z = {z ∈ k : zi = fi (x), x ∈ S}. z ∈ Z is nondominated if and only if there does not exist another z  ∈ Z such that zi ≤ zi , ∀i, and zi < zi , for some i. The nondominated set N consists of all nondominated criterion vectors. x ∈ S is efficient if and only if its image in the objective space is nondominated. The efficient set E consists of all efficient solutions. Porto, Portugal, July 16-20, 2001

232

MIC’2001 - 4th Metaheuristics International Conference

The consideration of multiple objectives in Combinatorial Optimisation (CO) often occurs in a context of practical application, where decision making processes may involve several objectives. A relevant number of applications in this field is mentioned in [3, 12]. A recent annotated bibliography [5] provides a broad overview of the literature in the field, covering problems and solution methods. According to [3], the difficulty in solving MOCO problems derives essentially from the fact that interaction with the decision maker requires high efficiency from tools for the generation of efficient solutions, and that multiobjective versions of hard, single-objective CO problems often are even harder. The adaptation of the main concepts of Computational Complexity to MOCO problems [17, 4] has provided adequate foundations for the study of the difficulty of these problems and the efficiency of algorithms to tackle them.

3

Multiobjective Metaheuristics

To a large extent, the success in applying metaheuristics to single-objective CO problems is due to features such as their general applicability, the flexibility to handle specific constraints in real world problems, and the interesting trade-off between solution quality and computation, development and implementation effort. These features have also favoured the adaptation of metaheuristics to a multiobjective context, with an increasingly significant number of methods and applications published in recent years [5]. The majority of Multiobjective Metaheuristics (MOMH) is based on Genetic Algorithms (GA), Simulated Annealing (SA) and Tabu Search (TS). Naturally, adaptation of other single-objective metaheuristics is expected to occur, as has recently been the case with GRASP [10]. GA have led the way in this area, the pioneer work of Schaffer, with VEGA (Vector Evaluated Genetic Algorithm) [16], dating back to 1985. The survey on Multiobjective GA (MOGA) of [8] points out that GA seem specially fit for use in multiobjective contexts for two main reasons: working with a population of solutions, they can search for the multiple solutions of the efficient set in parallel, eventually exploring similarities among them; also, they are less sensitive than traditional mathematical programming techniques to the issues of shape and continuity of the nondominated set. This second feature is shared with SA and TS based approaches. One group of these approaches is based on repeated executions of the single-objective metaheuristic, with a combination of the objectives in a single aggregating function, usually a weighted sum scalarising function. A search direction is established by the weights in this function, whose variation in each execution aims at enabling a complete approximation of the nondominated set. In another group, that includes Pareto Simulated Annealing (PSA) [3] and Multiple Objective Tabu Search (MOTS*) [12], the first mentioned feature is introduced in SA and TS based approaches, through the consideration of a population of solutions, each one holding its own set of weights. These weights are dynamically computed so that each solution moves towards the nondominated frontier and away from other solutions in the population, that are nondominated with respect to it. This work focuses particularly on the second group of SA and TS based approaches. Based on the identification of their common behaviour, a multiobjective local search template is suggested. This template plays a fundamental role in the proposed object-oriented framework.

4

Object-oriented Approaches for Metaheuristics

In a simplified way, the two main incentives for developing object-oriented approaches for metaheuristics have been bringing theory and application closer, by developing simply structured, open-ended systems, that incorporate theoretical results [14], and facilitating the implementation and comparison of methods, through increased modularity, rational order and reusability of software structures [6]. Porto, Portugal, July 16-20, 2001

MIC’2001 - 4th Metaheuristics International Conference

233

Four essential principles of the object-oriented paradigm are data encapsulation, data abstraction, inheritance and polymorphism. The object is the unit of data encapsulation, consisting of a set of variables and a set of methods used to alter and access those variables. An object accepts messages that invoke methods. An object’s signature is the set of messages it accepts. A class is a data abstraction, expressing aspects that are common to identical objects, and taking the form of a template to create a particular kind of object. Class inheritance allows a set of classes to share parts of a common signature or implementation (variables and methods). Polymorphism is essential to code reuse, by enabling methods to take objects of different types as arguments. Reusable object-oriented software has been made available mainly through class libraries and frameworks. A class library packages together a set of classes, eventually structured using inheritance, from which an application can be built. A framework can be defined as a set of classes that embodies an abstract design for solutions to a family of related problems [13]. One main difference between these two concepts is that frameworks provide default behaviour, while with class libraries, all the collaboration between components usually has to be defined. Frameworks provide design reuse, an area where another initiative has also gained particular significance - design patterns, which are descriptions of communicating objects and classes that are customised to solve a general design problem in a particular context [9]. A reasonable number of object-oriented approaches for metaheuristics have been reported in the literature. [6] presents object-oriented software, implemented in Object-Oriented Turbo Pascal, for neighbourhood search techniques applied to assignment-type problems. In [18] a generic C++ class library with GA, TS, SA and hybrid strategies, is described. Several generic C++ frameworks for local search based methods have been proposed: in [1], a framework using design patterns, including SA, TS, GRASP and Variable Neighbourhood Search (VNS); in [7], a framework based on the use of C++ templates, including SA and TS; in [15], a framework including hill-climbing, SA and TS, and a set of composite techniques. [11] describes a Java framework for TS applied to assignment-type problems.

5

An Object-oriented Framework for Multiobjective Local Search

To the best of the authors’ knowledge, no object-oriented approach has yet been proposed for multiobjective local search (MOLS). Also, in the literature, not enough emphasis seems to have been given to the fact that the object-oriented paradigm appears to be particularly well-suited for the implementation, and integration with local search, of generic flexibilisation strategies, such as candidate lists, neighbourhood variation, or high-level, parallel, hybridisation. These two considerations have been the essential motivation for the development of METHOOD (METaHeuristics Object-Oriented Development), a generic C++ framework (Figure 1) that, in its present state of development, provides: support for the definition of the variable parts of the problem domain, related to solutions, movements, increments and evaluating functions; support for problem data; a template and a concrete implementation of a constructive algorithm, based on [1]; a MOLS template and the derivations of PSA and MOTS* from this template; extensions for a candidate list strategy and a neighbourhood variation strategy; a solver level for the articulation of constructive and MOLS algorithms, and the implementation of a high-level, parallel, hybridisation strategy. In this paper, focus will be given to the multiobjective character of the framework, with a description of the parts related to the MOLS template. Both PSA and MOTS* aim at producing a good approximation of the efficient set, working with a population of solutions, each one holding a weight vector for the definition of a search orientation. Each approach proposes a different strategy for the definition of the weights, but share identical purposes for that definition: an orientation of the search towards the nondominated frontier, with an attempt to spread solutions over that frontier. The former is achieved by the use of positive weights, while the latter is based on a comparison with other solutions of the population. Although in different ways, Porto, Portugal, July 16-20, 2001

234

MIC’2001 - 4th Metaheuristics International Conference

Problem data support Basic structures and relations

Basic algorithms

Solvers

Constructive algorithms METHOOD

Extensions for basic and constructive algorithms, and solvers Data

Movements

Evaluations Solutions Increments

Provided by the client

Figure 1: General architecture of the framework

both methods operate on each solution, searching and selecting a solution in its neighbourhood that will eventually replace it. Each solution has a context of metaheuristic components related to individual solutions, such as neighbourhoods, in general, or tabu lists, in the specific case of MOTS*. The identification of these common aspects has suggested the definition of the following MOLS Template: Template Multiobjective Local Search Generate a set of initial feasible solutions G ⊂ S; Initialise the approximation to the efficient set E = {}; For each si ∈ G Initialise the corresponding context; Update E with si ; While a stopping criterion is not met For each si ∈ G Update the corresponding weight vector λi ; Initialise the selected solution ss = 0; For each s ∈ N eighbourhood(s) Update E with s ; If s is selectable and s is preferable to ss ss = s ; If ss = 0 and ss is acceptable si = ss ;

PSA and MOTS*, as proposed in the literature [3, 12], differ in the definition of several of the template’s primitive operations: weight vectors are distinctly initialised and updated; N eighbourhood(s) in PSA is a random subneighbourhood of unitary dimension; the generated movement in PSA is always selected, while, in MOTS*, movement selection considers tabu status, aspiration criteria, and a comparison of evaluations based on a weighted sum scalarasing function; in PSA, a selected movement is accepted according to an acceptance probability, while, in MOTS*, it is always accepted. Figure 2 presents the class diagram for this part of the framework. A MOLS algorithm (MOLocalSearch) iterates over a population (P opulationInitial ) of solutions (Solution), building an approximation to the efficient set (EfficienSet ) of the considered problem. A neighbourhood (Neighbourhood ) is created for each solution, with the services of a neighbourhood prototype (N eighbourhoodP rototype ). For each solution, the algorithm obtains all the movements (M ovementCurrent ) in the neighbourhood and selects Porto, Portugal, July 16-20, 2001

MIC’2001 - 4th Metaheuristics International Conference

235

one (M ovementSelected ). The neighbourhood is traversed with a movement iterator (MoveIterator ), that sees the neighbourhood as a movement container (MoveContainer ). The efficient set is updated with all generated movements. Movement selection always involves the solution’s weights, which are defined by a weight definition strategy (WeightDefinition), taking into consideration the solutions from a larger population (P opulationLarger ). This larger population contains the population of the algorithm, and may also contain other solutions, such as reference solutions, or solutions being worked on by other algorithms. methood::EfficientSet 1

methood::Movement

1

1 Current Selected

methood::WeightDefinition * 1

1

*

* 1

1

1 Prototype

*

* methood::MOLocalSearch

methood::MoveIterator 1

1 *

1

methood::MoveContainer *

1

1 1

1 Prototype

methood::Neighbourhood 1

Larger 1

methood::MoveGenerator * 1

1 *

*

Initial 1

methood::Population 1

*

methood::MOLSSolContext

1

1

1 methood::Solution

methood::SolutionContext 1

1

1 1 Base Base 1

Figure 2: Class diagram for multiobjective local search

6

Conclusions and Future Developments

In this paper, an object-oriented framework for multiobjective local search has been briefly presented. The object-oriented paradigm has provided excellent support for the development of MOLS approaches, particularly in handling the dimension and complexity levels that are common in problems and methods in this area. Effective domain modelling, encapsulation and abstraction have facilitated the implementation and integration of a group of generic strategies. Reduced coding effort and high reuse potential have been achieved, mainly through the use of inheritance and polymorphism. The framework has been applied to the multiobjective single machine scheduling problem of minimising the number of late jobs, maximum tardiness and weighted tardiness. This problem is NP-hard [2] and no applications of methods for solving it have been found in the literature. The development of the framework and its application to this problem, involving four constructive algorithms and three neighbourhood structures, has required an effort of approximately 4 men-month. The framework is built of around 50 classes, which are entirely reusable. For the application to the mentioned problem, 20 classes, inherited from classes in the framework, were developed. In the total number of lines of code, approximately 65% belong to the framework. Preliminary studies for integrating basic PSA and MOTS* with generic strategies have been conducted. Future work with METHOOD will include: developing the study of generic strategies; profiling the framework performance in order to identify aspects that require optimisation; integrating other local search and recombination based methods; using the framework in decision support contexts. Porto, Portugal, July 16-20, 2001

236

MIC’2001 - 4th Metaheuristics International Conference

References [1] A. Andreatta, S. Carvalho, and C. Ribeiro. An object-oriented framework for local search heuristics. Technical Report, Catholic University of Rio de Janeiro, 1998. [2] C.-L. Chen and R. L. Bulfin. Complexity of single machine, multi-criteria scheduling problems. European Journal of Operation Research, 70:115–125, 1993. [3] P. Czyzak and A. Jaszkiewicz. Pareto simulated annealing - a metaheuristic technique for multiple objective combinatorial optimization. Journal of Multi-Criteria Decision Analysis, 3(1):34–47, 1998. [4] M. Ehrgott. Approximation algorithms for combinatorial multicriteria optimization problems. International Transactions in Operational Research, 7:5–31, 2000. [5] M. Ehrgott and X. Gandibleux. An Annotated Bibliography of Multiobjective Combinatorial Optimization. Report in Wirtschaftsmathematik, Nr 62/2000, Fachbereich Mathematik - Universitat Kaiserslautern, 2000. [6] J. Ferland, A. Hertz, and A. Lavoie. An object-oriented methodology for solving assignment-type problems with neighborhood search techniques. Operations Research, 44(2):347–359, 1996. [7] A. Fink, S. Voss, and D. Woodruff. Building reusable software components for heuristc search. Extended abstract of the talk given at OR98, Zurich, 1998. [8] Carlos M. Fonseca and Peter J. Fleming. An overview of evolutionary algorithms in multiobjective optimization. Evolutionary Computation, 3(1):1–16, 1995. [9] Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, Massachusetts, 1994. [10] X. Gandibleux, D. Vancoppenolle, and D. Tuyttens. A first making use of GRASP for solving MOCO problems. Technical report, University of Valenciennes, France, 1998. Paper presented at MCDM 14, June 8-12 1998, Charlottesville, VA. [11] M. Graccho and S. Porto. TabOOBuilder: An Object-Oriented Framework for Building Tabu Search Applications. Extended abstract of the talk given at MIC99, Angra dos Reis, Brasil, July 19-23, 1999. [12] M. P. Hansen. Metaheuristics for Multiple Objective Combinatorial Optimization. PhD Dissertation, Dissertation No. 45, Institute of Mathematical Modelling, Technical University of Denmark, 1998. [13] Ralph E. Johnson and Brian Foote. Designing reusable classes. Journal of Object-Oriented Programming, 1(2):22–35, 1988. [14] J. Nievergelt. Complexity, algorithms, programs, systems: The shifting focus. Technical Report, ETH Z¨ urich, 1994. [15] A. Schaerf, M. Lenzerini, and M. Cadoli. LOCAL++: A C++ framework for combinatorial search problems. Technical Report 11–99, Dipartimento di Informatica e Sistemistica, Universita di Roma La Sapienza, Rome, Italy, 1999. [16] J. D. Schaffer. Multiple objective optimisation with vector evaluated genetic algorithm. In Proceedings of the 1st International Conference on Genetic Algorithms, pages 93–100, Morgan Kaufmann Publishers, Inc., San Mateo, 1985. [17] P. Serafini. Some considerations about computational complexity for multiobjective combinatorial problems. Lecture Notes in Economics and Mathematical Systems, 294:222–232, 1987. [18] D. L. Woodruff. A class library for heuristic search optimization. INFORMS Computer Science Technical Section, 18(2):1–5, 1997.

Porto, Portugal, July 16-20, 2001

Suggest Documents