Next Article in Journal
RETRACTED: Joshi et al. An Evolutionary Technique for Building Neural Network Models for Predicting Metal Prices. Mathematics 2023, 11, 1675
Next Article in Special Issue
A Validation of the Phenomenon of Linearly Many Faults on Burnt Pancake Graphs with Its Applications
Previous Article in Journal
On Fixed-Point Equations Involving Geraghty-Type Contractions with Solution to Integral Equation
Previous Article in Special Issue
Edge-Based Minimal k-Core Subgraph Search
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Two Combinatorial Algorithms for the Constrained Assignment Problem with Bounds and Penalties

1
School of Mathematics and Statistics, Yunnan University, Kunming 650504, China
2
School of Mathematics and Physics, Beijing University of Chemical Technology, No. 15, North Third Ring East Road, Beijing 100190, China
*
Author to whom correspondence should be addressed.
Mathematics 2023, 11(24), 4883; https://doi.org/10.3390/math11244883
Submission received: 7 October 2023 / Revised: 28 November 2023 / Accepted: 4 December 2023 / Published: 6 December 2023
(This article belongs to the Special Issue Graph Theory: Advanced Algorithms and Applications)

Abstract

:
In the paper, we consider a generalization of the classical assignment problem, which is called the constrained assignment problem with bounds and penalties (CA-BP). Specifically, given a set of machines and a set of independent jobs, each machine has a lower and upper bound on the number of jobs that can be executed, and each job must be either executed on some machine with a given processing time or rejected with a penalty that we must pay for. No job can be executed on more than one machine. We aim to find an assignment scheme for these jobs that satisfies the constraints mentioned above. The objective is to minimize the total processing time of executed jobs as well as the penalties from rejected jobs. The CA-BP is related to some practical applications such as edge computing, which involves selecting tasks and processing them on the edge servers of an internet network. As a result, a motivation of this study is to improve the efficiency of internet networks by limiting the lower bound of the number of objects processed by each edge server. Our main contribution is modifying the previous network flow algorithms to satisfy the lower capacity constraints, for which we design two exact combinatorial algorithms to solve the CA-BP. Our methodologies and results bring novel perspectives into other research areas related to the assignment problem.

1. Introduction

To address the substantial increase in mobile data traffic, edge computing, which refers to selecting tasks and processing them on the edge servers of the internet network [1], has emerged as a compelling solution to enhance computing performance. This approach involves the deployment of cloud computing services at the edges of the network, offering the potential for significant improvements [2]. Edge computing can effectively overcome the deficiencies of core network congestion and high latency that are commonly observed in conventional cloud computing systems.
The Cloud–Edge Collaborative Computing Framework (CECCF) [2] is a computing framework where the first step performs edge computing and the second transfers the remaining tasks to the cloud computing center for further processing. In most cases in the CECCF, the edge servers can be seen as machines. The objective of task offloading in the CECCF entails the strategic selection of specific tasks for execution by edge servers and delegating the remaining tasks to be processed by cloud computing centers, so as to minimize the total cost of processing tasks on the edge servers plus the cost of processing the remaining tasks in the cloud computing center.

1.1. Model Description

In order to use the internet network edges more efficiently, it is usually expected that the number of objects served by any edge server will exceed a certain number. Inspired by this thinking, we model the task offloading problem driven by the CECCF as a constrained assignment problem with bounds and penalties (CA-BP). Treating the cost of processing any task on the cloud computing center in the above context as a penalty, the CA-BP is modeled as follows. The input of the CA-BP consists of a set M = { M 1 , M 2 , , M m } of m machines (edge servers) with two integer functions l , u : M Z + , and a set J = { J 1 , J 2 , , J n } of n jobs (computation tasks) with a function p : J Z 0 + . It is necessary for each machine M i M to receive at least l i and at most u i jobs from J to execute. Each job J j J must be either executed on some machine M i M with its processing time c i j or rejected (executed by the cloud computing center) and given a penalty (computing cost) p j that we must pay for. No job in J can be executed on more than one machine. We aim to find an assignment scheme of these n jobs that satisfies the aforementioned constraints. The objective is to minimize the total processing time of executed jobs as well as the penalties from rejected jobs.

1.2. Literature Review

The assignment problem (AP) is one of the well-known combinatorial optimization problems, which has many wide applications in real life [3]. This assignment problem was first raised in 1952 by Votaw and Orden [4]. Subsequently, Kuhn [5] in 1955 presented the Hungarian method to solve the assignment problem and examined the actual solutions of the assignment problem and its variations. In the past six decades, the assignment problem has been deeply studied in the literature  [6,7,8,9].
According to the difference in the numbers of jobs and machines, assignment problems can be generally divided into two categories, namely one-to-one assignment problems (OTO-APs) and one-to-many assignment problems (OTM-APs) [3]. The OTO-AP is described as follows. Given a factory that has n machines and an order to process n jobs, each machine must receive exactly one job, and each job is only executed on one machine with its given processing time. An assignment scheme to minimize the total processing time is thus needed. Another kind of assignment problem is the OTM-AP. In this problem, the number of jobs and the number of machines are no longer equal, and a machine can execute multiple jobs.
The OTO-AP is mathematically related to the weighted bipartite matching problem in graph theory [3], and many efficient algorithms [3,5,10] have been presented to solve this problem, among which the most famous is the Hungarian method proposed in [5]. The OTM-AP can be viewed as a scheduling problem [11], which has been solved by the shortest processing time first (SPT) algorithm [12]. Moreover, by applying the circular flow method, the OTM-AP can be solved in polynomial time [10,13]. In addition, a variation of the OTM-AP is to minimize the maximum processing time of the machines. This problem and other related problems have been considered extensively in the literature [14,15,16,17].
With continuous research on the assignment problem, researchers have found that when the processing times of some jobs are very long, no matter which machines the jobs are assigned to for processing, it will cause the objective function value to become very large. As was surveyed by Shabtay et al. [18], in many cases, processing all jobs may not be a good strategy. A strategy which leads to penalties for rejecting some jobs would still have an acceptable total benefit; i.e., this scheme for n jobs would be better.
Based on the aforementioned idea, Bartal et al. [19] in 2000 first proposed the parallel machines scheduling problem with rejection, which is modeled as follows. Given a set M = { M 1 , , M m } of m parallel (identical) machines and a set J = { J 1 , , J n } of n jobs, each job J j has a processing time c j > 0 and a penalty p j 0 . The model is tasked with assigning these n jobs to m machines for execution, and the objective is to minimize the maximum processing time of machines as well as the penalties from rejected jobs. Bartal et al. [19] designed an online algorithm with the best-possible competitive ratio 5 + 3 2 for the online version and presented a polynomial time approximation scheme (PTAS) for the offline version. Following this pioneering work, scheduling problems with rejection have been studied extensively in the literature [20,21,22,23,24,25].

