Abstract
This paper presents a transportation branch and bound algorithm for solving the generalized assignment problem. This is a branch and bound technique in which the sub-problems are solved by the available efficient transportation techniques rather than the usual simplex based approaches. A technique for selecting branching variables that minimize the number of sub-problems is also presented.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
The generalized assignment problem (GAP) is the problem of assigning n jobs to m agents such that total cost is minimal and that each job is assigned to exactly one agent and agent’s capacity is also satisfied. GAP is NP hard and has had many approaches being proposed in the past 50 years. The GAP model is the general case of the assignment problem in which both jobs and agents have an equal size and the cost associated with each job-agent combination may have different values. GAP has many applications in real life and these include vehicle routing: Toth and Vigo (2001), resource allocation: Winston and Venkataramanan (2003), supply chain: Yagiura (2004, 2006), machine scheduling and location among others. It is because of these important applications that so many exact and inexact methods have been proposed. The exact approaches that were developed include methods by: Ross and Soland (1975); Martello and Toth (1981); Fisher et al. (1986); Guignard and Rosenwein (1989); Karabakal et al. (1992); Savelsburgh (1997) and Pigatti et al. (2005). An inexact method or heuristic is a method that gives a highly accurate but not necessarily optimal solution. Some of the heuristics for the GAP were developed by: Laguna et al. (1995); Osman (1995); Chu and Beasley (1997); Asahiro et al. (2003); Nauss (2003) and Yagiura et al. (1998). Note that: Nauss (2003) presented both a heuristic and an optimizing approach.
In this paper we propose a transportation branch and bound algorithm for solving the GAP. This is a branch and bound technique in which the sub-problems are solved by use of the available efficient transportation techniques rather than the usual simplex based approaches. A technique for selecting branching variables so as to minimize sub-problems is also presented.
2 Generalized assignment problem
A mathematical formulation of the GAP may be represented as shown in Eq. (1).
where x ij = 0 or 1, (i = 1, 2,…,m) is a set of agents, (j = 1,2,…,n) is a set of jobs, c ij is the cost of assigning agent i to job j, r ij is the resource needed by agent i to do job j, b i is the resource available to agent i.
3 Relaxing the GAP
The GAP can be relaxed to become an ordinary transportation problem. A transportation model is easy to handle and efficient solution methods such as network approaches are available. This type of relaxation was proposed by Munapo et al. (2010).
3.1 Relaxing the model
Some of the GAP constraints representing resource restrictions are given in Eq. (2),
The GAP model can be relaxed by replacing these constraints with other forms of inequalities given in Eq. (3).
Thus the model becomes a transportation model as presented in Eq. (4).
where γ i is obtained by solving the knapsack problem in Eq. (5).
The optimal solution to this knapsack problem (5) is readily available.
3.2 Solving the knapsack problem
The optimal solution to the knapsack solution can be obtained by arranging the resource coefficients in row i in ascending order i.e.,
where
are the arranged coefficients. The knapsack objective value γ i , is the largest integral value such that
where,\( 1 \le \gamma_{i} \le n. \) The integral value γ i is now the supply in the transportation model.
4 The transportation model
The optimal solution to the transportation model will act as a lower bound to the GAP and is usually infeasible to the original GAP model. The relaxed problem is shown in Table 1.
This transportation problem is not a balanced model. In most cases
Then Eq. (1) is infeasible i.e., at least one of constraints, \( \sum\limits_{i}^{m} {x_{ij} = 1} , \) is violated.
Then the relaxed model can be solved directly without balancing. The solution to the relaxation is optimal if it satisfies Eq. (1).
Then the relaxed model requires balancing before applying transportation techniques. To balance the transportation problem, a dummy column is added when we have inequality Eq. (12) of the form > type. When the transportation is balanced then the optimal solution can be found by using network codes for transportation models. These are efficient and recommended and the sub-problems are not solved from scratch. The current solutions are used as starting solutions in the next iterations. Lagrangian or linear programming (LP) relaxations are not readily useful to this procedure. With this approach it is only possible to branch if the relaxation gives an integer optimal solution and this is not possible with LP or Lagrangian relaxations.
4.1 Branch and Bound Approach
A branch and bound method can be used to ascend from the lower bound to an optimal solution of the GAP. The lower bound obtained by solving the relaxed model is usually infeasible to Eq. (1). A row i that is not feasible can be selected, a clique inequality generated and used to create branches.
4.2 Generating branching inequalities
Suppose from row i, the following variables are basic and they make up an infeasible solution
where x ifj is basic variable and r ifj is its corresponding resource coefficient with j = 1,2,…l.
From the inequality given in Eq. (14), it implies that some of these basic variables are not supposed to be basic. One or more of these basic variables may not be the required basic feasible solutions and the exact number is only known for the specific given problem. Branching does not necessarily mean the transportation sub-problem has to be resolved from scratch. The sub-problem is solved by improving the current solution. The previous solution is used as a starting solution in the next iteration.
4.3 Order of branching
The order of branching is very important as it can affect the size of the search tree. Strategies are required to determine a branching order that results in the smallest search tree. In this paper it is recommended that branching starts with those rows that have the least number of choices. In other words the most restricted rows are used in creating branches: Kumar et al. (2007). Thus the branching starts with the most restricted row, which in this paper is defined as the row where the least number of branches can be generated.
5 Transportation branch and bound algorithm for GAP
The transportation branch and bound algorithm for the GAP consists of the following steps,
- Step 1:
-
Relax GAP to obtain a lower bound.
- Step 2:
-
Select the most restricted row to come up with branching variables.
- Step 3:
-
Branch using the selected variables. Return to step 2 until the best transportation solution is feasible.
Best solution: A solution is said to be the best solution if it is the smallest optimal solution available.
5.1 Optimality
Suppose the terminal nodes are given in Eq. (15).
The upper bound is selected from the node giving best solution so far.
Thus Z GAP is optimal.In the branching tree, a node is said to be a terminal one if the
-
optimal solution to the transportation model is feasible to original GAP model,
-
transportation model does not have feasible optimal solution or
-
optimal solution to the transportation model is bigger than a given upper bound.
Note: Generation of clique inequalities and using them as cuts is not a new idea. Clique constraints used in this paper are in fact a simple type of knapsack constraints generated from single constraints of the original problem. Knapsack constraint generators are very common in modern MIP solvers. What is new is the fashion of using these inequalities to form branches and solving the sub-problems generated as transportation problems. This is effective for GAP models. Jumptracking is preferred in this procedure and branching is done on a node with the smallest objective value (Table 2).
5.2 Numerical illustration
Use the transportation branch and bound algorithm to solve the following GAP model.
-
A terminal node is said to be feasible if the optimal solution to the transportation sub-problem is feasible to the original GAP problem.
-
A terminal node is said to be infeasible if the optimal solution to the transportation is infeasible to the GAP model.
-
DNE means the transportation sub-problem does not have a feasible optimal solution
-
The numbers in the circles denote the order of solution.
From the search tree given in Appendix Fig. 2, the optimal solution to the GAP problem is given as shown in Eq. (19)
The optimal solution from (19) is given as:
For details, see the appendix to this paper.
6 Conclusions
The proposed approach has the advantage that the individual, γ i values can be found independently allowing the much needed use of parallel processors. The sub-problems resulting from the search trees are transportation models and can be solved efficiently by the available network approaches. The sub-problems that result from the usual branch and bound related approaches are NP hard integer models which are very difficult to solve. The only nuisance to this approach is that like the simplex based approaches it is also not spared by degeneracy. It may be desirable to use the approach discussed by the authors in an earlier publication (Munapo et al. 2012).
In the search tree diagram given in Appendix Fig. 2, it may be noted that there is no change in the objective value from node 4 to node 7. The degeneracy drawback can be alleviated by noting all alternate optimal solutions at every node and then branch in such a way that the objective value does not remain static.
Attempts will be made in future to use cuts in branching and compare its efficiency with the available approaches and explore for better strategies that can significantly improve the selection of branching variables.
References
Asahiro Y, Ishibashi M, Yamashita M (2003) Independent and cooperative parallel search methods for the generalized assignment problem. Optim methods Softw 18(2):129–141
Chu PC, Beasley JE (1997) A genetic algorithm for the generalized assignment problem. Comput Oper Res 24:17–23
Fisher ML, Jaikumar R, Van Wassenhove LN (1986) A multiplier adjustment method for the generalized assignment problem. Manage Sci 32(9):1095–1103
Guignard M, Rosenwein M (1989) An improved dual-based algorithm for the generalized assignment problem. Oper Res 37(4):658–663
Karabakal N, Bean JC, Lohmann JR, (1992) A steepest descent multiplier adjustment method for the generalized assignment problem. Report 92–11, University of Michigan, Ann Arbor
Kumar S, Munapo E, Jones BC (2007) An integer equation controlled descending path to a protean pure integer program. Indian J Math 49:211–237
Laguna M, Kelly JP, Conzalez-Velarde JL, Glover FF (1995) Tabu search for the generalized assignment problem. Eur J Oper Res 82:176–189
Martello S, Toth P (1981) An algorithm for the generalized Assignment Problem. In: Brans JP (ed) Operations Research 81. North-Holland, Amsterdam, pp 589–603
Munapo E, Kumar S, Musekwa SD (2010) A revisit to the generalized assignment problem: an ascending hyper-plane approach through network flows. Int J Manag Prud 1(2):7–14
Munapo E, Nyamugure P, Lesaoana M, Kumar S (2012) A note on unified approach to solving the transportation and assignment models in operations research. Int J Math Model Simul Appl 5(2):140–149
Nauss RM (2003) Solving the generalized assignment problem: an optimizing heuristic approach. INFORMS J Comp 15(3):249–266
Osman IH (1995) Heuristics for the generalized assignment problem: simulated annealing and tabu search approaches. OR Spektrum 17:211–225
Pigatti A, Poggie De Aragao M, Uchoa E (2005) Stabilized branch and cut and price for the generalized assignment problem. In: 2nd Brazilian symposium on graphs, algorithms and combinatorics. Electronic notes in discrete mathematics, vol 19. Elsevier, Amsterdam, 389–395
Ross GT, Soland RM (1975) A branch and bound algorithm for the generalized assignment problem. Math Program 8:91–103
Savelsburgh M (1997) A branch and price algorithm for the generalized assignment problem. Oper Res 45(6):831–841
Toth P, Vigo D (2001) The vehicle routing problem. SIAM monographs on discrete mathematics and applications, Philadelphia
Winston WL, Venkataramanan M (2003) Introduction to mathematical programming, 4th edn. Thomson Brooks/Cole, Pacific Grove
Yagiura M, Yamaguchi T, Ibaraki T (1998) A variable depth search algorithm with branching search for the generalized assignment problem. Optim Methods Softw 10:419–441
Yagiura M, Ibaraki T, Glover F (2004) An ejection chain approach for the generalized assignment problem. Inf J Comput 16:133–151
Yagiura M, Ibaraki T, Glover F (2006) A path re-linking approach with ejection chains for the generalized assignment problem. Eur J Oper Res 169:548–569
Acknowledgments
Authors are thankful to referees for their constructive suggestions for improvement of the paper.
Author information
Authors and Affiliations
Corresponding author
Appendix: Details of GAP numerical illustration
Appendix: Details of GAP numerical illustration
In this appendix, detailed working of the numerical illustration for the transportation branch and bound algorithm for solving the GAP model is presented. For completeness and ease of reference, some essential elements of the numerical illustration are reproduced again in this appendix. The problem is given by Eq. (21):
Subject to:
Arranging the resource coefficients of constraints in (first three constraints of Eq. 21) in ascending order, we have Eq. (22).
The γ i values are easily calculated from Eq. (21) and Eq. (22).
The transportation model becomes as shown in Table 4.
Any efficient transportation technique can be used to solve the model and an optimal solution to the relaxed model is obtained as presented in Table 6. The solution in Table 6 is a second order degenerate solution. The optimality solution can be easily verified by using cells (1,6) and (3,3) as basic with zero allocation.
Using the resource constraints, one can easily verify that row one is infeasible, since 24 +36 = 60 > 56
i.e., x 11 + x 15 ≤ 1
This implies: either x 11 = 0 or x 15 = 0
Similarly the third row is also infeasible, because 20 + 44 = 64 > 56
i.e. x 32 + x 34 ≤ 1
Which implies: either x 32 = 0 or x 34 = 0.
We select the branches from row 3 as it is more restricted compared to row 1. This gives either x 32 = 0 or x 34 = 0 This results in the following Fig. 1.
Now let us consider the case when x 32 = 0, the transportation Table 6 is modified by replacing the assignment cost 90 in the cell (3,2) by L. This is given in Table 7.
Now once again, for the above solution, the resource constraint 3 is not satisfied because 28 + 44 = 72 > 56. Hence, either x 33 = 0 or x 34 = 0. This will lead to nodes 4 and 5 respectively.
Similarly, at node 3 we deal with the restriction that allocation in the cell (3,4) is restricted to zero, in other words we modify the Table 6 and replace the cost element in the cell (3,4) by L. This is shown in Tables 8, 9, 10, 11, 12 and 13.
Form the solution obtained in Table 8, it is noted that the resource constraint 1 is not satisfied, since for the allocation in cells (1,1) and (1,5) resource requirement is 24 + 36 = 60 > 56. Hence branching from node 3 will be either x 11 = 0 or x 15 = 0. These restrictions lead to nodes 10 and 11 in Fig. 2.
In the following, we have given the transportation cost tables under various restrictions as shown in the tree diagram shown in Fig. 2.
These results have been summarized in the tree diagram given in Fig. 2, where the following interpretations have been used.
Note:
-
A terminal node is said to be feasible if the optimal solution to the transportation sub-problem is feasible to the original GAP problem.
-
A terminal node is said to be infeasible if the optimal solution to the transportation is infeasible to the GAP model.
-
DNE means the transportation sub-problem does not have a feasible optimal solution
-
The numbers in the circles denote the order of solution
From the search tree given in Fig. 2 the optimal solution to the GAP problem is given as shown in (4A) and (5A).
The transportation optimal solutions for the nodes 2–7 and node 9 are given below in the appendix. Node 1 is optimal solution to the relaxed model and is given in Table 6. Thus a total of 10 nodes (starting from node 2) are required to verify the optimal solution value.
Rights and permissions
About this article
Cite this article
Munapo, E., Lesaoana, ‘., Nyamugure, P. et al. A transportation branch and bound algorithm for solving the generalized assignment problem. Int J Syst Assur Eng Manag 6, 217–223 (2015). https://doi.org/10.1007/s13198-015-0343-9
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13198-015-0343-9