Jump to content
GPS навигатор СитиГИД
Sign in to follow this  
Ан_Дрей

Маршрут "Экономичный"

Recommended Posts

Зачем мне ехать 130км' date=' чтобы сэкономить 35 мин времени???????????[/quote']

Если у Вас вдруг есть запасная жизнь - экономьте бензин.

Я же предпочту эти лишние 35 минут провести с девушкой, родными, близкими или просто чтением книги, или еще сделаю кучу важных и не очень дел.

Еще раз повторюсь - время конечно. и очень быстро конечно.

Share this post


Link to post
Share on other sites

Вот видите, tilorn, даже в этом топике видно, что предпочтения у людей разные. Более того, они еще и меняться могут от поездки к поездке. Именно поэтому оптимальным вариантом была бы возможность выбора.

Share this post


Link to post
Share on other sites

Сделайте пожалуйста еще один вариант расчета маршрута - "Экономичный".
Поясню на примере что я хочу:
При проезде через город - время 60 минут' date=' расстояние 40 км, при проезде через КАД - время 59 минут, расстояние 90 км. Есстественно с учетом пробок СГ пошлет по второму маршруту. Но я готов потратить на 1 минуту больше времени, но сэкономить 50 км.
Мои предложения по реализации: использовать при расчете "экономичного" маршрута формулу по усредненному расходу бензина в зависимости от скорости, времини и расстояния. Либо позволить пользователю вводить разницу во времени между разными вариантами маршрута - т.е. если разница менее 10 минут - СГ посылает по более короткому маршруту, если более - СГ посылает по более быстрому.[/quote']

ну скажем я выбираю КАД. Там я еду, а не стою и нажимаю тормоз всего 5 раз (5 светофоров), а не 27 раз, как если бы ехал через город. и, как не странно - расход у меня при этом получается меньше, чем если ехать по городу. вот. а, ещё колодки тормозные не изнашиваются так быстро )

Share this post


Link to post
Share on other sites

Есть простое решение, которое устроит каждого:

Построение маршрутов в системе в той, или иной мере сводится к нахождению кротчайшего пути на взвешенном направленном графе.

Не будем вдаваться в детали построения этого графа, но если говорить про видимую часть, то все сводится к следующей задаче.

Для графа заданны две величины - это скорость движения (реальная или статистическая) и длинна этого ребра.

Вес равен времени, т.е. длине поделенной на скорость. Дальше ищется минимум (или аппроксимация с нужной достоверностью).

Т.е. m = S / t

Введем параметр A, который позволит нам строить среднее между кратчайшим и оптимальным.

m = A * S + (1 - A) * (S / t)

В итоге при A в [0,1] мы получаем переход от чисто оптимального маршрута к чисто кратчайшему. Скорее всего придется делать не линейный ползунок, но в остальном решение дается по этой формуле. (тут даже все остальные довески разве что придется масштабировать введя для первого члена целевой функции параметр G):

m = G * A * S + (1 - A) * (S / t) - и всё, что делалось для времени будет работать и на расстояние.

PS: В связи с тем, что мой основной логин мне сейчас стал недоступен, то приходится дискутировать тут (если что - я prokator, который Прокатор Илья Сергеевич). Верните меня назад по e-mail, который для рассылки бета версий =(

Share this post


Link to post
Share on other sites

Извините за скорость обозначенную буквой t =)

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×