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

Матан_ЛинПрог

.pdf
Скачиваний:
6
Добавлен:
21.02.2016
Размер:
721 Кб
Скачать

3.9. f x1 3x2 max 3.10. f 2x1 x2 min

 

 

 

 

 

 

 

 

10x1 3x2 30 0

 

 

 

 

x1 2x2 2

 

 

 

 

 

 

 

 

 

 

 

 

 

x x

2

 

5 0

 

 

 

 

2x x

2

0

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2x2 0

 

 

 

 

 

 

 

 

 

 

 

 

 

x1 x2 10 0

 

 

 

 

x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 2x 0

 

 

 

 

x x

2

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

1

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2 2

 

 

 

 

 

, x2 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1 0,

 

 

 

 

 

 

x1

 

 

 

 

 

 

3.11. f

 

x1 2x2

max 3.12.

f x1 3x2 min

 

 

3.13. f

2x1 x2 max

x1 x2 1

 

 

 

 

 

 

 

 

x1 2x2 2 0

 

 

 

 

 

 

 

 

 

x1 x2 1

2x x

2

2

 

 

 

 

 

 

 

x 2x

2

3 0

 

 

 

 

 

 

 

 

 

x x

2

3

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

x2 4

 

 

 

 

 

 

 

 

 

2x2

6 0

 

 

 

 

 

 

 

 

 

 

 

x2 8

x1

 

 

 

 

 

 

 

 

x1

 

 

 

 

 

 

 

 

 

x1

x 3

 

 

 

 

 

 

 

 

 

 

 

 

 

x x

2

 

0

 

 

 

 

 

 

 

 

 

2 x 5

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

, x2

 

0

 

 

 

 

 

 

 

 

 

, x2 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

 

 

 

 

 

 

 

 

 

x1

 

 

 

 

 

 

 

 

 

1 x2 4

 

 

 

 

 

 

 

3.14. f

 

x1

x2 min

 

 

 

3.15. f

x1 2x2

max

 

 

 

 

 

 

 

 

x1 x2 6

 

 

 

 

x1 2x1 4 0

 

 

 

 

 

 

 

 

 

 

 

x 2x

2

0

 

 

 

 

x 2x

2

4 0

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 x1 3

 

 

 

 

 

x1 2x2 6 0

 

 

 

 

 

 

 

 

 

 

 

x

2

0

 

 

 

 

 

 

 

 

 

x ,

 

x

2

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

3.16. f

 

x1 x2 min

3.17. f

3x1

4x2 max

 

 

 

3.18. f

2x1 x2 min

x1 2x2 4 0

 

 

 

 

 

 

3x1 2x2 6 0

 

 

 

 

 

 

 

 

x1 2x2 4 0

2x x

2

4 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2x2

 

7 0

 

 

 

 

 

 

 

 

 

 

x2 3 0

x1 x2 4 0

 

 

 

 

 

 

 

3x1

 

 

 

 

 

 

 

 

 

x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x x

2

6 0

 

 

 

 

 

 

 

2x1

4x2

8 0

 

 

 

 

 

 

 

 

x1

x2 7 0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 1 0

 

 

 

 

 

 

 

 

 

 

x 2 0

x

4 0

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

x2 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2 0

 

 

 

 

 

 

 

 

 

 

 

 

x1

 

 

, x2

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.19. f

 

x1

7x2 max

 

 

 

3.20. f

 

2x1 6x2 min

 

 

 

 

 

 

 

 

x1 x2 4 0

 

 

 

 

x1 x2 4 0

 

 

 

 

 

 

 

 

 

 

 

x x

2

 

2 0

 

 

 

 

2x 6x

2

12 0

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 1 0

 

 

 

 

 

x 2 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x ,

x

2

 

0

 

 

 

 

x

2

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

§4. Симплексный метод решения задач линейного программирования

