GSoC 2025 King Ordering Algorithm and Minimum Degree Ordering Algorithm - pgRouting/pgrouting GitHub Wiki
Table of Contents
Proposal
Brief Description
This project aims to implement the King Ordering Algorithm and Minimum Degree Ordering Algorithm from the Boost Graph Library into pgRouting, expanding its graph reordering capabilities beyond the existing Cuthill-McKee ordering. These algorithms optimize graph structures for improved numerical solver performance in scientific computing and network analysis. The King Ordering Algorithm minimizes graph bandwidth by reordering vertex indices based on pseudo-degree, reducing adjacency gaps and enhancing sparse matrix computations. The Minimum Degree Ordering Algorithm reduces fill-in during Cholesky factorization by reordering matrix rows to minimize nonzero elements introduced during Gaussian elimination. By integrating these algorithms, pgRouting will offer more efficient preprocessing options, benefiting large-scale network analysis and pathfinding tasks. Deliverables include the implementation of pgr_kingOrdering() and pgr_minimumDegreeOrdering(), comprehensive documentation, test cases ensuring correctness, and regular progress updates.
State of the Project Before GSoC
Before this project, pgRouting did not support the King Ordering or Minimum Degree Ordering algorithms. The only implemented graph reordering algorithm available was the Cuthill-McKee ordering. Adding these new algorithms will expand pgRouting's capabilities for graph preprocessing and optimization.
Deliverables
- Implementation of pgr_kingOrdering() and pgr_minimumDegreeOrdering() functions.
- Code with detailed and essential comments following the style guide and best practices.
- User documentation for both functions.
- Basic pgTap test cases to ensure correctness and stability.
- A wiki page detailing weekly progress.
- Detailed reports for the first and final evaluations.
Detailed Proposal
Detailed Proposal Link (Google Doc)
Participants
Title | GitHub Handle | Name |
---|---|---|
1st Mentor | @cvvergara | Vicky Vergara |
2nd Mentor | @robe2 | Regina Obe |
3rd Mentor | @iosefa | Iosefa Percival |
4th Mentor | @sanak | Ko Nagase |
Student Developer | @wifi | Fan Wu |
Timeline
Community Bonding Period ( TBD hrs)
TBD
Week -1
TBD
Week 0
TBD
First Coding Period
Week 1
TBD
Week 2
TBD
Week 3
TBD
Week 4
TBD
Second Coding Period
Week 5
TBD
Week 6
TBD
Week 7
TBD
Week 8
TBD
Third Coding Period
Week 9
TBD
Week 10
TBD
Week 11
TBD
Week 12
TBD
Log of Pull Requests
Link to all the Pull Requests made in GSoC-pgRouting repository
Pull Request | Description | Date | Status |
---|---|---|---|
# 1604 | TBD | TBD | TBD |
Slides
TBD
Final Report
TBD
- Links:
(i) Code Documentation:
TBD
(ii) Tags:
TBD
(iii) Pull Requests:
TBD
(iv) Wiki Pages:
TBD
- Images:
TBD
- Media:
TBD
Weekly Reports
Third Evaluation Period
Week 12
-
Report Mail - TBD
-
What did I get done this week?
TBD
- What do I plan on doing next week? TBD
Week 11
TBD