Using Messy Genetic Algorithms for Solving the ...

3 downloads 0 Views 161KB Size Report
The ordering messy GA (mGA) was compared against an ordering genetic algorithm and a random key genetic algo- rithm (RKGA). Both algorithms use a ...
Using Messy Genetic Algorithms for Solving the Winner Determination Problem Madalina Raschip

Henri Luchian

Alexandru Ioan Cuza University Iasi, Romania

Alexandru Ioan Cuza University Iasi, Romania

[email protected]

ABSTRACT The paper presents a study on the application of messy genetic algorithms for the winner determination problem in the combinatorial auction realm. Messy genetic algorithms operate explicitly on building blocks in order to obtain good solutions. Since the winner determination is a constrained problem, the Ordering Messy Genetic Algorithm is used in order to preserve the validity of chromosomes. Experiments on instances generated with the CATS system are presented to illustrate and compare the effectiveness of the approach. The approach is compared against a simple genetic algorithm, which is a random-key genetic algorithm. Other wellknown algorithms from literature are used in experiments. Conclusions are drawn on the advantages of using a messy genetic algorithm for this problem.

Categories and Subject Descriptors I.2.8 [Artificial Intelligence]: [Problem Solving, Control Methods, and Search]

General Terms Algorithms

Keywords Genetic algorithms, Ordering messy genetic algorithms, Winner determination

1. INTRODUCTION The paper examines the application of messy genetic algorithms for a practical problem from the combinatorial auction field. Combinatorial auctions [21] allow agents to bid on bundles of items. They can lead to more economical allocations and therefore they have been used in various real-world scenarios such as transportation, procurement, the allocation of public goods, supply chain management [14], [22]. Combinatorial auctions raise difficulties in terms of preference elicitation, how the bidder describes their preferences

[email protected]

concisely, and winner determination. The problem of concern here is the winner determination problem (WDP). The problem is to select a set of winning bids that maximize the auctioneer’s revenue, under certain restrictions. The problem is NP-complete. Exact algorithms have been proposed in literature for the problem, based on the Branchand-Bound procedure [6], [20] or linear programming [17]. Optimal solutions have been obtained using CPLEX solver [1]. Approximative methods were also developed to deal with difficult instances. A stochastic local search method is presented in [11]. It starts with an empty allocation and adds unsatisfied bids randomly or greedily with a specific probability. Within the profit, the age of a bid is also considered in the greedy selection. A hybrid simulated annealing approach is presented in [10]. It makes use of a preprocessing step and three local moves: a Branch-and-Bound applied to a subset of items and bids, a greedy local step to add unselected bids which do not conflict with bids already added, and a 1-2 exchange move. Genetic algorithms (GAs) are suited for a large set of optimization problems. The winner determination formulation involves constraints. Constraint handling is not straightforward in an evolutionary algorithm since the application of operators does not guarantee the offspring feasibility. Approaches for dealing with constraints have been developed in literature, like the use of penalties, the repairing of infeasible solutions, the use of special representations and operators, decoding [16]. A memetic algorithm is introduced in [4] for solving the winner determination problem. It uses the random key encoding to generate feasible individuals. The algorithm uses the notion of diversity inside the selection mechanism and is enhanced with a stochastic local search step. The winner determination problem of multi-unit combinatorial auctions can also be modeled as multi-dimensional knapsack problem (MDKP). Evolutionary algorithms have proved their efficiency for solving the MDKP, thus many of the methods used for MDKP can be used for WDP [18]. In [18] a genetic algorithm for the Multi-constrained Knapsack problem is presented. It uses the shadow prices of the LP-relaxed solution, inside a repair heuristic. Ratios based on the shadow prices give the likeliness of the items to be included in a solution. One of the problems the genetic algorithms encountered is the linkage problem, i.e. the building block disruption. To address the limitations of simple genetic algorithms for this problem, the messy encoding is proposed [8]. The messy genetic algorithms tackle the linkage problem by finding highly

fit building blocks initially, and then applying specific operators. Since the nature of the problem is a constrained one, in order to tackle the problem of infeasibility of offspring we have chosen the order variant of the messy genetic algorithms. The Ordering messy genetic algorithm [13] is a fast messy genetic algorithm which uses random keys to represent chromosomes. A similar study on using ordering messy GAs for the job shop scheduling problem is presented in [5]. The aim of this paper is not to propose a ’best’ algorithm for solving winner determination, but to show that the application of the messy genetic algorithms falls within the ’satisficing’ paradigm. First a general description of the messy and fast messy GA is given. The problem is presented next. In section 4 the approach based on messy encoding for solving the winner determination problem is described. We present then the experimental results and conclusions.

