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

2979

.pdf
Скачиваний:
2
Добавлен:
15.11.2022
Размер:
2.72 Mб
Скачать

Таблица1

Устройство симплекс-таблицы.

i

базис

 

 

с1

с2

сr

сm

сm+1

сk

сn

 

 

сб

Р0

P1

P2

….

Pr

Pm

Pm+1

Pk

Pn

1

P1

с1

b1

1

0

0

0

a1,m+1

a1k

a1n

2

P2

с2

b2

0

1

0

0

a2,m+1

a2k

a2n

….

….

R

Pr

сr

br

0

0

1

0

a r,m+1

ark

arn

….

m

Pm

сm

bm

0

0

0

1

am,m+1

amk

arm

m+

 

 

F0

0

0

0

0

m+1

k

n

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 2

i

базис

 

 

c1

c2

cr

cm

cm+1

ck

cn

 

 

cб

Р0

P1

P2

Pr

Pm

Pm+1

Pk

Pn

1

P1

c1

'

1

0

'

0

'

0

'

 

 

 

b1

 

 

 

a1r

 

 

a1,m 1

 

 

 

a1n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

P2

c2

'

0

1

'

0

'

0

'

 

 

 

b2

 

 

 

a2r

 

 

a2,m 1

 

 

 

a2n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

Pr

cr

'

0

0

'

0

'

1

'

 

 

 

br

 

 

 

a1r

 

 

ar,m 1

 

 

 

arn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

Pm

cm

'

0

0

'

1

'

0

'

 

 

 

bm

 

 

 

a1r

 

 

am,m 1

 

 

 

amn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

'

0

0

'

0

'

0

'

+1

 

 

F0

 

 

 

r

 

 

m 1

 

 

 

n

Первые m строк симплекс-таблицы определяются исходными данными, а показатели (m+1)-ой строки вычисляют. В этой строке в столбце вектора P0 записывается значение F0 целевой функции, которое она принимает при данном опорном плане, а в столбце вектора Рj - значения

m

m

j = zj-cj, zj=(cj,pj)= ciaij , j

1, n

; F0

=(cб,P0)= cibi .

i 1

i 1

131

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

1.j≥0, j m 1, n , исходный опорный план оптимальный;

2.j≤0 для некоторого ј и все соответствующие этому ин-

дексу величины aij≤0, i 1, m ,- целевая функция не ограничена сверху на множестве планов;

3. ∆j<0 для некоторых индексов j и для каждого такого j по крайней мере одно из чисел aij>0. В этом случае можно перейти от исходного к новому опорному плану, при котором значение целевой функции увеличится. Этот переход осуществляется исключением из исходного базиса какогонибудь из векторов и введением в него нового вектора.

В качестве вектора, вводимого в базис, выбирают вектор, соответствующий максимальному по модулю отрицательному числу ∆ј. Если же таких чисел несколько, то в базис будем вводить вектор, имеющий такой же индекс, как и максимальное из чисел cj, определяемых данными числами ∆ј (∆ј <0). Для определения вектора, подлежащего исключению из базиса, находят min (bi/aik)=Ө0 для всех aik >0. Пусть этот минимум достигается при i=r. Тогда из базиса исключается век-

тор Pr, а число ark называется разрешающим элементом.

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

Правила перехода к новой симплекс-таблице.

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

132

ставляются единицы, а все остальные элементы данных столбцов полагают равными нулю.

2. Элементы векторов Р0 и Рj в строке новой симплекстаблицы, в которой записан вектор, вводимый в базис, получают из элементов этой же строки исходной таблицы делением их на величину разрешающего элемента. В столбце cб вводимого вектора проставляют величину ck , где k - ин-

декс вводимого вектора.

3. Остальные элементы столбцов Р0 и Рj новой симплекстаблицы вычисляются по правилу треугольника. Для вычисления какого-нибудь из этих элементов находят 3 числа:

a)число, стоящее в исходной симплекс-таблице на месте искомого элемента новой симплекс-таблицы;

b)число, стоящее в исходной симплекс-таблице на пересечении строки, в которой находится искомый элемент новой симплекс-таблицы и столбца, соответствующего вектору, вводимому в базис;

c)число, стоящее в новой симплекс-таблице на пересе-

чении столбца, в котором стоит искомый элемент, и строки вновь вводимого в базис вектора.

Эти 3 числа образуют треугольник, 2 вершины которого соответствуют числам, находящимся в исходной симплекстаблице, а третья – числу, находящемуся в новой симплекстаблице. Для определения искомого элемента новой сим- плекс-таблицы из первого числа вычитают произведение второго и третьего.

После заполнения новой симплекс-таблицы просматривают элементы (m+1)-ой строки. Если все ∆ј≥0, j 1, n ,то но-

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

133

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

Вид сырья

Нормы затрат сырья

Общее кол-во

 

На одно изделие(кг.)

сырья

 

А

В

С

 

1

18

15

12

360

2

6

4

8

192

3

5

3

3

180

Цена одного изд.

9

10

16

 

Изделия А, В, С могут производиться в любых соотношениях (сбыт обеспечен), но производство ограничено выделенным предприятию сырьём каждого вида. Необходимо составить план производства изделий, при котором общая стоимость всей произведенной предприятием продукции является максимальной.

Решение. Искомый выпуск изделий А обозначим через х1, изделий В – через х2, изделий С- через х3.

Общая ЗЛП:

F 9x1 10x2 16x3 max,

18x1 15x2 12x3 360,6x1 4x2 8x3 192,5x1 3x2 3x3 180,

x j 0, j 1,6.

Канонический вид:

134

F 9x1 10x2 16x3 max,

18x1 15x2 12x3 x4 360,6x1 4x2 8x3 x5 192,5x1 3x2 3x3 x6 180,

x j 0, j 1,6.

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

x1Р1+x2Р2+x3Р3+x4Р4+x5Р5+x6Р60,

где

 

18

 

 

15

 

 

12

 

 

 

 

1

 

 

 

 

0

 

 

 

0

 

 

 

360

 

P

6

 

, P

 

4

 

, P

 

8

 

, P

 

0

 

, P

 

1

 

, P

 

0

 

, P

 

192

.

1

 

 

 

2

 

 

 

3

 

 

 

4

 

 

 

 

5

 

 

 

6

 

 

 

0

 

 

 

 

 

5

 

 

 

3

 

 

 

3

 

 

 

 

0

 

 

 

 

0

 

 

 

1

 

 

 

180

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Т.к. среди векторов Рj,

j 1,6 , имеются 3 единичных вектора

Р4, Р5, Р6, то переменные х4, х5, х6

будут базисными, осталь-

ные переменные х1, х 23 – свободными. Свободные переменные полагаем равными 0. Тогда из канонического вида ЗЛП следует, что х4=360, х5=192, х6=180. Таким образом, для данной ЗЛП можно непосредственно записать опорный план Х=(0, 0, 0, 360, 192, 180), определяемый системой трёхмерных единичных векторов Р4, Р5, Р6, которые образуют единичный базис пространства R3. Начальное значение F0 целевой функции при этом будет равно 0.

Все вычисления оформляем в виде последовательности симплекс-таблиц. Для первой симплекс-таблицы вычисляем

величины ∆j=(cб,Pj)-cj, j 1, 3. Для векторов базиса ∆j=0, j 4,6 , ∆1=(cб,P1)-с1=-9, ∆2=(сб,P2)-с2=-10, ∆3=(сб,P3)-с3=-16.

Т.к. среди чисел ∆j, j 1,6 , имеются отрицательные

числа, то данный опорный план не является оптимальным. Находим максимальное по модулю отрицательное значение ∆j=-16. Столбец, в котором оно находится, определяет вектор,

135

выводимый из базиса, т.е. вектор Р3. Столбец вектора Р3 будет разрешающим столбцом.

i

Базис

cб

Р0

9

10

16

0

0

0

 

 

 

 

P1

P2

P3

P4

P5

P6

1

Р4

0

360

18

15

12

1

0

0

2

Р5

0

192

6

4

8

0

1

0

3

Р6

0

180

5

3

3

0

0

1

4

 

 

0

-9

-10

-16

0

0

0

1

Р4

0

72

9

9

0

1

-3/2

0

2

Р3

16

24

¾

½

1

0

1/8

0

3

Р6

0

108

11/4

3/2

0

0

-3/8

1

4

 

 

384

3

-2

0

0

2

0

1

Р2

10

8

1

1

0

1/9

-1/6

0

2

Р3

16

20

¼

0

1

-1/18

5/24

0

3

Р6

0

96

5/4

0

0

-1/6

-1/8

1

4

 

 

400

5

0

0

2/9

5/3

0

Для определения вектора, выводимого из базиса, определяем значение

 

 

(P )

 

0

min

0 i

 

 

 

 

i 1,3

(P3 )i

 

 

360

 

192

 

180

 

min(30;14;60)

14.

min

 

;

 

 

;

 

 

 

 

 

 

 

 

12

 

8

 

3

 

 

 

Знаменатель дроби 192/8, т.е. число 8, будет разрешающим элементом. Строка, в которой он находится, указывает на вектор, выводимый из базиса, т.е. вектор Р5.

Составляем симплекс-таблицу первой итерации. Сначала заполняем строку, номер которой совпадает с номером строки предыдущей симплекс-таблицы, в которой находится вектор Р5, т.е. вторую строку. Её элементы получаются из соответствующих элементов второй строки предыдущей сим- плекс-таблицы делением на разрешающий элемент, т.е. на 8. При этом в столбце cб записываем коэффициент с3=16, стоящий в столбце вводимого в базис вектора Р3. Затем заполняем элементы столбцов для векторов, входящих в новый базис. В этих столбцах на пересечении строк и столбцов векторов с

136

одинаковыми номерами проставляем 1, на пересечении строк и столбцов с разными номерами проставляем 0. ∆j для векторов базиса так же равны 0. Для определения остальных элементов второй симплекс-таблицы применяем правило треугольника. Вычислим, например, первое число в столбце вектора Р0. Для этого находим 3 числа:

число, стоящее в предыдущей симплекс-таблице на пересечении столбца вектора Р0 и первой строки, т.е. 360;

число, стоящее в предыдущей симплекс-таблице на пе-

ресечении столбца вектора Р3 (разрешающего столбца) и первой строки, т.е. 12;

число, стоящее в новой симплекс-таблице на пересече-

нии столбца вектора Р0 и второй строки (разрешающей строки), т.е. 24.

Вычитая из первого числа произведение двух других, находим искомый элемент: 360 12 24 72 , записываем его в первой строке столбца вектора Р0. Для вычисления 3-го числа столбца вектора Р0 используется 3-я строка предыдущей сим- плекс-таблицы. Аналогично вычисляются остальные элементы симплекс-таблицы второй итерации. Для вычисления элементов ее 4-й строки используется 4-я строка предыдущей

симплекс-таблицы. Среди чисел ∆j, j 1,6, новой симплекстаблицы есть одно отрицательное число 2 2 . Поэтому

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

 

 

(P )

i

 

 

0

min

0

 

 

 

 

 

i 1,3

(P2 )i

 

79

 

24

 

108

 

 

79

 

0.

min

 

;

 

;

 

 

 

 

, (P2 )i

9

12

32

9

 

 

 

 

 

 

 

Число 9, стоящее в первой строке второй симплекстаблицы, определяет вектор, подлежащий выводу из базиса, т.е. вектор Р2. Составляем симплекс-таблицу второй итерации. Её элементы вычисляем аналогично элементам предыдущей симплекс-таблицы, используя их для определения зна-

137

чений новой симплекс-таблицы. В четвёртой строке третьей симплекс-таблицы все ∆j≥0, j 1,6 . Следовательно, получен-

ный на последней итерации опорный план Х=(0; 8; 20; 0; 0; 96) является оптимальным и Fmax=400. Нужно изготовить 8 изделий В и 20 изделий С. При данном плане выпуска изделий полностью используется сырье 1 и 2 вида, а стоимость производимой продукции равна 400 д.е.

4. Двойственные ЗЛП

Пусть дана общая ЗЛП:

 

n

 

 

 

 

 

 

F c j x j max

 

 

 

j 1

 

 

 

 

 

 

 

n

bi ,

 

 

 

 

 

 

 

 

 

 

 

aij x j

i 1,k

j 1

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

aij x j

 

 

 

 

 

 

bi ,

i k 1,m

 

j 1

 

 

 

 

 

 

 

x j 0,

j 1,l,

l n.

Задача, состоящая в определении min функции

 

m

 

 

 

 

F* bi yi min

i 1

 

 

 

 

при условиях

 

 

 

 

 

m

 

c j ,

 

 

 

 

 

 

 

aij yi

j 1,l

i 1

 

 

 

 

 

m

 

 

 

 

 

 

yi

c j ,

j l 1, n

aij

i 1

 

 

 

 

 

(1)

(2)

(3)

(4)

(5)

 

 

 

 

 

yi 0,

i 1, k,

k m,

(6)

называется двойственной по отношению к задаче (1)-(3). Задачи (1)-(3) и (4)-(6) образуют пару задач, называемую в линейном программировании двойственной парой.

138

Правила составления двойственной задачи по отношению к исходной

1)Целевая функция исходной задачи (1)-(3) исследуется на max, а целевая функция двойственной задачи

(4)-(6) – на min.

2)Матрица

a11

a12...

a1n

 

 

 

 

 

 

 

A a21

a22...

a2n

,

(7)

 

am2 ...

 

 

 

am1

amn

 

 

составленная из коэффициентов при неизвестных в системе

(2) ограничений исходной задачи (1)-(3), и аналогичная матрица

a

a

 

...

a

 

 

 

11

 

21

 

 

m1

 

 

AT a12

a22...

am2

 

(8)

 

a2n ...

 

 

 

 

a1n

amn

 

в двойственной задаче (4)-(6) получаются друг из друга транспонированием (т.е. заменой строк столбцами, а столбцов строками).

3)Число переменных в двойственной задаче (4)-

(6)равно числу ограничений в системе (2) исходной задачи

(1)-(3), а число ограничений в системе (5) двойственной задачи – числу переменных в исходной задаче.

4)Коэффициентами при неизвестных в целевой функции (4) двойственной задачи (4)-(6) являются свободные члены в системе (2) ограничений исходной задачи (1)-(3), а правыми частями в ограничениях системы (5) двойственной задачи – коэффициенты при неизвестных в целевой функции

(1)исходной задачи.

5)Если переменная x j исходной задачи (1)-(3)

может принимать только лишь неотрицательные значения, то j-ое ограничение в системе (5) двойственной задачи (4)-(6)

139

является неравенством вида . Если же переменная x j может

принимать как положительные, так и отрицательные значения, то j-ое ограничение в системе (5) представляет собой уравнение. Если i-ое ограничение в системе (2) является неравенством, то i-ая переменная двойственной задачи yi 0 .

Если же i-ое ограничение есть уравнение, то переменная yi может принимать как положительное, так и отрицательное

значения.

Двойственные пары задач подразделяют на симметричные и несимметричные. В симметричной паре двойственных задач ограничения (2) прямой задачи и ограничения (5) двойственной задачи являются соответственно неравенствами вида и . Таким образом, переменные обеих задач могут принимать лишь неотрицательные задачи.

Связь между решениями прямой и двойственной

задач

Рассмотрим пару двойственных задач, образованную основной ЗЛП и двойственной к ней.

Исходная задача:

n

 

 

 

 

 

 

 

F c j x j max

(9)

j 1

 

 

 

 

 

 

 

при условиях

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

aij x j

bi ,

 

i 1, m

(10)

j 1

 

 

 

 

 

 

 

 

 

 

 

 

x j 0,

j 1, n

(11)

Двойственная задача:

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

F* bi yi

min

 

i 1

(12)

 

при условиях

 

 

140

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