Skip to main content
Log in

Coordination mechanisms for scheduling selfish jobs with favorite machines

  • Published:
Journal of Combinatorial Optimization Aims and scope Submit manuscript

Abstract

This paper studies the favorite machine model, where each machine has different speed for different types of jobs. The model is a natural generalization of the two related machines model and captures the features of some real life problems, such as the CPU–GPU task scheduling, the two products scheduling and the cloud computing task scheduling. We are interested in the game-theoretic version of the scheduling problem in which jobs correspond to self-interested users and machines correspond to resources. The goal is to design coordination mechanisms (local policies) with a small price of anarchy (PoA) for the scheduling game of favorite machines. We first analyze the well known Makespan policy for our problem, and provide exact bounds on both the PoA and the strong PoA (SPoA). We also propose a new local policy, called FF-LPT, which outperforms several classical policies (e.g., LPT, SPT, FF-SPT and Makespan) in terms of the PoA, and guarantees fast convergence to a pure Nash equilibrium. Moreover, computational results show that the FF-LPT policy also dominates other policies for random instances, and reveal some insights for practical applications.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

Similar content being viewed by others

References

  • Andelman N, Feldman M, Mansour Y (2009) Strong price of anarchy. Games Econ Behav 2(65):289–317

    Article  MathSciNet  MATH  Google Scholar 

  • Aumann RJ (1959) Acceptable points in general cooperative n-person games. Princeton University Press, Princeton, pp 287–324

    MATH  Google Scholar 

  • Awerbuch B, Azar Y, Richter Y, Tsur D (2006) Tradeoffs in worst-case equilibria. Theor Comput Sci 361(2):200–209

    Article  MathSciNet  MATH  Google Scholar 

  • Azar Y, Fleischer L, Jain K, Mirrokni V, Svitkina Z (2015) Optimal coordination mechanisms for unrelated machine scheduling. Oper Res 63(3):489–500

    Article  MathSciNet  MATH  Google Scholar 

  • Bilò V, Flammini M, Monaco G, Moscardelli L (2015) Some anomalies of farsighted strategic behavior. Theory Comput Syst 56(1):156–180

    Article  MathSciNet  MATH  Google Scholar 

  • Caragiannis I (2013) Efficient coordination mechanisms for unrelated machine scheduling. Algorithmica 66(3):512–540

    Article  MathSciNet  MATH  Google Scholar 

  • Caragiannis I, Fanelli A (2019) An almost ideal coordination mechanism for unrelated machine scheduling. Theory Comput Syst 63(1):114–127. https://doi.org/10.1007/s00224-018-9857-2

    Article  MathSciNet  MATH  Google Scholar 

  • Caragiannis I, Gkatzelis V, Vinci C (2017) Coordination mechanisms, cost-sharing, and approximation algorithms for scheduling. In: Web and internet economics—13th international conference, WINE 2017, Bangalore, 17–20 December 2017, Proceedings, pp 74–87

  • Chen B, Gürel S (2012) Efficiency analysis of load balancing games with and without activation costs. J Sched 15(2):157–164

    Article  MathSciNet  MATH  Google Scholar 

  • Chen C, Xu Y (2019) Selfish load balancing for jobs with favorite machines. Oper Res Lett 47(1):7–11

    Article  MathSciNet  MATH  Google Scholar 

  • Chen L, Ye D, Zhang G (2014) Online scheduling of mixed CPU-GPU jobs. Int J Found Comput Sci 25(06):745–761

    Article  MathSciNet  MATH  Google Scholar 

  • Chen Q, Lin L, Tan Z, Yan Y (2017) Coordination mechanisms for scheduling games with proportional deterioration. Eur J Oper Res 263(2):380–389

    Article  MathSciNet  MATH  Google Scholar 

  • Chen C, Penna P, Xu Y (2020) Online scheduling of jobs with favorite machines. Comput Oper Res 116(104):868. https://doi.org/10.1016/j.cor.2019.104868

    Article  MathSciNet  MATH  Google Scholar 

  • Cho Y, Sahni S (1980) Bounds for list schedules on uniform processors. SIAM J Comput 9(1):91–103

    Article  MathSciNet  MATH  Google Scholar 

  • Christodoulou G, Koutsoupias E, Nanavati A (2009) Coordination mechanisms. Theor Comput Sci 410(36):3327–3336

    Article  MathSciNet  MATH  Google Scholar 

  • Chung C, Ligett K, Pruhs K, Roth A (2008) The price of stochastic anarchy. In: Proc. of the 1st int. symp. on algorithmic game theory (SAGT), LNCS, vol 4997, pp 303–314

  • Czumaj A, Vöcking B (2007) Tight bounds for worst-case equilibria. ACM Trans Algorithms (TALG) 3(1):4

    Article  MathSciNet  MATH  Google Scholar 

  • de Jong J, Uetz M (2014) The sequential price of anarchy for atomic congestion games. In: Proc. of the 10th international conference on web and internet economics (WINE), LNCS, vol 8877, pp 429–434

  • Epstein L (2010) Equilibria for two parallel links: the strong price of anarchy versus the price of anarchy. Acta Inform 47(7):375–389

    Article  MathSciNet  MATH  Google Scholar 

  • Feldman M, Tamir T (2009) Approximate strong equilibrium in job scheduling games. J Artif Intell Res 36:387–414

    Article  MathSciNet  MATH  Google Scholar 

  • Feldmann R, Gairing M, Lücking T, Monien B, Rode M (2003) Nashification and the coordination ratio for a selfish routing game. In: ICALP 2003, vol 30. Springer, pp 514–526

  • Fiat A, Kaplan H, Levy M, Olonetsky S (2007) Strong price of anarchy for machine load balancing. In: ICALP 2007, vol 4596. Springer, pp 583–594

  • Finn G, Horowitz E (1979) A linear time approximation algorithm for multiprocessor scheduling. BIT Numer Math 19(3):312–320

    Article  MathSciNet  MATH  Google Scholar 

  • Giessler P, Mamageishvili A, Mihalák M, Penna P (2016) Sequential solutions in machine scheduling games. CoRR abs/1611.04159

  • Gonzalez T, Ibarra OH, Sahni S (1977) Bounds for lpt schedules on uniform processors. SIAM J Comput 6(1):155–166

    Article  MathSciNet  MATH  Google Scholar 

  • Hassin R, Yovel U (2015) Sequential scheduling on identical machines. Oper Res Lett 43(5):530–533

    Article  MathSciNet  MATH  Google Scholar 

  • Hoeksma R, Uetz M (2019) The price of anarchy for utilitarian scheduling games on related machines. Discrete Optim 31:29–39

    Article  MathSciNet  MATH  Google Scholar 

  • Immorlica N, Li LE, Mirrokni VS, Schulz AS (2009) Coordination mechanisms for selfish scheduling. Theor Comput Sci 410(17):1589–1598

    Article  MathSciNet  MATH  Google Scholar 

  • Koutsoupias E, Papadimitriou C (1999) Worst-case equilibria. In: Proceedings of the 16th annual symposium on theoretical aspects of computer science (STACS). Springer, pp 404–413

  • Kress D, Meiswinkel S, Pesch E (2018) Mechanism design for machine scheduling problems: classification and literature overview. OR Spectrum 40(3):583–611

    Article  MathSciNet  Google Scholar 

  • Leme RP, Syrgkanis V, Tardos É (2012) The curse of simultaneity. In: Proc. of innovations in theoretical computer science (ITCS), pp 60–67

  • Nong Q, Fan G, Fang Q (2017) A coordination mechanism for a scheduling game with parallel-batching machines. J Combin Optim 33(2):567–579

    Article  MathSciNet  MATH  Google Scholar 

  • Schuurman P, Vredeveld T (2007) Performance guarantees of local search for multiprocessor scheduling. INFORMS J Comput 19(1):52–63

    Article  MathSciNet  MATH  Google Scholar 

  • Vakhania N, Hernandez JA, Werner F (2014) Scheduling unrelated machines with two types of jobs. Int J Prod Res 52(13):3793–3801

    Article  Google Scholar 

  • Ye D, Chen L, Zhang G (2019) On the price of anarchy of two-stage machine scheduling games. J Combin https://doi.org/10.1007/s10878-019-00474-2

  • Zhang L, Zhang Y, Du D, Bai Q (2019) Improved price of anarchy for machine scheduling games with coordination mechanisms. Optim Lett 13(4):949–959

    Article  MathSciNet  MATH  Google Scholar 

