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

книги / Математические основы теории систем. Методы оптимизации

.pdf
Скачиваний:
1
Добавлен:
12.11.2023
Размер:
1.41 Mб
Скачать

3.Находится область допустимых решений (область, где выполняются все ограничения).

4.Строится график целевой функции при каком-либо значении правой части:

Q = −2x1 4x2 = 0, x2 = − x1 . 2

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

Отрезок прямой АВ является решением задачи линейного программирования.

6.В ответе записываются функция, граничные точки отрезка

изначение целевой функции на этом отрезке:

x1

=

4;

32

 

,

x2

=

2

;4

, Qmin

= −2

32

4

2

= −24.

 

3

 

 

 

 

3

 

 

 

 

 

 

3

3

 

Способ 2

Пункты 1 – 3 выполняются аналогично описанным в способе 1. 4. Подсчитываются значения целевой функции во всех вершинах

допустимого многогранника:

O [0;0],

 

Q = 0;

C [0;4],

 

Q = −10;

A [4;4],

 

Q = −24;

B

32

;

2

 

,

Q = −24;

 

 

3 3

 

 

D [10;0],

 

Q = −20.

Qmin = −24

 

– в двух точках, следовательно, отрезок AB, соеди-

няющий эти точки, является решением задачи.

21

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

Симплекс-метод является универсальным методом решения ЗЛП [2]. Рассмотрим основные понятия симплекс-метода.

2.4.1. Канонический вид ЗЛП

Рассмотрим пример:

Q = 10 x1 x2 min,

3x1 + 2x2 + x3 = 10,

4x1 + 5x2 + x4 = 20,

x1

 

(2.4)

+ 7x2

+ x5 = 45,

1

5

0.

x ,..., x

Канонический вид задачи должен удовлетворять следующим условиям:

1.Количество переменных (n) не меньше количества ограниче-

ний (m): n m;

2.Ограничения имеют вид равенств.

3.Среди n переменных имеются m переменных, которые удовлетворяют условию: коэффициент при этой переменной в одном ограничении равен единице, в остальных – нулю. Эти переменные на-

зывают базисными (x3, x4, x5 – базисные переменные), остальные (n m) переменных называют свободными.

4.Правые части ограничений неотрицательны.

5. Целевая функция выражена через свободные переменные и минимизируется.

Каждому каноническому виду соответствует вершина допустимого многогранника.

2.4.2. Симплекс-таблица, соответствующая каноническому виду

Каждому каноническому виду поставлена в соответствие сим- плекс-таблица. Левый столбец таблицы – номера базисных переменных; верхняя строка таблицы – номера свободных переменных; пра-

22

вый столбец – правые части ограничений; нижняя строка (кроме крайнего правого элемента) – коэффициенты целевой функции; элемент, стоящий справа в нижней строке, – значение (–Q0), где Q0 – свободный член целевой функции; внутреннее пространство таблицы – коэффициенты при свободных переменных (рис. 2.3):

Рис. 2.3. Симплекс-таблица для примера (2.4)

2.4.3. Нахождение координат вершины допустимого многогранника по каноническому виду (симплекс-таблице)

Задача линейного программирования может иметь столько канонических видов, сколько вершин у допустимого многогранника.

Для определения координат вершины допустимого многогранника свободные переменные приравниваются нулю, базисные переменные – правым частям ограничений. Целевая функция в данной вершине равна (–Q0).

Для вышеприведенной симплекс-таблицы

x1 = x2 = 0 , x3 = 10 , x4 = 20 , x5

= 45 , Q = 10.

Пример

 

 

Q = x1 + x2 max,

 

x1

10,

 

x1

+ 2x2 20,

(2.5)

x1, x2 0.

 

Для приведения задачи к каноническому виду добавим в первое ограничение переменную x3, во второе ограничение – переменную x4, целевую функцию помножим на –1:

23

x1

+ x3 = 10,

 

 

x1

+ 2x2 + x4

= 20,

(2.6)

G = − x1 x2

min,

 

где х3, x4 – базисные переменные, х1, x2 – свободные переменные. Этому каноническому виду соответствует вершина:

x1 = 0 , x2 = 0 , x3 = 10 , x4 = 20 , G = Q = 0 .

Составим таблицу коэффициентов при переменных в ограничениях:

x1

x2

x3

x4

b

1

0

1

0

10

1

2

0

1

20

 

 

 

 

 

Поделим коэффициенты второй строки таблицы на 2:

x1

x2

x3

x4

b

1

0

1

0

10

 

 

 

 

 

0,5

1

0

0,5

10

 

 

 

 

 

Как видим, для второй таблицы базисными являются переменные x2 , x3, а ограничения примут вид:

x1 + {x}3 = 10,

0,5x1 + x2 + 0,5x4 = 10.

Поскольку переменная x2 стала базисной, ее необходимо исключить из целевой функции:

G = − x1 x2 = − x1 (10 0,5x1 0,5x4 ) = −10 0,5x1 + 0,5{x}4 .

Соответствующая вершина имеет координаты:

x1 = 0 , х2 = 10 , x3 = 10 , x4 = 0 , G = −10 (Q = 10) .

2.4.4. Алгоритм решения ЗЛП с помощью симплекс-метода

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

24

Рассмотрим три алгоритма решения ЗЛП симплекс-методом. 1. ЗЛП приводится к каноническому виду.

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

Q = Q0 + p3 x3 + p4 x4 min ,

x1 + a13 x3 + a14 x4 = b1,

+ + =

x2 a23 x3 a24 x4 b2 ,

x1, x2 ,..., xn 0.

Данная задача уже приведена к каноническому виду (приведение ЗЛП к каноническому виду рассмотрено ниже). Составляется сим- плекс-таблица, соответствующая каноническому виду:

 

3

4

 

1

a13

a14

b1

2

a23

a24

b2

 

р3

р4

Q0

2.Находятся координаты вершины, соответствующей каноническому виду.

3.Анализируется целевая функция в вершине, т.е. выясняется, оптимальна ЦФ в данной вершине или нет:

Q = Q0 + p3 x3 + p4 x4 (например, Q = 10 4x3 + 5x4 ).

Если среди коэффициентов целевой функции имеется хотя бы один отрицательный, то целевая функция в этой вершине неоптимальна. Если все коэффициенты ЦФ неотрицательны, но имеется хотя бы один нулевой, то решение оптимально, но не единственно. Если все коэффициенты ЦФ положительны, то решение оптимально

иединственно.

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

25

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

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

Пусть в рассматриваемой задаче р3 – максимальный по модулю отрицательный коэффициент целевой функции, тогда столбец а13, а23 – разрешающий, т.е. в новой симплекс-таблице x3 будет базисной переменной.

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

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

Пусть

b1

>

b2

, причем a13 > 0 , a23 > 0 ,

a13

 

 

a23

тогда строка (2, а23, а24, b2) – разрешающая.

Элемент, стоящий в разрешающей строке и разрешающем столбце, называется разрешающим (а23 – разрешающий элемент).

5.Выбранные свободные и базисные переменные (находящиеся

вразрешающих строке и столбце) меняются местами в симплекстаблице.

6.Пересчет коэффициентов в симплекс-таблице.

Поделим коэффициенты второго ограничения (разрешающая строка симплекс-таблицы) на разрешающий элемент:

x1

 

x2

 

x3

 

x4

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

0

 

 

a13

 

a14

 

b1

 

(I)

 

 

1

 

 

a23

= 1

 

a24

 

 

b2

 

 

 

 

 

 

 

 

 

(II)

0

 

 

 

 

 

 

 

 

a23

 

 

 

 

 

 

 

 

 

a

 

a

 

a

 

 

 

 

 

 

23

 

 

23

 

23

 

 

26

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

x1

 

 

x2

 

x3

 

 

 

x4

 

 

 

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

a13

 

0

a14

 

a13a24

 

b1

a13b2

 

(I– a13 II)

a23

 

 

a23

 

a23

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

1

 

 

1

 

 

a24

 

 

 

 

b2

 

 

(II)

 

 

 

 

 

 

 

a23

 

 

 

a23

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пересчитаем целевую функцию (исключим из нее x3):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

 

 

 

 

x

 

x a

24

 

 

 

Q = Q0 + p3 x3 + p4 x4 = Q0 + p4 x4

+ p3

 

2

 

 

2

4

 

 

=

 

 

 

 

 

 

a23

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a23

 

 

 

a23

 

 

 

 

 

 

 

 

 

 

 

b

 

p

 

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= Q0 + p3

2

3

x2 +

p4

p3

24

 

x4 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a23

a23

 

 

 

 

 

 

a23

 

 

 

 

 

 

 

 

 

Составим новую симплекс-таблицу:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

a13

 

 

a14 a13

a24

 

 

 

 

 

 

 

b1 a13

b2

 

 

 

a

23

 

 

 

a

 

 

 

 

 

 

 

a

23

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

1

 

 

 

 

 

a24

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b2

 

 

 

 

 

 

 

 

a23

 

 

 

 

 

a23

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a23

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p3

 

 

 

