Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учеб пособие и варианты заданий.doc
Скачиваний:
129
Добавлен:
12.03.2015
Размер:
2.17 Mб
Скачать

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

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

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

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

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

Задача линейного программирования представлена в матричной форме записи:

(3.1)

(3.2)

где C= (c1,c2,….cn) –вектор-строка, A=(aij) –матрица размерности ,

-вектор –столбец, -вектор –столбец.

Для решения ЗЛП симплекс-методом необходимо привести ее к канонической форме записи (1.9) - (1.11), причем матрица системы уравнений должна содержать единичную подматрицу размерности . Приведение ЗЛП к каноническому виду осуществляется введе­нием в левую часть соответствующего ограничения вида (1.10)k-ой дополнительной переменной хп+k 0 со знаком «—» в случае огра­ничения типа и знаком «+» в случае ограничения типа .

Для решения ЗЛП табличным симплекс-методом удобно использовать векторную форму записи КЗЛП, которая имеет вид:

(3.3)

п

(3.4)

ри ограничениях

где C= (c1,c2,….cn), X= (x1,x2,….xn) – вектор - строки,

CX-скалярное произведение векторов C и X.

Координаты векторов A1, A2, ..., An - это коэффициенты при неизвестных х1, х2,…. хn соответственно.

После приведения ЗЛП к канонической форме записи необходимо определить допустимое базисное решение. Если для определенности предположить, что первые m векторов матрицы системы составляют единичную матрицу. Тогда очевиден первоначальный опорный план =(b1,b2,….bm,0,….,0) (последние n-m ком­понент вектора равны нулю). Этот план определяется системой единичных векторовA1, A2, ..., Aт, которые образуют базис m-мерного пространства.

Положим тогда

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

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

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

В табл. 3.1 первые m строк определяются исходными дан­ными задачи, а показатели вычисляют. В этой строке в столбце вектора B записывают значение целевой функ­ции, которое она принимает при данном опорном плане, а в столб­це вектора Aj — значение

Значение zj находится как скалярное произведение Aj на вектор Сб.

(3.5)

Значение F0, равно скалярному произведению вектора Сб на B.

(3.6)

Таблица 3.1

i

Базис

Сб

B

с1

с2

сr

сm

сm+1

ck

cn

Qmin

A1

A2

Ar

Am

Am+1

Ak

An

1

A1

с1

b1

1

0

0

0

a1m+1

a1k

a1n

q1

2

A2

с2

b2

0

1

0

0

a2m+1

a2k

a2n

q2

r

Ar

сr

br

0

0

1

0

arm+1

ark

arn

qr

m

Am

сm

bm

0

0

0

1

amm+1

amk

amn

qm

F0

0

0

0

0

0

0

После заполнения табл. 3.1 исходный опорный план прове­ряют на оптимальность. Для этого просматривают элементы (т+1)-й строки таблицы. В результате может иметь место один из следующих трех случаев:

1) 0 для j =m+1, m + 2, ..., п, при (По­этому в данном случае числа >0 для всех j от 1 до n;

2) <0 для некоторого j, и все соответствующие этому ин­дексу величины 0, (

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

В первом случае на основании признака оптимальности ис­ходный опорный план является оптимальным. Во втором случае целевая функция не ограничена сверху на множестве планов, а в третьем случае можно перейти от исходного плана к новому опорному плану, при котором значение целевой функции увели­чится. Этот переход от одного опорного плана к другому осу­ществляется исключением из исходного базиса какого-нибудь из векторов и введением в него нового вектора. В качестве век­тора, вводимого в базис, можно взять любой из векторов Aj, имеющий индекс j, для которого <0. Пусть, например, <0 и решено ввести в базис вектор Ak. Если получается несколько небазисных векторов, которые получают оценку <0, то в базис вводится вектор Ak, получивший наименьшую из отрицательных оценок.

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

(3.7)

Пусть этот минимум достигается при i =r. Тогда из базиса исключают вектор Ak, а число ark называют разрешающим элементом.

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

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

(3.8)

(3.9)

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

(3.10)

(3.11)

После вычисления исогласно формулам (3.9) и (3.11) их значения заносят в новую симплексную таблицу.

Для использования приведенной выше процедуры симплекс-метода к минимизации линейной формы f() следует искать мак­симум функции f1() = -f(), затем полученный максимум взять с противоположным знаком. Это и будет искомый минимум исход­ной ЗЛ П.

Пример 6. Для изготовления различных изделий A, В, С и D пред­приятие использует три различных вида сырья. Нормы расхода сырья на производство одного изделия каждого вида, цена од­ного изделия A, B, С и D, а также общее количество сырья каждого вида, которое может быть использовано предприятием, приве­дены в табл. 3.2.

Таблица 3.2

Вид сырья

Нормы затрат сырья (кг) сырья на одно изделие

Общее количест­во сырья (кг)

А

B

C

D

I

6

5

3

4

80

II

15

12

8

10

100

III

5

3

2

4

70

Цена одного изделия (руб.)

30

10

20

15

Изделия A, B, С и D могут производиться в любых соотноше­ниях (сбыт обеспечен), но производство ограничено выделен­ным предприятию сырьем каждого вида.

Составить план производства изделий, при котором общая стоимость всей произведенной предприятием продукции являет­ся максимальной.

Решение. Составим математическую модель задачи. Ис­комый выпуск изделий А обозначим через x1, изделий В — че­рез x2, изделий С — через хз, изделий D — через х4. Поскольку имеются ограничения на выделенный предприятию фонд сырья каждого вида, переменные х1, х2, x3, х4 должны удовлетворять следующей системе не­равенств:

Общая стоимость произведенной предприятием продукции при условии выпуска х1, изделий А, х2 изделий В, х3 изделий С, х4 изделий D составляет:

Запишем эту задачу в канонической форме. Для этого перейдем от ограничений-нера­венств к ограничениям-равенствам. Введем три дополнительные переменные, в результате чего ограничения запишутся в виде системы уравнений:

Эти дополнительные переменные по экономическому смыслу означают не используемое при данном плане производства ко­личество сырья того или иного вида. Например, x4 — это не­используемое количество сырья I вида.

А целевая функция примет вид:

Поскольку среди векторов A1, A2, A3, A4, A5, A6, A7 имеются три единичных вектора, для данной задачи можно непосредственно записать опорный план. Таковым является план Х=(0; 0; 0; 0; 80; 100; 70), определяемый системой трехмерных единичных векторов A5, A6, A7, которые образуют базис трехмерного век­торного пространства.

Как видно, значения всех основных переменных х1, х2, х3, х4 равны нулю, а дополнительные переменные принимают свои значения в соответствии с ограничениями задачи. Эти значения переменных отвечают такому «плану», при котором ничего не производится, сырье не используется и значение це­левой функции равно нулю (т. е. стоимость произведенной про­дукции отсутствует). Этот план, конечно, не является оптималь­ным.

Составляем симплексную таблицу для I итерации (табл. 3.3), подсчитываем значения F0=( Сб, B), и оценки

Например, оценка первого столбца

Δ1=0·6+0·15+0·5-30=-30

Таблица3.3

I

i

Базис

Сб

B

30

10

20

15

0

0

0

Qmin

A1

A2

A3

A4

A5

A6

A7

1

A5

0

80

6

5

3

4

1

0

0

2

A6

0

100

15

12

8

10

0

1

0

3

A7

0

70

5

3

2

4

0

0

1

0

-30

-10

-20

-15

0

0

0

Как видно и из 4-й строки табл. 3.3, получается три отрицательных оценки: —30, —10, —20 и —15. Отрицательные числа не только свидетельствуют о воз­можности увеличения общей стоимости производимой продук­ции, но и показывают, на сколько увеличится эта сумма при введении в план единицы того или другого вида продукции.

Так, число —10 означает, что при включении в план произ­водства одного изделия В обеспечивается увеличение выпуска продукции на 10 руб. Если включить в план производства по од­ному изделию A и С, то общая стоимость изготовляемой про­дукции возрастет соответственно на 30 и 20 руб. Поэтому с экономической точки зрения наиболее целесообразным является включение в план производства изделий A. Это же необходимо сделать и на основании формального признака симплексного метода, поскольку минимальная отрицательная оценка; стоит в 4-й строке столбца вектора A1. Сле­довательно, в базис введем вектор A1. Определяем вектор, под­лежащий исключению из базиса. Для этого находим Qmin по формуле (3.7):

Qmin = min (80/6; 100/15; 70/5) = 100/15.

Найдя число 100/15 = 6,67, мы тем самым с экономической точки зрения определили, какое количество изделий A пред­приятие может изготовлять с учетом норм расхода и имеющих­ся объемов сырья каждого вида. Так как сырья данного вида соответственно имеется 80, 100 и 70 кг, а на одно изделие A требуется затратить сырья каждого вида соответственно 6, 15 и 5 кг, то максимальное число изделий A, которое может быть изготовлено предприятием, равно min (80/6; 100/15; 70/5) = 100/15= 6,67 7, т. е. ограничивающим фактором для производства изделий A является имеющийся объем сырья II вида. С учетом его наличия предприятие может изготовить 7 изделий A. При этом сырье II вида будет полностью использовано.

Следовательно, вектор A6 подлежит исключению из базиса. Столбец вектора A6 и 2-я строка являются направляющими. Составляем таблицу для II итерации (табл. 3.4).

Сначала заполняем строку вектора, вновь введенного в ба­зис, т. е. строку, номер которой совпадает с номером направ­ляющей строки. Здесь направляющей является 2-я строка. Эле­менты этой строки табл. 3.4 получаются из соответствующих элементов табл. 3.3 делением их на разрешающий элемент (т. е. на 15).

Таблица 3.4

II

i

Базис

Сб

B

30

10

20

15

0

0

0

Qmin

A1

A2

A3

A4

A5

A6

A7

1

A5

0

2

A1

30

1

0

0

3

A7

0

1-ая строка новой II-ой симплексной таблицы 3.5 получается: (1-ая строка I-ой симплексной таблицы) -6·(2-ую строку II-ой симплексной таблицы).

3-ая строка новой II-ой симплексной таблицы 3.5 получается: (3-ая строка I-ой симплексной таблицы) -5·(2-ую строку II-ой симплексной таблицы).

Значение F0=0·40+30·+0·=200 и новый опорный план Х=(; 0; 0; 0; 40; 0; ) можно рассчитать из табл. 3.5.

Рассчитав оценки, получаем что есть одна отрицательная оценка

Δ3=0·(-2)+30·+0·-20=-4, что говорит о неоптимальности плана и возникает необходимость в III-ей итерации, следовательно необходимо найти Qmin=min(:)=·=,так как все остальные элементы вектора A3 меньше нуля.

Таблица 3.5

II

i

Базис

Сб

B

30

10

20

15

0

0

0

Qmin

A1

A2

A3

A4

A5

A6

A7

1

A5

0

40

0

-2

1

0

-

2

A1

30

1

0

0

3

A7

0

0

-1

0

1

-

200

0

14

-4

5

0

2

0

Переходим к новому базису вектор A1 подлежит исключению из базиса. Столбец вектора A3 и 2-я строка являются направляющими. Составляем таблицу для III итерации

Таблица 3.6

III

i

Базис

Сб

B

30

10

20

15

0

0

0

Qmin

A1

A2

A3

A4

A5

A6

A7

1

A5

0

0

1

0

2

A3

20

1

0

0

3

A7

0

45

0

0

0

1

250

20

0

10

0

0

Экономический смысл решения заключается в том, что при заданных ограничениях на ресурсы и цены на изделия получается невыгодным производить изделия вида A, B и D. Общая стоимость всей произведенной предприятием продукции являет­ся максимальной при производстве изделия вида С в количестве при этом максимальная стоимость составит 250 рублей.

Пример 7. Найти симплекс-методом максимум функции

при ограничениях

Решение: Так как среди векторов A1, A2, A3, A4, A5, A6 имеется три еди­ничных вектора, то для данной задачи можно непосредственно найти опорный план.

Таковым является план X=(0; 0; 20; 24; 0; 18). Составляем симплексную таблицу (табл. 3. 7) и прове­ряем, является ли данный опорный план оптимальным.

Таблица 3.7

I

i

Базис

Сб

B

2

-6

0

0

5

0

Qmin

A1

A2

A3

A4

A5

A6

1

A3

0

20

-2

1

1

0

1

0

20

2

A4

0

24

-1

-2

0

1

3

0

8

3

A6

0

18

3

-1

0

0

-12

1

-

0

-2

6

0

0

-5

0

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

Таблица 3.8

II

i

Базис

Сб

B

2

-6

0

0

5

0

Qmin

A1

A2

A3

A4

A5

A6

1

A3

0

12

1

0

0

-

2

A5

5

8

0

1

0

-

3

A6

0

144

-1

-9

0

4

0

1

-

40

0

0

0

Как видно из табл. 3.8, новый опорный план задачи не явля­ется оптимальным, так как в 4-й строке столбца вектора A1 стоит отрицательное число . Поскольку в столбце этого вектора нет положительных элементов, данная задача не имеет оптимального плана.