Основы логистики
Шрифт:
Данную задачу можно решить с использованием дешевых и доступных любому пользователю геоинформационных систем (ГИС), включающих автоматический прокладчик маршрутов. К примеру, в г. Санкт-Петербурге эта задача решается с помощью программы «Электронный атлас автодорог. Улицы Санкт-Петербурга 2003» (фирмы «ИНГИТ») или компакт-диска «Автокарты / каталог 2004» (компании TopPlan).
Эвристические алгоритмы решения задачи формирования развозочных маршрутов включают два этапа, во-первых, группировку пунктов по маршрутам, во-вторых, определение рационального порядка объезда пунктов. Задачу группировки пунктов по маршрутам можно решить как частный случай задачи о назначениях. Ниже рассматривается алгоритм решения данной задачи и пример его практического
Предположим, что имеется п грузополучателей или клиентов, каждого из которых может обслужить любой из m привлеченных для перевозок автомобилей. Стоимость обслуживания i-го клиента j-м автомобилем с или теневая цена (это цена резервирования провозных возможностей, ее величина отражает максимальную цену, которую можно согласиться заплатить за обслуживание i-го клиента), рассчитывается следующим образом:
где Qi – вес партии товара, доставленной i-му клиенту (кг); qj – грузоподъемность j-го автомобиля с учетом класса груза (кг); sj – затраты на рейс, выполненный j-м автомобилем (руб.).
Необходимо распределить автомобили по клиентам так, чтобы минимизировать суммарные затраты, связанные с выполнением перевозки.
В исследовании операций задача, сформулированная выше, известна как задача о назначениях. Введем переменные хР принимающие значение 1 в случае, когда i-го клиента обслуживает j-й автомобиль, и значение 0 во всех остальных случаях.
Тогда ограничение
гарантирует обслуживание i-го клиента лишь одним автомобилем, то есть заказы клиентов разбивать нельзя, а ограничение
гарантирует, что каждый автомобиль будет обслуживать не более b клиентов. Это означает, что мы пытаемся учесть ограничения по времени обслуживания клиентов еще на этапе решения задачи о назначениях.
Поскольку речь идет о формировании развозочных маршрутов, необходимо учесть ограничения по грузоподъемности:
означающие, что фактическая нагрузка подвижного состава не должна превышать его грузоподъемности.
Стоимость решения, то есть сумма теневых цен для обслуженных клиентов, должна быть минимизирована. Таким образом, задачу о назначениях подвижного состава можно записать следующим образом.
Задача о назначениях является частным случаем классической транспортной задачи. При этом условие
хij..О{0,1}, i=1, …, m, j=1, …, n
означает выполнение требования двоичности переменных х.., то есть в допустимом целеисчислении значениями переменных могут быть только 0 и 1. Следовательно, для ее решения может быть использован эффективный вычислительный алгоритм симплексного метода, реализованный в средстве «Поиск решения» Microsoft Excel.
Пример решения задачи
Рассмотрим условный
Для решения задачи на рабочем листе Excel разработаем модель рассматриваемой задачи. Разрабатываемую модель необходимо представить в виде трех таблиц: матрицы теневых цен сij, матрицы переменных хij и матрицы произведения сij*хij. Для решения задачи необходимо связать значения таблиц формулами. Зависимости, связывающие переменные модели, представлены в табл. 6–8.
В табл. 1 мы видим, что теневые цены рассчитываются по формуле (1), для чего в ячейку В6 занесена формула
Таблица 1
Зависимости, связывающие переменные в матрице теневых цен
В6=($16/В$12)xВ$5, которая затем распространяется на весь диапазон ячеек В6:Н10, содержащих теневые цены.
Таблица 2
Зависимости, связывающие переменные в матрице переменных
Таблица 3
Матрица произведения сij *хij.
Фактическую загрузку подвижного состава рассчитывают по формуле (4), которая занесена в ячейке В11 в виде В11=СУММПРОИЗВ ($16:$110;1_6:1_10). Аналогично данная формула распространяется на весь диапазон ячеек В11:Н11, содержащих значения загрузки.
В табл. 2 мы видим, что в диапазоне L6:R10 содержатся изменяемые ячейки, формулы, занесенные в диапазон S6:S10, суммируют значения изменяемых ячеек по строкам, а занесенные в диапазон L11:R11 – по столбцам. Функция, занесенная в ячейки строки «Выбор», возвращает значение 1, если в ячейках строки «Сумма» находится значение, большее или равное 1, и значение О-в противном случае.
Таблица 4
Параметры надстройки Excel – Поиск решения
Обязательное условие для расчетов: в табл. 2 и 3 нужно установить числовой формат ячейки без знаков после запятой (<Формат> <Ячейки> <Число>, числовые форматы – числовой, число десятичных знаков – 0).
Представленные в табл. 3 формулы служат для вычисления целевой функции, то есть суммы теневых цен для обслуженных клиентов.