1.3. Main Contributions

The main contributions of this paper are as follows: (1) We are the first to attempt to model the task offloading problem in cloud–edge collaborative computing as the CA-BP, and based on our modeling method, many related task-offloading problems in cloud–edge collaborative computing can be solved. (2) Using a strategy that satisfies the lower capacity constraints first, we modify several previous network flow algorithms to match the capacity constraint with the upper and lower bounds. (3) Using the modified network flow algorithms in (2), we design two exact combinatorial algorithms to solve the CA-BP.
The remainder of this paper is organized as follows. In Section 2, we present some terminologies and fundamental lemmas to ensure the correctness of our algorithms. In Section 3, we design two exact combinatorial algorithms to solve the CA-BP. In Section 4, we present our conclusion and further directions.

2. Terminologies and Fundamental Lemmas

In this section, we provide some terminologies, notations, and fundamental lemmas in order to verify the algorithms used for solving the CA-BP.
For convenience, we denote I = ( J , M ; l , u ; c , p ) as an instance of the CA-BP, where M = { M 1 , M 2 , , M m } is a set of m machines and J = { J 1 , J 2 , , J n } is a set of n jobs. Each machine M i M must execute at least l i and at most u i jobs from J, and each job J j J must be either executed on some machine M i M within its processing time c i j or rejected with a penalty p j that we must pay for. No job can be executed on more than one machine.
For an arc set A and an element e, we use the notation e A to denote that the element e belongs to the set A. Given a network (directed graph) N with a source s and a sink t, we restate some definitions and problems in [26]. Note that from now on the network refers to the directed graph, unlike the “network” in the Abstract and Introduction.
Definition 1.
Given a network N = ( V , A ; u ; s , t ) with a source s, a sink t, and a capacity function u : A Z + , we define an ( s , t ) -flow f (in N) to be a function f : A R 0 + satisfying the following three conditions:
(1) 
The capacity constraint: for each arc e A , we have 0 f ( e ) u ( e ) , where f ( e ) is called the flow value of this arc e;
(2) 
The flow conservation: for each vertex v V \ { s , t } , we have e δ + ( v ) f ( e ) = e δ ( v ) f ( e ) , where δ + ( v ) = { ( v , x ) | ( v , x ) A } and δ ( v ) = { ( y , v ) | ( y , v ) A } ;
(3) 
For the source s, we have v ( f ) = e δ + ( s ) f ( e ) e δ ( s ) f ( e ) 0 .
We call v ( f ) the value of an ( s , t ) -flow f. In addition, for any ( s , t ) -flow f in a network N = ( V , A ; u , b ; s , t ) , where b : A R + is a unit cost function, we define the cost of flow f as b ( f ) = e A b ( e ) f ( e ) . Furthermore, if the value f ( e ) is an integer for each e A , this ( s , t ) -flow f is called an integer ( s , t ) -flow in N.
Problem 1
(the maximum flow problem). Given a network N = ( V , A ; u ; s , t ) with a capacity function u : A R + , the maximum flow problem is to find an ( s , t ) -flow f in N. The objective is to maximize the value v ( f ) = e δ + ( s ) f ( e ) e δ ( s ) f ( e ) among all ( s , t ) -flows in N.
Problem 2
(the minimum-cost flow problem). Given a network N = ( V , A ; u ; b ; s , t ) and a positive integer k, where u : A R + is a capacity function and b : A R + is a unit cost function, the minimum-cost flow problem is to find an ( s , t ) -flow f with value v ( f ) = k ; the objective is to minimize the cost b ( f ) = e A b ( e ) f ( e ) among all ( s , t ) -flows with value k in N.

3. Constrained Assignment Problem with Bounds and Penalties

