На основе описанного подхода реализован простейший регулятор управления технологическим процессом распределения тепла на центральных тепловых пунктах (ЦТП) города Кирова. Построена базовая модель регулятора, реализующего набор из трех правил. Показаны основные параметры, необходимые для настройки регуляторов, отмечены общие особенности данного подхода с классическими методами, реализующими ПИ, ПИД-регуляторы. Реализованы алгоритмы расчета управления на основе алгебры нечетких множеств. Получены экспериментальные зависимости, определяющие устойчивость системы управления, выявлены возмущающие факторы, влияющие на характер переходных процессов в объекте управления.
Перспективность использования данного метода определяется такими факторами, как достаточная простота настройки на объект управления, возможность учесть различные недетерминированные возмущения и параметры объекта, использовать для описания технологических и управленческих целей и критериев качества управления единый подход.
1.1. Постановка задачи.
Когда Вы управляете автомобилем, двигаясь в плотном городском потоке, Вы заняты разгоном, торможением, маневрированием, соблюдением правил движения и т.д. Если Вас спросить в этот момент, что вы думаете о температуре Ваших тормозов или как Вам смотрится давление масла в гидроусилителе, Вы вряд ли ответите что-то определенное. Вы заняты процессом движения. Все агрегаты автомобиля интересуют Вас постольку, поскольку они способствуют этому процессу. Или не способствуют. У вас просто нет ни времени, ни возможности отвлекаться на детали.
Иными словами, рассматривая Вашу поездку с точки зрения системы, можно сказать, что Вас в большей степени волнуют принципы действия этой системы, то есть насколько способен Ваш автомобиль доставить Вас из точки А в точку Б за заданное время и при заданных известных условиях. И в меньшей степени волнует конструкция этой системы, то есть то, каким способом автомобиль решает эту задачу.
При более детальном изучении вопроса Вы можете заметить, что в подавляющем большинстве задач, которые Вы решаете, входные условия и критерии оценок непрерывно изменяются.
Если уж вернуться к примеру автомобиля, то когда Вы прикидываете расход топлива при езде по городу (целевая функция), Вы строите утверждения примерно так:
· "обычно я двигаюсь по городу из точки А в точку Б со скоростью 60 км/час", подразумевая при этом, что в некоторых местах скорость выше, а в других - близка к нулевой;
· "при этом обороты двигателя примерно 2500 об/мин", понимая, что на светофорах это холостой ход, а при разгоне - близки к максимальным;
· "движение обычно происходит на третьей передаче", хотя знаете, что к вечеру у Вас затекает рука от непрерывных переключений.
· и так далее...
В результате вы замеряете средний расход топлива в литрах на 100 км и обнаруживаете, что он существенно отличается от паспортных значений. Вас это отличие не устраивает, но как решить эту проблему ?
Вы допускаете, что Вам в принципе не нужен ответ с точностью до миллилитра. Вам важно просто минимизировать целевую функцию. Иными словами Вы можете для себя определить некоторую степень точности решения задачи, соблюдение которой Вас устроит.
Если Вы зададитесь целью свести значение целевой функции (расхода топлива) к минимуму, причем сделать это, не прибегая к созданию системы, по цене сравнимой со стоимостью автомобиля, Вам понадобится инструмент, который может решать такую задачу при непрерывно меняющихся входных значениях и который может легко подстраиваться под изменение оценочных критериев (например, движение в городе/на трассе). Причем инструмент должен быть прост в управлении и понятен Вам без долгого изучения специальных дисциплин.
1.2. Fuzzy thinking. Системы, основанные на принципах.
Прежде, чем приступить к описанию конкретных пакетов, необходимо иметь в виду следующее обстоятельство: пути решения каждой конкретной задачи могут быть весьма разнообразны. Современный математический аппарат предоставляет целый спектр методов, приемов и инструментов для решения практически любой задачи. Все они воплощены в виде алгоритмов в разнообразных программных продуктах.
Приступая к решению очередной задачи и выбирая для нее подходящий "молоток", Вы беспокоитесь не только о самом факте существования решения, но и о эффективности собственно "молотка", то есть о том, за какое время и с какими затратами задача будет решаться.
Существующие подходы к эффективному решению задач таковы:
1. Если Вы знаете правила, по которым действует объект Вашего внимания, вы можете их обобщить и свести в некоторую систему, действующую и генерирующую выводы по схеме "если - то - иначе". Такой подход "на правилах" реализован, например, в техническом анализе и успешно применяется достаточно давно.
2. Если Вы правил поведения объекта не знаете, но подразумеваете их присутствие, то вы создаете систему, которая вначале обучается на некотором множестве примеров (представленных в виде "набор входных значений - критерии оценки - правильные выводы"), а затем адекватно строит выводы на новых входных данных. Такой подход "на примерах" реализован в применении нейросетей и показывает высокие результаты точности оценок и прогнозов.
3. Если Вы не знаете ни правил поведения объекта, ни того, известны ли они вообще и могут ли быть получены, вы пытаетесь смоделировать объект, применяя известные Вам правила и зависимости, что называется, "по аналогии", а затем делаете выводы о том, насколько объект соответствует модели. Такой подход "на моделях" реализован в современной "теории хаоса" и позволяет оценивать события, качественно изменяющиеся за малые промежутки времени.
4. Если правил, примеров и моделей достаточно много, возникают принципы действия объекта - "правила взаимодействия правил (примеров, моделей и т.д.)". То есть Вы можете оценивать и управлять объектом не только на микро-уровне (правила), но и на макро-уровне (принципы). Эти принципы также можно обобщать и сводить к некоторым системам. Этот подход "на принципах" реализован с помощью применения fuzzy-математики в разнообразных инструментальных пакетах: от несложных электронных таблиц до совершенных экспертных систем.
Решение конкретной задачи предполагает комбинации перечисленных подходов.
Коротко перечислим отличительные преимущества fuzzy-систем по сравнению с прочими :
· возможность оперировать входными данными, заданными нечетко: например, непрерывно изменяющиеся во времени значения (динамические задачи), значения, которые невозможно задать однозначно (результаты статистических опросов, рекламные компании и т.д.);
· возможность нечеткой формализации критериев оценки и сравнения: оперирование критериями "большинство", "возможно", предпочтительно" и т.д.;
· возможность проведения качественных оценок как входных данных, так и выводимых результатов: вы оперируете не только собственно значениями данных, но их степенью достоверности (не путать с вероятностью!) и ее распределением;
· возможность проведения быстрого моделирования сложных динамических систем и их сравнительный анализ с заданной степенью точности: оперируя принципами поведения системы, описанными fuzzy-методами, вы во-первых, не тратите много времени на выяснение точных значений переменных и составление уравнений, которые их описывают, во-вторых, можете оценить разные варианты выходных значений.
Математический аппарат, предоставляющий такие возможности, детально описан в специальной литературе как комбинация множественных и вероятностных приемов.
В программных пакетах и системах этот аппарат реализован в полной мере, но внешне не виден, спрятан "за кадром", что делает процесс освоения этих инструментов более доступным и интуитивно понятным.
2. Базовые понятия нечеткой логики
Вспомните прогноз погоды на любом из телевизионных каналов: завтра температура воздуха +5 градусов С, возможен дождь. В этом случае даже профессиональные синоптики не могут точно сказать будет дождь или нет. Это и есть проявление нечеткой логики: погода завтра может быть в данном случае как просто пасмурной, так и дождливой: события здесь предсказываются с некоторой долей уверенности (рангом).
Рис.2.1. Нечеткое множество для термина молодой.
Рассуждая таким образом, было получено нечеткое множество, описывающее понятие молодости для всего диапазона возрастов человека. Если ввести остальные термины (например, очень молодой, старый и т.д.) , то можно охарактеризовать такую переменную как возраст, состоящую из нескольких нечетких множеств и полностью перекрывающую весь жизненный период.
К нечетким множествам можно применять следующие операции: