Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
msepmenj (2) / Практические занятия / Методы оптимизации управления и принятия решений.pdf
Скачиваний:
201
Добавлен:
12.02.2015
Размер:
6.63 Mб
Скачать

2. Транспортные задачи и логистика; задачи о назначениях и отборе.

Теоретические замечания.

Представление о том, что такое транспортная задача, у специалиста по исследованию операций и у менеджера отдела логистики очень сильно отличаются. С точки зрения менеджера, транспортные задачи – это любые задачи, связанные оптимизацией перевозок. Именно по этому принципу мы и собрали задачи и кейсы в раздел «Логистика». С точки зрения специалиста по исследованию операций, транспортная задача – это специальный вид задачи линейной оптимизации, для которой, в силу ее формулировки и в виду очень специальных ограничений, существуют исключительно эффективные алгоритмы решения. В этот тип попадают и такие реальные задачи, в которых ничего никуда не перевозится (примерами таких задач являются задачи 1.32, 2.1, 11.6 и 11.7, включенные в настоящий сборник).

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

Классическая транспортная задача имеет целью минимизацию транспортных издержек при перевозках однотипных грузов от нескольких поставщиков (с различных складов), расположенных в разных местах, к нескольким потребителям. При этом, в транспортной задаче, принимают в расчет только переменные транспортные издержки, т.е. считают, что суммарные издержки пропорциональны количеству перевезенных единиц груза.

При постановке транспортной задачи необходимо прежде всего задать таблицу транспортных издержек для перевозок единицы груза cij (см Рис. 64)от i- го поставщика к j-му потребителю. Эта таблица имеет m строк (по числу поставщиков) и n столбцов (по числу потребителей).

Таблица перевозок xij имеет те же размеры (m n) и содержит переменные решения. Необходимо также задать запасы поставщиков, готовые к вывозу (на Рис. 64– это столбец Si) и величины заказов потребителей (на рисунке – это строка

Dj).

В транспортной задаче предполагается, что необходимо вывести запасы каждого i-го поставщика и удовлетворить заказ каждого j-го потребителя. Это возможно только если сумма запасов всех поставщиков равна сумме заказов всех

Зайцев М.Г., Варюхин С.Е.

165

потребителей. Это важнейшее условие применимости тех самых эффективных алгоритмов, о которых мы упомянули, условие сбалансированности.

Ограничения транспортной задачи имеют очень простой вид: сумма переменных решения вдоль каждой i-ой строки должна быть равна запасу поставщика Si, а сумма переменных решения вдоль каждого j-го столбца должна быть равна заказу соответствующего потребителя Dj.

Наконец, чтобы получить целевую функцию (суммарные издержки), необходимо рассмотреть суммы произведений каждой строки таблицы транспортных издержек на соответствующую строку таблицы перевозок и сложить их, суммируя по i от 1 до m. Это и даст двойную сумму, показанную на

Рис. 64. При этом номер источника ( поставщика), 1 i m, номер пункта назначения (потребителя), 1 j n.

 

 

c

c

 

 

 

11

12

cij

 

c21

c22

 

 

 

 

 

... ...

 

 

c

c

 

 

 

m1

m2

Dj D1, D2

.....Dn

n

(xij Si ) 0,

j 1

...

c

 

 

 

 

 

1n

 

 

 

...

c2n

,

x

 

...

...

 

 

ij

 

 

 

 

 

...

c

 

 

 

 

 

mn

 

 

 

m

(xij Dj ) 0,

i 1

 

x

x

 

11

12

 

x21

x22

 

...

 

 

...

 

 

xm2

 

xm1

i 1,2,...m,

...

x

 

 

 

 

 

S

 

...

1n

 

 

 

 

1

 

x2n

,

Si

 

 

S2

 

...

...

 

 

 

 

 

 

 

 

 

 

 

...

 

 

 

 

 

 

 

 

xmn

 

 

 

Sm

j 1,2,...n

m

n

Min: C xijcij

i 1

j 1

Рис. 64

Если задача сбалансирована и никаких других ограничений, кроме упомянутых выше нет, Поиск решения использует эффективный алгоритм решения для этой задачи, причем, если запасы и заказы выражены целыми числами, то и переменные решения xij получатся целыми, даже если не требовать этого специально. Кроме того, гарантировано, что количество ненулевых перевозок xij не будет превышать m+n-1, т.е.количество «игроков» (поставщиков и потребителей) минус 1.

Несбалансированность в транспортной задаче

Если сумма запасов превышает сумму заказов (излишек запасов) или, наоборот сумма запасов меньше, чем сумма заказов (дефицит запасов) необходимо сбалансировать задачу.

В первом случае,

m

n

Si Dj ,

i 1

j 1

нужно добавить в таблицу транспортных издержек и в таблицу перевозок по одному лишнему столбцу.

Это можно трактовать так, как если бы появился еще один «фиктивный» потребитель. Если потребовать, чтобы заказ этого «потребителя» в точности равнялся бы разности между суммой всех запасов и суммой всех заказов

m

n

Dfict Si Dj ,

i 1

j 1

а издержки перевозок грузов к нему от любого поставщика равны нулю, будем иметь сбалансированную транспортную задачу. При этом переменные решения в последнем столбце дадут количество грузов, которые должны остаться на каждом из складов.

Во втором случае, когда

m

n

Si Dj ,