In this section, we consider the constrained assignment problem with bounds and penalties (CA-BP). The objective is to minimize the total processing times of executed jobs as well as the penalties from rejected jobs. Without loss of generality, we assume that n m ; otherwise, there is no feasible solution to the CA-BP.
Given an instance I = ( J , M ; l , u ; c , p ) of the CA-BP, we use variables { x i j | i = 1 , 2 , , m and j = 1 , 2 , , n } simply as a scheme { x i j } m n , to represent an execution of n jobs on m machines, where a variable x i j = 1 indicates the job J j to be executed on that machine M i , and otherwise, x i j = 0 for any i { 1 , 2 , , m } and j { 1 , 2 , , n } . Then, we may obtain the linear integer programming (IP) to determine the CA-BP as follows:      ( I P ) min z = i = 1 m j = 1 n c i j x i j + j = 1 n p j ( 1 i = 1 m x i j )
s . t . i = 1 m x i j 1 f o r j = 1 , 2 , , n l i j = 1 n x i j u i f o r i = 1 , 2 , , m x i j { 0 , 1 } f o r i = 1 , 2 , , m a n d j = 1 , 2 , , n ,
where the first constraint indicates that each job is assigned on at most one machine to be executed; i.e., no job can be executed on more than one machine. The second constraint indicates that each machine M i must execute at least l i and at most u i jobs from J.
In order to optimally solve the CA-BP, and equivalently the linear integer programming (IP), we intend to transfer the CA-BP to the minimum-cost flow problem on a special network constructed in the following, where the flow value of each arc in such a problem must be between a lower bound and an upper bound. Figure 1 roughly illustrates the process of this transformation.
Given an instance I = ( J , M ; l , u ; c , p ) of the CA-BP, we can construct a network N = ( V , A ; l , u ; b ; s , t ) in the following ways. Denote V = J J 1 J 2 M { s , t } , where s and t are two special vertices; J 1 = { J 1 1 , J 2 1 , , J n 1 } and J 2 = { J 1 2 , J 2 2 , , J n 2 } are two sets of vertices copied from the set J = { J 1 , J 2 , , J n } , respectively; and A = A 1 A 2 A 3 A 4 A 5 A 6 , where A 1 = { ( s , J j ) | J j J } , A 2 = { ( J j , J j 1 ) | j = 1 , 2 , n } , A 3 = { ( J j , J j 2 ) | j = 1 , 2 , n } , A 4 = { ( J j 1 , M i ) | J j 1 J 1 , M i M }, A 5 = { ( J j 2 , t ) | J j 2 J 2 } , A 6 = { ( M i , t ) | M i M } . We may define lower and upper capacities and unit costs on these arcs as follows. For each arc e A 1 A 2 A 3 A 4 A 5 , let the lower capacity l ( e ) = 0 and the upper capacity u ( e ) = 1 . For each arc ( M i , t ) A 6 , let l ( M i , t ) = l i and u ( M i , t ) = u i . At the same time, let the unit cost b ( J j 1 , M i ) = c i j for each arc ( J j 1 , M i ) A 4 , the unit cost b ( J j 2 , t ) = p j for each arc ( J j 2 , t ) A 5 , and b ( e ) = 0 for each arc e A 1 A 2 A 3 A 6 . In addition, if there exists an ( s , t ) -flow f : A R 0 + in this network N = ( V , A ; l , u ; b ; s , t ) , to satisfy l ( e ) f ( e ) u ( e ) for each arc e A , we call this flow f a bounded ( s , t ) -flow in N.
Using the aforementioned construction, we obtain the following key lemma.
Lemma 1.
Given an instance I = ( J , M ; l , u ; c , p ) of the CA-BP, we can construct a network N = ( V , A ; l , u ; b ; s , t ) as mentioned above, such that there is a feasible solution with cost z on the instance I if and only if there is an integer-bounded ( s , t ) -flow f of value v ( f ) = n in N, where the cost is b ( f ) = z .
Proof. 
(Necessity) Suppose that there is a feasible scheme { x i j } m n with cost z for the linear integer programming ( I P ). We construct an integer ( s , t ) -flow f in N as follows. For every x i j in { x i j } m n , if x i j = 1 , let f ( s , J j ) = 1 , f ( J j , J j 1 ) = 1 , f ( J j 1 , M i ) = 1 , f ( J j , J j 2 ) = 0 , and f ( J j 2 , t ) = 0 ; otherwise, let f ( s , J j ) = 1 , f ( J j , J j 1 ) = 0 , f ( J j 1 , M i ) = 0 , f ( J j , J j 2 ) = 1 , and f ( J j 2 , t ) = 1 . For each M i M , let f ( M i , t ) = j J x i j , which implies that l i f ( M i , t ) = j J x i j u i . Using this construction, we easily obtain that f is an integer-bounded ( s , t ) -flow of value n in N, where the cost is b ( f ) = z .
(Sufficiency) Suppose that there exists an integer-bounded ( s , t ) -flow f with value n and cost b ( f ) in N. It is easy to see that f ( s , J j ) = 1 for each arc ( s , J j ) A 1 , implying that f ( J j , J j 1 ) + f ( J j , J j 2 ) = 1 , and f ( e ) { 0 , 1 } for each arc e A A 6 . We construct a scheme { x i j } m n for the linear integer programming (IP) as follows. For each arc ( J j 1 , M i ) A 4 , if f ( J j 1 , M i ) = 1 , denote x i j = 1 ; otherwise, denote x i j = 0 . Using this construction, for each M i M , we have j = 1 n x i j = f ( M i , t ) , implying that l i j = 1 n x i j u i . This easily shows that the scheme { x i j } m n is a feasible solution to the linear integer programming ( I P ), i.e., a feasible solution for the CA-BP, where the cost is z = b ( f ) .
This completes the proof of the lemma.  □
Using Lemma 1, we easily obtain the following.
Corollary 1.
The CA-BP has an optimal solution with cost z if and only if there exists a minimum-cost integer-bounded ( s , t ) -flow f of value n in N (mentioned above), where the cost b ( f ) = z .
In order to find the minimum-cost integer-bounded ( s , t ) -flow in N, we need the following definitions.
Definition 2
(The residual network). Suppose that f is a bounded ( s , t ) -flow with value k in the network N = ( V , A ; l , u ; b ; s , t ) . The residual network N f = ( V , A f ; u f ; s , t ) of N, with respect to f, is constructed in the following way: (1) At the beginning, let A f = Ø . (2) For each arc ( x , y ) A , we add two residual arcs ( x , y ) and ( y , x ) to A f , where the residual capacities are u f ( x , y ) = u ( x , y ) f ( x , y ) and u f ( y , x ) = f ( x , y ) l ( x , y ) . (3) Then, we delete arcs in A f whose residual capacities are 0.
Definition 3
(The incremental network). Suppose that f is a bounded ( s , t ) -flow with value k in the network N = ( V , A ; l , u ; b ; s , t ) . The incremental network N f = ( V , A f ; u f ; b f ; s , t ) of N, with respect to f, is constructed in the following way: (1) At the beginning, let A f = Ø . (2) For each arc ( x , y ) A , we add two incremental arcs ( x , y ) and ( y , x ) to A f , where the incremental capacities u f ( x , y ) = u ( x , y ) f ( x , y ) , u f ( y , x ) = f ( x , y ) l ( x , y ) and the unit incremental costs b f ( x , y ) = b ( x , y ) , b f ( y , x ) = b ( x , y ) . (3) Then, we delete all arcs in A f whose incremental capacities are 0.
Similarly, to solve the minimum-cost flow problem, we obtain a result for the bounded flow as follows. The method of proof is similar to Theorem 12.1 in [10]; we present its proof in detail for completeness.
Lemma 2.
Let f be an integer-bounded ( s , t ) -flow with value n in the network N = ( V , A ; l , u ; b ; s , t ) mentioned above. Then, f is a minimum-cost integer-bounded ( s , t ) -flow with value n if and only if the incremental network N f = ( V , A f ; u f ; b f ; s , t ) has no negative directed cycle with respect to the incremental cost function b f ( · ) .
Proof. 
(Necessity) Suppose, to the contrary, that there is a directed cycle C with a negative cost in the incremental network N f = ( V , A f ; u f ; b f ; s , t ) . We can augment the current flow f along C by some value θ Z + to obtain a new flow f with value n. According to the construction of the incremental network, the augment process does not violate the lower and upper bound constraints, so f is an integer-bounded ( s , t ) -flow with value n. Since the cost of C is negative, we have b ( f ) < b ( f ) , which contradicts the fact that f is a minimum-cost integer-bounded ( s , t ) -flow.
(Sufficiency) Assume that every directed cycle C in the incremental network N f has a non-negative cost. For each arc ( y , z ) A and ( z , y ) A f , we define χ C R | A | by the following:
χ C ( y , z ) : = 1 if C passes through ( y , z ) 1 if C passes through ( z , y ) 0 if C passes through neither ( y , z ) nor ( z , y )
Let f be another feasible integer-bounded ( s , t ) -flow. Then, f ˜ f f is a feasible circular flow, and we have
f ˜ = q = 1 | A | ξ q χ C q ,
where C 1 , , C | A | are directed cycles in the incremental network N f , and ξ 1 , , ξ | A | > 0 . That is, the flow f ˜ can be decomposed into flows on some circles. Therefore,
b ( f ) b ( f ) = b ( f f ) = q = 1 | A | ξ q b ( C q ) 0 .
Since every directed cycle C q has a non-negative total cost b ( C q ) , we have b ( f ) b ( f ) .
This completes the proof of the lemma.  □
According to the aforementioned results, we can use the following strategies to find a minimum-cost integer-bounded ( s , t ) -flow with value n in the network N = ( V , A ; l , u ; b ; s , t ) :
(1)
Firstly, we determine an integer ( s , t ) -flow with value i = 1 n l i in N to satisfy the lower bounds of arc capacities.
(2)
Secondly, we augment the flow obtained in (1) to a minimum-cost integer-bounded ( s , t ) -flow with value n in the network N = ( V , A ; l , u ; b ; s , t ) .
To solve stage (1), we construct another network N 1 = ( V , A ; u 1 , b ; s , t ) from the network N = ( V , A ; l , u ; b ; s , t ) , where V = V J 2 , A = A 1 A 2 A 4 A 6 , and the capacity is u 1 ( M i , t ) = l i for each ( M i , t ) A 6 and u 1 ( e ) = 1 for each e A 1 A 2 A 4 . This process is shown in Figure 2. In this network N 1 = ( V , A ; u 1 , b ; s , t ) , we can use the Edmonds–Karp algorithm [27] in polynomial time to find an integer ( s , t ) -flow with value  i = 1 n l i .
Using Lemma 2 and the two aforementioned stages, we design a combinatorial algorithm, denoted by A C A B P 1 (Algorithm 1), to solve the CA-BP.
Algorithm 1:  A C A B P 1
Input:
An instance I = ( J , M ; l , u ; c , p ) of the CA-BP.
Output:
A scheme { x i j } m n of the linear integer programming (IP) with respect to I, or “no solution”.
Begin 
 
Step 1.
If ( i = 1 m l i > n ), then
   Output “no solution”, and STOP.
Step 2.
For the given instance I = ( J , M ; l , u ; c , p ) of the CA-BP, as mentioned above, first construct a network N = ( V , A ; l , u ; b ; s , t ) , and then construct another network N 1 = ( V , A ; u 1 , b ; s , t ) .
Step 3.
Use the Edmonds–Karp algorithm [27] in the network N 1 = ( V , A ; u 1 , b ; s , t ) to produce an integer ( s , t ) -flow f 1 with value v ( f 1 ) = i = 1 m l i .
Step 4.
From the ( s , t ) -flow f 1 in N 1 , construct an integer ( s , t ) -flow f with value v ( f ) = i = 1 m l i in N as follows: (1) For each arc e A 1 A 2 A 4 A 6 ( = A ), let f ( e ) = f 1 ( e ) . (2) For each arc e A 3 A 5 ( = A \ A ), let f ( e ) = 0 .
Step 5.
While ( v ( f ) < n ) perform the following:
   5.1 For the current integer ( s , t ) -flow f in N, construct the corresponding residual network N f = ( V , A f ; u f ; s , t ) by Definition 2;
   5.2 Find a directed path P s t with the least arcs on the residual network N f = ( V , A f ; u f ; s , t ) , and augment the current integer-bounded ( s , t ) -flow f along P s t by the minimum augmentation capacity.
Step 6.
For the current integer-bounded ( s , t ) -flow f with value n in N, construct the corresponding incremental network N f = ( V , A f ; u f ; b f ; s , t ) by Definition 3. Apply the minimum mean cycle algorithm [28] to produce a minimum mean cycle C in N f with respect to function b f ( · ) .
Step 7.
If ( b f ( C ) < 0 ), then
   Along this minimum mean cycle C, augment this integer-bounded ( s , t ) -flow f to a new integer-bounded ( s , t ) -flow f by the minimum augmentation capacity, and go to Step 6.
Step 8.
From the ( s , t ) -flow f, construct a scheme { x i j } m n as follows: for each i = 1 , 2 , , m and j = 1 , 2 , , n , if f ( J j 1 , M i ) = 1 , choose x i j = 1 ; otherwise, x i j = 0 .
Step 9.
Output this scheme { x i j } m n .
End 
 
Using the algorithm A C A B P 1 , we obtain the following result.
Theorem 1.
The algorithm A C A B P 1 is an optimal algorithm to solve the CA-BP, and it runs in time O ( m 3 n 5 log ( m + n ) ) , where m and n are the numbers of machines and jobs, respectively.
Proof. 
By Lemma 2, it is easy to see that the algorithm A C A B P 1 can optimally solve the CA-BP. In the first stage (Steps 1–5) of the algorithm A C A B P 1 , we can use the Edmonds–Karp algorithm [27] to find an integer ( s , t ) -flow with value n in time O ( m 2 n 3 ) , where m and n are the numbers of machines and jobs, respectively. Furthermore, in the second stage (Steps 6–7) of the algorithm A C A B P 1 , we can use the minimum mean cycle algorithm [28] to find a minimum-cost ( s , t ) -flow with value n in time O ( m 3 n 5 log ( m + n ) ) . To sum up, the total running time of the algorithm A C A B P 1 is O ( m 3 n 5 log ( m + n ) ) .
This completes the proof of the theorem.  □
To facilitate the understanding of the algorithm A C A B P 1 , we give the following small example E : m = 2, n = 4. The penalty costs are p 1 = 3 , p 2 = 2 , p 3 = 2 , and p 4 = 1 , respectively. The processing time for each job is given in Table 1, and the upper and lower bound constraints for each machine are given in Table 2. Now, we consider the processes of applying algorithm A C A B P 1 to this example.
Applying Steps 1–4 of the algorithm A C A B P 1 , an integer ( s , t ) -flow f with value v ( f ) = 1 in N can be found as follows: (a) f ( s , J 2 ) = f ( J 2 , J 2 1 ) = f ( J 2 1 , M 1 ) = f ( M 1 , t ) = 1 ; (b) f ( e ) = 0 for each remaining arc e N . Then, Steps 5–7 augment the current integer ( s , t ) -flow f, and a new integer-bounded ( s , t ) -flow f with value v ( f ) = 4 in N is produced as follows: (1) f ( s , J 1 ) = f ( J 1 , J 1 1 ) = f ( J 1 1 , M 2 ) = f ( M 2 , t ) = 1 ; (2) f ( s , J 2 ) = f ( J 2 , J 2 1 ) = f ( J 2 1 , M 1 ) = 1 ; (3) f ( s , J 3 ) = f ( J 3 , J 3 1 ) = f ( J 3 1 , M 1 ) = 1 ; (4) f ( s , J 4 ) = f ( J 4 , J 4 2 ) = f ( J 4 2 , t ) = 1 ; (5) f ( M 1 , t ) = 2 ; (6) f ( e ) = 0 for each remaining arc e N . According to the flow f, a scheme { x i j } 23 with the optimal value z = 4 is found, where the optimal scheme { x i j } 23 is to reject job J 4 and to execute job J 1 on machine M 2 and jobs J 2 and J 3 on machine M 1 .
On the other hand, by further analyzing the construction of N, we hope to reduce the complexity of the algorithm A C A B P 1 to solve the CA-BP. Therefore, according to the other algorithms for solving the minimum-cost flow problem, we intend to design another algorithm to resolve the CA-BP. Using similar arguments as in [26], we obtain the following result.
Lemma 3.
Let f be a minimum-cost bounded ( s , t ) -flow with value k  ( < n ) in the network N = ( V , A ; l , u ; b ; s , t ) as mentioned above, where f ( M i , t ) l i for each ( M i , t ) A 6 . Let P s t be the shortest directed s–t path in N f with respect to the cost function b f ( · ) ,and f be an ( s , t ) -flow obtained when augmenting f along P s t by at most the minimum augmentation capacity θ on P s t , that is,
f i j = θ if ( y i , y j ) A ( P s t ) 0 if ( y i , y j ) A ( P s t )
Then, f = f + f is a minimum-cost bounded ( s , t ) -flow with value k + θ .
Proof. 
It is easy to see that f = f + f is a feasible bounded ( s , t ) -flow with value k + θ in N. Considering the incremental network N f + f , the reverse of arc e must be in P s t for any arc e A f + f \ A f .
Suppose, on the contrary, that f f + f is not a minimum-cost bounded ( s , t ) -flow. As we know from Lemma 2, there must be a negative cycle C in N f . Since f is the minimum-cost bounded ( s , t ) -flow with value k in the network N, we obtain that C must contain some arcs ( y i 1 , y j 1 ) , ( y i 2 , y j 2 ) , ⋯, ( y i l , y j l ) in A f + f \ A f , corresponding to arcs ( y j 1 , y i 1 ) , ( y j 2 , y i 2 ) , ⋯, ( y j l , y i l ) in P s t , where we denote the set of these 2 l arcs as A ¯ . Let N ¯ denote a network (which may have multiple arcs) formed by combining the vertices and arcs in P s t and negative cycle C . Obviously, in N ¯ , there is one more arc leaving the vertex s than entering it, there is one more arc entering t than leaving it, and the numbers of leaving arcs and entering arcs of any other vertex are equal.
Let N = N ¯ A ¯ , and update N ˜ by removing the isolated vertices in N . Then, N ˜ is the union of an st path and some cycles, denoted by
N ˜ = P s t + C 1 + + C k ¯ ,
where P s t is an st path in N f , C 1 , , C k ¯ are the cycles in N f , and b f ( C i ) 0 holds for each i = 1 , 2 , , k ¯ . Since b f ( N ˜ ) = b f ( N ) , b f ( A ¯ ) = 0 , b f ( N ¯ ) = b f ( P s t ) + b f ( C ) , and b f ( C ) < 0 , we have
b f ( P s t ) = b f ( N ¯ ) i = 1 k ¯ b f ( C i ) = b f ( N ) i = 1 k ¯ b f ( C i ) = b f ( P s t ) + b f ( C ) b f ( A ¯ ) i = 1 k ¯ b f ( C i ) b f ( P s t ) ,
contradicting the choice of P s t . Hence, f f + f is the minimum-cost bounded ( s , t ) -flow with value k + θ in the network N.
This completes the proof of the lemma.  □
Using Lemma 3, we design a combinatorial algorithm, denoted by A C A B P 2 (Algorithm 2), to resolve the CA-BP.
Algorithm 2:  A C A B P 2
Input:
An instance I = ( J , M ; l , u ; c , p ) of the CA-BP.
Output:
A scheme { x i j } m n of the linear integer programming IP with respect to I, or “no solution”.
Begin 
 
Step 1.
If ( i = 1 m l i > n ) then
   Output “no solution”, and STOP.
Step 2.
For the given instance I = ( J , M ; l , u ; c , p ) of the CA-BP, as mentioned above, first construct a network N = ( V , A ; l , u ; b ; s , t ) , and then construct another network N 1 = ( V , A ; u 1 , b ; s , t ) .
Step 3.
Use the successive shortest path algorithm [10,29] in the network N 1 = ( V , A ; u 1 , b ; s , t ) to produce a minimum-cost integer ( s , t ) -flow f 1 with value v ( f 1 ) = i = 1 m l i .
Step 4.
From the ( s , t ) -flow f 1 in N 1 , construct an integer-bounded ( s , t ) -flow f with value i = 1 m l i in N as follows: (1) For each arc e A 1 A 2 A 4 A 6 , let f ( e ) = f 1 ( e ) . (2) For each arc e A 3 A 5 , let f ( e ) = 0 .
Step 5.
While ( v ( f ) < n ), perform the following:
   5.1 For the current integer-bounded ( s , t ) -flow f in N, construct the corresponding incremental network N f = ( V , A f ; u f ; b f ; s , t ) by Definition 3.
   5.2 Find a shortest directed path P s t with respect to b f ( · ) on the incremental network N f = ( V , A f ; u f ; b f ; s , t ) , and augment the current integer-bounded ( s , t ) -flow f along P s t by the minimum augmentation capacity.
Step 6.
For the integer ( s , t ) -flow f in N = ( V , A ; l , u ; b ; s , t ) , construct a scheme { x i j } m n as follows: for each i = 1 , 2 , , m and j = 1 , 2 , , n , if f ( J j 1 , M i ) = 1 , we choose x i j = 1 ; otherwise, x i j = 0 .
Step 7.
Output this scheme { x i j } m n .
End 
 
Using algorithm A C A B P 2 , we obtain the following result.
Theorem 2.
The algorithm A C A B P 2 can optimally solve the CA-BP, and it runs in time O ( n 3 ) , where n is the number of jobs.
Proof. 
Using the successive shortest path algorithm [10,29], the first stage (Steps 1–4) of algorithm A C A B P 2 produces a minimum-cost integer ( s , t ) -flow f 1 in the network N 1 = ( V , A ; u 1 , b ; s , t ) , which can be transformed into a minimum-cost bounded ( s , t ) -flow with value i = 1 m l i in N. In subsequent steps, Lemma 3 guarantees the optimality of the algorithm A C A B P 2 .
The complexity of the algorithm A C A B P 2 can be determined as follows: (1) Using the successive shortest path algorithm, Steps 1–4 need time O ( n 3 ) to find a minimum-cost ( s , t ) -flow with value i M l i , where n is the number of jobs. (2) Similarly, the other steps need at most time O ( n 3 ) . Hence, the algorithm A C A B P 2 needs a total time O ( n 3 ) .
This completes the proof of the theorem. □
As an illustration of the algorithm A C A B P 2 , we also apply the algorithm A C A B P 2 to the example E mentioned above: a four-job example to be scheduled on two machines. Applying Steps 1–4 of the algorithm A C A B P 2 , a minimum-cost integer ( s , t ) -flow f 1 with value v ( f 1 ) = i = 1 2 l i = 1 in N can be found as follows: (1) f ( s , J 3 ) = f ( J 3 , J 3 1 ) = f ( J 3 1 , M 1 ) = f ( M 1 , t ) = 1 ; (2) f ( e ) = 0 for each remaining arc e N . Then, executing Step 5 to augment the current minimum-cost integer ( s , t ) -flow f along P s t , a new integer-bounded ( s , t ) -flow f in N is produced. According to the flow f, a scheme { x i j } 23 is found by the algorithm A C A B P 2 , where the scheme { x i j } 23 is to reject job J 4 and execute job J 1 on machine M 2 and jobs J 2 and J 3 on machine M 1 . It is easy to verify that the optimal value is v ( f ) = 4 , and { x i j } 23 is an optimal scheme.

4. Conclusions and Further Research

In this paper, we consider the constrained assignment problem with bounds and penalties (CA-BP), and we obtain the following results:
(1)
We design a combinatorial algorithm to optimally solve the CA-BP, and it runs in polynomial time O ( m 3 n 5 log ( m + n ) ) .
(2)
By considering the construction of auxiliary networks, we design another combinatorial algorithm to optimally solve the CA-BP, and it runs in polynomial time O ( n 3 ) .
Intuitively, the algorithm A C A B P 2 is obviously better, and its time complexity is lower than that of the algorithm A C A B P 1 . However, in some cases in actual operation, the algorithm A C A B P 1 can perform better; for example, in some instances, the networks N and N 1 satisfy the conditions that (1) the number of augmenting flow is lower, implying that Steps 3–5 of algorithm A C A B P 1 can be executed in time O ( m n ) , and (2) for each flow f, the corresponding incremental network N f has fewer negatively directed cycles, so the algorithm A C A B P 1 can be executed in time O ( m n 2 ) , which is slightly better than the algorithm A C A B P 2 . This means that although the time complexity of the algorithm A C A B P 2 is lower, in some special cases, the algorithm A C A B P 2 can perform better.
In addition, we introduce several interesting future research topics. First, a further challenge is to reduce the complexity of these two combinatorial algorithms for the CA-BP. Second, it would be interesting to investigate the online version of this model, or its offline versions, with other objectives. Third, it would be interesting to study a more general setting of processing time, i.e., our model with learning effects or deterioration effects [30,31,32]. Finally, it would also be an interesting direction to consider our problem with release dates and submodular rejection penalties [33], which is defined as follows.
Given a set M = { M 1 , M 2 , , M m } of m machines (edge servers) with two integer functions l , u : M Z + , and a set J = { J 1 , J 2 , , J n } of n jobs (computation tasks), each job J j J has a processing time c i j and a release time r j , where the job can be processed at or after its release time. For the penalty submodular function π ( · ) : 2 J R 0 , without loss of generality, we assume that π ( Ø ) = 0 . The constrained assignment problem with release times and submodular penalties aims to find a partition ( A , R ) of J, where A is the set of jobs that are processed on machines and R ( = J \ A ) is the set of rejected jobs. The objective is to minimize the total processing time of executed jobs as well as the rejection penalty π ( R ) .

Author Contributions

Conceptualization, G.H., P.P. and J.L.; formal analysis, G.H. and P.P.; validation, J.L.; resources, G.H. and P.P.; writing—original draft preparation, G.H.; writing—review and editing, P.P. and G.H.; methodology, G.H.; supervision, J.L. All authors have read and agreed to the published version of the manuscript.

Funding

This paper was supported by the National Natural Science Foundation of China (No. 12101593, 12361066). Junran Lichen was also supported by Fundamental Research Funds for the Central Universities (No. buctrc202219). Guojun Hu and Pengxiang Pan were also supported by the Project of Yunling Scholars Training of Yunnan Province. The work was supported by Yunnan University and the Beijing University of Chemical Technology.

Data Availability Statement

No new data were created or analyzed in this study. Data sharing is not applicable to this article.

Acknowledgments