Симплексный метод позволяет, исходя из известного опорного плана задачи, за конечное число шагов получить ее оптимальный план. Каждый из шагов (или итераций) состоит в нахождении нового плана, которому соответствует большее (или меньшее) значение линейной функции, чем в предыдущем плане. Если задача не обладает планами или ее линейная функция не ограничена на многограннике решении, то симплексный метод позволяет установить это в процессе решения.

Пусть дана задача линейного программирования:

Fmax c1x1 c2x2 ... cnxn cn 1xn 1 ... cn mxn m

при

a11x1 a12x2 ...

a1nxn xn 1 b1

 

21x1 a22x2

a2nxn xn 2 b2

a

 

 

 

 

 

 

 

 

 

 

 

 

 

.............................................

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

x a

m2

x

2

...

a

mn

x

n

x

n m

b

 

m1 1

 

 

 

 

 

m

(4.1)

(4.2)

xj 0

( j 1,n m)

(4.3)

Запишем систему (4.2) в векторной форме:

A1x1 A2x2 ... Anxn An 1xn 1 An 2xn 2 ... An mxn m B, (4.4)

где

 

 

a

 

 

a

 

 

a

 

 

1

 

 

 

0

 

0

 

 

 

 

11

 

 

 

12

 

 

 

1n

 

 

 

 

 

 

 

 

 

 

 

 

 

А1

 

a21

 

a22

 

a2n

 

0

 

1

 

0

 

...

,А2

 

...

,...,Аn

 

...

,Аn 1

 

 

,Аn 2

 

 

,...,Аn m

 

 

,B

 

 

 

 

 

 

 

 

 

 

 

 

...

 

 

...

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

0

 

 

 

 

 

 

 

am1

 

 

am2

 

 

amn

 

 

 

 

 

 

 

1

 

b1

b2

...bm

Векторы An 1, An 2,...,An m - линейно независимые единичные векторы m-мерного пространства. Они образуют базис пространства. Поэтому в разложении (4.4) за базисные неизвестные выбираем хn 1,хn 2,...,хn m, а

свободные неизвестные х1,х2,...,хn

приравниваем нулю и, учитывая, что

bi 0

(i

 

), а

векторы An 1

, An 2,...,An m - единичные,

получаем

1,m

первоначальный план:

 

 

 

X0 (x1

0;x2

0;...;xn 0;xn 1 b1;xn 2 b2;...;xn m bm)

(4.5)

Плану (4.5) соответствует разложение:

 

 

An 1xn 1

An 2xn 2 ... An mxn m B

(4.6)

где

векторы

 

An 1, An 2,...,An m

линейно независимы, следовательно,

построенный первоначальный план (4.5) является опорным.

 

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

первоначальные данные записать в симплекс-таблицу.

 

В столбец

«Базис» включают

единичные

(базисные) векторы

An 1, An 2,...,An m.

В столбце С

записывают

коэффициенты при

неизвестных целевой функции, имеющие те же индексы, что и векторы данного базиса.

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

Столбцы векторов Аj представляют собой коэффициенты разложения

этих векторов по векторам данного базиса.

В симплекс-таблице первые m строк определяются исходными данными задачи, а показатели m 1 -ой строки вычисляют. В этой строке в столбце В записывают значение целевой функции, которое вычисляется по формуле:

F (C ,B)

 

 

 

 

(4.7)

а в столбце вектора Аj - значение:

 

 

 

 

j (C ,Aj ) cj , ( j

 

)

 

(4.8)

1,n

 

m

 

 

 

m

 

 

 

где (C ,B) cibi

и

(C ,Aj

) ciaij ,

( j

1,n

), - скалярные

i 1

 

 

 

i 1

 

 

 

произведения векторов, а ci - элемент, стоящий в i-ой строке таблицы. Значения j называются оценками плана.

Бази

Сδ

В

c1

c2

cn

cn+1

cn+2

cn+m

 

с

 

 

А1

А2

Аn

Аn+1

Аn+2

Аn+m

1

Аn+1

cn+1

b1

a11

a12

a1n

1

0

0

2

Аn+2

cn+2

b2

a21

a22

a2n

0

1

0

m

Аn+m

cn+m

bm

am1

am2

amn

0

0

1

m+1

j

 

F0

1

2

n

0

0

0

После заполнения таблицы исходный опорный план проверяют на оптимальность, просматривая элементы j m 1 -ой строки.

В результате может иметь место один из следующих трех случаев:

1) j 0 для всех j 1,n. Опорный план является оптимальным.

2) j

0 для

некоторого j, и

все соответствующие этому индексу

величины

aij 0

(i

 

). Целевая

функция не ограничена сверху на

1,m

множестве планов и задача не имеет решения.

3) j 0 для некоторых индексов j, и для каждого такого j по крайней мере одно из чисел aij положительно. Можно перейти от исходного плана к

новому опорному плану, при котором значение целевой функции увеличивается.

Этот переход от одного опорного плана к другому осуществляется исключением из базиса какого-нибудь из векторов и введением в него нового вектора. В качестве вектора, вводимого в базис, можно взять вектор Aj , для

которого отрицательное число j является наибольшей по абсолютной

величине. Для определения вектора, подлежащего исключению из базиса, находят число:

 

 

 

 

 

 

b

 

 

 

 

min

 

i

 

, где

aij 0

(4.9)

 

 

a

 

 

 

 

 

 

ij

 

 

 

Выбранные таким образом столбец и строка называются направляющими, а стоящий на их пересечении элемент aij называется

разрешающим.

Элементы новой симплекс-таблицы находят с помощью метода ЖорданаГаусса.

Итак, переход от одного опорного плана к другому сводится к переходу от одной симплекс-таблицы к другой (от одной итерации к следующей итерации).

После заполнения m 1 -ой строки выясняют, является ли новый опорный план оптимальным. Если нет, то итерационный процесс продолжают до тех пор, пока либо не получат оптимальный план задачи, либо не установят ее неразрешимость.

Алгоритм решения задач симплексным методом

1.Находят опорный план.

2.Составляют симплекс-таблицу.

3.Выясняют, имеется ли хотя бы одно отрицательное число j . Если нет,

то найденный опорный план оптимален. Если же среди чисел j

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

4.Находят направляющие столбец и строку. Направляющий столбец определяется наибольшим по абсолютной величине отрицательным числом j , а направляющая строка – минимальным из отношений компонент столбца вектора В к положительным компонентам направляющего столбца.

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

Задача. Решить симплексным методом задачу использования сырья из

§1.

 

 

2x1

3x2

21

 

 

x

x

2

8

 

Найти fmax 30x1 20x2

при

 

1

 

 

 

 

 

2x

 

10

 

 

 

 

 

1

 

 

 

 

 

 

 

x

0,

x

2

0

 

 

 

1

 

 

 

 

 

Решение. Приведем систему неравенств к канонической форме путем прибавления к левым частям неотрицательные переменные x3,x4,x5. Тогда получим:

fmax 20x1 20x2 0 x3 0 x4 0 x5

 

2x1 3x2 x3 21

 

x

x

2

x

4

8

 

при

 

1

 

 

 

 

 

 

 

 

 

 

2x

 

x

5

10

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

x ,x

2

,x

3

,x

4

,x

5

0

 

 

1

 

 

 

 

 

 

 

 

 

Экономический смысл

дополнительных

переменных: x3,x4,x5 -

неизрасходованное количество сырья S1,S2,S3 соответственно. Запишем полученную систему в векторной форме

А1x1 А2x2 А3x3 А4x4 А5x5 В,

где

2

 

3

1

 

 

0

0

 

21

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А1 1 , А2 1 , А3 0 , А4 1 , А5 0 , В 8

.

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

0

0

 

 

0

1

 

10

 

Единичные

векторы

 

А3,А4,А5

выберем за базис опорного плана,

свободные неизвестные

x3

,x4,x5 приравниваем нулю. То

есть,

пока

не

производятся изделия

P1

и

 

P2, в результате чего получим первоначальный

план X0 (x1

0;x2

0;x3

21;x4

8;x5 10). Сырье не

расходуется

и

прибыль

f0 0.

 

 

 

X0

 

 

 

 

 

 

 

Для

проверки плана

 

составляем

первую

симплекс-таблицу

(I

итерация)

и

подсчитываем

значение

f (X0) C В

и

оценок

j C

Аj

Cj. Если в таблице в

(m 1)-й строке все оценки j 0, то

полученный

план

X0

 

 

является

оптимальным;

если

же

имеются

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

В данной задаче имеем:

f (X0) 0 21 0 8 0 10 0, 1 C А1 C1 0 2 0 1 0 2 30 30,2 C А2 C2 0 3 0 1 0 0 20 20, 3 4 5 0.

 

Баз

C

В

 

 

ис

 

 

I

1

А3

0

21

 

2

А4

0

8

 

3

 

 

 

 

А5

0

10

30

20

0

0

0

 

 

 

 

 

 

 

 

b

 

А1

А2

А3

А4

А5

min

i

 

a

 

 

 

 

 

 

 

 

ij

2

3

1

0

0

21:2=10,5

1

1

0

1

0

8:1=8

 

 

2

0

0

0

1

10:2=5

 

 

 

m 1

 

j

 

 

f0 0

 

-30

 

-20

 

0

 

0

 

0

 

X0=(0;0;21;8;10)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I

1

 

А3

0

 

11

 

0

 

3

 

1

 

0

 

-1

 

11:3=11/3

 

I

2

 

А4

0

 

3

 

 

0

 

 

1

 

0

 

1

 

-1/2

 

3:1=3

 

 

3

 

А1

30

 

5

 

1

 

0

 

0

 

0

 

1/2

 

------

 

 

m 1

 

 

j

 

 

f 150

0

 

 

-20

 

0

 

0

 

15

 

X1=(5;0;11;3;0)

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I

1

 

А3

0

 

2

 

0

 

0

 

1

 

-1/3

 

1/2

 

 

 

II

2

 

А2

20

 

3

 

0

 

1

 

0

 

1

 

-1/2

 

 

 

 

3

 

А1

30

 

5

 

1

 

0

 

0

 

0

 

1/2

 

 

 

 

m 1

 

j

 

 

f2 21

0

 

0

 

0

 

0

 

5

 

Х*=(5;3;2;0;0)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для векторов базиса оценки равны нулю. Среди полученных оценок j

есть отрицательные. Это означает, что первоначальный опорный план не является оптимальным и его можно улучшить, включив в базис вектор, которому соответствует наибольшая по модулю из отрицательных оценок. То есть вектор А1 - направляющий вектор-столбец, т.к. max{| 30|, | 20|} 30. Выпуск одной единицы продукции P1 приносит 30 денежных единиц, что приносит наибольшую прибыль, чем выпуск продукции P2. Т.е. начинаем производство продукции вида P1.

При нахождении по формуле (4.9) элементы столбца В делим соответственно на элементы направляющего столбца, но только на положительные элементы. Если среди элементов направляющего столбца не окажется хотя бы одно положительное число, то задача является неразрешимой.

Найдем min{21/2,8/1,10/2} 10/2 5. Разрешающим элементом будет число 2, а направляющей вектор-строкой – А5. Найденное число 5 означает, что, исходя из запасов имеющегося сырья S1,S2 и S3, мы не можем выпустить продукцию P1 в количестве, большее, чем 5.

Переходим ко II -ой итерации, включив в базис вектор А1 вместо вектора А5, что означает: выпуск продукции P1 в количестве 5 единиц, при этом сырье вида S3 полностью расходуется, т.е. x5 0. Третью строку новой таблицы получаем делением всей строки на разрешающий элемент 2. Для каждого базисного вектора заполним соответствующие значения C . Эти базисные вектора А3, А4,А1 будут единичными и соответствующие оценки будут равны нулю, т.е. 3 4 1 0. Остальные элементы векторов В,А2,А5 новой таблицы вычислим из предыдущей таблицы методом Жордана-Гаусса (т.е. по правилу прямоугольника).

Получили новый

опорный план

X1 (5;0;11;3;0), при котором

выпускается продукция

P1 в количестве 5

единиц, а сырье видов S1 и S2

остается соответственно в количествах 11

и 3 единиц. При этом прибыль

составляет F1 150 (денежных единиц). Данный план опять проверяем на оптимальность. Среди j есть отрицательное число (-20); поэтому план X1

не является оптимальным. Переходим к III -ей итерации, используя предыдущий алгоритм вычисления. Включаем в базис вектор А2 вместо вектора А4 , что означает: выпуск продукции P2 в количестве 3 единиц, при этом сырье вида S2 полностью расходуется, т.е. x4 0. Вторую строку новой таблицы получаем делением всей строки на разрешающий элемент 1. Для каждого базисного вектора заполним соответствующие значения C . Эти базисные вектора А3, А2,А1 будут единичными и соответствующие оценки будут равны нулю, т.е. 3 2 1 0. Остальные элементы векторов В,А4,А5 новой таблицы вычислим из предыдущей таблицы методом Жордана-Гаусса (т.е. по правилу прямоугольника).

После III-ей итерации все j 0, и полученный новый план X2

является оптимальным: X* (5;3;2;0;0).

Экономический смысл оптимального плана X*: для получения максимальной прибыли, равной 210 денежных единиц, исходя из имеющихся запасов сырья S1 21, S2 8, S3 10, необходимо выпустить продукцию P1 в количестве 5 единиц, продукцию P2 в количестве 2 единицы, при этом сырья S1 останется неизрасходованным в количестве 2 ед., а сырье S2 и S3 полностью израсходуется.

Упражнения

Найти оптимальный план производства продукции симплексным

методом:

 

 

 

 

 

 

 

 

 

4.1.

 

 

 

 

4.2.

 

 

 

СЫРЬЕ

 

ИЗДЕЛИЯ

ЗАП

 

 

СЫРЬЕ

ИЗДЕЛИЯ

ЗАПАС

 

А

В

АСЫ

 

 

А

В

Ы

 

 

 

 

 

S1

 

12

3

684

 

 

S1

16

4

784

S2

 

10

5

690

 

 

S2

8

7

552

S3

 

3

6

558

 

 

S3

5

9

567

ПРИБЫ

 

6

2

 

 

 

ПРИБЫ

4

6

 

ЛЬ

 

 

 

 

 

 

ЛЬ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.3.

 

 

 

 

 

 

4.4.

 

 

 

СЫРЬЕ

ИЗДЕЛИЯ

ЗАП

А

В

АСЫ

 

S1

8

3

864

S2

7

6

864

S3

4

9

945

 

 

 

 

СЫРЬЕ

ИЗДЕЛИЯ

ЗАПАС

А

В

Ы

 

S1

11

3

671

S2

8

4

588

S3

5

3

423

 

 

 

 

ПРИБЫ

2

3

 

ЛЬ

 

 

 

 

 

 

 

 

 

 

4.5.

 

 

 

 

 

СЫРЬ

 

ИЗДЕЛИЯ

ЗАП

Е

 

А

 

В

АСЫ

S1

 

15

 

4

1095

S2

 

11

 

5

865

S3

 

9

 

10

1080

ПРИБ

 

3

 

2

 

ЫЛЬ

 

 

 

 

 

 

 

 

 

 

 

4.7.

 

 

 

 

 

 

 

 

 

СЫРЬЕ

ИЗДЕЛИЯ

ЗАП

А

 

