Skip to main content
Log in

Cooperative evolutionary heterogeneous simulated annealing algorithm for google machine reassignment problem

  • Published:
Genetic Programming and Evolvable Machines Aims and scope Submit manuscript

Abstract

This paper investigates the Google machine reassignment problem (GMRP). GMRP is a real world optimisation problem which is to maximise the usage of cloud machines. Since GMRP is computationally challenging problem and exact methods are only advisable for small instances, meta-heuristic algorithms have been used to address medium and large instances. This paper proposes a cooperative evolutionary heterogeneous simulated annealing (CHSA) algorithm for GMRP. The proposed algorithm consists of several components devised to generate high quality solutions. Firstly, a population of solutions is used to effectively explore the solution space. Secondly, CHSA uses a pool of heterogeneous simulated annealing algorithms in which each one starts from a different initial solution and has its own configuration. Thirdly, a cooperative mechanism is designed to allow parallel searches to share their best solutions. Finally, a restart strategy based on mutation operators is proposed to improve the search performance and diversification. The evaluation on 30 diverse real-world instances shows that the proposed CHSA performs better compared to cooperative homogeneous SA and heterogeneous SA with no cooperation. In addition, CHSA outperformed the current state-of-the-art algorithms, providing new best solutions for eleven instances. The analysis on algorithm behaviour clearly shows the benefits of the cooperative heterogeneous approach on search performance.

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.

Institutional subscriptions

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

Similar content being viewed by others

