Пусть решается задача поиска экстремума нелинейной функции f на всем пространстве n -мерных векторов . Обозначим Ñf (x ) = - градиент функции f в точке х = (х 1 ,…, х n ). Он задает направление скорейшего роста функции в этой точке. Точка, в которой градиент функции f равен нулю, т.е. для всех , называется стационарной или критической .

Необходимое условие экстремума в задаче без ограничений дает следующая теорема

Теорема 2 (необходимое условие локального экстремума). Пусть - точка локального экстремума дифференцируемой функции f . Тогда является ее стационарной точкой.

Однако стационарная точка не всегда является точкой экстремума функции. Например, х = 0 - стационарная точка функции z = х 3 , но в ней она не достигает ни минимума, ни максимума. Это точка перегиба функции.

Другим примером может служить функция z = . Точка (0, 0) является ее стационарной точкой, но в ней функция достигает минимума по переменной x и максимума по переменной y . Поэтому эта точка является не точкой экстремума, а седловой точкой этой функции.

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

Теорема 3 (достаточные условия локального экстремума) . Пусть f - дважды непрерывно дифференцируемая функция и х * - ее стационарная точка, т.е. для всех . Тогда

1) если все главные миноры гессиана функции f в этой точке положительны, то х * - точка локального минимума;

2) если все главные миноры нечетного порядка гессиана функции f в этой точке отрицательны, а все главные миноры четного порядка положительны, то х

Для функции одной переменной (n = 1) условия теоремы 3 выглядят так.

Пусть х * - стационарная точка дважды непрерывно дифференцируемой функции f , т.е. = 0 . Тогда

1) если > 0, то х * - точка локального минимума функции f ;

2) если , то х * - точка локального максимума функции f .

Для случая n = 2 условия теоремы 3 приобретают такой вид.

Пусть х * = - стационарная точка дважды непрерывно дифференцируемой функции f , т.е. , , а также выполнено условие

.

Тогда х * - точка локального экстремума функции f , причем

1) если > 0, то х * - точка локального минимума,

2) если < 0, то х * - точка локального максимума.

Для выпуклой (вогнутой) функции необходимое условие оптимума является достаточным.

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

Целевая функция представляет собой функцию с некоторыми переменными, от которых непосредственно зависит достижение оптимальности. Также она может выступать в качестве нескольких переменных, которые характеризуют тот или иной объект. Можно сказать, что, по сути, она показывает, как мы продвинулись в достижении поставленной задачи.

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

Целевая функция позволяет ответить на несколько вопросов:

Выгодно или нет то или иное событие;

В правильном ли направлении идет движение;

Насколько верно сделан выбор и т.д.

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

Целевые функции не всегда могут быть представлены в виде формулы. Это может быть таблица, например. Также условие может быть в виде нескольких целевых функций. Например, если требуется обеспечить максимальную надежность, минимальные затраты и минимальную материалоемкость.

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

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

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

Существует такое понятие, как неполная оптимизация. Она может образоваться по нескольким причинам. Например:

Число попавших в максимальную точку систем ограничено (уже установлена монополия или олигополия);

Нет монополии, но отсутствуют ресурсы (недостаток квалификации на каком-либо конкурсе);

Отсутствие самой а точнее «незнание» ее (мужчина мечтает о некой красивой женщине, но неизвестно, существует ли такая в природе) и т.д.

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

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

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

Задача условной оптимизации заключается в поиске минимального или максимального значения скалярной функции f(x) n-мерного векторного аргументах. Решение задачи основывается на линейной или квадратичной аппроксимации целевой функции для определения приращений x1, …,xn на каждой итерации. Существуют также приближенные методы решения нелинейных задач. Это методы основанные на методе кусочно-линейной аппроксимации. Точность нахождения решений зависит от количества интервалов, на которых мы находим решение линейной задачи, максимально приближенной к нелинейной. Такой метод позволяет производить расчеты с помощью симплекс-метода. Обычно в линейных моделях коэффициенты целевой функции постоянны и не зависят от значения переменных. Однако существует ряд задач, где затраты зависят от объема нелинейно.

