Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мои лекции ИВТ на АТ(для Раи).doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.84 Mб
Скачать

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

Так называемая задача о назначениях ( их можно отнести к задачам о выполнении заказа). Т.е. задача о назначениях может быть отнесена к задачам о распределении заказ.(является частным случаем)

Пример

Четверо рабочих могут выполнить четыре вида работ. Стоимость выполнения i-м рабочим j-ой работы приведена в таблице.

Виды работ

1

2

3

4

Рабочие

1

1

4

6

3

2

9

10

7

9

3

4

5

11

7

4

8

7

8

5

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

Отметим, что данная задача является сбалансированной, т.е. число рабочих совпадает с числом выполняемых работ. Если задача не сбалансирована, то перед началом решения ее необходимо сбалансировать, введя недостающее число рабочих (работ) с достаточно большими штрафными стоимостями работ (на порядок выше сомой большой стоимости работ)

Составим математическую модель решения данной задачи. Пусть переменная , если i-м рабочим выполняется j-ая работа, и , если i-м рабочим не выполняется j-ая работа. Тогда математическая модель будет выглядеть следующим образом:

Целевая функция

При ограничениях

Решение сбалансированной модели в Excel представлено ниже

2.4.4Транспортная задача.(Постановка задачи. Закрытая модель. Открытая модель. )

  1. А.В. Кузнецов, в.А.Сакович, н.И. Холод. Высшая математика. Математическое программирование., Минск, «Вышэйшая школа», 1994г.286 с., ил

При формировании плана автомобильных перевозок для предприятия автосервиса или группы предприятий на достаточно продолжительный период времени очень важно, чтобы его параметры были близки к оптимальному. Другими словами, выполнение плана перевозок должно осуществляться с минимумом затрат на их осуществление или (что практически одно и то же) с минимальным общим пробегом или транспортной работой. В качестве исходных данных для составления плана используется перечень поставщиков перевозимых продуктов, располагающих определенными запасами; перечень потребителей, требующих так же своего определенного количество продуктов и стоимость перемещения единицы продукта (или расстояние между поставщиками и потребителями). Реальный план перевозок включает большую номенклатуру поставщиков и потребителей, а, соответственно, и большое количество связывающих их маршрутов. На АТП эксплуатируется, как правило, разномарочный подвижной состав, который и будет выполнять эти перевозки, а, следовательно, затраты на перемещение единицы продукта будут разными (затраты на перевозку единицы продукта автомобилем малой или большой грузоподъемности могут отличаться в разы). Точно спрогнозировать каким автомобилем будет осуществлена перевозка заранее тоже достаточно сложно. Существуют и другие факторы, оказывающие влияние на эффективность выполнения плана перевозок: изменение природно-климатических и сезонных условий, дорожная обстановка на маршрутах, большая номенклатура перевозимых грузов, необходимость использования специального подвижного состава, наличие и эффективность работы погрузочно-разгрузочных устройств в пунктах погрузки и выгрузки, объемы минимальных партий перевозок и т.д. В результате, решить корректно поставленную задачу разработки оптимального плана перевозок с использованием аналитических методов расчета не представляется возможным, поскольку таких методов в настоящее время не существует. Поэтому для получения хотя бы приемлемого плана перевозок необходимо упростить поставленную задачу, чтобы можно было применить для ее решения известные математические схемы. В качестве принимаемых допущений используют следующие: перемещается однородный продукт, требующий одного и того же подвижного состава; затраты на перемещение единицы продукта постоянны и не зависят ни от каких реально действующих факторов.

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

Математически транспортная задача линейного программирования по критерию стоимости в общем виде формулируются следующим образом.

В m пунктах отправления А1, …, Аm сосредоточен груз в количествах соответственно а1,…, аm единиц. Имеющийся груз необходимо доставить потребителям В1,…, Вn, спрос которых выражается величинами b1,…, bn единиц. Известна стоимость сij перевозки единицы груза из i-го (i=1…m) пункта отправления в j-ый (j=1…n) пункт назначения. Требуется составить план перевозок, который полностью удовлетворяет спрос потребителей в грузе, и при этом суммарные транспортные издержки минимизируются.

Для построения математической модели транспортной задачи рассмотрим матрицу

(29)

Здесь хij (i=1…m, j=1…n) обозначает количество единиц груза, которые необходимо доставить из i-го пункта отправления в j-ый пункт назначения.

Матрица Х=( хij)m*n называется матрицей перевозок. Предполагается, что все хij≥0. Удельные транспортные издержки записываются в форме матрицы С=( сij)m*n.

Для наглядности условия транспортная задача представляется в виде таблицы, которая называется распределительной.

Таблица 1  Распределительная таблица

Поставщики

Потребители

Запасы

В1

В2

Вт

А1

с11

x11

с12

x12

с1n

x1n

a1

А2

с21

x21

с22

x22

с2n

x2n

a2

Аm

сm1

xm1

сm2

xm2

сmn

xmn

am

Потребность

b1

b2

bn

Математическая модель транспортной задачи должна отражать все условия и цель задачи в математической форме. Так, переменные хij (i=1…m, j=1…n) должны удовлетворять ограничениям по запасам, потребностям и условиям неотрицательности. В математической форме эти условия можно записать так:

(30)

(31)

Цель транспортной задачи минимизировать общие затраты на реализацию плана перевозок, которые можно представить в виде функции

(32)

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

План перевозок Х=( хij)m*n называется допустимым, если он удовлетворяет ограничениям (30) и (31).

Допустимый план перевозок, доставляющий минимум целевой функции (32), называется оптимальным.

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

(33)

Если для транспортной задачи выполняется одно из условий

, (34)

то модель называется открытой.

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

Так при выполнении первого условия необходимо ввести (n+1)- й пункт назначения Вn+1, т.е. в матрице задачи предусматривается дополнительный столбец. Спрос фиктивного потребителя полагают равным небалансу, т.е. , а все тарифы - одинаковыми, чаще всего равными нулю, т.е. сi,n+1=0 (i=1…m).

Аналогично при выполнении второго условия вводится фиктивный поставщик Аm+1 запас груза у которого равен , а тарифы дополнительной строки распределительной таблицы равны нулю, т.е. сm+1,j=0 (j=1…n).

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

Известны следующие методы решения задач линейного программирования: метод северо-западного угла, правило минимального элемента, метод Фогеля, метод потенциалов, симплексный, распределительный, методы разрешающих множителей и слагаемых и др.

Первые из перечисленных методов являются достаточно простыми и применяются в основном для решения относительно простых задач или построения опорного плана, который далее необходимо улучшать. Универсальным методом, пригодным для решения разных типов задач, является симплексный метод. Однако он громоздкий и, как правило, требует применения ЭВМ.

Коротко рассмотрим некоторые из перечисленных методов, получившие распространение в практике работы автотранспортных предприятий.

Построение опорного плана.

Построение опорных планов, а также преобразование их будет производиться в распределительной таблице (табл.1).

Если в плане перевозок переменная хik равна некоторому числу a0, то это число записываем в соответствующую клетку (i; k) и считаем ее занятой или базисной, если же хik = 0, то клетку (i; k) оставляем свободной. При этом число занятых опорным планом клеток должно быть равно m+n+1, а остальные m*n-(m+n-1) = (m-1)(n-1) клеток будут свободными.

Рассмотрим правило «северо-западного угла». Сущность его состоит в следующем. Пользуясь табл. 1, будем распределять груз, начиная с загрузки левой верхней, условно называемой северо-западной, клетки (1; 1), двигаясь затем от нее по строке вправо или по столбцу вниз. В клетку (1; 1) занесем меньшее из чисел a1, b1, т. е. х11 = min (a1, b1). Если a1 >b1то х11= b1 и первый потребитель B1 будет полностью удовлетворен. В дальнейшем 1-й столбец таблицы в расчет не принимается; в нем переменные хi1= 0 для i = 2…m.

Двигаясь вправо по первой строке таблицы, заносим в соседнюю клетку (1; 2) меньшее из чисел (a1 - b1)и b2, т. е. х12 = min (a1 - b1, b2). Если (a1 - b1)< b2, то запасы первого поставщика исчерпаны и первая строка таблицы в дальнейшем в расчет не принимается. Переходим к аналогичному распределению запаса груза второго поставщика.

Если b1> a1, то х11=min (a1, b1)= a1. При этом запас первого поставщика будет исчерпан, а потому хik=0 для k = 2, n. Первая строка из дальнейшего рассмотрения исключается. Переходим к распределению запасов второго поставщика. В клетку (2; 1) заносим наименьшее из чисел (а2, b1—a1).

Заполнив таким образом клетку (1; 2) или (2; 1), переходим к загрузке следующей клетки по второй строке либо по второму столбцу. Процесс распределения по второй, третьей и последующим строкам (столбцам) производится аналогично распределению по первой строке или первому столбцу до тех пор, пока не исчерпаются ресурсы. Последней заполняется клетка (m,n).

Проиллюстрируем правило «северо-западного угла» на примере.

Пример. Составить план перевозок изделий из районов А1, А2, А3 и А4, в которых запасы составляют соответственно 800, 700, 1000 и 500 единиц, трем потребителям В1, В2 и В3 с потребностями 1000, 1100 и 900 единиц. Затраты на перевозку одного изделия от поставщика к потребителю приведены в табл. 2

Таблица 2 – Затраты на перевозку одного изделия от поставщика к потребителю

Поставщики

Потребители

Запас

В1

В2

В3

Затраты на перевозку одного изделия

А1

3

5

6

800

А2

7

2

4

700

А3

4

3

5

1000

А4

6

4

7

500

Потребность

1000

1100

900

Решение. Установим характер задачи. Сравнивая

и ,

заключаем, что данная транспортная задача обладает закрытой моделью.

В клетку (1; 1) табл. 3 помещаем х11=min (800, 1000) =800. Весь запас изделий А1 отгружен потребителю В1. Недостающее изделия потребителю В1 поставляется от поставщика А2: в клетку (2; 1) помещаем х21=min (700, 1000 —800) =200 единиц изделий. В этом случае потребитель В1 будет полностью удовлетворен.

Остаток изделий поставщика А2 отправляем потребителю В2: в клетку (2; 2) помещаем х22 = min (700-200, 1100) =500 изделий. Запас изделий поставщика А2 исчерпан, и переходим к перевозке изделий поставщика Аз. В клетку (3; 2) помещаем х32=min (1000, 1100 - 500) =600 изделий. Потребность потребителя В2 полностью использована. Поставку изделий производим потребителю В3. В клетку (3; 3) помещаем х33 = min (900, 1000 - 600) =400 изделий. Отгрузка изделий от поставщика А3 полностью произведена. Производим отгрузку изделий от поставщика А4. В клетку (4; 3) помещаем х43 = min (500, 900 - 400) =500 изделий. В результате полной отгрузки изделий потребителям получили план перевозок (табл. 3)

Суммарные расходы на перевозку изделий составят

Z(X1) = = 3*800 + 7*200 + 2*500 + 3*600 + 5*400 + 7*500=12 100 (у.е).

Таблица 3 - План перевозок в соответствии с решением по правилу «северо-западного угла»

В1

В2

В3

аi

A1

3

5

6

800

800

A2

7

2

4

700 A1

200

500

A3

4

3

5

1000

600

400

A4

6

4

7

500

500

bj

1000

1100

900

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

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

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

Просматривая табл. 2, замечаем, что наименьшие затраты на перевозку изделий соответствуют маршруту А2— В2, поэтому в клетку (2; 2) таблицы 4 помещаем x22 = min (700, 1100) =700 изделий. В этом случае вторая строка таблицы в дальнейшем в расчет не принимается, так как запас изделий в районе А2 полностью доставлен потребителю В2.

Просматриваем оставшиеся клетки таблицы. Наименьшие тарифы имеют клетки (1; 1), (3; 2): с11 = с32 = 3. В клетку (1; 1) помещаем х11= min (800, 1000) =800 изделий, а в клетку (3; 2) — х32 = min (1000, 1100 —700) =400 единиц.

Далее по величине тарифа следует загружать клетки (3; 1), (4; 2), (2; 3), так как с31 = с42 = с23 = 4. Однако в результате загрузки клеток (1; 1), (2; 2), (3; 2) запас изделий у поставщиков A1 и А2 и частично у поставщика Аз исчерпан. Потребности потребителя В2 полностью удовлетворены, а потребности потребителя В1 удовлетворена на 800 единиц. Поэтому помещаем необходимое количество изделий в клетку (3; 1): х31 = min (1000 — 400, 1000 — 800) =min (600, 200) =200 единиц. После этого потребность потребителя B1 полностью удовлетворена. Остался потребитель В3, который может принять изделия от поставщиков А3 и А4. У поставщика А3 остался запас изделий х33=1000 — 400 — 200 = 400 изделий, а у поставщика А4 — а4 = 500 единиц. В клетки (3; 3); (4; 3) помещаем необходимые количества изделий: х33 = 400 единиц, х43 = 500 единиц.

В результате полного распределения изделий получаем план

,

для которого значение целевой функции

Z(Х2) = = 3*800 + 2*700+4*200 + 3*400 + 5*400 + 7*500 = 11 300 у.е.

Таблица 4 - План перевозок в соответствии с решением по правилу «минимального элемента»

В1

В2

В3

аi

A1

3

5

6

800

800

A2

7

2

4

700

700

A3

4

3

5

1000

200

400

400

A4

6

4

7

500

500

bj

1000

1100

900

Сравнивая значения целевых функций для планов Х1 и Х2, полученных по правилам «северо-западного угла» и «минимального элемента», замечаем, что транспортные расходы по плану Х2 на перевозку изделий от поставщика потребителям меньше на 800 у.е.

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

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

Если полностью исчерпан ресурс какого-нибудь поставщика, то вычеркивается его строка. Если же окажется, что спрос потребителя полностью удовлетворен, то данный столбец вычеркивается. Операция повторяется до тех пор, пока не будет составлен допустимый план распределения грузов. Для тех же исходных данных (табл. 2) распределение поставок грузов по методу Фогеля представлено в таблице 5.

Видно, что для исходной таблицы наибольшая разность обнаружена в строках А1, А2, А4 (табл.5), поэтому записываем максимально возможную загрузку в ячейку А2В2, так как в ней содержится минимальный тариф. Эта максимальная загрузка составляет 700 единиц, а запас А2-го поставщика составляет тоже 700 единиц, то есть полностью исчерпан запас поставщика А2. Следовательно, можно исключить А2-ю строку.

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

Таблица 5 - План перевозок в соответствии с решением методом Фогеля

В1

В2

В3

аi

Разности по строке

A1

3

5

6

800

2

8002

A2

7

2

4

700

2

7001

A3

4

3

5

1000

1

2004

8005

A4

6

4

8

500

2

4003

1006

bj

1000

1100

900

Разности по столбцу

1

1

1

Для вновь полученной таблицы снова находим наибольшую разность по столбцам и строкам, которая равна 2, которая обнаружена в стоке А4 . Записываем максимально возможную загрузку в ячейку А4В2, так как в ней содержится минимальный тариф. Эта максимальная загрузка составляет 400 единиц, так как запас А4-го поставщика составляет 500 единиц, а потребителю необходимо 1100-700 единиц изделий. У поставщика А4 осталось 100 единиц груза. Так как потребности В2 полностью удовлетворены исключаем из рассмотрения столбец В2.

В полученной таблице наибольшая разность равна 1 и находится в столбцах В1 и В3 а минимальный тариф находится в ячейке А3 В1. Заносим сюда загрузку, которая будет равна 200 единицам, так как потребности потребителя В1 в грузе составляют 1000-800=200 единиц.

Затем в ячейку А3 В3 заносим поставку 800 единиц изделий, так как запасы поставщика равны 1000-200=800.

Далее в ячейку А4 В3 недостающие потребителю В3 100 единиц груза, которые имеются у поставщика А4.

Для большей наглядности в таблице 5 поставки хij снабжены индексами, указывающими последовательность загрузки клеток таблицы.

Рассмотрим пример.

Предположим, что фирма имеет 4 фабрики и 5 центров распределения ее товаров. Фабрики фирмы располагаются в Минске, Борисове, Смоленске и Жодино с производственными возможностями 200, 150, 225 и 175 единиц продукции ежедневно, соответственно. Центры распределения товаров фирмы располагаются в Могилеве, Гомеле, Пружанах, Витебске и Солигорске с потребностями в 100, 200, 100, 250 и 150 единиц продукции ежедневно, соответственно. Хранение на фабрике единицы продукции, не поставленной в центр распределения, обходится в $0,75 в день, а штраф за просроченную поставку единицы продукции, заказанной потребителем в центре распределения, но там не находящейся, равен $2,5 в день. Стоимость перевозки единицы продукции с фабрик в пункты распределения приведена в табл. 1.

Таблица 1. Транспортные расходы

Могилев

Гомель

Пружаны

Витебск

Солигорск

Минск

1,5

2

1,75

2,25

2,25

Борисов

2,5

2

1,75

1

1,5

Смоленск

2

1,5

1,5

1,75

1,75

Жодино

2

0,5

1,75

1,75

1,75

Необходимо так спланировать перевозки, чтобы минимизировать суммарные транспортные расходы.

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