i 1

j 1

нужно добавить в таблицу транспортных издержек и в таблицу перевозок по одной лишней строчке.

Это можно трактовать так, как если бы появился еще один «фиктивный» поставщик. Потребуем, чтобы запас этого «поставщика» в точности равнялся бы разности между суммой всех заказов и суммой всех запасов

n

m

Sfict Dj Si ,

j 1

i 1

а издержки перевозок грузов от него к любому поставщику равны нулю. Вновь имеем сбалансированную транспортную задачу. При этом переменные решения в лишней строчке – это тот объем грузов, которые не получит каждый потребитель.

Заметим, что несбалансированные транспортные задачи можно, конечно, решать и просто заменив в соответствующих ограничениях знаки равенств на знаки нестрогих неравенств. Однако, при этом надо иметь в виду, что для решения такой задачи MS-Excel будет применять общие методы решения ЛПзадач, а не специфические «транспортные» алгоритмы. В результате эффективность решения может быть значительно ниже, и получение целочисленного решения не гарантируется.

Еще одно возможное осложнение транспортной задачи – это запрещение определенной перевозки от i-го поставщика к j-му потребителю для составляемого плана перевозок (ремонт дороги, неплатеж и пр.). В этом случае, естественно, можно просто ввести ограничение xij =0. Однако, вновь это означает невозможность использования эффективных «транспортных» алгоритмов решения.

Чтобы сохранить форму транспортной задачи и учесть этот запрет, достаточно в таблице транспортных издержек заменить cij на очень большое число (на порядок большее, чем максимальная цена перевозки в таблице транспортных издержек). Это фактически будет означать, что оптимизационный алгоритм наверняка положит соответствующее значение перевозки xij равным нулю, поскольку перевозка по этому маршруту просто крайне невыгодна.

Подробнее о постановке и методах решения транспортной задачи читайте в учебных пособиях [1,2,7-11].

Задача о назначениях

Задача о назначениях – это модель для количественного анализа ситуаций, когда менеджер должен назначить рабочих для выполнения различных производственных операций, распределить ряд производственных заданий по различным машинам (которые могут эти задания выполнить с различной

Зайцев М.Г., Варюхин С.Е.

167

эффективностью), или решить какого торгового агента в какую область послать для продвижения продукции фирмы. Это распределение или назначение должно быть сделано либо из соображений наибольшей эффективности, либо из соображений наименьших затрат.

С математической точки зрения, задача о назначениях – это частный случай транспортной задачи, в которой число поставщиков (например, число рабочих или, иначе, поставщиков рабочей силы) в точности равно числу потребителей (“работ”, различных технологических операций). Поэтому таблица “транспортных издержек” (аналогом которых может выступать любая мера эффективности выполнения той или иной операции данным работником) должна быть квадратной.

Кроме того, в задаче о назначениях от каждого поставщика к каждому потребителю поставляется только одна единица “груза” (например, только одного рабочего можно назначить для выполнения данной работы), или ни одной. Поэтому все “запасы” и все “заказы” равны 1.

Понятно, что все переменные решения в задаче о назначениях могут принимать только значения 1 или 0. На первый взгляд, это похоже на задачи целочисленного линейной оптимизации. Однако, в силу упомянутых выше особенностей структуры ограничений транспортной задачи, явно требовать целочисленности переменных решения (их равенства только нулю или единице) не требуется. Такие значения получаются при решении автоматически. При этом, разумеется, «транспортные» алгоритмы решения гораздо более эффективны, чем алгоритмы решения задач целочисленного линейной оптимизации.

Задача о назначениях так же может быть несбалансированной, если количество рабочих (претендентов на работы) не равно количеству работ. Так же, как и в случае транспортной задачи, это осложнение разрешается добавлением дополнительного столбца и строки (фиктивной работы, если претендентов больше, чем работ, или фиктивного рабочего, если наоборот).

Подробнее о задаче о назначениях читайте в учебных пособиях [1,2,7-11].

Задачи оптимизации логистики и цепочек поставок.

Задачи, возникающие в деятельности отдела логистики часто гораздо сложнее и разнообразнее, чем простая транспортная задача, хотя последняя очень часто может входить в них как составная часть. Всякий раз, когда это возможно, нужно стремиться использовать правила решения транспортной задачи, описанные выше. Даже если решаемая задача «не вполне транспортная», практика показывает, что выполнение этих прпавил способствует повышению эффективности решения. Однако нужно иметь в виду, что любое дополнительное ограничение сверх описанных выше ограничений транспортной задачи, заставляет Поиск решения отказаться от специфических «транспортных» алгоритмов и решать задачу общим Симлекс-методом. Это, в свою очередь, означает, что переменные решения (объемы перевозок) могут оказаться нецелыми, а их количество будет превышать число поставщиков плюс число потребителей минус 1. В этом случае, неизбежно введение требования целочисленности переменных решения, что сильно усложняет задачи логистики.

Нередко, алгоритмы решения логистических задач, вообще не имеют ничего общего с транспортной задачей. Например, популярная практическая задача о выборе оптимального маршрута объезда нескольких клиентов, как будет

показано ниже, сводится к весьма сложной задаче целочисленной линейной оптимизации.

Аналогично, задачи о выборе оптимального поставщика или задачи о назначениях с дополнительными условиями потребуют явного введения условия целочисленности.