Download references

Acknowledgements

This work was supported by the National Natural Science Foundation of China (Nos. 71601152, 71720107002); the National Natural Science Foundation of China-Guangdong Joint Fund (No. U1901223); and the Natural Science Foundation of Guangdong Province (No. 2017A030312001).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Cong Chen.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Part of this work was done while the first author was visiting Department of Computer Science, ETH Zurich, Switzerland. A preliminary version of some results of this paper appeared in Proc. COCOA 2017.

Postponed proofs

Postponed proofs

1.1 Proofs of Lemmas 26

Proof of Lemma 2

Since \({a_1}{} > 0\), we consider four subcases: Case 2.1 (\({a_2}{}, {c_1}{}=0\)), Case 2.2 (\({a_2}{}=0, {c_1}{}>0\)), Case 2.3 (\({a_2}{}>0, {c_1}{}=0\)) and Case 2.4 (\({a_2}{}, {c_1}{}>0)\), which correspond to rows 2.1 to 2.4-b in Table 3.

The bound for Case 2.3 is the minimum of the bounds of 2.3-a, 2.3-b and 2.3-c. Similarly, the bound for Case 2.4 is the minimum of the bounds of 2.4-a and 2.4-b. Finally, the maximum of the bounds of the four subcases give the bound for this lemma. These 4 subcases are summed up in Fig. 4b (orange line). \(\square \)

