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

Archive / LIN

.doc
Скачиваний:
19
Добавлен:
21.05.2015
Размер:
87.55 Кб
Скачать

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

Определим максимальное значение целевой функции F(X) = 3x1+8x2 при следующих условиях-ограничений.

10x1+70x2≤570

20x1+50x2≤490

300x1+400x2≤5600

200x1+100x2≤3400

Для построения первого опорного плана систему неравенств приведем к системе уравнений путем введения дополнительных переменных (переход к канонической форме).

10x1 + 70x2 + 1x3 + 0x4 + 0x5 + 0x6 = 570

20x1 + 50x2 + 0x3 + 1x4 + 0x5 + 0x6 = 490

300x1 + 400x2 + 0x3 + 0x4 + 1x5 + 0x6 = 5600

200x1 + 100x2 + 0x3 + 0x4 + 0x5 + 1x6 = 3400

Матрица коэффициентов A = a(ij) этой системы уравнений имеет вид:

Решим систему уравнений относительно базисных переменных:

x3, x4, x5, x6,

Полагая, что свободные переменные равны 0, получим первый опорный план:

X1 = (0,0,570,490,5600,3400)

Базис

В

x1

x2

x3

x4

x5

x6

x3

570

10

70

1

0

0

0

x4

490

20

50

0

1

0

0

x5

5600

300

400

0

0

1

0

x6

3400

200

100

0

0

0

1

F(X0)

0

-3

-8

0

0

0

0

Переходим к основному алгоритму симплекс-метода.

Итерация №0.

Текущий опорный план неоптимален, так как в индексной строке находятся отрицательные коэффициенты.

В качестве ведущего выберем столбец, соответствующий переменной x2, так как это наибольший коэффициент по модулю.

Вычислим значения Di по строкам как частное от деления: bi / ai2

и из них выберем наименьшее:

Следовательно, 1-ая строка является ведущей.

Разрешающий элемент равен (70) и находится на пересечении ведущего столбца и ведущей строки.

Базис

В

x1

x2

x3

x4

x5

x6

min

x3

570

10

70

1

0

0

0

8.14

x4

490

20

50

0

1

0

0

9.8

x5

5600

300

400

0

0

1

0

14

x6

3400

200

100

0

0

0

1

34

F(X1)

0

-3

-8

0

0

0

0

0

После преобразований получаем новую таблицу:

Базис

В

x1

x2

x3

x4

x5

x6

x2

8.14

0.14

1

0.0143

0

0

0

x4

82.86

12.86

0

-0.71

1

0

0

x5

2342.86

242.86

0

-5.71

0

1

0

x6

2585.71

185.71

0

-1.43

0

0

1

F(X1)

65.14

-1.86

0

0.11

0

0

0

Итерация №1.

Текущий опорный план неоптимален, так как в индексной строке находятся отрицательные коэффициенты.

В качестве ведущего выберем столбец, соответствующий переменной x1, так как это наибольший коэффициент по модулю.

Вычислим значения Di по строкам как частное от деления: bi / ai1

и из них выберем наименьшее:

Следовательно, 2-ая строка является ведущей.

Разрешающий элемент равен (12.86) и находится на пересечении ведущего столбца и ведущей строки.

Базис

В

x1

x2

x3

x4

x5

x6

min

x2

8.14

0.14

1

0.0143

0

0

0

57

x4

82.86

12.86

0

-0.71

1

0

0

6.44

x5

2342.86

242.86

0

-5.71

0

1

0

9.65

x6

2585.71

185.71

0

-1.43

0

0

1

13.92

F(X2)

65.14

-1.86

0

0.11

0

0

0

0

После преобразований получаем новую таблицу:

Базис

В

x1

x2

x3

x4

x5

x6

x2

7.22

0

1

0.0222

-0.0111

0

0

x1

6.44

1

0

-0.0556

0.0778

0

0

x5

777.78

0

0

7.78

-18.89

1

0

x6

1388.89

0

0

8.89

-14.44

0

1

F(X2)

77.11

0

0

0.0111

0.14

0

0

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

Окончательный вариант симплекс-таблицы:

Базис

В

x1

x2

x3

x4

x5

x6

x2

7.22

0

1

0.0222

-0.0111

0

0

x1

6.44

1

0

-0.0556

0.0778

0

0

x5

777.78

0

0

7.78

-18.89

1

0

x6

1388.89

0

0

8.89

-14.44

0

1

F(X3)

77.11

0

0

0.0111

0.14

0

0

Оптимальный план можно записать так:

x2 = 7.22

x1 = 6.44

x5 = 777.78

x6 = 1388.89

F(X) = 3*6.44 + 8*7.22 = 77.11

Соседние файлы в папке Archive
  • #
    21.05.201587.55 Кб19LIN.doc
  • #
    21.05.201514.34 Кб16LINPRG2.xls