Задача оптимального управления сложной динамической системой часто возникает во многих приложениях. Несмотря на существенные различия в предметных областях и задачах, требующих построения оптимального плана, для его реализации возможен общий подход. Созданию соответствующего инструментария посвящена данная работа.
Рассматривается дискретная система как цепочка операторов с ограничением на управление дискретный алгоритм программный.
(1).
Пусть М — множество троек .
Рассматривается задача (D, I) о минимуме функционала на множестве, удовлетворяющему связям (1) и требуется найти последовательность, на которой. Задача решается методом последовательных улучшений элементов m, исходя из начального приближения.
Для нахождения решения воспользуемся принципом расширения [Гурман, 1997]. При каждом t вводится произвольная функция .
Обозначим.
(2).
. (3).
Пусть — начальное приближение, — искомое улучшенное приближение. Положим и потребуем, чтобы.
![(4).](/img/s/9/63/2217163_2.png)
(4).
Для этого рассмотрим линейные вариации (дифференциалы) R и G:
Введем в рассмотрение функцию Тогда.
Для выполнения (4) потребуем, чтобы.
Тогда можно определить управление на следующей итерации.
.
соответствующие решения системы (1) и значение функционала.
.
.
В дальнейшем выполняется следующая логика продолжения оптимизации:
если, то, переход к следующей итерации если, то СТОП, получен результат с требуемой точностью если, то и переход к следующей итерации если, то СТОП, получен результат с требуемой точностью.
Программный комплекс, реализующий описанный выше алгоритм, представляет собой приложение, работающее в системе MS Windows и состоит из следующих основных компонент:
![Схема взаимодействия компонент программного комплекса.](/img/s/9/63/2217163_6.jpg)
Рис. 1 Схема взаимодействия компонент программного комплекса
1. база данных, 2. вычисляющий модуль, 3. модуль предварительной оптимизации, 4. оптимизирующий модуль, 5. управляющий модуль, 6. блок представления результатов.