References

  1. Roadef/euro Challenge 2012: Machine Reassignment. http://challenge.roadef.org/2012/en/

  2. H.M. Afsar, C. Artigues, E. Bourreau, S. Kedad-Sidhoum, Machine reassignment problem: the ROADEF/EURO challenge 2012. Ann. Oper. Res. 242, 1–17 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  3. E. Alba, Parallel Metaheuristics: A New Class of Algorithms, vol. 47 (Wiley, New York, 2005)

    Book  MATH  Google Scholar 

  4. E. Alba, G. Luque, S. Nesmachnow, Parallel metaheuristics: recent advances and new trends. Int. Trans. Oper. Res. 20(1), 1–48 (2013)

    Article  MATH  Google Scholar 

  5. M. Armbrust, A. Fox, R. Griffith, A.D. Joseph, R. Katz, A. Konwinski, G. Lee, D. Patterson, A. Rabkin, I. Stoica et al., A view of cloud computing. Commun. ACM 53(4), 50–58 (2010)

    Article  Google Scholar 

  6. P. Badeau, F. Guertin, M. Gendreau, J.-Y. Potvin, E. Taillard, A parallel tabu search heuristic for the vehicle routing problem with time windows. Transp. Res. Part C Emerg. Technol. 5(2), 109–122 (1997)

    Article  MATH  Google Scholar 

  7. R. Bellio, S. Ceschia, L. Di Gaspero, A. Schaerf, T. Urli, Feature-based tuning of simulated annealing applied to the curriculum-based course timetabling problem. Comput. Oper. Res. 65, 83–92 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  8. F. Brandt, J. Speck, M. Völker, Constraint-based large neighborhood search for machine reassignment. Ann. Oper. Res. 242(1), 63–91 (2012)

    Article  MATH  Google Scholar 

  9. R.N. Calheiros, R. Ranjan, A. Beloglazov, C.A. De Rose, R. Buyya, Cloudsim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms. Softw. Pract. Exp. 41(1), 23–50 (2011)

    Article  Google Scholar 

  10. T.G. Crainic, M. Toulouse, Parallel meta-heuristics. in Handbook of Metaheuristics, 2nd edn, ed. by M. Gendreau, J.Y. Potvin (Springer, 2010), pp. 497–541

  11. M. El-Abd, M. Kamel, A taxonomy of cooperative search algorithms. in International Workshop on Hybrid Metaheuristics (Springer, 2005), pp. 32–41

  12. S. García, A. Fernández, J. Luengo, F. Herrera, Advanced nonparametric tests for multiple comparisons in the design of experiments in computational intelligence and data mining: experimental analysis of power. Inf. Sci. 180(10), 2044–2064 (2010)

    Article  Google Scholar 

  13. H. Gavranović, M. Buljubašić, E. Demirović, Variable neighborhood search for google machine reassignment problem. Electron. Notes Discret. Math. 39, 209–216 (2012)

    Article  MATH  Google Scholar 

  14. S. Huda, J. Yearwood, R. Togneri, Hybrid metaheuristic approaches to the expectation maximization for estimation of the hidden markov model for signal modeling. Cybern. IEEE Trans. 44(10), 1962–1977 (2014)

    Article  Google Scholar 

  15. G. Kendall, R. Bai, J. Błazewicz, P. De Causmaecker, M. Gendreau, R. John, J. Li, B. McCollum, E. Pesch, R. Qu et al., Good laboratory practice for optimization research. J. Oper. Res. Soc. 67(4), 676–689 (2016)

    Article  Google Scholar 

  16. S. Kirkpatrick, C.D. Gelatt, M.P. Vecchi et al., Optimization by simulated annealing. Science 220(4598), 671–680 (1983)

    Article  MathSciNet  MATH  Google Scholar 

  17. D. Landa-Silva, E.K. Burke, Asynchronous cooperative local search for the office-space-allocation problem. INFORMS J. Comput. 19(4), 575–587 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  18. S.-W. Lin, F.Y. Vincent, A simulated annealing heuristic for the multiconstraint team orienteering problem with multiple time windows. Appl. Soft Comput. 37, 632–642 (2015)

    Article  Google Scholar 

  19. R. Lopes, V.W. Morais, T.F. Noronha, V.A. Souza, Heuristics and matheuristics for a real-life machine reassignment problem. Int. Trans. Oper. Res. 22(1), 77–95 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  20. Z. Lou, J. Reinitz, Parallel simulated annealing using an adaptive resampling interval. Parallel Comput. 53, 23–31 (2016)

    Article  MathSciNet  Google Scholar 

  21. Y. Malitsky, D. Mehta, B. O’Sullivan, H. Simonis, Tuning parameters of large neighborhood search for the machine reassignment problem. in Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems (Springer, 2013), pp. 176–192

  22. R. Martí, M.G. Resende, C.C. Ribeiro, Multi-start methods for combinatorial optimization. Eur. J. Oper. Res. 226(1), 1–8 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  23. R. Masson, T. Vidal, J. Michallet, P.H.V. Penna, V. Petrucci, A. Subramanian, H. Dubedout, An iterated local search heuristic for multi-capacity bin packing and machine reassignment problems. Expert Syst. Appl. 40(13), 5266–5275 (2013)

    Article  Google Scholar 

  24. D. Mehta, B. O’Sullivan, H. Simonis, Comparing solution methods for the machine reassignment problem. in Principles and Practice of Constraint Programming. Lecture Notes in Computer Science, ed. by M. Milano (Springer, Berlin, Heidelberg, 2012), pp. 782–797

  25. Y. Mei, K. Tang, X. Yao, Decomposition-based memetic algorithm for multiobjective capacitated arc routing problem. IEEE Trans. Evol. Comput. 15(2), 151–165 (2011)

    Article  Google Scholar 

  26. Y. Mei, K. Tang, X. Yao, A memetic algorithm for periodic capacitated arc routing problem. IEEE Trans. Syst. Man Cybern. Part B (Cybern.) 41(6), 1654–1667 (2011)

    Article  Google Scholar 

  27. M. Mrad, A. Gharbi, M. Haouari, M. Kharbeche, An optimization-based heuristic for the machine reassignment problem. Ann. Oper. Res. 242(1), 115–132 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  28. D. Mu, C. Wang, F. Zhao, J.W. Sutherland, Solving vehicle routing problem with simultaneous pickup and delivery using parallel simulated annealing algorithm. Int. J. Ship. Transp. Logist. 8(1), 81–106 (2016)

    Article  Google Scholar 

  29. F. Neri, C. Cotta, Memetic algorithms and memetic computing optimization: a literature review. Swarm Evol. Comput. 2, 1–14 (2012)

    Article  Google Scholar 

  30. S. Pace, A. Turky, I. Moser, A. Aleti, Distributing fibre boards: a practical application of the heterogeneous fleet vehicle routing problem with time windows and three-dimensional loading constraints. Proced. Comput. Sci. 51, 2257–2266 (2015)

    Article  Google Scholar 

  31. K. Peng, Y. Shen, J. Li, A multi-objective simulated annealing for bus driver rostering. in Bio-Inspired Computing—Theories and Applications. Communications in Computer and Information Science, vol. 562, ed. by M. Gong, L. Pan, T. Song, K. Tang, X. Zhang (Springer, Berlin, Heidelberg, 2015), pp. 315–330

  32. G.M. Portal, M. Ritt, L. Borba, L.S. Buriol, Simulated annealing for the machine reassignment problem. Ann. Oper. Res. 242(1), 93–114 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  33. M.R.P. Ritt, An Algorithmic Study of the Machine Reassignment Problem. PhD Thesis, Universidade Federal do Rio Grande do Sul (2012)

  34. N. Sabar, J. Abawajy, J. Yearwood, Heterogeneous cooperative co-evolution memetic differential evolution algorithms for big data optimisation problems. IEEE Trans. Evol. Comput. 21(2), 315–327 (2017)

    Article  Google Scholar 

  35. N.R. Sabar, A. Aleti, An adaptive memetic algorithm for the architecture optimisation problem. in Australasian Conference on Artificial Life and Computational Intelligence (Springer, 2017), pp. 254–265

  36. N.R. Sabar, M. Ayob, G. Kendall, R. Qu, Grammatical evolution hyper-heuristic for combinatorial optimization problems. IEEE Trans. Evol. Comput. 17(6), 840–861 (2013)

    Article  Google Scholar 

  37. N.R. Sabar, M. Ayob, G. Kendall, R. Qu, Automatic design of a hyper-heuristic framework with gene expression programming for combinatorial optimization problems. IEEE Trans. Evol. Comput. 19(3), 309–325 (2015)

    Article  Google Scholar 

  38. N.R. Sabar, M. Ayob, G. Kendall, R. Qu, A dynamic multiarmed bandit-gene expression programming hyper-heuristic for combinatorial optimization problems. IEEE Trans. Cybern. 45(2), 217–228 (2015)

    Article  Google Scholar 

  39. N.R. Sabar, G. Kendall, An iterated local search with multiple perturbation operators and time varying perturbation strength for the aircraft landing problem. Omega 56, 88–98 (2015)

    Article  Google Scholar 

  40. N.R. Sabar, A. Song, Grammatical evolution enhancing simulated annealing for the load balancing problem in cloud computing. in Proceedings of the 2016 on Genetic and Evolutionary Computation Conference ACM (2016), pp. 997–1003

  41. N.R. Sabar, A. Song, Z. Tari, X. Yi, A. Zomaya, A memetic algorithm for dynamic shortest path routing on mobile ad-hoc networks. in Parallel and Distributed Systems (ICPADS), 2015 IEEE 21st International Conference on IEEE (2015), pp. 60–67

  42. N.R. Sabar, A. Song, M. Zhang, A variable local search based memetic algorithm for the load balancing problem in cloud computing. in European Conference on the Applications of Evolutionary Computation (Springer, 2016), pp. 267–282

  43. N.R Sabar, A. Turky, A. Song, A multi-memory multi-population memetic algorithm for dynamic shortest path routing in mobile ad-hoc networks. in Pacific Rim International Conference on Artificial Intelligence (Springer, 2016), pp. 406–418

  44. J. Sun, Q. Zhang, X. Yao, Meta-heuristic combining prior online and offline information for the quadratic assignment problem. Cybern. IEEE Trans. 44(3), 429–444 (2014)

    Article  Google Scholar 

  45. A. Turky, N.R. Sabar, A. Sattar, A. Song, Parallel late acceptance hill-climbing algorithm for the google machine reassignment problem. in Australasian Joint Conference on Artificial Intelligence (Springer, 2016), pp. 163–174

  46. A. Turky, N.R. Sabar, A. Song, A multi-population memetic algorithm for dynamic shortest path routing in mobile ad-hoc networks. in Evolutionary Computation (CEC), 2016 IEEE Congress on IEEE (2016), pp. 4119–4126

  47. A. Turky, N.R. Sabar, A. Song, An evolutionary simulated annealing algorithm for google machine reassignment problem. in Intelligent and Evolutionary Systems: The 20th Asia Pacific Symposium, IES 2016, Canberra, Australia, November 2016, Proceedings (Springer, 2017), pp. 431–442

  48. A. Turky, N.R. Sabar, A. Song, Neighbourhood analysis: a case study on google machine reassignment problem. in Australasian Conference on Artificial Life and Computational Intelligence (Springer, 2017), pp. 228–237

  49. F.Y. Vincent, S.-Y. Lin, A simulated annealing heuristic for the open location-routing problem. Comput. Oper. Res. 62, 184–196 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  50. J. Wang, W. Zhang, J. Zhang, Cooperative differential evolution with multiple populations for multiobjective optimization. IEEE Trans. Cybern. 46(12), 2848–2861 (2016)

    Article  Google Scholar 

  51. Z. Wang, Z. Lü, T. Ye, Multi-neighborhood local search optimization for machine reassignment problem. Comput. Oper. Res. 68, 16–29 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  52. S. Xavier-de Souza, J.A. Suykens, J. Vandewalle, D. Bollé, D. Bollé, Coupled simulated annealing. Syst. Man Cybern. Part B Cybern. IEEE Trans. 40(2), 320–335 (2010)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ayad Turky.

