Abstract
There are two customers and two uniform machines. Each customer has a set of jobs. These jobs may be processed on a uniform machine or may be outsourced with an outsourcing cost. Every customer has an objective function for his jobs. Manufacturers want to find the best scheduling scheme for both customers. We present algorithms for these problems for the first time.
MSC:
90B36
1. Introduction
Scheduling is the process of arranging, controlling, and optimizing work and workloads in various manufacturing productions. With the progress of society and the rapid development of the economy, there are more and more scheduling problems in our daily life, such as, for large-scale engineering projects, how to arrange different personnel and the supply of different equipment, or, for express companies, how to schedule the delivery sequences for various online shopping commodities so that the packages can be delivered to customers at the fastest speed. These are all scheduling problems. There are many other applications of scheduling in the service industry, manufacturing, transportation, computer science, and other fields in modern life. Good (or bad) scheduling directly affects the cost and the profit of manufacturers.
In classical scheduling problems, the jobs often belong to one customer (agent). However, in practical problems, the jobs usually belong to multiple customers (agents). For example, a manufacturer needs to face different customers at the same time. Each customer has his own jobs (products) which need to be processed on the same assembly lines. Then, decision makers must decide how to schedule these jobs to be processed on machines so as to maximize profit and satisfy different customers’ requirements. Therefore, decision makers need to balance the interests of these customers. This leads to multi-customer (agent) scheduling.
Baker and Smith [1] first studied two-customer scheduling. Their problem is , where is objective function of the first customer and is the objective function of the second customer. When , , they provided polynomial-time algorithms. For problems , and , they also provided polynomial-time algorithms. Moreover, they proved that problem is unary NP-hard (there are no polynomial-time algorithms). Though algorithms in [1] solved the problems completely, some algorithms are not so good. Later, Yuan et al. [2] updated some results in [1]. Agnetis et al. [3] also considered two-customer scheduling. Agnetis et al. first proposed the constrained scheduling problem (, L is a constant) and the Pareto-optimal problem . In order to solve the Pareto-optimal problem , they first solved two constrained problems, and , where is the optimal solution of problem . Let be the optimal solution of problem . The authors then proved that is a Pareto-optimal solution of problem . With the change in L and a repetition of the above, they found all the Pareto-optimal solutions to problem . Moreover, the authors also proved that problem is binary NP-hard. The algorithms provided in this paper are pioneering and skillful. These algorithms solved their problems perfectly. Agnetis et al. presented very valuable methods and ideas to find all Pareto-optimal solutions for multi-customer scheduling. Later, many researchers used their ideas to study other constrained problems and Pareto-optimal problems involving multiple customers. Most of the algorithms in Agnetis et al. [3] can be applied to solve problems which have polynomial-time algorithms. Since our problems in this paper are more complex and NP-hard, our algorithms are complex. We present pseudo-polynomial-time algorithms. In general, the speeds of polynomial-time algorithms are usually faster than those of pseudo-polynomial-time algorithms. More and more researchers have become interested in multi-customer scheduling. For other related results about multi-customer scheduling until 2014, the readers can refer to Agnetis et al. [4]. Feng et al. [5] studied two-customer scheduling with outsourcing on a single machine. The algorithms provided in [5] solved all their problems completely. The details for [5] are described below.
Later, problems studied by researchers became more sophisticated. Different problems may have different characteristics and need different algorithms for solving them. For most problems, existing algorithms cannot be used directly to solve new problems. Therefore, researchers try to find new algorithms for their problems. Sometimes these algorithms are capable of completely solving the problems considered. Sometimes these algorithms are capable of partially solving the problems.
As for recent research on multi-customer scheduling, Zhang et al. [6] considered the Pareto-optimal problem . They provided an algorithm to solve their problem and tested this algorithm on experimental data. The algorithm was capable of completely solving their problem. Zhao and Yuan [7] considered the Pareto-optimal problem . For the objective functions studied in Oron et al. [8], they proved that problems can be solved polynomially or pseudo-polynomially. However, for and , the exact complexities of problems , and are not known; that is, their algorithms were capable of partially solving their problems. Li and Yuan [9] considered single-machine scheduling with multiple customers. They presented algorithms and solved their problems completely. He and Yuan [10] studied three problems , , and presented polynomial-time algorithms that also solved their problems completely. Feng et al. [11] studied a two-customer Pareto-optimal problem on a bound parallel-batching machine and found a polynomial-time algorithm for the problem. Recently, He et al. [12] considered a more general case of the problem in [11]. He et al. also provided a better algorithm with a lower time bound. Chen et al. [13] studied two-customer Pareto scheduling with their own equal processing time. They solved all the problems when objective functions of two customers were related to late work. They tested their algorithms on experimental data, which revealed that their algorithms were capable of completely solving the problems considered.
If we think of outsourcing as rejection, then our problem with outsourcing can be considered a problem with rejection. In the early stage of scheduling theory, jobs are usually not allowed to be outsourced. However, the assumption is obviously inconsistent with the development of society. In order to maximize profits, manufacturers often outsource or reject some jobs, which leads to scheduling with outsourcing.
Bartal et al. [14] first studied scheduling with outsourcing. The jobs in their problems were processed on identical parallel machines. Hoogeveen et al. [15] studied scheduling with outsourcing if the jobs can be preempted. Ou and Zhong [16,17] studied problems with outsourcing. Lu et al. [18] considered problems , , where was the set of the jobs which cannot be outsourced. For the taxonomy and review, the readers can refer to Slotnick [19] and Shabtay et al. [20]. Each algorithm in [14,17] has its own character and is different from existing algorithms. Zou and Yuan [21] studied single-machine scheduling with job outsourcing and a maintenance interval of a fixed length on the machine. The authors of [18,21] all showed that their problems were NP-hard. The proof of NP-hardness required good skills to construct instances. The construction in [18,21] is entirely different. Each method was skillful and solved their problems completely.
Much research is focused on multi-customer scheduling and much on scheduling with outsourcing. However, there is little research on multi-customer scheduling with outsourcing, which motivates us to study the problems in this paper.
Feng et al. [5] first considered two-customer scheduling with outsourcing on a single machine. For each case of objective pairs of two customers, the authors proved that problem was NP-hard. If all jobs of customer B were not allowed to be outsourced, they gave an approximation algorithm. Finally, Feng et al. [5] presented exact complexities for several NP-hard problems. Proof of NP-hardness was performed using the Partition problem for reduction in [5]. The Partition problem is a well-known NP-hard problem in scheduling theory. However, the instance construction, data, and approximation algorithm were first presented in [5]. Later, Li and Lu [22] generalized the problems in Feng et al. [5] to two identical parallel machines. Using similar dynamic programming algorithms as Feng et al. [5], they provided algorithms for the problems.
This paper studies two-customer scheduling problems with outsourcing on two uniform machines. As far as we know, this is the first study of multi-customer scheduling with outsourcing on uniform machines. Since all problems have been proved to be NP-hard on a machine by Feng et al. [5], all the problems considered in this paper are also NP-hard. We provide exact complexities for these problems.
For the sake of presentation, we usually used three fields introduced by Graham et al. [23] to denote a scheduling problem. specifies the machine environment. The machines are as follows: identical parallel machines denoted by P, and each machine has the same speed; uniform parallel machines denoted by Q, and each machine has a speed ; and unrelated parallel machines denoted by R, and each machine has a job-dependent speed for job . Other machine environments have job shops, flow shops, open shops, and mixed shops. denotes job characteristics and constraint conditions. Other variables include (release date of job ), (due date of job ), (weight of job ), (outsourcing cost of job ), (jobs can be outsourced), etc. denotes the optimal criterion, such as the maximum completion time , the maximum lateness , the sum of the completion times , etc.
For most research on multi-customer (agent) scheduling, the main scheduling models focus on the following three cases (with two customers used as an example). and are the objective functions for each of the two customers, respectively.
(1) Constrained scheduling . The goal is to find an optimal sequence to minimize under condition , where .
(2) Scheduling with weighted objective functions , where and are weight coefficients. The goal is to find an optimal schedule that minimizes .
(3) Pareto-optimal scheduling . The goal is to find all schedules that minimize and simultaneously.
In this paper, we consider a combination of both (1) and (2).
2. Notations
For two-customer scheduling with outsourcing on two uniform machines, let A and B be two customers. We use the following notation in this paper, . All parameters are integers in this paper:
- is the due date of job .
- is the outsourcing cost of job .
- denotes the total outsourcing cost of all jobs of customers x.
- is an objective function of jobs processed on machine () of customers x; in this paper, .
- denotes the set of jobs of customers x, that is, .
- are job indexes.
- K is a positive integer and the upper bound of the constraint conditions.
- () denotes machine or .
- is the number of jobs of customers x.
- is the processing time of job .
- denotes the sum of processing times of all the jobs of the two customers.
- Q denotes that the machine environment is uniform parallel machines.
- denotes that there are two uniform parallel machines.
- is the processing speed of machine ().
- is the weight of job .Moreover, we also use the following notation for a given schedule , :
- is the set of jobs of customer x which cannot be outsourced in .
- is the set of jobs of two customers processed on machine among , in . If there is no ambiguity, we use instead of .
- is the set of jobs of customer B processed on machine among , in . If there is no ambiguity, we use instead of .
- is the total outsourcing cost of jobs of customer x in . If there is no ambiguity, we use instead of .
- is the completion time of job in .
- is the maximum completion time of the jobs of customers x in .
- is the total completion time of jobs in .
- is the lateness of job in (penalty if job is completed after its due date).
- is the maximum lateness of jobs of customers x in .
- is the set of jobs of customer x which are outsourced in .
- is the set of jobs of customer A which are outsourced among in . If there is no ambiguity, we use instead of .
- is the set of jobs of customer B which are outsourced among in . If there is no ambiguity, we use instead of .
- is the tardy indicator number of job in , that is, if , and if .
- is the maximum weighted completion time of the jobs of customers x in .
- is the number of weighted tardy of customers x in .
3. Problem Statement
There are two uniform parallel machines () whose processing speeds are denoted by and , where is a positive integer. There are two customers A and B, and each customer has a set of jobs , . Moreover, the intersection of the two sets is empty. For a job of customers x, may be processed on (or ) and cannot be preempted. may be outsourced. If is outsourced, then producers need to pay an outsourcing cost . If is not outsourced, then the actual processing time on machine is (). All jobs can begin the process at zero. Each job has an objective function if it is processed on a uniform machine. The goal of scheduling is to find a feasible sequence which minimizes subject to the constraint that . Our problem can be written as , as by Graham et al. [23].
4. Problem
We use three orders in the following discussion. Then, we first give them, .
Definition 1.
GW order: Jobs are processed in non-increasing order of .
Definition 2.
SPT order: Jobs are processed in non-decreasing order of .
Definition 3.
EDD order: Jobs are processed in non-decreasing order of .
First, for problem , we have
Lemma 1.
For problem , there is an optimal order π with the following two properties.
(1) Jobs in are processed in the GW order on every machine.
(2) Jobs in are processed in the EDD order on every machine.
Proof.
Suppose that is an optimal sequence. If property (1) does not hold for , then there must be two jobs on machine () in which job is scheduled before but . We obtain a schedule by putting job directly after job . Then, the completion times of job and jobs ordered between and are decreased in . The completion time of job is in . For the remaining jobs, the completion times do not change. Since , then for any job in sequence , we have . By continuing in this way, we obtain a sequence with property (1).
Property (2) can be proved in a similar manner as property (1). □
By Lemma 1 , we re-label all jobs of the two customers so that and .
Theorem 1.
Problem can find an optimal sequence in time.
Proof.
Suppose that , () are the current jobs of the two customers in consideration. These jobs are classified into several sets as follows, , .
- : set of jobs of two customers processed on machine in the current sequence.
- : set of jobs of customer B processed on machine in the current sequence.
- : set of jobs of customer A which are outsourced among in the current sequence.
- : set of jobs of customer B which are outsourced among in the current sequence.
Let be the optimal sequence for , , and let be the optimal sequence for , .
We denote by the minimum scheduling function value of customer A satisfying the following conditions:
(a) The current jobs in consideration in the current sequence are , ;
(b)
(c)
(d)
Now, for an optimal sequence for , , we have six cases as follows.
Case 1. is outsourced.
Since is outsourced, in , . . Moreover, , and . Therefore, .
Case 2. Machine finally processes .
Then, in , . . . , and . Thus .
Case 3. Machine finally processes .
Similar to Case 2, for , we have . . . , and . So .
Case 4. is outsourced.
Thus, for , , and . , . We have , where .
Case 5. Machine finally processes .
Consider , so . . , where . , and . Then if , and if , where .
Case 6. Machine finally processes .
Similar to Case 5, we have if , and if .
If we summarize the six cases, we can obtain
Algorithm
The initial values:
The recursive equation:
The optimal value
Since Algorithm has at most states, if (when is processed on machine ) or if (when is processed on machine ), the number of states is at most . Every iteration needs time; otherwise, every iteration needs a constant time. Thus, the theorem holds. □
Suppose for all jobs of customer A and for all jobs of customer B, the above problem changes into . The variable L can be omitted. Thus, we have
Corollary 1.
Time bound for solving is .
Using a similar method, one can solve problems and . We only give the following two theorems.
Theorem 2.
Time bound for solving is .
Theorem 3.
Time bound for solving is .
5. Problem
For , we present a lemma. Since it is easy to prove, we omitted the proof.
Lemma 2.
For problem , there exists an optimal sequence π in which jobs in are processed according to the SPT order. and jobs in are processed in the EDD order.
Then, by Lemma 2, re-number all jobs so that and .
Theorem 4.
Time bound for solving is .
Proof.
Suppose that , () are the current jobs of the two customers in consideration in the current sequence. We classify these jobs into sets , , and . The definitions of these sets are same as those in Theorem 1. Let be the optimal sequence for , , and be the optimal sequence for , .
Let denote the minimum scheduling objective value of customer A satisfying the following conditions:
(a) The current jobs in consideration in the current sequence are , ;
(b)
(c)
(d)
Furthermore, we distinguish six cases as follows.
Case 1. is outsourced. Thus, for , the , L, values do not change. contributes to . Thus, .
Case 2. Machine finally processes . Then, in , . . . . contributes to . Therefore, .
Case 3. Machine finally processes . Thus, in , , . Note that the other values do not change. contributes to . Therefore, .
Case 4. is outsourced. Thus, in , . The other values do not change. Therefore, .
Case 5. finally processes . Then, in , . , . . , where . Thus, if and if , where .
Case 6. finally processes . Similar to Case 5, if and if , where .
If we summarize the six cases, we have
Algorithm
The initial values:
The recursive equation:
The optimal value can be obtained from
Since Algorithm has at most states, if (when is processed on machine ) or if (when is processed on machine ), then it has at most states and the time of every iteration is ; otherwise, the time of every iteration is a constant. Therefore, the theorem holds. □
If all , then the problem is . Thus,
Corollary 2.
Time bound for solving is ).
Similarly, for , we have
Theorem 5.
Time bound for solving is .
6. Problem
First, has similar properties as Lemmas 1 and 2; we thus omitted the proof.
Lemma 3.
Problem has the best sequence π in which jobs in are processed in the SPT order and early jobs in are sequenced in the EDD order (that is, the late jobs of customer B are also outsourced).
According to this lemma, all jobs are to be re-labeled so that and .
Theorem 6.
Time bound for solving is
.
Proof.
Suppose that , are the current jobs of the two customers in consideration. The definitions of sets and are same as the above. Similarly, for and , definitions are also same to the above.
Let denote the minimum scheduling objective value of customer A satisfying the following conditions:
(a) The current jobs in consideration in the current sequence are , ;
(b)
(c)
Six cases still need to be considered.
Case 1. is outsourced. Thus, in , . . contributes to . Thus, .
Case 2. Machine finally processes . Then, in , , and . . contributes to . Therefore, .
Case 3. finally processes . Thus, in , . Note that the other values do not change. contributes to . Thus, .
Case 4. finally processes . Then, in , . The other values do not change. Thus, , where .
Case 5. finally processes . Similar to Case 4, , where .
Case 6. is late. Thus, in , , . . Therefore, , where .
If we summarize the six cases, we have
Algorithm :
The initial values:
The recursive equation:
The optimal value can be obtained from
The maximum number of states in the recursive equation is , and the time of each iteration is a constant. Hence, the theorem holds. □
7. Conclusions
This paper studied two-customer scheduling with outsourcing on two uniform machines. The goal was to obtain a feasible sequence which minimizes the criterion of customer A such that the criterion of customer B satisfies . Since the problem was proved to be NP-hard for different combinations of and on a single machine, all the problems considered here are NP-hard. Up to now, researchers have not discovered the exact complexities for these problems on two uniform machines. We present the exact complexities of for the first time in this paper. For further research, one can consider efficient approximate algorithms for these problems or consider problems in other machine environments.
Author Contributions
Conceptualization, Q.F. and S.L.; methodology, Q.F. and S.L.; formal analysis, Q.F.; investigation, Q.F. and S.L.; resources, Q.F. and S.L.; writing—original draft preparation, Q.F. and S.L.; writing—review and editing, Q.F.; supervision, Q.F.; project administration, Q.F.; funding acquisition, Q.F. and S.L. All authors have read and agreed to the published version of the manuscript.
Funding
The work is supported by National Natural Science Foundation of China (No. 11701595), IRTSTHN (21IRTSTHN013), and Key Research Projects of Henan Higher Education Institutions (No. 22B520054). It is also supported by the Research Team Development Foundation of Zhongyuan University of Technology (No. K2021TD004).
Institutional Review Board Statement
Not applicable.
Informed Consent Statement
Not applicable.
Data Availability Statement
Not applicable.
Acknowledgments
We are grateful to the editors and the anonymous referees for their helpful comments on an earlier version of this paper.
Conflicts of Interest
The authors declare no conflict of interest.
References
- Baker, K.R.; Smith, J.C. A multiple-criterion model for machine scheduling. J. Sched. 2003, 6, 7–16. [Google Scholar] [CrossRef]
- Yuan, J.J.; Shang, W.P.; Feng, Q. A note on the scheduling with two families of jobs. J. Sched. 2005, 8, 537–542. [Google Scholar] [CrossRef]
- Agnetis, A.; Mirchandani, P.B.; Pacciarelli, D.; Pacifici, A. Scheduling problems with two competing agents. Oper. Res. 2004, 52, 229–242. [Google Scholar] [CrossRef] [Green Version]
- Agnetis, A.; Billaut, J.C.; Gawiejnowicz, S.; Pacciarelli, D.; Soukhal, A. Multiagent Scheduling; Springer: Berlin/Heidelberg, Germany, 2014. [Google Scholar]
- Feng, Q.; Fan, B.Q.; Li, S.S.; Shang, W.P. Two-agent scheduling with rejection on a single machine. Appl. Math. Model. 2015, 39, 1183–1193. [Google Scholar] [CrossRef]
- Zhang, Y.; Geng, Z.C.; Yuan, J.J. Two-agent Pareto-scheduling of minimizing total weighted completion time and total weighted late work. Mathematics 2020, 8, 2070. [Google Scholar] [CrossRef]
- Zhao, Q.L.; Yuan, J.J. Bicriteria scheduling of equal length jobs on uniform parallel machines. J. Comb. Opt. 2020, 39, 637–661. [Google Scholar] [CrossRef]
- Oron, D.; Shabtay, D.; Steiner, G. Single machine scheduling with two competing agents and equal job processing times. Eur. J. Oper. Res. 2015, 244, 86–99. [Google Scholar] [CrossRef]
- Li, S.S.; Yuan, J.J. Single-machine scheduling with multi-agents to minimize total weighted late work. J. Sched. 2020, 23, 497–512. [Google Scholar] [CrossRef]
- He, R.Y.; Yuan, J.J. Two-agent preemptive Pareto-scheduling to minimize late work and other criteria. Mathematics 2020, 8, 1517. [Google Scholar] [CrossRef]
- Feng, Q.; Li, S.S.; Shang, W.P.; Jiao, C.W.; Li, W.J. Two-Agent Scheduling on a Bounded Parallel-Batching Machine with Makespan and Maximum Lateness Objectives. J. Oper. Res. Soc. China 2020, 8, 189–196. [Google Scholar] [CrossRef]
- He, C.; Wu, J.; Lin, H. Two-agent bounded parallel-batching scheduling for minimizing maximum cost and makespan. Discret. Opt. 2022, 45, 100698. [Google Scholar] [CrossRef]
- Chen, R.B.; Geng, Z.C.; Lu, L.L.; Yuan, J.J.; Zhang, Y. Pareto-Scheduling of Two Competing Agents with Their Own Equal Processing Times. Eur. J. Oper. Res. 2022, 301, 414–431. [Google Scholar] [CrossRef]
- Bartal, Y.; Leonardi, S.; Spaccamela, A.M.; Sgall, J.; Stougie, L. Multiprocessor scheduling with rejection. SIAM J. Discret. Math. 2000, 13, 64–78. [Google Scholar] [CrossRef]
- Hoogeveen, H.; Skutella, M.; Woeginger, G.J. Preemptive scheduling with rejection. Math. Program. 2003, 94, 361–374. [Google Scholar] [CrossRef]
- Ou, J.W.; Zhong, X.L. Order acceptance and scheduling with consideration of service level. Ann. Oper. Res. 2017, 248, 429–447. [Google Scholar] [CrossRef]
- Ou, J.W.; Zhong, X.L. Bicriteria order acceptance and scheduling with consideration of fill rate. Eur. J. Oper. Res. 2017, 262, 904–907. [Google Scholar] [CrossRef]
- Lu, L.F.; Zhang, L.Q.; Ou, J.W. In-house production and outsourcing under different discount schemes on the total outsourcing cost. Ann. Oper. Res. 2021, 298, 361–374. [Google Scholar] [CrossRef]
- Slotnick, S.A. Order acceptance and scheduling: A taxonomy and review. Eur. J. Oper. Res. 2011, 212, 1–11. [Google Scholar] [CrossRef] [Green Version]
- Shabtay, D.; Gaspar, N.; Kaspi, M. A survey on off-line scheduling with rejection. J. Sched. 2013, 16, 3–28. [Google Scholar] [CrossRef]
- Zou, J.; Yuan, J.J. Single-machine scheduling with maintenance activities and rejection. Discret. Opt. 2020, 38, 100609. [Google Scholar] [CrossRef]
- Li, D.W.; Lu, X.W. Two-agent parallel-machine scheduling with rejection. Theor. Comput. Sci. 2017, 703, 66–75. [Google Scholar] [CrossRef]
- Graham, R.L.; Lawer, E.L.; Lenstra, J.K.; Rinnooy Kan, A.H.G. Optimization and approximation in deterministic sequencing and scheduling: A survey. Ann. Discret. Math. 1979, 5, 287–326. [Google Scholar]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).