2. Лекции Практические и лабораторные занятия


Практическая реализация методов



бет44/46
Дата06.01.2022
өлшемі0,77 Mb.
#11583
1   ...   38   39   40   41   42   43   44   45   46
Практическая реализация методов нелинейного программирования

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

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

Если численные значения Ki существенно различны, то поверхности уровня функции F(x) вытянуты по тем коорди­натным осям, которым соответствуют малые значения Ki. Возникает овражность, существенно замедляющая сходи­мость многих алгоритмов оптимизации. В данном случае этой овражности легко избежать с помощью замены переменных yi = ki1/2xi. После этой замены целевая функция превращается в сумму квадратов, а поверхности уровня в сферы. При наличии ограничений в них тоже необходимо про­извести замену переменных.



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

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

Если для каждой переменной известен диапазон измене­ния, например в явном виде заданы ограничения ai<= xi <= bi, то имеет смысл, как говорят, «отмасштабировать и центрировать переменные». Это означает переход к новым переменным у, по формуле



После этой замены все новые переменные уi окажутся на отрезке [-1,1]. Иногда такое преобразование называют пе­реходом к безразмерным центрированным величинам. По­сле оптимизации по уi исходные переменные xi определя­ются с помощью обратного преобразования:

Или в матричном виде х = Dy + с, где D — диагональная матрица с элементами dij = 1/2 (bi – аi), а с — вектор с ком­понентами сi= 1/2 (bi + ai). Если градиент по старым пере­менным хi обозначить как обычно g, то градиент по новым переменным gy = Dg.



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

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

Существенных упрощений процесса оптимизации в ряде случаев можно добиться преобразованием целевой функции н ограничений при введении дополнительных переменных. Наиболее наглядно это проявляется в задаче минимизации суммы модулей линейных функций при линейных ограни­чениях. Задача имеет вид: найти min Σ|η(x)| при огра­ничениях Ах <= b. Здесь

Дополнительные переменные yi вводятся так: | η(x)| <= уi. При этом появляются 2m дополнительных линейных неравенств: относительно n исходных и m дополнительных перемен­ных, но целевая функция приобретает простой вид , так что исходная задача с негладкими функциями сводится к задаче линейного программирования.




Достарыңызбен бөлісу:
1   ...   38   39   40   41   42   43   44   45   46




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет