Abstract

The generalized assignment problem (GAP) is an open problem in which an integer is given and one wants to assign agents to jobs such that the sum of the corresponding cost is minimal. Unlike the traditional -cardinality assignment problem, a job can be assigned to many, but different, agents and an agent may undertake several, but different, jobs in our problem. A network model with a special structure of GAP is given and an algorithm for GAP is proposed. Meanwhile, some important properties of the GAP are given. Numerical experiments are implemented, and the results indicate that the proposed algorithm can globally and efficiently optimize the GAP with a large range cost.

1. Introduction

Assignment problem (AP) is one of the fundamental combinatorial optimization problems with various applications in real life. The classical AP is proved to be an -hard problem, and it deals with a situation of assigning jobs to agents such that each job must be processed by exactly one agent and vice versa. And the popular systematic method for solving classical AP is Kuhn’s Hungarian method [1, 2] which can be extended for general network flow problems in a polynomial time. However, it is quite difficult to ensure that the number of jobs is exactly equal to the number of agents in real-life situation. Furthermore, jobs and agents are set to be unique in the classical AP, which leads to any row (column) in ( is an index set of agents and is an index set of jobs) being different from every other row (column). In fact, although all agents are unique, some jobs can be identical and vice versa in practical applications. Kennington and Wang [3] give some typical problems, such as manpower planning, scheduling, and planning, in which more than one agent is assigned to the same job group. Also, a shortest augmenting path algorithm is presented for solving them.

Dell’Amico and Martello [4] considered a generalization of AP (called -cardinality linear assignment problem) where one wants to assign (out of ) agents to (out of ) jobs so that the sum of the corresponding cost is minimal. Some potential applications of -cardinality linear assignment problem can be found in [5, 6]. Further, the -cardinality assignment problem has various applications, for example, in assigning agents to machines when there are multiple alternatives and only a subset of agents and machines has to be assigned. In this paper, we consider a more generalized assignment problem (GAP) in which a cost matrix and positive integer are given and one wants to assign agents to jobs so that the sum of the corresponding cost is minimal.

Dell’Amico and Martello developed some algorithms for solving -cardinality linear assignment problem by min-cost flow or shortest augmenting path techniques described in [4]. Also, heuristic processing techniques were given in [7]. Later, Volgenant [8] developed an algorithm for it by solving a sequence of classical AP. Recently, based on semi-Lagrangian relaxation, Belik and Jrnsten [9] proposed an algorithm for the -cardinality AP with large scale. Clearly, the GAP considered in this paper is the -cardinality assignment problem when . The GAP is an -hard [10] problem. Later, Chu and Beasley [11] prove that GAP is -complete.

Several algorithms have been proposed for GAP in the past few years. Most of the small sizes of the test instances have been solved by some exact methods such as branch and bound, branch and price, and cutting plane [1216]. However, the exact methods are mostly unable to find an optimal solution within a reasonable computational time. Metaheuristic and heuristics have been proposed for solving GAP in order to reduce the computational time of the exact method, such as the combination of a heuristics and exact method [17], tabu search [18], simulated annealing [19], genetic algorithm [11, 20], differential evolution algorithm [21, 22], and bees algorithm [23].

Clearly, the GAP considered in this paper can be transformed into a classical AP when some dummy jobs or agents are introduced. And the Hungarian method and its variants [2426] are presented for optimizing GAP recently. However, the transformation will result in a larger-scale problem and worse space complexity. Currently, several exact algorithms are presented for solving GAP with minimum cost, such as variable-fixing algorithm [27], branch and bound algorithm [12], and KM algorithm [28], but these algorithms can only solve GAP with some specific assumption.

This study focuses on GAP where the number of agents is not equal to the number of jobs. Specifically, one job can be assigned to many, but different, agents, and one agent may undertake many, but different, tasks. It is well known that AP is thought of as a special min-cost flow problem, which suggests that classical AP or GAP can be solved by some methods with network flow theory. Recently, an efficient algorithm was proposed for solving min-cost flow problem [29]. This paper attempts to give a variation of the algorithm presented in [29] for GAP based on the advantage of the special structure of the transformed network model.

This paper is organized as follows. Section 2 gives a mathematical formulation and network flow model for the GAP; in Section 3, we describe an algorithm for solving GAP. Also, the convergence of the proposed algorithm and some important features of GAP are given in this section; Section 4 presents numerical experiments to evaluate the performance of the proposed algorithm. Concluding remarks and some further research are provided in Section 5.

2. Mathematical Formulation and Network Flow Model

Given an matrix and an integer , the GAP can be formulated as follows:where ; if agent is assigned to job . First, we consider the case that an agent can be assigned to more than one job, but a job is assigned to exactly one agent, that is, in (1). We leave the situation that a group job can be processed by more than one agent later.

It is well known that classical AP is a bipartite matching problem which can be transformed into a maximum flow problem in a simple network. To transform the GAP defined on an undirected graph , we create a directed version of by designating each arc in as pointing nodes in to nodes in . Then, we introduce a source node and a sink node , with , and . We refer to the transformed network as with a cost set and a capacity set associated with each arc . Let .

Figure 1 illustrates the transformation. Mathematically, the transformed model is given by

It is easy to deal with the case that some identical jobs can be grouped into a set. More specifically, if is a group set which consists of jobs, then the capacity of is to be set to instead of 1.

According to the transformation mentioned above and the Integrality Theorem [30], it is easy to get the following theorem.

Theorem 1. The GAP is equivalent to the MCF.

Theorem 1 indicates that we can find an integral flow of value in the transformed network in order to get an optimal solution of GAP. Although several algorithms are presented for optimizing minimum-cost flow problem, both cost and capacity are to be considered for iteratively defining residual network. Hu et al. [29] introduced an approach that can solve min-cost flow. Unlike the traditional algorithms, the proposed algorithm in [29] can find an augmenting path in the original network by updating node potentials. We will describe an algorithm for optimizing GAP based on the network model defined above in the next section.

3. Proposed Algorithm for Solving GAP

Hu et al. [29] gave a detail algorithm for solving minimum-cost flow problem by introducing some optimality conditions. Since the transformed network flow model, shown in Figure 1, is a simple network, a modified version of the algorithm in [29] is introduced for GAP for self-contained in this section.

Let us consider a dual problem of problem (2)where and are the dual variables of MCF. And we refer to and as the potential of node and arc , respectively.

Let and be the feasible solutions of MCF and DP, respectively. If and are optimal solutions, according to strong duality, we have

Since is free , let , then will be held. Therefore, a feasible solution of DP can be found. Thus, conditions (4) are equal to the conditions as follows:

Clearly, an optimal solution will satisfy conditions (5). And we have the following theorem.

Theorem 2. Let be a feasible solution of MCF, then is an optimal solution if and only if the following conditions are satisfied:

We refer the arc satisfying to an admissible arc. Similarly, a network is an admissible network in which each arc is an admissible arc. Clearly, is an optimal solution with an integral flow of value 0. The proposed algorithm starts sending 0 unit of flow from to . Furthermore, by holding condition (6) at each iteration, the proposed algorithm can find at least an augmenting path from the source node to the sink node after updating node potential in finite iteration. Therefore, flow can be augmented when the current amount flow is not maximal.

Let be a forward arc set and a backward arc set on an augmenting set . Now we describe an algorithm for solving GAP corresponding the network , where , and we refer an admissible network to .

Clearly, for an optimal solution , agent will be assigned to job if . We give the following definition in advance in order to get some important properties on GAP.

Definition 1. Let be the node sets of any two augmenting paths (referred to ) from source node to sink node , then are independent augmenting paths if .

Theorem 3. Suppose the current amount of flow obtained by Algorithm 1 is , GAP has optimal solutions if we can find independent augmenting paths in the following iteration.

Theorem 3 can be proved easily according to the detail algorithm and definition of independent augmenting path mentioned above, and here, we do not discuss the proof of Theorem 3.

Initial settings: . Label source node . Let be a given integer number such that .
whiledo
 Remove all labels of node .
whiledo
  , where .
  ifthen
   .
  end if
  ifthen
   Node is labeled with , .
  end if
  ifthen
   Node is labeled with , .
  end if
end while
      
end while

Theorem 4. Let be in a row set and in a column set , then at least an agent is to be assigned to a job in . Similarly, at least a job is to be processed by an agent in .

Proof. Since , at least an admissible will be introduced after updating node potentials in the following iteration. Thus, , and , which implies that nodes can be labeled. In addition, as , then sink node is to be labeled. Therefore, we can find an augmenting path from to , and there exists at least a node such that . Furthermore, the equation is always satisfied in the following iterations according to the details in Algorithm 1. Thus, job is to be processed by an agent in for optimal match. Similarly, for an optimal solution, there exists an agent to be assigned to a job in .

From Theorem 4, we have the following corollary.

Corollary 1. Let be an optimal solution for the GAP with cardinality, then the agents and jobs corresponding to will be assigned in GAP with cardinality.

Theorem 5. Algorithm 1 will terminate in finite iterations.

Proof. Clearly, sink node cannot be labeled if . Otherwise, as , will be labeled while is labeled, which implies that we can find an augmenting path from to and one more unit flow can be sent from to at first iteration. In addition, node can be labeled if is labeled and . Therefore, we can find an augmenting path after updating node potential in iterations at -th iteration, and at least one more unit flow can be sent from to . For GAP with cardinality, the total number of iterations is , which gives Theorem 5.

