Vehicle Routing Problem with Time Windows and Capacity Constraints (CVRPTW)
You can access the deployed version of the platform directly via Swagger UI: http://139.100.207.201:5000/docs/
A logistics optimization system that solves the CVRPTW problem - efficient routing of vehicles considering time windows and load capacity.
- Hosted Documentation Site
- Customer Handover Guide
- Development Process & Workflow
- Architecture Documentation
- Quality Requirements
- Testing Strategy & CI
- Product Roadmap
- Definition of Done
- User Acceptance Tests
| Name | |
|---|---|
| Maksim Potushinskii | m.potushinskii@innopolis.university |
| Dania Galieva | da.galieva@innopolis.university |
| Anastasiia Glinskaia | a.glinskaia@innopolis.university |
| Timur Iusupov | t.iusupov@innopolis.university |
| Marsel Tukhvatullin | m.tukhvatullin@innopolis.university |
- Clone the repository:
git clone https://github.com/iu-students/route-optimization-platform.git
cd route-optimization-platform
- Create
.envfile:
API_KEY - The master authentication key required for all API requests.
cp .env.example .env
- Start with Docker Compose: This command builds the Docker images (if not already built) and starts all required services in detached mode. The platform will run in the background.
docker compose up --build -d
- Verify :
curl http://localhost:5003/health
After starting the application, open http://localhost:5000/docs in your browser to access Swagger UI.
Use the dropdown at the top of Swagger UI to switch between MVP versions. Current active version: v3
- POST /solve - Start route optimization calculation.
- GET /solution - Get the computed optimal route after
/solvecompletes. - GET /metrics - Get cost breakdown statistics for the last completed solution.
- GET /history - List past calculations with summary metadata.
- GET /history/{id} - Get full calculation details including input/output files.
- POST /validate - Validate input JSON without solving.
- GET /health - Check server status.
All endpoints except /health require API key authentication. Include in request headers:
X-API-Key: your-api-key
The API key is set in the .env file.
- The optimization algorithms are based on heuristics and metaheuristics (including CP-SAT). As a result, the solver may produce different solutions for identical inputs across different runs. This is expected behavior for heuristic approaches, which balance solution quality against computational speed. For detailed troubleshooting guidance and complete support documentation, please refer to our Customer Handover Documentation.
This project is licensed under the MIT License - see the LICENSE file for details.
