230 likes | 377 Views
CP 2008 SYDNEY, AUSTRALIA, 14–18 Sept. 2008. L. RIA. Stochastic Local Search to Solve the WDP Problems. Presenter: Dalila BOUGHACI. LRIA- USTHB- BP.32- EL-ALIA Bab-Ezzouar, 16111, Alger, ALGERIE. INCA/LSIS, CMI 39 rue Fredric Joliot-Curie Marseille 13013, FRANCE. Overview. Introduction
E N D
CP 2008 SYDNEY, AUSTRALIA, 14–18 Sept. 2008 L RIA Stochastic Local Search to Solve the WDP Problems Presenter: Dalila BOUGHACI LRIA- USTHB- BP.32- EL-ALIA Bab-Ezzouar, 16111, Alger, ALGERIE. INCA/LSIS, CMI 39 rue Fredric Joliot-Curie Marseille 13013, FRANCE
Overview • Introduction • A Stochastic Local Search for the WDP Problems • Experimental Results • Conclusions and future work
Maximize Bids N Objects M $$$ $90 $60 Combinatorial Auctions • m objects -- indexed by i • n bids: (Sj, Pj) • where each bid can cover a set of objects, Sj M, and result in a profit to the supplier, Pj> 0, j {1, 2 .. n},
Integer Programming Formalization Let us consider a set of m items, M= {1, 2 …….m} to be auctioned and a set of n bids, N ={1,2….n}. A bid j is a tuple <Sj, Pj> where Sj is a set of items, and Pjis the global price of the items of Sj,Pj≥ 0). Further, consider a matrix amn having m rows and n columns whereaij=1 iff the item i belongs to Sj, aij=0, otherwise. Finally the decision variables are defined as follows: xj=1 iff the bid j is accepted (a winning bid), and xj=0 otherwise (a losing bid).
Integer Programming Formalization The WDP is the problem of finding winning bids that maximizes the auctioneer's revenue under the constraint that each item can be allocated to at most one bidder
Winner Determination Problem • Informal Definition: Auctioneer must figure out who to give the objects to in order to make the most money • NP-Complet need heuristics to quickly solve large instances • Some exact methods to solve winner determination problem • Dynamic Programming – Rothkopf et al. • Optimized Search – Sandholm • CASS, CA-MUS – Layton-Brown et al. • Some Approached methods to solve winner determination problem • Casanova – Hoos et Boutilier (2000). • SAGII – (Gue et al., 2006) • Memetic Algorithms (Boughaci et al., 2008) We focus on the Stochastic Local Search
Solution representation • A combination of bids A (a Vector with a variable length). Each of whose components Aireceives the winning bid number. • The initial solution of the SLS is generated randomly according to the Random Key EncodingBean. J.C, (1994) • Generate n real numbers sequenced by an r order where n is the number of bids and the r order is a permutation of keys values. • Repeat • Firstly, select the bid having the highest order value to include in the allocation. • Secondly, the bid having the second-highest order value is accepted if its acceptance with accepted bid currently in the allocation does not create any conflict, otherwise it is discarded. • until having examined the n bids. We obtain a subset of bids that can be a feasible solution to the WDP.
Example • Consider for instance a set of four items {1, 2, 3, 4} to be auctioned and three bids {1, 2, 3}. Each bid specifies the price Pithat the bidder proposed to pay for a particular bundle Si. Suppose that the proposed bids are the following: • Bid 1: ({1, 2}, 500.25) • Bid 2: ({1, 2, 3}, 678) • Bid 3: ({3, 4}, 200.10)
Example • To generate a feasible individual for this example, we follow these steps: • First, generate three random real numbers, for example, • r=(0.65, 0.70, 0.80). • The first bid to accept is the bid 3 because it has the highest order value 0.80. A= (3). • The bid having the second-highest order value is 2, but it is discarded because it conflicts with the bid 3 currently in A. • Finally, the bid 1can be added to the allocation A because it does not conflict with the bids in A.
Example • We obtain the allocation A= (3, 1 ) that can be one of the solutions for the WDP. • The overall price is simply the sum of prices of the winning bids = 200.10+500.25=700.35. • The winning bids are 3 and 1 and 2 is a losing bid. • For this example, we remark that all the items are covered (sold).
Conflict graph To ensure feasibility of allocations during the SLS process, we have created a conflict graph where vertices represents the bids and edges connect bids that cannot be accepted together. This graph permits to detect directly the conflict bids that share a good. According to this graph we can ensure and maintain the feasibility of our allocations.
The SLS Algorithm • ALGORITHM. The SLS for the WDP. • REQUIRE: an instance of WDP. • ENSURE: an allocation of bids that maximizes the auctioneer's revenue • BEGIN • Create the conflict graph • Generate randomly an initial allocation $A$ according to the RK encoding • FOR I=1 to maxiter DO • r = random number between 0 and 1 • IF r< wp THENbid = pick a random bid ELSEbid = pick a best bid; • ENDIF • Add bid in the current solution A; • Remove all the conflicting bids from A ; • ENDFOR • RETURN the best allocation found. • END;
Computational Experiments The source codes are written in C and run on a Pentium- IV 2.8 GHZ, 1GB of RAM under a Linux operating system Parameters Tuning The adjustment of parameters of the SLS algorithm is fixed by an experimental study. The fixed values are those for which a good compromise between the quality of the solution obtained by the algorithm and the running time of the algorithm is found. The SLS parameters are: the maximum number of iterations (maxiter) is fixed to 10000 and wp is fixed to 0.3.
Benchmarks • The data set includes 500 instances is available at (http;//logistics.ust.hk/~zhuyi/instance.zip). • These instances can be divided into 5 different groups of problems where each problem contains 100 instances. • If m is the number of items and n is the number of bids then the details of each group are given as follows: • - REL-1000-500 : 100 instances from in101 to in200: m =500, n =1000. • - REL-1000-1000 : 100 instances from in201 to in300: m =1000, n =1000. • - REL-500- 1000 :100 instances from in401 to in500: m =1000, n =500. • - REL-1500-1000 : 100 instances from in501 to in600: m =1000, n =1500. • - REL-1500-1500 : 100 instances from in601 to in700: m =1500, n=1500.
Comparison of SLS with TS Instance SLS TS a time sol time sol in101 23.51 66170.61 57.86 66170.61 in102 23.89 65466.95 63.43 64716.31 in103 24.79 66350.99 128.68 66350.99 in104 22.92 67268.71 120.56 62524.23 in105 24.31 65345.23 105.36 64312.56 in201 13.90 77499.82 85.37 81557.74 in202 14.71 84283.75 187.42 82879.72 in203 14.78 81026.14 78.37 79505.18 in501 15.62 77140.72 98.71 82216.35 in502 15.98 78574.26 120.82 74127.61 in401 5.67 72948.07 44.14 68485.81 in402 5.79 71454.78 23.5780 72820.03
Comparison of SLS with TS Test set SLS TS % time time REL- 500-1000 22.35 64216.14 91,07 65286,94 -1.64 REL- 1000-500 5.91 72206.07 25,84 71985,34 0.30 REL- 1000-1000 14.19 82120.31 104,30 81633,63 0.60 REL- 1000-1500 14.97 79065.08 23,37 77931,41 1.43 REL- 1500-1500 16.47 98877.07 175,68 97824,64 1.06
Comparison of SLS with Casanova Test set SLS Casanova % time time REL- 500-1000 22.35 64216.14 119.46 37053.78 42,30 REL- 1000-500 5.91 72206.07 57.74 51248.79 40,89 REL- 1000-1000 14.19 82120.31 111.42 51990.91 36,68 REL- 1000-1500 14.97 79065.08 168.24 56406.74 28,65 REL- 1500-1500 16.47 98877.07 165.92 65661.03 33,59
Comparison of SLS with SAGII Test set SLS SAGII % time time REL- 500-1000 22.35 64216.14 38.06 64922.02 -1.08 REL- 1000-500 5.91 72206.07 24.46 73922.10 -2.32 REL- 1000-1000 14.19 82120.31 45.37 83728.34 -1.92 REL- 1000-1500 14.97 79065.08 68.82 82651.49 -4.33 REL- 1500-1500 16.47 98877.07 91.78 101739.64 -2.81
The solution quality comparisons between the SLS, Casanova, TS and SAGII.
The run- time comparisons between the SLS, Casanova, TS and SAGII.
Conclusion / Perspectives • To improve our algorithm on quality, • the combination of the SLS and a Branch-and-Bound exact method. • To improve on time, preprocessors will be added to exclude bids that can lead to suboptimal solutions.
More information ? Now : I am waiting for your questions ! Later on : boughaci@cmi.univ-mrs.fr THANK YOU