p4 p3

a24

 

 

 

 

 

Q0 p3

 

b2

 

 

 

a

23

 

 

 

 

a

23

 

 

 

 

 

 

a

23

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введем следующие обозначения:

аi j – разрешающий элемент, стоящий в старой симплекстаблице;

âi j – элемент, стоящий на том же месте в новой симплекстаблице (пересчитанный разрешающий элемент);

27

аi j – разрешающая строка, j = 1n; аij – разрешающий столбец, i = 1m.

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

на разрешающий элемент старой таблицы:

âi j = 1/ аi j .

Элементы новой разрешающей строки находят как произведение пересчитанного разрешающего элемента и соответствующих элементов старой разрешающей строки:

âi j = âi j аi j , j = 1n.

Новый разрешающий столбец получают путем умножения элементов старого разрешающего столбца на пересчитанный разрешающий элемент, взятый с обратным знаком:

âij = – âi j аij , i = 1m.

(2.7)

Остальные столбцы рассчитываются по формуле

âij = аij âi j аij , i = 1m , j = 1n.

Для нахождения элементов нового столбца из старого столбца вычитают произведение элемента, уже стоящего в новом столбце, и старого разрешающего столбца.

7. Записывается решение ЗЛП в случае неотрицательности коэффициентов нижней строки симплекс-таблицы.

Пример 1

Q = 8x1

+ 12x2 max ,

x1 + 2x2 220,

2x1

+ x2 260,

 

(2.8)

4x1

+ 5x2 640,

x , x 0.

1

2

1. Приведем задачу к каноническому виду путем введения искусственных переменных:

28

 

 

 

x1 + 2x2 + x3 = 220,

 

 

 

 

2x1 + x2 + x4 = 260,

(2.9)

 

 

 

 

 

 

 

 

 

 

 

 

4x1 + 5x2 + x5 = 640,

 

 

 

G = −8x1 12x2 min.

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

 

 

 

1

2

 

 

 

 

 

 

 

 

 

 

 

 

 

разрешающая строка

3

1

2

 

220

 

 

 

 

 

4

2

1

 

260

 

 

 

5

4

5

 

640

 

 

 

 

 

 

 

 

 

 

 

 

 

 

– 8

–12

 

0

 

 

 

 

 

 

 

 

разрешающий столбец

Поскольку имеются отрицательные коэффициенты целевой функции, то вершина, которой соответствует симплекс-таблица, неоптимальна. Максимальный по модулю отрицательный коэффициент ЦФ – (–12), следовательно, второй столбец является разрешающим.

Для определения разрешающей стройки находим отношения правых частей ограничений к положительным коэффициентам разрешающего столбца и выбираем минимальное отношение:

220/2 = 110, 260/1 = 260,

640/5 = 128.

3. Составляем новую симплекс-таблицу: разрешающий элемент = 2; новый разрешающий элемент: 1:2 = 0,5;

новая разрешающая строка: 1 0,5 = 0,5; 220 0,5 = 110;

новый разрешающий столбец: 1 (–0,5) = –0,5; 5 (–0,5)= –2,5;

–12 (–0,5) = 6.

Элементы других столбцов:

2

 

1

 

1,5

 

260

 

1

 

150

4

–0,5

5

=

1,5

 

640

–110

5

=

90

–8

 

–12

 

–2

 

0

 

–12

 

1320

 

 

 

 

 

 

 

 

 

 

 

29

Новая симплекс-таблица:

 

1

3

 

 

2

0,5

0,5

110

 

4

1,5

–0,5

150

 

 

 

 

 

––– разрешающая строка

5

1,5

–2,5

90

 

–2

6

1320

 

разрешающий столбец

Как видим, полученная вершина неоптимальна, и требуется перейти к следующей вершине.

4. Составляем следующую симплекс-таблицу:

 

5

3

 

2

–1/3

4/3

80

4

–1

2

60

1

2/3

–5/3

60

 

4/3

8/3

1440

 

 

 

 

Все коэффициенты целевой функции положительны, следовательно, найдено оптимальное и единственное решение задачи.

Ответ. координаты вершины: x1 = 60, x2 = 80, x3 = 0, x4 = 60, x5 = 0,

Gmin = –1440, Qmax = 1440.

Пример 2

Q = − x1 + x2 min ,

2x1 2x2 4,

x1 + 2{x}2 ≥ −2,

x

+ {x}

5,

1

 

2

 

, x2 0.

x1

Решение 1. Задача приводится к каноническому виду путем введения ис-

кусственных переменных:

30

Соседние файлы в папке книги