European Journal of Operational Research 207 (2010) 83–91
Contents lists available at ScienceDirect
European Journal of Operational Research journal homepage: www.elsevier.com/locate/ejor
Discrete Optimization
Multicriteria models for planning power-networking events Robert A. Russell, Timothy L. Urban * Operations Management, The University of Tulsa, 800 South Tucker Drive, Tulsa, Oklahoma 74104, USA
a r t i c l e
i n f o
a b s t r a c t
Article history: Received 25 November 2009 Accepted 30 March 2010 Available online 4 April 2010
In this paper, we develop effective methods for solving the power-networking problem encountered by the Tulsa Metro Chamber. The primary objective is the maximization of unique contacts made in meetings with multiple rotations of participants. Mixed-integer and constraint-programming models are developed to optimize small- to medium-scale problems, and a heuristic method is developed for large-scale problems representative of the Chamber’s application. Tight bounds on the dual objective are presented. The constraint-programming model developed as phase one for the heuristic yields many new best-known solutions to the related social-golfer problem. The solutions generated for the powernetworking problem enables the Chamber of Commerce to plan meeting assignments much more effectively. Ó 2010 Elsevier B.V. All rights reserved.
Keywords: Combinatorial optimization Constraint satisfaction Integer programming Heuristics Nonprofit commercial organizations
1. Introduction According to the American Chamber of Commerce Executives (2009), there are over 7800 chambers of commerce in the US; undoubtedly, there are thousands more throughout the world. These organizations serve as advocates for local businesses and promote economic development in the region. One of the goals of many of these chambers is to provide communication and networking activities for their members, to help local companies and professional people develop business contacts with others. A common means of doing this is ‘‘power networking” in which individuals have the opportunity to meet many different individuals in a short period of time. Conceptually, it is much like speed dating and, for small groups of people, is conducted in a similar manner (Moran, 2004). For larger groups, though, it is not a oneon-one meeting; rather it involves a group of several individuals. Typically, each attendee is seated at a table with several other individuals. Each person is given the opportunity to introduce themselves and their businesses to the group, hand out business cards and/or other materials, and field questions. After each person at the table has done so, they move to other tables, meet a separate group of individuals and, again, introduce themselves. This is generally done for several rounds, rapidly providing each individual considerable networking opportunity. The specific situation under consideration is the power-networking breakfast conducted by the Tulsa Metro Chamber. This is a popular function with the business community, with two
* Corresponding author. E-mail addresses:
[email protected] [email protected] (T.L. Urban).
(R.A.
Russell),
[email protected],
0377-2217/$ - see front matter Ó 2010 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2010.03.046
hundred or more individuals attending at times. The attendees are assigned to tables with ten seats each—so twenty or more tables are needed—for up to five rotations. There is a host at each table to facilitate the activities; the host stays at the same table, all other individuals move from table to table. The objective is to assign every individual to the tables over all rotations in order to have everyone meet as many others as possible. Specifically, the primary objective is to maximize the minimum number of contacts that any individual meets, with a secondary objective of minimizing the number of individuals that make this smallest number of contacts. Therefore, the purpose of this paper is to provide a means of ensuring these objectives be met. In the next section, we review the related literature. We then formally develop the model for this problem—hereafter called the power-networking problem— in Section 3, and provide solution methodologies using integer programming and constraint programming, including the identification of a bound on the solution. In Section 4, we introduce a new approach to solving the social-golfer problem that is then incorporated into an effective heuristic for the power-networking problem. Computational results are provided in Section 5 to illustrate the effectiveness of the heuristic. Finally, we close with a summary of our findings and provide suggestions for future research. 2. Literature review In this section, we survey the existing literature for research related to the power-networking problem. While this particular problem has not yet been addressed, we will review related problems and the methods used to solve them. We begin with a
84
R.A. Russell, T.L. Urban / European Journal of Operational Research 207 (2010) 83–91
discussion of two popular topics in the constraint-programming community: the social-golfer problem and the progressive-party problem. Then, related problems in sports-scheduling are presented. The social-golfer problem is a well-known, highly-combinatorial problem. It involves scheduling n golfers into g groups of s golfers each (n = g s) for w weeks. The objective is to maximize the number of weeks that a schedule can be identified in which no two golfers are assigned to the same group more than once. While the problem is easy to express, it is difficult to solve; as noted by Azevedo and Van (2007), there are (s!)gw (g!)w(w!)(n!) solutions. This problem has recently attracted a great deal of attention within the constraint-programming community due to the high degree of symmetry. Various search strategies and approaches for symmetry breaking are proposed by Barnier and Brisset (2005), Law and Lee (2006), Azevedo and Van (2007), van Hoeve and Sabharwal (2008), among others. In fact, the social-golfer problem is listed as problem 10 in CSPLIB (Gent and Walsh, 1999), a library of test problems for constraint solvers. In addition to constraint programming, the social-golfer problem can be solved using a variety of solution methodologies. Darby-Dowman and Little (1998) and Prestwich (2004) provide integer - programming formulations. The use of metaheuristics has been proposed by various authors including Dotú and Van Hentenryck (2007), Triska and Musliu (2008) and Cotta and Fernández (2009). Triska (2008) provides a recent review of the literature. Another well-known, highly-combinatorial problem is the progressive-party problem, listed as problem 13 in CSPLIB (Gent and Walsh, 1999). This problem originally arose in the context of organizing a party at a yacht club (Brailsford et al., 1996). Each boat has a given crew size and a given capacity. Some of the boats are designated as host boats, and the crews of those boats remain on their boats throughout the evening, while the crews of the remaining boats would visit the host boats for several successive periods. The guest crews cannot return to the same host boat during the evening, nor can they meet another guest crew more than once. The objective is to minimize the number of host boats. As with the social-golfer problem, the structure of the progressive-party problem is conducive to the application of constraint programming. Brailsford et al. (1996) and Smith et al. (1996) introduced the problem and compared the effectiveness of integer programming and constraint programming. Rodošek et al. (1999) solved the problem integrating the integer programming and constraint programming solvers. Kalvelagen (2003) notes that ‘‘improvements in algorithmic theory, solvers, modeling environments and computer hardware” allows the solution of the original progressive-party problem with off-the-shelf integer programming software. Others, including Walser (1997) and Galinier and Hao (2004), have suggested the use of local search heuristics to solve the problem. Sport scheduling has recently attracted a great deal of research, with much of the focus on league scheduling and round-robin tournaments (see Kendall et al., 2010, for a recent review of the literature). Interestingly, the single round-robin tournament—where each team plays every other team once—is a special case of the social-golfer problem where s = 2 and w = 2g 1. A variety of applications have been considered, including European football (Schreuder, 1992), professional hockey (Fleurent and Ferland, 1993), minor-league baseball (Russell and Leung, 1994), and college basketball (Nemhauser and Trick, 1998; Henz, 2001). Frequently, though, these applications involve venues associated with the home team. A sports-scheduling problem of particular relevance to the current study involves competitions that take place on venues
not associated with the teams (Urban and Russell, 2003). Here, the scheduling decision involves not only the pairing of the teams, but also the venue at which they will compete. There are limitations on how frequently a pair of teams can meet, how frequently a team is assigned to a particular venue, etc. Integer programming (Urban and Russell, 2003), graph-theoretic approaches (de Werra et al., 2006), beam search and simulated annealing (Lim et al., 2006), as well as constraint programming (Russell and Urban, 2006) have been suggested as solution methodologies. Ikebe and Tamura (2008) have shown that feasible schedules exist for an even number of teams greater than eight. The final problem we consider is the golf-scramble tournament (see e.g., Dear and Drezner, 2000). Teams are formed by taking one player from each flight, where a flight consists of players with similar skill levels. Of particular interest is the situation presented by Ragsdale et al. (2008) in which the benefactors of a university’s golf team are paired with the coaches and student athletes. The participants are assigned to different teams for each round of the tournament, with additional constraints that ensure certain people are in the same group or that avoid the pairing of certain people. They developed a spreadsheetbased decision support system utilizing integer programming to create the final schedule.
3. Model formulation Consider the situation in which P individuals attend the powernetworking function. The facility is set up such that there are S seats at each table; therefore, there will be T = dP/Se tables needed (where dxe is the smallest integer greater than or equal to x). The individuals progress through R rotations, meaning that each attendee could potentially meet up to (S 1)R other individuals. Of course, if P is not an integer multiple of S, ST–P tables will have an empty seat; thus, not all individuals will be able to meet S 1 other attendees during each rotation. We restrict our analysis to the situation in which P > S2. If this were not the case, there would be fewer tables than seats at each table, meaning that it would be impossible for all of the individuals at a table to go to separate tables for the subsequent rotation. This will also ensure that a table need not have more than one empty seat for any rotation. From a practical standpoint, smaller groups would likely utilize one-on-one sessions (i.e., S = 2); we are considering larger groups for which it is more effective for an individual to introduce themselves to several others simultaneously. Under this restriction, we can easily identify a schedule to keep a pair of individuals from meeting more than once (for a practical number of rotations), the problem reduces to minimizing the number of times an individual is at a table with an empty seat.
3.1. Integer program As mentioned in the introduction, the primary objective is to maximize the minimum number of individuals that anyone will meet. This is equivalent to minimizing the maximum number of times an individual is at a table with an empty seat, with a constraint added to ensure not meeting the same individual twice. The secondary objective is to minimize the number of individuals that make the smallest number of contacts, which is equivalent to minimizing the number of individuals that are seated with the greatest number of empty seats. We formulate this as a preemptive goal program, with the decision variables defined as follows:
85
R.A. Russell, T.L. Urban / European Journal of Operational Research 207 (2010) 83–91
X ikr ¼ 1; if individual i is assigned to table k in rotation r; ¼ 0; otherwise: Y ijkr ¼ 1; if individual i and jðj < iÞ meet at table k in rotation r; ¼ 0; otherwise: Additional variables used to evaluate the objectives are as follows: Z1i = the number of times individual i is at a table with an empty seat; hence, individual i will meet (S 1)R Z1i other individuals, Z2 = the maximum number of times any individual is at a table with an empty seat, Z2 = maxi{Z1i}, Z3i = 1, if individual i is one of the individuals seated the most times with an empty seat; that is, if Z1i = Z2 = 0, otherwise. The mixed-integer program for the power-networking problem can then be formulated as follows: Minimize
P Z2 þ
X
ð1Þ
Z3i ;
i
Subject to : Y ijkr P X ikr þ X jkr 1 XXXX Y ijkr ¼ ðP TS=2ÞðS 1ÞR; i
j
XX i
X
8i; j;k; r;
ð2Þ ð3Þ
r
k
Y ijkr 6 1
8k; r;
ð4Þ
8i;r;
ð5Þ
8k;r;
ð6Þ
mulation involves smaller-dimension decision variables and can aid in the solution of small- and medium-scale problems when used with a search engine such as ILOG’s CP Optimizer. To define the bi-criterion goal constraint model, let: Xir = the table assigned to individual i in rotation r. Yi = the number of unique contacts achieved for individual i. Ui = the amount individual i is less than the target number of contacts with other individuals. Vi = a measure of whether an individual meets the minimum number of contacts. The following model uses a CP function count. This is a cardinality function that counts the number of times a condition is true. Thus, for a given rotation (r) and table (t), counti (Xir, t) counts the number of times decision variable Xir equals t over the domain of i. The model also uses a logical constraint function sumr (Xir==Xjr) which sums the number of times the equality condition is true over the domain of r for all pairs of customers (j > i). The goal constraint program for the power-networking problem can be formulated as: X X Minimize P Ui þ V i; ð14Þ i
Subject to :
S 1 6 count i ðX ir ; tÞ 6 S sumr;jðj–iÞ ðX ir ¼¼ X jr Þ ¼ Y i sumr ðX ir ¼¼ X jr Þ 6 1
j
X ikr ¼ 1
k
S16
X
X ikr 6 S
Y i þ U i P UB1 Y i þ V i P ðS 1ÞR UB1 þ 1 X V i P LB2 ;
i
8i;k ¼ i;r; ð7Þ 8i; k ¼ i T bði 1Þ=Tc; r ¼ 1;
X ikr ¼ 1 X ik1 ¼ 1 Z1i ¼ ðS 1ÞR
XX k
Y ijkr
8i; 8i;
Z3i P Z1i Z2 þ 1
8i;
X ikr ; Y ijkr ; Z3i 2 f0;1g
8i; j;k; r;
Z1i ; Z2 P 0 and integer
8i:
ð10Þ ð11Þ ð12aÞ ð12bÞ
The objective function establishes preemptive priorities by P using a priority weight P (since i Z3i cannot exceed P) to ensure the primary objective is optimized before the secondary objective is considered. Constraint set (2) defines the pairs of individuals meeting at a table, Yijkr, in terms of the individual assignments, Xikr. Constraint (3) specifies the total number of pairs of individuals. Constraint set (4) restricts each pair to occur at most once. All individuals are required to be assigned every period via constraint set (5). The table capacity is maintained by constraint set (6) as is the need to have at most one empty seat at a table. Constraint set (7) requires the host to stay at the same table for all rotations. Without loss of generality, constraint set (8) fixes the assignment for period 1. Finally, constraint sets (9)–(11) define the variables for evaluating the objective function. A mathematical programming formulation such as this facilitates the incorporation of other constraints; for example, if we have several individuals from the same company and we do not want them seated together, we could include the constraint set:
X ikr þ X jkr 6 1 ðor Y ijkr ¼ 0Þ 8i; jði–jÞ 2 ; k; r;
ð13Þ
8r; i 6 T; ð15Þ 8r; t ¼ 1;2; .. . ; T; ð16Þ 8i; ð17aÞ 8i;jðj > iÞ; ð17bÞ 8i; ð18Þ 8i; ð19Þ ð20Þ
i
ð8Þ ð9Þ
X ir 2 f1; . . . ; Tg Y i 2 fðS 1ÞR UB1 1;. . . ; ðS 1ÞRg U i 2 f0;1g V i 2 f0; 1;2g
r
Z2 P Z1i
i
X ir ¼ i
8r; i; 8i; 8i; 8i:
ð21aÞ ð21bÞ ð21cÞ ð21dÞ
The objective function (14) gives priority to all individuals meeting at least the upper bound in terms of contacts. The second priority is to minimize the number of individuals who meet the minimum. Constraint set (15) insures that each host is assigned to the same table in each round. Constraint set (16) requires that there be no more than one empty seat at each table in each rotation and limits the total number of individuals assigned to a table to the number of seats available. Constraint set (17a) is a logical constraint that sums the number of individuals met by individual i over all rotations and assigns that value to Yi, while constraint set (17b) limits the number of times an individual meets another individual to a maximum of one. Constraint set (18) measures the number of contacts that the individual achieves less than the theoretical upper bound, UB1 (see Section 3.3); this constraint implicitly assumes that the solution obtained will not deviate from the theoretical upper bound by more than one. Constraint set (19) measures the number of individuals who make the minimum number of contacts. Finally, constraint (20) is a stopping criterion that is used to terminate the search process if the solution achieves the lower bound on the number of individuals who make the minimum number of contacts, LB2.
where is the set of individuals from the same company.
3.3. Bounds
3.2. Constraint program
We now present bounds on the solution, first considering the primary objective, identifying an upper bound on the minimum number of contacts that any individual will meet, UB1. Then, given this primary bound is met, we find a lower bound on the number of individuals who will meet the minimum number of contacts, LB2.
The previous MIP formulation requires decision variables of high dimensionality and generates very large models. It can be used to solve only small problems. A constraint-programming for-
86
R.A. Russell, T.L. Urban / European Journal of Operational Research 207 (2010) 83–91
As mentioned above, if P is not an integer multiple of S, ST–P tables will have an empty seat. At these tables will be S 1 individuals for each of R rotations, so the number of individuals at a table with an empty seat over all rotations is:
E ¼ ðST PÞðS 1ÞR:
ð22Þ
Thus, some individuals will be at a table with an empty seat at least dE/Pe times or, equivalently, the upper bound on the minimum number of people that an individual will meet is:
UB1 ¼ ðS 1ÞR dE=Pe:
ð23Þ
If the bound for the primary objective can be met, we now consider the secondary objective, such that we would like as few individuals as possible to make UB1 contacts. To do so, all P individuals will be at a table with an empty seat at least dE/Pe 1 times, so the minimum number of individuals that must make only UB1 contacts is:
LB2 ¼ E ðdE=Pe 1ÞP:
ð24Þ
For example, suppose P = 195, R = 5, and S = 10. Hence, T = 20 and E = 225, and the optimal—if feasible—solution would be such that LB2 = 30 individuals will make UB1 = 43 contacts, while the remaining 165 (=P LB2) individuals will make 44 (=UB1 + 1) contacts. 4. Solution methodology The combinatorics of the power-networking problem makes the use of integer programming or constraint programming useful for only relatively small instances, not for problems the size needed for the Tulsa Metro Chamber. Fortunately, if the number of individuals, P, is an integer multiple of the number of seats at a table, S, then none of the tables will have empty seats (P = ST), and we can simply solve the social-golfer problem for the appropriate number of rotations. Even if P = ST 1, the solution to the socialgolfer problem can be used by simply identifying one of the individuals as the ‘‘empty seat.” For other situations, a heuristic will likely be needed to provide a good solution. The heuristic we propose in Section 4.2 uses the social-golfer problem as part of a construction algorithm, so we will need an effective solution methodology for that problem. Seemingly due to the attention from the constraint-programming community, most of the research has focused on relatively small problems (up to ten groups/tables) with the exception of Harvey and Winterer (2005), even for heuristic development. Thus, we first present an approach to solve the social-golfer problem for large instances. 4.1. Social-golfer problem The social-golfer problem is specified by the notation g–s–w, where C = {1, 2, . . . , i, . . . , g} is the set of groups, R = {1, 2, . . . , j, . . . , s} is the set of golfers within each group (hence, n = gs is the number of golfers), and X = {1, 2, . . . , k, . . . , w} is the set of weeks over which no two golfers are ever assigned to the same group. A weak upper bound on the maximum number of weeks that can be realized is given by UBw = b(n 1)/(s 1)c, where bxc is the greatest integer less than or equal to x. The approach that we take is a state-space reduction based on the Mutually Orthogonal Latin Rectangle construction method of Harvey and Winterer (2005), in which they observed a recurrent pattern in many solutions. In this pattern, disjunctive sets are formed, such that the first set consists of the golfers numbered 1 through g, the second set consists of the golfers numbered g + 1
through 2g, . . ., and the sth set consists of the golfers numbered (s 1)g+1 through sg. Remark: Given the recurrent pattern structure of the assignments, it is sufficient to only consider one golfer for each disjunctive set in assigning golfers to groups.
Then, the following two properties for state-space reduction are utilized: 1. For each week, each group will contain exactly one of the golfers from each disjunctive set. 0 0 2. If golfer number n is placed in group g , then golfer number 0 0 0 0 n + 1 will be placed in group g + 1. If g = g, then golfer n + 1 will be placed in group 1. The effects of these properties are illustrated in Fig. 1 for a five-group (columns), four-golfers-per-group (rows), five-week instance. An additional benefit of using this approach for the power-networking problem is that individuals from the same company can be assigned to the same disjunctive set, ensuring that they will never be in the same group (satisfying constraint set 13). While we exploit the recurrent pattern identified by Harvey and Winterer (2005), our approach to its implementation differs from theirs. This particular pattern allows us to specify the decision variables in a more efficient manner. We define the decision variables to be the group to which the first golfer of each disjunctive set is assigned for each of the weeks (these golfers are circled in Fig. 1); thus, the solution in Fig. 1 would simply be represented as:
2
1 1 1 1
3
7 6 61 2 5 47 7 6 7 6 W½j; k ¼ 6 1 3 4 2 7: 7 6 61 4 3 57 5 4 1 5 2 3 Not only does this formulation keep the number of decision variables low, as it does not require a separate variable for each of the assignments made for every golfer in every week, but it also requires the domain of the variables to extend only up to g (instead of n). Furthermore, without loss of generality (due to the symmetry of the problem), all of the assignments for the first week can be fixed (e.g., assign golfer i, g + i ,. . . , (s 1)g + i to group i, for all i 2C) as well as that for the first disjunctive set—golfers numbered 1 through g—for each week (e.g., assign golfer i to group i, for all i 2C, for all w weeks); these assignments are shaded in Fig. 1. Thus, this formulation only requires (s 1)(w 1) decision variables. The constraints required to ensure that no golfer is assigned to the same group as another golfer more than once include: (1) for each disjunctive set except the first one, the first golfer must be assigned to a different group each period (e.g., in Fig. 1, Golfer 6 is in a different group each week), and (2) for each period, the first golfer in each of the disjunctive sets must be assigned to a different group (e.g., in Fig. 1, Golfers 6, 11, and 16 are assigned to different groups each week). Thus, when s = w, the decision matrix can be characterized by a latin square representation; when s – w, we can remove any of the rows or columns of the latin square, providing a latin rectangle. It is well-known that a latin square/rectangle can easily be formulated
87
R.A. Russell, T.L. Urban / European Journal of Operational Research 207 (2010) 83–91
Fig. 1. Solution to the 5–4–5 social-golfer problem.
with the use of alldifferent constraints, one for each column and each row:
alldifferentðW½j; k; k ¼ 2; 3; . . . ; wÞ for j ¼ 2; 3; . . . ; s;
ð25Þ
alldifferentðW½j; k; j ¼ 2; 3; . . . ; sÞ for k ¼ 2; 3; . . . ; w:
ð26Þ
One additional qualification must be made to ensure no two golfers are ever assigned to the same group. Consider the following two-week assignment: 1
2
3
4
5
1
2
3
4
5
10
6
7
8
9
7
8
9
10
6
12
13
14
15
11
14
15
11
12
13
18
19
20
16
17
20
16
17
18
19
Although this assignment satisfies the all different constraints (17) and (18), the golfers in the third disjunctive set are meeting the same golfers from the fourth disjunctive set in both periods. This occurs since Golfer 16 is assigned to the group immediately preceding that of Golfer 11 in both weeks. Thus, we include the following set of constraints to avoid such an assignment:
W½j1 ; k1 W½j2 ; k1 –W½j1 ; k2 W½j2 ; k2 þ l g for j1 ; j2 ¼ 2; 3; . . . ; s; k1 ; k2 ¼ 2; 3; . . . ; w; l 2 f1; 0; þ1g;
ð27Þ
where the last term, lg, is necessary due to the ‘‘wrap around” nature of this formulation (e.g., the relative position of Golfers 6 and 11 results in the same golfers from the second and third disjunctive sets meeting in both periods).
Another pattern that has been observed in many solutions to the social-golfer problem is that the first golfer of the second disjunctive set is sequentially assigned to the groups (note the position of Golfer 6 in Fig. 1 from week to week). This allows us to take advantage of another state-space reduction as follows:
W½2; k ¼ k for k ¼ 2; 3; . . . ; w:
ð28Þ
An obvious shortcoming of this approach is that the state-space reductions may eliminate potential solutions resulting in suboptimality. Still, as illustrated below, this approach is quite effective in providing solutions better than those previously identified. Finally, as noted by Harvey and Winterer (2005), for situations in which the number of groups is an integer multiple of the size of the groups, an additional solution can be obtained by simply transposing the solution, as shown in the following 6-group, 3 golfersper-group assignments:
1
2
3
4
5
6
1
7
13
4
10
16
7
8
9
10
11
12
2
8
14
5
11
17
13
14
15
16
17
18
3
9
15
6
12
18
For our application of the power-networking problem, though, this would not keep the host at the same table; therefore, we are not able to take advantage of this additional solution (note, it is not incorporated in the power-networking heuristic described in Section 4.2 or the subsequent computational results in Section 5.2, but we did include it in Section 5.1 when comparing the solutions from the proposed social-golfer methodology to the best-known solutions from the literature).
88
R.A. Russell, T.L. Urban / European Journal of Operational Research 207 (2010) 83–91
4.2. Power-networking heuristic Given the computational complexity of the power-networking problem, a heuristic approach is required to solve problems of the size of the Tulsa Metro Chamber. The approach is simple in concept. First, the social-golfer problem is solved for ST individuals to find the maximum number of rotations, W, that can be found without assigning any pair of individuals to the same group more than once. Since there will be ST–P empty seats for each rotation of the power-networking problem, the heuristic operates on the solution from the associated social-golfer problem by selecting R rotations from the W potential rotations and by deleting ST–P individuals from each of those selected rotations. There are W ST possible solutions with this approach, so comR ST P plete enumeration is possible for small- and medium-sized problems but is computationally intractable for larger, real-world problems. In order to maintain no more than one empty seat at a table, the individuals chosen for removal must never be seated at the same table. One way to satisfy this requirement is to select from the disjunctive sets of each rotation. This ‘‘stratified” enumeration process greatly reduces the combinatorics. There are S classes in each rotation; however, since the hosts comprise one class, there are S 1 classes with T members to search for ST–P removals. Thus, the stratified enumeration heuristic requires the evaluation of W T ðS 1Þ solutions in terms of the bi-criterion R ST P objective function. The stratified enumeration heuristic yields a feasible solution that often can be improved by employing a swapping heuristic that exchanges the table assignment of a pair of individuals in the same rotation. Candidates i for swapping are individuals who: (i) meet the minimum number of people in total, and (ii) are assigned to a table with an empty seat in some rotation r. The candidate j that can be paired in the swapping must meet at least two more people than candidate i, sit at a full table in some rotation r, and have no meetings with any individuals who meet candidate i in rotation r. Similarly, candidate i can have no previous meetings with those individuals who meet candidate j in rotation r. The two-phase heuristic for the power-networking problem can be formulated as: Phase 1—Stratified Enumeration (1) Solve the social-golfer problem with ST individuals to determine W potential rotations. W (2) For each of the combinations of R rotations R a For each of the S 1 classes. T b Remove each of the subsets of ST–P individuals ST P and evaluate the bi-criterion objective function value for each selection. (3) Select the best combination of R rotations and ST–P individuals. Phase 2—Swapping Heuristic Let n = minimum number of individuals met by any individual in Phase 1, A1 = the set of individuals who meet n individuals, A2 = the set of individuals who meet at least n + 2 individuals, mi = the set of individuals met by i in all rotations, mir = the set of individuals met by i in rotation r.
(1) For i 2A1. (2) For rotation r in which i meets less than S 1 individuals. (3) If there exists j 2A2 in which j meets S 1 individuals in rotation r, then go to Step 4; else, go to Step 2. (4) If mir \ mj = ; and mjr \ mi = ;, then swap table assignment for individuals i and j in rotation r, update sets A1, A2, mi, and mir for all i 2P, and go to Step 1; else, remove j from A2 and go to Step 3. (5) Repeat Steps 1–4 until no swaps are feasible for all i 2 A1, j 2A2. 5. Computational results As in the previous section, we will first consider the constraintprogramming approach for the social-golfer problem, then evaluate the solution methodologies for the power-networking problem. For all instances, the computing platform was an Intel Q9650 processor running at 3.0 GHz with 8 GB of memory under Microsoft Vista Enterprise. 5.1. Social-golfer problem To evaluate the efficacy of the proposed procedure, 43 test problems from Harvey and Winterer (2005) are considered, with the results provided in Table 1. Commercially-available software—ILOG CP Optimizer 2.1—was used. No additional search strategies were stipulated; only Constraint sets (25)–(28) were incorporated. The run time was limited to an overnight run of sixteen hours (with the exception of the 18-group, 10-golfersper-group solution used in the computational experimentation in Section 5, which was identified in 33.5 hours); however, most instances required far less. As illustrated in Table 1, the proposed procedure was able to identify new best-known solutions for 26 of the 43 test problems; Harvey (2009) provides a listing of the current best-known solutions. Only for three of the 15-group instances was it not able to identify the previous best-known solution; Harvey (2008) noted that the best-known solutions for all of these 15-group instances were derived from a single mutually-orthogonal latin rectangle, 10 rectangles of size 11 15. To further evaluate the proposed procedure, we also solved the problem instances for the same number of groups, g, considered by Harvey and Winterer (2005) but with larger group size, s, than they considered. Best-known solutions have been identified for four additional instances (14–13–5, 15–12–6, 18–17–5, and 20–17–6). However, as the group size approaches the number of groups, the state-space reduction excessively limits the solution space; thus, the proposed heuristic was not able to identify the previous best-known solution for seven instances. This formulation offers an opportunity for the solution of considerably larger problems. Consider the 100–10–52 problem, where 1000 golfers are scheduled in 100 groups of 10 each for every week of the year (obviously needing several golf courses). As mentioned above, the number of groups does not affect the number of decision variables, only the domain, so this problem requires only 459 variables. A solution for this problem was identified within 4 seconds. 5.2. Power-networking problem In this section, we explore the effectiveness and computational efficiency of the MIP, CP, and heuristic approaches to the powernetworking problem. Additionally, we test the sharpness of the two bounds for the objective function. To test the models, we have created three large test problems that reflect the problem sizes specified by the Tulsa Metro
89
R.A. Russell, T.L. Urban / European Journal of Operational Research 207 (2010) 83–91 Table 1 Experimental results for the social-golfer problem. No. of groups, g
a
c
Solution, wa
CPU time (in minutes)
10
6 7 8 9
8 8 8 5
(+1) (+1) (+3) (0)
0.04 0.06 0.05 0.01
12
7 6 7
9 (0) 9 (0) 9 (+1)
10.50 49.21 32.42
14
5 6 7 8 9 10 11 12
13 (+1) 12 (+1) 11 (+1) 9 (0b) 8 (+1) 7 (+1) 6 (0) 5 (0)
0.38 808.76 0.38 10.34 6.46 13.44 0.99 0.05
6 7 9 10 11
12 (+1) 11 (0) 9 (2) 7 (4) 7 (4)
0.15 8.11 23.18 0.01 709.26
15c
b
Group size, s
No. of groups, g
Group size, s
Solution, wa
CPU time (in minutes)
18
5 6 7 8 9 10 11 12 13 14 15 16
17 (+1) 15 (0) 14 (+1) 12 (+1) 12 (+1) 10 (+1) 8 (0) 8 (+1) 7 (0) 6 (0) 6 (+1) 5 (0)
49.30 10.79 42.75 50.01 189.04 2001.09 0.05 237.98 18.87 0.16 194.10 0.28
20
6 7 8 9 10 11 12 13 14 15 16
17 (+1) 15 (+1) 13 (+1) 12 (+1) 12 (+1) 10 (+1) 9 (+1) 8 (+1) 7 (0) 7 (+1) 6 (0)
136.00 55.75 1.32 28.50 16.97 531.77 83.56 105.63 0.20 294.52 1.18
The number in parentheses represents the improvement over the previous best-known solution. The Harvey and Winterer (2005) solution to the 14-group, 8 golfers-per-group problem is 8 weeks, but Harvey (2009) now shows the best-known solution to be 9. The best-known solutions for all of the 15-group instances were derived from a single mutually-orthogonal latin rectangle.
Table 2 Experimental results for the power-networking problem. Problem (P-S-R)
33–5–5 47–5–5 55–6–5 65–7–5 172–10–5 195–10–5 227–10–5
Bounds (UB1jLB2)
18 18 22 27 42 43 43
j j j j j j j
7 13 15 20 16 30 7
Mixed-Integer Program
Constraint Program
Stratified Heuristic
Solutiona
CPU time (in minutes)
Solutiona
CPU time (in minutes)
Solutiona
CPU timeb (in minutes)
18 j 9 18 j 13 22 j 19 26 jc (a) (a) (a)
1854 1942 3323 554
18 j 7 18 j 13 22 j15 27 j 21 (b) (b) 43 j 12
11 1 26 2766
18 18 22 27 42 43 43
0.0002 0.0003 0.0002 0.0020 0.5885 0.2283 0.0357
2759
j j j j j j j
12 19 25 30 39 35 7
(a) MIP solver was unable to execute the problem. (b) no feasible solution was identified within 48 CPU hours. P a Values for the solutions are given as [(S–1)R–Z2] j Z3 which represent the primary and secondary objectives, respectively. b CPU time for the stratified heuristic does not include the solution time for the associated social-golfer problem. c The primary bound, UB1, was not achieved within 48 CPU hours.
Chamber. These problems range in size from 172 to 227 individuals with 10 seats at each table. Four smaller test problems were generated ranging in size from 33 to 65 individuals with the number of tables ranging from 7 to 10 and seats ranging from 5 to 7. All test problems were based on meetings with 5 rotations. Table 2 summarizes the results of the experimentation. The far left column specifies the problem dimensions in terms of individuals, tables, and seats, respectively. The second column shows the bounds on the primary objective (UB1, maximizing the minimum number of individuals met) and the secondary objective (LB2, minimizing the number of individuals who meet the minimum). The remaining columns report the solution quality and CPU time required. Optimal solutions are highlighted in bold. The mixed-integer programs were solved with CPLEX 11.1 using default settings except that the solution emphasis was set to ‘‘find hidden feasible solutions” and priority was given to the Xikr variables (as the values for the other variables are determined for a given Xikr); a constraint was also included using the solution obtained by the heuristic as an upper bound. The constraint programs were solved using ILOG CP Optimizer 2.1. The CP search phase was also keyed on variable Xir, since the value of all other
variables depends on this. The heuristic was coded in Fortran and compiled using Intel Visual Fortran version 11.1.035. The MIP formulation generates large models even for relatively small problems. For example, the 65–10–7 problem generates more than 107,000 variables and 106,000 constraints. The MIP approach was able to optimize the size 47 problem, but required more than 32 hours to prove optimality. The size 33 problem could not achieve an optimal solution, but did achieve a near-optimal solution within 31 hours (i.e., the solution equaled the primary bound and was two individuals from the secondary bound). For larger problems, the MIP approach could not achieve a feasible solution within 48 hours, so the upper bound constraint was removed. While feasible solutions could then be obtained, the bound for the primary objective was not achieved for the size 65 problem within 48 hours. It appears that the MIP approach is limited to problems with no more than approximately 50 individuals. The constraint program was able to obtain an optimal solution to 3 of the 4 smaller test problems and a near-optimal solution to the fourth (i.e., the solution equaled the primary bound and was one individual from the secondary bound). However, the solution times ranged from 1 to 2766 minutes of CPU time. The CP approach
90
R.A. Russell, T.L. Urban / European Journal of Operational Research 207 (2010) 83–91
could not obtain a feasible solution for two of the three large test problems (that are representative of the Chamber’s real-world problems) within 48 hours of CPU time. It did find a feasible solution for the size 227 problem; however, the solution was inferior to the heuristic which required far less CPU time. It appears that the CP approach is limited to approximately 70 individuals in terms of generating an optimal solution. The stratified heuristic with swapping was able to solve all test problems in CPU times ranging from one-hundredth of a second to roughly one-half of a minute. The heuristic achieved the optimal solution for the primary objective in all test problems, but achieved the optimal value for the secondary objective for only the size 227 problem. In general, the objective value for the secondary objective was close to the lower bound; however, on the most combinatorially difficult size 172 problem, the value achieved was 39 versus the lower bound of 16. Solution times are efficient enough to support real-time meeting requirements. This is important given last minute no-shows and additions. We should note that the solution time for the prerequisite social-golfer problem is highly variable. For example, generating 9 rotations for the size 172 problem required less than 2 seconds, but finding 10 rotations (the best-known solution) required over 33 hours. Thus, in real-time applications, we would suggest having a data bank of social-golfer solutions or simply setting a time limit of perhaps one minute for the associated socialgolfer problem. Testing shows that both bounds for the bi-criterion objective are extremely sharp. The bounds are exact for every problem in which the optimal solution could be obtained. Additionally, the lower bounds provided by the LP relaxation in the MIP model equaled the calculated bounds in every instance tested.
6. Conclusion In this paper, we have developed solution methods for both the power-networking problem and the social-golfer problem. The social-golfer problem is utilized as a preprocessing stage for a heuristic approach to the power-networking problem. A key step in the solution of the social-golfer problem is the identification of an alternative problem formulation that greatly reduces the problem dimensionality and associated solution space when using a constraint-programming model. Solutions to largescale problems involving thousands of participants is possible in a matter of seconds. The constraint programming model was able to achieve 26 new best-known solutions out of 43 test problems in the literature. The power-networking problem was modeled using mixedinteger programming, constraint programming, and heuristic methods. The goals of the power-networking problem are to design meetings with a maximum number of business contacts for participants as well as balance in the number of contacts made. The MIP and CP approaches are able to optimize problems involving approximately 45 and 65 participants, respectively. The bounds developed for the bi-criterion objective function are extremely sharp. The primary bound was exact for all problems tested, and the secondary bound was exact for problems in which an optimum could be determined. A heuristic approach is required to solve realistic problems of the size of the Tulsa Metro Chamber. In the Tulsa Metro Chamber implementation, support is provided by using presolved problem sizes ranging from 150 to 280 participants in increments of 10. The assignments are presented in an Excel spreadsheet format and are easy to use in a power-networking application. The proposed heuristic achieves effective solutions in computation time efficient enough for real-time applications. Therefore, future re-
search will investigate the development of a decision support system that can be used to design customized power-networking assignments in a real-time environment.
Acknowledgement The authors thank Mr. Warren Unsicker of the Tulsa Metro Chamber for bringing this problem to our attention and providing details on its application.
References American Chamber of Commerce Executives, 2009. What is a chamber of commerce?
. Azevedo, F., Van, H.N. 2007. Symmetry breaking and extra constraints for the socialgolfers problem. In: Gent, I., Linton, S. (Eds), Proceedings of the International Symmetry Conference, Edinburgh. Barnier, N., Brisset, P., 2005. Solving Kirkman’s schoolgirl problem in a few seconds. Constraints 10, 7–21. Brailsford, S.C., Hubbard, P.M., Smith, B.M., Williams, H.P., 1996. Organizing a social event – a difficult problem of combinatorial optimization. Computers & Operations Research 23, 845–856. Cotta, C., Fernández, A.J., 2009. Solving constrained optimization problems with hybrid evolutionary algorithms. In: Alba, E., Blum, C., Isasi, P., León, C., Gómez, J.A. (Eds.), Optimization Techniques for Solving Complex Problems. Wiley, Hoboken NJ. Darby-Dowman, K., Little, J., 1998. Properties of some combinatorial optimization problems and their effect on the performance of integer programming and constraint logic programming. INFORMS Journal on Computing 10, 276–286. Dear, R.G., Drezner, Z., 2000. Applying combinatorial optimization metaheuristics to the golf-scramble problem. International Transactions in Operations Research 7, 331–347. de Werra, D., Ekim, T., Raess, C., 2006. Construction of sports schedules with multiple venues. Discrete Applied Mathematics 154, 47–58. Dotú, I., Van Hentenryck, P., 2007. Scheduling social tournaments locally. AI Communications 20, 151–162. Fleurent, C., Ferland, J.A., 1993. Allocating games for the NHL using integer programming. Operations Research 41, 649–654. Galinier, P., Hao, J.-K., 2004. A general approach for constraint solving by local search. Journal of Mathematical Modelling and Algorithms 3, 73–88. Gent, I.P., Walsh, T. 1999. CSPLIB: A benchmark library for constraints. Technical report APES-09-1999. Currently maintained by Hnich, B. and Miguel, I., . Harvey, W. 2008. Personal communication. Harvey, W. 2009. Warwick’s results page for the social-golfer problem. . Harvey, W., Winterer, T., 2005. Solving the MOLR and social-golfers problems. In: Van Beek, P. (Ed.), Lecture Notes in Computer Science: Principles and Practice of Constraint Programming – CP 2005. Springer, Heidelberg, pp. 286–300. Henz, M., 2001. Scheduling a major college basketball conference—revisited. Operations Research 49, 163–168. Ikebe, Y.T., Tamura, A., 2008. On the existence of sports schedules with multiple venues. Discrete Applied Mathematics 156, 1694–1710. Kalvelagen, E., 2003. On solving the progressive-party problem as a MIP. Computers & Operations Research 30, 1713–1726. Kendall, G., Knust, S., Ribeiro, C.C., Urrutia, S., 2010. Scheduling in sports: An annotated bibliography. Computers & Operations Research 37, 1–19. Law, Y.C., Lee, J.H.M., 2006. Symmetry breaking constraints for value symmetries in constraint satisfaction. Constraints 11, 221–267. Lim, A., Rodrigues, B., Zhang, X., 2006. Scheduling sports competitions at multiple venues – revisited. European Journal of Operational Research 175, 171–186. Moran, G., 2004. Need for speed: Make more contacts with speed networking. Entrepreneur 32, 73. Nemhauser, G.L., Trick, M.A., 1998. Scheduling a major college basketball conference. Operations Research 46, 1–8. Prestwich, S., 2004. Incomplete dynamic backtracking for linear pseudo-Boolean problems. Annals of Operations Research 130, 57–73. Ragsdale, C.T., Scheibe, K.P., Trick, M.A., 2008. Fashioning fair foursomes for the fairway (using a spreadsheet-based DSS as the driver). Decision Support Systems 45, 997–1006. Rodošek, R., Wallace, M.G., Hajian, M.T., 1999. A new approach to integrating mixed-integer programming and constraint logic programming. Annals of Operations Research 86, 63–87. Russell, R.A., Leung, J.M.Y., 1994. Devising a cost effective schedule for a baseball league. Operations Research 42, 614–625. Russell, R.A., Urban, T.L., 2006. A constraint-programming approach to the multiple venue, sport-scheduling problem. Computers & Operations Research 33, 1895– 1906. Schreuder, J.A.M., 1992. Combinatorial aspects of construction of competition Dutch professional football leagues. Discrete Applied Mathematics 35, 301–312.
R.A. Russell, T.L. Urban / European Journal of Operational Research 207 (2010) 83–91 Smith, B.M., Brailsford, S.C., Hubbard, P.M., Williams, H.P., 1996. The progressiveparty problem: Integer linear programming and constraint-programming compared. Constraints 1, 119–138. Triska, M. 2008. Solution methods for the social-golfer problem. Master’s Thesis, Technische Universität Wien, Abteilung für Datenbanken und Artificial Intelligence, . Triska, M., Musliu, N. 2008. Solving the social-golfer problem with a GRASP. In: Proceedings of the 7th International Conference on the Practice and Theory of Automated Timetabling, Montréal.
91
Urban, T.L., Russell, R.A., 2003. Scheduling sports competitions on multiple venues. European Journal of Operational Research 148, 302–311. van Hoeve, W.-J., Sabharwal, A. 2008. Bounds consistency filtering for pair-atmost1. Working paper, Tepper School of Business, Carnegie Mellon University, . Walser, J.P. 1997. Solving linear pseudo-Boolean constraint problems with local search. In: Proceedings of the 14th National Conference on Artificial Intelligence, Providence, pp. 269–274.