Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Начала инженерного творчества

..pdf
Скачиваний:
2
Добавлен:
12.11.2023
Размер:
1.44 Mб
Скачать

 

 

 

Таблица 15

 

 

 

 

Стул

Расход досок, м

Расход ткани, м2

Расход времени, чел.-ч

Первый

2

0.5

2

Второй

4

0.25

2.5

Ресурс

490

65

320

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

Рис. 20. Пример решения задачи ЛП в MathCAD

Примечание: количество стульев должно быть целым.

91

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

2.2.5.1.Постановка транспортной задачи на примере

Некоторая компания имеет 4 завода, расположенных в разных пунктах (обозначим их А, В, С, D). Необходимое сырье для выпуска продукции компания содержит на 3 разных складах (обозначим их 1, 2, 3). Известно, какое количество сырья требуется каждому заводу, например, в течение месяца: заводу А необходимо 400 т, В – 900 т, С – 200 т, D – 500 т. Всего нужно 2000 т. Также известно, что на первом складе находится 500 т сырья, на втором – 700 т, на третьем – 800 т, т.е. общее количество – 2000 т. И, наконец, существует информация о стоимости перевозки 1т сырья с любого склада на любой завод. Эти данные наглядно можно изобразить в виде матрицы затрат (табл. 16).

 

 

 

 

Таблица 16

 

 

 

 

 

 

Склады

 

Заводы

 

 

 

A

B

C

 

D

 

 

I

12

13

4

 

6

II

6

4

10

 

11

III

10

9

12

 

4

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

92

Цель решения задачи: осуществление всех перевозок

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

Сформулируем данную проблему на языке математики. Рассматриваемая реальная ситуация очень напоминает конкретные ситуации, которые сводились к задачам ЛП.

Прежде всего нужно ввести переменные задачи. Обозна-

чим через хij – количество сырья, которое перевозится из i-го склада на j-й завод. В нашем случае i = 1, 2, 3; j = А, В, С,

D. Так, например, x2B – это количество тонн сырья, перевозимое со второго склада на завод В.

Подсчитаем стоимость перевозки всего сырья, например,

спервого склада: 12x1A +13x1B + 4x1C + 6x1D .

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

Z = 12x1A +13x1B + 4x1C + 6x1D +

 

+ 6x2 A + 4x2B +10x2C +11x2D +

(2.45)

+10x3A + 9x3B .

 

Функция Z есть не что иное, как целевая функция, которую нужно минимизировать, и она линейная.

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

x1A x2 A x3A

+x1B

+x2B

+x3B

+x1C

+x2C

+x3C

+x1D

+x2D

+x3D

= 500, = 700, (2.46) = 800.

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

93

x1A x1B x1C x1D

+x2 A

+x2B

+x2C

+x2D

+x3A

+x3B

+x3C

+x3D

= 400,

 

= 900,

(2.47)

= 200,

 

= 500.

 

Имеется 3 + 4 = 7 ограничений и 3 · 4 = 12 переменных. Необходимо также учесть тот факт, что все хij не могут быть отрицательными. Таким образом, исходная проблема может быть сформулирована в форме задачи линейного программирования:

Найти такие неотрицательные значения переменных хij, которые минимизировали бы функцию (2.45) и удовлетворяли бы ограничениям (2.46) и (2.47).

Данная задача носит название транспортной задачи.

2.2.5.2.Общая постановка транспортной задачи

Вобщем виде транспортную задачу можно сформулировать в следующем виде:

Имеется m поставщиков и n потребителей. Каждый по-

ставщик содержит товар в количестве ai (i = 1, 2, ..., m). Каждому потребителю необходимо bj (j = 1, 2, ..., n) товара. Известна стоимость Сij перевозки единицы товара от i-го поставщика к j-му потребителю. Необходимо составить такой план перевозок, при котором суммарная стоимость была бы наименьшей.

Если хij – количество товара, перевезенного от i-гo поставщика к j-му потребителю, то математическая формулировка выглядит так:

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

m n

 

min Z = ∑∑Cij Xij .

(2.48)

i=1 j=1

 

Наличие товара у поставщиков

94

n

 

 

Xij = ai ,

(i = 1, 2, …, m).

(2.49)

j=1

 

 

Потребность потребителей

 

т

 

 

