Смотря на это Учебник по оптимизации OMPL, есть строка:
ob::PlannerStatus solved = planner->solve(1.4/*seconds timeout*/);
С этим PlannerStatus
определение.
Тем не менее, я использую алгоритм RRT # с определенным порогом стоимости, скажем, 10.0
ради аргумента. Если я установлю слишком низкое значение, алгоритм по замыслу прерывается через 1,4 секунды с лучшим из найденных значений и выводит сообщение:
Info: ... Final solution cost 17.071
Info: Solution found in 1.418528 seconds
И возвращает ob::PlannerStatus::EXACT_SOLUTION
— Полагаю, у меня есть точное, но, возможно, не оптимальное решение.
Если я бегу с другим набором данных, я вижу что-то вроде:
Info: ... Final solution cost 9.543
Info: Solution found in 0.003216 seconds
Это также, однако, возвращает ob::PlannerStatus::EXACT_SOLUTION
,
Итак, как я могу провести различие между решением с тайм-аутом и решением с сопоставлением порогов?
Задача ещё не решена.
Других решений пока нет …