Многометодные процедуры оптимального управления Архитектура и реализация программного комплекса Содержание доклада Постановка проблемы Подход к решению Описание архитектуры Программная реализация Примеры вычислений Описание проблемы 1. 2. 3. задачи оптимизации довольно разнообразны и невозможно предложить некоторый одинаково эффективный универсальный алгоритм создано большое разнообразие специализированных алгоритмов, затрудняющее выбор и использование их для конкретной задачи задача анализа модели для ее классификации и последующего выбора подходящего метода решения сложна для конечного пользователя и уводит в сторону от решения основной проблемы Подход к решению проблемы Предлагается создать интеллектуальную систему, позволяющую накапливать, описывать и далее выбирать и комбинировать различные методы в эффективных многометодных процедурах поиска оптимального решения задачи. В конечном итоге предлагаемая методология есть описание МЕТААЛГОРИТМА --- алгоритма порождения алгоритмов оптимизации модели. Постановка задачи Задача оптимального управления со свободным правым концом x(t 1) f (t, x(t ), u(t )), t T {tI , tI 1,..., tF } x X (t ), u U (t , x), x(t I ) x I , u I (t ) I F ( x(t F )) min Задача конечномерной оптимизации f ( x) min x X Схема решения задачи I. Анализ задачи II. Процедура решения III. Верификация результатов Схема решения Неформальная постановка задачи I Формализация Формальная постановка задачи Классификация Паспорт задачи Экспертный анализ и построение процедуры решения Процедура Вычисление II Результат во внутренних терминах нет Анализ Результат удовлетворительный да Интерпретация результатов Результат в исходных терминах нет Верификация Результат удовлетворительный да Задача решена III Паспорт задачи Атрибут Принимаемые значения Тип задачи оптимального управления, конечномерной оптимизации одномерный, многомерный линейная, линейно-квадратичная, выпуклая, ... Размерность аргумента Особенности структуры задачи ... Экспертный анализ Паспорт метода 1 Паспорт задачи . . . Паспорт метода n Паспорт задачи Паспорт метода к Экспертная система Построение процедуры решения Экспертный отбор на основе анализа паспорта Результат предварительного отбора Метод i Метод j Метод k Процедура конкурсного отбора Метод j II Метод i Метод k I III Схема многометодной процедуры 1 уровень Алгоритм 1 Алгоритм i Алгоритм k 2 уровень да Есть неэлементарные Алгоритм 11 действия нет Конкурсный отбор Алгоритм 1N 2 уровень да Есть неэлементарные Алгоритм i1 действия нет Конкурсный отбор Алгоритм iN 2 уровень да Есть неэлементарные Алгоритм k1 действия нет Конкурсный отбор Алгоритм kN Схема вычислений. Определения Определим ряд понятий – – – – – – Модель Базовый алгоритм Алгоритм Логический оператор Многометодная процедура Вычисление Определение: Модель Модель Паспорт Функции Переменные функционал скаляр осн. функц. вектор доп. функц. матрица Ограничения *Все функции, сложные типы данных и ограничения реализованы как модули на интерпретируемом языке Определение:Базовый алгоритм Алгоритм, лежащий в основе составных процедур. Входит в БАНК АЛГОРИТМОВ. Базовые алгоритмы совершают в конечном итоге все вычисления над моделью. Реализация базовых алгоритмов произвольна, доступ к ним осуществляется в соответствии с заданным интерфейсом как к ActiveXобъектам. Определение: Алгоритм Алгоритмом будем называть параметризованный вызов базового алгоритма. В качестве параметра может выступать шаг, регулятор, точность и т.п. конкретного базового алгоритма. В основе алгоритма всегда лежит один базовый алгоритм. Определение: Логический оператор Логический (интеллектуальный, управляющий) оператор – это объект, позволяющий проводить анализ и активно управлять ходом решения задачи. К логическим оператором относятся процедура подбора алгоритма по паспорту процедура конкурсного отбора алгоритма ... Определение: Многометодная процедура (МП) -- Логический оператор, -- Алгоритм МП – это последовательность алгоритмов и управляющих логических операторов, рассматриваемая как единый алгоритм. МП также является алгоритмом и может участвовать в создании новых МП. Определение: Вычисление Вычисление – это объект, являющийся результатом работы некого алгоритма (простое вычисление) или МП (сложное вычисление). Вычисление содержит: вычисление ссылка на модель ссылка на алгоритм начальное значение функционала заключительное значение функционала начальное значение переменных заключительное значение переменных параметры вычисления алгоритма ссылка на предыдущее вычисление Схема вычислений Простое вычисление модель алгоритм вычисление Сложное вычисление МП ... модель алгоритм 1 вычисление алгоритм N вычисление Программная реализация Обоснование программных решений Схема взаимодействия модулей Схема базы данных Актуальное состояние системы Планы дальнейших разработок Обоснование программных решений В качестве технологии реализации программного комплекса была выбрана web-технология с использованием ActiveX-объектов и баз данных. Преимущества: удобная и достаточно простая среда разработки клиент-серверная архитектура, не требующая установки специализированного клиента простой доступ для всех желающих легкая расширяемость легко реализуемая возможность групповой работы над проектом наличие внутреннего интерпретируемого языка Схема взаимодействия модулей web-сервер MS IIS клиент web-browser ASP (JavaScript) HTML БД MS Access ADO COM ActiveX HTTP Схема базы данных EXECS вычисления ALGORITHMS алгоритмы MODELS модели VARIABLES переменные FUNCTIONS функции CONDITIONS ограничения ALG_SEQ_CONTS содержимое МП ALG_SEQS многомет. проц. PASSPORTS паспорта PASS_FILLS содержимое паспортов PASS_NAMES названия атрибутов PASS_VALUES значения атрибутов Актуальное состояние системы Выполнено web-интерфейс системы база данных проекта механизм создания и вычисления модели технология взаимодействия с базовыми алгоритмами и пример базового алгоритма создание МП* создание простых и сложных вычислений* * Механизмы реализованы только для конечномерных задач Запланировано реализация логических операторов механизм работы с паспортом модели реализация вычислений для задач оптимального управления наполнение банка алгоритмов учет ограничений Примеры вычислений 1. 2. 3. 4. 5. Создание модели Создание алгоритма Создание многометодной процедуры Создание простого вычисления Создание сложного вычисления Адрес сайта: http://cron.botik.ru/isou