Acessibilidade / Reportar erro

ORGANIZING BUSINESS FORUMS WITH INTEGER LINEAR PROGRAMMING

ABSTRACT

Business associations often promote forums between entrepreneurs. One strategy for establish contacts among participants is to organize them into small groups assigning them to tables so that participants in the same group can present their companies and projects. After an interval, a new round begins with new groups in order to establish new contacts. The repetition of this strategy allows each participant to expand his/her business network, but the repeated contacts between participants should be avoided. We present an Integer Linear Programming model that minimizes the repeated contacts when the participants are successively assigned to new groups. The model was implemented in R programming language and it has been applied to organize business forums. In order to illustrate the model application, this paper shows the results from a case study with 108 participants.

Keywords:
integer programming; business networking; business forums

1 INTRODUCTION

Networking is a powerful tool to leverage the growth of any business. Connectivity favors the emergence of ideas (Johnson, 20108 JOHNSON S. 2010. Where good ideas come from: The natural history of innovation. New York, NY: Riverhead Books.) and initiatives to promote innovation and economic growth, benefiting the whole society. For this reason, often, business associations usually promote forums between entrepreneurs from different segments.

A typical strategy for establishing contacts among the participants in a business forum is to organize them into small groups assigning them to tables, so that participants in the same group (table) can present their companies and projects to the other ones in the same group. After an interval, a new round begins in order to form new groups of participants. The repetition of this strategy until the closing of the forum allows each participant to sign business and to expand his/her business network.

However, in order to be successful in expanding the business networks it is essential to minimize the repeated contacts between participants. To avoid or minimize the repeated contacts it is necessary to optimize the sequence of tables to be visited by each participant. This problem is similar to the problem of designing seating plans for large social events such as weddings and gala dinner, where the objective is to organize the guests on dining tables based on their affinities and preferences (Lewis & Carrol, 201610 LEWIS R & CARROLL F. 2016. Creating seating plans: a practical application. Journal of the Operational Research Society, 67(11): 1353-1362.). The Wedding Seating Problem (WSP) was first addressed by Bellows & Peterson (20122 BELLOWS M & PETERSON JL. 2012. Finding an optimal seating chart. Annals of Improbable Research, 2. Available at: https://www.improbable.com/news/2012/Optimal-seating-chart.pdf.
https://www.improbable.com/news/2012/Opt...
) that presented an integer linear programming (ILP) to design seat plans for their own wedding dinner. Lewis & Carrol (2016) stated the WSP as a graph partitioning problem.

In addition, the participants must visit several tables during the event. Thus, the problem presented in this paper also has some similarity with the Traveling Salesman Problem (TSP), a classic problem solved by ILP in which the objective is to establish a sequence of cities to be visited in such a way that each one is visited only once (Chvátal, 19893 CHVÁTAL V. 1989. A note on the traveling salesman problem. Operations research letters, 8(2): 77-78.; Langevin et al, 19909 LANGEVIN A, SOUMIS F & DESROSIERS J. 1990. Classification of travelling salesman problem formulations. Operations Research Letters, 9(2): 127-132., Orman & Williams, 200412 ORMAN AJ & WILLIAMS HP. 2004. A survey of different integer programming formulations of the travelling salesman problem. Optimisation, Econometric and Financial Analysis, 9: 93-108., Goldbarg et al, 20166 GOLDBARG MC, GOLDBARG E & LUNA HPL. 2016. Combinatorial Optimization and Meta-Heuristics: algorithms and applications (in Portuguese). Rio de Janeiro: Elsevier., Pureza et al, 201814 PUREZA V, MORABITO R & LUNA HP. 2018. Modeling and Solving the Traveling Salesman Problem with Priority Prizes. Pesquisa Operacional, 38(3): 499-522., among others).

The ILP has a broad practical application, it provides solutions to several kind of problems, for example, to find the best route or locating facilities (Ragsdale, 201616 RAGSDALE C. 2016. Spreadsheet modeling and decision analysis: a practical introduction to business analytics. Cengage Learning.), it can find the solution to a Sudoku puzzle (Bartlett et al, 20081 BARTLETT A, CHARTIER TP, LANGVILLE AN & RANKIN TD. 2008. An integer programming model for the Sudoku problem. Journal of Online Mathematics and its Applications, 8(1).; Gabor & Woeginger, 20105 GABOR AF & WOEGINGER GJ. 2010. How *not* to solve a Sudoku. Operations Research Letters, 38(6): 582-584.) and it can organize the guests to a wedding party based on the affinities between them (Bellows & Peterson, 20122 BELLOWS M & PETERSON JL. 2012. Finding an optimal seating chart. Annals of Improbable Research, 2. Available at: https://www.improbable.com/news/2012/Optimal-seating-chart.pdf.
https://www.improbable.com/news/2012/Opt...
). More recently, Miao et al (201811 MIAO Q, LI Y & WANG XB. 2018. Restaurant reservation management considering table combination. Pesquisa Operacional, 38(1): 73-86.) presented an integer programming model to optimize the restaurant reservation management considering table combination.

This paper describes an ILP model designed to establish the sequence of tables to be visited by the participants of a business forum in such a way that the total number of repeated contacts is minimized. The model was implemented in R language programming (R Core Team, 201415 R CORE TEAM. 2014. R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria.) and it is worth mentioning that the proposed model has been applied in the organization of business events in Rio de Janeiro since 2016 (Pessanha & Santos, 201713 PESSANHA JFM & SANTOS NMG. 2017. Integer Linear Programming in Business Forums Organization: An example of combined use of R and Excel (in Portuguese). Niterói: II Seminário Internacional de Estatística com R.). This paper is organized into five sections. The formulation of the Integer Linear Programming Problem is described in the section 2 by means of a simple example involving only six participants and three tables. Then, in the section 3 there is a brief presentation of the computational implementation in R. Next, the section 4 presents some results from the proposed model for a forum with 108 entrepreneurs. Finally, the last section presents the main conclusions.

2 PROBLEM FORMULATION

Consider a forum with n participants, m tables and p people per table. Based on the Dirichlet’s box principle or pigeonhole principle (Simões Pereira, 201317 SIMÕES PEREIRA JMS. 2013. Introduction to combinatorial mathematics (in Portuguese). Editora Ciência Moderna.) we know that to avoid the repeated contacts in the first rounds the number of people per table must be less than the number of tables (p<m).

A participant <math><mi>i</mi><mo>∀</mo><mo> </mo><mi>i</mi><mo>=</mo><mn>1</mn><mo>,</mo><mo> </mo><mi>n</mi></math> can be assigned to table j j=1, m and to represent this possibility let a binary variable xi j that assumes value equal to 1 if the participant i occupies the table j, otherwise xi j is equal to 0. For a forum with n participants and m tables there is a total of nm binary variables xij0,1i=1, n and j=1, m. In addition, the number of participants in a table j must be equal to p, then, for each table j, the variables xi j for all i=1, n must satisfy the following constraint:

i = 1 n x i j = p j = 1 , m (1)

In addition, each participant i can only occupy a table in each round, then the variables xijj=1, m must satisfy, for each participant, the constraint:

j = 1 n x i j = 1 i = 1 , n (2)

The tables are numbered from 1 to m and when the participants arrive at the forum, they are randomly assigned to the tables in order to setup the first configuration (first round or s=1). Since each table has p seats, the participants that occupy table 1 are identified by the integers 1 through p, the participants at table 2 receive the numbers (p+1) up to (p+p) and so on up to participant n at the table m. Figure 1a shows the initial configuration (s=1) and Figure 1b presents the respective assign matrix.

Figure 1
- Assignment of participants in the first round.

After a time interval the participants must be assigned to other tables in such a way that repeated contacts are minimized. For the second round (s=2) the new distribution of n participants in m tables is determined by the following Integer Linear Programming Problem (ILPP), whose objective is to minimize the number of repeated contacts, i.e., the variables y in the objective function:

min x , y l = 1 m ( m 1 ) ( s 1 ) y l s . t . (3)

i = 1 n x i j = p j = 1 , m (4)

j = 1 m x i j = 1 i = 1 , n (5)

i t a b l e k i n r o u n d < s x i j 1 + y l k = 1 , m , j k = 1 , m , l = 1 , m ( m 1 ) ( s 1 ) (6)

x i j 0 , 1 i = 1 , n , j = 1 , m (7)

y l 0 , 1 , 2 , . . . , l = 1 , m ( m 1 ) (8)

The constraint in (7) indicates that the xi j are binary variables: xi j is equal to 1 if participant i is assigned to table j, otherwise xij=0. The m constraints in equation (4) are equivalent to equation (1), i.e., each table must have p participants. The n constraints in (5) are equivalent to equation (2), i.e., each participant can be assigned to only one table in each round. The constraint in (8) informs that the variables yl are integer variables. The variables yl counts the number of repeated contacts between participants assigned to a same table at a previous round. For example, as illustrated by equation (6), for the second round (s=2)l ranges from 1 to m(m1). This means that for each table k ( k=1, m) we should add m-1 constraints, one inequality constraint for each remaining table jk, as illustrated below, in order to restrict the repeated contacts between participants that occupied a same table k at previous round:

p a r t i c i p a n t i t a b l e k i n a p r e v i o u s r o u n d x i j 1 + y k = 1 , m , j k = 1 , m (9)

In the inequality constraint (9), when y = 0 means that among the participants assigned to table k at a previous round only one will be assigned to table jk in the round s, i.e., there is no repeated contact at table j. Otherwise, when y>0 it counts the number of repeated contacts, at table j, between participants assigned to table k at a previous round.

At each new round s s2, a total of m(m1) constraints (6) and m(m1) variables y are included in the ILPP model in order to constraint the number of repeated contacts. The assign matrix for the round s is achieved by the minimization of the sum of variables y, as indicated in the objective function in (3). Thus, for the case illustrated in Figure 1 with n=6 participants, m=3 tables and p=2, the arrangement for the second round (s=2) is determined by the following ILPP model:

min x , y y 1 + y 2 + y 3 + y 4 + y 5 + y 6 s . t . (10)

x 31 + x 41 + x 51 + x 61 = 2 ( table 1 ) (11)

x 12 + x 22 + x 52 + x 62 = 2 ( table 2 ) (12)

x 13 + x 23 + x 33 + x 43 = 2 ( table 3 ) (13)

x 12 + x 13 = 1 ( participant 1 ) (14)

x 22 + x 23 = 1 ( participant 2 ) (15)

x 31 + x 33 = 1 ( participant 3 ) (16)

x 41 + x 43 = 1 ( participant 4 ) (17)

x 51 + x 52 = 1 ( participant 5 ) (18)

x 61 + x 62 = 1 ( participant 6 ) (19)

x 12 + x 22 y 1 + 1 ( constrains repeated contacts between participants 1 and 2 at table 2 ) (20)

x 13 + x 23 y 2 + 1 ( constrains repeated contacts between participants 1 and 2 at table 3 ) (21)

x 31 + x 41 y 3 + 1 ( constrains repeated contacts between participants 3 and 4 at table 1 ) (22)

x 33 + x 43 y 4 + 1 ( constrains repeated contacts between participants 3 and 4 at table 3 ) (23)

x 51 + x 61 y 5 + 1 ( constrains repeated contacts between participants 5 and 6 at table 1 ) (24)

x 52 + x 62 y 3 + 1 ( constrains repeated contacts between participants 5 and 6 at table 2 ) (25)

x i j 0 , 1 i = 1 , 6 , j = 1 , 3 (26)

y j 0 , 1 , 2 , . . . j = 1 , 6 (27)

Note that the constraints from (20) to (25) are generated directly from the solution shown in Figure 1b and they aim to constrain the repeated contacts between the participants assigned to the same table at the first round. The solution of the ILPP above results in the optimal assignment illustrated in Figure 2. In the new solution, the sum y1+...+y6 is zero, so there are no repeated contacts.

Figure 2
- Assignment of participants in the second round.

Next, the participants must change their position again. Then, to find a new configuration we must solve a new ILPP with m(m1) additional constraints that constrain the repeated contacts in all previous rounds. These new constraints are derived directly from the configuration of the preceding round. Thus, throughout the evolution of the forum, at each new round a total of m(m1) constraints are added to the ILPP. In addition, all variables xi j that assumed unitary value in previous round are removed from the new ILPP so that each participant visits each table only once time. For example, to achieve the configuration of the third and last round for the case with n=6 participants, m=3 tables and p=2 the following set of constraints should to be added to the ILPP:

x 52 y 7 + 1 (28)

x 33 y 8 + 1 (29)

x 61 y 9 + 1 (30)

x 13 y 10 + 1 (31)

x 41 y 11 + 1 (32)

x 22 y 12 + 1 (33)

Naturally, in this case, at the optimal solution y7, y8, y9, y10, y11 and y12 are equal to 0. Then at the last round the participants 4 and 6 are assigned to table 1 (x61=1, x41=1), the participants 2 and 5 are assigned to table 2 (x22=1, x52=1) and the participants 1 and 3 are assigned to table 3 (x13=1, x33=1) as illustrated in Figure 3.

Figure 3
- Assignment of participants in the third round.

3 MATERIAL AND METHODS

Based on R programming language (R Core Team, 201415 R CORE TEAM. 2014. R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria.) it was possible to build a R package to assembly the ILPP in each round and solve it with the Rsymphony package, version 0.1-22 (Harter et al, 20167 HARTER R, HORNIK K, THEUSSL L & SZYMANSKI C. 2016. Rsymphony: SYMPHONY in R. R package version 0.1-22. Available at: https://cran.r-project.org/web/packages/Rsymphony/Rsymphony.pdf.
https://cran.r-project.org/web/packages/...
). The Rsymphony provides a high-level interface between R and COIN-OR Symphony solver.

More specifically, at each round the R package build and solve an ILPP by applying the function Rsymphony_solve_LP(obj, mat, dir, rhs, types), where obj is the vector with the objective function coefficients, mat is the matrix of the constraints coefficients, dir is a character vector with the directions (“<=” and “==” ) of the constraints, rhs is the vector with the right hand side of the constraints and types is a character vector giving the types of the variables, in this case “I” and “B” corresponding to integer and binary variables, respectively. In addition, by default the Rsymphony_solve_LP minimizes the objective function.

In order to facilitate the use of the program, a MS Excel worksheet was programmed (Ragsdale, 201616 RAGSDALE C. 2016. Spreadsheet modeling and decision analysis: a practical introduction to business analytics. Cengage Learning.) to prepare the data input file, trigger the execution of the R program and show the ILPP solution and others results, for example, the total number of repeated contacts. The input data file has only three parameters: the number of tables (m), the number of people per table (p) and the number of rounds (s). Based on these three parameters the program prepares a schedule for a forum with n=mp participants with p<m and s rounds.

The interface between R and MS Excel was done through a .TXT input data file (from MS Excel to R) and .XLSX files (results from R to MS Excel) exported to MS Excel format by the xlsx package (Dragulescu, 20144 DRAGULESCU A. 2014. Xlsx: Read, write, format Excel 2007 and Excel 97/2000/XP/2003 files. R package version 0.5.7. Available at: https://cran.r-project.org/web/packages/xlsx/xlsx.pdf.
https://cran.r-project.org/web/packages/...
). In addition, the MS Excel worksheet provides the tags with the sequence of tables to be visited by each participant. The registered participants receive the tags when they arrive at the business forum.

4 CASE STUDY

To illustrate the results provided by the proposed model, consider a forum for n=108 participants with maximum duration of 180 minutes and with 3 minutes for a participant to present his/her project at each round. In addition, the room reserved to the forum has capacity to a maximum of 20 tables. How much tables (m) and seats per table (p) we should adopt to this forum in order to maximize the number of contacts between participants?

Initially, we can examine the factor pairs of 108: 1 x 108, 2 x 54, 3 x 36, 4 x 27, 6 x 18, 9 x 12. In this case the number of participants (n) has six factor pairs and based on these results we should evaluate two alternatives: 18 tables with 6 seats per table and 12 tables with 9 seats per table. Note that in the other alternatives the number of tables are greater than the capacity of the room. Following the same approach, we can examine the factor pairs of 110, 111, 112 and 114 participants. It is important to note that 109 and 113 are prime numbers, these alternatives were discarded. The factor pairs of 108, 110, 111, 112 and 114 are presented in Table 1 where the good choices are in bold and italic. The option for 114 participants and 19 tables with 6 seats must be discarded because one table will be idle.

Table 1
- Factor pairs (p participants per table x m tables).

Considering 3 minutes to each participant to perform his/her presentation turns to be possible to estimate the time needed to complete each round. Table 2 presents the expected duration in each round and the number of rounds which can be performed without exceeding the duration of the event, i.e., 180 minutes.

Table 2
- Durations, contacts and number of rounds for each alternative.

The proposed model was applied to each alternative described in Table 2 in order to assign the participants to the tables that minimize the number of repeated contacts. The simulation was carried out by a machine with operating system Windows 10 Home, processor Intel® Core ™ i3-7100U CPU @ 2.40 GHz and 8.00 GB of RAM.

Some results from simulations are presented in Table 3. Based on these results the configuration with 18 tables and 6 seats per table is the best solution because it allows 50 contacts (Table 2) for each participant with few repeated contacts (Table 3).

Table 3
- Total number of repeated contacts.

On the other side, the alternative with 11 tables is the worst solution because the large number of repeated contacts, then this alternative must be discarded. In addition, the alternative with 12 tables has 58 repeated contacts while the alternatives with 14 and 16 tables have 49 and 27 repeated contacts respectively. Then, these two latter alternatives are better than the alternative with 12 tables.

In order to illustrate the main results from the ILPP model consider the alternative with 12 tables. It is not the best, but it is the most fast among the five cases evaluated. Table 4 shows the size of the ILPP solved in each round for the alternative with 12 tables. As illustrated in Table 4, at each round 132=11 x 12 constraints (equation 6) are added to the ILPP model described in section 2. Then, a total of 132 integers variables (y variables in equation 6) are added to the ILPP model while 108 binary variables are removed, i.e., at each round 24 variables are added to the model.

Table 4
- ILPP size in each round for the alternative with 12 tables.

The assignments of participants for all six rounds are illustrated at Figure 4. This result allows the event organizers to quickly view the distribution of participants in the m tables throughout the rounds.

Figure 4
- Assignment of participants to the tables (each number represents a participant).

At round 4 there are five repeated contacts as illustrated at Table 3 and they are indicated by the black cells at Figure 4d and correspond to the following pairs of participants: (56, 98) at table 1, (23, 34) at table 2, (81, 83) at table 5, (99, 108) at table 9 and (35, 79) at table 11. The 58 repeated contacts up to round 6 are indicated by Figures 4d, 4e and 4f. As illustrated at Figure 4e, at round 5, only tables 5 and 11 are free of repeated contacts. A participant can revisit more than one participant in a same round. For example, the participant 79 meets the participants 29 and 71 in table 7 at round 5 (Table 4e), before he/she met the participant 29 in table 3 at round 2 (Figure 4b) and the participant 71 in table 11 at round 4 (Figure 4d).

The alternative with 18 tables, the best solution, is illustrated in Figures 5, 6 and 7. The first repeated contact happens at round 5 (Figure 6a) between participants 70 and 96. Before the participant 70 met the participant 96 in table 6 at round 4 (Figure 5d).

Figure 5
- Assignment of participants to the tables (each number represents a participant).

Figure 6
- Assignment of participants to the tables (each number represents a participant).

Figure 7
- Assignment of participants to the tables (each number represents a participant).

The 27 repeated contacts up to round 10 are indicated by Figures 6a, 6c, 6d, 7a and 7b.

FINAL COMMENTS

In this paper we addressed a type of business forum where the registered participants are organized into small groups and each group is assigned to a table, the participants in the same table present their companies and projects to the other ones in the same group. After an interval, a new round begins in order to form new groups of participants and so on. This kind of event aims to promote the maximum number of contacts between participants, but the repeated contacts represents a lost opportunity. The repetitions of contacts between the same participants do not contribute to leverage the value and the total number of businesses signed, the main metrics typically used to evaluate the success of a business event.

Thus, to increase the benefits for the participants and achieve a successful business event, the event managers can apply the optimization model proposed in this paper to schedule the assignment of registered participants and optimize the sequence of tables visited by each participant in order to avoid or minimize the repetition of contacts between the same participants.

Since 2016 the model described in this paper bas been applied in the organization of business forums for small and medium companies in Rio de Janeiro with number of participants between 40 and 150 entrepreneurs. The proposed model speeded up the management of the business forums and improved the quality of the events. Despite the persistency of repeated contacts, they were minimized and the participants have highlighted the improvement achieved after the adoption of the proposed model by the event managers.

References

  • 1
    BARTLETT A, CHARTIER TP, LANGVILLE AN & RANKIN TD. 2008. An integer programming model for the Sudoku problem. Journal of Online Mathematics and its Applications, 8(1).
  • 2
    BELLOWS M & PETERSON JL. 2012. Finding an optimal seating chart. Annals of Improbable Research, 2. Available at: https://www.improbable.com/news/2012/Optimal-seating-chart.pdf
    » https://www.improbable.com/news/2012/Optimal-seating-chart.pdf
  • 3
    CHVÁTAL V. 1989. A note on the traveling salesman problem. Operations research letters, 8(2): 77-78.
  • 4
    DRAGULESCU A. 2014. Xlsx: Read, write, format Excel 2007 and Excel 97/2000/XP/2003 files. R package version 0.5.7. Available at: https://cran.r-project.org/web/packages/xlsx/xlsx.pdf
    » https://cran.r-project.org/web/packages/xlsx/xlsx.pdf
  • 5
    GABOR AF & WOEGINGER GJ. 2010. How *not* to solve a Sudoku. Operations Research Letters, 38(6): 582-584.
  • 6
    GOLDBARG MC, GOLDBARG E & LUNA HPL. 2016. Combinatorial Optimization and Meta-Heuristics: algorithms and applications (in Portuguese) Rio de Janeiro: Elsevier.
  • 7
    HARTER R, HORNIK K, THEUSSL L & SZYMANSKI C. 2016. Rsymphony: SYMPHONY in R. R package version 0.1-22. Available at: https://cran.r-project.org/web/packages/Rsymphony/Rsymphony.pdf
    » https://cran.r-project.org/web/packages/Rsymphony/Rsymphony.pdf
  • 8
    JOHNSON S. 2010. Where good ideas come from: The natural history of innovation New York, NY: Riverhead Books.
  • 9
    LANGEVIN A, SOUMIS F & DESROSIERS J. 1990. Classification of travelling salesman problem formulations. Operations Research Letters, 9(2): 127-132.
  • 10
    LEWIS R & CARROLL F. 2016. Creating seating plans: a practical application. Journal of the Operational Research Society, 67(11): 1353-1362.
  • 11
    MIAO Q, LI Y & WANG XB. 2018. Restaurant reservation management considering table combination. Pesquisa Operacional, 38(1): 73-86.
  • 12 ORMAN AJ & WILLIAMS HP. 2004. A survey of different integer programming formulations of the travelling salesman problem. Optimisation, Econometric and Financial Analysis, 9: 93-108.
  • 13
    PESSANHA JFM & SANTOS NMG. 2017. Integer Linear Programming in Business Forums Organization: An example of combined use of R and Excel (in Portuguese) Niterói: II Seminário Internacional de Estatística com R.
  • 14
    PUREZA V, MORABITO R & LUNA HP. 2018. Modeling and Solving the Traveling Salesman Problem with Priority Prizes. Pesquisa Operacional, 38(3): 499-522.
  • 15
    R CORE TEAM. 2014. R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria.
  • 16
    RAGSDALE C. 2016. Spreadsheet modeling and decision analysis: a practical introduction to business analytics Cengage Learning.
  • 17
    SIMÕES PEREIRA JMS. 2013. Introduction to combinatorial mathematics (in Portuguese) Editora Ciência Moderna.

Publication Dates

  • Publication in this collection
    2 Dec 2019
  • Date of issue
    Sep-Dec 2019

History

  • Received
    24 Dec 2018
  • Accepted
    11 Sept 2019
Sociedade Brasileira de Pesquisa Operacional Rua Mayrink Veiga, 32 - sala 601 - Centro, 20090-050 Rio de Janeiro RJ - Brasil, Tel.: +55 21 2263-0499, Fax: +55 21 2263-0501 - Rio de Janeiro - RJ - Brazil
E-mail: sobrapo@sobrapo.org.br