Wednesday, June 5, 2013

Принцип №8. Автоматизация принятия решений

Пожалуйста, ответьте на один глупый вопрос: ради чего создаются системы автоматизации управления? Казалось бы, что ответ очевиден - они создаются для автоматизации, т.е. для замены ручных операция операциями выполняемыми машинами и/или компьютерами. Но тогда почему на практике проблему замены ручного управления разработчики часто даже не рассматривают, а лишь ограничиваются реализацией “подпорок” (набора инструментов) для ручного управления? Такие инструменты в основном направлены на сбор первичной информации и на выполнение определенных действий. Но при этом интеллектуальная составляющая управления часто остается “за кадром”.

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

Для начала давайте определим, что же является “решением” с точки зрения целеориентированного подхода. На бытовом уровне, когда человек говорит “я принял решение” - это означает “теперь я буду делать вот это, то я делать не буду, а вот-то я буду делать иначе”. В этом значении мы сразу видим, что речь идет о целеполагании - человек ставит одни цели, удаляет другие и изменяет третьи.

Из приведенного выше размышления мы можем прийти к более формальному определению: “Решением является определенный набор операций над целями (создание, изменение, удаление) сделанный по определенной причине”.

Интересным следствием такой интерпретации является тождественность таких понятий как “принятия решений”, “планирование” и “целеполагание”. В контексте НОРД цикла за выполнение этих функций отвечает состояние “решение”.

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

Когда говорят, что решения не должны быть оторваны от действительности, то имеют ввиду, что принятие решений должно происходить на основе реальных “фактов”. Такими фактами является:
  1. Знания о структуре системы и среды
  2. Факты, описывающие состояние системы и среды
  3. Внешних или внутренних неконтроллируемые факторы, способные позитивно или негативно повлиять на процесс исполнения
  4. В замкнутом, непрерывном управлении, также важны факты о прогрессе в выполнении решения (достижении поставленных целей, реализации планов)
Поставщиком фактов в НОРД цикле является состояние “ориентирование” (анализ).

Как мы уже упоминали ранее в определении НОРД цикла и описании попыток его реализации состояния “ориентирования” (анализа) и “решения” (планирования) часто либо не имеют четкой границы, либо, вообще, смешиваются воедино. Но именно эти состояния определяют ту интелектуальную работу управленцев, которую многие автоматизаторы предпочитают обходить стороной. Когда же такие компоненты реализуются, они обычно называются “Системами Поддержки Принятия Решений” или СППР.

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

Аналитический подход основан на формальных знаниях о закономерностях поведения систем. В отличие от него статистический базируется в основном на прошлой истории управления. Статистический подход более свойственен человеку. Человеский мозг плохо считает, но является превосходной ассоциативной машиной, способной находить и модифицировать шаблоны, накопленные в нашей памяти, на основе совершенно противоречивой информации. Бывший студент, только что поступивший на работу, пытается максимально использовать полученные в университете знания. Но по мере накопления опыта он все меньше и меньше обращается к знаниям и чаще применяет шаблоны прошлых успешных решений.

У каждого подхода есть свои положительные и отрицательные стороны
  • Аналитические СППР
    • Достоинства:
      • Способны работать с самого начала старта системы
      • Генерируют качественные (оптимальные) решения, часто с известной ошибкой
      • Имеют высокую производительность при реализации на компьютерах
      • Параметризируются для гибкой настроки
      • Представляются “прозрачным ящиком” - часто способны объяснить почему те или иные решения были приняты
    • Недостатки:
      • Узкоспециализированы, реализуются для строго определенных задач
      • Требуют значительных ресурсов для реализации
      • Часто не способны улучшать качество решения со временем. Для этого требуется либо ручная корректировка либо переписывание алгоритма работы
      • Неустойчивы к ошибкам. При входных данных низкого качества часто производят плохие решения (garbage in - garbage out)
  • Статистические СППР
    • Достоинства:
      • Универсальны. Способны генерировать различные типы управляющих решений
      • Самообучающиеся. Способны пересчитывать модель на основе новых данных для улучшения качества решений
      • Устойчивы к ошибкам. Даже при плохих исходных данных могут выдать приемлемое решение
    • Недостатки:
      • Требуют накопленную историю управления для начала работы
      • Генерируют субоптимальные решения
      • Требуется хорошо структурированная история с формально определенными целями
      • Обычно довольно медленные и требуют существенных вычислительных ресурсов
      • Часто не могут объяснить почему решение было сгенерировано (существуют редкие исплючения типа модели Деревьев Решений)
Возможно комбинирование подходов при реализации СППР.

Частой проблемой является либо высокая техническая сложность и стоимость СППР, либо, вообще, невозможность их полной реализации из-за отсутствия необходимых технологий. Но тут необходимо понимать, что автоматизация не всегда предполагает решения типа “все или ничего”. В большинстве случаев автоматизацию можно повышать постепенно, проходя следующие уровни:
  • Ручное. Просто описывает управление человеком без какой либо помощи со стороны автоматизации
  • Рекомендация. СППР предлагает частичное (факты, элементы решения) или полное решение, которое может быть проверено и модифицировано человеком
  • Подтверждение. СППР генерирует полное решение, которое проверяется и подтверждается человеком, перед тем как отправиться на выполнение.
  • Контроль. СППР генерирует решения и передает их на выполнение. Однако, человек наблюдает за работой системы и способен вмешаться в процесс, если происходит что-то неправильно. На таком уровене как правило работают системы АСУ ТП (SCADA).
  • Бесконтрольное (полностью автоматическое). Система работает без какого-либо участия со стороны человека. Как правило, на этом уровне работают низкоуровневые микроконтроллеры.

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

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

Использование:

  • Всегда при разработке АСУ принимайте осознанное решение об уровне автоматизации управляющих решений. Кроме “ничего” (ручной режим) или “все” (полностью автоматическое управления) есть решения посередине (частичная или полная рекоммендация, контроль)
  • Часто в дополнению к автоматизации на высоком уровне стоит реализовать ручной режим. Такой режим может быть использован, если параметры системы по какой-либо причине могут выйти за допустимый диапазон и автоматизация способна допустить непростительную ошибку (как на атомных электростанциях или самолетах, например)
  • Знайте о достоинствах и недостатках разных типов СППР. Если существует хороший шаблон решения, исходные данные удовлетворительного качества - применяйте аналитическую модель. В противном случае статистическая СППР может быть неплохим вариантом. Но тут стоит упомянуть, что статистические СППР все еще находятся на начальном этапе своего развития и не всегда оправдывают возложенные на них надежды.
  • И последнее. Для того чтобы автоматизировать решения, они должны быть посторяющимися. Иными словами, должен быть определенный шаблон для решений - четкий либо нечеткий. Если же решение уникально, если никакого шаблона нет, то на современном уровне технологий мы не может такие решения нормально автоматизировать. Но это совсем не означает, что мы должны их игнорировать! Правильно реализованная ЦОАСУ должна предоставить менеджерам инструменты для формулирования их уникальных решений. После этого решения отслеживаются через все систему (смотрите принцип Информационной целостности) до тех пор, пока они не будут разбиты на хорошо определенные подцели/действия и не будут выполнены. Трассировка позволит собрать полученные результаты и соотнести их с принятыми решениями, неважно, были ли они сделаны автоматически или вручную. В этом сила ЦОАСУ - обеспечение прозрачности и управляемости в сложные многоуровневые системы!

No comments:

Post a Comment