Skip to content

NREL/FRISM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FRISM: FReight Integrated Simulation Model

Contributors

Kyungsoo Jeong: [email protected]
Juliette Ugirumurera: [email protected]
Alicia Birky: [email protected]

THIS IS A SOFTWARE REPO

Description

FRISM simulates day-to-day freight activities including end-consumer shopping, distribution channel, and carrier operation with e-commerce dynamics between passenger and freight travel. It outputs an assignment of different shipments to carriers and tour plans of the carriers' vehicles to transport shipments from their origins to their destinations. This software is associated with NREL software record SWR-24-40.

The following are contained in this repository

  • Running Household E-commerce Generation Estimation for End-Consumer Behavior:
    • src/Simulation/HH_ecom_model.py
  • Running End-Consumer Behavior Module to simulate monthly delivery frequency:
    • src/Simulation/B2C_Generation.py
  • Running Distribution Channel to simulate B2B and B2C daily shipments and shipment-carrier matching
    • src/Simulation/Shipment2Fleet.py
  • Running Carrier Operation to simulate tour-plan for each carrier:
    • src/Simulation/Carrier_Tour_Plan/VRP_OR-tools.py
  • Running the freight activity simulation:
    • src/Simulation/Run_frism.py
  • List of inputs to run simulation: README.md

Installation Instructions

Setup conda environment

  1. In your terminal load environment.yml file
conda env create -f environment.yml
  1. Activate frism environment
conda activate frism
  1. To run the code, first specify the input parameters for all the modules in the Run_frism.py script as per this README.md. Then run the following:
cd src/Simulation
python Run_frism.py [county number] [year] [scenario name] [sampling rate] [Y or N]

Y for the last input parameter means there will be generation of new shipments in the Shipment2Fleet_veh_tech.py script, while N means no generation of new shipment in the Shipment2Fleet.py script.

An example of the above command that use the data in the 'Example_Data' folder is:

cd src/Simulation
python Run_frism.py 21 2030 high 10 Y

The output of the above simulation will be saved in a FRISM_input_output_AT/ at the same directory level as the repository folder. The tour plans results from the vehicle routing algorithm will be under FRISM_input_output_AT/Sim_outputs/Tour_plan/[year].