Tsiolkovsky Rocket Optimization

Main.RocketLaunch History

Hide minor edits - Show changes to output

February 23, 2023, at 03:45 AM by 10.35.117.248 -
Changed lines 5-6 from:
%width=550px%Attach:Tsiolkovsky_rocket.png
to:
(:html:)
<iframe width="560" height="315" src="https://www
.youtube.com/embed/xybJvHpDKak" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
(:htmlend:)

Added lines 125-126:

%width=550px%Attach:Tsiolkovsky_rocket.png
February 23, 2023, at 03:19 AM by 10.35.117.248 -
Changed line 7 from:
The Tsiolkovsky rocket is an equation developed by Russian scientist and pioneer of space exploration, Konstantin Tsiolkovsky. It is a mathematical equation that describes the motion of a rocket in a vacuum and is used to calculate the velocity, acceleration, and thrust of the rocket. The equation is used to determine the optimal design parameters for a rocket and is an important tool for the design of space flight systems.
to:
The Tsiolkovsky rocket equation was developed by Russian scientist and pioneer of space exploration, Konstantin Tsiolkovsky. It is a mathematical equation that describes the motion of a rocket in a vacuum and is used to calculate the velocity, acceleration, and thrust of the rocket. The equation is used to determine the optimal design parameters for a rocket and is an important tool for the design of space flight systems.
February 21, 2023, at 10:23 PM by 10.35.117.248 -
Changed line 95 from:
# change of velocity of the vehicle to orbital velocity at 242 kilometers
to:
# velocity of the vehicle to orbital velocity at 242 km
Changed lines 103-104 from:
cost = m.Intermediate(c_fuel + c_dry + c_exhaust) # Total cost
revenue =
m.Intermediate(dv*r_dv) # Revenue + m_f*r_per_mf
to:
cost = m.Intermediate(c_fuel + c_dry + c_exhaust)
revenue = m.Intermediate(dv*r_dv) # Revenue
February 21, 2023, at 10:18 PM by 10.35.117.248 -
Changed line 23 from:
where $C_{f}$ is the cost of fuel, given by:
to:
where {`C_{f}`} is the cost of fuel, given by:
February 21, 2023, at 05:20 PM by 10.35.117.248 -
Added lines 4-5:

%width=550px%Attach:Tsiolkovsky_rocket.png
Added lines 4-5:

The Tsiolkovsky rocket is an equation developed by Russian scientist and pioneer of space exploration, Konstantin Tsiolkovsky. It is a mathematical equation that describes the motion of a rocket in a vacuum and is used to calculate the velocity, acceleration, and thrust of the rocket. The equation is used to determine the optimal design parameters for a rocket and is an important tool for the design of space flight systems.
Changed line 110 from:
m.Obj(-profit)
to:
m.Maximize(profit)
June 21, 2020, at 04:46 AM by 136.36.211.159 -
Deleted lines 118-136:

----