В

АСЫ

 

 

 

S1

6

 

3

714

S2

5

 

10

910

S3

3

 

12

948

ПРИБЫ

3

 

9

 

ЛЬ

 

 

 

 

 

 

 

 

 

 

4.9.

 

 

 

 

 

 

 

 

 

СЫРЬЕ

ИЗДЕЛИЯ

ЗАП

А

 

В

АСЫ

 

 

 

S1

3

 

5

453

S2

4

 

8

616

S3

3

 

11

627

ПРИБЫ

2

 

5

 

ЛЬ

 

 

 

 

 

 

 

 

 

 

 

ПРИБЫ

 

5

 

2

 

 

ЛЬ

 

 

 

 

 

 

 

 

 

 

 

 

4.6.

 

 

 

 

 

 

СЫРЬЕ

 

ИЗДЕЛИЯ

ЗАПАС

 

А

 

В

 

Ы

 

 

 

 

 

S1

 

9

 

5

1431

 

S2

 

7

 

8

1224

 

S3

 

4

 

16

1328

 

ПРИБЫ

 

3

 

2

 

 

ЛЬ

 

 

 

 

 

 

 

 

 

 

 

 

 

4.8.

 

 

 

 

 

 

 

 

 

 

 

 

СЫРЬЕ

 

ИЗДЕЛИЯ

ЗАПАС

 

А

 

В

 

Ы

 

 

 

 

 

S1

 

9

 

4

801

 

S2

 

6

 

7

807

 

S3

 

3

 

8

768

 

ПРИБЫ

 

3

 

2

 

 

ЛЬ

 

 

 

 

 

 

 

 

 

 

 

 

 

4.10.

 

 

 

 

 

 

 

 

 

 

 

 

СЫРЬЕ

 

ИЗДЕЛИЯ

ЗАПАС

 

А

 

В

 

Ы

 

 

 

 

 

S1

10

 

9

1870

 

S2

 

5

 

11

1455

 

S3

 

4

 

15

1815

 

ПРИБЫ

 

7

 

9

 

 

ЛЬ

 

 

 

 

 

 

 

 

 

 

 

 

§5. Метод искусственного базиса

Чтобы решить задачу линейного программирования, записанную в канонической форме, симплексным методом необходимо, чтобы количество единичных векторов равнялось количеству уравнений в системе. Если же единичных векторов меньше количества уравнений, то задачу решают методом искусственного базиса. Для этого вводят дополнительные единичные вектора, которые называются искусственными, и получают расширенную задачу, которая имеет опорный план, и, следовательно, решается обычным симплексным методом.

В симплекс-таблице первые m строк определяются исходными данными задачи, а значения:

F (C ,B)

(5.1)

и:

 

 

 

 

j

(C ,Рj ) cj , ( j

 

)

(5.2)

1,n

m

m

 

 

 

где (C ,B) cibi

и (C ,Рj ) ciaij ,

( j

1,n

),

i 1

i 1

 

 

 

записывают в две строки, т.е. в m 1 -ую и m 2 -ую строки, так как искусственная переменная в целевую функцию вводится с коэффициентомМ , где M - некоторое достаточно большое положительное число, конкретное значение которого обычно не задается.

При конкретных вычислениях значения F и j содержат две слагаемые,

одно из которых содержит M , а другое – нет. Для удобства итерационного процесса число, стоящее при M , записывают в m 2 -ую строку, а слагаемое, которое не содержит M , - в m 1 -ую строку и продолжают решение задачи обычным симплексным методом.

Алгоритм решения задач методом искусственного базиса

1.Составляют расширенную задачу.

2.Находят опорный план расширенной задачи.

3.С помощью обычных вычислений симплексного метода исключают искусственные векторы из базиса. В результате либо находят опорный план исходной задачи, либо устанавливают ее неразрешимость.

4.Найденный опорный план проверяют на оптимальность.

Задача. Требуется найти максимум функции:

 

