Advertisement

Application of Artificial Bee Colony Algorithm for Model Parameter Identification

  • Olympia Roeva
Chapter
Part of the Studies in Computational Intelligence book series (SCI, volume 741)

Abstract

In this chapter, the Artificial bee colony (ABC) algorithm, based on the foraging behaviour of honey bees, is introduced for a numerical optimization problem. The ABC algorithm is one of the efficient population-based biological-inspired algorithms. To demonstrate the usefulness of the presented approach, the ABC algorithm is applied to parameter identification of an E. coli MC4110 fed-batch cultivation process model. The mathematical model of E. coli MC4110 cultivation process is considered as a system of three ordinary differential equations, describing the two main process variables, namely biomass and substrate dynamics, as well as the volume variation. This case study has not been solved previously in the literature by application of ABC algorithm. To obtain a better performance of the ABC algorithm, i.e. high accuracy of the solution within reasonable time, the influence of the algorithm parameters has been investigated. Eight ABC algorithms are applied to parameter identification of the E. coli cultivation process model. The results are compared, based on obtained estimates of model parameters, objective function value, computation time and some statistical measures. As a result, two algorithms are chosen—ABC1 and ABC8, respectively, with 60 × 500 number and 20 × 400 (population×maximum cycle number), such as algorithms with the best performance. Further, the best ABC algorithms are compared with four population-based biological-inspired algorithms, namely Genetic algorithm, Ant colony optimization, Firefly algorithm and Cuckoo search algorithm. The results from literature of metaheuristics applied for the considered here parameter identification problem are used. The results clearly show that the ABC algorithm outperforms the biological-inspired algorithms under consideration, taking into account the overall search ability and computational efficiency.

Notes

Acknowledgements

Work presented here is dedicated to COMPSE 2016, First EAI International Conference on Computer Science and Engineering, November 11–12, 2016, Penang, Malaysia. Work is partially supported by the National Scientific Fund of Bulgaria under the Grant DN02/10 “New Instruments for Knowledge Discovery from Data, and their Modelling”.

References

  1. 1.
    AbdAllah, A., Essam, D., & Sarker, R. (2016). Genetic algorithms-based techniques for solving dynamic optimization problems with unknown active variables and boundaries. In First EAI international conference on computer science and engineering, November 11–12, 2016, Penang, Malaysia. http://eudl.eu/doi/10.4108/eai.27-2-2017.152266.
  2. 2.
    Abraham, A., Guo, H., & Liu, H. (2006). Swarm intelligence: foundations, perspectives and applications. In N. Nadjah, &. Mourelle (Eds.), Swarm intelligent systems. studies in computational intelligence 3–25 (2006).Google Scholar
  3. 3.
    Abualigah, L., Khader, A., & Al-Betar, M. (2016). A new hybridization strategy for krill herd algorithm and harmony search algorithm applied to improve the data clustering. In First EAI International Conference on Computer Science and Engineering, November 11–12, 2016, Penang, Malaysia. http://eudl.eu/doi/10.4108/eai.27-2-2017.152255.
  4. 4.
    Akpinar, S., & Bayhan, G. M. (2011). A hybrid genetic aalgorithm for mixed model assembly line balancing problem with parallel workstations and zoning constraints. Engineering Applications of Artificial Intelligence, 24(3), 449–457.CrossRefGoogle Scholar
  5. 5.
    Albayrak, G., & Özdemir, İ. (2017). A state of art review on metaheuristic methods in time-cost trade-off problems. International Journal of Structural and Civil Engineering Research, 6(1), 30–34. https://doi.org/10.18178/ijscer.6.1.30-34.Google Scholar
  6. 6.
    Ampellio, E., & Vassio, L. (2016). A hybrid ABC for expensive optimizations: CEC 2016 competition benchmark. In 2016 IEEE congress on evolutionary computation (CEC). https://doi.org/10.1109/CEC.2016.7743918.
  7. 7.
    Anh, T. N. L., Vo Ngoc, D., Ongsakul, W., Vasant, P., & Ganesan, T. (5015). Cuckoo optimization algorithm for optimal power flow. In: Handa, H., Ishibuchi, H., Ong, Y.S., Tan, K. (eds.), Proceedings of the 18th Asia pacific symposium on intelligent and evolutionary systems, Vol. 1. Proceedings in Adaptation, Learning and Optimization (Vol. 1, pp. 479–493). Springer.Google Scholar
  8. 8.
    Apostolopoulos, T., & Vlachos, A. (2011). Application of the firefly algorithm for solving the economic emissions load dispatch problem. International journal of combinatorics, Article ID 523806.Google Scholar
  9. 9.
    Atanassova, V., Fidanova, S., Popchev, I., & Chountas, P. (2012). Chapter 5. Generalized nets, ACO algorithms, and genetic algoriDimov, I. (eds.), Monte carlo methods and applications, proceedings of the 8th IMACS seminar on monte carlo methods (pp. 39–46). De Gruyter.Google Scholar
  10. 10.
    Benjamin, K. K., Ammanuel, A. N., David, A., & Benjamin, Y. K. (2008). Genetic algorithm using for a batch fermentation process identification. Journal of Applied Sciences, 8(12), 2272–2278.CrossRefGoogle Scholar
  11. 11.
    Bolaji, A. L., Khader, A. T., Al-Betar, M. A., & Awadallah, M. A. (2013). Artificial bee colony algorithm, its variants and applications: a survey. Journal of Theoretical and Applied Information Technology, 47(2), 434–459.Google Scholar
  12. 12.
    Brenna, M., Foiadelli, F., & Longo, M. (2016). Application of genetic algorithms for driverless subway train energy optimization. International Journal of Vehicular Technology, 2016, Article ID 8073523. https://doi.org/10.1155/2016/8073523.
  13. 13.
    Brownlee, J. (2011). Clever algorithms. LuLu: Nature-Inspired Programming Recipes.Google Scholar
  14. 14.
    Chai-ead, N., Aungkulanon, P., & Luangpaiboon, P. (2011). Bees and firefly algorithms for noisy non-linear optimisation problems. International multiconference of engineers and computer scientists (Vol. 2, pp. 1449–1454).Google Scholar
  15. 15.
    Cronan, J. E. (2014). Escherichia coli as an experimental organism. In: eLS. Chichester: Wiley. https://doi.org/10.1002/9780470015902.a0002026.pub2.
  16. 16.
    da Silva, M. F. J., Perez, J. M. S., Pulido, J. A. G., & Rodriguez, M. A. V. (2010). AlineaGA—a genetic algorithm with local search optimization for multiple sequence alignment. Applied Intelligence, 32, 164–172.CrossRefGoogle Scholar
  17. 17.
    Dorigo, M., & Stutzle, T. (2004). Ant colony optimization. MIT Press.Google Scholar
  18. 18.
    Ederer, M., Steinsiek, S., Stagge, S., Rolfe, M. D., Ter Beek, A., et al. (2014). A mathematical model of metabolism and regulation provides a systems-level view of how Escherichia coli responds to oxygen. Frontiers in Microbiology. https://doi.org/10.3389/fmicb.2014.00124.Google Scholar
  19. 19.
    Edgington, M., & Tindall, M. (2015). Understanding the link between single cell and population scale responses of Escherichia coli in differing ligand gradients. Computational and Structural Biotechnology Journal, 13, 528–538.CrossRefGoogle Scholar
  20. 20.
    Fidanova, S, Marinov, P., & Alba, E. (2010a). ACO for optimal sensor layout. In J. Filipe, J. Kacprzyk (eds.), Proceedings of international conference on evolutionary computing, Valencia, Spain (pp. 5–9). SciTePress-Science and Technology Publications Portugal.Google Scholar
  21. 21.
    Fidanova, S., Alba, E., & Molina, G. (2010). Hybrid ACO algorithm for the GPS surveying problem. Lecture Notes on Computer Science, 5910, 318–325.CrossRefMATHGoogle Scholar
  22. 22.
    Fidanova, S., & Roeva, O. (2013). Metaheuristic techniques for optimization of an E. coli cultivation model. Biotechnology and Biotechnological Equipment, 27(3), 3870–3876.CrossRefGoogle Scholar
  23. 23.
    Fidanova, S. (2010). An improvement of the grid-based hydrophobic-hydrophilic model. International Journal Bioautomation, 14(2), 147–156.Google Scholar
  24. 24.
    Fister, I., Fister, I., Jr., Yang, X.-S., & Brest, J. (2013). A comprehensive review of firefly algorithms. Swarm and Evolutionary Computation, 13, 34–46.CrossRefGoogle Scholar
  25. 25.
    Ghaheri, A., Shoar, M., Naderan, M., & Hoseini, S. S. (2015). The applications of genetic algorithms in medicine. Oman Medical Journal, 30(6), 406–416.CrossRefGoogle Scholar
  26. 26.
    Ghanem, W. (2016a). Hybridizing bat algorithm with modified pitch-adjustment operator for numerical optimization problems. In First EAI international conference on computer science and engineering, November 11–12, 2016, Penang, Malaysia. http://eudl.eu/doi/10.4108/eai.27-2-2017.152269.
  27. 27.
    Ghanem, W. (2016b). Hybridizing artificial bee colony with monarch butterfly optimization for numerical optimization problems. In First EAI international conference on computer science and engineering, November 11–12, 2016, Penang, Malaysia. http://eudl.eu/doi/10.4108/eai.27-2-2017.152257.
  28. 28.
    Goldberg, D. E. (2006). Genetic algorithms in search, optimization and machine learning. London: Addison Wesley Longman.Google Scholar
  29. 29.
    González, C. I., Castro, J. R., Melin, P., & Castillo, O. (2015). Cuckoo search algorithm for the optimization of type-2 fuzzy image edge detection systems (pp. 449–455). CEC.Google Scholar
  30. 30.
    Gu, W., Yu, Y., & Hu, W. (2017). Artificial bee colony algorithm-based parameter estimation of fractional-order chaotic system with time delay. IEEE/CAA Journal of Automatica Sinica, 4(1), 107–113.MathSciNetCrossRefGoogle Scholar
  31. 31.
    Guerrero, M., Castillo, O., & Valdez, M.G. (2015a). Cuckoo search via lévy flights and a comparison with genetic algorithms. Fuzzy Logic Augmentation of Nature-inspired Optimization Metaheuristics, 91–103.Google Scholar
  32. 32.
    Guerrero, M., Castillo, O., & Valdez, M. G. (2015b). Study of parameter variations in the cuckoo search algorithm and the influence in its behavior. Design of intelligent systems based on fuzzy logic, neural networks and nature-inspired optimization, 199–210.Google Scholar
  33. 33.
    Holland, J. H. (1992). Adaptation in Natural and Artificial Systems (2nd ed.). Cambridge: MIT Press.Google Scholar
  34. 34.
    Ismail, M. M., Hezam, I. M., & El-Sharkawy, E. (2017). Enhanced cuckoo search algorithm with SPV rule for quadratic assignment problem. International Journal of Computer Applications, 158(4), 39–42.CrossRefGoogle Scholar
  35. 35.
    Jadon, S. S., Tiwari, R., Sharma, H., & Bansal, J. C. (2017). Hybrid artificial bee colony algorithm with differential evolution. Applied Soft Computing, 58, 11–24.CrossRefGoogle Scholar
  36. 36.
    Karaboga, D., & Akay, B. (2009). A comparative study of artificial bee colony algorithm. Applied Mathematics and Computation, 214, 108–132.MathSciNetCrossRefMATHGoogle Scholar
  37. 37.
    Karaboga, D., Gorkemli, B., Ozturk, C., & Karaboga, N. (2014). A comprehensive survey: Artificial bee colony (ABC) algorithm and applications. Artificial Intelligence Review, 42(1), 21–57.CrossRefGoogle Scholar
  38. 38.
    Karaboga, D., & Ozturk, C. (2011). A novel clustering approach: Artificial bee colony (ABC) algorithm. Applied Soft Computing, 11(1), 652–657.CrossRefGoogle Scholar
  39. 39.
    Karaboga, D. (2005). An idea based on honeybee swarm for numerical optimization. Technical Report TR06, Erciyes University, Engineering Faculty, Computer Engineering Department.Google Scholar
  40. 40.
    Kumar, S. M., Giriraj, R., Jain, N., Anantharaman, V., et al. (2008). Genetic algorithm based PID controller tuning for a model bioreactor. Indian Chemical Engineer, 50(3), 214–226.Google Scholar
  41. 41.
    Kwiecień, J., Filipowicz, B. (2017). Optimization of complex systems reliability by firefly algorithm. Maintenance and Reliability 19(2), 296–301. http://dx.doi.org/10.17531/ein.2017.2.18.
  42. 42.
    Le Dinh, L., Vo Ngoc, D., & Vasant, P. (2013). Artificial bee colony algorithm for solving optimal power flow problem. Hindawi Publishing Corporation. The ScientificWorld Journal, 2013, Article ID 159040. http://dx.doi.org/10.1155/2013/159040.
  43. 43.
    Li, Y., Wang, Y., & Li, B. (2013). A hybrid artificial bee colony assisted differential evolution algorithm for optimal reactive power flow. International Journal of Electrical Power & Energy Systems, 52, 25–33.CrossRefGoogle Scholar
  44. 44.
    Li, Y., Zhou, C., & Zheng, X. (2014). The application of artificial bee colony algorithm in protein structure prediction. In L. Pan, G. Păun, M. J., Pérez-Jiménez, & T. Song, (Eds.), Bio-inspired Computing—theories and applications. Communications in computer and information science (Vol. 472, pp. 255–258). Berlin: Springer.Google Scholar
  45. 45.
    Maddala, V., Katta, & R. R. (2017). Adaptive ABC algorithm based PTS Scheme for PAPR reduction in MIMO-OFDM. International Journal of Intelligent Engineering and Systems, 10(2) (2017). http://dx.doi.org/10.22266/ijies2017.0430.06.
  46. 46.
    Majumder, A., & Laha, D. (2016). A new cuckoo search algorithm for 2-machine robotic cell scheduling problem with sequence-dependent setup times. Swarm and Evolutionary Computation, 28, 131–143.CrossRefGoogle Scholar
  47. 47.
    Mao, L., Mao, Y., Zhou, C., Li, C., Wei, X., & Yang, H. (2016). Particle swarm and bacterial for aging inspired hybrid artificial bee colony algorithm for numerical function optimization. Mathematical Problems in Engineering, 2016. https://doi.org/10.1155/2016/9791060.
  48. 48.
    Mlakar, U., Fister Jr., I., & Fister, I. (2016). Hybrid self-adaptive cuckoo search for global optimization. Swarm and evolutionary computation. https://doi.org/10.1016/j.swevo. 2016.03.001.
  49. 49.
    Mohamad, A. B., Zain, A. M., & Bazin, N. E. N. (2014). Cuckoo search algorithm for optimization problems—a literature review and its applications. Applied Artificial Intelligence. An International Journal, 28(5), 419–448.CrossRefGoogle Scholar
  50. 50.
    Mucherino, A., Fidanova, S., & Ganzha, M. (2016). Introducing the environment in ant colony optimization. Recent Advances in Computational Optimization, Studies in Computational Intelligence, 655, 147–158.CrossRefGoogle Scholar
  51. 51.
    Nasiri, B., & Meybodi, M. R. (2012). Speciation-based firefly algorithm for optimization in dynamic environments. International Journal of Artificial Intelligence, 8(S12), 118–132.Google Scholar
  52. 52.
    Nguyen, T. T., Pan, J. S., Dao, T. K., Kuo, M. Y., & Horng, M. F. (2014). Hybrid bat algorithm with artificial bee colony. In J. S. Pan, V. Snasel, E. Corchado, A. Abraham, S. L. Wang (Eds.), Intelligent data analysis and its applications, Volume II. Advances in intelligent systems and computing, (Vol. 298). Cham: Springer.Google Scholar
  53. 53.
    Ong, P. (2016). Performances of adaptive cuckoo search algorithm in engineering optimization. In P. Vasant, G.-W. Weber, D. Vo Ngoc (eds.), Handbook of research on modern optimization algorithms and applications in engineering and economics. https://doi.org/10.4018/978-1-4666-9644-0.ch026.
  54. 54.
    Pan, Q. K., Fatih Tasgetiren, M., Suganthan, P. N., & Chua, T. J. (2011). A discrete artificial bee colony algorithm for the lot-streaming flow shop scheduling problem. Information Sciences, 181(12), 2455–2468.MathSciNetCrossRefGoogle Scholar
  55. 55.
    Paplinski, J. P. (2010). The genetic algorithm with simplex crossover for identification of time delays. Intelligent Information Systems, 337–346.Google Scholar
  56. 56.
    Petersen, C. M., Rifai, H. S., Villarreal, G. C., & Stein, R. (2011). Modeling Escherichia coli and its sources in an urban bayou with hydrologic simulation program—FORTRAN. Journal of Environmental Engineering, 137(6), 487–503.CrossRefGoogle Scholar
  57. 57.
    Pham, D. T., Ghanbarzadeh, A., Koc, E., Otri, S., Rahim, S., & Zaidi, M. (2005). The Bees algorithm, technical report, manufacturing engineering centre, Cardiff University, UK.Google Scholar
  58. 58.
    Roeva, O., & Atanassova, V. (2016). Cuckoo search algorithm for model parameter identification. International Journal Bioautomation, 20(4), 483–492.Google Scholar
  59. 59.
    Roeva, O., Fidanova, S. (2014). Parameter identification of an E. coli cultivation process model using hybrid metaheuristics. The International Journal of Metaheuristics, 3(2), 133–148.Google Scholar
  60. 60.
    Roeva, O., Fidanova, S., & Paprzycki, M. (2015). Influence on the genetic and ant algorithms performance in case of cultivation process modeling. Recent Advances in Computational Optimization, Studies in Computational Intelligence, 580, 107–120.MathSciNetGoogle Scholar
  61. 61.
    Roeva, O., Pencheva, T., Hitzmann, B., & Tzonkov, S. T. (2004). A genetic algorithms based approach for identification of escherichia coli fed-batch fermentation. International Journal Bioautomation, 1, 30–41.Google Scholar
  62. 62.
    Roeva, O., & Slavov, T. S. (2011). Fed-batch cultivation control based on genetic algorithm PID controller tuning. Lecture Notes on Computer Science, 6046, 289–296.Google Scholar
  63. 63.
    Roeva, O., & Slavov, T. S. (2012). Firefly algorithm tuning of PID controller for glucose concentration control during E. coli fed-batch cultivation process. In Proceedings of the federated conference on computer science and information systems, WCO, Poland (pp. 455–462).Google Scholar
  64. 64.
    Roeva, O. (2013). Chapter 21. A comparison of simulated annealing and genetic algorithm approaches for cultivation model identification. Monte Carlo Methods and Applications, 193–201 (2013).Google Scholar
  65. 65.
    Roeva, O. (2014). Genetic algorithm and firefly algorithm hybrid schemes for cultivation processes modelling. In R. Kowalczyk, A. Fred, & F. Joaquim (Eds.), Transactions on computational collective intelligence XVII (Vol. 8790, pp. 196–211). series Lecture Notes in Computer Science. Springer.Google Scholar
  66. 66.
    Roeva, O. (2012). Optimization of E. coli cultivation model parameters using firefly algorithm. International Journal Bioautomation, 16(1), 23–32 (2012).Google Scholar
  67. 67.
    Roeva, O. (2008). Parameter estimation of a monod-type model based on genetic algorithms and sensitivity analysis. Lecture Notes on Computer Science, 4818, 601–608.CrossRefMATHGoogle Scholar
  68. 68.
    Sörensen, K., Sevaux, M., & Glover, F. (2017). A history of metaheuristics, In R. Martí, P Pardalos, & M. Resende (Eds.), Handbook of heuristics. Springer. https://arxiv.org/pdf/1704.00853.pdf.
  69. 69.
    Thammano, A., & Phu-ang, A. (2013). A hybrid artificial bee colony algorithm with local search for flexible job-shop scheduling problem. Procedia Computer Science, 20, 96–101.CrossRefGoogle Scholar
  70. 70.
    Tilahun, S. L., & Ngnotchouye, J. M. T. (2017). Firefly algorithm for discrete optimization problems: A survey. Journal of Civil Engineering, 21(2), 535–545.Google Scholar
  71. 71.
    Toimil, D., & Gómes, A. (2017). Review of metaheuristics applied to heat exchanger network design. International Transactions in Operational Research, 24(1–2), 7–26.MathSciNetCrossRefMATHGoogle Scholar
  72. 72.
    Tsai, P.-W., Pan, J.-S., Liao, B.-Y., & Chu, S.-C. (2009). Enhanced artificial bee colony optimization. International Journal of Innovative, 5(12B), 5081–5092.Google Scholar
  73. 73.
    Tumuluru, J. S., & McCulloch, R. (2016). Application of hybrid genetic algorithm routine in optimizing food and bioengineering processes. Foods, 5. https://doi.org/10.3390/foods5040076.
  74. 74.
    Vasant, P. (2015). Handbook of research on artificial intelligence techniques and algorithms. Hershey, PA: IGI-Global.CrossRefGoogle Scholar
  75. 75.
    Vasant, P. (2013a). Hybrid linear search, genetic algorithms, and simulated annealing for fuzzy non-linear industrial production planning problems. In Meta-Heuristics optimization algorithms in engineering, business, economics, and finance (pp. 87–109). Hershey: Idea Group.Google Scholar
  76. 76.
    Vasant, P. (2013). Meta-heuristics optimization algorithms in engineering, business, economics, and finance. Hershey, PA: IGI-Global.CrossRefGoogle Scholar
  77. 77.
    Vasant, P. (2014). Hybrid optimization techniques for industrial production planning: a review. In Handbook of research on novel soft computing intelligent algorithms: theory and practical applications (pp. 41–48). IGI Global.Google Scholar
  78. 78.
    Vazquez, R. A., & Garro, B. A. (2016). Crop classification using artificial bee colony (ABC) algorithm. In Y. Tan, Y. Shi, L. Li (Eds.), Advances in swarm intelligence, ICSI 2016, Lecture notes in computer science (Vol. 9713, pp. 171–178). Springer.Google Scholar
  79. 79.
    Wahdan, H. G., Kassem, S. S., & Abdelsalam, H. M. E. (2017). Product modularization using cuckoo search algorithm. In B. Vitoriano, G. H. Parlier (Eds.), ICORES 2016, CCIS 695 (pp. 20–34).Google Scholar
  80. 80.
    Yang, X. S., & Deb, S. (2009). Cuckoo search via lévy flights. In Proceeding of world congress on nature & biologically inspired computing (NaBIC 2009) (pp. 210–214). USA: IEEE Publications.Google Scholar
  81. 81.
    Yang, X. S., & Deb, S. (2010). Engineering optimization by cuckoo search. International Journal of Mathematical Modellling & Numerical Optimisation, 1(4), 330–343.CrossRefMATHGoogle Scholar
  82. 82.
    Yang, X. S., & Deb, S. (2013). Multiobjective cuckoo search for design optimization. Computers & Operations Research, 40(6), 1616–1624.MathSciNetCrossRefMATHGoogle Scholar
  83. 83.
    Yang, X. S. (2005). Engineering optimizations via nature-inspired virtual bee algorithms. Artificial Intelligence and Knowledge Engineering Applications: A Bioinspired Approach, Lecture Notes in Computer Science, 3562, 317–323.Google Scholar
  84. 84.
    Yang, X. S. (2009). Firefly algorithm for multimodal optimization. Lecture Notes in Computing Sciences, 5792, 169–178.MathSciNetCrossRefMATHGoogle Scholar
  85. 85.
    Yang, X. S. (2010a) Firefly algorithm, levy flights and global optimization. Research and development in intelligent systems XXVI (pp. 209–218). London, UK: Springer.Google Scholar
  86. 86.
    Yang, X. S. (2010). Firefly algorithm, stochastic test functions and design optimization. International Journal of Bio-inspired Computation, 2(2), 78–84.CrossRefGoogle Scholar
  87. 87.
    Yang, X. S. (2008). Nature-inspired Meta-heuristic algorithms. Beckington, UK: Luniver Press.Google Scholar
  88. 88.
    Yang, X. S. (2014). Nature-inspired optimization algorithms. London: Elsevier.MATHGoogle Scholar
  89. 89.
    Yousif, A., Abdullah, A. H., Nor, S. M., & Abdelaziz, A. A. (2011). Scheduling jobs on grid computing using firefly algorithm. Journal of Theoretical and Applied Information Technology, 33(2), 155–164.Google Scholar
  90. 90.
    Zhang, C., Ouyang, D., & Ning, J. (2010). An artificial bee colony approach for clustering. Expert Systems with Applications, 37(7), 4761–4767.CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2018

Authors and Affiliations

  1. 1.Bioinformatics and Mathematical Modelling DepartmentInstitute of Biophysics and Biomedical Engineering Bulgarian Academy of SciencesSofiaBulgaria

Personalised recommendations