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

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

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


На базе стандартной конфигурации 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)