Fmax 2x1 x2

 

2x1 3x2 9

при

 

2x2 2

x1

 

x

x

2

8

 

1

 

 

 

 

x

, x

2

0

 

1

 

 

Приведем функцию к канонической форме:

 

Fmax 2x1

x2

0x3 0x4

0x5

 

2x1 3x2 x3 9

 

при

 

2x2 x4

2

 

 

 

x1

 

 

 

 

x

x

2

x

5

8

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

x , x

2

, x

3

, x

4

, x

5

0

 

 

1

 

 

 

 

 

 

 

 

 

Запишем систему в векторной форме:

Р1x1 Р2x2 Р3x3 Р4x4 Р5x5 В.

Среди векторов:

 

2

 

3

 

1

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P1

1 ,P2 2 ,P3

0 ,P4 1 ,P5 0

 

2

 

 

1

 

 

0

 

 

0

 

 

 

 

 

 

 

 

 

 

 

1

 

только два единичных вектора, уравнений – три. Введем дополнительный

1

 

 

 

 

единичный вектор P6 0

, т.е. в первое уравнение добавим

 

0

 

 

 

неотрицательную искусственную переменную x6

с коэффициентом

М .

Получим следующую расширенную задачу:

 

 

 

 

 

 

Fmax 2x1

x2

0x3

0x4

0x5 Mx6

 

 

2x1 3x2 x3 x6 9

 

 

при

 

 

2x2 x4

2

 

 

 

 

 

.

 

x1

 

 

 

 

 

 

 

x

x

2

x

5

8

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x , x

2

, x

3

, x

4

, x

5

,

x

6

0

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

Расширенная задача

 

 

имеет

 

 

первоначальный опорный

план

X0 (0; 0; 0; 2; 8; 9), определяемый

системой трех единичных векторов:

P4, P5, P6 . Составляем

таблицу I-ой

итерации, содержащую 5 строк. Для

заполнения 4-ой и 5-ой строк находим f0 и j ( j 1,6):

f0 C В M 9 0 2 0 8 9M 0,1 C P1 C1 M ( 2) 0 1 0 1 2 2M 2,

 

 

 

2 3M 1,

3 M 0, 4 5 6 0.

 

 

 

 

 

 

Значения f0 и

j

содержат две слагаемые, одно из которых содержит

M , а другое – нет. Число, стоящее при

M , записываем в 5 -ую строку, а

слагаемое, которое не содержит M , - в 4 -ую строку.

 

 

 

 

 

 

 

В 5-ой строке

в

столбце

P2

имеется отрицательное число (-3), что

означает, что опорный план не является оптимальным. Переходим к новому

опорному

плану. В базис

вводим

вектор P2 . Чтобы определить

вектор,

исключаемый из

базиса,

находим

 

 

9

8

3. Значит, из

базиса

min

,

 

 

 

 

 

 

 

 

 

 

 

3

1

 

 

 

 

 

 

исключаем вектор P6, который является искусственным и, следовательно, не

имеет смысла в следующей итерации заполнять столбец P6.

 

b

 

 

 

 

 

2

 

-1

0

0

 

0

 

 

 

Баз

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

С

В

 

 

 

 

 

 

 

 

min

 

 

 

ис

P

 

P

P

P

 

P

P

 

a

 

 

 

 

 

 

 

 

 

 

 

ij

 

 

 

 

 

1

 

2

3

4

 

5

0

 

 

 

 

 

 

1

P6

9

-2

3

-1

0

 

0

0

9:3=3

 

2

P4

0

2

1

 

-2

0

1

 

0

1

-----

 

 

 

I

3

P5

0

8

1

 

1

0

0

 

1

0

8:1=8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

j

f0 0

-2

1

0

0

0

0

X0=(0;0;0;2;8;9)

5

 

-9

2

 

1

0

0

0

 

 

-3

 

 

 

 

 

 

 

 

 

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]