Proof of Lemma 3

Since \({a_1}{} = {a_2}{} = 0\), we consider three subcases: Case 3.1 (\({c_1}{}=0,{c_2}{}>0\)), Case 3.2 (\({c_1}{}>0,{c_2}{}=0\)) and Case 3.3 (\({c_1}{}>0,{c_2}{}>0\)), which correspond to rows 3.1 to 3.3-b in Table 3.

The bound for Case 3.3 is the minimum of the bounds of 3.3-a and 3.3-b. Finally, the maximum of the bounds of the three subcases give the bound for this lemma. These 3 subcases are summed up in Fig. 4c (orange line). \(\square \)

Proof of Lemma 4

Since \({a_1}{} = 0,\, {a_2}{},{c_1}{}>0\), we consider two subcases: Case 4.1 (\({c_2}{}=0\)) and Case 4.2 (\({c_2}{}>0\)), which correspond to rows 4.1-a to 4.2-c in Table 3.

The bound for Case 4.1 is the minimum of the bounds of 4.1-a and 4.1-b, where 4.1-b is the maximum of the bounds of 4.1-b.(8) and 4.1-b.(9). Note that it only needs one of constraints (8) and (9) holds, thus we take the maximum of 4.1-b.(8) and 4.1-b.(9). The bound for Case 4.2 is the minimum of the bounds of 4.2-a, 4.2-b, 4.2-c, where 4.2-a is the maximum of the bounds of 4.2-a.(14) and 4.2-a.(15). Finally, the maximum of the bounds of the two subcases give the bound for this lemma. These 2 subcases are summed up in Fig. 4d. \(\square \)

Proof of Lemma 5

This lemma considers the case \({a_1}{} = {c_1}{} = {c_2}{} = 0\) and \({a_2}{} > 0\), which correspond to rows 5-a to 5-b.(9) in Table 3.

Similar as the above proofs, the bound for this case is the minimum of the bounds of 5-a and 5-b, where 5-b is the maximum of the bounds of 5-b.(8) and 5-b.(9). Furthermore, the bound of 5-b.(8) is the minimum of the bounds of 5-b.(8)-a and 5-b.(8)-b, where 5-b.(8)-b is the maximum of 5-b.(8)-b.(12) and 5-b.(8)-b.(13). Moreover 5-b.(8)-b.(12) is the minimum of 5-b.(8)-b.(12)-a and 5-b.(8)-b.(12)-b, where 5-b.(8)-b.(12)-b is the maximum of 5-b.(8)-b.(12)-b.(10) and 5-b.(8)-b.(12)-b.(11). Finally, the bounds give the bound for this lemma, which is shown in Fig. 4e. \(\square \)

Proof of Lemma 6

This lemma consider the case \({a_1}{} = {c_1}{} = 0\) and \({a_2}{}, {c_2}{} > 0\), which correspond to rows 6.(16)-a to 6.(17)-b.(9) in Table 3.

Similar as the above proofs, the bound for this case is the maximum of the bounds of 6.(16) and 6.(17), where 6.(16) is the minimum of 6.(16)-a, 6.(16)-b and 6.(16)-c, and 6.(17) is the minimum of 6.(17)-a and 6.(17)-b. Furthermore, the bound of 6.(16)-c is the maximum of the bounds of 6.(16)-c.(8) and 6.(16)-c.(9), where 6.(16)-c.(9) is the minimum of 6.(16)-c.(9)-a and 6.(16)-c.(9)-b where 6.(16)-c.(9)-b is the maximum of 6.(16)-c.(9)-b.(12) and 6.(16)-c.(9)-b.(13). Besides, the bound of 6.(17)-a is the maximum of bounds of 6.(17)-a.(10) and 6.(17)-a.(11), and 6.(17)-b is the maximum of 6.(17)-b.(8) and 6.(17)-b.(9). Finally, the bounds give the bound for this lemma, which is shown in Fig. 4f. \(\square \)

1.2 Proof of lower bound (Lemma 7)

Table 2 gives instances that match all the bounds of Theorem 1. Each instance is represented by the setting of Fig. 2 and each symbol (e.g. \({a_1}{}\), \({a_2}{}\), \({b_1}{}\dots \)) represents at most one job.

Proposition 20

The optimal makespan of each instance of Table 2 is at most 1.

Proof

It is easy to see that, for every instance of Table 2, the optimum schedule shown in Fig. 2 satisfies \(\max \{\ell _1^*, \ell _2^*\} \le 1\). Hence we can have \(opt \le 1\) even though the above schedule is not guaranteed to be a SE, because the optimal SE can only have better makespan than that schedule. \(\square \)

Proposition 21

Each schedule of Table 2 is a NE.

Proof