The authors would like to thank the anonymous referees for their excellent comments and suggestions on how to improve the quality and the presentation of the paper.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Ji, T.; Wan, X.; Guan, X.; Zhu, A.; Ye, F. Towards optimal application offloading in heterogeneous edge-cloud computing. IEEE Trans. Comput. 2023, 72, 3259–3272. [Google Scholar] [CrossRef]
  2. Jin, H.; Gregory, M.A.; Li, S. A review of intelligent computation offloading in multiaccess edge computing. IEEE Access 2022, 10, 71481–71495. [Google Scholar] [CrossRef]
  3. Pentico, D.W. Assignment problems: A golden anniversary survey. Eur. J. Oper. Res. 2007, 176, 774–793. [Google Scholar] [CrossRef]
  4. Votaw, D.F.; Orden, A. The personnel assignment problem. In Symposium on Linear Inequalities and Programming; Planning Research Division, Comptroller, Headquarters US Air Force: Washington, DC, USA, 1952; pp. 155–163. [Google Scholar]
  5. Kuhn, H.W. The Hungarian method for the assignment problem. Nav. Res. Logist. Q. 1955, 2, 83–97. [Google Scholar] [CrossRef]
  6. Morita, K.; Shiroshita, S.; Yamaguchi, Y.; Yokoi, Y. Fast primal-dual update against local weight update in linear assignment problem and its application. Inf. Process. Lett. 2024, 183, 106432. [Google Scholar] [CrossRef]
  7. Karsu, O.; Azizoglu, M. An exact algorithm for the minimum squared load assignment problem. Comput. Oper. Res. 2019, 106, 76–90. [Google Scholar] [CrossRef]
  8. Aksoy, M.; Yanik, S.; Amasyali, M.F. Reviewer assignment problem: A systematic review of the literature. J. Artif. Intell. Res. 2023, 76, 761–827. [Google Scholar] [CrossRef]
  9. Misevičius, A.; Verenė, D. A hybrid genetic-hierarchical algorithm for the quadratic assignment problem. Entropy 2021, 23, 108. [Google Scholar] [CrossRef]
  10. Schrijver, A. Combinatorial Optimization: Polyhedra and Efficiency; Springer: Berlin/Heidelberg, Germany, 2003. [Google Scholar]
  11. Hoogeveen, H. Multicriteria scheduling. Eur. J. Oper. Res. 2005, 167, 592–623. [Google Scholar] [CrossRef]
  12. Conway, R.W.; Maxwell, W.L.; Miller, A. Theory of Scheduling; Addison-Wesley Publishing Co.: Boston, MA, USA, 1967. [Google Scholar]
  13. Hu, Y.; Liu, Q. A network flow algorithm for solving generalized assignment problem. Math. Probl. Eng. 2021, 2021, 5803092. [Google Scholar] [CrossRef]
  14. Wei, Z.J.; Wang, L.Y.; Zhang, L.; Wang, J.B.; Wang, E. Single-machine maintenance activity scheduling with convex resource constraints and learning effects. Mathematics 2023, 11, 3536. [Google Scholar] [CrossRef]
  15. Graham, R.L.; Lawler, E.L.; Lenstra, J.K.; Rinnooy Kan, A.H.G. Optimization and approximation in deterministic sequencing and scheduling: A survey. Ann. Discrete Math. 1979, 5, 287–326. [Google Scholar] [CrossRef]
  16. Ebenlendr, T.; Krčál, M.; Sgall, J. Graph balancing: A special case of scheduling unrelated parallel machines. Algorithmica 2014, 68, 62–80. [Google Scholar] [CrossRef]
  17. Nguyen, T.T.; Rothe, J. Improved bi-criteria approximation schemes for load balancing on unrelated machines with cost constraints. Theor. Comput. Sci. 2021, 858, 35–48. [Google Scholar] [CrossRef]
  18. Shabtay, D.; Gaspar, N.; Kaspi, M. A survey on offline scheduling with rejection. J. Sched. 2013, 16, 3–28. [Google Scholar] [CrossRef]
  19. Bartal, Y.; Leonardi, S.; Marchetti-Spaccamela, A.; Sgall, J.; Stougie, L. Multiprocessor scheduling with rejection. SIAM Discret. Math. 2000, 13, 64–78. [Google Scholar] [CrossRef]
  20. Engels, D.W.; Karger, D.R.; Kolliopoulos, S.G.; Sengupta, S.; Uma, R.N.; Wein, J. Techniques for scheduling with rejection. J. Algorithms 2003, 49, 175–191. [Google Scholar] [CrossRef]
  21. Ou, J.; Zhong, X.; Wang, G. An improved heuristic for parallel machine scheduling with rejection. Eur. J. Oper. Res. 2015, 241, 653–661. [Google Scholar] [CrossRef]
  22. Li, W.; Li, J.; Zhang, X.; Chen, Z. Penalty cost constrained identical parallel machine scheduling problem. Theor. Comput. Sci. 2015, 607, 181–192. [Google Scholar] [CrossRef]
  23. Kones, I.; Levin, A. A unified framework for designing EPTAS for load balancing on parallel machines. Algorithmica 2019, 81, 3025–3046. [Google Scholar] [CrossRef]
  24. Zhang, L.; Lu, L.; Yuan, J. Single machine scheduling with release dates and rejection. Eur. J. Oper. Res. 2009, 198, 975–978. [Google Scholar] [CrossRef]
  25. Koulamas, C.; Steiner, G. New results for scheduling to minimize tardiness on one machine with rejection and related problems. J. Sched. 2021, 24, 27–34. [Google Scholar] [CrossRef]
  26. Korte, B.; Vygen, J. Combinatorial Optimization: Theory and Algorithms; Springer: Berlin/Heidelberg, Germany, 2012. [Google Scholar] [CrossRef]
  27. Edmonds, J.; Karp, R.M. Theoretical improvements in algorithmic efficiency for network flow problems. J. ACM 1972, 19, 248–264. [Google Scholar] [CrossRef]
  28. Karp, R.M. A characterization of the minimum cycle mean in a digraph. Discret. Math. 1978, 23, 309–311. [Google Scholar] [CrossRef]
  29. Ahuja, R.; Magnanti, T.; Orlin, J. Network Flows: Theory, Algorithms, and Applications; Prentice-Hall: Englewood Cliffs, NJ, USA, 1993. [Google Scholar]
  30. Qian, J.; Zhan, Y. The due date assignment scheduling problem with delivery times and truncated sum-of-processing-times-based learning effect. Mathematics 2021, 9, 3085. [Google Scholar] [CrossRef]
  31. He, H.; Zhao, Y.; Ma, X.; Lu, Y.Y.; Ren, N.; Wang, J.B. Study on scheduling problems with learning effects and past sequence delivery times. Mathematics 2023, 11, 4135. [Google Scholar] [CrossRef]
  32. Lv, D.; Xue, J.; Wang, J. Minmax common due-window assignment scheduling with deteriorating Jobs. J. Oper. Res. Soc. China 2023. [Google Scholar] [CrossRef]
  33. Liu, X.; Xiao, M.; Li, W.; Zhu, Y.; Ma, L. Algorithms for single machine scheduling problem with release dates and submodular penalties. J. Comb. Optim. 2023, 45, 105. [Google Scholar] [CrossRef]
Figure 1. Construction of a network N = ( V , A ; l , u ; b ; s , t ) .
Figure 1. Construction of a network N = ( V , A ; l , u ; b ; s , t ) .
Mathematics 11 04883 g001
Figure 2. Construction of a network N 1 = ( V , A ; u 1 , b ; s , t ) .
Figure 2. Construction of a network N 1 = ( V , A ; u 1 , b ; s , t ) .
Mathematics 11 04883 g002
Table 1. Processing time for example E .
Table 1. Processing time for example E .
J 1 J 2 J 3 J 3
M 1 3112
M 2 1213
Table 2. Upper and lower bound constraints for example E .
Table 2. Upper and lower bound constraints for example E .
i12
l i 10
u i 32
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Hu, G.; Lichen, J.; Pan, P. Two Combinatorial Algorithms for the Constrained Assignment Problem with Bounds and Penalties. Mathematics 2023, 11, 4883. https://doi.org/10.3390/math11244883

AMA Style

Hu G, Lichen J, Pan P. Two Combinatorial Algorithms for the Constrained Assignment Problem with Bounds and Penalties. Mathematics. 2023; 11(24):4883. https://doi.org/10.3390/math11244883

Chicago/Turabian Style

Hu, Guojun, Junran Lichen, and Pengxiang Pan. 2023. "Two Combinatorial Algorithms for the Constrained Assignment Problem with Bounds and Penalties" Mathematics 11, no. 24: 4883. https://doi.org/10.3390/math11244883

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop