bkhnk48 / pathPlanningSimulation

1 stars 0 forks source link

Tìm đường cho AGV khi traces.txt không được cập nhật #37

Open bkhnk48 opened 3 months ago

bkhnk48 commented 3 months ago

Khi dùng solver hay pns để giải bài toán multi commodity minimum cost flow thì có trường hợp một trong hai phương pháp đó (hoặc thậm chí cả hai) không đưa ra được lời giải Điều đó khiến traces.txt không chứa giải pháp cho hiện trạng của các AGV. Chẳng hạn file traces.txt cũ a 1 18 0 + 5 = 5 a 18 34 5 + 0 = 5 a 10 27 5 + 5 = 10 a 27 35 10 + 0 = 10 File trên có lưu hướng dẫn đường đi cho 2 AGV, 1 con cần đi từ 1->18->34 và 1 con cần đi từ 10->27->35. Tuy nhiên hiện tại AGV1 đang ở địa điểm 24 thay vì 18. Vậy AGV1 phải làm gì? Cụ thể hơn, chương trình phải trả lời rằng các điểm đi tiếp theo của AGV1 là 24->34 (với điều kiện trong đồ thị thực sự có đường nối 24 với 34) Hiện tại chương trình sẽ xảy ra lỗi làm crash vì nó không tìm thấy node với id = 1 (vốn đã bị xoá khỏi nodes của đối tượng lớp Graph) Hãy xác định cách xử lý của AGV1 và fix lỗi crash

bkhnk48 commented 3 months ago

Cụ thể địa điểm cần fix: đầu tiên đó là hàm build_path_tree của Graph, đây là nơi đầu tiên xảy ra lỗi

bkhnk48 commented 3 months ago

Gợi ý cách sửa (góc bên trái là mã nguồn cũ, góc phải là mã nguồn mới)

Screenshot 2024-06-21 at 13 19 03