2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Задача динамического программирования
Сообщение15.12.2007, 21:45 
Доброго времени суток. Есть вот такая вот задачка:
Пусть непилотируемый летательный аппарат, запускаемый с земли, должен за время $T$, кратное $\delta t$, достигнуть высоты $H$. Сигнал коррекции траектории поступает через интервалы $\delta t$ и мгновенно отрабатываются. Между корректировками полёт идёт под одним углом к горизонту.
Известны зависимости $q = \alpha_0 + \alpha_1 * \alpha^2 - \alpha_2 * h$ и $v = b_0 - b_1 * \alpha$
$q$ - расход горючего (кг/с), $h$ - высота аппарата относительно земли (м), $v$ - скорость полёта (км/ч), $\alpha$ - угол подъема (спуска), град
Требуется найти оптимальную траектрию полёта с точностью не хуже 4% от $H$ и соответствующее ей (оптимальное) значение $T$
$H = 4800$ (м)
$\deltat = 5$ (с)
$\alpha_0 = 12$ (кг/c)
$\alpha_1 = 0.01$ (кг/c*град^2)
$\alpha_2 = 0.001$ (кг/c*м)
$b_0 = 3000$ (км/ч)
$b_1 = 30$ (км/ч*град)


Примерное начало решения:
Общее время полета $Т$, разбивается на определенное число интервалов $k$ по $\delta t$ секунд каждый.
На данном конкретно взятом интервале угол взлета, а, следовательно, и скорость (линейно зависит от угла подъема аппарата) есть величины постоянные.
Обозначим вертикальную составляющую скорости аппарата (скорость его подъема) на i-ом интервале как $V_i^y$.
Очевидно, что эта величина будет вычисляться, как $V_i^y = V_i * sin \alpha$.
Высота на этом интервале будет изменяться по следующей зависимости: $h_i = h_i^н+ V_i^y * t$, где $h_i^н$ – это высота взлета аппарата на начало i-го периода полета.
Тогда мгновенный расход топлива на этом интервале будет вычисляться по следующей формуле: $dq_i = (\alpha_0 + \alpha_1 · \alpha^2 - \alpha_2(h_i^н+ V_i^y * t))*dt$
таким образом можно посчитать расход топлива аппаратом на бесконечно малом участке i-го интервала полета.
Расход $q_i = \int\limits_{0}^{\deltat} (\alpha_0 + \alpha_1 * \alpha_i^2 - \alpha_2 * (h_i^н + V_i^y * t))dx = \deltat * (\alpha_0 + \alpha_1 * \alpha_i^2 - \alpha_2 * (h_i^н + \frac \deltah_i 2)$
То есть Получаем формулу для нахождения расхода топлива за i-ый участок полета (угол взлета на всем участке остается постоянным),
где $\alpha_i$ - угол взлета на этом интервале $h_i^н$ - высота взлета аппарата на начало периода, $\delta h_i$ - приращение высоты за время полета на данном участке.
Оптимальной траекторией полета аппарата будет такая траектория, на которой расход топлива за время подъема на высоту $H$ будет минимальным.
Дальнейшее решение может быть представленно с помощью динамического программирования, поскольку задача многошаговая, то есть за один шаг высота, к примеру, может корректироваться на $\deltah_i$.
Но встаёт проблема с другим параметром - углом $\alpha$! Как его выразить через $\delta h_i$? (А может надо выражать наоборот?)

 
 
 [ 1 сообщение ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group