An application programming interface with increased performance for optimisation problems data

An optimisation problem can have many forms and variants. It may consider different objectives, constraints, and variables. For that reason, providing a general application programming interface (API) to handle the problem data efficiently in all scenarios is impracticable. Nonetheless, on a R&D...

Full description

Bibliographic Details
Main Authors: Pinheiro, Rodrigo Lankaites, Landa-Silva, Dario, Qu, Rong, Constantino, Ademir Aparecido, Yanaga, Edson
Format: Article
Published: Taylor & Francis 2016
Subjects:
Online Access:https://eprints.nottingham.ac.uk/38695/
_version_ 1848795669731475456
author Pinheiro, Rodrigo Lankaites
Landa-Silva, Dario
Qu, Rong
Constantino, Ademir Aparecido
Yanaga, Edson
author_facet Pinheiro, Rodrigo Lankaites
Landa-Silva, Dario
Qu, Rong
Constantino, Ademir Aparecido
Yanaga, Edson
author_sort Pinheiro, Rodrigo Lankaites
building Nottingham Research Data Repository
collection Online Access
description An optimisation problem can have many forms and variants. It may consider different objectives, constraints, and variables. For that reason, providing a general application programming interface (API) to handle the problem data efficiently in all scenarios is impracticable. Nonetheless, on a R&D environment involving personnel from distinct backgrounds, having such an API can help with the development process because the team can focus on the research instead of implementations of data parsing, objective function calculation, and data structures. Also, some researchers might have a stronger background in programming than others, hence having a standard efficient API to handle the problem data improves reliability and productivity. This paper presents a design methodology to enable the development of efficient APIs to handle optimisation problems data based on a data-centric development framework. The proposed methodology involves the design of a data parser to handle the problem definition and data files and on a set of efficient data structures to hold the data in memory. Additionally, we bring three design patterns aimed to improve the performance of the API and techniques to improve the memory access by the user application. Also, we present the concepts of a Solution Builder that can manage solutions objects in memory better than built-in garbage collectors and provide an integrated objective function so that researchers can easily compare solutions from different solving techniques. 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.
first_indexed 2025-11-14T19:35:46Z
format Article
id nottingham-38695
institution University of Nottingham Malaysia Campus
institution_category Local University
last_indexed 2025-11-14T19:35:46Z
publishDate 2016
publisher Taylor & Francis
recordtype eprints
repository_type Digital Repository
spelling nottingham-386952020-05-04T18:19:32Z https://eprints.nottingham.ac.uk/38695/ An application programming interface with increased performance for optimisation problems data Pinheiro, Rodrigo Lankaites Landa-Silva, Dario Qu, Rong Constantino, Ademir Aparecido Yanaga, Edson An optimisation problem can have many forms and variants. It may consider different objectives, constraints, and variables. For that reason, providing a general application programming interface (API) to handle the problem data efficiently in all scenarios is impracticable. Nonetheless, on a R&D environment involving personnel from distinct backgrounds, having such an API can help with the development process because the team can focus on the research instead of implementations of data parsing, objective function calculation, and data structures. Also, some researchers might have a stronger background in programming than others, hence having a standard efficient API to handle the problem data improves reliability and productivity. This paper presents a design methodology to enable the development of efficient APIs to handle optimisation problems data based on a data-centric development framework. The proposed methodology involves the design of a data parser to handle the problem definition and data files and on a set of efficient data structures to hold the data in memory. Additionally, we bring three design patterns aimed to improve the performance of the API and techniques to improve the memory access by the user application. Also, we present the concepts of a Solution Builder that can manage solutions objects in memory better than built-in garbage collectors and provide an integrated objective function so that researchers can easily compare solutions from different solving techniques. 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. Taylor & Francis 2016-11-30 Article PeerReviewed Pinheiro, Rodrigo Lankaites, Landa-Silva, Dario, Qu, Rong, Constantino, Ademir Aparecido and Yanaga, Edson (2016) An application programming interface with increased performance for optimisation problems data. Journal of Management Analytics, 3 (4). pp. 305-332. ISSN 2327-0039 Optimisation Problems Data API Efficient Data Structures Research and Development Projects http://www.tandfonline.com/doi/abs/10.1080/23270012.2016.1233514 doi:10.1080/23270012.2016.1233514 doi:10.1080/23270012.2016.1233514
spellingShingle Optimisation Problems
Data API
Efficient Data Structures
Research and Development Projects
Pinheiro, Rodrigo Lankaites
Landa-Silva, Dario
Qu, Rong
Constantino, Ademir Aparecido
Yanaga, Edson
An application programming interface with increased performance for optimisation problems data
title An application programming interface with increased performance for optimisation problems data
title_full An application programming interface with increased performance for optimisation problems data
title_fullStr An application programming interface with increased performance for optimisation problems data
title_full_unstemmed An application programming interface with increased performance for optimisation problems data
title_short An application programming interface with increased performance for optimisation problems data
title_sort application programming interface with increased performance for optimisation problems data
topic Optimisation Problems
Data API
Efficient Data Structures
Research and Development Projects
url https://eprints.nottingham.ac.uk/38695/
https://eprints.nottingham.ac.uk/38695/
https://eprints.nottingham.ac.uk/38695/