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 d...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 an 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.展开更多
Commercial organisations commonly use operational research tools to solve vehicle routing problems. This practice is less commonplace in charity and voluntary organisations. In this paper, we provide an elementary app...Commercial organisations commonly use operational research tools to solve vehicle routing problems. This practice is less commonplace in charity and voluntary organisations. In this paper, we provide an elementary approach for solving the Vehicle Routing Problem (VRP) that we believe can be easily implemented in these types of organisations. The proposed model leverages mixed integer linear programming to optimize the pickup sequence of all customers, each with distinct time windows and locations, transporting them to a final destination using a fleet of vehicles. To ensure ease of implementation, the model utilises Python, a user-friendly programming language, and integrates with the Google Maps API, which simplifies data input by eliminating the need for manual entry of travel times between locations. Troubleshooting methods are incorporated into the model design to ensure easy debugging of the model’s infeasibilities. Additionally, a computation time analysis is conducted to evaluate the efficiency of the code. A node partitioning approach is also discussed, which aims to reduce computational times, especially when handling larger datasets, ensuring this model is realistic and practical for real-world application. By implementing this optimized routing strategy, logistics companies or organisations can expect significant improvements in their day-to-day operations, with minimal computational cost or need for specialised expertise. This includes reduced travel times, minimized fuel consumption, and thus lower operational costs, while ensuring punctuality and meeting the demands of all passengers.展开更多
文摘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 an 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.
文摘Commercial organisations commonly use operational research tools to solve vehicle routing problems. This practice is less commonplace in charity and voluntary organisations. In this paper, we provide an elementary approach for solving the Vehicle Routing Problem (VRP) that we believe can be easily implemented in these types of organisations. The proposed model leverages mixed integer linear programming to optimize the pickup sequence of all customers, each with distinct time windows and locations, transporting them to a final destination using a fleet of vehicles. To ensure ease of implementation, the model utilises Python, a user-friendly programming language, and integrates with the Google Maps API, which simplifies data input by eliminating the need for manual entry of travel times between locations. Troubleshooting methods are incorporated into the model design to ensure easy debugging of the model’s infeasibilities. Additionally, a computation time analysis is conducted to evaluate the efficiency of the code. A node partitioning approach is also discussed, which aims to reduce computational times, especially when handling larger datasets, ensuring this model is realistic and practical for real-world application. By implementing this optimized routing strategy, logistics companies or organisations can expect significant improvements in their day-to-day operations, with minimal computational cost or need for specialised expertise. This includes reduced travel times, minimized fuel consumption, and thus lower operational costs, while ensuring punctuality and meeting the demands of all passengers.