Главная страница Программы проектирования [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [ 85 ] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] 11.1. ЗАДАЧА ПАРАМЕТРИЧЕСКОЙ ОПТИМИЗАЦИИ И МЕТОДЫ ЕЕ РЕШЕНИЯ Методы синтеза регуляторов развиты преимущественно для линейных и некоторых классов нелинейных систем невысокого порядка. Синтез сложной системы осуществляется по упрощенной, как правило, линеаризованной модели. При переходе к более полной нелинейной модели синтезированная система может не удовлетворять заданным требованиям. Возникает задача оптимизации параметров регулятора. В большинстве случаев эта задача не может быть решена аналитическими методами, поэтому прибегают к методам поисковой оптимизации и моделирования. Оптимизацию осуществляют путем направленного изменения параметров с целью достижения заданного качества. Вычисление критериев качества при каждом наборе параметров производят путем моделирования. Пусть качество системы оценивается критериями Fi, Fm. Каждый из этих критериев характеризует быстродействие, точность, энергетические затраты и т. д. Условимся, что чем меньше значение критерия, тем выше качество исследуемой системы. Зададимся параметрами xi, Хп, которые можно изменять, чтобы обеспечить заданное качество. На параметры могут накладываться ограничения вида Хг minXiXi m?ix. (11.1) Задача параметрической оптимизации заключается в нахождении вектора параметров х= (xi... x„), при котором критерии качества принимают как можно меньшие значения Fi{x)-min (t=l, т). Чаще всего такая задача оказывается некорректной, поскольку критерии вступают в противоречие и уменьшение одних критериев приводит к увеличению других. Методы решения задач многокритериальной оптимизации [9, 58, 70] основаны на различных способах свертывания критериев - формировании одного общего критерия по нескольким частным. При этом многокритериальная задача сводится к задаче безусловной или условной минимизации одного критерия. Приведем некоторые возможные способы решения задачи оптимизации по нескольким критериям. 1. Сформируем общий критерий качества в виде некоторой функции (например, взвешенной суммы) частных критериев Fi, Fm- f(x)={Fi{x), Fm{x)). Задача сводится к минимизации функции /(х) без ограничений или с ограничениями вида (11.1). 2. Выберем в качестве минимизируемой функции один из критериев, например Fi, на остальные наложим ограничения вида Fi{x)Fio, i=2..... т. (11.2) в этом случае задача сводится к минимизации функции Fi(x) при наличии ограничений. 3. Оптимизация организуется в режиме диалога проектировщика и ЭВМ. На каждом шаге оптимизации проектировщику предъявляются (на экране дисплея) значения критериев в двух различных точках пространства параметров. Сравнивая их, проектировщик принимает решение, какой из двух вариантов соответствует системе более высокого качества. На основании этого решения ЭВМ выбирает новые точки поиска, вычисляет в них значения критериев и снова предъявляет их проектировщику для сравнения. Диалоговую оптимизацию также можно считать одним из способов свертывания критериев, при котором общий критерий формируется проектировщиком в процессе общения с ЭВМ. Таким образом, задача параметрической оптимизации сводится к задаче минимизации некоторой целевой функции f(x) при ограничениях вида (11.1), (11.2). В частном случае ограничения могут отсутствовать. Практически оптимизация осуществляется путем выполнения последовательности шагов, на каждом производится движение в пространстве параметров в выбранном направлении. Чтобы найти направление движения на очередном шаге, можно использовать информацию о значении целевой функции и ее производных по оптимизируемым параметрам. Методы оптимизации в зависимости от порядка используемых производных подразделяются на методы нулевого, первого и второго порядка. Методы нулевого порядка (их называют прямыми или методами поиска) используют только значения функции. Простейшим является метод покоординатного спуска - минимизация производится поочередно в направлениях координатных осей. Недостатком этого метода является низкая скорость сходимости, особенно если минимизируемая функция овражная. Эффективность поиска значительно возрастает при более удачном расположении координатных осей. Многие эффективные методы поиска (например, методы Розенброка и Пауэлла [83]) основаны на переходе к более удачной системе координат. Метод Пауэлла обладает квадратичной сходимостью и особенно эффективен в тех случаях, когда минимизируемая функция близка к квадратичной. Отметим также разнообразные методы случайного поиска [69], метод конфигураций Хука - Дживса, симплекс-метод Нелдера - Мида, комплекс-метод Бокса [83]. Все они эвристические и особенно эффективны в тех случаях, когда другие методы с высокой скоростью сходимости не способны решить задачу, например, если минимизируемая функция не является гладкой. Эти методы могут использоваться и в описанной выше процедуре диалоговой оптимизации, поскольку при переходе в новую точку поиска не обязательно вычислять значение функции качества в ней, достаточно только определить, что эта точка лучше предыдущей. Методы первого порядка (градиентные) используют, кроме значений функции, значения ее производных. Простейший гради- 9* 259 ентный метод - метод наискорейшего спуска, которому свойственны те же недостатки, что и методу покоординатного спуска. Наиболее эффективными среди градиентных являются методы переменной метрики или квазиньютоновские [24, 83], основанные на аппроксимации матрицы вторых производных или обратной к ней. Градиентные методы целесообразно применять в тех случаях, когда есть возможность вычислять производные минимизируемой функции. Методы второго порядка (ньютоновские) дополнительно требуют вычисления вторых производных,, обладают квадратичной сходимостью и быстро сходятся, если функция выпуклая и достаточно гладкая. Однако эти методы могут быть малоэффективными или даже расходиться, если функция невыпуклая. Методы второго порядка следует использовать лишь в тех случаях, когда достаточно легко получить матрицу вторых производных минимизируемой функции. Использование методов первого и второго порядка требует расчета производных общего критерия качества. Если критерий вычисляется по результатам моделирования, то его производные можно рассчитать либо численно, давая приращения параметрам, либо по уравнениям чувствительности [71]. Численный расчет производных требует большого объема вычислений и часто приводит к значительным ошибкам. Использование уравнений чувствительности вызывает увеличение порядка исследуемой системы и требует дополнительной памяти. Определенные трудности встречает моделирование чувствительности систем, содержащих неоднозначные и разрывные характеристики (люфт, сухое трение, реле). Поэтому при оптимизации по результатам моделирования целесообразно использовать методы нулевого порядка. Дополнительные ограничения накладываются на методы поиска при использовании описанной выше процедуры диалоговой оптимизации по векторному критерию. В этом случае нельзя применять методы, использующие квадратичную интерполяцию, поскольку они требуют вычисления значений скалярной целевой функции. Плохо подходят также методы, в которых для определения новой текущей точки поиска необходимо сравнивать более двух вариантов, поскольку в этом случае значительно возрастает нагрузка на проектировщика. Поэтому наиболее эффективные из существующих методов поиска, такие как методы Пауэлла и Нелдера - Ми-да, мало подходят для диалоговой оптимизации. Ниже будут описаны алгоритмы оптимизации, в которых решение о переходе в новую точку поиска принимается на основании сравнения значений критерия в двух точках. Критерий может быть векторным, что обусловливает возможность применения этих алгоритмов для многокритериальной оптимизации. При описании алгоритмов многокритериальной оптимизации будем использовать бинарное отношение предпочтения Запись F(x)<F(y) означает, что значение векторного критерия в точке х предпочтительнее [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [ 85 ] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] 0.0173 |