2014-09-24 2 views
0

OptaPlanner를 사용하여 VehicleRoutingExample과 유사한 연결 계획 문제를 최적화합니다. 내 계획 엔티티에는 또 다른 계획 엔티티 인 계획 변수가 있습니다.OptaPlanner에서 건설 휴리스틱의 실행 시간

이제 거대한 데이터 세트를 ca로 테스트하고 있습니다. 1500 개의 계획 엔티티. EasyJavaScoreCalculator를 사용하여 HardSoftScore를 얻고 있습니다. 점수에는 루프에서 계산되는 여러 시간 및 기타 요인이 포함됩니다.

내 문제는 솔루션을 초기화하는 데 ConstrucionHeuristic (FIRST_FIT 또는 FIRST_FIT_DECREASING)이 10 분 이상 걸립니다.

나는 이미 점수를 계산하는 제약 조건 및 루프 수를 줄 였지만 실행 기간에 실제 영향을 미치지 않았습니다.

채널 작성 시간을 단축 할 수있는 방법이 있습니까? (LocalSearch보다 시간이 덜 걸릴 것이라고 생각했지만 그렇지 않았습니다 ...)

답변

0

EasyJavaScoreCalculator은 매우 느리고 소수의 엔티티를 초과하여 확장되지 않습니다. 대신 IncremantalJavaScoreCalculator 또는 Drools 계산기를 사용하십시오. 자신의 차이점을 확인하려면 VRP 예제를 사용하여 3 가지 구현 (easy, inc 및 drools) 사이를 전환하십시오.

증분 점수 계산에 대한 문서 섹션을 참조하십시오. 이유가 훨씬 더 빠릅니다.