Difference between revisions of "Apollo Reentry Problem (TACO)"
JonasSchulze (Talk | contribs) m (Text replacement - "<bibreferences/>" to "<biblist />") |
JonasSchulze (Talk | contribs) m (Text replacement - "\<bibref\>(.*)\<\/bibref\>" to "<bib id="$1" />") |
||
Line 1: | Line 1: | ||
This page contains a model of the [[Apollo Reentry problem]] in [http://www.ampl.org AMPL] format, making use of the TACO toolkit for AMPL control optimization extensions. Various results related to this model can be found in e.g. | This page contains a model of the [[Apollo Reentry problem]] in [http://www.ampl.org AMPL] format, making use of the TACO toolkit for AMPL control optimization extensions. Various results related to this model can be found in e.g. | ||
− | < | + | <bib id="Plitt1981" />, <bib id="Stoer1992" />, <bib id="Leineweber1995" />, and <bib id="Potschka2008" />. |
Note that you will need to include a generic [[support AMPL files|AMPL/TACO support file]], OptimalControl.mod. | Note that you will need to include a generic [[support AMPL files|AMPL/TACO support file]], OptimalControl.mod. | ||
To solve this model, you require an optimal control or NLP code that uses the TACO toolkit to support the AMPL optimal control extensions. | To solve this model, you require an optimal control or NLP code that uses the TACO toolkit to support the AMPL optimal control extensions. |
Latest revision as of 21:31, 30 December 2015
This page contains a model of the Apollo Reentry problem in AMPL format, making use of the TACO toolkit for AMPL control optimization extensions. Various results related to this model can be found in e.g.
[Plitt1981]Author: Plitt, K.J.
School: Rheinische Friedrich--Wilhelms--Universit\"at Bonn
Title: Ein superlinear konvergentes Mehrzielverfahren zur direkten Berechnung beschr\"ankter optimaler Steuerungen
Type: Diploma thesis
Year: 1981
Key: Diploma thesis
, [Stoer1992]Author: Stoer, J.; Bulirsch, R.
Publisher: Springer
Title: Introduction to Numerical Analysis
Year: 1992
, [Leineweber1995]Author: Leineweber, D.B.
School: Ruprecht-Karls-Universit\"at Heidelberg
Title: Analyse und Restrukturierung eines Verfahrens zur direkten L\"osung von Optimal-Steuerungsproblemen
Type: Diploma thesis
Year: 1995
, and [Potschka2008]Author: Potschka, A.; Bock, H.G.; Schl\"oder, J.P.
Journal: Optimization Methods and Software
Number: 2
Pages: 237--252
Title: A minima tracking variant of semi-infinite programming for the treatment of path constraints within direct solution of optimal control problems
Volume: 24
Year: 2009
.
Note that you will need to include a generic AMPL/TACO support file, OptimalControl.mod.
To solve this model, you require an optimal control or NLP code that uses the TACO toolkit to support the AMPL optimal control extensions.
AMPL
This is the source file reentry_taco.mod
# ---------------------------------------------------------------- # Apollo type vehicle reentry problem using AMPL and TACO # (c) Christian Kirches, Sven Leyffer # # Source: Plitt'81, Stoer'92, Leineweber'95, Potschka'08 # ---------------------------------------------------------------- include OptimalControl.mod; var tf >= 220, <= 240, := 230; let tf.scale := 225.0; var t; var xd0 >= 0.2, <= 0.4, := 0.36; let xd0.interp_to := 0.27; let xd0.scale := 0.4; var xd1 >= -0.2, <= 0.1, := -0.1414; let xd1.interp_to := 0.0; let xd1.scale := 0.1; var xd2 >= 0.006, <= 0.03, := 0.01914; let xd2.interp_to := 0.01196; let xd2.scale := 0.02; var u := 0.5, >= -3.0, <= 2.0; let u.type := "u1"; let u.scale := 1.0; let u.slope_min := -0.1; let u.slope_max := +0.1; var pi := 3.1415; var beta := 4.26; var g := 3.2172e-4; var r := 209.0; var sm := 53200.0; var rho0 := 2.704e-3; var exp_term = rho0 * exp(-beta * r * xd2); minimize Lagrangian: integral (10.0 * xd0^3 * sqrt(exp_term), tf); let Lagrangian.scale := 0.0275; subject to ODE0: diff(xd0,t) = - 0.5 * sm * exp_term * xd0^2 * (1.174 - 0.9*cos(u)) - g * sin(xd1) / (1.0 + xd2)^2; ODE1: diff(xd1,t) = 0.5 * sm * exp_term * xd0 * (0.6*sin(u)) + xd0 * cos(xd1) / r / (1.0+xd2) - g * cos(xd1) / xd0 / (1.0+xd2)^2; ODE2: diff(xd2,t) = xd0 * sin(xd1) / r; SPC0: eval(xd0,0) = 0.36; let SPC0.scale := 0.4; let SPC0.type := "dpc"; SPC1: eval(xd1,0) = -8.1*pi/180.0; let SPC1.scale := 0.2; let SPC1.type := "dpc"; SPC2: eval(xd2,0) = 4.0/r; let SPC2.scale := 0.02; let SPC2.type := "dpc"; EPC0: eval(xd0,tf) = 0.27; let EPC0.scale := 0.4; EPC1: eval(xd1,tf) = 0.0; let EPC1.scale := 0.2; EPC2: eval(xd2,tf) = 2.5/r; let EPC2.scale := 0.02; option solver ...; solve;
Other Descriptions
Other descriptions of this problem are available in
- Mathematical notation at Apollo reentry problem
References
[Leineweber1995] | Leineweber, D.B.: Analyse und Restrukturierung eines Verfahrens zur direkten L\"osung von Optimal-Steuerungsproblemen, 1995 | |
[Plitt1981] | Plitt, K.J.: Ein superlinear konvergentes Mehrzielverfahren zur direkten Berechnung beschr\"ankter optimaler Steuerungen, 1981 | |
[Potschka2008] | Potschka, A.; Bock, H.G.; Schl\"oder, J.P. (2009): A minima tracking variant of semi-infinite programming for the treatment of path constraints within direct solution of optimal control problems. Optimization Methods and Software, 24, 237--252 | |
[Stoer1992] | Stoer, J.; Bulirsch, R. (1992): Introduction to Numerical Analysis. (%edition%). Springer, %address%, %pages% |