2. MESSY GENETIC ALGORITHMS Messy genetic algorithms [8] use an adaptive encoding, meaning that the structure of the representation is adapted online to the problem. They allow variable-length strings that may be under- or overspecified. A gene is represented by a pair (locus, allele value) and a chromosome is a collection of genes. Overspecification means that a chromosome can have more than one value for the same locus. For decoding, this is handled on a ”first come first served” basis, scanning from left to right. Under-specified chromosomes do not have values in all locations. A competitive template, a locally optimal solution is used to fill in the unspecified bits. The messy genetic algorithm is organized in two nested loops. The outer loop iterates over the order k of the building blocks. Every cycle of the outer loop is called an era. During each era, the inner loop begins, consisting of three phases: initialization, primordial and juxtapositional. During the first phase, partially enumerative initialization, all possible building blocks of a certain order are generated. In the primordial phase, only the highly fit building blocks are kept by the application of repetitive selections. The last phase is similar to the simple GA, consisting of the application of operators. The crossover is replaced by the cut-andsplice operator. Cut divides the chromosome with a specified probability, and splice joins two chromosomes. Mutation changes the value of a gene in a chromosome. The inner loop terminates at the end of the juxtapositional phase. The template is replaced by the best individual found so far. The size of the initial population is significantly larger than of a simple GA, and the process of generation is expensive. A population of size O(lk ) is generated, with k the size of the building block, and l the length of the problem strings. Fast messy GAs [7] have been developed in order to reduce the complexity of this process. Fast messy GAs have the same organization as messy GAs. In Figure 1 the organization of the Fast messy GA with multiple epochs is presented (see section 4 for more details). Fast messy GAs use a probabilistic approach for initializing the population (Probabilistically complete initialization method). A smaller population of longer chromosomes is generated. All possible genic and allelic combinations for building blocks must be present. This fact is ensured by the population size and chromosomes length. The initial chromosome length is reduced to the building block length by alternately applying selection and random gene deletion at specific intervals (building

Figure 1: A diagram with the organization of the fast messy GA with multiple epochs; PCI stands for the Probabilistically complete initialization method, and BBF for the building block filtering phase

block filtering step). After the filtering phase, the population contains a high proportion of short strings with ”good” genes. The fast messy GA can be enriched with two techniques: thresholding and tie-breaking. In thresholding tournament selection, the competition is allowed only between the individuals which share at least a common number of defined loci. This way the cross-competition is not allowed and the problems with non-uniformly scaled building blocks are solved successfully. When using tie-breaking, the selection and the initialization are modified as follows: the individual with the shortest length between two individuals with the same fitness is chosen; chromosomes of all building block lengths from 1 to k are created at the initialization phase. The problems with non-uniformly sized building blocks are solved this way. Algorithm 1 bellow presents the pseudo-code of the fast messy GA with multiple epochs.

3.

WINNER DETERMINATION

In combinatorial auctions [21] bidders can bid on bundles of items. The bidders can express complementarity and substitutability among items, so the bidder’s valuations for bundles of items are not necessarily additive. One of the main problem that arises in combinatorial auctions is how to determine the winners. The problem is computational difficult (NP-complete and inapproximable) [19]. Let M = {1, ..., m} be a set of items to sell. The buyers submit a set of bids B = {B1 , ..., Bn }. A bid is a tuple Bj = (Sj , pj ), where Sj ⊆ M is a set of items and pj ≥ 0 is a price. The problem is to label the bids as winning or losing in order to maximize the auctioneer’s revenue under the constraint that each item can be allocated to at most one bidder. max

n X i=1

s.t.

xi p i X

xi ≤ 1, ∀j = 1..m

i|j∈Si

xi ∈ {0, 1}, ∀i = 1..n We assume that the bids are given in OR* language (OR with phantom items, dummy items) [6]. In an optimum solution, if xi = 1 then Bi is a winner bid.

Algorithm 1 Fast messy GA() epoch = 1 template = random string while epoch ≤ epoch max do era = 1 while era

Suggest Documents