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

Транспортная задача

7 февраля 2013 в 11:59:19 (12 лет 10 недель 20 часов назад)
Текст задания
Транспортная задача или задача коммивояжёра.


На базе стандартной конфигурации 1С 8.2 Управление Торговым Предприятием для Украины
нужно сделать управление маршрутами.

задача математическая, четко поставленная и от конфигурации не зависит
сроки не горят, сумму я жду от Вас.

Похожие здачи
http://infostart.ru/public/142304/
http://kb.mista.ru/article.php?id=859
http://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B0%D0%BD%D1%81%D0%BF%D0%BE%D1%80%D1%82%D0%BD%D0%B0%D1%8F_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B0

Термин "Дата" подразумевается как "Дата и время".

Маршрут - это последовательность пунктов маршрута.
У маршрута есть такие параметры:
- наименование;
- дата отправки из первого пункта.
- дата доставки в последний пункт.

Возможные виды пунктов маршрутов:
- поставщики (спр. "Контрагенты");
- покупатели (спр. "Контрагенты");
- Склады (спр. "Склады").

У каждого пункта маршрута есть такие параметры:
- порядковый номер;
- дата, до которой нужно сделать заказ, чтобы успеть его отправить по этому маршруту
(имеет смысл для видов пунктов "поставщик" и "склад");
- дата прибытия в пункт;
- дата отправки из пункта.

У каждого отрезка между двумя пунктами есть такой параметр:
- стоимость доставки.

Нужно реализовать рабочее место по редактированию маршрутов.
Задачи рабочего места:
- заполнение маршрута (с "нуля" или скопировав другой маршрут);
- отображение маршрутов, которые проходят через определенный пункт (для самоконтроля).

Нужно реализовать функцию, которая будет возвращать возможные пункты отправки,
доступные на текущий момент времени для выбранного пункта доставки.
Входящие параметры:
- пункт доставки;
- граничная дата доставки (необязательный параметр).
Исходящий параметр - таблица с такими полями:
- пункт отправки;
- дата отправки;
- дата доставки;
- стоимость доставки;
- флаг минимальной стоимости доставки из пункта (т.е., самая дешевая доставка);
- флаг самой "ленивой" доставки из пункта (т.е. максимальная возможная дата отправки).

Алгоритм получения таблицы должен учитывать, что пункты могут быть связаны между собой как напрямую, так и через другие пункты. В таблице не должно быть не оптимальных маршутизаций - раньше отправка, позже доставка, больше стоимость доставки.
Если указана граничная дата доставки, то для пункта отправки должно вернуть только одну или две записи - запись с самой дешевой доставкой и/или запись c самой "ленивой" доставкой.

Простой пример маршрутизации: Склад1 » Склад2.
В результирующей таблице должны быть записи с пунктом Склад1, датой отправки с пункта Склад1, и датой доставки в пункт Склад2.

Сложный пример маршрутизации: Поставщик1 » Склад1 » Склад2 » Склад3 » Клиент1.
В результирующей таблице должна быть запись с пунктом Поставщик1, датой и времени отправки с пункта Поставщик1, и датой и временем доставки в пункт Клиент1. Стоимость доставки состоит из
суммы стоимостей доставки по 3 отрезкам (Поставщик1 » Склад1, Склад1 » Склад2, Склад3 » Клиент1. Каждый из отрезков может быть как из одного маршрута, так и из разных.
0
Отклики (12)