новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
Форум

Обсуждение к заданию: 1с и оптимальный маршрут по yandex картам

    • #1
    • 06.06.2016 18:40
    0
    Здраствуйте. пишу "диплом" якобы для фирмы, которая занимается только службой доствки еды без собственного производства. в 1с предприятие надо написать решение, которая автоматизирует...  Подробнее>>
    • #2
    • 06.06.2016 18:44
    0
    Каким методом искать оптимальный маршрут уже определились?
    А вообще проект интересный: работа с яндекс.картами + задача коммивояжёра... не знаю, кому как, но, имхо - бюджет потянет на 30-50 тыс.руб.
    • #3
    • 06.06.2016 18:46
    0
    Николай
    бюджет потянет на 30-50 тыс.руб.


    Согласен, задачу коммивояжера не так просто и быстро реализовать.
    • #4
    • 06.06.2016 18:47
    0
    Николай, неа не определялось.
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    	АдресДоставки = "улан-удэ советская 25";
    	ЗапросЯндексу=Новый HTTPЗапрос("/1.x/?results=1&format=json&geocode="+КодироватьСтроку(АдресДоставки,СпособКодированияСтроки.КодировкаURL));
    	СоединениеСЯндексом=Новый HTTPСоединение("geocode-maps.yandex.ru",443,,,,,Новый ЗащищенноеСоединениеOpenSSL);
    	ЧтениеДжо = Новый ЧтениеJSON;
    	ЧтениеДжо.УстановитьСтроку(СоединениеСЯндексом.Получить(ЗапросЯндексу).ПолучитьТелоКакСтроку());
    	Джо= ПрочитатьJSON(ЧтениеДжо,Истина);
    	МассивЛокаций=Джо["response"]["GeoObjectCollection"]["featureMember"];
    	Если МассивЛокаций.Количество()>0 Тогда 
    		Регион = МассивЛокаций[0]["GeoObject"]["description"];
    		Локация = СтрЗаменить(МассивЛокаций[0]["GeoObject"]["Point"]["pos"]," ",",");
    		СоединениеСКартами = Новый HTTPСоединение("static-maps.yandex.ru",443,,,,,Новый ЗащищенноеСоединениеOpenSSL);
    		ЗапросККартам = Новый HTTPЗапрос("1.x/?size=450,450&l=map&pt="+Локация+",pm2rdl1");
    		Карта = ПоместитьВоВременноеХранилище(Новый Картинка(СоединениеСКартами.Получить(ЗапросККартам).ПолучитьТелоКакДвоичныеДанные()));
    	КонецЕсли
    
    КонецПроцедуры
    

    вот кусок кода по которому я вывожу в картину место где находится кафе.
    я просто пытался средствами яндекс карты проделать маршрут, но тщетно=(( я там как понял он проводит маршрут по 1, 2, 3, 4 точке
    • #5
    • 06.06.2016 18:50
    • Отредактировано: 06.06.2016 18:51:43
    0
    я также потом сидел думал, возможно, надо будет создать "приоритеты" (в данном случае веса для ребер) и строить маршрут стараясь уменьшить веса ребер
    да мне и не надо крутую программу=) внедряться никуда не будет, главное чтобы выводила маршрутный лист для курьера и отчеты - как итоги дипломной работы
    • #6
    • 06.06.2016 18:51
    0
    1. по картам 90% не получится сделать оптимальный маршрут
    1.1 пробки
    1.2 ремонты
    1.3 состояние дорог (особенно если за городом)

    поэтому - купите доступ к системе, где все это уже рассчитывают
    т.е. вы грузите точки, куда надо заехать - и вам дают маршрут с учетом разных нюансов
    таких систем уже много
    • #7
    • 06.06.2016 18:52
    0
    Чайкин Игорь Александрович
    1.1 пробки
    1.2 ремонты
    1.3 состояние дорог (особенно если за городом)


    это можно не учитывать, я не в москве живу, в улан-удэ у нас с этим не так туго)
    • #8
    • 06.06.2016 18:55
    • Отредактировано: 06.06.2016 18:56:07
    0
    Гармаев Андрей Сергеевич
    я не в москве живу, в улан-удэ


    Чайкин Игорь Александрович
    1.3 состояние дорог (особенно если за городом)


    работал на одном предприятии (далеко от столиц, много агентов, развозка по 1000+ магазинов), там такие крюки иногда приходилось делать из-за состояния дорог ...
    • #9
    • 06.06.2016 18:59
    0
    т.е. эффективнее собрать готовые маршруты с торгового отдела
    • #10
    • 06.06.2016 19:03
    • Отредактировано: 06.06.2016 19:04:54
    0
    Игорь Александрович, это мне для диплома, извините пожалуйста, но я не буду учитывать факторы пробки, вдруг дороги закрыты, просто когда рассказывать на защите диплома буду и всплывут вопросы подобные вашим, да это надо будет доработать придется сказать.
    мне бы вот главное чтобы он маршрут как нибудь худо бедно искал, а не просто берет адреса и соединяет их по очереди, в которой мы задали
    как я делал, первая и последняя точки уже известны, надо добавить между ними точки, которые являются кафе и соединить их.
    вот щас сижу пишу и в голову пришла идея, если соединить
    1а) ближайшее кафе с первой точкой
    1б) потом ближайшее кафе с последней точкой
    2) если точка 1 остается соединяем их с промежуточным точками
    3а)если два, то также ближайшую точку к 1а к точке из 1а
    3б)тоже самое с 3б
    ps интеграции не будет скорее всего даже
    • #11
    • 06.06.2016 19:06
    0
    ну, для диплома факторы реального мира модно не учитывать )
    • #12
    • 06.06.2016 19:09
    0
    извиняюсь, не прочел само задание, только ответы на форуме, не обратил внимание, что это диплом
    тогда мои комменты можно не читать
    • #13
    • 06.06.2016 19:10
    0
    Андрей Сергеевич, если в самих Яндекс-картах нет функционала такого, то это задача не для дипломной и не для кандидатской, а для докторской диссертации ;) Если сможете из API яндекса получить хотя бы все расстояния между всеми точками, то дальше уже применяйте математику. Однако же не забывайте, что диплом пишется за год, а не на коленках за 3 дня. Поэтому к чёрту все оптимизации уж, пусть выводит что попало, а на защите, так и быть придется сказать, что оптимизацию вы сделаете, когда вас в аспирантуру возьмут они к себе
    • #14
    • 06.06.2016 19:12
    0
    Тихонов Сергей
    Если сможете из API яндекса получить хотя бы все расстояния между всеми точками


    делал, мониторил агентов по ГПС

    но - это реально не диплом
    минимум 2 недели парился, там подводных камней куча
    • #15
    • 06.06.2016 19:15
    0
    кстати, по Яндексу все намного проще, чем по гуглу
    • #16
    • 09.06.2016 16:50
    0
    По-моему, кафешек не так уж и много. Начальная и конечная точки заданы. Надо выбрать все варианты перестановок промежуточных точек и посчитать все возможные маршруты. Вроде не очень сложно. Здесь в постановке не предполагается десятки точек маршрута: комбинаторного взрыва не должно быть. Задача коммивояжера простым перебором.
Для участия в обсуждении Вам необходимо авторизоваться либо   зарегистрироваться