Алгоритм процесса оптимизации методом циклического покоординатного спуска.

Программа автоматизированной оптимизации параметров трансформатора основывается на методе ЦПС (рис.4.3), который реализуется по логической схеме, приведённой на рис.4.4. Процесс автоматического поиска оптимальных параметров организуется следующим образом.

Рис.4.3 Блок-схема алгоритма поиска минимума функции n переменных методом циклического покоординатного спуска.

Предположим, что нужно найти минимальное значение целевой функции u=f(M)=f(x1, x2,..., xn). Здесь через М обозначена точка n-мерного пространства с координатами x1, x2, ... ,xn: M=(x1, x2, ... ,xn). Выберем какую-нибудь начальную точку М0=(x10, x20,...,xn0) ирассмотрим функцию f при фиксированных значениях всех переменных, кроме первой : f(x1, x20,x30,..., xn0). Тогда она превратится в функцию одной переменной x1 . Изменяя эту переменную, будем двигаться от начальной точки x1=x10 в сторону спадания функции, пока не дойдем до ее минимума при x1=x11, после которого она начинает возрастать.

Рис.4.4. Блок-схема оптимального синтеза трансформатора с оптимизацией

управляемых переменных методом ЦПС

Точку с координатами ( x11, x20,x30, ... ,xn0) обозначим ч Теперь фиксируем переменные : x1=x11, x3= x30, ... ,xn=xn0 и рассмотримфункцию f как функцию одной переменной x2: f(x11, x22, x30 . . . ,xn0). Изменяя x2, будем снова двигатьсяот начального значения x2=x20 в сторону спадания функции пока не дойдем до минимума при x2=x21 .Точку с координатами {x11, x21, x30 ... xn0} обозначим через М2, при этом f(M1) >=f(M2).

Проведем такую минимизацию целевой функции по переменным x3, x4, ... ,xn. Дойдя до переменной xn, снова возвратимся к x1 и продолжим процесс. С помощью этой процедуры строим последовательность точек М0,М1,М2, ... , которая соответствует монотонной последовательности значений функций f(M0) >= f (M1)>= f(M2) >= ... Обрывая ее на некотором шаге k можно приблизительно принять значение функции f(Mk) заее наименьшее значение в рассмотренной области.

Данный метод сводит задачу поиска наименьшего значения функции нескольких переменных к многократному решению одномерных задач оптимизации. Если целевая функция f(x1, x2, ... ,xn) задана явной формулой и является дифференцируемой (как функции критериев приведённых или капитализированных затрат), можно вычислить ее частные производные и использовать их для определения направленияспадания функции покаждой переменной и поиска соответствующих одномерных минимумов.

На рис.4.5 изображены линии уровня некоторой функции двух переменных u= f (х1, х2). Вдоль этих линий функция сохраняет постоянные значения. Показана траектория поиска ее наименьшего значения, которое достигается в точке О, с помощью метода покоординатного спуска. Пусть нужно решить задачу:

f(x) -->min, х ÎRn. (4.1)

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

 

 

Рис.4.5 Поиск методом циклического покоординатного спуска

 

Произвольно избирают начальную точку х(0) из области определения функции f(х). Приближение х(k) определяют соотношениями (4.2.):

x(k+1)=x(k)+t(k)S(k) (k=0,1,2, ...), (4.2)

где вектор направления спуска s(k) - это единичный вектор, совпадающий с любым координатным направлением (например, если S(k) параллелен х1, то S(k)= {1,0,0,...,0}, если он параллельный оси x2, то S(k)={0, 1, 0, ... ,0} и т.д.); величина t(k) является решением задачи одномерной минимизации:

f(x(k)+ts(k)) --> min, t ÎR1, (k=0,1,2, ...), (4.3)

и может определяться, в частности, методом сканирования.

Детальная реализация общей схемы в двухмерном случае R2 дает траектории приближения к точке х* методом покоординатного спуска, который состоит из частей ломаной (рис.5), соединяющей точки х(k), х~(k), x(k+1) (k=0, 1, 2,). При k=0, исходя из начальной точки х(0) =(x1(0),x2(0)), находят точку х~(0) = (x1~(0),x2(0)), минимума функции одной переменной f(x1,x2(0)); при этом f(x~(0))<=f(x(0)).Потом находят точку минимума x(1) функции f(x1~(0),x2) по другой координате. Дальше делают следующий шаг вычислений при k=1. Начальной точкой расчета является х(1). Фиксируя вторую координату точки х(1), находят точку минимума х~(1) = (x1~(1),x2(1)), функции f(x1,x2(1)) одной переменной x(1); при этом f(x~(1))<=f(x(1))<=f(x(0)). Точку х(2) получают, минимизируя целевую функцию f(x1~(1),x2),снова по координате х2, фиксируя координату x1~(1), точки x(1) , и т.д.

Условием прекращения вычислительной процедуры при достижении заданной точности e может служить неравенство

||x(k+1) - x(k) ||<e . (4.4)