Title: Quickest Path
Project: 3
Date: January 2025
Owner: ALGOSUP
The purpose of the Quickest Path project is to develop a high-performance software solution in C++ that calculates the quickest path between two landmarks in the United States. The system will expose its functionality through a REST API supporting JSON and XML response formats. The primary focus is on providing fast and accurate results within the constraints specified by the client.
- Develop a high-performance route calculation engine using heuristic algorithms.
- Provide API functionality to support JSON and XML response formats.
- Ensure the system can handle datasets with up to 24 million nodes.
- Deliver results with a response time of under 1 second.
- Accurate path results, deviating by no more than 10% from the shortest possible route.
- System must be operational and accessible for at least 99.9% of the time
- Scalability to handle high query volumes without performance degradation.
Feature | Description | In Scope | Out of Scope |
---|---|---|---|
Shortest Path Calculation | The system must calculate the shortest path between two landmarks using heuristic algorithms. | ✅ | |
REST API | The system must expose functionality via a REST API supporting JSON and XML response formats. | ✅ | |
Batch Processing | The system must support batch route calculations for multiple source-destination pairs. | ✅ | |
Data Validation | The system must validate the integrity and connectivity of the input dataset. | ✅ | |
Heuristic Optimization | The system must use heuristics to maintain performance while staying within the 10% error margin. | ✅ | |
Multi-Format Support | The API must provide outputs in both JSON and XML formats. | ✅ | |
Real-Time Responses | The system must deliver responses within 1 second for a standard laptop setup. | ✅ | |
User Authentication | The system must authenticate users accessing the API. | ❌ | |
Offline Functionality | The system must function offline without internet connectivity. | ❌ | |
Graphical Interface | The system must provide a graphical user interface for user interaction. | ❌ | |
Voice Input | The system must support voice input for navigation requests. | ❌ |
- Use of C++ for optimal performance.
- REST API implementation with support for multi-format outputs.
- Dataset validation for bidirectional connections and consistency.
- The project must be completed within the defined timeline.
- The system must perform on a standard laptop with limited hardware resources.
- Users will provide valid landmark IDs for queries.
- Internet connectivity will be stable for REST API usage.
- The provided dataset is accurate and complete.
- Dataset Size: Large datasets may impact performance or memory usage.
- Algorithm Accuracy: Heuristic methods might occasionally deviate beyond acceptable margins.
- System Load: High query volumes could strain the system under limited hardware conditions.
- Balancing speed and accuracy in path calculations.
- Ensuring scalability for datasets with millions of nodes.
Milestone | Start Date | End Date | Deliverable |
---|---|---|---|
Project Kickoff | January 6, 2025 | January 10, 2025 | Charter Approval |
Requirement Analysis | January 6, 2025 | January 20, 2025 | Functional Specification Document |
Development Start | January 6, 2025 | February 7, 2025 | Initial API Implementation |
System Testing | January 20, 2025 | February 7, 2025 | Validation Against Dataset |
Final Release | February 7, 2025 | February 7, 2025 | Fully Functional Quickest Path System |