Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Зандер Е. В. Исследование операций в экономике...doc
Скачиваний:
6
Добавлен:
01.03.2025
Размер:
2.31 Mб
Скачать

Метод прямого перебора

Данный метод решения применим, когда ЗЛП приведена к канониче­ской форме и число ограничений m меньше числа переменных n.

Если n количество переменных, m количество ограничений в зада­че, то количество базисных переменных (не равных нулю) будет равно m, а небазисных (свободные переменные, которые приравниваются нулю) n-m. В этом случае число возможных вариантов базисных наборов для данной за-

п\

дачи определяется по формуле Сm =n ! . Далее строится таблица ре-

т\{п-т)\

шения, в которой для каждого базисного набора вычисляют значения базис­ных переменных из ограничений задачи, остальные переменные (небазис­ные) принимают нулевые значения. Для каждого базисного набора перемен­ных вычисляют значения целевой функции / Базисные наборы переменных, у которых при вычислениях получаются xj < 0, не принимаются к рассмотре­нию, что вытекает из экономического смысла задачи. Затем выбирается сре­ди вычисленных значений функции наибольшее /„ (либо/шШ в зависимости от условий задачи) и по нему восстанавливается набор переменных, который и будет оптимальным планом задачи.

Пример. Решить задачу методом прямого перебора:

f = 3 х1 + 4 х2 → max х12 30, + 4х2 < 84;

х1≥0,х2≥0.

23

Решение. Приведем задачу к канонической форме записи:

f= 3 х1 + 4 х2 → max

xr+x2+x3- 30, [xt + 4x2 +x4- 84;

х1 , х2 , х3, х4 0.

Отсюда n = 4, m = 2, n - m = 2. Количество возможных базисных набо-

2 4! ров равно С4 = = 6. Составим табл. 1.2 для решения.

Таблица 1.2

№ базисного набора

Значение переменных

F(x)

х1

х2

х4

1

0

0

30

84

0

2

0

30

0

-36

3

0

21

9

0

84

4

30

0

0

54

90

5

84

0

-54

0

6

12

18

0

0

108

Из табл. 1.2 видно, что максимальное значение 108 целевая функция принимает в 6-м наборе, а величина прибыли F(х* ) = 108 руб. достигается

24

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

Симплексный метод решения задачи ЛП основан на переходе от одного опорного плана к другому, при котором значение целевой функции возраста­ет (при условии, что данная задача имеет оптимальный план и каждый ее опорный план является невырожденным). Указанный переход возможен, ес­ли известен какой-нибудь исходный опорный план.

Для решения симплекс-методом исходная задача должна быть пред­ставлена в канонической форме записи:

с2х2+ ... + спхп^>тах; (1.4)

In п 1*

(1.5)

X« =Ьт>

(1.6)

В данной задаче количество ограничений m меньше количества пере-

м енных n; величины щр bit cj (i = 1,m;j = 1,n) заданы по условию. Задача (1.4)—(1.6) имеет исходный опорный план хт=(b1; b2; b3;…bm; 0;…; 0), где первые m компонент равны координатам вектора-столбца ограничений, а по­следние n-m компонент нулевые.

Задачу (1.4)—(1.6) для решения симплексным методом удобно пред­ставить в векторной форме:

F = 1LCJ max (1.7)

x1P1+x2P2+…+xnPn = P0, (1.8)

xj≥0 (j = 1,n), (1.9)

где

25

'(Г

'в1 ^

0

1

а

в

; р2-

:

' ■"' т

0

Рт+Х -

\-\Рп-

°"

Z

у mm,1 +

V вот/

Л,

Исходный опорный план задачи определяется системой единичных векторов Р\, P1,Р2,…, Рm, которые образуют базис m-мерного пространства. По­этому каждый из векторов Pm+1, Pm+2, Pm, P0 может быть представлен в виде линейной комбинации векторов данного базиса.

Д алее для каждого j (j = 1, n) вычисляются оценки

(1.10)

Значения Δj позволяют определить, оптимален данный план или нет. Если все Δj ≥ 0, то процесс решения задачи окончен, рассматриваемое опор-

т

ное решение оптимально. Оптимум целевой функции равен Fc m

Если существуют оценки Δj < 0, то среди них выбирают максимальную по модулю (наименьшую отрицательную), в дальнейшем столбец с этой оценкой будет называться направляющим и войдет в базис. Для определения

вектора, выводимого из базиса, вычисляют соотношение λi = в i, где k

индекс направляющего столбца, из найденных значений λi всегда выбирается

( в \ наименьшее положительное, т. е. min λi = min —- для всех а# > 0. Пусть

этот минимум достигается при i = r, тогда из базиса исключается вектор Pr, а на его место встает вектор Pk. Строка с индексом r называется направляю­щей, а элемент, находящийся на пересечении k-го столбца и r-ой строки (ark), называется разрешающим.

26

Если в столбце с элементами а& нет положительных, т.е. все air0, то целевая функция не ограничена сверху на множестве допустимых планов.

После выделения направляющего столбца и направляющей строки на­ходят новый опорный план и коэффициенты разложения векторов Pj по век­торам нового базиса. Компоненты нового опорного плана вычисляют (по ме­тоду Жордана — Гаусса) следующим образом:

= ^-{вггк при (фг, rrk/air при , = r,

а коэффициенты разложения векторов по векторам нового базиса, соответст­вующего новому опорному плану, по формулам

, = 1ЧКЧ*К р >

aairrjrk/ при i . =

После вычисления всех элементов, соответствующих новому опорному плану, вновь рассчитывают величины Δj для всехj и делают вывод:

а) если все Δj ≥ 0 — план оптимальный;

б) если существует хотя бы одна оценка Δj < 0 и для каждого такогоj по крайней мере одно из чисел aij>0, то возможен переход к новому опор­ ному плану, при котором значение целевой функции увеличивается;

в) если существует хотя бы одна оценка Δj < 0, но при этом все числа ау< О, то целевая функция не ограничена.

Для удобства решения задачи симплексным методом составляют таб­лицу (табл. 1.2). Первый столбец таблицы («i») означает номер строки; вто­рой («базис») — содержит вектора базиса, записанные в порядке возрастания номера единичной координаты; третий («Сбаз») — коэффициенты целевой функции, соответствующие базисным векторам; четвертый («Р0») — это век­тор-столбец правых частей системы, записанных в том же порядке, что и век­тора базиса; последующие столбцы таблицы («Р1», …, «Рn») заполняются по матрице условий задачи.

27

Таблица 1.2

i

Базис

^баз

Р0

...

С

...

Сm

Сm+1

...

Сk

...

Сn

P1

...

Рг

...

Pm

Рщ+\

...

Pk

...

Pn

1

P1

Q

в1

1

...

0

...

0

a1,m+1

...

a1k

...

a1n

2

P2

С2

в2

0

...

0

...

0

...

a2k

...

a2n

;

...

...

...

...

Г

Pr

0

...

1

...

0

ar,m+1

...

ark

...

dm

...

...

'■

...

'■

...

т

Рт

0

...

0

...

1

am,m+1

...

amk

...

amn

т+\

0

...

0

...

0

Δm+1

...

Δk

...

Строка m+1 является оценочной строкой, первый ее элементF0 (значе­ние целевой функции) расположен в столбце Р0 и рассчитывается по формуле

m

iiв. Остальные элементы строки m+1 рассчитывают по формуле

(1.10). После пересчета элементов нового плана заполнение таблицы про­должают до тех пор, пока все Δj не станут неотрицательными.

Алгоритм симплекс-метода в виде блок-схемы может быть представлен следующим образом (рис. 1.2).

28

Исходные данные: векторы iVV- Рn С; исходный базис

Вычисление значения целевой функции F0 и оценок Δj (j = 1,...n)

Пересчет координат векторов Р0, Р1, Р2…, Рn; оценок и значение F0

П оиск k: Δk = min Δj, где Δj<0и

К . Ь{ r: —r = mini—

ark i aik

Нет

Да

Д а

Конец: опорное решение опти­мально

К онец: задача неразрешима

Рис. 1.2. Блок-схема алгоритма симплекс-метода

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

F = 3 х1 +4 х2→ max;

+ < 30, [jq+4jt2<84;'

х1≥0, х2≥0.

Найти решение задачи симплекс-методом.

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

F = 3 х1 + 4 х2 → max;

++= х30, =84;

29

Запишем векторную форму задачи:

x1 P1 + x2P2 + … + x n Pn = где

U' z И' 3 0' 4 1

Система имеет два ограничения и четыре переменные, в базис исходно­го опорного плана войдут два вектора — это единичные векторы Р3 и Р4. Со­ставим симплекс-таблицу (табл. 1.3).

Таблица 1.3

i

Базис

Сбаз

Р0

3

4

0

0

P1

P2

Ръ

Ра

1

Рз

0

30

30

1

1

0

30

2

P4

0

84

84

4

0

1

21

3

А/

0

0

-4

0

0

1

Рз

0

9

3/4

0

1

-1/4

12

2

P2

4

21

1/4

1

0

1/4

84

3

А/

84

-2

0

0

1

1

P1

3

12

1

0

4/3

-1/3

2

P2

4

18

0

1

-2/3

1/3

3

Ау

108

0

0

4

2

Исходный опорный план имеет две отрицательных оценки: Δ1 = -3 и

«

а в в 84 Δ2 = —4. Выбираем Δ2, отсюда k = 2. Ищем minв i = в 4 = — = — = 21

22

(ai2 > 0), отсюда r = 2. Разрешающий элемент таблицы аrk = a22 = 4.

Осуществляем пересчет табл. 1.3 по формулам (1.11)—(1.12), получаем новый план, где базисными являются вектора Р3 и Р2. Значение целевой функции F0 увеличивается с 0 до 84. Оценочная строка табл. 1.3 рассчитыва­ется по формуле (1.10).

30

В новом опорном плане присутствует оценка Δ1= -2, значит, этот план оптимальным не будет.

Поскольку отрицательная оценка одна, то k = 1, а r выбираем:

вв 9 minв i = в1 =9= 12 (аи > 0). Отсюда r =1, разрешающий элемент а11=3/4.

г ап 11 3/4

Вновь пересчитываем таблицу по формулам (1.11)—(1.12) для нового базиса P1, P2. Данный опорный план имеет все Δj ≥ 0, следовательно, он оптималь­ный. Выпишем теперь ответ из последней симплекс-таблицы. Так как в бази­се содержатся два элемента P1 и P2 , то соответствующие им значения x1 и x2 находим на пересечении строки P1 (P2) и столбца P0, т. е. x1 = 12 x2 = 18. Зна­чение функции находится на пересечения строки Δj и столбца P0 , т. е. F* =108.

Ответ: х* = (12; 18), F*max=108.