Skip to content

danielyamin97/BPC-mE-VRSPTW

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Electric Vehicle Routing and Overnight Charging Scheduling Problem on a Multigraph

This is the actively developed project repository of the software and data that were used in the research reported 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.

Last Update: 05/2025.

Description

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 src folder contains the source code.

Dependencies

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.

Data

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.

Reproducing the Numerical Results

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).

Setup

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:

3. Import the Project:

  • Open Eclipse and select File > Import...
  • Choose Existing Projects into Workspace under General
  • Click Next and then Browse... 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.

Support

For support in using this software, submit an issue.

About

A Branch-Price-and-Cut Algorithm for the Multigraph-based Electric Vehicle Routing and Overnight Charging Scheduling Problem

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages