Существующая теория и системы, реализованные в области нечеткого управления, отличаются между собой по используемой терминологии, функциональным возможностям и особенностям реализации в инструментальных средствах.
Необязательные средства языка FCLопределены в Классе Расширения. Программы нечеткого управления, использующие эти средства, могут переноситься с одной системы на другую только в том случае, если эти системы реализуют одинаковое множество этих средств. В противном случае может оказаться возможным лишь частичный перенос программ. Стандарт не требует, чтобы все согласованные системы реализовывали средства Класса Расширения в полном объеме. Хотя и допускается возможность частичного переноса, следует избегать использования нестандартных средств. Поэтому согласованная система не должна содержать нестандартные средства, которые не могут быть адекватно реализованы с использованием стандартных средств Базового Класса и Класса Расширения.
Переносимость приложений нечеткого управления зависит от особенностей как систем программирования, так и от характеристик систем управления. Все эти особенности указываются в Списке Проверки данных, который разрабатывается производителями систем.
Формирование базы знаний (правил) можно производить на основании теории планирования эксперимента. При применении значений ЛП в качестве точек факторного пространства, характеризующих процесс, поведение исследуемой системы описывается экспертом на естественном (или близким к нему) языке. Это делает ЛП наиболее адекватным средством представления экспертных знаний, так как переход от словесных оценок к числовым не вызывает затруднений.
База знаний (правил) является основой интеллектуальной подсистемы, которую необходимо дополнить несколькими элементами, реализующие следующие функции: фазификация входных переменных, агрегирование подусловий в нечетких правилах, активизация или композиция подзаключение, аккумулирование заключений. На этих элементах построены несколько алгоритмов нечеткого вывода, в настоящей работе используется алгоритм Мамдани, который нашел наибольшее распространение при нечетком управлении технологическими процессами.
Исследование базы знаний (правил) и всей интеллектуальной подсистемы проводилось с помощью инструмента Fuzzy-Matlab, который предоставляет широкие возможности для исследования - дружественный интерфейс, визуальный анализ результатов нечеткого моделирования, возможностью быстрого изменения "правил" и оценки чувствительности нечеткого алгоритма.
Из практики ведения процесса обжига в печах КС стало ясно, что для поддержания гидродинамического и манометрического режимов печи очень важно управлять количеством расхода воздуха, расхода кислорода, выгрузки материала, и степенью "всаса" дымососа и т.д. Наша цель разработать нечеткие модели управления этими переменными.
Разработаем систему нечеткого управления расходом воздуха.
В печи КС расход воздуха зависит от нескольких входных переменных таких, как упругость дутья в печь, высоты кипящего слоя и разрежение под сводом печи.
Следующим этапом построения модели является построение базы правил. Используя знания в области ведения процесса обжига в печи КС (см. раздел по технологии) составим следующие 27 правил нечетких продукций:
ПРАВИЛО-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: ЕСЛИ "упругость дутья высокая" И "высота кипящего слоя высокая" И "разрежение под сводом высокое" ТО "расход воздуха не очень низкий"
В качестве терм-множества трех входных лингвистических переменных используется множество {"низкая", "средняя", "высокая"}, которое записывается в символическом виде {N, S,V}. В качестве терм-множества выходной лингвистической переменной используется множество ("очень низкий", "низкий", "не очень низкий", "средний", "не очень высокий", "высокий"), которое записывается в символическом виде {ON,N,NON,S,NOV,V,OV}. Разработку нечеткой модели (int_sys_rv) будем выполнять с использованием графических средств системы Matlab. В редакторе FISопределяем три входные переменные с именами "упругость дутья" (uprugost_dutya), высота кипящего слоя (vysota_kipyashego_sloya) и разрежение под сводом (razrezhenie_pod_svodom) и одну выходную переменную с именем расход воздуха (rashod_vozduha).
Определяем функции принадлежности термов для каждой из переменных системы нечеткого вывода. Для этой цели воспользуемся редактором функций принадлежности системы Matlab. Вид графического интерфейса редактора функций принадлежности на рисунке 11 и 12.
Рис.11. Графический интерфейс редактора функций принадлежности после задания первой входной переменной
Рис.12. Графический интерфейс редактора функций принадлежности после задания выходной переменной
Теперь зададим 27 правил для разрабатываемой системы нечеткого вывода (рис.13).
Рис.13. Графический интерфейс редактора правил после задания базы правил для данной системы нечеткого вывода
Теперь можно выполнить оценку построенной системы нечеткого вывода для задачи автоматического управления расходом воздуха. Для этого откроем программу просмотра правил системы Matlabи введем значения входных переменных для частного случая, когда упругость дутья равна 1,5, высота кипящего слоя 2,3 и разрежение под сводом 2,8. Процедура нечеткого вывода, выполненная системой Matlabдля разработанной нечеткой модели, выдает в результате значение выходной переменной "расход воздуха", равное 2,56 (рис.14).