Xij =bj ,

(j = 1, 2, …, n).

(2.50)

i=1

 

 

Условие неотрицательности результата

 

xij 0, (i = 1, 2, …, m; j = 1, 2, …, n).

(2.51)

Задача (2.48)–(2.51) является задачей ЛП, в которой m×n переменных и m+n ограничений записаны в виде равенств.

Если общее количество товара у всех поставщиков равно общему количеству товара, требуемого потребителями, т.е.

m

n

 

a = b,

(2.52)

i=1

j=1

 

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

В общем виде транспортная задача представлена в табл. 17.

Таблица 17

Поставщики

 

Потребители

 

 

Запас

1

2

j

n

 

 

 

 

 

 

 

 

1

С11

С12

.

С1j

.

С1n

a1

2

С21

С22

.

С2j

.

С2n

a2

 

:

.

.

 

.

.

.

 

 

 

 

 

 

 

 

i

Сi1

Сi2

.

Сij

.

Сin

ai

 

 

 

 

 

 

 

 

m

Сm1

Сm2

.

Сmj

….

Сmn

am

потребность

b1

b2

bj

 

bn

 

95

В каждую клетку в записывают соответствующее значе-

ние Сij.

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

Тот факт, что в транспортной задаче одно из уравнений является лишним, следует из равенства запасов и потребностей. Таким образом, число линейно-независимых уравнений, составляющих ограничения в транспортной задаче, равно m + n – 1.

Можно найти решение транспортной задачи с помощью известных методов решения задач ЛП (например, симплекс-мето- да). Далее будут рассмотрены упрощенные способы решения.

Построение первоначального опорного плана транспорт-

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

2.2.5.3. Решение транспортной задачи методом «северо-западного угла»

Рассмотрим задачу (2.45)(2.47) и представим ее в виде табл. 18.

Название данного метода свидетельствует о том, что старт решения осуществляется с клетки, расположенной в верхнем левом углу, и движение происходит по направлению «юговосток». Диагональ и направление решения определяются произвольно, и в этом методе результат определяется стохастически (случайно).

96

 

 

 

 

 

Таблица 18

 

 

 

 

 

 

Поставщики

 

Потребители

 

Запас

A

B

C

D

 

 

 

 

 

 

 

 

1

12

13

4

6

500

400

100

 

 

 

 

 

 

2

6

4

10

11

700

 

700

 

 

 

 

 

 

 

 

 

 

 

 

 

3

10

9

12

4

800

 

100

200

500

 

 

 

 

 

 

 

 

 

Потребность

400

900

200

500

∑ = 2000

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

Рассмотрим клетку 1А и занесем туда максимально возможное количество груза. Это количество определяется величинами запаса на складе 1 и потребностями завода А. Очевидно, что это количество определяется наименьшим числом и будет равно 400. Тогда все потребности завода А удовлетворены, но на складе 1 осталось 500 – 400 = 100 т. Переходим к ближайшей незанятой клетке. Это не может быть клетка 2А, так как потребности потребителя А уже удовлетворены, в то время как на складе 1 запасы еще есть. Второй вариант – клетка 1В, и она загружается максимально возможным количеством, которое равно 100 (такой запас остался на складе 1). Таким образом, запасы на складе 1 исчерпаны, но заводу В еще необходимо 900 – 100 = 800 т. Снова от клетки 1В переходим к ближайшей клетке 2 В. Максимально возможно ее загрузить количеством 700, так как это запас на складе 2. Потребности завода В опять не удовлетворены, так как 800 – 700 = 100 т. Снова переходим к следующей клетке ЗВ. Туда заносится величина 100

97

для того, чтобы удовлетворить потребности завода В. На складе З осталось еще 800 – 100 = 700 т. Снова переходим на соседнюю клетку (ЗС) и заносим туда 200 (потребности завода С). Наконец, в клетку 3D заносим 500. В результате все потребности удовлетворены, а запасы исчерпаны.

Подсчитаем количество занятых клеток. Их шесть. Число линейно-независимых уравнений системы тоже шесть. Согласно терминологии «северо-западного угла» получается первоначальный опорный план, в котором шесть переменных являются базисными, остальные шесть, равные нулю, – небазисные. Согласно этому решению

x1A = 400; x1B = 100; x2B = 700; x3B = 100; x3C = 200; x4D = 500.

Остальные x = 0. Можно подсчитать общую стоимость перевозок при данном плане:

Z = 12(400) +13(100) + 4(700) + 9(100) +12(200) + 4(500) = 14 200.

Конечно, трудно назвать найденный план оптимальным. Достоинством метода «северо-западного угла» (пожалуй, единственным) является его простота.

Перечислим этапы метода «северо-западного угла»:

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

ипервой колонки. Помещаемое количество груза равно меньшему значению спроса или запаса.

2.В зависимости от того, что использовано полностью (спрос или запас), переходим к соседней клетке. Это будет клетка, находящаяся в первом ряду и во втором столбце (если удовлетворен спрос), или клетка во втором ряду и первом столбце (если использован запас).

3.Так же, как и в пункте 1, максимально заполняем следующую клетку.

98

4. Делаем аналогичные операции, как и в пунктах 2 и 3. Процесс продолжаем до тех пор, пока все потребности полностью не удовлетворены и не исчерпаны все запасы.

Задание

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

2.Повторно решите задачу, транспонировав матрицу исходных данных.

2.2.5.4. Решение транспортной задачи методом Фогеля

Метод, предложенный американским ученым У. Фогелем, является более сложным, но в то же время первоначальный опорный план этого метода наиболее близок к оптимальному. Идея метода основана на так называемом понятии штрафных затрат.

Выясним, что это такое. Решим повторно задачу (2.45)(2.47), причём таблица несколько изменится (табл. 19).

Таблица 19

По-

 

Потребители

 

 

Запас

Штраф

ставщи-

 

 

 

 

 

А

В

С

D

 

ки

 

 

 

 

 

 

 

 

 

 

1

12

13

4

6

 

500

2 = 6 – 4

 

 

 

 

 

 

 

2

6

4

10

11

700

2 = 6 – 4

 

 

 

 

 

 

 

 

3

10

9

12

4

 

800

5 = 9 – 4

 

 

 

 

 

 

 

Спрос

400

900

200

500

∑=2000

 

Штраф

4 = 10 – 6

5 = 9 – 4

6 = 10 – 4

2 = 6

– 4

 

 

Рассмотрим первую строку.

Наименьшая цена доставки со склада 1 – это до завода С и цена равна 4. Следующая наименьшая цена – до завода D, она равна 6. Поэтому, если не перевозить продукцию со склада

99

1 до завода С, то появятся дополнительные издержки, которые будут не меньше чем 6 – 4 = 2. Это и будут штрафные затраты, которые записываются в дополнительный столбец таблицы. Аналогично определяются величины штрафных затрат всех остальных рядов, а также всех колонок. Как видно из таблицы, наибольшая величина штрафа соответствует колонке С. Эта колонка является «критичной», так как именно в этом случае возникнут наибольшие потери, если не будет использоваться клетка с наименьшей стоимостью. В этой колонке выбирается клетка с наименьшей ценой – клетка 1С и заполняется максимально возможным грузом. Возможно поместить только 200 т груза, в результате потребности завода С будут удовлетворены, но на складе 1 останется 500 – 200 = 300 т груза. В дальнейшем колонка С не рассматривается.

Строится следующая таблица (табл. 20), причём строки и столбцы запаса и спроса корректируются.

Снова находится строка или столбец (без столбца С), где штраф наибольший. Это 1 строка. В ней находится клетка с наименьшей ценой клетка 1D и заполняется максимально возможным количеством продукции. Из таблицы ясно, что в клетку помещается 300 т, т.к. такое количество продукции осталось на складе 1. В результате запас склада 1 будет исчерпан, но заводу D необходимо еще 500 300 = 200 т. На следующих этапах строка 1 и столбец С уже не будут учитываться

(табл. 21).

Таблица 20

Поставщики

 

Потребители

 

Запас

Штраф

А

B

C

D

1

12

13

4

6

500 – 20 = 300

6

 

 

 

 

 

 

 

2

6

4

10

11

700

2

 

 

 

 

 

 

 

3

10

9

12

4

800

5

 

 

 

 

 

 

 

Спрос

400

900

0

500

∑ = 2000

 

Штраф

4

5

0

2

 

 

100

Соседние файлы в папке книги