85 research outputs found
Memoizing a monadic mixin DSL
Modular extensibility is a highly desirable property of a domain-specific language (DSL): the ability to add new features without affecting the implementation of existing features. Functional mixins (also known as open recursion) are very suitable for this purpose.
We study the use of mixins in Haskell for a modular DSL for search heuristics used in systematic solvers for combinatorial problems, that generate optimized C++ code from a high-level specification. We show how to apply memoization techniques to tackle performance issues and code explosion due to the high recursion inherent to the semantics of combinatorial search.
As such heuristics are conventionally implemented as highly entangled imperative algorithms, our Haskell mixins are monadic. Memoization of monadic components causes further complications for us to deal with
Bi-Objective Search with Bi-Directional A*
Bi-objective search is a well-known algorithmic problem, concerned with finding a set of optimal solutions in a two-dimensional domain. This problem has a wide variety of applications such as planning in transport systems or optimal control in energy systems. Recently, bi-objective A*-based search (BOA*) has shown state-of-the-art performance in large networks. This paper develops a bi-directional and parallel variant of BOA*, enriched with several speed-up heuristics. Our experimental results on 1,000 benchmark cases show that our bi-directional A* algorithm for bi-objective search (BOBA*) can optimally solve all of the benchmark cases within the time limit, outperforming the state of the art BOA*, bi-objective Dijkstra and bi-directional bi-objective Dijkstra by an average runtime improvement of a factor of five over all of the benchmark instances
Vehicle Dynamics in Pickup-And-Delivery Problems Using Electric Vehicles
Electric Vehicles (EVs) are set to replace vehicles based on internal combustion engines. Path planning and vehicle routing for EVs need to take their specific characteristics into account, such as reduced range, long charging times, and energy recuperation. This paper investigates the importance of vehicle dynamics parameters in energy models for EV routing, particularly in the Pickup-and-Delivery Problem (PDP). We use Constraint Programming (CP) technology to develop a complete PDP model with different charger technologies. We adapt realistic instances that consider vehicle dynamics parameters such as vehicle mass, road gradient and driving speed to varying degrees. The results of our experiments show that neglecting such fundamental vehicle dynamics parameters can affect the feasibility of planned routes for EVs, and fewer/shorter charging visits will be planned if we use energy-efficient paths instead of conventional shortest paths in the underlying system model
Enhanced Methods for the Weight Constrained Shortest Path Problem
The classic problem of constrained pathfinding is a well-studied, yet
challenging, topic in AI with a broad range of applications in various areas
such as communication and transportation. The Weight Constrained Shortest Path
Problem (WCSPP), the base form of constrained pathfinding with only one side
constraint, aims to plan a cost-optimum path with limited weight/resource
usage. Given the bi-criteria nature of the problem (i.e., dealing with the cost
and weight of paths), methods addressing the WCSPP have some common properties
with bi-objective search. This paper leverages the recent state-of-the-art
techniques in both constrained pathfinding and bi-objective search and presents
two new solution approaches to the WCSPP on the basis of A* search, both
capable of solving hard WCSPP instances on very large graphs. We empirically
evaluate the performance of our algorithms on a set of large and realistic
problem instances and show their advantages over the state-of-the-art
algorithms in both time and space metrics. This paper also investigates the
importance of priority queues in constrained search with A*. We show with
extensive experiments on both realistic and randomised graphs how bucket-based
queues without tie-breaking can effectively improve the algorithmic performance
of exhaustive A*-based bi-criteria searches.Comment: 62 pages, 16 figures, 7 table
- …