Проектирование нечетких систем. Штовба С.Д

Разработайте и моделируйте системы нечеткой логики

Fuzzy Logic Toolbox™ обеспечивает функции MATLAB ® , приложения и блок Simulink ® для анализа, разработки и симуляции систем на основе нечеткой логики. Руководства по продукту вы через шаги разработки нечетких систем вывода. Функции обеспечиваются для многих общепринятых методик, включая нечеткую кластеризацию и адаптивное нейронечеткое изучение.

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

Начало работы

Изучите основы Fuzzy Logic Toolbox

Нечеткое системное моделирование вывода

Создайте нечеткие системы вывода и нечеткие деревья

Нечеткая системная настройка вывода

Настройте функции принадлежности и правила нечетких систем

Кластеризация данных

Найдите кластеры в данных о вводе/выводе с помощью нечетких c-средних-значений или отнимающей кластеризации

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

Вариант 1. y = sin(x), x  [-,].

Вариант 2. y = cos(x), x  .

Вариант 3. y = (2) -1/2 exp(-x 2 /2), x  [-3,3].

Вариант 4. y = (2/)arctg(x), x  [-,].

Вариант 5. y = (1/)arcctg(x), x  [-,].

Вариант 6. y = th(x) = (e x -e -x)/ (e x +e -x), x  [-,].

Вариант 7. y = e -x sin(x), x  [-,].

Вариант 8. y = e -x cos(x), x  .

Подготовка к лабораторной работе.

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

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

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

    Формируется база правил аппроксимации.

Порядок выполнения работы:

    Загрузить fuzzyTECH MP Explorer.

    Для создания нового проекта выбрать строку «N ew» пункта главного меню «F ile». На вопрос программы «Generate system?» ответить утвердительно. В появившемся диалоговом окне «Generate system» задать следующие параметры нечеткой системы:

    число входных лингвистических переменных в поле ввода «I nput LVs:» (в данной работе 1);

    число выходных лингвистических переменных в поле ввода «O utput LVs:» (в данной работе 1);

    число термов на входную лингвистическую переменную в поле ввода «Input t erms/LV:» (по результатам домашней подготовки);

    число термов на выходную лингвистическую переменную в поле ввода «Output te rms/LV:» (по результатам домашней подготовки);

    число блоков правил в поле ввода «R ule blocks:» (в данной работе 1 блок правил).

Зафиксировать результаты ввода нажатием кнопки «ОК». В результате в окне «Project Editor» формируется условное графическое изображение проектируемой нечеткой системы, а в окне лингвистических переменных «LV» список с предопределенными системными именами для входных и выходных переменных: in1, out1. На условном графическом изображении прямоугольник слева со схематическим рисунком функций принадлежности и именем «in1» представляет входную переменную, прямоугольник справа с рисунком дефазификации и именем «out1» отображает выходную переменную. В центре находится блок правил.

3. Для изменения имени лингвистической переменной и ввода ее термов необходимо выделить переменную из списка в окне «LV» (щелчком левой клавиши мышки на имени переменной) и нажать правую клавишу мышки для вызова всплывающего контекстного меню. В контекстном меню выбрать строку «A ttributes ...». В появившемся окне «Rename Variable» можно поменять имя переменной в поле «N ame:» и нажать на клавишу «Edit ...» для ввода термов для этой переменной.

В появившемся окне все термы в списке «T erm» также имеют предопределенные имена, которые можно поменять похожим образом: выделить из списка требуемый терм и вызвать из контекстного меню строку «A ttributes ...». Новое имя терма вводится в поле «T erm Name». Здесь же можно поменять форму нечеткого множества терма (группа радиопереключателей «S hape») и положение терма в списке (список «P osition»).

Перед определением функций принадлежности необходимо задать область определения лингвистической переменной. Для этого с помощью двойного щелчка левой кнопкой мыши на строке «Base_Variable» перейти в окно «Base Variable». Минимальное («Min :») и максимальное («M ax:») значение диапазона («Range») задаются в полях колонки «Shell Values». В этом окне можно также поменять подпись под графиком функций принадлежности в поле «B ase Variable Name».

Определение функции принадлежности может происходить двумя способами:

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

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

