Автор работы: Пользователь скрыл имя, 02 Декабря 2013 в 00:51, реферат
Любую многошаговую задачу можно решать по-разному. Во-первых, можно считать неизвестными величинами ut и находить экстремум целевой функции одним из существующих методов оптимизации, т. е. искать сразу все элементы решения на всех N шагах.
Тогда допустимые управления переводят точки из области Х0 в XT. Задача динамического программирования геометрически может быть сформулирована следующим образом: найти такую фазовую траекторию, начинающуюся в области Х0 и оканчивающуюся в области ХT, для которой функция цели достигает экстремального значения. Если в задаче динамического программирования известны начальное и конечное состояния, то говорят о задаче с закрепленными концами. Если известны начальные и конечные области, то говорят о задаче со свободными концами.
Блок схема программы
ВХОД
Окно ввода данных, QtObj, QtRes
QtObj – количество объектов
QtRes – количество ресурсов Окно ввода данных, effMatrix, distVector
effMatrix - матрица
Проверка введенных данных, TRUE
distVector – вектор выделенных ресурсов
TRUE
Построение выходной матрицы – OutMatrix (матрица максимума цели),
Вычисление step – шаг вектора дистанций
нет да
Шаг 1. Условная оптимизация
Шаг 2. Безусловная оптимизация
I = QtObj-1,0 формируем вектор результат
Вывод результатов
start_step =0
start_step= distVector[QtRes -1]/step
выход
да нет
Информация о работе Принципы динамического программирования. Функциональные уравнения Беллмана