Towards an Efficient API for Optimisation Problems Data

Rodrigo Lankaites Pinheiro, Dario Landa-Silva, Rong Qu, Edson Yanaga, Ademir Aparecido Constantino

Abstract

The literature presents many application programming interfaces (APIs) and frameworks that provide state of the art algorithms and techniques for solving optimisation problems. The same cannot be said about APIs and frameworks focused on the problem data itself because with the peculiarities and details of each variant of a problem, it is virtually impossible to provide general tools that are broad enough to be useful on a large scale. However, there are benefits of employing problem-centred APIs in a R&D environment: improving the understanding of the problem, providing fairness on the results comparison, providing efficient data structures for different solving techniques, etc. Therefore, in this work we propose a novel design methodology for an API focused on an optimisation problem. Our methodology relies on a data parser to handle the problem specification files and on a set of efficient data structures to handle the information on memory, in an intuitive fashion for researchers and efficient for the solving algorithms. Also, we present the concepts of a solution dispenser that can manage solutions objects in memory better than built-in garbage collectors. Finally, we describe the positive results of employing a tailored API to a project involving the development of optimisation solutions for workforce scheduling and routing problems.

References

  1. Bacon, D. F., Cheng, P., and Rajan, V. T. (2003). Controlling fragmentation and space consumption in the metronome, a real-time garbage collector for java. SIGPLAN Not., 38(7):81-92.
  2. Cahon, S., Melab, N., and Talbi, E. (2004). Paradiseo: a framework for the reusable design of parallel and distributed metaheuristics. Journal of heuristics, 10:357- 380.
  3. Castillo-Salazar, J. A., Landa-Silva, D., and Qu, R. (2012). A survey on workforce scheduling and routing problems. In Proceedings of the 9th International Conference on the Practice and Theory of Automated Timetabling (PATAT 2012), pages 283-302, Son, Norway.
  4. Castillo-Salazar, J. A., Landa-Silva, D., and Qu, R. (2014). Workforce scheduling and routing problems: literature survey and computational study. Annals of Operations Research.
  5. Durillo, J. J. and Nebro, A. J. (2011). jMetal: A Java framework for multi-objective optimization. Advances in Engineering Software, 42:760-771.
  6. Huang, F. (2012). A New Application Programming Interface and a Fortran-like Modeling Language for Evaluating Functions and Specifying Optimization Problems at Runtime. International Journal of Advanced Computer Science and Applications(IJACSA), 3(4).
  7. Laesanklang, W., Landa-Silva, D., and Castillo-Salazar, J. A. (2015a). Mixed integer programming with decomposition to solve a workforce scheduling and routing problem. In ICORES 2015 - Proceedings of the 4rd International Conference on Operations Research and Enterprise Systems, pages 283-293.
  8. Laesanklang, W., Pinheiro, R., Algethami, H., and LandaSilva, D. (2015b). Extended decomposition for mixed integer programming to solve a workforce scheduling and routing problem. In Operations Research and Enterprise Systems, volume 577 of Communications in Computer and Information Science, pages 191-211. Springer International Publishing.
  9. Lukasiewycz, M., Glaß, M., Reimann, F., and Teich, J. (2011). Opt4J - A Modular Framework for Metaheuristic Optimization. In Proceedings of the Genetic and Evolutionary Computing Conference (GECCO 2011), pages 1723-1730, Dublin, Ireland.
  10. Matias, J., Correia, A., Mestre, P. Graga, C., and Serodio, C. (2010). Web-based application programming interface to solve nonlinear optimization problems. In Proceedings of the World Congress on Engineering 2010, Vol III.
  11. Mestre, P., Matias, J., Correia, A., and S., C. (2010). Direct search optimization application programming interface with remote access. IAENG International Journal of Applied Mathematics, pages 251-261.
  12. Nystrom, R. (2014). Game Programming Patterns. Genever - Benning.
  13. Pinheiro, R., Landa-Silva, D., and Atkin, J. (2016). A variable neighbourhood search for the workforce scheduling and routing problem. In Advances in Nature and Biologically Inspired Computing, volume 419 of Advances in Intelligent Systems and Computing, pages 247-259. Springer International Publishing.
  14. Pinheiro, R. L. and Landa-Silva, D. (2014). A development and integration framework for optimisation-based enterprise solutions. In ICORES 2014 - Proceedings of the 3rd International Conference on Operations Research and Enterprise Systems, Angers, Loire Valley, France, March 6-8, 2014., pages 233-240.
  15. Siebert, F. (2000). Eliminating external fragmentation in a non-moving garbage collector for java. In Proceedings of the 2000 International Conference on Compilers, Architecture, and Synthesis for Embedded Systems, CASES 7800, pages 9-17, New York, NY, USA. ACM.
  16. Walnes, J. (2016). Xstream. http://x-stream.github.io/.
  17. Yener, M., Theedom, A., and Rahman, R. (2014). Professional Java EE Design Patterns. Wiley.
Download


Paper Citation


in Harvard Style

Pinheiro R., Landa-Silva D., Qu R., Yanaga E. and Constantino A. (2016). Towards an Efficient API for Optimisation Problems Data . In Proceedings of the 18th International Conference on Enterprise Information Systems - Volume 2: ICEIS, ISBN 978-989-758-187-8, pages 89-98. DOI: 10.5220/0005915800890098


in Bibtex Style

@conference{iceis16,
author={Rodrigo Lankaites Pinheiro and Dario Landa-Silva and Rong Qu and Edson Yanaga and Ademir Aparecido Constantino},
title={Towards an Efficient API for Optimisation Problems Data},
booktitle={Proceedings of the 18th International Conference on Enterprise Information Systems - Volume 2: ICEIS,},
year={2016},
pages={89-98},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005915800890098},
isbn={978-989-758-187-8},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 18th International Conference on Enterprise Information Systems - Volume 2: ICEIS,
TI - Towards an Efficient API for Optimisation Problems Data
SN - 978-989-758-187-8
AU - Pinheiro R.
AU - Landa-Silva D.
AU - Qu R.
AU - Yanaga E.
AU - Constantino A.
PY - 2016
SP - 89
EP - 98
DO - 10.5220/0005915800890098