Railway Network Optimization is a Python project that leverages graph algorithms to assist users in planning and optimizing railway routes. The project provides a user-friendly interface for inputting distances between stations, visualizing the railway network, and employing graph algorithms like Dijkstra's and Kruskal's to find the shortest paths and optimize routes efficiently.
- Graph Input: Create a directed railway network by specifying distances between stations.
- Visualization: Visualize the directed railway network graph to understand the connectivity between stations.
- Dijkstra's Algorithm: Find the shortest path between specific stations using Dijkstra's algorithm.
- Kruskal's Algorithm: Optimize routes for covering all stations efficiently using Kruskal's algorithm.
- Centrality Visualization: Visualize degree and betweenness centrality measures to identify important stations.
- Graph Export/Import: Save and load railway network graphs for further analysis.
- Input Railway Network: Enter the number of stations and provide distances between them when prompted.
- Explore and Visualize: View the directed railway network graph and explore its connectivity.
- Shortest Path: Find the shortest path between specific stations using Dijkstra's algorithm.
- Optimize Routes: Use Kruskal's algorithm to optimize routes for covering all stations efficiently.
- Centrality Measures: Visualize degree and betweenness centrality measures to identify critical stations.
- Export/Import: Save and load railway network graphs for reuse or sharing.
-
Clone the repository:
git clone https://github.com/your-username/railway-network-optimization.git
-
Install the required dependencies:
pip install networkx matplotlib
-
Run the main script:
python railway_network_optimization.py
-
Follow the on-screen prompts to input your railway network and explore optimization options.
Contributions are welcome! Feel free to open issues for bug reports or feature requests, and submit pull requests to contribute enhancements.
This project is licensed under the MIT License.