A *로 해결해야 할 문제가 있지만 좋은 경험적 방법을 설계하기가 어렵습니다.A * 알고리즘에 대한 추론
내 문제는 다음과 같습니다
부하를 극대화하고 이동 시간을 최소화하고자 알려진지도에 이동하는 도시에서 쓰레기 수거 트럭에 의해 달성하기 위해 최적의 경로를 결정합니다.
저는 네 가지 유형의 노드가 있습니다 : 제럴 노드, 덤프 노드, 가비지 노드 및 가스 노드.
쓰레기 수거 트럭에 가스가 없을 수 있으며 차량을 다시 채울 수 있습니다. 또한 1 개 이상의 쓰레기 수거통이 배달 될 수 있습니다.
이 문제를 해결하기위한 가장 좋은 방법은 무엇입니까?
감사합니다.
덤프 노드, 가비지 노드 및 가스 노드는 일반 노드의 하위 클래스입니다. Geral 노드는 이름, x 및 y 위치와 고유 ID 및 노드 유형 식별자 만 가질 수 있습니다. 덤프 노드 및 가스 노드는 노드 유형의 geral 노드와 만 다릅니다. 쓰레기 노드에는 쓰레기가있는 휴지통을 나타내는 쓰레기 변수가 있습니다.이 문제를 해결하려면 jgrapht를 사용하고이 라이브러리의 WeithedGraph를 사용하십시오. 또한 트럭의 maxCapacity, maxGAs 및 actualGas 및 actualCapacity를 저장하는 트럭이라는 클래스가 있습니다. .. 다른 생각은 이럴거야 . – mistic
트럭이 가득차면 덤프 노드를 방문해야하고, 가스가 부족하기 전에 가스 노드를 방문해야 할 필요가있다. 한 가지 탐구적인 방법은 트릭이 채워질 때까지 다음 가비지 노드를 방문한 다음 쓰레기 노드가 가장 많거나 그 이상이 될 때까지 방문한 다음 덤프 노드에 대한 경계선을 만듭니다. 트럭에 가스가 부족한 경우 가스 노드로 이동하십시오. 아마 이것은 쓰레기 발견 일 것이다. 다음 단계는 덤프 노드를 방문하기 전에 덤프 노드에 가장 가까운 가비지 노드를 방문 할 수 있도록 덤프 노드와의 근접성에 따라 각 가비지 노드에 가중치를 부여하는 것입니다. –
가스 노드에 얼마나 가깝게 위치하는지에 따라 가비지 노드의 무게를 측정하여 가스 노드에 가장 가까이있는 가비지 노드를 방문하여 채우십시오. 등등.당신은 그것에 만족할 때까지 끝없이이 일을 조정할 것입니다. 당신이 따라야 할 규칙은 다음과 같습니다 : 휴리스틱은 솔루션을 과대 평가할 수 없습니다. (탐욕스러운 알고리즘을 사용하는 한 오래 걸리지 않을 것입니다.) O (n) 또는 O (nlog) (욕심이 많은 알고리즘을 기반으로하는 경우) –