Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
49
Добавлен:
30.03.2015
Размер:
287.85 Кб
Скачать

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

соответствующем c0, нужно ведущий столбец умножить на (¡18) è

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

 

 

 

 

#

 

 

 

 

 

x1

x2

x3

x5

 

f

¡90

12

3

16

5

 

x1

0

¡1

0

0

0

 

x2

0

0

¡1

0

0

 

x3

0

0

0

¡1

0

 

x4

18

¡2

1

¡3

¡1

!

x5

0

0

0

0

¡1

x6

¡84

3

¡7¤

7

3

 

x7

12

¡5

0

¡10

¡2

Текущее решение x1 = (0; 0; 0; 18; 0; ¡84; 12), f(x1) = ¡90.

Начинаем вторую итерацию. Условия оптимальности и неразрешимости не выполняются, поэтому опять выбираем ведущую строку. Здесь она единственная. Это строка, соответствующая переменной x6. В ведущей строке один отрицательный элемент кроме

( 84): ( 7). Следовательно, он будет ведущим, а ведущим столбцом является столбец с номером 2. Переменная x2 становится базисной, а

x6 небазисной. После пересчета получаем следующую симплексную таблицу:

 

 

 

x1

x6

x3

x5

f

¡126

3

 

3

19

44

7

 

7

7

x

 

 

1

 

0

 

0

 

0

 

1

0

¡3

¡

1

¡1 ¡

3

x2

12

¡7

7

7

x

3

0

0

 

0

¡

1

 

0

 

11

 

1

 

¡

4

x4

6

¡ 7

 

7

¡2

7

x5

0

0

 

0

 

0

¡1

x6

0

0

¡1

 

0

 

0

x7

12

¡5

 

0

¡10

¡2

21

Текущее решение x2 = (0; 12; 0; 6; 0; 0; 12), f(x2) = ¡126. Поскольку

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

x¤ = (0; 12; 0; 6), f¤ = ¡126:

2.4.Задания для самостоятельной работы

1.Составить двойственные задачи к следующим задачам ЛП:

à)

f(x) = x1 + 4x2 ! max

3x1 ¡ 8x2 ¸ 1; x1 + 2x2 = 7; x1 ¸ 0:

á)

â)

ã)

f(x) = x1 ¡ 9x2 ! min

4x1 + 7x3 = 15; ¡x1 + 2x2 + 8x3 · 20;

x1; x2 ¸ 0:

f(x) = 2x1 ¡ 4x2 + 7x3 ! max

5x1 + 9x2 ¡ x3 · 15; x1 ¡ 2x2 + x3 ¸ 2; x2 ¸ 0:

f(x) = 3x1 + x2 + x3 ! min x1 ¡ 2x2 ¡ 4x3 · 10;

2x1 + x3 · 8; x1 + x2 ¡ 7x3 ¸ 1; x1; x3 ¸ 0:

22

ä)

f(x) = x1 + 7x2 ! max

9x1 ¡ x2 + 2x3 = 15; x1 + x2 + 3x3 ¸ 1; x3 ¸ 0:

2.Для задач ЛП из п. 1.4 составить двойственные задачи. Используя УДН, найти оптимальные решения двойственных задач.

3.Решить задачи ЛП двойственным симплекс-методом:

à)

f(x) = x1 + 2x2 + x3 + 3x4 ! min 2x1 ¡ 7x2 ¡ x3 + x4 ¸ 1;

3x1 + x2 + x3 ¡ 5x4 ¸ 7; ¡x1 + 2x2 + 3x3 ¡ 5x4 ¸ 4;

x1; x2; x3; x4 ¸ 0:

á)

f(x) = 3x2 + 8x3 ! min

5x1 + x2 + 7x3 + 3x4 ¸ 15; 2x1 + 2x2 + x4 ¸ 10; x1 ¡ 3x2 + 3x3 + 2x4 ¸ 6; x1; x2; x3; x4 ¸ 0:

â)

