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

задачи / 8

.doc
Скачиваний:
8
Добавлен:
20.02.2016
Размер:
259.58 Кб
Скачать

Симплекс-метод. Copyright © Semestr.RU Решим прямую задачу линейного программирования модифицированным симплексным методом. Определим минимальное значение целевой функции F(X) = 4x1 + 4x2 + x3 при следующих условиях-ограничений. 4x1 + 3x2 + 2x3 + x4<=7 - 4x1 + 2x2 + 3x3 + 2x4=40 x1 - 4x2 + 2x3≥0 Для построения первого опорного плана систему неравенств приведем к системе уравнений путем введения дополнительных переменных (переход к канонической форме). 4x1 + 3x2 + 2x3 + 1x4 + 1x5 + 0x6 = 7 -4x1 + 2x2 + 3x3 + 2x4 + 0x5 + 0x6 = 40 1x1-4x2 + 2x3 + 0x4 + 0x5-1x6 = 0 Решение состоит из двух этапов. Первый этап - введение искусственного базиса (единичной матрицы) и поиск первого опорного плана (без учета целевой функции). Второй этап - поиск оптимального решения на основе целевой функции. Первый этап. Для нахождения начальной допустимой базы воспользуемся методом искусственного базиса. Имеем: Матрица коэффициентов A = aij

4

3

2

1

1

0

0

0

-4

2

3

2

0

0

1

0

1

-4

2

0

0

-1

0

1

Матрица b.

b =

7

40

0

Итерация №1. Базисные переменные: = (5, 7, 8)

B_5,7,8 =

1

0

0

0

1

0

0

0

1

Матрица c. c = (0, 0, 0, 0, 0, 0, -1, -1) cB(5,7,8) = (0, -1, -1) cN(1,2,3,4,6) = (0, 0, 0, 0, 0)

N_ =

4

3

2

1

0

-4

2

3

2

0

1

-4

2

0

-1

Вычисляем: Матрицу B-1 вычисляем через алгебраические дополнения.

B-1 = 1/1

1

0

0

0

1

0

0

0

1

u = cBB-1 = (0, -1, -1)

b*_5,7,8 = B^-1 b =

7

40

0

Умножаем вектор u на матрицу N: uN = (3, 2, -5, -2, 1) c* = cN - uN = (-3, -2, 5, 2, -1) Откуда номер направляющего столбца s = 3 (индекс максимального значения из положительных элементов).

(a_13 ... a_m3) =

2

3

2

a* = B-1 (a13,...,am3)T = (2, 0, 0)T min(7:2 = 31/2;40:3 = 131/3;0:2 = 0;) = 0 Откуда номер направляющей строки r = 3 (индекс минимального значения). Итерация №2. Базисные переменные: = (5, 7, 3)

B_5,7,3 =

1

0

2

0

1

3

0

0

2

Матрица c. c = (-3, -2, 5, 2, 0, -1, 0, 0) min(7:7 = 1;40:8 = 5;0:-2 = 0;) = 0 Итерация №3. Базисные переменные: = (5, 7, 2)

B_5,7,2 =

1

0

3

0

1

2

0

0

-4

Матрица c. c = (-51/2, 8, 0, 2, 0, 11/2, 0, -21/2) min(7:31/2 = 2;40:4 = 10;0:-1/2 = 0;) = 0 Итерация №4. Базисные переменные: = (5, 7, 3)

B_5,7,3 =

1

0

2

0

1

3

0

0

2

Матрица c. c = (-31/2, 0, 4, 2, 0, -1/2, 0, -1/2) min(7:7 = 1;40:8 = 5;0:-2 = 0;) = 0 Итерация №5. Базисные переменные: = (5, 7, 2)

B_5,7,2 =

1

0

3

0

1

2

0

0

-4

Матрица c. c = (-51/2, 8, 0, 2, 0, 11/2, 0, -21/2) min(7:31/2 = 2;40:4 = 10;0:-1/2 = 0;) = 0 Итерация №6. Базисные переменные: = (5, 7, 3)

B_5,7,3 =

1

0

2

0

1

3

0

0

2

Матрица c. c = (-31/2, 0, 4, 2, 0, -1/2, 0, -1/2) min(7:7 = 1;40:8 = 5;0:-2 = 0;) = 0 Итерация №7. Базисные переменные: = (5, 7, 2)

B_5,7,2 =

1

0

3

0

1

2

0

0

-4

Матрица c. c = (-51/2, 8, 0, 2, 0, 11/2, 0, -21/2) min(7:31/2 = 2;40:4 = 10;0:-1/2 = 0;) = 0 Итерация №8. Базисные переменные: = (5, 7, 3)

B_5,7,3 =

1

0

2

0

1

3

0

0

2

Матрица c. c = (-31/2, 0, 4, 2, 0, -1/2, 0, -1/2) min(7:7 = 1;40:8 = 5;0:-2 = 0;) = 0 Итерация №9. Базисные переменные: = (5, 7, 2)

B_5,7,2 =

1

0

3

0

1

2

0

0

-4

Матрица c. c = (-51/2, 8, 0, 2, 0, 11/2, 0, -21/2) min(7:31/2 = 2;40:4 = 10;0:-1/2 = 0;) = 0 Итерация №10. Базисные переменные: = (5, 7, 3)

B_5,7,3 =

1

0

2

0

1

3

0

0

2

Матрица c. c = (-31/2, 0, 4, 2, 0, -1/2, 0, -1/2) min(7:7 = 1;40:8 = 5;0:-2 = 0;) = 0 Итерация №11. Базисные переменные: = (5, 7, 2)

B_5,7,2 =

1

0

3

0

1

2

0

0

-4

Матрица c. c = (-51/2, 8, 0, 2, 0, 11/2, 0, -21/2) min(7:31/2 = 2;40:4 = 10;0:-1/2 = 0;) = 0 Итерация №12. Базисные переменные: = (5, 7, 3)

B_5,7,3 =

1

0

2

0

1

3

0

0

2

Матрица c. c = (-31/2, 0, 4, 2, 0, -1/2, 0, -1/2) min(7:7 = 1;40:8 = 5;0:-2 = 0;) = 0 Итерация №13. Базисные переменные: = (5, 7, 2)

B_5,7,2 =

1

0

3

0

1

2

0

0

-4

Матрица c. c = (-51/2, 8, 0, 2, 0, 11/2, 0, -21/2) min(7:31/2 = 2;40:4 = 10;0:-1/2 = 0;) = 0 Итерация №14. Базисные переменные: = (5, 7, 3)

B_5,7,3 =

1

0

2

0

1

3

0

0

2

Матрица c. c = (-31/2, 0, 4, 2, 0, -1/2, 0, -1/2) min(7:7 = 1;40:8 = 5;0:-2 = 0;) = 0 Итерация №15. Базисные переменные: = (5, 7, 2)

B_5,7,2 =

1

0

3

0

1

2

0

0

-4

Матрица c. c = (-51/2, 8, 0, 2, 0, 11/2, 0, -21/2) min(7:31/2 = 2;40:4 = 10;0:-1/2 = 0;) = 0 Итерация №16. Базисные переменные: = (5, 7, 3)

B_5,7,3 =

1

0

2

0

1

3

0

0

2

Матрица c. c = (-31/2, 0, 4, 2, 0, -1/2, 0, -1/2) min(7:7 = 1;40:8 = 5;0:-2 = 0;) = 0 Итерация №17. Базисные переменные: = (5, 7, 2)

B_5,7,2 =

1

0

3

0

1

2

0

0

-4

Матрица c. c = (-51/2, 8, 0, 2, 0, 11/2, 0, -21/2) min(7:31/2 = 2;40:4 = 10;0:-1/2 = 0;) = 0 Итерация №18. Базисные переменные: = (5, 7, 3)

B_5,7,3 =

1

0

2

0

1

3

0

0

2

Матрица c. c = (-31/2, 0, 4, 2, 0, -1/2, 0, -1/2) min(7:7 = 1;40:8 = 5;0:-2 = 0;) = 0 Итерация №19. Базисные переменные: = (5, 7, 2)

B_5,7,2 =

1

0

3

0

1

2

0

0

-4

Матрица c. c = (-51/2, 8, 0, 2, 0, 11/2, 0, -21/2) min(7:31/2 = 2;40:4 = 10;0:-1/2 = 0;) = 0 Второй этап. Удаляем столбцы с искусственными переменными. Заменим вектор оценок С на целевую функцию. Выразим базисные переменные: x3 = 0-1/4x1+x2+1/4x6 которые подставим в целевую функцию: F(X) = 0+17/4x1+3x2-1/4x6 Имеем: Матрица коэффициентов A = aij

A =

4

3

2

1

1

0

-4

2

3

2

0

0

1

-4

2

0

0

-1

Матрица b.

b =

7

40

0

Итерация №1. Базисные переменные: = (5, 7, 3)

B_5,7,3 =

1

0

2

0

1

3

0

0

2

Матрица c. c = (-41/4, -3, 0, 0, 0, 1/4) cB(5,7,3) = (0, 0, 0) cN(1,2,4,6) = (-41/4, -3, 0, 1/4, 0)

N_ =

4

3

1

-4

2

2

1

-4

0

Вычисляем: Матрицу B-1 вычисляем через алгебраические дополнения.

B-1 = 1/2

2

0

-2

0

2

-3

0

0

1

u = cBB-1 = (0, 0, 0)

b*_5,7,3 = B^-1 b =

7

40

0

Умножаем вектор u на матрицу N: uN = (0, 0, 0, 0, 0) c* = cN - uN = (-41/4, -3, 0, 1/4, 0) Откуда номер направляющего столбца s = 4 (индекс максимального значения из положительных элементов).

(a_14 ... a_m4) =

0

0

-1

a* = B-1 (a14,...,am4)T = (1, 0, 0)T min(7:1 = 7;40:11/2 = 262/3;0:-1/2 = 0;) = 0 Откуда номер направляющей строки r = 3 (индекс минимального значения). Итерация №2. Базисные переменные: = (5, 7, 6)

B_5,7,6 =

1

0

0

0

1

0

0

0

-1

Матрица c. c = (-41/4, -3, 0, 0, 0, 1/4) min(7:2 = 31/2;40:3 = 131/3;0:-2 = 0;) = 0 Итерация №3. Базисные переменные: = (5, 7, 3)

B_5,7,3 =

1

0

2

0

1

3

0

0

2

Матрица c. c = (-4, -4, 1/2, 0, 0, 0) min(7:1 = 7;40:11/2 = 262/3;0:-1/2 = 0;) = 0 Итерация №4. Базисные переменные: = (5, 7, 6)

B_5,7,6 =

1

0

0

0

1

0

0

0

-1

Матрица c. c = (-41/4, -3, 0, 0, 0, 1/4) min(7:2 = 31/2;40:3 = 131/3;0:-2 = 0;) = 0 Итерация №5. Базисные переменные: = (5, 7, 3)

B_5,7,3 =

1

0

2

0

1

3

0

0

2

Матрица c. c = (-4, -4, 1/2, 0, 0, 0) min(7:1 = 7;40:11/2 = 262/3;0:-1/2 = 0;) = 0 Итерация №6. Базисные переменные: = (5, 7, 6)

B_5,7,6 =

1

0

0

0

1

0

0

0

-1

Матрица c. c = (-41/4, -3, 0, 0, 0, 1/4) min(7:2 = 31/2;40:3 = 131/3;0:-2 = 0;) = 0 Итерация №7. Базисные переменные: = (5, 7, 3)

B_5,7,3 =

1

0

2

0

1

3

0

0

2

Матрица c. c = (-4, -4, 1/2, 0, 0, 0) min(7:1 = 7;40:11/2 = 262/3;0:-1/2 = 0;) = 0 Итерация №8. Базисные переменные: = (5, 7, 6)

B_5,7,6 =

1

0

0

0

1

0

0

0

-1

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