(:html:)
 <div id="disqus_thread"></div>
    <script type="text/javascript">
        /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
        var disqus_shortname = 'apmonitor'; // required: replace example with your forum shortname

        /* * * DON'T EDIT BELOW THIS LINE * * */
        (function() {
            var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
            dsq.src = 'https://' + disqus_shortname + '.disqus.com/embed.js';
            (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
        })();
    </script>
    <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
    <a href="https://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
(:htmlend:)
May 13, 2019, at 04:53 PM by 45.56.3.173 -
Added lines 1-137:
(:title Tsiolkovsky Rocket Optimization:)
(:keywords nonlinear, optimization, engineering optimization, flight optimization, engineering design, gekko, tutorial, python:)
(:description Engineering design of a rocket launch to stay within constraints and meet an optimal criteria. Optimization principles are used to design the system.:)

The Tsiolkovsky rocket [1] has a direct correlation between the change of velocity {`(\Delta v)`} of a rocket, wet mass {`(m_0)`}, dry mass {`(m_f)`}, and exhaust velocity {`(v_0)`} as shown in:

{$\Delta v = v_0\log{\frac{m_0}{m_f}}$}

This problem optimizes the design of a simple rocket for profit. Potential revenue increases with greater change in velocity, as greater velocities allow the payload to reach higher orbits that have less drag, allowing it to remain in orbit longer. Wet mass, dry mass, and exhaust velocity are design variables, where wet mass is the total initial mass of the rocket, including propellant, and dry mass is the mass of the rocket at full ascent.

%width=550px%Attach:rocket_launch.png

The rocket must have a dry mass of at least 20,000 kilograms and the change in velocity should be between 9,400 meters per second and 20,200 meters per second. Varying designs allow for exhaust velocities ranging from 2,500 m/s to 4,500 m/s [2]. An appropriate guess value for the wet mass is 150,650 kilograms.

The overall profit from the rocket is:

{$Profit = R - C_f - C_d - C_e$}

where $C_{f}$ is the cost of fuel, given by:

{$C_{f} = 4.154(m_0 - m_f)$}

{`C_d`} is the cost of the rocket:

{$C_{d} = 154.36 \, m_f$}

{`C_{ex}`} is the cost in relation to adjusting the exhaust velocity
       
{$C_{ex} = 75 \, v_0$}

''R'' is revenue and is given by

{$R = 550\Delta v$}

[[Attach:rocket_launch.pdf | Full Rocket Launch Design Assignment (PDF)]]

Turn in a report with the following sections:

# Title Page with Summary. The Summary should be short (less than 50 words), and give the main optimization results.

# Procedure: Give a brief description of your model. You are welcome to refer to the assignment which should be in the Appendix.  Also include:
## A table with the analysis variables, design variables, analysis functions and design functions.

# Results: Briefly describe the results of optimization (values). Also include:
## A table showing the optimum values of variables and functions, indicating binding constraints and/or variables at bounds (highlighted)
## A table giving the various starting points which were tried along with the optimal objective values reached from that point.

# Discussion of Results: Briefly discuss the optimum and design space around the optimum. Do you feel this is a global optimum? Also include and briefly discuss:
## A β€œzoomed out” contour plot showing the design space (both feasible and infeasible) for diameter and thickness, with the feasible region shaded and optimum marked.
## A β€œzoomed in” contour plot of the design space (mostly feasible space) for diameter and thickness, with the feasible region shaded and optimum marked.

# Appendix:
## Listing of your model with all variables and equations
## Solver output with details of the convergence to the optimal values

Any output from the software is to be integrated into the report (either physically or electronically pasted) as given in the sections above. Tables and figures should all have explanatory captions. Do not just staple pages of output to your assignment: all raw output is to have notations made on it. For graphs, you are to shade the feasible region and mark the optimum point. For tables of design values, you are to indicate, with arrows and comments, any variables at bounds, any binding constraints, the objective, etc. (You need to show that you understand the meaning of the output you have included.)

'''References'''

# Holli Riebeek. Catalog of earth satellite orbits: Feature articles. 2009.
# Nesrin Sarigul-Klijn, Chris Noel, and Martinus Sarigul-Klijn. Air launching eart-to-orbit vehicles: Delta V gains from launch conditions and vehicle aerodynamics. 01 2004.

'''Acknowledgement'''

Thanks to [[https://www.linkedin.com/in/adam-martin-b6ba77177/|Adam Martin]] for providing the problem statement and the solution.

----

Attach:collaborative50.png This assignment can be completed in collaboration with others. Additional guidelines on individual, collaborative, and group assignments are provided under the [[Main/CourseStandards | Expectations link]].

----

'''Solution Help'''

%width=150px%Attach:gekko.png

See [[https://gekko.readthedocs.io/en/latest/|GEKKO documentation]] and [[https://apmonitor.com/wiki/index.php/Main/GekkoPythonOptimization|additional example problems]].

(:source lang=python:)
from gekko import GEKKO
m = GEKKO()

# revenue per dv
r_dv = 550 
# wet mass  (kg)
m_0 = m.Var(value=150650)                 
# dry mass. (kg)
m_f = m.Var(lb=20000)                     
# effective exhaust velocity. m/s
v_0 = m.Var(value=3500,lb=2500,ub=4500)   
# change of velocity of the vehicle to orbital velocity at 242 kilometers
dv = m.Var(lb=9400, ub=20200)             
profit = m.Var() # revenue - cost

# Intermediates
c_fuel = m.Intermediate(4.154*(m_0 - m_f)) # Cost of fuel
c_dry = m.Intermediate(154.36*m_f) # Cost of rocket
c_exhaust = m.Intermediate(75*v_0) # Cost of exhaust velocity
cost = m.Intermediate(c_fuel + c_dry + c_exhaust) # Total cost
revenue = m.Intermediate(dv*r_dv) # Revenue + m_f*r_per_mf

# Equations
m.Equations([
        dv == v_0*m.log((m_0/m_f)),
        m_0 >= 2*m_f,
        profit == revenue - cost
        ])

# Objective
m.Obj(-profit)
m.options.SOLVER = 3
m.solve()

print('wet mass: ' , str(m_0[0]))
print('dry mass: ' , str(m_f[0]))
print('dv: ' + str(dv[0]))
print('v_0: ' + str(v_0[0]))
(:sourceend:)

----

(:html:)
 <div id="disqus_thread"></div>
    <script type="text/javascript">
        /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
        var disqus_shortname = 'apmonitor'; // required: replace example with your forum shortname

        /* * * DON'T EDIT BELOW THIS LINE * * */
        (function() {
            var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
            dsq.src = 'https://' + disqus_shortname + '.disqus.com/embed.js';
            (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
        })();
    </script>
    <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
    <a href="https://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
(:htmlend:)