f(x) = x1 + 2x2 + 6x3 ! min x1 ¡ 8x2 ¡ 2x3 ¡ x4 ¸ 2;

3x1 + x2 + 4x3 + x4 ¸ 10; x1 ¡ 7x3 + 4x4 ¸ 8; x1; x2; x3; x4 ¸ 0:

23

ã)

ä)

f(x) = x3 + 2x4 ! min

¡x1 ¡ x2

+ 2x4 ¸ 3;

4x1 + 2x2 + x3 + 2x4 ¸ 10; 3x1 ¡ 8x2 ¡ 2x3 + x4 ¸ 5; x1; x2; x3; x4 ¸ 0:

f(x) = x1 + x2 + x3 + x4 ! min x1 ¡ x2 + x3 ¡ x4 ¸ 3;

2x1 + 4x2 ¡ 2x3 ¡ x4 ¸ 10; x1 + 2x2 + 2x3 ¡ 3x4 ¸ 9; x1; x2; x3; x4 ¸ 0:

24

3. ТРАНСПОРТНАЯ ЗАДАЧА

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

3.1. Нахождение начального опорного плана перевозок

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

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

Пример 3.1. Найти опорный план транспортной задачи методом северо-западного угла. (Здесь A1; A2; A3 поставщики, а B1; B2; B3; B4

потребители.)

 

B1

B2

B3

B4

 

A1

5

3

1

3

120

A2

2

4

2

3

50

 

 

 

 

A3

7

6

2

4

130

 

60

100

80

60

 

 

 

 

 

 

 

 

Òàê

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

4

bj =

3

ai; то задача разрешима и можно сразу применять указанный

=1

 

i=1

 

jP

 

P

 

метод, не вводя фиктивного потребителя.

Рассмотрим северо-западный угол таблицы (плана перевозок), т.е. клетку, соответствующую перевозке продукции от первого поставщика к первому потребителю. Положим

25

x11 = minfa1; b1g = minf120; 60g = 60.

Таким образом, спрос первого потребителя полностью удовлетворен, следовательно, его можно исключить из рассмотрения (b11 = 0) è

положить x21 = x31 = 0. Остаток продукта в первом пункте производства

равен a11 = a1 ¡ b1 = 120 ¡ 60 = 60.

Теперь рассматриваем северо-западный угол оставшейся таблицы. Положим x12 = minfa11; b2g = minf60; 100g = 60. Следовательно, первый

поставщик вывез весь продукт, его запас равен нулю a21 = 0, поэтому x13 = x14 = 0. При этом неудовлетворенный спрос второго потребителя

равен b12 = b2 ¡ a11 = 100 ¡ 60 = 40.

Аналогично получаем

x22 = minfa2; b12g = minf50; 40g = 40,

b22 = 0; x32 = 0, a12 = a2 ¡ b12 = 50 ¡ 40 = 10;

x23 = minfa12; b3g = minf10; 80g = 10,

a22 = 0; x24 = 0, b13 = b3 ¡ a12 = 80 ¡ 10 = 70;

x33 = minfa3; b13g = minf130; 70g = 70, b23 = 0; a13 = a3 ¡ b13 = 130 ¡ 70 = 60;

x34 = minfa13; b4g = minf60; 60g = 60; a23 = 0; b14 = 0.

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

 

B1

B2

B3

B4

 

 

ait

 

A1

60

60

 

 

 

120

60

0

A2

 

40

10

 

 

50

10

0

A3

 

 

70

60

 

130

60

0

 

 

 

 

 

 

 

 

 

bjs

60

100

80

60

 

 

 

 

0

40

70

0

 

 

 

 

 

0

0

0

0

 

 

 

 

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

f(x0) = 60 ¢ 5 + 60 ¢ 3 + 40 ¢ 4 + 10 ¢ 2 + 70 ¢ 2 + 60 ¢ 4 = 1040.

Пример 3.2. Найти опорный план транспортной задачи из предыдущего примера методом минимальной стоимости.

26

Найдем в транспортной таблице клетки с минимальной стоимостью перевозки единицы продукции. Это клетка, соответствующая перевозке x13. Положим

x13 = minfa1; b3g = minf120; 80g = 80.

Таким образом, спрос третьего потребителя полностью удовлетворен, следовательно, его можно исключить из рассмотрения (b13 = 0) è

положить x23 = x33 = 0. Остаток продукта в первом пункте производства

равен a11 = a1 ¡ b3 = 120 ¡ 80 = 40.

В оставшейся таблице опять находим клетку с минимальной стоимостью перевозки единицы продукции. Это клетка x21. Положим

x21 = minfa2; b1g = minf50; 60g = 60. Следовательно, второй поставщик

полностью вывез свой продукт, поэтому a12 = 0 è x22 = x23 = x24 = 0. При этом неудовлетворенный спрос первого потребителя равен

b11 = b1 ¡ a2 = 60 ¡ 50 = 10.

Аналогично получаем

x12 = minfa11; b2g = minf40; 100g = 40,

a21 = 0; x11 = x14 = 0, b12 = b2 ¡ a11 = 100 ¡ 40 = 60;

x34 = minfa3; b4g = minf130; 60g = 60, b14 = 0; a13 = a3 ¡ b4 = 130 ¡ 60 = 70;

x32 = minfa13; b12g = minf70; 60g = 60, b22 = 0; a23 = a13 ¡ b12 = 70 ¡ 60 = 10;

x31 = minfa23; b11g = minf10; 10g = 10, a33 = 0; b21 = 0.

Таким образом, опорный план x0, построенный по методу минимальной стоимости, имеет вид:

 

B1

B2

B3

B4

 

 

ait

 

 

A1

 

40

80

 

 

120

40

0

0

A2

50

 

 

 

 

50

0

0

0

A3

10

60

 

60

 

130

70

10

0

 

 

 

 

 

 

 

 

 

 

bjs

60

100

80

60

 

 

 

 

 

10

60

0

0

 

 

 

 

 

 

0

0

0

0

 

 

 

 

 

Стоимость перевозок по данному плану равна

f(x0) = 40 ¢ 3 + 80 ¢ 1 + 50 ¢ 2 + 10 ¢ 7 + 60 ¢ 6 + 60 ¢ 4 = 970.

27

Замечания

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

2. Если на каком-то этапе метода северо-западного угла либо метода минимальной стоимости получается ai = bj, то из рассмотрения можно

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

3.2. Метод потенциалов

Транспортная задача является частным случаем задачи линейного программирования, поэтому к ней можно применить результаты теории двойственности. Метод потенциалов решения транспортной задачи основан на втором критерии оптимальности. В соответствии с данным методом по текущему плану перевозок строится допустимое решение двойственной задачи, которое вместе с планом перевозок удовлетворяет УДН. Если это возможно, то текущий план перевозок является оптимальным. В противном случае строится новый план перевозок, который по затратам не хуже текущего плана.

Пример 3.3. Найти оптимальный план перевозок для задачи из примера 1.1.

Шаг 1. Определение потенциалов

В качестве начального плана возьмем план, найденный по методу "северо-западного угла". Для этого плана находим переменные двойственной задачи ui; i = 1; :::; m è vj; j = 1; :::; n (так называемые

потенциалы или платежи) из системы уравнений

vj ¡ ui = cij:

При этом уравнения составляются только для базисных заполненных клеток таблицы. Таким образом, получается система из 4 + 3 ¡ 1

уравнений с 4 + 3 неизвестными:

28

v1 ¡ u1 = 5; v2 ¡ u1 = 3; v2 ¡ u2 = 4; v3 ¡ u2 = 2; v3 ¡ u3 = 2; v4 ¡ u3 = 4:

Решая данную систему, находим одно из решений:

u1 = 0; u2 = ¡1; u3 = ¡1; v1 = 5; v2 = 3; v3 = 1; v4 = 3:

Переходим на шаг 2.

Шаг 2. Проверка на оптимальность

Находим величины

