SearcharxivSearch

arXiv subjects

Leon Lan

Publications and source records attributed to Leon Lan.

7 recordsLinked to original sources

PyJobShop: Solving scheduling problems with constraint programming in Python

This paper presents PyJobShop, an open-source Python library for solving scheduling problems with constraint programming. PyJobShop provides an easy-to-use modeling interface that supports a wide variety of scheduling problems, including well-known variants such as the flexible job shop problem and the resource-constrained project scheduling problem. PyJobShop integrates two state-of-the-art constraint programming solvers: Google's OR-Tools CP-SAT and IBM ILOG's CP Optimizer. We leverage PyJobShop to conduct large-scale numerical experiments on more than 9,000 benchmark instances from the machine scheduling and project scheduling literature, comparing the performance of OR-Tools and CP Optimizer. While CP Optimizer performs better on permutation scheduling and large-scale problems, OR-Tools is highly competitive on job shop scheduling and project scheduling problems--while also being fully open-source. By providing an accessible and tested implementation of constraint programming for scheduling, we hope that PyJobShop will enable researchers and practitioners to use constraint programming for real-world scheduling problems.

math.OC

RouteFinder: Towards Foundation Models for Vehicle Routing Problems

This paper introduces RouteFinder, a comprehensive foundation model framework to tackle different Vehicle Routing Problem (VRP) variants. Our core idea is that a foundation model for VRPs should be able to represent variants by treating each as a subset of a generalized problem equipped with different attributes. We propose a unified VRP environment capable of efficiently handling any combination of these attributes. The RouteFinder model leverages a modern transformer-based encoder and global attribute embeddings to improve task representation. Additionally, we introduce two reinforcement learning techniques to enhance multi-task performance: mixed batch training, which enables training on different variants at once, and multi-variant reward normalization to balance different reward scales. Finally, we propose efficient adapter layers that enable fine-tuning for new variants with unseen attributes. Extensive experiments on 48 VRP variants show RouteFinder outperforms recent state-of-the-art learning methods. Our code is publicly available at https://github.com/ai4co/routefinder.

cs.AI

A queueing-based approach for integrated routing and appointment scheduling

This paper aims to address the integrated routing and appointment scheduling (RAS) problem for a single service provider. The RAS problem is an operational challenge faced by operators that provide services requiring home attendance, such as grocery delivery, home healthcare, or maintenance services. While considering the inherently random nature of service and travel times, the goal is to minimize a weighted sum of the operator's travel times and idle time, and the client's waiting times. To handle the complex search space of routing and appointment scheduling decisions, we propose a queueing-based approach to effectively deal with the appointment scheduling decisions. We use two well-known approximations from queueing theory: first, we use an approach based on phase-type distributions to accurately approximate the objective function, and second, we use an heavy-traffic approximation to derive an efficient procedure to obtain good appointment schedules. Combining these two approaches results in a fast and sufficiently accurate hybrid approximation, thus essentially reducing RAS to a routing problem. Moreover, we propose the use a simple yet effective large neighborhood search metaheuristic to explore the space of routing decisions. The effectiveness of our proposed methodology is tested on benchmark instances with up to 40 clients, demonstrating an efficient and accurate methodology for integrated routing and appointment scheduling.

math.OC

PyVRP: a high-performance VRP solver package

We introduce PyVRP, a Python package that implements hybrid genetic search in a state-of-the-art vehicle routing problem (VRP) solver. The package is designed for the VRP with time windows (VRPTW), but can be easily extended to support other VRP variants. PyVRP combines the flexibility of Python with the performance of C++, by implementing (only) performance critical parts of the algorithm in C++, while being fully customisable at the Python level. PyVRP is a polished implementation of the algorithm that ranked 1st in the 2021 DIMACS VRPTW challenge and, after improvements, ranked 1st on the static variant of the EURO meets NeurIPS 2022 vehicle routing competition. The code follows good software engineering practices, and is well-documented and unit tested. PyVRP is freely available under the liberal MIT license. Through numerical experiments we show that PyVRP achieves state-of-the-art results on the VRPTW and capacitated VRP. We hope that PyVRP enables researchers and practitioners to easily and quickly build on a state-of-the-art VRP solver.

cs.NE

An iterative sample scenario approach for the dynamic dispatch waves problem

A challenge in same-day delivery operations is that delivery requests are typically not known beforehand, but are instead revealed dynamically during the day. This uncertainty introduces a trade-off between dispatching vehicles to serve requests as soon as they are revealed to ensure timely delivery, and delaying the dispatching decision to consolidate routing decisions with future, currently unknown requests. In this paper, we study the dynamic dispatch waves problem, a same-day delivery problem in which vehicles are dispatched at fixed decision moments. At each decision moment, the system operator must decide which of the known requests to dispatch, and how to route these dispatched requests. The operator's goal is to minimize the total routing cost while ensuring that all requests are served on time. We propose iterative conditional dispatch (ICD), an iterative solution construction procedure based on a sample scenario approach. ICD iteratively solves sample scenarios to classify requests to be dispatched, postponed, or undecided. The set of undecided requests shrinks in each iteration until a final dispatching decision is made in the last iteration. We develop two variants of ICD: one variant based on thresholds, and another variant based on similarity. A significant strength of ICD is that it is conceptually simple and easy to implement. This simplicity does not harm performance: through rigorous numerical experiments, we show that both variants efficiently navigate the large state and action spaces of the dynamic dispatch waves problem and quickly converge to a high-quality solution. Finally, we demonstrate that the threshold-based ICD variant achieves excellent results on instances from the EURO meets NeurIPS 2022 vehicle routing competition, nearly matching the performance of the winning machine learning-based strategy.

math.OC

Refining bridge-block decompositions through two-stage and recursive tree partitioning

In transmission networks power flows and network topology are deeply intertwined due to power flow physics. Recent literature shows that specific network substructures named bridge-blocks prevent line failures from propagating globally. A two-stage and recursive tree partitioning approach have been proposed to create more bridge-blocks in transmission networks, improving their robustness against cascading line failures. In this paper we consider the problem of refining the bridge-block decomposition of a given power network with minimal impact on the maximum congestion. We propose two new solution methods, depending on the preferred power flow model. More specifically, (i) we introduce a novel MILP-based approach that uses the DC approximation to solve more efficiently the second-stage optimization problem of the two-stage approach and (ii) we show how the existing recursive approach can be extended to work with AC power flows, drastically improving the running times when compared to the pre-existing AC-based two-stage method.

math.OC

Mixed-integer linear programming approaches for tree partitioning of power networks

In transmission networks, power flows and network topology are deeply intertwined due to power flow physics. Recent literature shows that a specific more hierarchical network structure can effectively inhibit the propagation of line failures across the entire system. In particular, a novel approach named tree partitioning has been proposed, which seeks to bolster the robustness of power networks through strategic alterations in network topology, accomplished via targeted line switching actions. Several tree partitioning problem formulations have been proposed by considering different objectives, among which power flow disruption and network congestion. Furthermore, various heuristic methods based on a two-stage and recursive approach have been proposed. The present work provides a general framework for tree partitioning problems based on mixed-integer linear programming (MILP). In particular, we present a novel MILP formulation to optimally solve tree partitioning problems and also propose a two-stage heuristic based on MILP. We perform extensive numerical experiments to solve two tree partitioning problem variants, demonstrating the excellent performance of our solution methods. Lastly, through exhaustive cascading failure simulations, we compare the effectiveness of various tree partitioning strategies and show that, on average, they can achieve a substantial reduction in lost load compared to the original topologies.

math.OC