skip to main content
research-article

Client-side Computational Optimization

Published:29 April 2019Publication History
Skip Abstract Section

Abstract

Mobile platforms have matured to a point where they can provide the infrastructure required to support sophisticated optimization codes. This opens the possibility to envisage new interest for distributed application codes and the opportunity to intensify research on optimization algorithms requiring limited computational resources, as provided by mobile platforms.

In this article, we report on some exploratory experience in this area. We illustrate some practical, real-world cases where running optimization programs on mobile or embedded devices can be useful, with particular emphasis on matheuristics approaches. Then, we discuss a practical use case involving the feasibility version of the generalized assignment problem (GAP). We present a JavaScript implementation of a GAP solver that can be executed inside an ordinary browser supporting ECMAScript. We tested the code on different smartphones of varying age and power, as well as on desktop PCs and other embedded devices. Our experiments confirm the viability of mobile devices for computational intensive tasks.

References

  1. L. Atzori, A. Iera, and G. Morabito. 2010. The internet of things: A survey. Comput. Netw. 54, 15 (2010), 2787--2805. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. J. E. Beasley. 1993. Lagrangian relaxation. In Modern Heuristic Techniques for Combinatorial Problems, Colin R. Reeves (Ed.). John Wiley 8 Sons, New York, NY, 243--303. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. A. Boschetti, V. Maniezzo, and M. Roffilli. 2011. A fully distributed Lagrangian solution for a peer-to-peer overlay network design problem. INFORMS J. Comput. 23, 1 (2011), 90--104. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. A. Boschetti and V. Maniezzo. 2009. Benders decomposition, Lagrangian relaxation and metaheuristic design. J. Heuristics 15, 3 (June 2009), 283--312. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. M. A. Boschetti, V. Maniezzo, M. Roffilli, and A. Bolufé Röhler. 2009. Matheuristics: Optimization, simulation and control. In Hybrid Metaheuristics, María J. Blesa, Christian Blum, Luca Di Gaspero, Andrea Roli, Michael Sampels, and Andrea Schaerf (Eds.). Springer Berlin, 171--177. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. Cattrysse, M. Salomon, and L. N. Van Wassenhove. 1994. A set partitioning heuristic for the generalized assignment problem. Europ. J. Op. Res. 72 (1994), 167--174.Google ScholarGoogle ScholarCross RefCross Ref
  7. L. Chen. 2018. Keras.js. Retrieved from https://github.com/transcranial/keras-js.Google ScholarGoogle Scholar
  8. J. W. Chinneck, B. Kristjansson, and M. J. Saltzman. 2009. Operations Research and Cyber-Infrastructure. Springer, Boston, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. P. C. Chu and J. E. Beasley. 1997. A genetic algorithm for the generalised assignment problem. Comput. Op. Res. 24 (1997), 17--23. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. Chui, M. Loeffler, and R. Roberts. 2010. The internet of things. Retrieved from http://www.mckinsey.com/industries/high-tech/our-insights/the-internet-of-things.Google ScholarGoogle Scholar
  11. W. J. Cook. 2012a. Concorde TSP solver for iOS. Retrieved from http://www.math.uwaterloo.ca/tsp/iphone/index.html.Google ScholarGoogle Scholar
  12. W. J. Cook. 2012b. In Pursuit of the Traveling Salesman: Mathematics at the Limits of Computation. Princeton University Press, Princeton, NJ.Google ScholarGoogle Scholar
  13. J. Czyzyk, M. P. Mesnier, and J. J. Moré. 1998. The NEOS Server. IEEE J. Comput. Sci. Eng. 5, 3 (1998), 68--75. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. de Jong. 2018. Mathjs: An extensive math library for JavaScript and Node.js. Retrieved from http://mathjs.org/.Google ScholarGoogle Scholar
  15. J. Dongarra and P. Luszczek. 2012. Anatomy of a globally recursive embedded LINPACK benchmark. In Proceedings of the IEEE Conference on High Performance Extreme Computing. 1--6.Google ScholarGoogle Scholar
  16. Economist IoT 2017. The internet of things business index 2017—Transformation in motion. Retrieved from https://www.eiuperspectives.economist.com/sites/default/files/EIU-ARM-IBM%20IoT%20Business%20Index%202017%20copy.pdf.Google ScholarGoogle Scholar
  17. Euro PhD School (EPS). 2016. Retrieved from https://sites.google.com/site/eps2016matheuristics/.Google ScholarGoogle Scholar
  18. S. Farokhi, P. Jamshidi, I. Brandic, and E. Elmroth. 2015. Self-adaptation challenges for cloud-based applications: A control theoretic perspective. In Proceedings of the 10th International Workshop on Feedback Computing.Google ScholarGoogle Scholar
  19. R. Fourer. 2010. Cyberinfrastructure and optimization. In A Long View of Research and Practice in Operations Research and Management Science—The Past and the Future, ManMohan S. Sodhi and Christopher S. Tang (Eds.). Volume 148 of International Series in Operations Research and Management Science, 219--229.Google ScholarGoogle Scholar
  20. R. Gabrielli, A. Guidazzi, M. A. Boschetti, V. Maniezzo, and M. Roffilli. 2006. Practical origin-destination traffic flow estimation. In Proceedings of the 3rd International Workshop on Freight Transportation and Logistics (Odysseus’06).Google ScholarGoogle Scholar
  21. B. Golden. 2017. Where will IoT computing reside? Retrieved from https://insights.hpe.com/articles/where-will-iot-computing-reside-1702.html.Google ScholarGoogle Scholar
  22. Google. 2018. Progressive web apps: A new way to deliver amazing user experiences on the web. Retrieved from https://developers.google.com/web/progressive-web-apps/.Google ScholarGoogle Scholar
  23. Google Maps 2018. Google Maps help: Download areas and navigate offline. Retrieved from https://support.google.com/maps/answer/6291838?co=GENIE.Platform%3DAndroid8hl=en.Google ScholarGoogle Scholar
  24. D. Guinard, V. Trifa, T. Pham, and O. Liechti. 2009. Towards physical mashups in the web of things. In Proceedings of the 6th International Conference on Networked Sensing Systems (INSS’09). IEEE Press, Piscataway, NJ, 196--199. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Gurobi Optimization 2018. Gurobi Instant Cloud. Retrieved from http://www.gurobi.com/products/gurobi-cloud.Google ScholarGoogle Scholar
  26. M. Halpern, Y. Zhu, and V. J. Reddi. 2016. Mobile CPU’s rise to power: Quantifying the impact of generational mobile CPU design trends on performance, energy, and user satisfaction. In Proceedings of the IEEE International Symposium on High Performance Computer Architecture (HPCA’16). IEEE, 64--76.Google ScholarGoogle Scholar
  27. M. Held, P. Wolfe, and H. P. Crowder. 1974. Validation of subgradient optimization. Math. Prog. 6, 1 (Dec. 1974), 62--88. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Here WeGo. 2018. Offline maps 8 GPS. Retrieved from https://play.google.com/store/apps/details?id=com.here.app.maps.Google ScholarGoogle Scholar
  29. D. Herman, L. Wagner, and A. Zakai. 2014. Asm.js. Working draft. Retrieved from http://asmjs.org/spec/latest/.Google ScholarGoogle Scholar
  30. O. Hersent, D. Boswarthick, and O. Elloumi. 2012. The Internet of Things: Key Applications and Protocols (2nd ed.). John Wiley 8 Sons. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. IBM. 2018. IBM Decision Optimization on Cloud. Retrieved from https://www.ibm.com/us-en/marketplace/decision-optimization-cloud.Google ScholarGoogle Scholar
  32. M. López-Ibáñez, J. Dubois-Lacoste, L. Pérez Càceres, M. Birattari, and T. Stützle. 2016. The irace package: Iterated racing for automatic algorithm configuration. Op. Res. Persp. 3 (2016), 43--58.Google ScholarGoogle ScholarCross RefCross Ref
  33. V. Maniezzo. 2018a. Bridging the GAP, some generalized assignment problem instances. Retrieved from http://astarte.csr.unibo.it/gapdata/gapinstances.html.Google ScholarGoogle Scholar
  34. V. Maniezzo. 2018b. JavaScript GAP solver. Retrieved from http://astarte.csr.unibo.it/GAPJS/.Google ScholarGoogle Scholar
  35. V. Maniezzo, M. A. Boschetti, and W. J. Gutjahr. 2017. Stochastic pre-marshalling of block stacking warehouses. Working paper.Google ScholarGoogle Scholar
  36. V. Maniezzo, M. A. Boschetti, and M. Roffilli. 2009. Matheuristics in simulation: A case study in water supply management. In Proceedings of the 8th Metaheuristic International Conference (MIC’09), M. Caserta and S. Voß (Eds.). 1--10.Google ScholarGoogle Scholar
  37. V. Maniezzo, T. Stützle, and S. Voß (Eds.). 2010. Matheuristics: Hybridizing Metaheuristics and Mathematical Programming. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. S. Martello and P. Toth. 1990. Knapsack Problems: Algorithms and Computer Implementations. John Wiley 8 Sons. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. NEOS Server 2018. NEOS Server: state-of-the-art solvers for numerical optimization. Retrieved from https://neos-server.org/neos/.Google ScholarGoogle Scholar
  40. NSF. 2004. An operations cyberinfrastructure: Using cyberinfrastructure and operations research to improve productivity in the enterprise. Retrieved from http://www.optimization-online.org/OCI/OCI.pdf.Google ScholarGoogle Scholar
  41. Numeric JavaScript. 2018. Numericjs. Retrieved from http://numericjs.com/numeric/benchmark.html.Google ScholarGoogle Scholar
  42. I. H. Osman. 1995. Heuristics for the generalised assignment problem: Simulated annealing and tabu search approaches. Op.-Res.-Spektrum 17, 4 (Dec. 1995), 211--225. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. B. T. Polyak. 1969. Minimization of unsmooth functionals. U. S. S. R. Comput. Math. and Math. Phys. 9 (1969), 14--29.Google ScholarGoogle ScholarCross RefCross Ref
  44. D. Raggett, K. Ashimura, and Y. Chen. 2016. W3C white paper for the web of things. Retrieved from https://www.w3.org/2016/08/wot-white-paper/.Google ScholarGoogle Scholar
  45. S. Remde. 2018. Node-lp_solve: A NodeJS module for creating and solving simple linear programs using lp_solve. Retrieved from https://github.com/smremde/node-lp_solve.Google ScholarGoogle Scholar
  46. A. Rossberg. 2018. WebAssembly Core Specification. W3C Working Draft. Retrieved from https://www.w3.org/TR/2018/WD-wasm-core-1-20180215/.Google ScholarGoogle Scholar
  47. A. Russell, J. Song, J. Archibald, and M. Kruisselbrink. 2017. Service Workers 1. W3C Working Draft. Retrieved from https://www.w3.org/TR/service-workers/.Google ScholarGoogle Scholar
  48. N. Z. Shor. 1985. Minimization Methods for Non-differentiable Functions. Springer-Verlag. Google ScholarGoogle Scholar
  49. Stdlib. 2018. Stdlib: A standard library for JavScript and Node.js. Retrieved from https://stdlib.io/.Google ScholarGoogle Scholar
  50. TensorFlow. 2018. TensorFlow. Retrieved from https://js.tensorflow.org/.Google ScholarGoogle Scholar
  51. TensorFlow.js. 2018. Tensorflow.js. Retrieved from https://js.tensorflow.org/.Google ScholarGoogle Scholar
  52. Three.js. 2018. Three.js. Retrieved from https://threejs.org/.Google ScholarGoogle Scholar
  53. J. A. Tompkins, J. A. White, Y. A. Bozer, and J. M. A. Tanchoco. 2010. Facilities Planning. John Wiley 8 Sons.Google ScholarGoogle Scholar
  54. J. Vaillant. 2018a. Glpk.js. Retrieved from https://github.com/jvail/glpk.js.Google ScholarGoogle Scholar
  55. J. Vaillant. 2018b. Spatiasql.js. Retrieved from https://github.com/jvail/spatiasql.js.Google ScholarGoogle Scholar
  56. S. Walter. 2016. The (not so) secret powers of the mobile browser. Smash. Mag. (Dec. 2016). Retrieved from https://www.smashingmagazine.com/2016/12/the-not-so-secret-powers-of-the-mobile-browser/.Google ScholarGoogle Scholar
  57. Wikipedia. 2018. Comparison of smartphones. Retrieved from https://en.wikipedia.org/wiki/Comparison_of_smartphones.Google ScholarGoogle Scholar
  58. J. Wolcott. 2018. JavaScript LP solver. Retrieved from https://github.com/JWally/jsLPSolver.Google ScholarGoogle Scholar
  59. L. D. Xu and W. He. 2014. Internet of things in industries: A survey. IEEE Trans. Industr. Inform. 10 (Nov. 2014), 2233--2243.Google ScholarGoogle ScholarCross RefCross Ref
  60. M. Yagiura, T. Ibaraki, and F. Glover. 2004. An ejection chain approach for the generalized assignment problem. INFORMS J. Comput. 16, 2 (2004), 133--151. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Client-side Computational Optimization

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM Transactions on Mathematical Software
      ACM Transactions on Mathematical Software  Volume 45, Issue 2
      June 2019
      255 pages
      ISSN:0098-3500
      EISSN:1557-7295
      DOI:10.1145/3326465
      Issue’s Table of Contents

      Copyright © 2019 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 29 April 2019
      • Accepted: 1 January 2019
      • Revised: 1 September 2018
      • Received: 1 August 2017
      Published in toms Volume 45, Issue 2

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format .

    View HTML Format