Материал: Бородакий Нелинейное программирование в современных задачах оптимизации 2011

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

ПРЕДИСЛОВИЕ

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

Данная книга является логическим продолжением предыдущего учебного пособия «Линейное программирование в современных задачах оптимизации» и представляет собой результат многолетнего преподавания курса «Математическое программирование» на кафедре «Математическое обеспечение систем» в НИЯУ МИФИ.

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

Авторы выражают искреннюю благодарность дипломникам и аспирантам кафедры «Математическое обеспечение систем»: Бушину С.В., Зубкову Д.А., Лихачевой Е.В., Вахромееву П.В, Болицевич Ю.А., осуществивших программную реализацию прикладных задач, приведенных в главе 2.

6

ОСНОВНЫЕ ОБОЗНАЧЕНИЯ И ПОНЯТИЯ

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

1. Пусть x и y n -мерные векторы

x

 

y

 

 

 

1

 

 

1

 

,

x =

 

 

, y =

 

 

 

 

 

 

 

 

 

xn

 

yn

 

 

 

 

x т

= (x , , x

n

)

– транспонированный вектор,

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

тогда < x, y >= x т y = xi yi – скалярное произведение векторов x

и y .

 

 

 

 

 

 

 

i=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

 

 

1n

 

 

 

 

 

 

 

 

 

 

 

2.

A =

… … …

– матрица размерности m ×n .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

am1

amn

 

 

 

 

 

 

 

 

 

 

3.

f (x) = f (x1 , , x1n )

– функция n переменных.

Функция f (x)

имеет 1-ю и 2-ю непрерывные производные на

множестве D в n-мерном пространстве Rn .

 

 

 

 

 

 

Пусть некоторая точка

x 0 D . Тогда

f (x) может быть пред-

ставлена в виде ряда Тейлора относительно этой точки:

 

 

 

 

 

 

 

 

 

 

 

n

f

 

(xi xi0 ) +

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x1 , , xn ) = f (x10 , , xn 0 ) +

x

 

 

 

 

 

 

 

 

 

 

 

 

i=1

 

x0

 

 

1

n

n

2

f

 

 

 

 

 

 

 

 

(xi xi0 )(x j x0j ) + 0(

 

x x 0

 

2 ) .

 

+

∑ ∑

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 i=1 j=1 xi x j

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

0

 

f

 

f

 

f

т

 

4. f (x

 

,

, ,

 

– градиент функции в точке

 

x

x

 

x

 

 

) =

2

 

 

 

 

 

1

 

 

 

 

n

x

 

 

 

 

 

 

 

 

 

 

 

0

x 0 D .

 

 

 

 

 

 

 

 

 

 

 

Градиент – это вектор, который направлен в сторону наискорейшего роста функции и ортогонален в точке х0 к поверхности

(или линии) уровня

f (x) = const (рис. O.1).

x2

линии

 

уровня

max

f(x)

x1

Рис. O.1. Линии уровня f (x) = const для функции двух переменных

 

 

2

f

 

2

f

 

 

 

 

x x

 

x x

 

 

 

 

 

 

 

 

 

1

1

 

 

1

n

 

 

5. H (x 0 ) =

 

 

– вещественная симметричная

 

 

2

f

 

2

f

 

 

 

x x

 

x x

 

 

 

 

 

 

 

 

 

n

1

 

 

n

n

 

 

матрица (матрица Гессе).

Важность градиента и матрицы Гессе определяется их использованием во многих алгоритмах поиска экстремума функций.

Можно записать

f (x) = f (x 0 )+ < f (x 0 ), (x x 0 ) > +

1

< (x x 0 ),

2

 

 

H (x0 )(x x0 ) > +0( x x0 2 ) .

8

6. Пусть

 

a

 

x

 

+ a

 

x

2

 

11 1

 

 

12

 

a21x1 + a22 x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

x

 

+ a

i2

x

2

 

 

i1 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

+ a

 

 

x

 

a

m1

m2

2

 

1

 

 

 

+…+ a1 j x j +…+ a1n xn = b1;

+…+ a2 j x j +…+ a2n xn = b2 ;

+…+ aij x j +…+ ain xn = bi ;

+…+ anj x j +…+ amn xn = bm .

– система линейных уравнений в скалярном виде, тогда Ax = b – система уравнений в матричной форме, где A – матрица коэффи-

циентов aij (i =1, , m; j =1, , n), b m -мерный вектор. Система линейных уравнений называется совместной, если она

имеет хотя бы одно решение.

Пусть r – ранг матрицы и представляет собой наибольший порядок отличного от нуля определителя матрицы A (число линейно независимых столбцов матрицы A ).

r ( A) = r ( Ab ) – необходимое и достаточное условие совместности системы линейных уравнений, т.е. ранг матрицы A должен быть равен рангу распределенной матрицы системы.

Ранг не превосходит числа неизвестных n , r n . Тогда:

если r = n , то решение системы единственно;

если r < n , то система имеет бесчисленное множество решений.

7. a0 + a1 x1 +…+ an xn 0 – линейное неравенство. Совокупность точек пространства, координаты которых удовле-

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

8. Общая задача математического программирования формулируется так:

найти максимум (минимум) функции f (x) при ограничениях

gi (x1 , , x j , , xn ) bi , i =

1, m

;

(O.1)

x j 0 , j =

 

.

(O.2)

1, n

9

 

 

 

 

 

xj = xj xj _ min

При этом:

функция f (x) называется целевой функцией;

система неравенств (O.1) и условия неотрицательности переменных (O.2) называются системой ограничений задачи;

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

ловиям (O.1) и (О.2), называется допустимым решением; совокупность точек n -мерного пространства, удовлетворяющих

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

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

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

Замечания. Постановка задачи математического программирования является достаточно общей. Если какая-то практическая задача, на первый взгляд, кажется иной, то, как правило, с помощью простых математических преобразований её можно свести к задаче рассматриваемого вида.

1. Если требуется найти минимум функции f (x) , то это эквивалентно

поиску максимума функции f (x ) , т.е. min f (x) = −max [f (x)] .

x

x

2. Если заданны неравенства вида

g(x) b ,

то простой переменой знака можно прийти к виду (О.1), а именно

g(x) ≤ −b .

3.Если на переменные x j не наложено условие неотрицательности, а заданно ограничение

xj xj _ min ,

то, вводя замену переменных

,

получаем для новой переменной условие (О.1), т.е. xj 0 .

10

Источник: https://studfile.net/preview/16708738/