Алгоритм решения:

  • 1. Работа начинается с построения регулярного симплекса в пространстве независимых переменных и оценивая значения целевой функции в каждой из вершин симплекса.
  • 2. Определяется вершина - наибольшее значение функции.
  • 3. Вершина проецируется через центр тяжести остальных вершин в новую точку, которая используется в качестве вершины нового симплекса.
  • 4. Если функция убывает достаточно плавно, итерации продолжаются до тех пор, пока либо не будет накрыта точка min, либо не начнется циклическое движение по 2 или более симплексам.
  • 5. Поиск завершается, когда или размеры симплекса, или разности между значениями функции в вершинах останутся достаточно малыми.

Задача: оптимизация емкостей. Добиться минимальных затрат на изготовление емкости объёмом 2750 литров для хранения песка.

Z = C1X1 + C2X2 + C3X3 + C4X4 + C5X5 min;

где: X1 - количество необходимого металла, кг;

C1 - стоимость металла, руб/кг;

X2 - масса требующихся электродов, кг;

C2 - стоимость электродов, руб/кг;

X3 - количество затраченной электроэнергии, кВт ч;

C3 - стоимость электроэнергии, руб/кВт ч;

X4 - время работы сварщика, ч;

C4 - тарифная ставка сварщика, руб/ч;

X5 - время работы подъемника, ч;

C5 - оплата подъемника, руб/ч.

1. Найдем оптимальную поверхностную площадь емкости:

F = 2ab+2bh+2ah min (1)

где V=2750 литров.

x1=16,331; x2=10,99

Минимум функции получен в процессе оптимизации по методу Бокса- 1196,065 дм2

В соответствие с ГОСТ 19903 - 74, примем:

h=16,50 дм, b=10,00 дм.

Выразим a из (1) и получим:

Рассчитаем оптимальную толщину листа металла

Выберем углеродистую обыкновенную сталь Ст2сп

Для этой стали 320 МПа, ;

Масса песка.

Нагрузка на стенку емкости наибольшей площади:

Высчитаем нагрузку на 1 погонный сантиметр листа шириной 100 см:

Определим толщину стенки, исходя из условия:

где: l - длина листа (желательно наибольшая, чтобы оставить дополнительный запас прочности);

q - нагрузка на 1 погонный сантиметр, кг/см;

Толщина листа металла, м

Максимально допустимое напряжение металла, Н/мм2.

Выразим из (2) толщину стенки:

Учитывая, что 320 МПа = 3263 кг/см2,

Масса металла

где: F - площадь поверхности емкости, м2 ;

Толщина стенки металла, м;

Плотность металла, кг/м3.

Цена на сталь Ст2сп составляет около 38 руб/кг.

2. Длина сварного шва:

Воспользуемся электродами для нержавеющей стали «УОНИ-13/45»

Цена 88,66 руб/кг;

где: Sшва - поперечная площадь сечения сварного шва, м2;

l - длина сварного шва, м;

Плотность наплавленного металла, кг/м3.

3. Время сварки:

где l - длина сварного шва, м;

v - скорость сварки, м/ч.

Суммарная потребляемая мощность:

Рсум = 5 17 = 85 кВт ч;

Стоимость электроэнергии 5,7 руб/ кВт ч.

4. Для ручной дуговой сварки затраты вспомогательного, подготовительно-заключительного времени и времени на обслуживание рабочего места составляют в среднем 40 - 60%. Воспользуемся средним значением в 50%.

Общее время:

Оплата сварщика VI разряда - 270 руб/час.

Плюс тарифный коэффициент 17% за работу в замкнутом плохо проветриваемом пространстве:

Оплата помощника составит 60% от оплаты сварщика:

8055 0,6 = 4833 руб.

Итого: 8055+4833 = 12888 рублей.

5. Кран понадобиться для того, чтобы держать листы металла во время сварки, погрузки и выгрузки листов металла и непосредственно готовой емкости.

Чтобы «прихватить» всю конструкцию, сварщику необходимо наложить около 30% швов.

Оплата крана - 1000 руб/час.

Общая стоимость емкости.

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

Метод равномерного перебора

Пусть дана функция (см. рис 7.1).

Рис.7.1. Графическая иллюстрация метода равномерного перебора

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

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

Метод золотого сечения

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

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

В соответствии с данным методом в каждый текущий момент времени рассматривается всегда две точки, например, в начальный момент точки и так, чтобы . При этом возможен один из двух случаев (рис.7.3):

Рис.7.3. Иллюстрация обоснования исключения отрезков

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

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



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

Рис.7.4. Иллюстрация обоснования расположения точек на отрезке

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

Таким образом, с одной стороны, точки следует брать рядом с серединой отрезка, а, с другой стороны, слишком близко друг от друга их брать нельзя. Т.е. необходимо найти некую «золотую середину». Для этого рассмотрим для простоты вместо отрезка отрезок единичной длины – рис.7.5.

Рис.7.5. Обоснование «золотой середины» расположения точек на отрезке

На этом рисунке .

Для того, чтобы точка B была «выгодной» как на данном, так и на следующем этапе (шаге), она должна делить отрезок AD в таком же отношении, как и AC: AB/AD = BC/AC. При этом в силу симметрии аналогичным свойством будет обладать и точка C: CD/AD = BC/BD. В обозначениях координаты x эти пропорции принимают вид: x /1 = (1 – 2x )/(1 – x ). Решим эту пропорцию:

Корни этого уравнения равны:

не приемлем, т.е. уравнение имеет один корень.

О точке, которая расположена на расстоянии длины от одного из концов отрезка, говорят, что она осуществляет «золотое сечение» данного отрезка.

Очевидно, что каждый отрезок имеет две такие точки, расположенные симметрично относительно его середины.

Итак, алгоритм метода «золотого сечения» заключается в следующем (см. также рис.7.6). На исходном отрезке [a ,b ] выбираются две точки x 1 и x 2 , так, чтобы выполнялось приведенное выше соотношение «золотого сечения» этого отрезка. Вычисляются значения целевой функции в этих точках – и . Они сравниваются, и из дальнейшего рассмотрения исключается отрезок, прилегающий к точке, дающей большее значение целевой функции (здесь отрезок [x 2 ,b ]). Т.е. исходный отрезок [a ,b ] «стягивается» до отрезка [a ,b 1 ]. Для этого нового отрезка находится его середина, и по отношению к ней симметрично оставшейся точке x 1 ставится точка x 3 . Для нее рассчитывается значение целевой функции и сравнивается с . Из дальнейшего рассмотрения опять исключается отрезок, прилегающий к точке с большим значением целевой функции, здесь это отрезок [a ,x 3 ]. Текущий отрезок «стягивается» до нового отрезка, здесь это [a 1 ,b 1 ] и т.д.

Рис.7.6. Иллюстрация алгоритма метода «золотого сечения»

Метод «золотого сечения» прост, эффективен и широко применяется в практической оптимизации.

Численные методы решения задач нелинейного программирования (поиск экстремума функции n – переменных)

Метод линеаризации (приведения задачи нелинейного программирования к задаче линейного программирования)

Данный метод строго не относится к численным методам решения задач оптимизации. Но он эффективен и часто используется для решения практических задач. Рассмотрим суть данного метода на примере, который решался в лекции 5. Напомним формулировку задачи:

найти и . Целевая функция , ограничения:

1 этап . Приводим данную задачу к задаче линейного программирования. Для этого проводим логарифмирование ограничений и целевой функции:

После вычислений получим:

(8.1)
(8.2)
(8.3)

После логарифмирования целевой функции:

Далее задача решается с применением симплекс - алгоритма или графо – аналитически (см. рис.8.1 и вычисления, сопровождающие построения). Для построения области допустимых решений (ОДР) в логарифмических координатах работаем с ограничениями (8.1) – (8.3). Ограничения (8.1) и (8.2) – это ограничения, графически представляющие собой прямые линии, параллельные соответственно осям и . Причем, левая ограничительная линия в ограничении (8.1) совпадает с осью . Ограничение (8.3) представляет собой прямую линию, наклонную под углом 45 градусов к осям, имеющая координаты пересечения осей «0-1». Для нахождения точки касания линии, соответствующей целевой функции, сначала строим «произвольную» линию для целевой функции, приравнивая ее выражение к произвольному числу в данном масштабе. Приравняем выражение для целевой функции к числу «1,2»:

0,3
1,2 1,5

Если целевая функция стремится к минимуму, т.е. , то прямая линия, соответствующая ей, коснется границы ОДР в точке с координатами:

Рис.8.1. Графическая иллюстрация графо - аналитического решения задачи оптимизации методом линеаризации

Метод покоординатного спуска в задачах без ограничений

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

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

Согласно этому методу направления спуска выбирается параллельно координатным осям, т.е. сначала спуск осуществляется вдоль первой оси ОХ 1 затем вдоль второй оси ОХ 2 и т.д. до последней оси ОХ n .

Пусть – начальная точка (см. рис. 8.2), a – некоторое положительное число. Вычисляют значение целевой функции в этой точке – . Далее вычисляют значение целевой функции при и проверяют выполнение неравенства

В случае выполнения этого неравенства полагают x (1) = x (0) - a. Если оба неравенства и (8.4), и (8.5) не выполняются, то x (1) = x (0) .

Рис.8.2. Графическая иллюстрация поиска точки минимума методом покоординатного спуска

Второй шаг производят вдоль координатной оси OX 2 . Вычисляют значение функции в точке (x (1) + a) и сравнивают его с предыдущим значением, т.е. проверяют выполнение неравенства

В случае выполнения неравенства (8.7) считают, что x (2) = x (1) – a. Если оба неравенства и (8.6), и (8.7) не выполняются, то принимают x (2) = x (1) .

Так перебирают все n – направлений координатных осей. На этом первая итерация закончена. На n - м шаге будет получена некоторая точка x (n) . Если , то аналогично, начиная с x (n) осуществляют вторую итерацию. Если же x (n) = x (0) (это имеет место, если на каждом шаге ни одно из пары неравенств не окажется выполненным), то величину шага нужно уменьшить, взяв, например, a n+1 = a n /2, и в следующей итерации использовать новое значение величины шага.

Последующие итерации выполняют аналогично. На практике вычисления прекращают при выполнении какого – либо условия окончания счета, например

,

где f (x ) (k+1) – значение целевой функции на (к+1) итерации;

f (x ) (k) – значение целевой функции на к –ой итерации;

Некоторое положительное число, характеризующее точность решения исходной задачи

минимизации целевой функции.

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

Данный метод распространяется на задачи, с простыми ограничениями типа:

(8.8)
(8.9)
(8.10)

Основные процедуры данного метода аналогичны предыдущему методу. Различие заключается в том, что наряду с проверкой выполнения неравенств f (x (0) + a) < f (x (0)) (f (x (0) – a) < f (x (0))), f (x (1) + a) < f (x (1)) (f (x (1) – a) < f (x (1))) и т.д. осуществляют проверку выполнения неравенств (8.8) – (8.10). Выполнение или невыполнение этих неравенств приводит к тем же последствиям, что и выполнение или невыполнение неравенств, приведенных выше.


Методы решения многокритериальных задач оптимизации

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

Метод поиска Парето – эффективных решений

Рассмотрим его суть на примере использования двух критериев. Критерии при использовании данного метода являются равнозначными.

Пусть имеется множество вариантов решения. По каждому из вариантов определены значения всех критериев. Представим множество оценок вариантов решения в пространстве критериев (рис.9.1).

Рис.9.1. Иллюстрация поиска Парето – эффективных решений

На рис.9.1 приняты следующие обозначения:

К 1 и К 2 – критерии оценки вариантов решения;

Y = {y 1 , y 2 , …, y m }- множество оценок альтернативных вариантов решения;

К 11 , К 12 , … , К 1m - значения первого критерия для 1, 2, … , m - го варианта решения;

К 21 , К 22 , … , К 2m – значения второго критерия для 1, 2, … , m - го варианта решения;

P(Y) – множество Парето – эффективных оценок решений.

Правило . Множество Парето – эффективных оценок P(Y’) представляет собой «северо – восточную» границу множества Y без тех его частей, которые параллельны одной из координатных осей или лежат в «глубоких» провалах.

Для случая, изображенного на рис.9.1, Парето – эффективные оценки состоят из точек кривой (bc), исключая точку (c), и линии (de).

Преимущества метода: 1) Критерии равнозначны; 2) Метод математически объективен.

Недостаток метода: 1) Одно окончательное решение получается только в частном случае, т.е. количество Парето – эффективных решений, как правило, более одного.

Пример . Имеется 10 вариантов металлорежущих станков, среди которых для проектируемого участка необходимо выбрать наилучший. Станки оценены экспертами по двум показателям (критериям): производительности и надежности. Оценивание производилось по 11 - бальной шкале от 0 до 10. Результаты оценки станков приведены в таблице 9.1.

Таблица 9.1 Экспертные оценки станков по критериям производительности и надежности

Представим множество оценок вариантов металлорежущих станков в пространстве критериев (рис.9.2):

Парето – эффективными решениями здесь являются варианты станков С 5 , С 7 и С 9 .

Рис.9.2. Пример поиска Парето – эффективных решений

Метод решения многокритериальных задач оптимизации с использованием обобщенного (интегрального) критерия

Суть данного метода заключается в том, что частные критерии каким - либо образом объединяются в один интегральный критерий , а затем находится максимум или минимум данного критерия.

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

В зависимости от того, каким образом частные критерии объединяются в обобщенный критерий различают следующие виды обобщенных критериев:

Частные критерии имеют различную физическую природу и поэтому различную размерность. А значит просто суммировать их некорректно. В связи с этим в предыдущей формуле числовые значения частных критериев делятся на некоторые нормирующие делители, которые назначается следующим образом:

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

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

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

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

Таблица 9.2. Исходные данные для определения оптимального варианта исполнения машины

Целевая функция на основе аддитивного критерия запишется следующим образом:

В качестве нормирующих делителей в данной задаче примем наилучшие (максимальные) значения частных критериев:

Значения обобщенного аддитивного критерия рассчитываются для каждого варианта машины:

Вариант 1.

F (X ) = 0,6(1000/4000) + 0,4(1500/1500) = 0,55.

Вариант 2

F (X ) = 0,6(2000/4000) + 0,4(1000/1500) = 0,558.

Вариант 3

F (X ) = 0,6(4000/4000) + 0,4(500/1500) = 0,732.

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

Один из недостатков этого метода заключается в том, что весовые коэффициенты назначает проектировщик. Разные проектировщики могут назначать разные весовые коэффициенты. Пусть, например, C 1 = 0,4; C 2 = 0,6. Определим теперь значения аддитивных критериев для вариантов машины:

Вариант 1.

Вариант 2.

Вариант 3.

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

Преимущество данного метода: как правило, всегда удается определить единственный оптимальный вариант решения.

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

Задача на безусловный экстремум

Пусть в некоторой области n-мерного пространства R n задана функция п переменных WQQ. Требуется найти точки X * =(*1 х„), в которых эта функция имеет максимальные

(минимальные значения). Формально это можно записать так:

Задача (13.1) относится к множеству задач, которые объединены термином «задача на безусловный экстремум». Решение такого рода задач целиком и полностью определяется свойствами функции W(X).

Введем некоторые определения. Говорят, что функция W(X) имеет в точке X* локальный максимум (нестрогий), если при любых малых АХ имеет место условие

При выполнении же условия

говорят, что вХ* функция W(X) имеет минимум (нестрогий).

Если неравенства строгие («>» или «максимум (минимум ) называют глобальным («самый большой максимум» и «самый маленький минимум»).

Все точки максимума и минимума функции имеют обобщенное название - экстремумы. Очевидно, что глобальный экстремум является в то же время и локальным экстремумом. Функция W(X) может иметь в области своего определения один, несколько или даже бесконечное количество экстремумов. Она может и не иметь экстремума. На рис. 13.1 представлен график функции одной переменной Дх), рассматриваемой на отрезке [а; Ь]. Внутри отрезка эта функция имеет экстремумы в точках х, х 2 , х 3 , х 4 , х 5 . Из них точка х 2 - глобальный минимум, х 3 - глобальный максимум, а в точках х г и х 5 функция имеет локальные максимумы, в точке х 4 - локальный минимум. Отметим, что граничные точки также могут являться точками экстремума.


Рис. 13.1.

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

Пусть Дх) - функция одной переменной заданная на отрезке [а; Ь]. Точками экстремума функции Дх) могут быть лишь те точки, в которых выполняется одно из следующих условий:

  • 1) Дх) терпит разрыв (на рис. 13.2 - точка х 2);
  • 2) Дх) непрерывна, но производная/"(х) не существует (точках^;
  • 3) Д(х) = 0 (точки х 3 и х 4);
  • 4) граничные точки (точки х = а и х = Ь).

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

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

Рис. 13.2.

Теорема 13.1 (Вейерштрасса). Непрерывная функция, определенная на непустом замкнутом ограниченном множестве, достигает максимума (.минимума) по крайней мере в одной из точек этого множества.

Отметим, что эта теорема говорит лишь о возможности решения задачи (13.1), но не о методах ее решения.

В некоторых случаях могут быть сформулированы необходимые условия существования экстремума в точке. Так, для дифференцируемых функций имеет место следующее необходимое условие существования экстремума: если дифференцируемая функция f(x) имеет в точке х = х* экстремум, то ее производная обращается в этой точке в нуль, т.е. f"(x*) = 0.

Для функции нескольких переменных W(X) необходимое условие экстремума выполняется там, где все ее частные производные равны нулю, Например, для точки максимума имеем

Очевидно, что для точек, где достигается минимум, аналогичное условие также имеет место. Точки, в которых выполняется условие равенства нулю всех частных производных, называются стационарными.

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

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

Теорема 13.2 . Если в стационарной точке функция дважды дифференцируема и матрица ее вторых производных (матрица

Гессе ) положительно полуопределена, то функция в этой точке имеет минимум, если же матрица отрицательно полуопреде- ленна, то в этой точке функция имеет максимум.

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

Пример 13.1

Найти экстремум функции Дх х, х 2) = х? + х| - 3xiX 2 .

Решение. Вначале вычислим первые частные производные и приравняем их к нулю:

Эта система имеет два решения - две стационарные точки: =

= (о, 0),Х 2 =(1, 1).

Составим матрицу Гессе:

Рассмотрим матрицу в каждой из найденных точек.

Для X, имеем Диагональные члены матрицы нулевые, а определитель равен -9. Следовательно, в точке Х 1 = (0, 0) функция имеет максимум.

Для Х 2 имеем . Диагональные члены положительны,

а определитель матрицы равен 27 > 0. Отсюда вывод: в точке Х 2 = (1,1) функция /(xj, х 2) = X] 3 +х| -ЗХ[Х 2 имеет минимум, т.е. min/(x x , х 2) = =/(1,1) =-1.

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

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

Пусть известная функция Дх) на отрезке [а; Ъ ] имеет один максимум, расположенный в неизвестной точке х*. Поскольку х* находится в неизвестной точке отрезка [а; Ь], то его называют отрезком неопределенности. Требуется с наперед заданной точностью г найти точку максимума функции Дх).

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

Рассмотрим схему алгоритма этого метода немного детальнее. Пусть известно, что искомая точка х* находится на отрезке [а 0 ; Ь 0 ]. Выберем середину отрезка с 0 = (а 0 + Ь 0)/2. Далее анализируются два пересекающихся отрезка [а; с 0 + 5] и [с 0 -5; Ь], где 8 - малое число, много меньшее е, т.е. 8 «: е (иногда для удобства выбирают величину S/2). Очевидно, что если/(с 0 - б) >/(с 0 + б), то максимум находится на отрезке [а 0 ; с 0 + 5], иначе - на отрезке [с 0 - б; Ь 0 ]. Поэтому если выполнено условие/(с 0 - б) >/(с 0 + 5), то за новый интервал неопределенности принимается отрезок [а а; Ь х ], где а а = а 0 , Ь а = с 0 + 5, в противном случае - отрезок, где а 0 = с 0 - 8, Ь г = Ь 0 . Этот отрезок вновь делится пополам, и процедура продолжается до выполнения условия | fo fc - a fc |

Пример 13.2

Рассмотрим для примера следующую задачу: на отрезке найти точку минимума функции Дх) = 2х 2 - 4х + 4 с точностью до е = 0,5.

Решение. Выберем параметр 5 = 0,2. Исходный отрезок неопределенности - . Находим точки «середин» этого отрезка:

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

В качестве нового отрезка неопределенности выбираем тот, где находится искомая точка минимума, т.е. = [а; х 2 ] = .

Вновь определим «средние» точки:

Поскольку ДО,95) е, поэтому продолжаем процесс:

Так как/(х 5) >/(х 6), то полагаем а 3 = х 5 , Ь 3 = Ь 2 . Новый отрезок неопределенности [а 3 ; Ь 3 ] = . Его длина 0,675 превышает заданную точность, поэтому продолжаем процесс дихотомии:

Поскольку Дх 7) = 2,1653, Дх 8) = 2,0153, то новым отрезком неопределенности будет [а 4 ; Ь 4 ] = . Этот отрезок имеет длину 0,4375, что меньше, чем 0,5. Следовательно, процесс дихотомии закончен. Из двух точек х 7 и х 8 в качестве искомого приближения х* выбираем точку х 8 , так как/(х 8)

Рис. 13.3.

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

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

Пусть найдено некоторое начальное решение задачи (13.1) Х° =(xJ) ,X2,...,x®) и выбран шаг h. Следующий и все последующие шаги выполняются последовательно согласно следующему рекуррентному соотношению:

Смысл формулы такой: из данной точки X й делается шаг длиной h в направлении, указанном градиентом. Знак «плюс» выбирается при поиске максимума, знак «минус» - в противоположном случае.

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

где 8 - заранее назначенная малая величина - точность решения задачи. Возможно использование и такого условия завершения процесса:

Очевидно, что эффективность градиентного метода зависит от выбранного шага. Если шаг мал, то сходимость в общем случае будет медленной, если шаг большой, то может возникнуть эффект «перешагивания» точки экстремума и процесс не будет сходиться. В связи с этим в ходе решения задачи целесообразно сначала шаг взять достаточно большим, а затем постепенно его уменьшать. Можно, например, задаться изменением шага по формуле h k = h/k.

Пример 13.3

Найти минимум функции

Решение. Выберем начальную точку Х° =(3,1,1) и шаг h = 0,16. Значение функции в этой точке есть /(Х°) = 26, градиент - (4х х; 10х 2 ; 6х 3) = (12; 10; 6).

Проведем согласно формуле (13.4) первую итерацию:

Значение функции в новой точке/(X 1) =4,15.

Для второй итерации градиент равен (4,32; -6; 0,24), шаг h 2 = 0,08. Проведем вторую итерацию:

Значение функции в точке Х 2 следуюгцее: /(X 2) = 1,071. Налицо быстрая сходимость. Продолжая процесс по приведенной схеме, можно быстро приблизиться к точному решению задачи - (0, 0, 0).

Метод статистических испытаний (Монте-Карло). С развитием возможностей вычислительной техники широкое применение находят так называемые методы случайного поиска. Суть этих методов заключается в выборе величины и направления очередного шага случайным образом. Различают направленный и ненаправленный случайный поиск, случайный поиск с обучением и ряд других методов .

Схема простейшего метода случайного поиска максимума может быть такой. Определяется начальная (отправная) точка Х° и из этой точки в случайном направлении совершается перемещение на расстояние |й| в точку X 1 . При этом случайное направление формируется посредством генерации последовательности псевдослучайных чисел в количестве, равном числу переменных анализируемой функции, т.е. компонентами вектора h являются разыгранные значения случайной величины, равномерно распределенной на отрезке , где I - максимальное допустимое смещение по той или иной координате h е .

Если значение функции W (X 1) не увеличилось по сравнению с W(X°), то возвращаются в точку Х°. Разыгрывают новое направление и в этом направлении делают шаг. В том случае, если значение W(X*) > W(X°), точка X 1 принимается за отправную и процедура повторяется уже из этой точки. В противном случае попытка найти эффективное направление повторяется. В каждой очередной точке процедура поиска улучшающего направления повторяется не более заданного числа, например т раз. Та точка, из которой т раз подряд были совершены неудачные попытки увеличения значения анализируемой функции, принимается за точку максимума. В приложении 2 приведены пример и программа его решения на языке Visual Basic for Application.

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