Because \(\ell _1 \ge \ell _2\), no job in machine 2 can reduce its cost by moving to machine 1. Thus we only need to check that if there is no single job in machine 1 would benefit from moving to machine 2. Let \(\ell _1'\) and \(\ell _2'\) be the new loads of machine 1 and 2, respectively, after some movements of the jobs as stated in the corresponding context.

  • LB1 If \({a_2}{}\) moves to machine 2, \(\ell _2' = \ell _2 + {a_2}{}/s = \frac{s^3+s^2+s+1}{s^3+2} = \ell _1\).

    If \({c_2}{}\) moves to machine 2, \(\ell _2' = \ell _2 + {c_2}{} \cdot s = \frac{s^3+s^2+s+1}{s^3+2} = \ell _1\).

  • LB2 If \({a_2}{}\) moves to machine 2, \(\ell _2' = \ell _2 + {a_2}{}/s = \frac{s^2+2s+1}{2s+1} = \ell _1\).

    If \({c_2}{}\) moves to machine 2, \(\ell _2' = \ell _2 + {c_2}{} \cdot s = \frac{2s^2+2s}{2s+1} \ge \ell _1 = \frac{s^2+2s+1}{2s+1}\).

  • LB3 If \({a_2}{}\) moves to machine 2, \(\ell _2' = \ell _2 + {a_2}{}/s = \frac{s+1}{s} = \ell _1\).

    If \({c_2}{}\) moves to machine 2, \(\ell _2' = \ell _2 + {c_2}{} \cdot s = 2 \ge \ell _1 = \frac{s+1}{s}\).

  • LB4 If \({a_2}{}\) moves to machine 2, \(\ell _2' = \ell _2 + {a_2}{}/s = \frac{s^3-s^2+2s-1}{s^3-s^2+s-1} = \ell _1\).

    If \({c_2}{}\) moves to machine 2, \(\ell _2' = \ell _2 + {c_2}{} \cdot s = \frac{s^4-s^3+s^2-1}{s^3-s^2+s-1} \ge \ell _1 = \frac{s^3-s^2+2s-1}{s^3-s^2+s-1}\) by \(s \ge s_3 \approx 1.755\).

  • LB5 If \({a_2}{}\) moves to machine 2, \(\ell _2' = \ell _2 + {a_2}{}/s = \frac{3}{2} \ge \ell _1 = \frac{s+1}{2}\) by \(s \le s_5 =2\).

    If \({c_2}{}\) moves to machine 2, \(\ell _2' = \ell _2 + {c_2}{} \cdot s = \frac{s+2}{2} \ge \ell _1 = \frac{s+1}{2}\).

  • LB6 If \({a_2}{}\) moves to machine 2, \(\ell _2' = \ell _2 + {a_2}{}/s = \frac{s^2-s+1}{s^2-s} = \ell _1\).

    If \({c_2}{}\) moves to machine 2, \(\ell _2' = \ell _2 + {c_2}{} \cdot s = s \ge \ell _1 = \frac{s^2-s+1}{s^2-s}\) by \(s \ge s_5 = 2\).

  • LB7 If \({a_2}{}\) moves to machine 2, \(\ell _2' = \ell _2 + {a_2}{}/s = \frac{s^2}{2s-1} = \ell _1\).

  • LB8 If \({a_2}{}\) moves to machine 2, \(\ell _2' = \ell _2 + {a_2}{}/s = 2 \ge \ell _1 = \frac{s+1}{s}\). \(\square \)

According to Proposition 21 we know that no single job can reduce its cost by moving to other machine. It also holds that

Proposition 22

Epstein 2010 Given a schedule on two machines which is a NE, if this schedule is not a SE, then a coalition of jobs where every job can reduce its cost consists of at least one job of each one of the machines.

Proposition 23

If a schedule of Table 2 is not a SE, then a coalition of jobs where every job can reduce its cost must consist of job \({a_2}{}\).

Proof

Because good job will become bad job after swap, if the coalition consists of only good jobs, it holds that \(\ell _1'+\ell _2' \ge \ell _1+\ell _2\). Thus at least one of the cost of the jobs will get worse after swap. Therefore, if a schedule is not a SE, then a coalition of jobs where every job can reduce its cost must consist of at least one bad job.

For LB7 and LB8, \({a_2}{}\) is in the coalition for sure, since \({a_2}{}\) is the only good job. For other instances in Table 2, if \({a_2}{}\) is not in the coalition then \({b_2}{}\) must in it according to Proposition 22. Next we will show that \({a_2}{}+{b_2}{}/s \ge \ell _2\) for every instance of them, so that if \({b_2}{}\) is in the coalition then \({b_2}{}\) will not benefit from moving to machine 1. Thus \({a_2}{}\) must be in the coalition. For LB1 to LB3, we have \({a_2}{} \ge \ell _2\) thus \({a_2}{}+{b_2}{}/s \ge \ell _2\) holds. For LB4, \({a_2}{}+{b_2}{}/s = \frac{2s^2-s}{s^3-s^2+s-1} \ge \ell _2 = 1\) by \(s \le s_4\). For LB5, \({a_2}{}+{b_2}{}/s = \frac{s}{2} +\frac{1}{2} \ge \ell _2 = 1\). For LB6, \({a_2}{}+{b_2}{}/s = \frac{1}{s-1} +\frac{1}{s} \ge \ell _2 = 1\) by \(s \le s_6 \approx 2.154\). \(\square \)

Proposition 24

For any instance of Table 2, if \({a_2}{}\) is the only job of machine 1 that in a coalition of jobs, these jobs cannot reduce their costs at the same time.

Proof

According to Proposition 22, if \({a_2}{}\) is the only job of machine 1 that in a coalition of jobs, there must be some jobs of machine 2 in this coalition. Thus this proposition says there are no such a \({a_2}{}\text {-}\{*\}\) swap that all these jobs can benefit simultaneously, where \(\{*\}\) is any subset of jobs of machine 2. We prove this for the 8 instances of Table 2 one by one.

  • LB1 In this case \({a_2}{}\) moves to machine 2 and \({c_2}{}\) stays, it holds that no job (or subset of jobs) in machine 2 can benefit from moving to machine 1, because

    • No \({a_2}\text {-} {b_2}{}\) swap: \(\ell _1' = {c_2}{} + {b_2}{}/s = \frac{s+2}{s^3+2} \ge \ell _2 = \frac{s^3+1}{s^3+2}\) by \(s \le s_1 \approx 1.325\);

    • No \({a_2}\text {-} {d_1}{}\) swap: \(\ell _1' = {c_2}{} + {d_1}{} \cdot s = \frac{s^3+1}{s^3+2} = \ell _2\);

    • No \({a_2}\text {-} {d_2}{}\) swap: \(\ell _1' = {c_2}{} + {d_2}{} \cdot s = \frac{s^4-s^3-s^2+3s+1}{s^3+2} > \ell _2 = \frac{s^3+1}{s^3+2}\) by \(s \le s_1\).

  • LB2 In this case \({a_2}{}\) moves to machine 2 and \({c_2}{}\) stays, it holds that no job (or subset of jobs) in machine 2 can benefit from moving to machine 1, because

    • No \({a_2}\text {-} {b_2}{}\) swap: \(\ell _1' = {c_2}{} + {b_2}{}/s = 1 \ge \ell _2 = \frac{s^2+s}{2s+1}\) by \(s \le s_2 \approx 1.618\);

    • No \({a_2}\text {-} {d_2}{}\) swap: \(\ell _1' = {c_2}{} + {d_2}{} \cdot s = \frac{s^2+s+1}{2s+1} > \ell _2 = \frac{s^2+s}{2s+1}\).

  • LB3 In this case \({a_2}{}\) moves to machine 2 and \({c_2}{}\) stays, it holds that no job (or subset of jobs) in machine 2 can benefit from moving to machine 1, because

    • No \({a_2}\text {-} {b_2}{}\) swap: \(\ell _1' = {c_2}{} + {b_2}{}/s = 1 = \ell _2\);

    • No \({a_2}\text {-} {d_2}{}\) swap: \(\ell _1' = {c_2}{} + {d_2}{} \cdot s = \frac{1}{s}+2s-s^2 > \ell _2 = 1\) by \(s \le s_3 \approx 1.755\).

  • LB4 In this case \({a_2}{}\) moves to machine 2 and \({c_2}{}\) stays, it holds that no job (or subset of jobs) in machine 2 can benefit from moving to machine 1, because

    • No \({a_2}\text {-} {b_2}{}\) swap: \(\ell _1' = {c_2}{} + {b_2}{}/s = 1 = \ell _2\);

    • No \({a_2}\text {-} {d_2}{}\) swap: \(\ell _1' = {c_2}{} + {d_2}{} \cdot s = 1 = \ell _2\).

  • LB5 In this case \({a_2}{}\) moves to machine 2 and \({c_2}{}\) stay, it holds that no job (or subset of jobs) in machine 2 can benefit from moving to machine 1, because

    • No \({a_2}\text {-} {b_2}{}\) swap: \(\ell _1' = {c_2}{} + {b_2}{}/s = 1 = \ell _2\);

    • No \({a_2}\text {-} {d_2}{}\) swap: \(\ell _2' = {b_2}{} + {a_2}{} /s = \ell _1 = \frac{s+1}{2} \);

    • No \({a_2}\text {-} \{ {b_2}{},{d_2}{}\}\) swap: \(\ell _1' = {c_2}{} + {b_2}{}/s + {d_2}{} \cdot s = \frac{-s^2+2s+2}{2} \ge \ell _2 = 1\).

  • LB6 In this case \({a_2}{}\) moves to machine 2 and \({c_2}{}\) stays, it holds that no job (or subset of jobs) in machine 2 can benefit from moving to machine 1, because

    • No \({a_2}\text {-} {b_2}{}\) swap: \(\ell _1' = {c_2}{} + {b_2}{}/s = 1 = \ell _2\).

  • LB7 In this case \({a_2}{}\) moves to machine 2, it holds that no job (or subset of jobs) in machine 2 can benefit from moving to machine 1, because

    • No \({a_2}\text {-} {d_1}{}\) swap: \(\ell _1' = {d_1}{} \cdot s = \frac{s(s-1)^2}{2s-1} \ge \ell _2 = \frac{s^2-s}{2s-1}\) by \(s \ge s_6 \approx 2.154\);

    • No \({a_2}\text {-} {d_2}{}\) swap: \(\ell _1' = {d_2}{} \cdot s = \frac{s^2-s}{2s-1} = \ell _2\).

  • LB8 In this case \({a_2}{}\) moves to machine 2, it holds that no job (or subset of jobs) in machine 2 can benefit from moving to machine 1, because

    • No \({a_2}\text {-} {d_1}{}\) swap: \(\ell _1' = {d_1}{} \cdot s = 1 \ge \ell _2 = \frac{s^2-1}{s^2}\);

    • No \({a_2}\text {-} {d_2}{}\) swap: \(\ell _1' = {d_2}{} \cdot s = \frac{s^2-s-1}{s} \ge \ell _2 = \frac{s^2-1}{s^2}\) by \(s \ge s_7 \approx 2.247\). \(\square \)

Lemma 25

Each schedule of Table 2 is a SE.

Proof

According to Propositions 23 and 24, we know that schedules of LB7 and LB8 are SE, since \({a_2}{}\) is the only job in machine 1. For LB1 to LB6, we will prove there is no such coalition of jobs can reduce their costs at the same time:

  • LB1 According to Proposition 23, we only need to consider the case both \({a_2}{}\) and \({c_2}{}\) of machine 1 are in the coalition. However, we have

    • No \(\{{a_2}{},{c_2}{}\}\text {-}\{{b_2}{},{d_2}{}\}\) swap: \(\ell _2' = {d_1}{} + {a_2}{}/s + {c_2}{} \cdot s = \frac{3s^2+2s-1}{s^3+2} \ge \ell _1 = \frac{s^3+s^2+s+1}{s^3+2}\) by \(s \le s_1\).

    Since \(\frac{s^2-1}{s^3+2} \le \frac{s^3-s^2-s+2}{s^3+2} \le \frac{s}{s^3+2}\) by \(s \le s_1\), i.e., \({d_1}{}\le {d_2}{} \le {b_2}{}\), we can know that \({a_2}{}\) and \({c_2}{}\) will not benefit even if the smallest job \({d_1}{}\) of machine 2 stays still. Thus all the jobs in machine 2 should be in the coalition. Since

    • No \(\{{a_2}{},{c_2}{}\}\text {-}\{{b_2}{},{d_1}{},{d_2}{}\}\) swap: \(\ell _1' = {b_2}{}/s + {d_1}{} \cdot s + {d_2}{} \cdot s = \frac{s^4 - s^2 +s +1}{s^3+2} \ge \ell _2 = \frac{s^3+1}{s^3+2}\) by \(s \le s_1\),

    we know that there is no such coalition of jobs that every job can reduce its cost by deviating simultaneously.

  • LB2 Similar as the former case, we consider the case both \({a_2}{}\) and \({c_2}{}\) are in the coalition. We get the same result by the fact that

    • No \(\{{a_2}{},{c_2}{}\}\text {-}\{*\}\) swap: \(\ell _2' \ge {a_2}{}/s + {c_2}{} \cdot s = \frac{s^2+2s+1}{2s+1} = \ell _1\).

  • LB3 Considering the case both \({a_2}{}\) and \({c_2}{}\) are in the coalition, we have that

    • No \(\{{a_2}{},{c_2}{}\}\text {-}\{*\}\) swap: \(\ell _2' \ge {a_2}{}/s + {c_2}{} \cdot s = \frac{s+1}{s} = \ell _1\).

  • LB4 Considering the case both \({a_2}{}\) and \({c_2}{}\) are in the coalition, we have that

    • No \(\{{a_2}{},{c_2}{}\}\text {-}\{*\}\) swap: \(\ell _2' \ge {a_2}{}/s + {c_2}{} \cdot s = \frac{s^4-ss^3+2s^2}{s^3-s^2+s-1} \ge \ell _1 = \frac{s^3-s^2+2s-1}{s^3-s^2+s-1}\) by \(s \ge s_3 \approx 1.755\).

  • LB5 Considering the case both \({a_2}{}\) and \({c_2}{}\) are in the coalition, we have that

    • No \(\{{a_2}{},{c_2}{}\}\text {-}\{*\}\) swap: \(\ell _2' \ge {a_2}{}/s + {c_2}{} \cdot s = \frac{s+1}{2} = \ell _1\).

  • LB6 Considering the case both \({a_2}{}\) and \({c_2}{}\) are in the coalition, we have that

    • No \(\{{a_2}{},{c_2}{}\}\text {-}\{*\}\) swap: \(\ell _2' \ge {a_2}{}/s + {c_2}{} \cdot s = \frac{1}{s^2-s}+s-1 \ge \ell _1 = \frac{s^2-s+1}{s^2-s}\) by \(s \ge s_5 = 2\).\(\square \)

1.3 Proofs of Lemmas 912

Proof of Lemma 9

Rows 2.1, 2.2 and 3.4-a in Table 3 cover all the cases. Since each of the 3 bounds is below the claimed bound \(\frac{s^3+s^2+s+1}{s^2+s+1}\), the lemma is proved. \(\square \)

Proof of Lemma 10

Similar to the proof of SPoA, according to rows 10.1-a to 10.2 of Table 3 we have

$$\begin{aligned} \max \Big \{\min \big \{\frac{2(s+1)}{s+2},s \big \},s \Big \} \le \frac{s^3+s^2+s+1}{s^2+s+1} \end{aligned}$$

for \(s \ge 1\), thus the lemma is proved. \(\square \)

Proof of Lemma 11

The bound of row 11 of Table 3 implies this lemma. \(\square \)

Proof of Lemma 12

We know that

$$\begin{aligned} \ell _1 = {a_2}{} +{c_2}{} = \frac{s^3+s^2+s+1}{s^2+s+1},\\ \ell _2 = {b_1}{} +{b_2}{} = \frac{s^3+1}{s^2+s+1} . \end{aligned}$$

If \({a_2}{}\) goes to machine 2, the cost of \({a_2}{}\) becomes

$$\begin{aligned} \ell _2' = \ell _2 + {a_2}{}/s = \frac{s^3+s^2+s+1}{s^2+s+1}. \end{aligned}$$

Similarly, if \({c_2}{}\) goes to machine 2, the cost of \({c_2}{}\) becomes

$$\begin{aligned} \ell _2' = \ell _2 + {c_2}{}\cdot s = \frac{s^3+s^2+s+1}{s^2+s+1}. \end{aligned}$$

Thus the schedule is a NE. \(\square \)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Chen, C., Xu, Y. Coordination mechanisms for scheduling selfish jobs with favorite machines. J Comb Optim 40, 333–365 (2020). https://doi.org/10.1007/s10878-020-00592-2

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10878-020-00592-2

Keywords

Navigation