A column generation approach to the coalition formation problem in multi-agent systems

A column generation approach to the coalition formation problem in multi-agent systems

Available online at www.sciencedirect.com Computers & Operations Research 31 (2004) 1635 – 1653 www.elsevier.com/locate/dsw A column generation app...

267KB Sizes 1 Downloads 55 Views

Available online at www.sciencedirect.com

Computers & Operations Research 31 (2004) 1635 – 1653

www.elsevier.com/locate/dsw

A column generation approach to the coalition formation problem in multi-agent systems ( Onder Tombu*s, Taner Bilgi*c∗ Bogazic i University, Department of Industrial Engineering, Bebek, Istanbul 34342, Turkey

Abstract The goal of this paper is to provide a computational study of the coalition formation problem in multi-agent systems. The coalition formation problem, as formulated here, is based on social welfare maximizing criteria, which aims to increase the total value of coalition structures in a multi-agent system. Value of each coalition depends only on the participating members. Pairwise relationships of coalition members determine the value of a coalition. In this study, the problem is formulated as a set partitioning problem and a column generation approach is proposed to solve it. Assuming that the coalition forming agents have computational capabilities, the algorithm is also extended to a parallel algorithm where all agents share the computational burden of coming up with a coalition. The proposed algorithms are implemented and tested in three types of environments, where expected pairwise relationship values are positive, zero or negative. Based on the test results, we highlight the coalition environments where parallel column generation technique is viable. ? 2003 Elsevier Ltd. All rights reserved. Keywords: Coalition formation; Column generation; Set partitioning; Parallel algorithm

1. Introduction With developing Internet technologies, the concept of software agents has received considerable attention. Software agents are social, autonomous computer programs working on their users’ behalf. Users may delegate their jobs to software agents, which would interact with humans and other agents based on their user preferences in a
This work has been supported by Bo?gazi*ci University Research Fund under grant 01A302. Corresponding author. Fax: +90-212-265-1800. E-mail address: [email protected] (T. Bilgi*c).



0305-0548/$ - see front matter ? 2003 Elsevier Ltd. All rights reserved. doi:10.1016/S0305-0548(03)00112-6

1636

& Tombus , T. Bilgic / Computers & Operations Research 31 (2004) 1635 – 1653 O.

enterprises, which together can take advantage of cooperation when it is available, but do not suEer from changing environment conditions, by reorganizing alliances formed to meet new environmental conditions. Agent systems are expected to handle the hard tasks of cooperation, negotiation and coalition formation as eEective as humans [1]. Particularly, in a business-to-business electronic commerce context, software agents working on behalf of their companies can enter into coalitions to bid for a large task (possibly retrieved from an e-marketplace by another agent) that they cannot handle alone. How and when should agents form alliances and when should they work alone? This question is asked in the context of the coalition formation problem. The coalition formation problem has been extensively studied in the game theory and Economics literature (e.g., [2]). The recent interest in the Computer Science and ArtiJcial Intelligence literature is due to the coalition formation problem becoming a key topic in multi-agent systems [3–7]. There are three main stages of the coalition formation problem [5]: • Coalition structure generation. Formation of coalition structures, such that agents inside a coalition coordinate their activities, but agents of diEerent coalitions will work independently. • Solving the optimization problem. Optimizing resource and task allocations of coalitions, assigning resources of each coalition to tasks, which would maximize the surplus gained by performing tasks. • Sharing the surplus. Distributing the surplus generated by the coalition to its agents. The approach to coalition formation depends on the number and type of the agents in the system. For “self-motivated” agents each with diEerent, possibly con
1

Kraus [4] suggests a mechanical particle model which interprets agents as repulsing dynamic particles or attracting static particles and claims that this is more appropriate than using game theoretic models.

& Tombus , T. Bilgic / Computers & Operations Research 31 (2004) 1635 – 1653 O.

1637

In this study, we formulate the coalition formation problem as a set partitioning problem and propose to solve it using a column generation as suggested by Mehrotra and Trick [11]. We implement that algorithm both as a sequential and a parallel algorithm. Our contributions are proposing the set partitioning model to model the core computational part of coalition formation problem and to oEer a parallel implementation of it. Our motivation stems from e-business environments where the coalition forming agents also have computational capabilities. In cases where agents have computational capabilities, the coalition formation problem can be solved in parallel using all agents (or some voluntary agents) involved. In this case, each agent shares the computational burden of forming an acceptable coalition. In the context of coalition formation, Larson and Sandholm [6] propose three algorithms and report their computational experience with them. Their algorithms are “anytime” search algorithms (i.e., when you pause the algorithm at any point in time after it starts to execute, you always get a feasible solution). They expect values of coalition structures as the main input. Our algorithm requires the pairwise relationships of the agents as the main input but utilizes the structure of the set partitioning formulation to come up with a column generation algorithm. After the Jrst generation of columns (which requires the solution of a small linear programming problem), our algorithm also can be considered as an anytime algorithm. The rest of the paper is organized as follows. In Section 2, we formulate the coalition formation problem as a set partitioning problem and we propose an algorithm based on column generation and branch and bound. In Section 3 we discuss how the algorithm can be distributed and how it is implemented. In Section 4, we describe our experimental setting and report our computational experience with the algorithms. Finally in Section 5, we give our conclusions, discuss the connections to a sister problem: winner determination in combinatorial auctions and point to further research topics.

2. Problem formulation We formulate the coalition formation problem as a set partitioning problem and seek a solution using column generation. Of course, formulating the coalition formation problem as a set partitioning problem is a simpliJcation of the whole coalition formation process in some respects. These are mainly: • The problem is considered to be static in the sense that a coalition is formed only once. • Distribution of rewards is not considered. • Resources and capabilities of agents are assumed to be represented by the value of the coalition only. • Only Characteristic Function Games are considered where the value of the coalition only depends on the members of the coalition and not on non-members. These assumptions are usually taken for granted in the recent “computational” approaches to coalition formation. If one can solve this “seed” problem eSciently then we can hope to relax some of these assumptions (e.g., by introducing extra constraints on resource usages, use diEerent objective functions, and make the problem dynamic in nature).

& Tombus , T. Bilgic / Computers & Operations Research 31 (2004) 1635 – 1653 O.

1638

2.1. Formulation of the coalition formation problem Let there be N agents and let K be the set of all possible coalitions of N agents (i.e., |K| = 2N ). Let vk be the “value” of coalition k, and  1 if agent i is in coalition k; ik = 0 otherwise for i = 1; 2; : : : ; N , and k = 1; 2; : : : ; 2N . Let the decision variable be  1 if coalition k is selected; yk = 0 otherwise for k = 1; 2; : : : ; 2N . Then the coalition formation problem is a set partitioning problem (SP):  vk y k max k ∈K

s:t:



ik yk = 1

for i = 1; 2; : : : ; N;

k ∈K

yk ∈ {0; 1}

for k = 1; 2; : : : ; 2N :

Since the number of possible coalitions is exponential, there are too many variables for solving the integer program directly. A problem with 20 agents requires 1,048,575 variables. The number of variables doubles with each agent added to the problem. Although, there are eSciently solvable instances of the set partitioning problem 2 for general input sets, the problem remains to be a hard one. There are many heuristics proposed for the approximate solution of the SP problem but we insist on an exact solution. In terms of coming up with the value of the coalition, we assume that individual, pairwise relationships of agents are given. 3 Let vij be the value of pairwise relationship between agents i and j, which can either encode a positive or a negative synergy between the agents (i.e., vij can be negative, zero, or positive). The value of any coalition C is  vij ; vij ∈ R: vC = i; j ∈C

Hence, the value of the coalition is totally determined by the pairwise relationships of the agents in the coalition (i.e., the setting is that of a characteristic function game). Agents can be mapped to nodes of a graph and their pairwise relationships can be considered as the edges. The problem of coalition formation is equivalent to Jnding the maximum weighted cluster in that graph [11]. 2 When the constraint matrix is totally unimodular, balanced, etc. the problem can be solved as a linear program. See e.g., [12]. 3 This may seem like a restrictive assumption but in the coalition formation problem, agents can encode their preferences on who they want to work with using simple voting mechanisms.

& Tombus , T. Bilgic / Computers & Operations Research 31 (2004) 1635 – 1653 O.

1639

2.2. Column generation We work with the linear programming relaxation of the SP (LSP) 4 and solve it using the column generation technique. If we get non-integral results, we use a branching scheme to force integrality. Let K be the set of all coalitions (hence |K| = 2N ). The main idea behind column generation is rather than solving the problem for all K, which grows exponentially in N , solve it for a limited subset of coalitions, K  ⊂ K and then check for optimality. If the optimality is not reached generate new columns and continue in this manner. 5 Then the linearized restricted problem (LRSP) becomes  max v k yk k ∈K 

s:t:



ik yk = 1

for i = 1; 2; : : : ; N;

k ∈K 

and k ∈ K  :

yk ¿ 0

Let yo be the optimal solution, and o the optimal dual variables for the restricted problem. yo = (y1o ; y2o ; : : : ; yr  );

r  = |K  |:

Of course, yo is also a feasible solution for LSP. We have to check for the optimality of this solution in LSP. The dual of the linear relaxation (DLSP) is min

N 

i

i=1

s:t:

N 

ik i ¿ vk

for k ∈ K

i=1

i unrestricted: In solving the restricted problem using K  ⊂ K, a dual solution o is found, which satisJes N 

ik io ¿ vk

for k ∈ K  :

i=1 o

If  is also feasible for K then yo is the optimal solution of the problem, i.e., N 

ik io ¿ vk

for k ∈ K:

i=1

So the optimality condition becomes for every coalition C ∈ K:   io − vC ¿ 0 or vC − io ¡ 0: i ∈C

4 5

i ∈C

LP relaxation of the SP is the same problem except the decision variables are allowed to take on non-integer values. Barnhart et al. [13] give a thorough review of this technique and more.

1640

& Tombus , T. Bilgic / Computers & Operations Research 31 (2004) 1635 – 1653 O.

The optimality can be checked by solving the following maximum weighted cluster problem (MWCP) [11]. Given a graph G(V; E) with node weights −io ; i ∈ V and edge weights v(i; j), Jnd a cluster whose total weight (node and edge weights together) is maximized. If the optimal value is less than or equal to 0, then the optimality of yo is proven. Otherwise any feasible solution to this problem with total weights greater than 0 provides an improving column to the restricted problem. The optimal solution which corresponds to the MWCP should be added to K  . This process is repeated until there is no improving cluster. If the resulting solution to the restricted problem consists of only integer numbers, then the optimal solution to SP is found. If some of the variables are not integer then they have to be enforced to take on integer values. What is important in column generation is to obtain a sub-problem that is easily solvable. In this case, unfortunately, the subproblem MWCP is also an NP-Hard problem. A naive search method which investigates all possible clusters is as complex as the initial IP. To Jnd the maximum weighted cluster eSciently, it is required to use special branch and bound techniques exploiting the characteristics of agent relationships. 2.3. MWCP search algorithm Mehrotra and Trick [11] suggest a depth-Jrst search (DFS) algorithm to Jnd maximum weighted cluster eSciently. Depth-Jrst search tree is generated in a special way for traversing as small number of solution nodes as possible. In the DFS algorithm, there are three sets of agents. An agent is either in the cluster which is being investigated, or not in the cluster, or is still in the set of undecided agents. At each step of DFS, an undecided agent is chosen as the branching variable and two new search nodes are created, one where the agent is included in the cluster and another one where the agent is excluded from the cluster. In order to reduce the search, an upper and a lower bound are calculated for each sub-problem. DFS keeps track of the best cluster found during the search, which is taken as the lower bound. If the upper bound of a problem node is less than the value of the best cluster found, the problem node is dropped from the search. Lower bound represents the total value of agents that form the cluster. If the lower bound is greater then the value of the best cluster found, the best cluster is replaced with the new solution. Fig. 1 shows the nodes generated by depth-Jrst search algorithm for a Jve-agent problem. There are two important factors of this algorithm: • calculation of the upper bound, • choice of the branching variable. We use the same upper bound as given in [11] both in shifted and unshifted versions. The plain upper bound for a search cluster set S is summing all pairwise relationships between the agents in S and the node weights of agents in S to the positive pairwise relationships and positive node weights of the agents in the undecided agents set U . This upper bound ignores the negative node weights and relationships of agents in U and hence it can be a very coarse upper bound. It may be tightened by a method called shifting. Shifting transfers a positive value from node weight of an agent a ∈ U denoted by ua , to a negative relationship between agent a and an agent b ∈ S. If a

& Tombus , T. Bilgic / Computers & Operations Research 31 (2004) 1635 – 1653 O.

1641

S={ } U={1,2,3,4,5}

S={4} U={1,2,3,5}

S={ } U={1,2,3,5} S={4} U={1,2,3}

S={4,5} U={1,2,3} S={1,4,5} U={2,3}

S={4,5} U={2,3}

S={1,2,4,5} U={3}

S={1,4,5 } U={3}

S={1,2,4,5 } U={ }

S={1,2,3,4,5} U={ }

Fig. 1. Depth-Jrst search for a Jve-agent problem.

enters into S, the shifted upper bound becomes equal to the plain upper bound, otherwise the upper bound is decreased by the shifted value. Shifting is repeated until no positive node weight can be transferred to a negative relationship. Any agent in the undecided set U can be selected as the branching variable. This choice may be done randomly, but choosing the variable which gives the lowest upper bound, often leads to quick fathoming of variables in the search process. A special type of branching can be used when it can be shown that one branch cannot possibly contain the optimal solution. This type of branching is called variable :xing, and can greatly reduce search space. Furthermore, each agent with computational capabilities can perform this check and report the results in parallel. If it can be detected for an agent a ∈ U , that the agent absolutely does not belong to the optimal cluster, then the search space of the current solution is halved. In two diEerent ways an agent can be automatically eliminated from U . Assume the sum of u value of agent a and all of its relations with other agents in the cluster is negative, and it cannot be made positive by the sum of any collection of relational values with agents in U . That is   + ua + vai + vaj ¡ 0: i ∈S

j ∈U

Then agent a cannot contribute positively to the current cluster. It can be directly deleted from U . Conversely assume the sum of u value of agent a and all of its relations with agents in cluster is positive and it cannot be made negative by the sum of any collection of relational values with agents in U . That is   − ua + vai + vaj ¿ 0: i ∈S

j ∈U

Then it is obvious that agent a always positively contributes to the current cluster and a is directly added to S. When the resulting solution is not integer, it can be forced to take on integer values [14,11].

1642

& Tombus , T. Bilgic / Computers & Operations Research 31 (2004) 1635 – 1653 O.

LP-Problem

πi values

(new columns)i =ni

MCWP

Fig. 2. Hierarchical structure of the sequential algorithm.

LP-Problem

πi

n1,i

MCWP

1

πi

πi

n2,i

MCWP

2

.........

nn,i

MCWP

n

Fig. 3. Hierarchical structure of the parallel algorithm.

2.4. Parallelization Assuming there are N agents present in the system, a parallel algorithm to coalition formation problem utilizes the computational power of N agents. The parallelization of algorithm relies on distributing the MWCP search tree to agents. Agents do not work individually to solve the problem, their eEorts are guided by an hierarchical approach. The hierarchical structure of the algorithm consists of two levels as shown in Fig. 2. At the top level, the LP generates a solution for the restricted problem and passes calculated dual prices to MWCP. MWCP searches all search space using dual prices and provides the top level with the new columns to be generated. MWCP algorithm can be designed as a parallel algorithm, for sharing the work among the agents forming the coalitions as shown in Fig. 3. In order to share the search tree as evenly as possible among N agents, nodes are created using breadth-Jrst approach until the number of created leaf nodes reaches N (Fig. 5). Then nodes are distributed among agents and each agent starts DFS from the given node. Each agent keeps track of the best found feasible solution and when an agent Jnds a solution which is better than the present best solution it broadcasts the new solution value to the agents as the new lower bound. After all agents Jnish their search process the best solution found

& Tombus , T. Bilgic / Computers & Operations Research 31 (2004) 1635 – 1653 O. 550

1000 Object ve Value

540 530 520 510

800 600 400

1 9 17 25 33 41 49 57 65 73 81

28

25

22

19

16

13

0

7

490 10

200

4

500 1

Objective Value

1643

Column Generations

Columns Generated

(a) Example 1

(b) Example 2

Fig. 4. Sample run of the sequential program: (a) example 1; (b) example 2.

S={ } U={1,2,3,4,5}

S={ } U={1,2,3,5}

S={ } U={1,2,5}

S={3} U={1,2,5}

S={4} U={1,2,3,5}

S={4,5} U={1,2,3}

S={4} U={1,2,3}

S={4,5} U={2,3}

S={1,4,5} U={2,3}

Fig. 5. Breadth-Jrst search for a Jve-agent problem.

enters the LP problem as the new column. Solution of the LP is performed by a single agent. After solving the LP, this agent passes new dual prices to the other agents. Algorithm continues until there is no more columns to add (i.e., the best solution found in distributed DFS is less than or equal to 0). In terms of the coalition formation problem, this requires distributing the search tree which contains sensitive information about the values of other agents to all agents. This distribution task should be properly managed (e.g., by using anonymous agent names and disguising the values). 2.5. Sample run of the program Fig. 4a shows a sample run of the algorithm for a 15-agent problem. Although 30 new columns are generated during the run, the objective function value has changed only four times. This phenomenon is due to the high degenerative nature of the problem. The basis of any solution to LSP consists of N coalitions (since the problem has N constraints), and unless all coalitions have exactly one member, some coalitions are overlapping. In an integer solution, one of the overlapping coalitions is selected

1644

& Tombus , T. Bilgic / Computers & Operations Research 31 (2004) 1635 – 1653 O.

and its value is set to 1, the remaining basis variables are set to zero causing degeneracy. Although all of the generated columns change the basis of LP, in most cases one degenerative basis variable is replaced with another one. Even if the optimum coalition variable has entered the basis, column generation iterations are still performed until the optimality condition is reached. The worst case of the degeneracy occurs when the solution is actually the grand coalition. The algorithm generates many columns before proving optimality of the grand coalition solution (Fig. 4b). 3. Implementation C + + is used for programming the algorithm. For solving the LP problem C + + interface to CPLEX (v. 6.6) is used. 6 For implementing the distributed algorithm MPICH is used. MPICH is a freely available, portable implementation of the Message Passing Interface (MPI), the standard for message-passing libraries for parallel architectures. 7 For the single processor implementation of the algorithm an HP B1000 workstation with 512 MB of RAM is used. The parallel implementation of the algorithm is carried on the cluster ASMA, (Advanced System for Multi-computer Applications), a parallel machine group at Computer Engineering Department of Bo?gazi*ci University, consisting of 29 pentium processors. 8 3.1. Sequential algorithm In the sequential algorithm, stacks are used as the main data structure for implementing the depth-Jrst search. The calculation of lower and upper bounds are performed incrementally. Rather than recalculating upper and lower bound for each search state, which has O(N 2 ) complexity, the upper and lower bounds are calculated from the upper and lower bounds of previous search states, using the eEect of including (or excluding) the branching agent on the problem solution, which has O(N ) complexity. 3.2. Parallel algorithm In the parallel algorithm, a processor is selected as the master processor, which performs LP iterations and distributes the solution space and dual prices to slave processors. For breadth-Jrst search node generation, a queue structure is used. Initially root node is enqueued. Then the following process is repeated until the queue reaches its maximum size: • A node is dequeued from queue. • Its children nodes are generated and enqueued. The maximum size of the queue at least equals the number of slave processors. It may be greater than number of processors for better load balancing. After an LP iteration, master processor distributes 6 CPLEX is a commercial product for solving linear, mixed-integer and quadratic programming models http://www.cplex.com 7 More information about MPICH can be found at http://www-unix.mcs.anl.gov/mpi/mpich/ 8 Technical speciJcations of ASMA can be found at http://netlab.boun.edu.tr/asma/

& Tombus , T. Bilgic / Computers & Operations Research 31 (2004) 1635 – 1653 O.

1645

Table 1 Coalition environments

Environment I Environment II Environment III

1

2

Expected relationship value

3 5 5

5 5 3

Negative Zero Positive

nodes generated in the queue to slave processors. Slave processors perform MWCP search on their search space. If a processor reports a better lower bound, the new lower bound value is transmitted to other processors via master processor. Whenever a processor Jnishes its search, it reports to the master processor. If the queue is not empty, master processor assigns new search space from queue to the idle processor, otherwise master processor waits all other working processors. After all processors have Jnished their jobs, the master processor enters best solution found during MWCP search to the LP as a new column, and calculates new  values (dual prices). 4. Computational experience In this section, we report our computational experience with the two algorithms from the previous section. The algorithms are tested on a variety of input factors using a simple experimental design framework. For testing the algorithm, three diEerent environments are created. The intention is to create three diEerent environments: (i) where valuations of agents are sub-additive, (ii) a balanced environment where valuations may be both super- and sub-additive, and Jnally (iii) an environment where most of the valuations are super-additive. Indeed, when all pairwise agent relations are positive which is more likely in environment III, the grand coalition must be optimal and when all pairwise relations are negative which is more likely in environment I, agents should work on their own. In order to create these three diEerent environments random distribution of the pairwise relationship values vij are manipulated. First environment requires a left skewed probability density function (pdf), third environment requires a right skewed pdf. In order to cater for that purpose we assumed pairwise relationships between agents come from a Beta distribution with diEerent shape parameters. Beta distribution is chosen because it can have its modal value anywhere on a closed interval. Three diEerent Beta distributions are used to generate the pairwise relationships between the agents as shown in Table 1. Due to the nature of this selection, most of the coalitions in environment I are sub-additive, environment III has usually super-additive coalitions. Environment II is a balanced environment where coalitions may be both super- and sub-additive. Indeed, when all agent relations are positive, the grand coalition must be optimal and when all relations are negative, agents should work on their own. Fig. 6 shows the actual distributions for the weights in all three environments. In environment I, the experiment includes 10, 15, 20, 25, 30 and 35 agents. In environment II, problems with 10, 15, 20 agents are generated. For environment III, problems with 10, 11 and

& Tombus , T. Bilgic / Computers & Operations Research 31 (2004) 1635 – 1653 O.

1646

Histogram

Histogram

Histogram

5 0

20

15 Frequency

10

20

15 10 5

95

80

65

50

5

35

20

-10

-25

-40

-55

-70

-85

5 0

0 -10 0

10

Bin

-100 -87 -74 -61 -48 -35 -22 -9 4 17 30 43 56 69 82 95

Frequ en cy

15

25

-90 -77 -64 -51 -38 -25 -12 1 14 27 40 53 66 79

F req uen cy

20

Bin

Bin

ENV. II

ENV. I

ENV. III

Fig. 6. Weight distributions.

Table 2 Tests performed Environment type

I

II

III

11-13 Number of agents

10

15

20

25

30

35

10

15

20

10

11

12

Shifting (square) No shifting (square) No shifting (binary)

X X X

X X X

X X X

X

X

X

X X X

X X X

X X X

X

X

X

12 agents are solved. These numbers are dictated by the performance of the algorithm in diEerent environments as will be discussed in detail in Sections 4.3–4.5. Other than the performance of the algorithm in three diEerent environments, tests include the comparison of upper bound calculating methods with weight shifting and without weight shifting. Tests also compare two diEerent coalition sets to be generated initially. First coalition set (called “binary”) consists of all coalitions including two members. Second coalition set (called “square”) includes all coalitions with 2; N − 2; N − 1, and N members. The aim of the test is to observe whether the convergence of the algorithm depends on the structure of initial columns generated. Table 2 shows all factors used in the experiment. Finally column generation technique is compared with exhaustive column enumeration, where all possible coalitions are generated and entered into the CPLEX solver, in those cases where column generation technique is feasible. For each test type, 1000 problems are generated and solved with diEerent random seeds. Average and standard deviation of these 1000 solutions are reported. 4.1. Shifting vs no shifting Since weight shifting decreases the upper bound it is expected that shifting results in a smaller search space. Indeed Table 3 conJrms this. However shifting operation increases the time required for the incremental upper bound calculation. Upper bound calculation is performed for every solution node in the search space. Although number of solutions evaluated using the shifting operation decreases, the CPU time spent for each solution increases, causing an increase in the total time of the algorithm (Table 4).

& Tombus , T. Bilgic / Computers & Operations Research 31 (2004) 1635 – 1653 O.

1647

Table 3 Shifting: average number of MWCP nodes searched Environment

I

II

Number of agents

10

15

20

10

15

20

Shifting w/o Shifting Ratio

81 115 0.70

419 478 0.88

1335 1479 0.90

648 700 0.93

12,832 13,643 0.94

298,122 315,927 0.94

Table 4 Shifting: CPU time spent in seconds Environment

I

II

Number of agents

10

15

20

10

15

20

Shifting w/o Shifting Ratio

0.029 0.029 1.00

0.118 0.117 1.06

0.493 0.475 1.11

0.105 0.098 1.08

2.85 2.26 1.17

110 75.96 1.21

Table 5 Initial sets: columns generated Environment

I

II

Number of agents

10

15

20

10

15

20

Column set I (binary) Column set II (square)

5.16 5.16

9.42 9.42

15.80 15.80

12.45 12.43

38.59 37.37

93.44 99.14

The results indicate that the decrease in the size of the solution space using shifting operation does not improve the total time of the algorithm when compared to the case without shifting. 4.2. The e=ect of the initial coalition set Two diEerent initial coalition sets are selected as the starting solution. First coalition set (called “binary”) contains the coalitions consisting of two members only. Second set (called “square”) includes coalitions with 2; N − 1; N − 2 members and the grand coalition. The average number of generated columns is slightly less in column set II (Table 5). However the average CPU time spent is less for column set I. It seems that there is no signiJcant impact of the initial solution on the performance of our algorithm (Table 6).

1648

& Tombus , T. Bilgic / Computers & Operations Research 31 (2004) 1635 – 1653 O.

Table 6 Initial sets: CPU time spent in seconds Environment

I

II

Number of agents

10

15

20

10

15

20

Column set I (binary) Column set II (square)

0.025 0.029

0.093 0.117

0.389 0.475

0.083 0.098

2.20 2.26

73.53 75.96

Table 7 Average values of environment I Number of agents LP iterations Nodes Nodes per iteration CPU time (s) Max degeneracy

10 5.16 114.93 22.27 0.029 1.95

15 9.42 477.78 50.70 0.117 3.20

20 15.84 1478.63 93.36 0.475 4.30

25 24.61 4226.83 171.75 1.84 5.68

30 33.22 10511.01 316.40 6.15 6.23

35 46.54 26723.38 574.18 21.65 6.94

30 7.58 4970.90 2.76 3.13

35 10.07 11,954.01 9.5 3.35

Table 8 Standard deviation values of environment I Number of agents LP iterations Nodes CPU time (s) Max degeneracy

10 1.42 77.67 0.01 1.09

15 2.60 242.72 0.04 1.81

20 4.09 703.13 0.18 2.28

25 5.63 1837.26 0.71 2.91

4.3. Testing in environment I In environment I, optimum coalition structure consists of small sized coalitions (Tables 7, 8). The algorithm detects and proves the optimal solution quickly. Both number of coalitions generated and solution nodes searched per iteration are small when compared to environments II and III. Expected value of maximum degeneracy decreases slowly. Between 10 and 35 agents, no huge exponential impact on time complexity can be observed. Number of nodes searched per column generation iteration is relatively few. Therefore parallelization of MWCP may not be necessary in this case, unless the number of agents is much larger than 35. 4.4. Testing in environment II In environment II, the exponential impact on computations can be detected earlier as the number of agents increase (Tables 9, 10). As the number of agents increases, both LP iterations and the number of nodes searched increase tremendously. The degeneracy of the problem grows rapidly with increasing number of agents. Parallelization of search algorithm is required for reducing computation time in this case.

& Tombus , T. Bilgic / Computers & Operations Research 31 (2004) 1635 – 1653 O.

1649

Table 9 Average values of environment II Number of agents LP iterations Nodes Nodes per iteration CPU time (s) Max degeneracy

10 12.43 700.31 56.35 0.097 6.58

15 37.38 13,642.60 365.01 2.26 18.88

20 99.14 315,926.69 3186.77 75.96 37.26

Table 10 Standard deviation values of environment II Number of agents LP iterations Nodes CPU time (s) Max degeneracy

10 4.40 380.20 0.04 4.08

15 18.58 10,933.84 1.77 15.03

20 65.93 317,416.70 75.95 33.59

Table 11 Average values of environment III Number of agents LP iterations Nodes Nodes per iteration CPU time (s) Max degeneracy

10 26.66 884.74 33.19 0.17 25.55

11 55.27 2131.70 38.57 0.45 53.84

12 172.72 7727.63 44.74 2.09 161.66

11 60.53 1803.84 0.54 59.56

12 169.54 6581.89 2.28 155.09

Table 12 Standard deviation values of environment III Number of agents LP iterations Nodes CPU time (s) Max degeneracy

10 16.14 491.70 0.09 16.18

4.5. Testing in environment III In environment III, the column generation algorithm shows its worst performance (Tables 11, 12). The most probable optimum solution of problem, the grand coalition, is found in the Jrst iteration. However proving the optimality of grand coalition is an exponential process, which converges very slowly, making the column generation technique very ineEective in this case.

1650

& Tombus , T. Bilgic / Computers & Operations Research 31 (2004) 1635 – 1653 O.

Table 13 Parallel processing tests No. of processors

5

10

15

Queue size

5

10

10

20

15

30

Avg. CPU time Max. CPU time Standard deviation Nodes searched

11.87 19.83 6.45 288,963

11.80 13.57 1.17 289,354

6.58 12.44 3.65 294,183

6.43 13.22 0.35 291,596

4.73 11.57 2.28 304,890

4.70 7.89 0.85 297,344

Parallelization of the MWCP search would not aEect the speed of the algorithm, because the number of searched nodes per iteration is small. In a super-additive environment, column generation algorithm is a poor choice to form coalitions. 4.6. Evaluation and interpretation of results The results in diEerent environments show that the algorithm has exponential time complexity. However the exponential behavior of the algorithm is not only aEected by the number of agents in the system. The dependence is to the size of the optimum coalitions. In a sub-additive environment where small sized coalitions are preferred, the algorithm can easily solve problems involving up to 35 agents. But in the super-additive environment where the grand coalition is likely to be optimal in majority of the cases, even problems with 12 agents take too long to solve. The role of the restricted LP problem can be deJned as selecting the optimum solution clusters in the initial set, and suggesting dual prices for their values. For each coalition in the optimum structure there is an equation. The unknown variables of the equation are dual prices of member agents. It is known, they sum up to the value of the coalition. If suggested dual prices by the LP problem can be exceeded by the coalitions outside the initial set the dual prices are adjusted again. The point is, if the size of optimum coalitions are small then the dual price adjustments are easier. Because there are less unknowns (dual prices of coalition members) and more equations (coalition values) to solve for. 4.7. Parallel processing experiments In this set of experiments, the performance of parallel processing machines during MWCP search is tested. These experiments are only carried out for environment II where the algorithm seems to be most promising. For 100 diEerent problems from environment II including 20 agents, average CPU times of slaves, maximum CPU time of all processors, and the total number of nodes searched are measured (Table 13). The queue size and number of processors are taken as independent variables. Tests are performed for 5, 10 and 15 processors with two type of queue sizes: • Queue size is equal to number of processors. • Queue size is twice the number of processors.

& Tombus , T. Bilgic / Computers & Operations Research 31 (2004) 1635 – 1653 O.

1651

Table 14 Column generation vs CPLEX: CPU times Environment

Environment I

Environment II

No. of agents

10

15

20

10

15

20

Column generation CPLEX

0.029 0.022

0.117 0.697

0.475 29.52

0.098 0.027

2.26 1.29

75.96 102.96

Average CPU time of slaves shows the average computation time required in each processor. Maximum CPU time reported at each problem is used as an approximation to the real time required to perform the computation. Standard deviations of CPU times in diEerent slave processors is an index, which shows how balanced the search space is distributed. As number of processors increases, the average work per processor decreases. With increasing number of processors, a slight increase in the number of nodes searched can be observed. Each processor starts the parallel search with a relatively small lower bound, causing an increase in the number solution nodes searched, compared to the sequential search where a better lower bound is established before the same amount of solution nodes are searched. Partitioning search space into parts which are more than the number of processors, improves the average computation time and balances the work distributed. Standard deviation of CPU times decreases signiJcantly even if the search space is partitioned into 2P parts and distributed to P processors. However over-partitioning should be avoided, which causes extra-traSc in the network, and decreases performance of processors. 4.8. Comparison of the column generation technique to a commercial solver In a Jnal experiment, column generation technique is compared with an LP solver (CPLEX 6.6). In this case, all possible coalitions are generated and coalitions with positive values are entered into the LSP problem as decision variables. Hence the solver has better chances of Jnding the optimal solution faster. LSP problem is solved with CPLEX. Average CPU times of 1000 diEerent problems are shown in Table 14. Column generation algorithm is signiJcantly better in environment I where most of coalitional values are negative. It converges to optimum quickly as CPLEX has to deal with huge number of decision variables. In environment II, CPLEX performs better on problems with 10 and 15 agents where total number of decision variables are less than 35,000. When there are more than 100,000 decision variables column generation method outperforms CPLEX. The space complexity of LSP is exponential, where column generation technique has polynomial space complexity. As number of agents increases the computation time of CPLEX is aEected tremendously by the huge number of decision variables required. In general, column generation has signiJcantly more deviation (Table 15). This is because of solution dependent behavior of column generation technique which is explained in Section 4.7.

1652

& Tombus , T. Bilgic / Computers & Operations Research 31 (2004) 1635 – 1653 O.

Table 15 Column generation vs CPLEX: standard deviations Environment

Environment I

Environment II

No. of agents

10

15

20

10

15

20

Column generation CPLEX

0.010 0.0039

0.040 0.0055

0.18 0.0246

0.040 0.0053

1.77 0.47

75.95 21.03

5. Conclusion and future work The column generation method proposed in this paper has exponential time and space complexity in the worst case. But the complexity of the column generation method depends on the type of the optimum solution. If the optimum solution consists of small sized coalitions, the algorithm converges faster to the optimum. If the coalition environment is neither highly sub-additive nor super-additive, then the convergence of the algorithm depends on the number of agents in the coalition formation problem. In such an environment, to reduce search time, parallelization of column generation algorithm is a viable alternative. Parallelization is implemented by distributing search space among participating agents. In the experiments carried out, the parallelization seems robust to scalability issues. The CPU time linearly decreases with increasing number of processors for a 20-agent problem. Environment III, where grand coalition is more likely to be the optimum solution, is a particularly problematic case. Although the algorithm detects the optimum solution in the Jrst generation of the column, proving the optimality of this choice is a very costly process, where a considerable fraction of total number of columns are generated. In a super-additive environment column generation technique does not provide much beneJt. Column generation technique is compared with the LSP problem solved on a commercial solver, where all coalitions with positive coalition values are entered into the LSP problem as decision variables. In environment I, column generation technique has performed signiJcantly better than CPLEX. In environment II, column generation technique outperforms CPLEX as number of agents in the problem increases. The same column generation approach can be applied to winner determination in combinatorial auctions problem, which is a variant of coalition formation problem where coalitions are replaced by auctioned item sets and coalition values are replaced by combinational bids on item sets. In [15,16] the details of how this problem can be formulated as a set problem is thoroughly discussed. Sandholm and Suri [17] exploit the fact that although there are diEerent bid types of exponential order, the optimum solution can be found by searching all bids placed, because there are limited number of bids. In an environment where bids do not show a super-additive nature, column generation method can be used. All placed bids can be distributed to agents (or servers) which will search for optimum bids in parallel. At each iteration step, agents select bids which are better than the sum of dual prices suggested. If there are too many bids above the dual price of items which received bids, candidate bids are divided into small groups, where only a bid out of one group is selected. The group winner

& Tombus , T. Bilgic / Computers & Operations Research 31 (2004) 1635 – 1653 O.

1653

bids may be again grouped until the number of candidate bids decreases to reasonable sizes. The selected bids, which are a small proportion of all bids placed will enter the restricted LP problem and adjust the dual prices of the items. The algorithm continues until no bid can be found which is greater than the sum of dual prices of auctioned items. The parallelization of winner determination in combinatorial auctions is a potential area for future work. References [1] Wooldridge M, Jennings R. Intelligent agents: theory and practice. Knowledge Engineering Review 1995;10(2): 115–52. [2] Kahan J, Rapoport A. Theories of coalition formation. London: Lawrence Erlbaum Associates, 1984. [3] Rosenschein JS, Zlotkin G. Rules of encounter: designing conventions for automated negotiation among computers. Cambridge, MA: MIT Press, 1994. [4] Kraus S. Negotiation and cooperation in multi agent environments. ArtiJcial Intelligence 1997;94(1):79–97. [5] Sandholm T, Larson K, Andersson M, Shehory O, TohmYe F. Coalition structure generation with worst case guarantees. ArtiJcial Intelligence 1999;111:209–38. [6] Larson K, Sandholm T. Anytime coalition structure generation: an average case study. Journal of Experimental and Theoretical AI 2000;1(12):23–42. [7] Brito L, Neves J. Agreement and coalition formation in multiagent-based virtual marketplaces. Lecture Notes in ArtiJcial Intelligence 2000;1821:14–23. [8] Zlotkin G, Rosenschein JS. Coalition, cryptography, and stability: mechanisms for coalition formation in task oriented domains. In: The National Conference on ArtiJcial Intelligence, Seattle, WA, 1994. p. 432–7. [9] Balas E, Padberg MW. Set partitioning: a survey. SIAM Review 1976;18:710–60. [10] El-Darzi E, Mitra G. Graph theoretic relaxations of set covering and set partioning problems. European Journal of Operational Research 1995;87:109–21. [11] Mehrotra A, Trick MA. Cliques and clustering: a combinatorial approach. Operations Research Letters 1998;22: 1–12. [12] Nemhauser GL, Wolsey LA. Integer and combinatorial optimization. New York: Wiley, 1998. [13] Barnhart C, Johnson E, Nemhauser G, Savelsbergh M, Vance P. Branch and price: column generation for solving huge integer problems. Operations Research 1998;46:316–29. [14] Ryan D, Foster B. An integer programming approach to scheduling. In: Wren A, editor. Computer scheduling of public transport urban passenger vehicle and crew scheduling. Amsterdam: Elsevier, 1981. p. 269 –80. [15] Rothkoph MH, Pekec A, Harstad RM. Computationally manageable combinational auctions. Management Science 1998;44(8):1131–47. [16] de Vries S, Vohra R. Combinatorial auctions: a survey. Working paper, Northwestern University, Kellogg School of Management, 2001. [17] Sandholm T, Suri S. Improved algorithms for optimal winner determination in combinatorial auctions and generalizations. In: National Conference on ArtiJcial Intelligence (AAAI), Austin, TX, 2000. p. 90 –7.