Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Математические основы теории систем_1 / Лекции / Павлова А.В. Математические основа теории систем. Лекции Часть 2.pdf
Скачиваний:
299
Добавлен:
02.06.2015
Размер:
1.3 Mб
Скачать

 

Т а б л и ц а 6.11

 

Т а б л и ц а 6.12

 

 

Т а б л и ц а 6.13

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

БП

Св.чл.

НП

 

 

 

БП

Св.чл.

 

 

НП

 

 

БП

Св..чл

 

 

НП

 

x

 

x

2

 

x

4

 

x

2

 

x

4

 

x

3

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x3

4

-1

 

3

 

x3

7,4

0,31

 

3,31

 

x2

2,2

0,09

 

0,3

x4

10,9

3,2

 

1

 

x1

3,4

0,31

 

0,31

 

x1

2,7

0,29

 

0,09

F

0

-1

 

-1

 

F

3,4

0,31

 

-0,69

 

F

4,9

0,37

 

0,21

Оптимальное решение x3* =[2,7; 2,2], F (x3* ) = 4,9 .

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

дачи достигается в точке x* = [2,5; 2] , при этом Fmax = 4,5.

6.3. Сепарабельное программирование

Функция F (x1, x2 ,..., xn ) называется сепарабельной, если её можно предста-

вить в виде суммы функций, каждая из которых зависит только от одной перемен-

ной, т.е. F (x1, x2 ,..., xn ) = F1 (x1 ) + F2 (x2 )+,...,+Fn (xn ) .

Сепарабельное программирование (СП) предназначено для решения нели-

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

Рассмотрим вначале кусочно-линейную аппроксимацию функции одной переменной F (x) , заданной на интервале [0, a] (рис. 6.4).

F(x)

0

 

 

 

a

x1 x2

x3

x4

xk

x

Рис. 6.4. Кусочно-линейная аппроксимация функции одной переменной F(x)

102

Предположим, что интервал [0, a] разбит на ряд интервалов меньшей длины некоторой совокупностью точек. Соединяя отрезками точки кривой, соответству-

~

ющие разбиению, получим график кусочно-линейной аппроксимации F (x) функ-

ции F (x) . Определим xk , k =1, K как k-ю точку разбиения по оси X . Точки x1 и xk совпадают с граничными точками интервала. Тогда аппроксимация F (x) записывается в виде

K

K

F (x) » å F (xk ) ×tk , x = å xk tk ,

k =1

k =1

где tk – неотрицательный весовой

множитель, ассоциированный с k-й точкой

разбиения.

K

Весовые множители удовлетворяют условию åtk = 1. При этом справедливы

k =1

следующие утверждения:

1. Не более двух весовых множителей tk принимают одновременно положи-

тельные значения.

2. Если значение tk > 0 , то положительным может оказаться только один из весовых множителей для смежных точек разбиения, т.е. tk -1 или tk +1 . Выполнение этого требования гарантирует, что в качестве приближения к F (x) рассматриваются точки, принадлежащие одному из отрезков кусочно-линейного графика.

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

При кусочно-линейной аппроксимации непрерывной сепарабельной функции

нескольких переменных интервал значений каждой переменной xi

разбивается на

подынтервалы совокупностью Ki точек.

 

 

 

 

 

 

 

Рассмотрим общую задачу СП:

 

 

 

 

 

 

 

 

ì

n

 

n

 

 

 

ü

(6.7)

 

 

 

 

 

 

 

maxíF (x) = åFi (xi )

 

ågij (xi

) £ b j , j =1, mý.

î

i=1

 

i=1

 

 

 

þ

 

 

 

 

 

 

Пусть xk k-я точка разбиения переменной x , а t k

– весовой множитель, ас-

i

 

 

i

i

 

 

 

 

социированный с этой точкой. Тогда в результате аппроксимации функцию F (x) можно представить следующим образом

n K i

K1

K 2

K n

F (x) = å åFi ( xik )tik = åF1 (x1k )t1k + åF2 (x2k ) t2k + ... + åFn ( xnk )tnk ,

i =1k =1

k =1

k =1

k =1

103

а ограничения задачи свести в систему

n Ki

 

 

 

 

 

 

 

 

å å gij (xik )tik £ b j , j =1, m ;

 

i =1k =1

 

 

 

 

 

 

 

 

Ki

 

 

 

Ki

 

 

 

xi = å xik ×tik , i =1, n;

 

åtik = 1; tik ³ 0, k =1, Ki .

 

k =1

 

k =1

 

При этом должно выполняться условие

 

til ×tip = 0,

l =

 

, p > l +1,

(6.8)

1, Ki -1

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

Переменными в аппроксимирующей задаче являются tik . Такую задачу можно

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

чать не более двух положительных множителей tik , которые должны соответство-

вать смежным точкам разбиения.

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

tik без нарушения правила ограниченного ввода в базис.

Пример 6.3.

Найти

 

максимальное

значение

функцииF (x) = x

+ x4

при

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

 

 

 

 

 

 

 

 

 

 

 

 

1

2

 

 

 

 

 

 

 

 

g(x) = 3x + 2x2

£ 9, x ³ 0,

x

2

³ 0 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

2

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Функция цели F (x) и ограничение g(x) являются сепарабельными функция-

ми, при этом составляющие F1(x1) = x1

и g1(x1) = 3x1 являются линейными и не

подлежат линеаризации. Поэтому x1

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

Линеаризации

подлежат функции,

зависящие от переменной x

2

:

F (x

2

) = x4

и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

2

 

g2 (x2 ) = 2x22 .

 

переменной x2

 

ограничения g(x) :

 

 

Диапазон

изменения

определим из

если

x = 0 , то x

2

£

9 » 2,12 . Округляя x2

до ближайшего целого в сторону увеличе-

1

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ния, получим, что 0 £ x2 £ 3 . Зададим количество точек разбиения K 2 = 4 ,

соот-

ветствующие им значения xk ,

F (xk ) ,

g

2

(xk ) и t2k сведены в табл. 6.14.

 

 

 

 

 

 

 

 

2

 

2

2

 

 

 

2

 

 

 

 

 

 

 

 

 

104

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отсюда следует что

F2 (x2 ) » t12 F2 (x12 ) + t22 F2 (x22 ) + t23F2 (x23 ) + t24 F2 (x24 ) = t22 +16t23 + 81t24 ;

 

 

 

 

x » t1x1

+ t

2x2

+ t3x3

+ t4x4

= t 2

+ 2t 3

+ 3t 4 .

 

 

 

 

2

2

2

 

2

2

2

2

2

2

 

2

 

 

2

 

2

 

 

 

Аналогично g2 (x2k ) » 2t22 + 8t23 +18t24 .

 

 

 

 

 

 

 

 

 

 

 

 

 

Т а б л и ц а 6.14

 

 

 

 

Таким

 

образом, аппроксимирующая за-

 

 

 

 

 

 

 

 

 

 

 

дача принимает следующий вид:

k

x2k

F2 (x2k )

 

g2 (x2k )

 

t2k

 

 

 

 

 

 

 

 

найти

максимальное

 

значение функции

1

0

0

 

0

 

 

t

1

 

 

 

 

 

 

2

 

 

3

+

4

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

 

 

 

 

 

 

 

2

 

 

F (x) = x1 + t2

+16t2

81t2

2

1

1

 

2

 

 

t

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

ì3x

 

+ 2t 2 + 8t 3

+ 18t 4 £ 9;

3

2

16

 

8

 

 

 

3

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

ï

1

1

2

2

 

 

2

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

2

3

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

í

 

t

2

+ t

2

+ t2

+ t

2 = 1;

4

3

81

 

18

 

 

t24

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ï

 

 

 

t k

³ 0, x

 

³ 0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

î

 

 

 

2

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Симплекс-таблица на первом шаге соответствует табл. 6.15. В базис включена дополнительная переменная S для первого ограничения и весовой коэффи-

циент t12 , который не входит ни в функцию цели, ни в первое ограничение и так-

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

Анализ табл. 6.15 показывает, что в базис нужно ввести t24 , исключая оттуда переменную S. Однако одновременно присутствовать в базисеt24 и t12 не могут по правилу ограниченного ввода в базис. Продолжая анализ, находим, что исключить из базиса следует t12 , меняя местами t12 и t23 . В результате расчетов получаем табл. 6.16.

Т а б л и ц а 6.15

Т а б л и ц а 6.16

 

Сво-

 

Небазисные

 

 

 

переменные

 

БП

бодные

 

 

 

 

 

 

 

члены

x

t 2

t 3

t 4

 

 

1

2

2

2

 

 

 

 

 

 

S

9

3

2

8

18

 

 

 

 

 

 

t21

1

0

1

1

1

 

 

 

 

 

 

F

0

-1

-1

-16

-81

 

 

 

 

 

 

 

Сво-

 

Небазисные

 

 

 

переменные

 

БП

бодные

 

 

 

 

 

 

 

члены

x1

t22

t21

t24

 

 

 

 

 

 

S

1

3

-6

-8

10

 

 

 

 

 

 

t23

1

0

1

1

1

 

 

 

 

 

 

F

16

-1

15

16

-65

 

 

 

 

 

 

105