Appendix: Problem formulation

Appendix: Problem formulation

The description of this problem is adopted from [1, 51]. Let M= \(\{m_{1},m_{2},\ldots ,m_{k}\}\) be the set of machines and P=\(\{p_{1},p_{2},\ldots ,p_{w}\}\) be the set of processes. The solution can represented by a vector Map with length equal to w, where Map(p) corresponds to the machine assigned to process p. The constant and variable symbols of the problem are:

  • M The set of machines, \(M=\{m_1,m_2,\dots ,m_k\}, |M|=k\).

  • P The set of processes, \(P=\{p_1,p_2,\dots ,p_w\}, |P|=w\).

  • R The set of resources, \(R=\{r_1,r_2,\dots ,r_d\}, |R|=d\).

  • TR: The subset of resources which need transient usage \(TR=\{tr_1,tr_2,\ldots ,tr_h\}, |TR|=h, TR \subseteq R\).

  • S The set of services, \(S=\{s_1,s_2,\dots ,s_f\}, |S|=f\). Processes are partitioned into services, all services are disjoint, i.e., \(\cup _{s\in S}s=P, \forall s_i,s_j \in S, s_i \ne s_j, s_i \cap s_j=\oslash\).

  • L The set of locations, \(L=\{l_1,l_2,\dots ,l_g\},|L|=g\). Machines are partitioned into locations, all locations are disjoint, i.e., \(\cup _{l\in L}l=M,\forall l_i,l_j \in L, l_i \ne l_j, l_i \cap l_j=\oslash\).

  • N The set of neighbourhoods, \(N=\{n_1,n_2,\dots ,n_v\},|N|=v\). Machines are partitioned into neighbourhoods, all neighbourhoods are disjoint, i.e., \(\cup _{n\in N}n=M,\forall n_i,n_j \in N, n_i \ne n_j, n_i \cap n_j=\oslash\).

  • SD The set of service dependencies defined in \(S^2. SD=\{sd_1,sd_2,\ldots ,sd_z\} |SD|=z\).

  • B The set of triples defined in \(R^2x N\), N is the set of natural numbers. \(B=\{b_1,b_2,\ldots ,b_e\},|B|=e\).

  • NE(m) The neighbourhood of machine \(m \in M\).

  • C(mr) The capacity of resource \(r\in R\) on machine \(m \in M\).

  • R(pr) The requirement of resource \(r\in R\) for process \(p \in P\).

  • \(S\_min(s)\) The minimum number of distinct locations where at least one process of service \(s\in S\) should run.

  • SC(mr) The safety capacity of resource \(r\in R\) on machine \(m \in M\).

  • PMC(p) The cost of moving process \(p \in P\) from its original machine \(Map_0(p)\).

  • \(MMC(m,m')\) The cost of moving any process \(p \in P\) from machine \(m \in M\) to machine \(m' \in M\). \(\forall m \in M, MMC(m,m)=0\).

  • \(wt_1(r)\) The weight of load cost for resource \(r\in R\).

  • \(wt_2(b)\) The weight of balance cost for triple \(b\in B\).

  • \(wt_3,wt_4,wt_5\) The weights of process move cost, service move cost and machine move cost.

  • U(mr) The usage of machine \(m\in M\) for resource \(r\in R\), i.e., \(\cup (m,r)=\sum _{p\in P}bool(Map(p)=m).R(p,r)\).

  • A(mr) The available capacity of resource \(r\in R\) on machine \(m\in M\), i.e., \(A(m,r)=C(m,r)-\cup (m,r)\).

  • A(r) The total available capacity of resource \(r\in R\) over all machines, i.e., \(A(r)=\sum _{m\in M}A(m,r)\).

  • TU(mr) The transient usage of machine \(m\in M\) for resource \(r\in R\), i.e., \({\left\{ \begin{array}{ll}\sum _{p\in P}bool(Map_0(p)=m \wedge Map(p)\ne m).R(p,r), r \in TR \\ 0, \quad r\in R-TR \end{array}\right. }\).

  • CO(m) The capacity overload on machine \(m\in M\), i.e., \(CO(m)=\sum _{r \in R} max(TU(m,r)-A(m,r),0)\).

where bool is the truth indicator function. It takes value 1 if the proposition is true and takes 0 if not. The allocation of processes must not violate the following five hard constraints:

  • Capacity constraints \(\forall m\in M, r\in R, \cup (m,r)\le C(m,r)\).

  • Conflict constraints \(\forall s \in S,(p_i,p_j) \in s^2, p_i\ne p_j\Rightarrow Map(p_i)\ne Map(p_j)\).

  • Transient usage constraints: \(\forall m \in M,tr \in TR, \cup (m,tr)+ TU(m,tr)\le C(m,tr)\).

  • Spread constraints \(\forall s\in S,\sum \limits _{l \in L}min(1,|\{p \in s|Map(p)\in l\}|)\ge S\_min(s)\).

  • Dependency constraints \(\forall (s^a,s^b) \in SD, \forall p^a \in s^a, \exists p^b \in s^b \Rightarrow NE(Map(p^a))= NE(Map(p^b))\).

A solution, which meets all the above hard constraints, is considered feasible. In comparison soft constraints do not affect the feasibility but the quality of a solution. Soft constraints violation is measurable and should be as low as possible. The soft constraints are summarised as follows:

  • Load cost. SC(m, r) represents the safety capacity of a resource \(r \in R\) on a machine \(m \in M\). The load cost is defined per resource and corresponds to the used capacity above the safety capacity; more formally:

    $$\begin{aligned} f_1(r)=\sum \limits _{m \in M}max(0,U(m,r)-SC(m,r)) \end{aligned}$$
  • Balance cost In order to balance the availability of resources, let the set of triples is \(B \subseteq R^2 X N\) [1]. For a given triple \(b=(r^b_1,r^b_2, target^b) \in B\), the balance cost is:

    $$\begin{aligned} f_2(b)=\sum \limits _{m \in M}max(0, target^b . A(m,r^b_1)-A(m,r^b_2)) \end{aligned}$$
  • Process move cost represents the cost of moving a process from its current machine to a new one which can be defined as follow:

    $$\begin{aligned} f_3=\sum \limits _{p \in P}bool(Map_0(p)\not =Map(p))PMC(p) \end{aligned}$$
  • Service move cost represents the maximum number of moved processes over services which can be defined as follow:

    $$\begin{aligned} f_4=\smash {\displaystyle \max _{s \in S}}(|\{p \in s |Map(p)\not =Map_0(p)\}|) \end{aligned}$$
  • Machine move cost represents the sum of all moves weighted by relevant machine cost which can be defined as follow:

    $$\begin{aligned} f_5=\sum \limits _{p \in P}MMC(Map_0(p),Map(p)) \end{aligned}$$

The total objective cost is a weighted sum of all previous costs which is calculated as follows:

$$\begin{aligned} f(Map)=\sum \limits _{r \in R}wt_1(r). f_1(r)+ \sum \limits _{b \in B}wt_2(b)+f_2(b)+wt_3.f_3+wt_4.f_4+wt_5.f_5 \end{aligned}$$
(2)

where \(wt_1(r)\), \(wt_2(b)\), \(wt_3\), \(wt_4\) and \(wt_5\) define the importance of each individual cost.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Turky, A., Sabar, N.R. & Song, A. Cooperative evolutionary heterogeneous simulated annealing algorithm for google machine reassignment problem. Genet Program Evolvable Mach 19, 183–210 (2018). https://doi.org/10.1007/s10710-017-9305-0

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10710-017-9305-0

Keywords

Navigation