iRB-Lab/py-ga-VRPTW
A Python Implementation of a Genetic Algorithm-based Solution to Vehicle Routing Problem with Time Windows
🧬 py-ga-VRPTW – Thuật toán di truyền giải bài toán VRPTW bằng Python
Dự án sinh ra từ một đồ án đại học, hiện là công cụ tham khảo mã nguồn mở cho bài toán định tuyến phương tiện có thời gian sổ.
py-ga-VRPTW là bản cài đặt bằng Python của một giải pháp dựa trên thuật toán di truyền (Genetic Algorithm) cho bài toán Định tuyến phương tiện với thời gian sổ (Vehicle Routing Problem with Time Windows - VRPTW). Dự án ra đời từ nhu cầu hỗ trợ một sinh viên kỹ thuật logistics giải quyết đồ án, sau đó được mở rộng thành công cụ mã nguồn mở.
✨ Điểm nổi bật
- Hỗ trợ bài toán VRPTW chuẩn: Dựa trên tập benchmark Solomon (R1, R2, C1, C2, RC1, RC2).
- Mã nguồn mở, dùng Python 3.13: Dễ tích hợp và mở rộng.
- Cài đặt thuật toán di truyền đầy đủ: Bao gồm chọn lọc bằng Roulette Wheel, lai ghép bằng Partially Matched Crossover (PMX), đột biến bằng Inverse Operation.
- Hỗ trợ định dạng dữ liệu linh hoạt: Đọc dữ liệu từ file
.txthoặc.json, hỗ trợ cả dữ liệu tùy chỉnh. - Công cụ chuyển đổi định dạng: Hỗ trợ chuyển đổi từ
.txtsang.json. - Cấu trúc mã nguồn rõ ràng: Chia thành các module
gavrptw.corevàgavrptw.utils. - Hỗ trợ chạy mẫu nhanh: Cung cấp ví dụ với bài toán R101, C204.
💡 Vì sao đáng chú ý
py-ga-VRPTW không phải là giải pháp tối ưu nhất nhưng là một nguồn tham khảo mã nguồn mở rất hữu ích cho người học và nghiên cứu về thuật toán di truyền áp dụng cho bài toán định tuyến phương tiện. Dự án cung cấp cấu trúc mã nguồn sạch, dễ đọc, phù hợp để học hỏi và mở rộng. Tuy hiệu năng các ví dụ chưa cao, nhưng dự án đã và đang được cộng đồng cải tiến thông qua các fork.
#GeneticAlgorithm #VRPTW #VehicleRouting #Python #OpenSource #TiniX
Similar Projects
Discover other similar projects and AI models.
A MSc's Dissertation Project which focuses on Vehicle Routing Problem with Time Windows (VRPTW), using both exact method and heuristic approach (General Variable Neighbourhood Search)
The open source Solver AI for Java and Kotlin to optimize scheduling and routing. Solve the vehicle routing problem, employee rostering, task assignment, maintenance scheduling and other planning problems.
Solving the Capacitated Vehicle Routing Problem with Time Windows (CVRPTW) using Mixed Integer Linear Programming (MILP) in Python with the Gurobi API.
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
The definitive list that answers "I want to do X in Python, which tool should I use?"