As it is described in Algorithm 1, flow can be augmented after updating nodes’ potential in a finite iteration. Therefore, the complexity of the proposed algorithm is .

Next, we will give some numerical experiments to evaluate the efficiency of Algorithm 1.

4. Numerical Experiments

In this section, the performance of the proposed algorithm is demonstrated by numerical experiments and we compare its performance with a PP-Lapjv algorithm [31] and bees algorithm for GAP. The bees algorithm is proposed by Ozbakir et al. [23] for the complex integer optimization problem. The PP-Lapjv algorithm is an improved version of Lapjv algorithm [32, 33]. The GAP is transformed into a balanced AP when we use the PP-Lapjv algorithm for solving GAP. For the sake of simplicity, the PP-Lapjv algorithm is called . The bees algorithm and our algorithm presented in the paper are called , respectively. The presented algorithm is coded in R2016b on a laptop computer with an Intel®Corei5TMi5-7300HQ CPU @2.50 GHz RAM 8 GB and the operating system is Windows 10 64 bit. As shown in Figure 1, the unit capacity network flow model of the GAP has a special structure that there is only forward . Thus, it is easy to generate a random network which is connected.

A series of numerical experiments is implemented on test problems differing in input data values of , and the is drawn randomly from a uniform distribution on the intervals . This kind of generation is often encountered to evaluate algorithms for solving AP [34]. The GAP with different scales ( varying from to ) is considered. And each class consists of instances with valued , where . The column titled provides the coefficient of . Also, for each class of problem, we consider the case that an agent can be assigned to jobs when is given. In addition, the proposed algorithm is evaluated on various degrees of density and . For a given density , the instance is generated as follows. We first randomly generate a value , and for each arc , the arc is kept in the instance with a randomly generated cost ; otherwise, the next arc is considered. Higher density means that each multiskill agent can be assigned to more various jobs in . Further, the parameter setting is the same as the parameters in [23].

We report the CPU time of , , and for solving GAP in Table 1. In each block, each entry in the 6 lines gives the average CPU time computed over 10 instances, neglecting the input, the output, and generation of the network flow model. And the last line gives the average over all values considered. Also, Figures 2 and 3 depict the average CPU time on the various values for the density and , respectively.

A3 has a high probability to find an augmenting path from to after updating nodes’ potential in two iterations, which can be easily verified by the network model and Algorithm 1 of GAP. Furthermore, as it is shown in Algorithm 1, A3 holds the information of node potential at each iteration. Therefore, for a larger range , the curves of the proposed algorithm are at the bottom of Figures 2 and 3. However, it will take more iterations for finding an augmenting path from to with a larger number of arcs and a smaller range for . Thus, there are exceptions for the efficiency of A3 when the size of GAP is increased (e.g., is greater than (100, 100) for a smaller ). It is understandable that A3 will find an augmenting path in much more iteration in a network with a smaller , especially for a larger size of problem. In addition, larger size of GAP results in a greater number of local optimal solutions. Thus, it will take much more CPU time for A2, which is shown in Figures 2 and 3.

The CPU time of algorithm consists of time for running Lapjv.m file and constructing the -th transferred cost matrix which is mainly related to the size of the problem. Therefore, variation of CPU time of is much smaller than that of for the same size of problem (the size of the problem is defined by ).

5. Conclusion and Further Work

This paper develops an algorithm for solving GAP in which an integer is given and one wants to assign agents to jobs such that the sum of the corresponding cost is minimal. The problem is transformed into a network model with a special structure. And the network model of GAP can easily process the GAP in which one agent can be assigned to more than one job or a job group can be processed by more than one agent. Some important properties of GAP are derived and numerical experiments show that our proposed algorithm has some good performance for solving GAP with a larger range cost and a smaller number of arcs .

In this study, the scale of GAP is not very large, and we plan to develop some techniques for processing large-scale sparse cost matrix in order to optimize the GAP in a short time. Furthermore, it is fundamental to develop an algorithm for solving the bottleneck GAP or fuzzy GAP.

Data Availability

The data used to support the findings of this study are available from the corresponding author upon request.

Conflicts of Interest

The authors declare that there are no conflicts of interest regarding the publication of this article.

Acknowledgments

This work was supported by the Hubei Superior and Distinctive Discipline Group of Mechatronics and Automobile (no. XKQ2020004), Innovation Scientists and Technicians Troop Construction Projects of Henan Province (CXTD2016054), and Innovative Scientists and Technicians Team of Henan Provincial High Education (no. 20IRTSTHN019).