Курсовая работа: Задачи математического программирования
После того, как функция Беллмана и соответствующие оптимальные управления найдены для всех шагов с n-го по первый, производится второй этап решения задачи, который называется безусловной оптимизацией.
В общем виде задача динамического программирования формулируется следующим образом: требуется определить такое управление X*, переводящее систему из начального состояния S0 в конечное состояние Sn, при котором целевая функция F(S0,X*) принимает наибольшее (наименьшее) значение.
Особенности математической модели динамического программирования заключаются в следующем:
задача оптимизации формулируется как конечный многошаговый процесс управления;
целевая функция является аддитивной и равна сумме целевых функций каждого шага
;
выбор управления Xk на каждом шаге зависит только от состояния системы к этому шагу Sk-1 и не влияет на предшествующие шаги (нет обратной связи);
состояние системы Sk после каждого шага управления зависит только от предшествующего состояния системы Sk-1 и этого управляющего воздействия Xk (отсутствие последействия) и может быть записано в виде уравнения состояния:
;
на каждом шаге управление Xk зависит от конечного числа управляющих переменных, а состояние системы Sk зависит от конечного числа переменных;
оптимальное управление X* представляет собой вектор, определяемый последовательностью оптимальных пошаговых управлений:
X*=(X*1, X*2, …, X*k, …, X*n),
число которых и определяет количество шагов задачи.
Условная оптимизация. Как уже отмечалось выше, на данном этапе отыскиваются функция Беллмана и оптимальные управления для всех возможных состояний на каждом шаге, начиная с последнего в соответствии с алгоритмом обратной прогонки. На последнем n-м шаге найти оптимальное управление X*n и значение функции Беллмана Fn(S) не сложно, так как
Fn(S)=max{Wn(S,Xn)},
где максимум ищется по всем возможным значениям Xn.
Дальнейшие вычисления производятся согласно рекуррентному соотношению, связывающему функцию Беллмана на каждом шаге с этой же функцией, но вычисленной на предыдущем шаге:
Fk(S)=max{Wk(S,Xk)+Fk+1(S'(S,Xk))}. (1)
Этот максимум (или минимум) определяется по всем возможным для k и S значениям переменной управления X.
Безусловная оптимизация. После того, как функция Беллмана и соответствующие оптимальные управления найдены для всех шагов с n-го по первый (на первом шаге k=1 состояние системы равно ее начальному состоянию S0), осуществляется второй этап решения задачи. Находится оптимальное управление на первом шаге X1, применение которого приведет систему в состояние S1(S,x1*), зная которое можно, пользуясь результатами условной оптимизации, найти оптимальное управление на втором шаге, и так далее до последнего n-го шага.
Лабораторная работа №1 (Задача линейного программирования)
Задание:
Для заданной математической постановки задачи ЛП, приняв дополнительно условие неотрицательности переменных, выполнить следующие действия:
Решить задачу графическим методом;
Привести задачу к канонической форме записи;
Составить симплексную таблицу;
Произвести решение задачи симплексным методом ручным способом или с использование компьютера;
Осуществить постановку двойственной задачи ЛП;
Получить решение двойственной задачи из полученной ранее симплексной таблицы и произвести анализ полученных результатов;