Имя: Пароль:
IT
 
Задача коммивояжера и несколько складов
0 Мао Дзедун
 
09.08.16
18:16
Классическая задача коммивояжера известна и решается известными методами, https://ru.wikipedia.org/wiki/Задача_коммивояжёра
Есть множество конфигурации которые решают данную задачу.
Однако задача решается для случая, когда склад , где загружается коммивояжер, один.
Требуется решить сходную задачу, усложненную тем, что есть n складов и m точек доставки. Кто нибудь сталкивался с подобной задачей и есть ли вообще у нее решение?
1 Мао Дзедун
 
09.08.16
18:21
Да, товар, который требуется для доставки для конкретного получателя, может быть в наличии только на одном из складов
2 Garykom
 
гуру
09.08.16
18:26
Не требуется "коммивояжер", хватит Флойда

Демо http://catalog.mista.ru/public/442306/

Готовое http://pastenow.ru/ULVA для клиента
3 Garykom
 
гуру
09.08.16
18:36
(2)+ Хотя нет, задачу не так понял

Вы хотите оптимизировать перемещение одной машины, которая должна загружаться на нескольких складах (N), и доставить загруженный с разных складов товар по разным клиентам (M)?
Тут проблема что в алгоритм добавляется еще "Товар" и на каком складе он лежит и кому/кода его требуется доставить.

Никаких алгоритмов кроме "полного перебора вариантов" не может быть в принципе!
Максимум сокращение вариантов перебора путем отрезки невозможных путей, к примеру нет смысла ехать на точку если товар еще не загружен с нужного склада весь для этой точки.
4 Garykom
 
гуру
09.08.16
18:38
(2)+ Моя же алгоритма для решения задачи переброски товара между кучи складов чтобы доставить ее для клиента.

Распределенные сетевые структуры типа "DNS/Technopoint" и прочие "Связные" так работают.
5 Мао Дзедун
 
09.08.16
18:39
(3) Ясно, то же самое говорят и разработчики конфигураций по транспортной оптимизации...
6 Garykom
 
гуру
09.08.16
18:40
(5) Ну современные компы и если мало "складов" и не сильно много "точек доставки" вполне позволят за ночь просчитать ))
7 AndreyDnepr
 
09.08.16
23:04
Как выбирать входные двери?http://dian-dveri.dp.ua/vhodnye-dveri/
8 Ildarovich
 
09.08.16
23:15
(0) Есть "транспортная задача". Ее суть в том, что есть "склады" и есть "потребители" и требуется построить не маршрут, а план перевозок, который укажет откуда что кому везти. Задача простая и быстро решается, здесь (на Мисте) даже была программная реализация для 1С.
Если же интересует именно маршрут, то есть порядок объезда точек с загрузкой, разгрузкой, ограничениями по весу, габаритам, порядку укладки, то желательно примерно знать количество автомашин, точек погрузки и разгрузки (хотя бы порядок цифр), чтобы понимать, в каком классе искать подходящий метод.
Получается, для ответа на вопрос не хватает подробностей по задаче.
9 Dmitry1c
 
10.08.16
05:05
Есть достаточно простой в реализации _генетический алгоритм_ (лабу когда-то писал на шарпе) по поиску оптимальных маршрутов.

Работает минут по 2-3, результат выдает - 80% от идеального маршрута
10 Garykom
 
гуру
10.08.16
05:26
(9) >Работает минут по 2-3
количество точек какое?

но решение с помощью ГА задачи коммивояжёра это же в твоем случае 80% шанс "не получить никакого решения" ))
в отличие от стандартного "метода ветвей и границ"
11 Dmitry1c
 
10.08.16
05:37
(10) я так понимаю, нужно один раз добиться желаемого результата
12 Garykom
 
гуру
10.08.16
06:03
(11) Угу используя апи (по времени пути) от яндекса да?
Генетика не нужна совершенно это же не задача оптимизации с несколькими машинками, когда нужно подобрать кол-во "доставок" на каждую.

Можно полным перебором удобно через яндекс карты сделать, технически там достаточно точки местами менять (перестановки) и оно будет выдавать время пути.
Все варианты перестановок получили, сортируем по минимальному времени и типа оно готово.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.