Скачиваний:
9
Добавлен:
01.05.2014
Размер:
104.35 Кб
Скачать

Санкт-Петербургский Государственный Электротехнический Университет

(ЛЭТИ)

кафедра МО ЭВМ

Отчет по лабораторной работе №2

СИМПЛЕКСНЫЙ МЕТОД

Выполнил студент группы 1341, ФКТИ

Пухкал И.

Санкт-Петербург 2004

Содержание

2

Содержание

1

Постановка задачи

3

2

Выполнение работы

4

 

2.1

Графический метод . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

 

2.2

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

5

3

Вывод

6

1 Постановка задачи

3

1. Постановка задачи

Рассматривается следующая задача линейного программирования: найти минимум линейной функции f(x1, x2, ..., xn):

f = c1x1 + c2x2 + . . . + cnxn,

где ci — постоянные коэффициенты, на множестве, заданном набором линейных ограничений:

a1,1x1 + . . . + a1,nxn ≥ b1

am,1x1 + . . . + am,nxn ≥ bm

xi ≥ 0, i,

где ai,j , bi — постоянные коэффициенты. В матричной форме ограничения записываются следующим образом:

AX ≥ B, X ≥ 0.

Целевая функция может быть представлена в виде скалярного произведения: f = (C, X).

Алгоритм симплекс-метода

Поиск крайней точки допустимого множества Крайняя точка не существует , если в таблице симплекс-метода существует строка, все элементы которой неположительны, а последний элемент — отрицательный .

Крайняя точка найдена, если все элементы вектора-столбца B больше нуля.

1.Выбрать строку i, в которой bi < 0.

2.Выбрать столбец s, в котором ais ≥ 0;

3.В столбце s задать номер строки r разрешающего элемента так, что-

бы отрицательное отношение br было максимальным;

ars

4.Поменять местами имена координат в таблице из строки r и столбца s;

5.Рассматривая элемент ars как разрешающий, необходимо преобразовать таблицу по формулам:

1

trs ars

trj −zrj , j 6= s

ars

tis zis , i 6= r

ars

tij zij ars ziszrj , i 6= r, j 6= s

ars

z ← t

где под z и t понимается соответственно первоначальное и преобразованное значение таблицы (кроме левого столбца и верхней строки).

2 Выполнение работы

4

6.Пункты 1-5 повторять до тех пор, пока не будет дано заключение о точке.

Поиск оптимальной точки Оптимальная точка найдена, если все элементы векторстроки Ñ ≥ 0 (при этом все элементы вектор-столбца B ≥ 0).

Оптимальная точка не существует , если в таблице есть столбец j , в котором cj < 0, а все aij > 0 при любом i.

1.Выбрать столбец s, в которой cs < 0.

2.В столбце s задать номер строки r разрешающего элемента так, что-

бы отрицательное отношение br было максимальным;

ars

3.Поменять местами имена координат в таблице из строки r и столбца s;

4.Рассматривая элемент ars как разрешающий, необходимо преобразовать таблицу по формулам (см. выше):

5.Пункты 1-4 повторять до тех пор, пока не будет дано заключение о точке.

Координаты оптимальной точки 1. Если xj находится на i-м месте левого столбца, то его значение равно bi.

2.Если xi находится на j-м месте верхней строки, то его значение равно 0.

2.Выполнение работы

Вариант 5: построим допустимое множество, исходя из следующих ограничений:

2x1 − x2 ≥ −2

−x ≥ −4

2

−x1 − 2x2 ≥ −12

−x1 + x2 ≥ −3

x1 + x2 ≥ 2

2 Выполнение работы

5

2.1. Графический метод

Рис. 1. Графическое решение.

На рис. 1 допустимое множество не заштриховано. Целевая функция f = −x1. Оптимальная точка: (6, 3).

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

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

Øàã 1:

 

 

|

x1

x2 | b[i]

----------------------------

y1 | 2.00 -1.00| 2.00

2 Выполнение работы

6

y2

|

0.00

-1.00|

4.00

y3

|

-1.00

-2.00|

12.00

y4

|

-1.00

1.00|

3.00

y5

|

1.00

1.00|

-2.00

----------------------------

c[j]|

-1.00

0.00|

0.00

Выбираем 5ю строку (b5 < 0) и 2й столбец (a5,2 ≥ 0). Номер строки для преобразования — 1. Производим замену и преобразование.

| x1 y1 | b[i]

----------------------------

x2

|

2.00

-1.00|

2.00

y2

|

-2.00

1.00|

2.00

y3

|

-5.00

2.00|

8.00

y4

|

1.00

-1.00|

5.00

y5

|

3.00

-1.00|

0.00

----------------------------

c[j]| -1.00 0.00| 0.00

Все bi > 0 — крайняя точка обнаружена. Переходим к поиску оптимальной точки. Выберем 1й столбец (c1 < 0) и 2ю строку.

Øàã 3:

 

 

 

 

 

|

y2

y1

|

b[i]

----------------------------

x2

|

-1.00

0.00|

4.00

x1

|

-0.50

0.50|

1.00

y3

|

2.50

-0.50|

3.00

y4

|

-0.50

-0.50|

6.00

y5

|

-1.50

0.50|

3.00

----------------------------

c[j]|

0.50

-0.50|

-1.00

Выберем 2й столбец (c2 < 0) и 3ю строку.

Øàã 4:

 

 

 

 

 

|

y2

y3

|

b[i]

----------------------------

x2

|

-1.00

0.00|

4.00

x1

|

2.00

-1.00|

4.00

y1

|

5.00

-2.00|

6.00

y4

|

-3.00

1.00|

3.00

y5

|

1.00

-1.00|

6.00

----------------------------

c[j]|

-2.00

1.00|

-4.00

Выберем 1й столбец (c1 < 0) и 4ю строку.

Øàã 5:

 

 

|

y4

y3 | b[i]

3 Вывод

 

7

----------------------------

x2

|

0.33

-0.33|

3.00

x1

|

-0.67

-0.33|

6.00

y1

|

-1.67

-0.33|

11.00

y2

|

-0.33

0.33|

1.00

y5

|

-0.33

-0.67|

7.00

----------------------------

c[j]|

0.67

0.33|

-6.00

Все ñj > 0 — оптимальная точка обнаружена. Ее координаты: (6, 3) (т. к. x1 содержится во 2й строке, а x2 — в первой).

Координаты оптимальной точки : x1= 6.00

x2= 3.00

3.Вывод

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