4. После ввода всех лингвистических переменных и их термов необходимо создать базу правил нечеткой системы. Для этого следует дважды щелкнуть левой клавишей мышки на блоке правил условного графического изображения нечеткой системы. В результате откроется окно редактора правил «Spreadsheet Rule Editor», в котором перечислены все возможные комбинации правил. Необходимо отметить последовательно все правила, которые не нужны для работы системы, щелчками левой клавиши мышки на номерах соответствующих правил и удалить их разом нажатием клавиши «Del» с последующим утвердительным ответом на запрос системы о необходимости удаления. После этого закрыть окно редактора правил.

    Открыть двойным щелчком мышки на прямоугольнике входной переменной условного графического изображения окно интерфейсных опций «Interface Options» и проверить, что установлен радиопереключатель «Fast Computation of MBF» группы «INPUT Fuzzification:» и в списке интерфейсных переменных «I nterface Variable:» указана правильная входная переменная. Аналогичным образом открыть то же окно для выходной переменной и проверить установку метода дефазификации «CoM» (Center of Maximum) и корректность выходной переменной в списке интерфейсных переменных.

    Для получения передаточной характеристики нечеткой системы сформировать входное воздействие, линейно изменяющееся во всем допустимом диапазоне значений. Для этого выбрать строку «P attern Generator» пункта главного меню «D ebug». В появившемся окне «Pattern Generator» задать начальное значение в поле ввода «F rom:», конечное в поле ввода «То:» и шаг изменения в поле «S tep:». Для формирования файла входного воздействия нажать на кнопку «G enerate ...». Указать имя файла воздействия в окне сохранения файла «Generate Pattern To ...» и сохранить его нажатием кнопки «ОК». Закрыть окно «Pattern Generator» кнопкой «Close».

    Вызвать функцию «F ile Recorder» из меню «D ebug». В окне «Read File Control Information From ...» указать в поле «Filen ame» имя файла со сформированным входным воздействием и нажать на кнопку «ОК». В результате откроются окна «Debug: File Recorder» и «File Control».

    Сформировать окно для построения графика передаточной характеристики. Для этого вызвать функцию «Time P lot ...» из меню «A nalyzer». Задать конфигурацию графического вывода в окне «Time Plot Configuration» следующим образом:

    в списке «L Vs:» выделить щелчком левой клавиши мыши выходную переменную;

    переместить эту переменную в окно «P lot Items:» нажатием на кнопку «> >»;

    завершить ввод конфигурации нажатием кнопки «ОК».

После этого откроется окно для графика передаточной характеристики «Time Plot - 1». Разместить окна «Time Plot - 1» и «File Control» на экране так, чтобы они не перекрывали друг друга. Окно «Debug: File Recorder» при этом может быть перекрыто этими окнами.

    Получить график передаточной характеристики, используя окно «File Control». Для управления процессом используются кнопки поля «Control», похожие на клавиши плейера, расположенные в следующем порядке слева направо:

    переход к первой точке входного воздействия;

    автоматическая перемотка назад к первой точке;

    пошаговая перемотка назад к первой точке;

  • пошаговая перемотка вперед к последней точке;

    автоматическая перемотка вперед к последней точке;

    переход к последней точке входного воздействия.

Для получения графика нажать кнопку автоматической перемотки вперед.

    После зарисовки графика полученной передаточной характеристики закрыть окно «Time Plot - 1», перейти опять к первой точке входного воздействия и перемотать входное воздействие в пошаговом режиме, фиксируя вход («I nputs:») и выход («O utputs:») системы в окне «Debug: File Recorder». Эти данные будут использоваться для оценки точности аппроксимации передаточной характеристики. Закрыть окно «Debug: File Recorder», перейти опять к первой точке входного воздействия и открыть окно с функциями принадлежности выходной переменной, дважды щелкнув левой клавишей мыши на имени переменной в окне «LV». Изучить и зарисовать процесс дефазификации по методу «CoM» в пошаговом режиме.

    Изменить установку метода дефазификации с «CoM» на «МоМ» (Mean of Maximum). Для этого необходимо перейти в окно «Project Editor» либо щелкнув на нем левой клавишей мыши, либо выбрав его из списка окон в меню «W indow» и открыть двойным щелчком мышки на прямоугольнике выходной переменной условного графического изображения окно интерфейсных опций «Interface Options», чтобы установить радиопереключатель «MoM» группы «OUTPUT Defuzzification:». После этого следует повторить вышеописанную процедуру получения передаточной характеристики для нового метода дефазификации.

    Закрыть все открытые окна и завершить работу программы (строка «Ex it» пункта главного меню «F ile»).

Введение

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

Нечеткие системы управления

Нечеткая система (НС) -- это система, особенностью описания которой является:

