Вот некоторые идеи, которые могут работать
Вы можете смоделировать свой путь как кусочно-линейную кривую.Если у вас есть 31 отрезок, то ваша кривая полностью описана 60 числами.У каждой из возможных кривых есть стоимость, поэтому стоимость является функцией в следующей форме
стоимость (x1, x2, x3 ..... x60)
Теперь ваша проблема заключается внайти глобальный оптимум функции 60 переменных.Вы можете использовать стандартные методы для этого.Одна идея состоит в том, чтобы использовать генетические алгоритмы.Другая идея состоит в том, чтобы использовать метод Монте-Карло, такой как параллельный отпуск
http://en.wikipedia.org/wiki/Parallel_tempering
Когда у вас есть многообещающий путь, вы можете использовать его в качестве отправной точки, чтобы найти локальный минимумфункция стоимости.Возможно, вы можете использовать некоторую интерполяцию, чтобы сделать вашу функцию стоимости дифференцируемой.Затем вы можете использовать метод Ньютона (или, скорее, BFGS), чтобы найти локальные минимумы функции стоимости.
http://en.wikipedia.org/wiki/Local_minimum
http://en.wikipedia.org/wiki/BFGS
Ваша проблема чем-то похожа на проблему поиска путей реакции в химических системах.Возможно, вы можете найти вдохновение в книге Дэвиса Уэльса «Энергетические пейзажи».
Но у меня также есть несколько вопросов:
- Необходимо ли вам найти оптимальный путь,или вы просто ищете путь, который подходит?
- Сколько у вас под рукой компьютера и времени?
- Может ли робот делать крутые повороты или вам нужно дополнительное физическое моделирование?улучшить функцию стоимости?