Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

REBORN — Reverse logistics for End-of-life Batteries through Optimization of Recycling Networks

Copyright 2026, Battelle Energy Alliance, LLC. All Rights Reserved.


Overview

REBORN is a PyQt6 desktop application that runs Pyomo-based optimization models to identify cost-effective reverse-logistics networks for battery recycling and repurposing. It supports geographic scopes from individual counties up to multi-region national analyses.

Free Version

This repository contains the free version of REBORN. For access to the more complete and detailed version of the software, please contact the Idaho National Laboratory (INL) team using the contact information below.

How REBORN Models the Battery Workflow

REBORN represents the reverse-logistics pathway as:

Household -> Collection -> Repurposing -> Recycling

  1. Household: End-of-life batteries generated by households are represented by year-specific recycling and repurposing demand projections for the selected geography.
  2. Collection: Batteries are aggregated at candidate collection points (represented by car dealerships). REBORN first selects collection locations and assigns battery quantities without exceeding their capacities.
  3. Repurposing: Collected batteries are routed to candidate repurposing centers. The model determines which centers and collection-to-repurposing links to use while satisfying demand, flow-balance, and capacity constraints.
  4. Recycling: Batteries requiring material recovery, including the modeled flow leaving repurposing centers, are routed to selected recycling centers.

For every modeled year, Pyomo formulates the facility-selection and material-flow problem and CPLEX minimizes total system cost. The objective accounts for fixed and operating facility costs, battery acquisition and collection, packaging, and distance-based transportation from collection to repurposing and from repurposing to recycling. The resulting network identifies selected facilities, assigned battery volumes, routes, costs, and facility opening periods.

Tool Features

  • Geographic analysis at US region, multi-state, state, county, and city scales.
  • Single-year or multi-year battery recycling and repurposing demand analysis.
  • Built-in default demand data plus manual year-by-year data entry.
  • CSV and Excel export of custom demand inputs.
  • Interactive maps of selected geographies and existing collection, repurposing, and recycling facilities.
  • Use of the supplied facility database or generation of candidate collection, repurposing, and recycling locations with configurable ratios and capacities.
  • Configurable transportation, acquisition, fixed, operating, packaging, and facility-capacity assumptions.
  • Cost-minimizing facility selection, capacity allocation, and battery routing using Pyomo and CPLEX.
  • Multi-year result summaries, facility opening timing, interactive flow maps with or without location markers, trend tables, and cost-breakdown charts.
  • Excel output containing aggregated results and detailed annual cost breakdowns.

Prerequisites

1. Python

2. CPLEX Optimizer

REBORN uses the free/community version of IBM CPLEX through the cplex Python package. It is included in requirements.txt and is installed from PyPI with the rest of the dependencies. The free version is suitable for models that fit within IBM's Community Edition limits. Larger REBORN scenarios may require a commercial or academic CPLEX entitlement and a full IBM ILOG CPLEX Optimization Studio installation.

3. Python packages

Install all dependencies, including the free CPLEX Python package, with:

pip install -r requirements.txt

Installation

  1. Copy the entire Code folder to the target machine. Keep all files in the same folder — the application resolves every data file relative to its own location.

  2. Open a terminal / command prompt in that folder.

  3. (Recommended) Create and activate a virtual environment:

    python -m venv .venv
    # Windows
    .venv\Scripts\activate
  4. Install dependencies:

    pip install -r requirements.txt
  5. For scenarios beyond the free CPLEX limits, configure an eligible IBM CPLEX license before running the optimization.


Running the Application

python main.py

Or double-click run_reborn.bat (Windows) if provided.


Step-by-Step Workflow

Step Page What to do
1 Location Choose a selection mode (Region / State / County+City), pick your geographic scope, then click Next.
2 Data Set the year range, click Load default data, verify the map, then click Next.
3 Facility Database Use the default database or generate new facility locations, then click Next.
4 Settings Review / adjust cost parameters, click Submit, then click Run Optimization. Wait for the progress bar to complete.
5 Results Select a year, then explore maps, Trend Evolution table, and Cost Breakdown charts.

Note: Each step must be completed in order. Sidebar buttons for later steps remain disabled until the previous step is finished.


Input Files (must remain in the same folder as main.py)

File Purpose
location_data.json State → County → City hierarchy
us-states.json GeoJSON boundaries for US states (map rendering)
Pyomo_Ex_DB.json / Pyomo_Ex_DB.xlsx Default recycling/repurposing facility database
Car_USA.json / Car_USA.xlsx Default car-dealership (collection point) database
default_data_regions.xlsx Default demand data — Region level
default_data_states.xlsx Default demand data — State level
cb_2021_us_state_500k.zip US state shapefile (used during optimization)
map1.png Reference US regions map shown on the Location page
REBORN_Pathway.png Pathway diagram shown on the Home page
Recell_Image.jpg ReCell Center image shown on the About ReCell tab
Photos/ Team member photos
Descriptions/ Team member biography text files

Data Acknowledgments

REBORN uses facility-location data and cost data from the following sources, respectively:

REBORN acknowledges these organizations and database developers for making these data resources available.


Output Files

Results are saved in a subfolder created in the current working directory when you run main.py. The default folder name is derived automatically from your geographic selection (e.g., Northeast_South). You can override it in the Results Folder field on the Settings page.

Output includes:

  • *_Aggregated_Final_Results.xlsx — year-by-year summary metrics
  • *_Breakdown_Final_Results.xlsx — detailed cost breakdown per year
  • HTML map files per year (opened in the Results viewer)

Troubleshooting

Symptom Likely cause Fix
ModuleNotFoundError: No module named 'cplex' CPLEX dependency was not installed Run pip install -r requirements.txt in the active Python environment
CPLEX reports that the model is too large The scenario exceeds the free/community solver limits Reduce the geographic scope or configure a commercial/academic CPLEX entitlement
FileNotFoundError: location_data.json Running from a different directory Run python main.py from inside the Free_Release_Code folder, or use the .bat launcher
Solver returns infeasible Demand exceeds facility capacity for the selection Widen the geographic scope or use Generate New Facility Locations in Step 3
Map panel stays blank map.html not yet generated Complete Steps 1–2 first so the Data page can write the map
Qt WebEngine crashes Missing WebEngine Qt platform files Reinstall PyQt6 and PyQt6-WebEngine via pip

Contact

Srikar Srinivas — srikar.srinivas@inl.gov

About

REBORN optimizes reverse logistics networks for EV battery reuse, repurposing, and recycling. It integrates geographic, economic, and facility data to identify cost-effective collection and processing locations at national to county scales.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages