Scientific journal
Fundamental research
ISSN 1812-7339
"Перечень" ВАК
ИФ РИНЦ = 1,674

METHOD OF THE FUZZY CONTROLLER OPTIMIZATION BY GENETIC ALGORITHMS

Munasypov R.A. 1 Akhmerov K.A. 1, 1
1 Ufa State Aviation Technical University
1185 KB
The technique of fuzzy controller optimization, performed with the use of genetic algorithms, is submitted in the article. This technique assumes the use of different transient quality criteria or their combinations as the target function. This technique uses input and output linguistic variables of the fuzzy controller as variable parameters. The article describes an algorithm for transforming fuzzy variables to numeric values, processed by genetic algorithm. Special program, that implements this optimization technique, have been created in Matlab. The article contains an example of fuzzy controller optimization using the developed software. The results of comparison of the system with original controller and the system with optimized controller are shown in the article. These results confirm the efficiency of suggested technique and show a significant improvement in the transient characteristics of the system with the optimized fuzzy controller compared to a system with the original fuzzy controller.
fuzzy control
genetic algorithms
controller optimization
1. Vasilev V.I., Iljasov B.G.. Intellektualnye sistemy upravlenija. Teorija i praktika: uchebnoe posobie. M.: Radiotehnika, 2009. 392 р.
2. Gostev V.I. Proektirovanie nechetkih reguljatorov dlja sistem avtomaticheskogo upravlenija SPb.: BHV-Peterburg, 2011. 416 р.
3. Zhdanov A.A. Avtonomnyj iskusstvennyj intellekt. M.: Binom. Laboratorija znanij, 2009. 359 р.
4. Kolesnikova A.A. Sovremennaja prikladnaja teorija upravlenija. Ch III. Novye klassy reguljatorov tehnicheskih sistem. Moskva Taganrog: Izd-vo TRTU, 2006. 608 р.
5. Panchenko T.V. Geneticheskie algoritmy: uchebno-metodicheskoe posobie / pod red. Ju.Ju. Tarasevicha. Astrahan: Izdatelskij dom «Astrahanskij universitet», 2007. 87 р.

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

Данная методика предполагает выполнение следующих основных этапов:

1) синтез исходного регулятора;

2) настройка параметров генетического алгоритма;

3) выбор целевой функции;

4) оптимизация регулятора.

Этап 1 предполагает создание исходного нечеткого регулятора. Главное на данном этапе – определить границы входных и выходных переменных, задать формы функций принадлежности, базу правил нечеткого регулятора, а также методы фаззификации и дефаззификации. Подбор оптимальных настроек для термов лингвистических переменных происходит на следующих этапах предлагаемой методики [2].

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

Этап 3 предполагает выбор целевой функции. Предлагаемая методика позволяет выбирать любую характеристику переходного процесса (или их комбинацию) в качестве целевой функции [4].

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

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

В качестве варьируемых параметров используются входные и выходные лингвистические переменные нечеткого регулятора. Методика предполагает в процессе работы генетического алгоритма изменение термов лингвистических переменных (рис. 1).

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

Методика накладывает следующие ограничения на диапазон изменения величин a и b:

1) a – от 0 до верхней границы диапазона;

2) b – от 0 до верхней границы диапазона;

3) b > = a.

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

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

pic_7.tif

Рис. 1. Варьируемая лингвистическая переменная

pic_8.tif

Рис. 2. Модель системы в среде Matlab, на примере которой рассматривается настройка нечеткого регулятора

pic_9.tif

Рис. 3. Экранная форма программы настройки нечеткого регулятора в среде Matlab

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

1) количество хромосом в популяции;

2) количество генов в хромосоме;

3) количество битов в одном гене;

4) вероятность скрещивания;

5) вероятность мутации;

6) целевая функция.

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

а) время регулирования;

б) перерегулирование;

в) время регулирования и перерегулирование одновременно (при этом имеется возможность указать веса обоих критериев);

г) площадь между графиком переходного процесса системы и «единичным» графиком (то есть графиком, у которого каждому значению переменной времени t соответствует выходное значение y = 1);

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

7) максимальное число итераций естественного отбора.

Оптимизируемый в рассматриваемом примере регулятор содержит две входных (e – ошибка управления, de – скорость изменения ошибки управления) и одну выходную переменную (y). Соответственно, генотип состоит из 6-ти частей: a1, b1, a2, b2, a3, b3. Границы изменения переменных: e – [0; 1,5], de – [0; 2], y – [0; 1,5].

Примем желаемую точность ∆ = 1 %. При этом согласно формуле получим число битов, кодирующих каждый ген na1 = nb1 = na2 = nb2 = na3 = nb3 = 10.

munasyn01.wmf (1)

где n – число битов в гене; xmax – верхняя граница изменения кодируемого параметра; xmin – нижняя граница изменения кодируемого параметра; ∆ – требуемая точность.

Для создания начальной популяции возьмем случайные значения варьируемых параметров a и b. В ходе своей работы данная программа преобразует значения этих параметров в генотип, а также выполняет обратную операцию – преобразование генотипа в фенотип – согласно формулам (2) и (3) соответственно.

munasyn02.wmf (2)

где d – десятичное представление кодируемого параметра; xmax – верхняя граница изменения кодируемого параметра; xmin – нижняя граница изменения кодируемого параметра; n – число битов в гене.

munasyn03.wmf (3)

где d – десятичное представление декодируемого параметра; xmax – верхняя граница изменения кодируемого параметра; xmin – нижняя граница изменения кодируемого параметра; n – число битов в гене.

Например, следующие значения параметров: a1 = 0,6; b1 = 1,2; a2 = 0,9; b2 = 1,8; a3 = 0,7; b3 = 1,4 будут зашифрованы в следующей хромосоме:

[[0, 1, 1, 0, 0, 1, 1, 0, 0, 1];

[1, 1, 0, 0, 1, 1, 0, 0, 1, 0];

[0, 1, 1, 1, 0, 0, 1, 1, 0, 0];

[1, 1, 1, 0, 0, 1, 1, 0, 0, 1];

[0, 1, 1, 1, 0, 1, 1, 1, 0, 1];

[1, 1, 1, 0, 1, 1, 1, 0, 1, 1, ]].

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

pic_10.tif

а

pic_11.tif

 

б

pic_12.tif

 

pic_13.tif

в г

Рис. 4. Параметры входных (а, б) и выходной (в) лингвистических переменных, выходная поверхность (г) исходного нечеткого регулятора

pic_14.tif

 

а

pic_15.tif

 

б

pic_16.tif

 

pic_17.tif

в г

Рис. 5. Параметры входных (а, б) и выходной (в) лингвистических переменных, выходная поверхность (г) оптимизированного нечеткого регулятора

В качестве метода естественного отбора разработанная программа использует метод «колеса рулетки». Вероятность скрещивания для данного примера установим равную 80 %, вероятность мутации – 1 %.

Параметры исходного нечеткого регулятора представлены на рис. 4.

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

Результат отработки единичного воздействия, подаваемого на 0-й секунде на вход системы с исходным регулятором, показан на рис. 6, а. Время регулирования переходного процесса в системе с исходным регулятором составило 1,6 с, перерегулирование – 15 %. После оптимизации нечеткого регулятора время регулирования системы составило 0,75 с, перерегулирование составило 3 % (рис. 6, б)

Таким образом, предлагаемая методика позволяет существенно улучшить параметры системы за счет изменения параметров лингвистических переменных нечеткого регулятора. В приведенном примере время регулирования сократилось на 53 %, перерегулирование уменьшилось на 80 %.

pic_18.tif

а

pic_19.tif

б

Рис. 6. Переходной процесс системы с исходным нечетким регулятором (а) и с оптимизированным нечетким регулятором (б) при подаче единичного воздействия

Рецензенты:

Гвоздев В.Е., д.т.н., профессор, заведующий кафедрой технической кибернетики, Уфимский государственный авиационный технический университет, г. Уфа;

Куликов Г.Г., д.т.н., профессор, заведующий кафедрой автоматизированных систем управления, Уфимский государственный авиационный технический университет, г. Уфа.

Работа поступила в редакцию 10.04.2015.