tilorn Posted December 1, 2009 Share Posted December 1, 2009 Зачем мне ехать 130км' date=' чтобы сэкономить 35 мин времени???????????[/quote'] Если у Вас вдруг есть запасная жизнь - экономьте бензин. Я же предпочту эти лишние 35 минут провести с девушкой, родными, близкими или просто чтением книги, или еще сделаю кучу важных и не очень дел. Еще раз повторюсь - время конечно. и очень быстро конечно. Link to post Share on other sites
dimdim Posted December 1, 2009 Share Posted December 1, 2009 Вот видите, tilorn, даже в этом топике видно, что предпочтения у людей разные. Более того, они еще и меняться могут от поездки к поездке. Именно поэтому оптимальным вариантом была бы возможность выбора. Link to post Share on other sites
artemacis Posted December 6, 2009 Share Posted December 6, 2009 Сделайте пожалуйста еще один вариант расчета маршрута - "Экономичный". Поясню на примере что я хочу: При проезде через город - время 60 минут' date=' расстояние 40 км, при проезде через КАД - время 59 минут, расстояние 90 км. Есстественно с учетом пробок СГ пошлет по второму маршруту. Но я готов потратить на 1 минуту больше времени, но сэкономить 50 км. Мои предложения по реализации: использовать при расчете "экономичного" маршрута формулу по усредненному расходу бензина в зависимости от скорости, времини и расстояния. Либо позволить пользователю вводить разницу во времени между разными вариантами маршрута - т.е. если разница менее 10 минут - СГ посылает по более короткому маршруту, если более - СГ посылает по более быстрому.[/quote'] ну скажем я выбираю КАД. Там я еду, а не стою и нажимаю тормоз всего 5 раз (5 светофоров), а не 27 раз, как если бы ехал через город. и, как не странно - расход у меня при этом получается меньше, чем если ехать по городу. вот. а, ещё колодки тормозные не изнашиваются так быстро ) Link to post Share on other sites
iprokator Posted January 18, 2011 Share Posted January 18, 2011 Есть простое решение, которое устроит каждого: Построение маршрутов в системе в той, или иной мере сводится к нахождению кротчайшего пути на взвешенном направленном графе. Не будем вдаваться в детали построения этого графа, но если говорить про видимую часть, то все сводится к следующей задаче. Для графа заданны две величины - это скорость движения (реальная или статистическая) и длинна этого ребра. Вес равен времени, т.е. длине поделенной на скорость. Дальше ищется минимум (или аппроксимация с нужной достоверностью). Т.е. 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, который для рассылки бета версий =( Link to post Share on other sites
iprokator Posted January 19, 2011 Share Posted January 19, 2011 Извините за скорость обозначенную буквой t =) Link to post Share on other sites
Recommended Posts