Tackling Theme 2: Efficient & Green Supply Chain
We have developed an AI-Optimized Route Planning web application, BetterPath, designed to assist in identifying the best routes via sea, train, or air.
Our application aims to optimize shipments in port operations, reduce emissions, and improve efficiency, aligning with PSA's goal of achieving a 50% reduction in emissions by 2030.
| API | Purpose |
|---|---|
Gurobi Optimization |
Route optimization with linear programming |
Searoutes |
Route optimization for sea transportation |
Google Maps |
Real-time, real-world distance calculations using the latest maps |
| File name | Purpose |
|---|---|
| ./images | Contains images for README.md |
| ./manipulationFiles | Contains data files and Python scripts used for manipulating the data files in the rail_nodes folder. |
| ./rail_nodes | Contains data configurations for optimizing cargo railway operations. |
| ./static | Contains images used in BetterPath Web Application |
| ./templates | Contains home page used in BetterPath Web Application |
| ./app.py | Flask Web Framework for BetterPath Web Application |
| ./main.py | Code used to optimize route |
- The requirements.txt file should list all Python libraries that your notebooks depend on, and they will be installed using:
pip install -r requirements.txt
- Download & retrieve the API keys required and replace the "REDACTED" in both
main.pyandtemplates\front.html. - Start the web server using:
python app.py
Note
The characters and events depicted in this demonstration are fictitious.
Vincenzo runs a factory in Italy that manufactures high-demand products. Recently, he secured a major contract to deliver his goods to warehouses in Singapore. However, when he begins planning the delivery, he realises that the inner model logistics isn't as simple as he would hoped. There are various shipping options and complex routes, Vincenzo faces a dilemma.
How to deliver his products to Singapore efficiently, cost-effectively and with minimal environmental impact. BetterPath would be able to solve this common yet significant challenge in the world of logistics.
- After Vincenzo fired up the web server, he accessed the web application and was greeted with the following:
- BetterPath usage instruction is as follows:
First Marker (GREEN): Factory
Second Marker (BLUE): Destination Warehouse
Rest of the Marker (RED): Consumer's location
Following the instructions, Vincenzo would need:
- First Marker: Plot the first marker at his manufacturing factory in Italy:
- Address: Via Francesco Primaticcio, 155, 20147 Milano MI, Italy
- Next, plot the second marker on his importing factory in Singapore
- Address: Singapore 119967
- Last, plot the rest of the marker on different consumer's location in Singapore
- Giving some time for the application to load and optimize the best paths, Vincenzo is presented with the following results:
The detailed explanation of the results as follows:
- Vincenzo is presented with three routes:
- Blue: Shipping via the Suez Canal
- Orange: Shipping via the Cape of Good Hope
- Red: Shipping via cargo railway
The estimated distance and duration for each route are listed at the bottom of the webpage.
- Both the blue and orange paths split from the closest port to the manufacturing factory, PSA Genova Terminal, with the difference being that shipping via the blue path goes through the Suez Canal.
- For the Red path (Shipping via railway), the route direction are as follows:
- Using vehicle, deliver the goods from manufacturing factory to Milan Train Station
- Railway from Milan -> Verona -> St.Gotthard -> Basel -> Stuttgart -> Duisburg -> Chongqing -> QinZhou Port
- From QinZhou port, ship via the South China Sea to Singapore.
- All 3 paths will lead to Pasir Panjang PSA terminal, which is the closest port to the importing factory. BetterPath would then:
- Optimize the path from the Pasir Panjang PSA terminal to importing factory and
- From importing factory to the rest of the consumer's location. (Able to customize the number of delivery vehicles)