· нечеткая спецификация параметров;

· нечеткое описание входных и выходных переменных системы;

· нечеткое описание функционирования системы на основе продукционных «ЕСЛИ…ТО…»правил.

Важнейшим классом нечетких систем являются нечеткие системы управления (НСУ). Одним из важнейших компонентов НСУ является база знаний, которая представляет собой совокупность нечетких правил «ЕСЛИ--ТО», определяющих взаимосвязь между входами и выходами исследуемой системы. Существуют различные типы нечетких правил: лингвистическая, реляционная, модель Takagi-Sugeno.

Для многих приложений, связанных с управлением технологическими процессами, необходимо построение модели рассматриваемого процесса. Знание модели позволяет подобрать соответствующий регулятор (модуль управления). Однако часто построение корректной модели представляет собой трудную проблему, требующую иногда введения различных упрощений. Применение теории нечетких множеств для управления технологическими процессами не предполагает знания моделей этих процессов. Следует только сформулировать правила поведения в форме нечетких условных суждений типа «ЕСЛИ-ТО».

Рис. 1. Структура нечеткой системы управления

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

Фа зификация (переход к нечеткости)

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

Лингвистические переменные

В нечеткой логике значения любой величины представляются не числами, а словами естественного языка и называются «термами». Так, значением лингвистической переменной «Дистанция» являются термы «Далеко», «Близко» и т. д. Для реализации лингвистической переменной необходимо определить точные физические значения ее термов. Допустим переменная «Дистанция» может принимать любое значение из диапазона от 0 до 60 метров. Согласно положениям теории нечетких множеств, каждому значению расстояния из диапазона в 60 метров может быть поставлено в соответствие некоторое число, от нуля до единицы, которое определяет степень принадлежности данного физического значения расстояния (допустим, 10 метров) к тому или иному терму лингвистической переменной «Дистанция». Тогда расстоянию в 50 метров можно задать степень принадлежности к терму «Далеко», равную 0,85, а к терму «Близко» - 0,15. Задаваясь вопросом, сколько всего термов в переменной необходимо для достаточно точного представления физической величины принято считать, что достаточно 3-7 термов на каждую переменную для большинства приложений. Большинство применений вполне исчерпывается использованием минимального количества термов. Такое определение содержит два экстремальных значения (минимальное и максимальное) и среднее. Что касается максимального количества термов, то оно не ограничено и зависит целиком от приложения и требуемой точности описания системы. Число 7 же обусловлено емкостью кратковременной памяти человека, в которой, по современным представлениям, может храниться до семи единиц информации.

Функции принадлежности

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

Рис. 2. Стандартные функции принадлежности

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

Рассмотрены вопросы проектирования нечетких систем в пакете Fuzzy Logic Toolbox вычислительной среды MATLAB Даны необходимые сведения в области теории нечетких множеств и нечеткой логики. Приведен теоретический материал по проектированию нечетких систем. Изложены теория нечеткой идентификации, методы нечеткой кластеризации и их применение для экстракции нечетких правил, а также метод принятия решений в нечетких условиях на основе слияния целей и ограничений. Рассмотрены авторские расширения пакета для проектирования нечетких классификаторов, построения иерархических нечетких систем, обучения нечетких баз знаний типа Мамдани, а также для логического вывода при нечетких исходных данных. Книга может использоваться как учебное пособие к университетским курсам по интеллектуальным системам, искусственному интеллекту, теории принятия решений и методам идентификации.
Для проектировщиков систем, будет полезна научным сотрудникам, аспирантам и студентам старших курсов, интересующимся применением теории нечетких множеств в управлении, идентификации, обработке сигналов, а также разработчикам интеллектуальных систем поддержки принятия решений в медицине, биологии, социологии, экономике, политике, спорте и в других областях.

Предисловие

Глава 1. Краткий курс теории нечетких множеств
1.1. Исторический экскурс
1.2. Нечеткие множества
1.2.1. Основные термины и определения
1.2.2. Свойства нечетких множеств
1.2.3. Операции над нечеткими множествами
1.2.4. Функции принадлежности
1.3. Нечеткая арифметика
1.4. Нечеткие отношения
1.5. Нечеткая логика
1.5.1. Лингвистические переменные
1.5.2. Нечеткая истинность
1.5.3. Нечеткие логические операции
1.6. Нечеткий логический вывод
1.6.1. Логический вывод
1.6.2. Основы нечеткого логического вывода
1.6.3. Нечеткие базы знаний
1.6.4. Композиционное правило нечеткого вывода Заде
1.6.5. Нечеткий логический вывод Мамдани
1.6.6. Нечеткий логический вывод Сугено
1.6.7. Нечеткий логический вывод по синглтонной базе знаний
1.6.8. Нечеткий логический вывод для задач классификации
1.6.9. Иерархические системы нечеткого логического вывода
1.6.10. Нейро-нечеткие сети

