This archive is distributed in association with the INFORMS Journal on Computing under the MIT License.
The software and data in this repository are a snapshot of the software and data that were used in the research reported on in the paper The Electric Vehicle Routing and Overnight Charging Scheduling Problem on a Multigraph by Daniel Yamín, Guy Desaulniers, and Jorge E. Mendoza.
Important: This code is being developed on an on-going basis at https://github.com/danielyamin97/BPC-mE-VRSPTW. Please go there if you would like to get a more recent version or would like support.
To cite the contents of this repository, please cite both the paper and this repo, using their respective DOIs.
https://doi.org/10.1287/ijoc.2023.0404
https://doi.org/10.1287/ijoc.2023.0404.cd
Below is the BibTex for citing this snapshot of the repository.
@misc{yamin2024electric,
author = {Yam{\'i}n, Daniel and Desaulniers, Guy and Mendoza, Jorge E},
publisher = {INFORMS Journal on Computing},
title = {{The Electric Vehicle Routing and Overnight Charging Scheduling Problem on a Multigraph}},
year = {2024},
doi = {10.1287/ijoc.2023.0404.cd},
url = {https://github.com/INFORMSJoC/2023.0404},
note = {Available for download at https://github.com/INFORMSJoC/2023.0404},
}
This repository provides the data for the problem (mE-VRSPTW) and the code for the solution method (a BPC algorithm). The main folders are data
, results
, and src
.
- The
data
folder contains the mE-VRSPTW instances used in the paper, the format of which is explained in a README file. - The
results
folder contains:- The
log
folder where information is printed throughout the algorithm's execution. - The
solution
folder that contains the solution file for every instance of the mE-VRSPTW. - The
output.txt
file where key information is reported after the code is executed.
- The
- The
src
folder contains the source code.
The following two external (referenced) libraries are required to run this code:
1. CPLEX: It can be downloaded from IBM CPLEX; for academics, visit IBM CPLEX Academic. When using Eclipse as IDE, follow these steps: Setting Up Eclipse for CPLEX Java API.
2. jORLib: For guidelines and instructions, visit the jORLib GitHub Repository and the Release Page.
Important: This project was coded using IBM CPLEX solver version 22.1 and jORLib branch-and-price framework version 1.1.1.
The dataset used for the numerical study in Section 5.2 is available in the data
folder. A README file explains the instances' file format.
To reproduce each result in Section 5.2. of the paper (i.e., the Electronic Companion EC.1), please run the program with the corresponding instance name passed as an argument in the src
directory. For example, to run instance R101-25, one would pass the following argument:
R101-25
Important: This repository is intended to reproduce the results reported in Section 5.2 of the paper (EC.1).
To setup and run the project in Eclipse, follow these steps:
1. Install JDK:
- Download and install the Java Development Kit (JDK) from Oracle.
2. Install Eclipse IDE:
- Download and install Eclipse IDE from the official website.
3. Import the Project:
- Open Eclipse and select
File > Import...
- Choose
Existing Projects into Workspace
underGeneral
- Click
Next
and thenBrowse...
to locate the project directory - Select the project and click
Finish
4. Add Dependencies:
- Ensure CPLEX and jORLib jar files are included in the project's build path.
5. Run the Project:
- Right-click the
src
directory in the Project Explorer. - Select
Run As > Run Configurations... > Arguments
. Put the instance name (e.g., R101-25) in the program arguments box.
For support in using this software, submit an issue.