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

задачи / Документ Microsoft Word7

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

Симплекс-метод.

Оптимальный план можно записать так: x2 = 3; x3 = 7; x5 = 2; F(X) = 3•3 + 0•7 + -2•2 = 5

Решим прямую задачу линейного программирования симплексным методом, с использованием симплексной таблицы. Определим максимальное значение целевой функции F(X) = 3x1 + 3x2 + x4 - 2x5 при следующих условиях-ограничений. x1 + 2x2 + 4x4=6 x3 + 3x4=7 2x2 + 2x4 + x5=8 Введем искусственные переменные x: в 1-м равенстве вводим переменную x6; в 2-м равенстве вводим переменную x7; в 3-м равенстве вводим переменную x8; 1x1 + 2x2 + 0x3 + 4x4 + 0x5 + 1x6 + 0x7 + 0x8 = 6 0x1 + 0x2 + 1x3 + 3x4 + 0x5 + 0x6 + 1x7 + 0x8 = 7 0x1 + 2x2 + 0x3 + 2x4 + 1x5 + 0x6 + 0x7 + 1x8 = 8 Для постановки задачи на максимум целевую функцию запишем так: F(X) = 3x1+3x2+x4-2x5 - Mx6 - Mx7 - Mx8 → max Из уравнений выражаем искусственные переменные: x6 = 6-x1-2x2-4x4 x7 = 7-x3-3x4 x8 = 8-2x2-2x4-x5 которые подставим в целевую функцию: F(X) = (3+M)x1+(3+4M)x2+(M)x3+(1+9M)x4+(-2+M)x5+(-21M) → max Матрица коэффициентов A = a(ij) этой системы уравнений имеет вид:

1

2

0

4

0

1

0

0

0

0

1

3

0

0

1

0

0

2

0

2

1

0

0

1

Решим систему уравнений относительно базисных переменных: x6, x7, x8, Полагая, что свободные переменные равны 0, получим первый опорный план: X1 = (0,0,0,0,0,6,7,8)

Базис

B

x1

x2

x3

x4

x5

x6

x7

x8

x6

6

1

2

0

4

0

1

0

0

x7

7

0

0

1

3

0

0

1

0

x8

8

0

2

0

2

1

0

0

1

F(X0)

-21M

-3-M

-3-4M

-M

-1-9M

2-M

0

0

0

Переходим к основному алгоритму симплекс-метода. Итерация №0. Текущий опорный план неоптимален, так как в индексной строке находятся отрицательные коэффициенты. В качестве ведущего выберем столбец, соответствующий переменной x4, так как это наибольший коэффициент по модулю. Вычислим значения Di по строкам как частное от деления: bi / ai4 и из них выберем наименьшее: Следовательно, 1-ая строка является ведущей. Разрешающий элемент равен (4) и находится на пересечении ведущего столбца и ведущей строки.

Базис

B

x1

x2

x3

x4

x5

x6

x7

x8

min

x6

6

1

2

0

4

0

1

0

0

x7

7

0

0

1

3

0

0

1

0

21/3

x8

8

0

2

0

2

1

0

0

1

4

F(X1)

-21M

-3-M

-3-4M

-M

-1-9M

2-M

0

0

0

0

Получаем новую симплекс-таблицу:

Базис

B

x1

x2

x3

x4

x5

x6

x7

x8

x4

11/2

1/4

1/2

0

1

0

1/4

0

0

x7

21/2

-3/4

-11/2

1

0

0

-3/4

1

0

x8

5

-1/2

1

0

0

1

-1/2

0

1

F(X1)

11/2-71/2M

-23/4+11/4M

-21/2+M

-M

0

2-M

1/4+21/4M

0

0

Итерация №1. Текущий опорный план неоптимален, так как в индексной строке находятся отрицательные коэффициенты. В качестве ведущего выберем столбец, соответствующий переменной x3, так как это наибольший коэффициент по модулю. Вычислим значения Di по строкам как частное от деления: bi / ai3 и из них выберем наименьшее: Следовательно, 2-ая строка является ведущей. Разрешающий элемент равен (1) и находится на пересечении ведущего столбца и ведущей строки.

Базис

B

x1

x2

x3

x4

x5

x6

x7

x8

min

x4

11/2

1/4

1/2

0

1

0

1/4

0

0

-

x7

21/2

-3/4

-11/2

1

0

0

-3/4

1

0

x8

5

-1/2

1

0

0

1

-1/2

0

1

-

F(X2)

11/2-71/2M

-23/4+11/4M

-21/2+M

-M

0

2-M

1/4+21/4M

0

0

0

Получаем новую симплекс-таблицу:

Базис

B

x1

x2

x3

x4

x5

x6

x7

x8

x4

11/2

1/4

1/2

0

1

0

1/4

0

0

x3

21/2

-3/4

-11/2

1

0

0

-3/4

1

0

x8

5

-1/2

1

0

0

1

-1/2

0

1

F(X2)

11/2-5M

-23/4+M

-21/2-M

0

0

2-M

1/4+11/2M

M

0

Итерация №2. Текущий опорный план неоптимален, так как в индексной строке находятся отрицательные коэффициенты. В качестве ведущего выберем столбец, соответствующий переменной x2, так как это наибольший коэффициент по модулю. Вычислим значения Di по строкам как частное от деления: bi / ai2 и из них выберем наименьшее: Следовательно, 1-ая строка является ведущей. Разрешающий элемент равен (1/2) и находится на пересечении ведущего столбца и ведущей строки.

Базис

B

x1

x2

x3

x4

x5

x6

x7

x8

min

x4

11/2

1/4

0

1

0

1/4

0

0

3

x3

21/2

-3/4

-11/2

1

0

0

-3/4

1

0

-

x8

5

-1/2

1

0

0

1

-1/2

0

1

5

F(X3)

11/2-5M

-23/4+M

-21/2-M

0

0

2-M

1/4+11/2M

M

0

0

Получаем новую симплекс-таблицу:

Базис

B

x1

x2

x3

x4

x5

x6

x7

x8

x2

3

1/2

1

0

2

0

1/2

0

0

x3

7

0

0

1

3

0

0

1

0

x8

2

-1

0

0

-2

1

-1

0

1

F(X3)

9-2M

-11/2+M

0

0

5+2M

2-M

11/2+2M

M

0

Итерация №3. Текущий опорный план неоптимален, так как в индексной строке находятся отрицательные коэффициенты. В качестве ведущего выберем столбец, соответствующий переменной x5, так как это наибольший коэффициент по модулю. Вычислим значения Di по строкам как частное от деления: bi / ai5 и из них выберем наименьшее: Следовательно, 3-ая строка является ведущей. Разрешающий элемент равен (1) и находится на пересечении ведущего столбца и ведущей строки.

Базис

B

x1

x2

x3

x4

x5

x6

x7

x8

min

x2

3

1/2

1

0

2

0

1/2

0

0

-

x3

7

0

0

1

3

0

0

1

0

-

x8

2

-1

0

0

-2

1

-1

0

1

2

F(X4)

9-2M

-11/2+M

0

0

5+2M

2-M

11/2+2M

M

0

0

Получаем новую симплекс-таблицу:

Базис

B

x1

x2

x3

x4

x5

x6

x7

x8

x2

3

1/2

1

0

2

0

1/2

0

0

x3

7

0

0

1

3

0

0

1

0

x5

2

-1

0

0

-2

1

-1

0

1

F(X4)

5

1/2

0

0

9

0

31/2+M

M

-2+M

Конец итераций: индексная строка не содержит отрицательных элементов - найден оптимальный план Окончательный вариант симплекс-таблицы:

Базис

B

x1

x2

x3

x4

x5

x6

x7

x8

x2

3

1/2

1

0

2

0

1/2

0

0

x3

7

0

0

1

3

0

0

1

0

x5

2

-1

0

0

-2

1

-1

0

1

F(X5)

5

1/2

0

0

9

0

31/2+M

M

-2+M

Оптимальный план можно записать так: x2 = 3 x3 = 7 x5 = 2 F(X) = 3•3 + 0•7 + -2•2 = 5

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