bkhnk48 / pathPlanningSimulation

1 stars 0 forks source link

Lỗi không thể tìm thấy đường đi #42

Open bkhnk48 opened 3 months ago

bkhnk48 commented 3 months ago

Có một số AGV khi tìm được đường đi thì đi theo đường đó lại bị quá giờ, và code hiện tại sẽ tạo ra một sự kiện mang tên HaltingEvent cho AGV đó Sự kiện này sẽ có thời gian kết thúc là thời điểm H (thời điểm cuối cùng) của hệ thống. Nhưng theo thời gian đồ thị TSG sẽ bị xoá đi các nút có thời điểm trễ hơn thời điểm hiện tại. Điều đó khiến AGV (mà rơi vào sự kiện HaltingEvent) sẽ nằm ở các nút mà không có đường đi. Điều đó khiến solver không thể tìm ra được lời giải optimal.

p min 17 25
n 24 1
n 10 1
n 34 -1
n 35 -1
a 22 25 0 1 1
a 22 32 0 1 3
a 23 26 0 1 1
a 23 33 0 1 3
a 24 27 0 1 1
a 24 34 0 1 1
a 24 35 0 1 0
a 25 28 0 1 1
a 26 29 0 1 1
a 27 30 0 1 1
a 27 34 0 1 2
a 27 35 0 1 0
a 28 31 0 1 1
a 29 32 0 1 1
a 30 33 0 1 1
a 30 34 0 1 3
a 30 35 0 1 0
a 33 34 0 1 4
a 33 35 0 1 1
a 36 37 0 10 1
a 36 38 0 3 0
a 37 17 0 1 3
a 37 14 0 1 3
a 37 11 0 1 3
a 38 37 0 10 0

Như đã thấy ở trên, AGV thứ 2 vẫn đang ở điểm 10 nhưng điểm 10 đã bị xoá khỏi đồ thị TSG (các dòng dưới không thấy có số 10) nên solver không thể giải được Nhiệm vụ: khi các AGV Halting bị xoá đi nút hiện tại của nó thì Graph.py phải tìm ra một nút trong TSG có toạ độ không gian bằng đúng toạ độ không gian của nút hiện tại và thời điểm của nó phải bằng thời điểm hiện tại Cụ thể, như ở trên thì TSG phải là: p min 17 25 n 24 1 n 22 1 n 34 -1 n 35 -1 a 22 25 0 1 1 a 22 32 0 1 3 a 23 26 0 1 1 a 23 33 0 1 3 a 24 27 0 1 1 a 24 34 0 1 1 a 24 35 0 1 0 a 25 28 0 1 1 a 26 29 0 1 1 a 27 30 0 1 1 a 27 34 0 1 2 a 27 35 0 1 0 a 28 31 0 1 1 a 29 32 0 1 1 a 30 33 0 1 1 a 30 34 0 1 3 a 30 35 0 1 0 a 33 34 0 1 4 a 33 35 0 1 1 a 36 37 0 10 1 a 36 38 0 3 0 a 37 17 0 1 3 a 37 14 0 1 3 a 37 11 0 1 3 a 38 37 0 10 0