Глава 2. Теория проектирование нечетких систем
2.1. Идентификация нелинейных зависимостей нечеткими базами знаний
2.1.1. Настройка нечеткой базы знаний Мамдани
2.1.2. Настройка нечеткой базы знаний Сугено
2.1.3. Настройка нечеткой базы знаний для задач классификации
2.2. Нечеткая кластеризация
2.2.1. Введение в кластеризацию
2.2.2. Кластеризация алгоритмами с-средних
2.2.2.1. Четкая кластеризация алгоритмом с-средних
2.2.2.2. Базовый алгоритм нечетких с-средних
2.2.2.3. Обобщения алгоритма нечетких с-средних
2.2.3. Кластеризация горным алгоритмом
2.2.4. Синтез нечетких правил по результатам кластеризации
2.3. Принятие решений в нечетких условиях по схеме Беллмана-Заде
2.3.1. Нечеткие цели, ограничения и решения
2.3.2. Нечеткий многокритериальный анализ вариантов
2.3.3. Нечеткий многокритериальный анализ бренд-проектов
2.3.4. «Что - если». Анализ вариантов

Глава 3. Пакет Fuzzy Logic Toolbox
3.1. Структура и возможности пакета
3.2. Быстрый старт
3.2.1. Разработка нечеткой системы типа Мамдани
3.2.2. Разработка нечеткой системы типа Сугено на основе экспертных знаний
3.2.3. Экстракция из данных нечеткой системы Сугено с помощью ANFIS-редактора
3.2.4. Экстракция нечеткой системы в режиме командной строки
3.3. GUI-модули
3.3.1. Fuzzy Inference System Editor
3.3.1.1. Меню File
3.3.1.2. Меню Edit
3.3.1.3. Меню View
3.3.1.4. Меню And method, Or method, Implication и Aggregation
3.3.1.5. Меню Defuzzification
3.3.2. Membership Function Editor
3.3.3. Rule Editor
3.3.3.1. Меню Edit
3.3.3.2. Меню Options
3.3.4. ANFIS Editor
3.3.4.1. Меню Edit
3.3.4.2. Область визуализации
3.3.4.2. Область свойств ANFIS
3.3.4.3. Область загрузки данных
3.3.4.4. Область генерирования исходной системы нечеткого вывода
3.3.4.5. Области обучения, тестирования и вывода текущей информации
3.3.5. Rule Viewer
3.3.6. Surface Viewer
3.3.6.1. Меню Options
3.3.6.2. Меню координатных осей
3.3.6.3. Поля ввода информации
3.3.7. Findcluster
3.3.7.1. Область визуализации
3.3.7.2. Область загрузки данных
3.3.7.3. Область кластеризации
3.4. Демо-примеры
3.4.1. Запуск основных демо-примеров
3.4.2. Предсказание топливной эффективности автомобиля
3.4.3. Нелинейное шумоподавление
3.4.4. Предсказание временного ряда
3.4.5. Прогнозирование количества автомобильных поездок
3.4.6. Идентификация процесса нагрева воздуха в фене
3.4.7. Жонглирование теннисным шариком
3.4.8. Удержание шарика на коромысле
3.4.9. Парковка грузовика
3.4.10. Регулятор воды в баке
3.4.11. Управление душем
3.4.12. Удержание перевернутого маятника на тележке
3.4.13. Управление рукой робота-манипулятора
3.4.14. Кластеризация алгоритмом нечетких с-средних
3.4.15. Кластеризация ирисов
3.4.16. Методы дефаззификации
3.4.17. Галерея функций принадлежности
3.4.18. Калькулятор чаевых
3.5. Справочник функций пакета Fuzzy Logic Toolbox
3.6. Структуры данных
3.6.1. Структура данных системы нечеткого вывода
3.6.2. Структура файла системы нечеткого вывода
3.6.3. Структуры данных для ANFIS-обучения и кластеризации
3.7. Взаимодействие с другими пакетами
3.7.1. Блоки для пакета Simulink
3.7.2. Си-код машины нечеткого логического вывода

Глава 4. Расширение пакета Fuzzy Logic Toolbox
4.1. Настройка нечетких моделей Мамдани средствами Optimization Toolbox
4.2. Экстракция нечетких моделей Мамдани через нечеткую кластеризацию
4.3. Проектирование нечетких классификаторов
4.4. Нечеткий вывод при нечетких исходных данных
4.5. Проектирование иерархических нечетких систем
4.5.1. Первый способ
4.5.2. Второй способ

Заключение
Литература
Приложение. Интернет-ресурсы по нечетким системам

информатика, вычислительная техника и управление

УДК 004 052 Р. д. КАРАБцов

л. а. денисова

Омский государственный технический университет, г. Омск

проектирование нечёткой системы регулирования с использованием генетического

алгоритма оптимизации_

Рассмотрены вопросы проектирования системы автоматического регулирования (САР), реализованной с использованием нечетких информационных технологий. Исследованы нечеткие регуляторы с различным количеством функций принадлежности, оптимизированные с помощью генетического алгоритма. Осуществлен выбор нечеткой САР, обеспечивающей лучшее регулирование по принятым показателям качества. Модельные исследования САР выполнялись в среде MATLAB/Simulink/Fuzzy logic Toolbox/Global Optimization Toolbox.

Ключевые слова: система автоматического регулирования, цифровой регулятор, математическая модель, нечеткая логика, генетический алгоритм.

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

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

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

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

Исследование САР выполнялись в среде MATLAB/Simulink/Fuzzy Logic Toolbox/Global Optimization Toolbox.

Описание модели нечёткой САР. В качестве примера нечеткой САР рассмотрена система автоматического регулирования типового объекта автоматизации - давления в паровом коллекторе энергоблока . Исследования САР выполнены в интерактивной среде для научных и инженер-

Рис. 1. Математическая модель нечёткой САР с регулятором FC2

Рис. 2. Структура нечеткого регулятора

ных расчетов MATLAB с пакетами расширения Simulink и Global Optimization Toolbox . Для моделирования и оптимизации нечеткой системы регулирования создана Simulink - модель (рис. 1) и файлы-сценарии, обеспечивающие многократные вызовы модели САР, вычисление показателей качества и обработку данных генетическим алгоритмом.

Модель нечеткой САР содержит модели: цифрового нечеткого регулятора, исполнительного механизма (ИМ) с регулирующим клапаном (РК) и технологического объекта управления и подсистему нечеткого регулирования (REG FIS) . Для учета дискретизации сигналов во времени применен экстраполятор нулевого порядка (Zero-Order Hold). При исследовании рассмотрены четыре варианта реализации нечеткой САР, отличающиеся количеством функций принадлежности (ФП) и параметрами термов для лингвистических переменных нечетких регуляторов.

В рассматриваемых вариантах САР, реализующих нечеткое управление, использованы следующие лингвистические переменные: входные переменные e (ошибка регулирования) и de/dt (скорость изменения ошибки регулирования), выходная переменная Vcv (скорость открытия / закрытия РК). Также для всех вариантов нечёткой САР выбраны следующие типы ФП входных переменных: сигмоидная sigmf (для боковых термов) и гауссова gaussmf (для центральных термов). Для выходной переменной использованы синглтонные функции принадлежности.

На рис. 2 показана обобщенная функциональная структура нечетких регуляторов, которая традиционно включает следующие блоки :

Блок фазификации, преобразующий четкие данные параметров процесса (ошибку регулирова-

ния e и скорость ее изменения de/dt) в нечеткие величины (и и LL. ,..);

Блок базы правил, содержащий набор лингвистических правил, отражающих алгоритм работы системы;

Блок нечеткого вывода, который содержит алгоритм получения функций принадлежности выходной величины (LVcv);

Блок дефазификации преобразует функции принадлежности выходной величины в физическую величину (Vcv - скорость изменения управляющего воздействия на исполнительные механизмы).

Рассмотрены варианты нечетких регуляторов со следующими наименованиями (обозначениями): Fuzzy Control 1 (FC1), Fuzzy Control 2 (FC2), Fuzzy Control 3 (FC3), Fuzzy Control 4 (FC4). Данные регуляторы отличаются друг от друга количеством функций принадлежности. Например, в регуляторе FC1 заданы по три ФП для входных переменных (e, de/dt) и пять ФП для выходной переменной (V). В других регуляторах количество функций принадлежности изменялось для входных переменных (рассматривались варианты с 3 - 5 ФП), для выходной лингвистической переменной количество функций принадлежности оставалось постоянным.

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

Диапазон изменения переменной e (ошибка регулирования) разбивается на термы: NL - отрицательная большая, Z - малая, NZ - отрицательная малая, PZ - положительная малая, ZZ - отсутствие ошибки, PL - положительная большая. Диапазон изменения переменной de/dt (скорость изменения ошибки регулирования) разбивается на термы: N - отрицательная высокая, NZ - отрицательная, Z - низкая, PZ - положительная, P - положительная высокая, терму Z соответствуют малые значения скорости изменения de/dt, которые принимаются как характеризующие установившийся процесс.

Диапазон изменения переменной Vcv - скорости перемещения ИМ, разбивается на термы: NL - отрицательная высокая, NM - отрицательная средняя, NZ - отрицательная, Z - отсутствие перемещения, PZ - положительная, PM - положительная средняя, PL - положительная высокая. В табл. 1 показана сформированная база нечётких правил для рассматриваемых вариантов нечётких регуляторов.

В дальнейшем из четырех вариантов регуляторов были выбраны только два, потому что, как

База нечётких правил

отрицательная большая

отрицательная

отсутствие перемещения

положительная малая

положительная большая

отрицательная высокая

отрицательная

PZ положительная P положительная высокая

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

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

Принималось во внимание, что даже оптимально настроенные на моделях регуляторы должны иметь возможность настройки в реальныо ус ло виях на объекте управления, то есть предпочтительно иметь меньшее количество изменяемых па]оаме-тров.

В итоге для дальнейшего исследования выбр аны нечеткие САР с регуляторами FC1 и FC2, которые оптимизировались с помощью генетического алго -

ритма для увеличения быстродействия и точности управления.

Описание алгоритма оптимизации нечёткой САР с помощью ГА. Запуск Simulink-модели САР и вызов генетического алгоритма реализованы с помощью созданного m-файла - сценария, работающего с функциями пакета MATLAB / Global/ Optimization Toolbox, устанавливающего необходимые опции и осуществляющего контроль выполнения оптимизации.

Поиск минимума критерия качества работы системы выполняется функцией ga, а создание структуры опций генетического алгоритма - оператором gaoptimset. Генетический алгоритм применяется к математической модели нечёткой САР с регулятором FC2 в среде MATLAB/Simulink/Fuzzy Logic (рис. 1).

Рассмотрим поэтапно работу процедуры оптимизации нечеткой САР, основанной на использовании генетического алгоритма.

Этап 1. Вызывается функция ga, которая начинает работу генетического алгоритма.

Задается вектор параметров: x = (ks, kf, Ка2,

kc2,kai,kci,ka6,kc6), где ks и kf - коэффициенты передачи по скоростк ИМ (медленно - slow, быстро - fast); параметры функций принадлежности: Ка2, К

c2" Ка4, К c4 Каи, К

На основе экспертных данных апраделяетая диапазон поиска значений входных переменных (нижняя lb и верхняя ub границы), е е .

Этап 2. Генетический алгоритм начинает работу с некоторого случайного набора исходных решений, который называется популяцией (Population Size - число особей в каждом поколении). Каж-

дый элемент из популяции называется хромосомой и представляет некоторое решение проблемы в первом приближении. Хромосома представляет собой строку символов (в нашем случае - параметров настройки ФП). Хромосомы эволюционируют на протяжении множества итераций, носящих название поколений или генераций (Generations). В ходе каждой итерации хромосома оценивается с использованием некоторой меры соответствия (англ. fitness function, в нашем случае - критерия качества работы САР). Для создания следующего поколения новые хромосомы, называемые отпрысками, формируются либо путем скрещивания (англ. crossover) двух хромосом - родителей из текущей популяции, либо путем случайного изменения - мутации (mutation) одной хромосомы.

Этап 3. Вызывается m-функция, реализующая циклический запуск модели САР и многократное вычисление критертя качества ее работы J=K(x) при различных наборах параметров функций принадлежности, изменяемых в заданных пределах с помощью ГА, который определяет оптимальное значение критерия работы САР е = [(ф) при найденных оптимальных параметрах

ф = (К" Hf< Hg\" Ыдл ЫчТ ЫсТ" Ыч(, Ыс(" Ыч6" Ысб).

Этап 4. Происходит проверка завершения работы: все ли особи в поколении были рассмотрены (Population), все ли поколения сгенерированы (Generations) и завершилось ли время работы (Time limit). Использование параметра Time limit позволяет предотвратить слишком долгую работу алгоритма. Если алгоритм останавливается из-за этого условия, а оптимизация не завершена, значит, можно улучшить результаты за счет увеличения значения параметра Time limit .

Этап 5. Сохранение результатов оптимизации. Завершение работы.

РезуЫьтатьЫ оытимизыции нечётких регуляторов. Принималось во внимание, что нечеткие САР п]чеднтзначены ч^я работы в условиях неопределен-нохти, когда параметры объекта управления неизвестны и, кроме того, могут изменяться в широком еи=пазо н е.

Для моделирования САР принято, что пере-дат=ЧЫая функция оЫъеЫта упЫавлЫния соответствует инерционному звену первого порядка : W(s) = K0 /(T0s + 1), где K0 - коэффициент передачи; Т0 - постоянная времени. На основе имеющейся экспертной информации приняты базовые (исходные) значения параметров объекта управления: K0 = 0,25 кгс/см2/%, Т0 = 60 с. Исследование нечётких регуляторов проводилось при варьировании параметров объекта K0 и Т0 на ±30 %, ±50 % и ±70 % от принятых значений. Для определения качества работы каждого из исследуемых регуляторов и выбора структуры нечеткой САР (количества функций принадлежности) использованы традиционные для теории автоматического управления показатели качества : установившаяся ошибка регулирования 5 и время установления переходного процесса t. Под установившейся (статической) ошибкой системы 5 понимается разница между заданным и текущим значениями выходного сигнала в установившемся режиме. Длительность (время установления) переходного процесса t - это время, необходимое выходному сигналу системы для того, чтобы приблизиться к своему заданному значению. Для определения времени переходного процесса задана требуемая точность (±1 % от заданного значения регулируемой величины).

Рис. 3. Функции принадлежности для термов входных и выходной переменных регуляторов FC1, FC2, полученные: a) по экспертным оценкам; б) после настройки

генетическим алгоритмом регулятора FC2; в) после настройки генетическим алгоритмом регулятора FC1

При проведении исследоваий исходные параметры ФП лингвистических переменных принимались, исходя из экспертных оценок (рис. За): пять ФП для входной переменной e, три ФП для входной

Варьирование коэффициента передачи объекта управления

Наименование регулятора Исходные параметры К Т О 0 Варьирование параметров

К0 + 0,3К0 К0-0,3К0 К0 + 0,7К0 К0-0,7К0 К0 + 0,5К0 ^0-0,5^0

5, % 1, с 5, % 1, с 5, % 1, с 5, % 1, с 5, % 1, с 5, % Ь, с 5, % Ь, с

БС1 0,1 45 0,2 50 0,25 65 0,25 45 1,5 110 0,1 40 1,2 85

БС2 0,05 40 0,2 30 0,15 60 0,05 30 1,2 100 0,05 35 0,9 75

Таблица 3

Варьирование постоянной времени объекта управления

Наименование регулятора Исходные параметры К Т0 Варьирование параметров

Т0 + 0,5Т0 Т-0,5Т0 Т0 + 0,3Т0 Т0-0,3Т0 Т0 + 0,7Т0 Т0-0,7Т0

5, % 1, с 5, % 1, с 5, % 1, с 5, % 1, с 5, % 1, с 5, % 1, с 5, % 1, с

БС1 0,1 45 0,3 75 0,15 45 0,6 60 0,1 40 0,25 70 0,3 30

БС2 0,05 40 0,2 65 0,1 30 0,2 55 0,05 35 0,05 65 0,25 35

Рис. 4. Зависимости статической ошибки и времени установления при нечетком регулировании от изменения параметров объекта управления

переменной de/dt и пять ФП для выходной переменной V. После оптимизации с помощью генетического алгоритма рассматриваемых нечетких регуляторов FC1 и FC2 параметры ФП изменялись (рис. 3б и рис. 3в), обеспечивая требуемое качество регулирования.

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

настройках. Установившаяся ошибка 5 в системах, оптимизированных генетическим алгоритмом, примерно в два раза меньше, чем до оптимизации. Время установления t уменьшилось примерно на 10 %.

При варьировании параметров объекта управления сравнивалась работа регуляторов FC1 и FC2 (с разным количеством функций принадлежности для входной переменной e) с целью выбора структуры регулятора. Следует заметить, что, с одной стороны, выбор регулятора с меньшим количеством функций принадлежности (а значит, и с меньшим количеством настраиваемых параметров) предпо-

чтительнее в силу его более простой реализации. Но, с другой стороны, нежелательно значительное ухудшение качества работы САР, особенно снижение точностных показателей.

Результаты модельных исследований нечетких регуляторов представлены в табл. 2 и табл. 3. При варьировании параметров объекта управления сравнивались значения установившейся ошибки 5 и времени установления t, полученные в результате исследования нечетких регуляторов, оптимально настроенных на базовые значения параметров объекта (с помощью ГА). Цветом выделены лучшие результаты. Как видно из таблицы, регулятор FC2 с пятью функциями принадлежности для входной переменной e работает точнее и быстрее, чем регулятор FC1 с тремя функциями принадлежности. Кроме того, важным является то, что регулятор FC2 работает стабильнее, чем FC1, при разных параметрах объекта управления.

Для исследуемых вариантов регуляторов при варьировании параметров объекта управления построены соответствующие графики (рис. 4). На графиках видно, что при значительном изменении параметров объекта управления регулятор FC2 (с пятью ФП для переменной e) обеспечивает более точное регулирование, чем FC1 (с тремя ФП для переменной e). При увеличении постоянной времени или уменьшении коэффициента передачи объекта управления на 70 % установившаяся ошибка уменьшается примерно на 25 %. Также при использовании FC2 в случае увеличения постоянной времени или коэффициента передачи объекта на 70 % время установления сокращается примерно на 10 %.

Анализ результатов позволил определить наиболее предпочтительную структуру регулятора. Сделан вывод, что FC2 работает эффективнее, чем FC1. При выбранной структуре САР значения установившейся ошибки и времени установления наименьшие при изменении параметров объекта управления. Это означает, что увеличение количества функций принадлежности повышает робаст-ность нечеткой САР, то есть нечувствительность к изменению параметров объекта, обусловленных возмущающими воздействиями.

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

в условиях неопределенности и параметрической нестабильности.

Библиографический список

1. Нечеткая логика - математические основы. URL: http://www.basegroup.ru/library/analysis/fuzzylogic/math/ (дата обращения: 10.09.2017).

2. Кудинов Ю. И., Дорохов И. Н., Пащенко Ф. Ф. Нечеткие регуляторы и системы управления // Проблемы управления. 2004. № 3. С. 24-36.

3. Денисова Л. А. Многокритериальная оптимизация на основе генетических алгоритмов при синтезе систем управления: моногр. Омск: Изд-во ОмГТУ, 2014. 172 с.

4. Денисова Л. А. Синтез систем регулирования с коррекцией задающего воздействия на основе нечеткого логического вывода // Омский научный вестник. 2009. № 1 (77). С. 184-191.

5. Карабцов Р. Д., Денисова Л. А. Оптимизация нечёткой системы регулирования // Информационные технологии и автоматизация управления: материалы VIII Всерос. науч.-практ. конф. Омск: Изд-во ОмГТУ, 2016. С. 84-91.

6. Заде Л. А. Роль мягких вычислений и нечеткой логики в понимании, конструировании и развитии информационных/ интеллектуальных систем / пер. с англ. И. З. Батыршина // Новости искусственного интеллекта. 2001. № 2-3. С. 7-11.

7. Денисова Л. А., Надточий П. Н., Раскин Е. М. Реализация системы регулирования с нечеткой компенсацией статической ошибки в среде автоматизированного проектирования TEPROL // Автоматизация в промышленности. 2012. № 8. С. 33 38.

8. Методы классической и современной теории автоматического управления. В 5 т. Т. 3. Синтез регуляторов систем автоматического управления / Под ред. К. А. Пупкова, Н. Д. Егупова. М.: Изд-во МГТУ им Н. Э. Баумана, 2004. 616 с. ISBN 5-7038-2191-6 (Т. 3), ISBN 5-7038-2194-0.

9. Дьяконов В. В., Круглов В. И. Математические пакеты расширения MATLAB. Специальный справочник. СПб.: Питер, 2001. 480 с.

КАРАБцОВ Роман Дмитриевич, аспирант кафедры «Автоматизированные системы обработки информации и управления». Адрес для переписки: [email protected] ДЕниСОВА Людмила Альбертовна, доктор технических наук, доцент (Россия), профессор кафедры «Автоматизированные системы обработки информации и управления».



Статьи по теме: