skip to main content
research-article

Client-side Computational Optimization

Published: 29 April 2019 Publication History

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.
[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.
[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.
[4]
M. A. Boschetti and V. Maniezzo. 2009. Benders decomposition, Lagrangian relaxation and metaheuristic design. J. Heuristics 15, 3 (June 2009), 283--312.
[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.
[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.
[7]
L. Chen. 2018. Keras.js. Retrieved from https://github.com/transcranial/keras-js.
[8]
J. W. Chinneck, B. Kristjansson, and M. J. Saltzman. 2009. Operations Research and Cyber-Infrastructure. Springer, Boston, MA.
[9]
P. C. Chu and J. E. Beasley. 1997. A genetic algorithm for the generalised assignment problem. Comput. Op. Res. 24 (1997), 17--23.
[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.
[11]
W. J. Cook. 2012a. Concorde TSP solver for iOS. Retrieved from http://www.math.uwaterloo.ca/tsp/iphone/index.html.
[12]
W. J. Cook. 2012b. In Pursuit of the Traveling Salesman: Mathematics at the Limits of Computation. Princeton University Press, Princeton, NJ.
[13]
J. Czyzyk, M. P. Mesnier, and J. J. Moré. 1998. The NEOS Server. IEEE J. Comput. Sci. Eng. 5, 3 (1998), 68--75.
[14]
J. de Jong. 2018. Mathjs: An extensive math library for JavaScript and Node.js. Retrieved from http://mathjs.org/.
[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.
[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.
[17]
Euro PhD School (EPS). 2016. Retrieved from https://sites.google.com/site/eps2016matheuristics/.
[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.
[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.
[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).
[21]
B. Golden. 2017. Where will IoT computing reside? Retrieved from https://insights.hpe.com/articles/where-will-iot-computing-reside-1702.html.
[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/.
[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.
[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.
[25]
Gurobi Optimization 2018. Gurobi Instant Cloud. Retrieved from http://www.gurobi.com/products/gurobi-cloud.
[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.
[27]
M. Held, P. Wolfe, and H. P. Crowder. 1974. Validation of subgradient optimization. Math. Prog. 6, 1 (Dec. 1974), 62--88.
[28]
Here WeGo. 2018. Offline maps 8 GPS. Retrieved from https://play.google.com/store/apps/details?id=com.here.app.maps.
[29]
D. Herman, L. Wagner, and A. Zakai. 2014. Asm.js. Working draft. Retrieved from http://asmjs.org/spec/latest/.
[30]
O. Hersent, D. Boswarthick, and O. Elloumi. 2012. The Internet of Things: Key Applications and Protocols (2nd ed.). John Wiley 8 Sons.
[31]
IBM. 2018. IBM Decision Optimization on Cloud. Retrieved from https://www.ibm.com/us-en/marketplace/decision-optimization-cloud.
[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.
[33]
V. Maniezzo. 2018a. Bridging the GAP, some generalized assignment problem instances. Retrieved from http://astarte.csr.unibo.it/gapdata/gapinstances.html.
[34]
V. Maniezzo. 2018b. JavaScript GAP solver. Retrieved from http://astarte.csr.unibo.it/GAPJS/.
[35]
V. Maniezzo, M. A. Boschetti, and W. J. Gutjahr. 2017. Stochastic pre-marshalling of block stacking warehouses. Working paper.
[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.
[37]
V. Maniezzo, T. Stützle, and S. Voß (Eds.). 2010. Matheuristics: Hybridizing Metaheuristics and Mathematical Programming. Springer.
[38]
S. Martello and P. Toth. 1990. Knapsack Problems: Algorithms and Computer Implementations. John Wiley 8 Sons.
[39]
NEOS Server 2018. NEOS Server: state-of-the-art solvers for numerical optimization. Retrieved from https://neos-server.org/neos/.
[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.
[41]
Numeric JavaScript. 2018. Numericjs. Retrieved from http://numericjs.com/numeric/benchmark.html.
[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.
[43]
B. T. Polyak. 1969. Minimization of unsmooth functionals. U. S. S. R. Comput. Math. and Math. Phys. 9 (1969), 14--29.
[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/.
[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.
[46]
A. Rossberg. 2018. WebAssembly Core Specification. W3C Working Draft. Retrieved from https://www.w3.org/TR/2018/WD-wasm-core-1-20180215/.
[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/.
[48]
N. Z. Shor. 1985. Minimization Methods for Non-differentiable Functions. Springer-Verlag.
[49]
Stdlib. 2018. Stdlib: A standard library for JavScript and Node.js. Retrieved from https://stdlib.io/.
[50]
TensorFlow. 2018. TensorFlow. Retrieved from https://js.tensorflow.org/.
[51]
TensorFlow.js. 2018. Tensorflow.js. Retrieved from https://js.tensorflow.org/.
[52]
Three.js. 2018. Three.js. Retrieved from https://threejs.org/.
[53]
J. A. Tompkins, J. A. White, Y. A. Bozer, and J. M. A. Tanchoco. 2010. Facilities Planning. John Wiley 8 Sons.
[54]
J. Vaillant. 2018a. Glpk.js. Retrieved from https://github.com/jvail/glpk.js.
[55]
J. Vaillant. 2018b. Spatiasql.js. Retrieved from https://github.com/jvail/spatiasql.js.
[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/.
[57]
Wikipedia. 2018. Comparison of smartphones. Retrieved from https://en.wikipedia.org/wiki/Comparison_of_smartphones.
[58]
J. Wolcott. 2018. JavaScript LP solver. Retrieved from https://github.com/JWally/jsLPSolver.
[59]
L. D. Xu and W. He. 2014. Internet of things in industries: A survey. IEEE Trans. Industr. Inform. 10 (Nov. 2014), 2233--2243.
[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.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

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
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: 01 January 2019
Revised: 01 September 2018
Received: 01 August 2017
Published in TOMS Volume 45, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Combinatorial optimization
  2. client-side computing
  3. matheuristics

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)14
  • Downloads (Last 6 weeks)1
Reflects downloads up to 15 Sep 2024

Other Metrics

Citations

Cited By

View all

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media