Многометодные процедуры оптимального управления

advertisement
Многометодные процедуры
оптимального управления
Архитектура и
реализация
программного
комплекса
Содержание доклада





Постановка проблемы
Подход к решению
Описание архитектуры
Программная реализация
Примеры вычислений
Описание проблемы
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
Download