¢ij = vj ¡ ui ¡ cij:

В рассмотренном выше примере

¢13 = v3 ¡ u1 ¡ c13 = 1 ¡ 0 ¡ 1 = 0, ¢14 = v4 ¡ u1 ¡ c14 = 3 ¡ 0 ¡ 3 = 0,

¢21 = v1 ¡ u2 ¡ c21 = 5 ¡ (¡1) ¡ 2 = 4 > 0, ¢24 = v4 ¡ u2 ¡ c24 = 3 ¡ (¡1) ¡ 3 = 1 > 0, ¢31 = v1 ¡ u3 ¡ c31 = 5 ¡ (¡1) ¡ 3 = 3 > 0, ¢32 = v2 ¡ u3 ¡ c32 = 3 ¡ (¡1) ¡ 1 = 3 > 0.

Òàê êàê íå âñå ¢ij · 0, то переходим к следующему шагу.

Шаг 3. Построение нового плана перевозок

Выберем клетку с ¢ij > 0. Например, клетку (2; 1). Строим цикл,

одна вершина которого находится в выбранной клетке, а остальные в базисных клетках. Клетку с ¢ij > 0 отмечаем знаком (+). Соседние с

ней клетки знаком ( ). Далее знаки в вершинах цикла чередуются. В данном случае цикл, содержащий клетку (2; 1), имеет вид:

(2; 1) ¡ (1; 1) ¡ (1; 2) ¡ (2; 2) ¡ (2; 1).

 

B1

 

B2

B3

B4

 

A1

60¡

 

60+

 

 

 

A2

+

 

40¡

10

 

 

A3

 

 

 

70

60

 

Ïðè

ýòîì

клетки

(1; 2) è (2; 1) помечены знаком (+), а клетки

(1; 1) è (2; 2) знаком ( ). По полученному циклу перераспределяется

29

x0 = minf40; 60g = 40 единиц продукции. В результате получаем следующий план перевозок x1:

 

B1

B2

B3

B4

A1

20

100

 

 

A2

40

 

10

 

A3

 

 

70

60

Стоимость перевозок по данному плану равна

f(x1) = 20 ¢ 5 + 100 ¢ 3 + 40 ¢ 2 + 10 ¢ 2 + 70 ¢ 2 + 60 ¢ 4 = 880:

Возвращаемся на шаг 1.

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

v1 ¡ u1 = 5; v2 ¡ u1 = 3; v1 ¡ u2 = 2; v3 ¡ u2 = 2; v3 ¡ u3 = 2; v4 ¡ u3 = 4:

Получаем одно из решений:

u1 = 0; u2 = 3; u3 = 3; v1 = 5; v2 = 3; v3 = 5; v4 = 7:

Проверяем полученный план на оптимальность:

¢13 = v3 ¡ u1 ¡ c13 = 5 ¡ 0 ¡ 1 = 4 > 0, ¢14 = v4 ¡ u1 ¡ c14 = 7 ¡ 0 ¡ 3 = 4 > 0, ¢22 = v2 ¡ u2 ¡ c22 = 3 ¡ 3 ¡ 4 = ¡4 < 0, ¢24 = v4 ¡ u2 ¡ c24 = 7 ¡ 3 ¡ 3 = 1 > 0, ¢31 = v1 ¡ u3 ¡ c31 = 5 ¡ 3 ¡ 7 = ¡5 < 0, ¢32 = v2 ¡ u3 ¡ c32 = 3 ¡ 3 ¡ 6 = ¡6 < 0:

Òàê êàê íå âñå ¢ij · 0, то строим новый план перевозок. Для этого выбираем клетку с ¢ij > 0, например, клетку (1; 3), и находим цикл. В данном случае цикл, содержащий клетку (1; 3), имеет вид:

(1; 3) ¡ (2; 3) ¡ (2; 1) ¡ (1; 1) ¡ (1; 3).

 

B1

B2

B3

B4

A1

20¡

100

+

 

A2

40+

 

10¡

 

A3

 

 

70

60

30