This project implements intelligent algorithms for optimizing delivery routes in electric vehicle (EV) fleet systems. The research focuses on efficiently managing heterogeneous EV fleets for logistics and supply-chain management, considering real-world constraints such as battery limitations, charging station availability, and varying load capacities.
- Heterogeneous EV Fleet Management: Supports multiple vehicle categories (Small, Medium, Large, XLarge) with different battery capacities and load limits
- Intelligent Route Optimization: Minimizes the longest travel time across all vehicles in the fleet
- Charging Station Integration: Incorporates strategic charging stops to extend vehicle range
- Multiple Algorithm Implementations:
- Greedy heuristic for fast initial solutions
- Simulated Annealing (SA) for near-optimal results
- Parallel processing capabilities for large-scale problems
This work has been published in IEEE and presented at an international conference:
"Intelligent Algorithm for Optimizing Delivery Time in Electric Vehicle Fleet Systems" IEEE Conference Publication - View Paper
ComsNets-EV-Routing/
βββ π Docs/ # Algorithm documentation
β βββ Greedy.md # Greedy algorithm details
β βββ SA.md # Simulated Annealing algorithm
β βββ InputAssumptions.md # Problem constraints & parameters
β βββ InputGeneration.md # Test case generation guide
βββ π Notebooks/ # Jupyter notebooks for experiments
β βββ Greedy.ipynb # Greedy algorithm implementation
β βββ SA.ipynb # Simulated Annealing implementation
β βββ Input.ipynb # Input generation and validation
β βββ ResultAnalysis.ipynb # Performance analysis
β βββ TestCaseVisualizer.ipynb # Route visualization
β βββ GreedyParallelProcessing.py # Parallel greedy implementation
β βββ SAParallelProcessing.py # Parallel SA implementation
βββ π results/ # Experimental results
β βββ *.json # Detailed solution data
β βββ *.csv # Summary statistics
βββ π test_cases/ # Benchmark test instances
β βββ customers_10/ # 10-customer scenarios
β βββ customers_20/ # 20-customer scenarios
β βββ customers_30/ # 30-customer scenarios
β βββ customers_40/ # 40-customer scenarios
β βββ customers_50/ # 50-customer scenarios
βββ requirements.txt # Python dependencies
βββ readme.md # This file
| Category | Battery (kWh) | Base Weight (kg) | Load Capacity (kg) | Range (km)* |
|---|---|---|---|---|
| Small | 35 | 1,500 | 500 | 112-140 |
| Medium | 40 | 1,800 | 600 | 118-148 |
| Large | 45 | 2,000 | 700 | 126-158 |
| XLarge | 50 | 2,200 | 800 | 135-175 |
*Range varies based on load and battery charge level (20%-80% operational range)
- Battery Management: Vehicles operate between 20%-80% battery capacity for optimal battery health
- Charging Strategy: Strategic charging station visits to extend operational range
- Load Balancing: Efficient distribution of customer demands across heterogeneous fleet
- Time Optimization: Minimize the maximum delivery time across all vehicles
- Python 3.8 or higher
- pip package manager
-
Clone the repository:
git clone <repository-url> cd ComsNets-EV-Routing
-
Create virtual environment (recommended):
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
numpy- Numerical computationspandas- Data manipulation and analysismatplotlib&seaborn- Visualizationscipy- Scientific computingshapely- Geometric operationsscikit-learn- Machine learning utilitiestqdm- Progress barsipykernel&ipywidgets- Jupyter notebook support
-
Generate Test Cases:
jupyter notebook Notebooks/Input.ipynb
-
Run Greedy Algorithm:
jupyter notebook Notebooks/Greedy.ipynb
-
Run Simulated Annealing:
jupyter notebook Notebooks/SA.ipynb
-
Analyze Results:
jupyter notebook Notebooks/ResultAnalysis.ipynb
For large-scale experiments, use the parallel processing scripts:
# Parallel Greedy Algorithm
python Notebooks/GreedyParallelProcessing.py
# Parallel Simulated Annealing
python Notebooks/SAParallelProcessing.pyVisualize routes and analyze performance:
jupyter notebook Notebooks/TestCaseVisualizer.ipynbA fast construction algorithm that builds feasible routes by:
- Selecting nearest unserved customers
- Managing battery constraints with strategic charging
- Balancing load distribution across vehicle types
Time Complexity: O(nΒ²) where n is the number of customers
An advanced metaheuristic that improves upon greedy solutions through:
- Load-based neighbor generation
- Temperature-controlled acceptance criteria
- Iterative route optimization
Performance: Achieves near-optimal solutions with <25% deviation from optimal
Both algorithms support parallel execution for:
- Multiple test case evaluation
- Statistical analysis across different scenarios
- Scalability testing
The algorithms have been tested on various scenarios:
- Test Cases: 10-50 customers with varying demand distributions
- Performance Metrics:
- Total delivery time
- Vehicle utilization
- Charging station usage
- Solution quality vs. computation time
Results demonstrate that the SA algorithm consistently outperforms the greedy approach while maintaining reasonable computation times for practical applications.
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If you use this work in your research, please cite our IEEE paper:
@inproceedings{author2025intelligent,
title={Intelligent Algorithm for Optimizing Delivery Time in Electric Vehicle Fleet Systems},
author={[Author Names]},
booktitle={IEEE Conference},
year={2025},
organization={IEEE},
url={https://ieeexplore.ieee.org/document/10885593}
}For questions or collaboration opportunities, please reach out through:
- GitHub Issues
- Email: chanakyavasantha@gmail.com
Keywords: Electric Vehicle Routing, Fleet Optimization, Simulated Annealing, Logistics, Supply Chain Management, Sustainable Transportation
This README includes:
- Professional badges linking to your IEEE paper
- Comprehensive overview of the project and its features
- Clear project structure with emojis for better readability
- Detailed problem formulation with EV specifications
- Complete setup instructions for easy reproduction
- Usage examples for all major components
- Algorithm descriptions with performance metrics
- Citation format for academic use
- Professional formatting with proper sections and styling
You can copy and paste this directly into your readme.md file!