Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2793.Методы оптимизации..pdf
Скачиваний:
175
Добавлен:
15.11.2022
Размер:
33.68 Mб
Скачать

1.5. Классы задач оптимизации

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

Пусть /о(ж) — целевая функция, количественно выражаю­ щая некоторый критерий оптимальности и зависящая от коор­ динат j = 1, п, точки х Е Шп. Эти координаты являются параметрами оптимизации (иногда их называют также пере­ менными задачи оптимизации или просто переменными за­ дачи) .

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

/о (ж ) - * т т , х е ft,

(1.18)

где f l c R n — множество возможных альтернатив, рассматри­ ваемых при поиске решения задачи.

Любую точку х Е fi называют допустимым решением за­ дачи математического программирования, а само множество — множеством допустимых решений или, короче, допустимым

множеством. Точку ж* Е fi, в которой функция /о (х) дости­ гает своего наименьшего значения, называют оптимальным решением задачи.

При отсутствии ограничений множество совпадает с обла­ стью определения D(fo) С Еп целевой функции. Если же рас­ сматриваемые альтернативы должны удовлетворять некото­ рым ограничениям, то множество допустимых решений сужа­ ется.

Задачу (1.18) в дальнейшем будем называть задачей мини­ мизации целевой функции на множестве П, понимая под этим нахождение наименьшего значения функции /о (ж) на Q, и точек х Е в которых оно достигается. Но целевая функция может и не достигать на fi наименьшего значения. Тогда говорят о точ­

ной нижней грани inf /о(ж) функции /о (х) на этом множестве xect

и вместо (1.18) используют запись

/ о ( ® ) inf, х Е fi.

(1-19)

Отличие (1.18) от (1.19) в том, что в первом случае предпо­ лагают существование точки ж* Е f2, в которой целевая функция достигает своего наименьшего значения на множестве f2, а во втором случае такая точка может и не существовать. Поэто­ му решение общей задачи математического программирования состоит в том, чтобы в первом случае найти точные (или с не­ которой заданной точностью) значения координат Xj^ j 1, n, точки х* Е и значение целевой функции /о(ж*) = т т /о (ж ),

а во втором случае построить такую последовательность {жп} точек x n Е fi, которой бы соответствовала последовательность {/о(®п)}, сходящаяся к значению in f/о(ж), и вычислить это

значение с заданной точностью. Отметим, что в большинстве прикладных задач имеет место первый случай, поэтому исполь­ зование записи вида (1.19) будем оговаривать особо.

Если /о(ж) — линейная функция, то ее область определения совпадает cR n. B E 71такую функцию с помощью стандартного

скалярного произведения можно представить в виде /о (ж) = = (с, ж), где с — (ci, ..., Сп) £ Мп — известный вектор. Ясно, что целевая функция

п

/о(ж) = (с, х ) = Y L cjX j j=i

может достигать наименьшего значения /о (х*) на множестве О лишь в точках границы сЮ этого множества. Если в задаче нет ограничений, то П = Мп и точная нижняя грань линейной функции равна —оо. Поэтому в случае линейной целевой функ­ ции задача оптимизации

(с, х) -A min, х € К",

(1-20)

имеет смысл лишь при наличии ограничений.

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

Вх = d, ж е К71,

(1.21)

где d 6 Шк, В — матрица размера к хп, а параметры оптими­ зации могут принимать лишь неотрицательные значения, т.е.

j = hn,

(1.22)

соотношения (1.20)-(1.22) составляют стандартную задачу линейного программирования, или задачу линейного про­ граммирования в стандартной форме (в литературе ее часто называют канонической задачей линейного программирова­ ния, или задачей линейного программирования в канонической форме).

Условия (1.22) можно представить в виде ж € К", где К” ■— декартово произведение п множеств R* неотрицательных дей­ ствительных чисел, называемое иногда неотрицательном ортантом размерности п. Если к (1.20)-(1.22) добавить m

ограничений типа неравенства

п

(1.23)

где djj € К, г = 1,тп, то соотношения (1.20) —(1.23) приведут к формулировке общей задачи линейного программирова­ ния. При этом ограничения (1.22) могут относиться не ко всем п параметрам оптимизации, а лишь к некоторым из них. При отсутствии ограничений типа равенства соотношения (1.20), (1.22) и (1.23) составляют формулировку основной задачи линейного программирования (иногда ее называют ест е­ ственной задачей линейного программирования).

Неравенства xj ^ aj, Xj ^ bj и aj ^ Xj ^ bj, j = 1, п, называ­ ют прямыми ограничениями на переменные задачи, причем последнее относят к двусторонним, а первые два — к од­ носторонним. Таким образом, ограничения (1.22) являются прямыми односторонними. Методы решения задач линейно­ го программирования подробно рассмотрены и обоснованы в [XX].

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

(1.24)

где Q — положительно определенная матрица порядка п, то говорят о задаче квадратичного программирования, а функцию вида (1.24) называют квадратичной. В случае, когда целевая функция является отношением двух линейных функций, а ограничения линейны, имеем задачу дробно­ линейного программирования. Ее формулировка включает ограничения (1.21) —(1.23) и условие минимума функции

(я, а;) + а

—t mm.

(1.25)

(г, а?) +/?

 

 

где <7 € Rn, г € R71, а € М и /3 € R заданы. Соотношения

(

"

“ > min;

М х ) =

i=i

 

 

 

n

(1.26)

л (®) = ]С®у ^

^ тГ4> i==1. m;

 

з=i

 

£ 0,

j 1 ) n,

 

где 7i e R заданы, определяют задачу сепарабельного про­ граммирования. В этой задаче целевая функция fp(x) и функ­ ции gi(x) в левой части ограничений являются суммой функ­ ций, каждая из которых зависит только от одного параметра оптимизации. В этом случае функции /о (as) и 9i(x) называют

сепарабельными.

В прикладных задачах целевая функция нередко имеет вид

т

 

У(х) = ^2^Рг(х)^

(1-27)

2=1

 

где х = (®i, ..., хп) G R ", с, е R+, a R+ — декартово произве­ дение п множеств R+ положительных действительных чисел, называемое иногда положительным ортантом. При этом функции Pi(x) имеют вид

72

Рг(*) = П а:Г ’

U-28)

3

=1

 

где aij Е М. Требование положительности коэффициентов с*, г = 1 ,га, послужило причиной того, что такой вид целевой функции стали называть позиномом в отличие от полинома (многочлена), в котором коэффициенты могут быть и неполо­ жительными. Кроме того, в многочлене показатели степени аргументов являются целыми неотрицательными числами, а в позиноме благодаря положительности параметров оптимизации

выражение x^XJ определено для любых действительных чисел dij. Если целевая функция и левые части ограничений типа ра­ венства и (или) неравенства в задаче минимизации являются позиномами, то такую задачу называют задачей геометри­ ческого программирования.

В задаче нелинейного программирования ограничения мо­ гут быть заданы в неявном виде. Тогда множество Q возмож­ ных альтернатив приходится строить путем количественного анализа математической модели объекта оптимизации (см. при­ мер 1.10). Если ограничения принадлежат к типам равенства и (или) неравенства

fi(x) = 0, 1= 1, k]

9i(x )^ 0, г = 1 , 7П,

(1.29)

но хотя бы одна из функций fi(x), gi{x) или целевая функция не является линейной, то говорят об общей задаче нелинейного программирования. Ясно, что такая формулировка включа­ ет задачи квадратичного, дробно-линейного, сепарабельного и геометрического программирования.

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

Аналогичная ситуация характерна и для функций, описы­ вающих экономические системы. Например, рост объема вы­ пускаемой продукции происходит не прямо пропорционально