Practice Final Exam
Main.FinalExam History
Hide minor edits - Show changes to markup


(:toggle hide gekko button show="Show GEKKO (Python) Code":) (:div id=gekko:) (:source lang=python:) import numpy as np from gekko import GEKKO
- Check solution with GEKKO
m = GEKKO() m.time=[0,1] u = m.Var(value=1) x = m.Var(value=0) m.Obj((x-3)**2) m.Equation(5*x.dt()==-x+2*u) m.options.IMODE = 6 m.options.NODES = 3 m.solve()
- Matrix solution for Orthogonal Collocation on Finite Elements
- min (x-3)^2
- s.t. 5 * dx/dt = -x + 2 * u
- Equations 1-2 (subject to equations at each node)
- 5 * xdot1 = -x1 + 2*u1
- 5 * xdot2 = -x2 + 2*u2
- Equations 3-4 (collocation equations)
- t2 * 0.75 * xdot1 - t2 * 0.25 * xdot2 = x1 - x0
- t2 * 1.00 * xdot1 = x2 - x0
- Equations 5-6 (derivative of objective = 0)
- 2 * (x1-3) = 0
- 2 * (x2-3) = 0
- Rearrange to put all variables on left-hand side
- Equations 1-2 (subject to equations at each node)
- 5 * xdot1 + x1 - 2*u1 = 0
- 5 * xdot2 + x2 - 2*u2 = 0
- Equations 3-4 (collocation equations)
- t2 * 0.75 * xdot1 - t2 * 0.25 * xdot2 - x1 = -x0
- t2 * 1.00 * xdot1 - x2 = -x0
- Equations 5-6 (derivative of objective = 0)
- 2 * x1 = 6
- 2 * x2 = 6
- Set-up and solve A y = b
- y = [xdot1 xdot2 x1 x2 u1 u2]
- Matrix A
A = np.array()
- Column vector b
b = np.array([0,0,0,0,6,6])
- Solve A y = b as y = A^-1 * b
ymat = np.linalg.solve(A,b)
print('Variables with Orthogonal Collocation') print(['u1 = ' + str(ymat[4])]) print(['u2 = ' + str(ymat[5]) + ' (Matrix) vs ' + str(u.value[-1]) + ' (GEKKO)']) print(['x1 = ' + str(ymat[2])]) print(['x2 = ' + str(ymat[3]) + ' (Matrix) vs ' + str(x.value[-1]) + ' (GEKKO)']) print(' ') print('Derivatives with Orthogonal Collocation') print(['d(x11)/dt = ' + str(ymat[0])]) print(['d(x21)/dt = ' + str(ymat[1])]) (:sourceend:) (:divend:)
Solution 3
(:html:) <iframe width="560" height="315" src="https://www.youtube.com/embed/U7uyj9BaNKg" frameborder="0" allowfullscreen></iframe> (:htmlend:)

(:html:) (:htmlend:)
(:title 2015 Final Exam for Dynamic Optimization:)
(:title Practice Final Exam:)
Solution
Solution 1
Solution 2
Solution 3
(:html:) <iframe width="560" height="315" src="https://www.youtube.com/embed/iW52CoG33pk" frameborder="0" allowfullscreen></iframe> (:htmlend:)
(:html:) <iframe width="560" height="315" src="https://www.youtube.com/embed/U7uyj9BaNKg" frameborder="0" allowfullscreen></iframe> (:htmlend:)
(:title Final Exam for Dynamic Optimization:)
(:title 2015 Final Exam for Dynamic Optimization:)
(:description Final exam for the graduate level course on dynamic estimation and optimization.:)
(:description Final exam for the graduate level course on dynamic estimation and optimization in 2015.:)
(:html:) <iframe width="560" height="315" src="https://www.youtube.com/embed/n4OzENKziR4" frameborder="0" allowfullscreen></iframe> (:htmlend:)
<iframe width="560" height="315" src="https://www.youtube.com/embed/n4OzENKziR4" frameborder="0" allowfullscreen></iframe>
<iframe width="560" height="315" src="https://www.youtube.com/embed/iW52CoG33pk" frameborder="0" allowfullscreen></iframe>
(:html:) <iframe width="560" height="315" src="https://www.youtube.com/embed/iW52CoG33pk" frameborder="0" allowfullscreen></iframe> (:htmlend:)
Solution
(:html:) <iframe width="560" height="315" src="https://www.youtube.com/embed/n4OzENKziR4" frameborder="0" allowfullscreen></iframe> (:htmlend:)
(:html:) <iframe width="560" height="315" src="https://www.youtube.com/embed/iW52CoG33pk" frameborder="0" allowfullscreen></iframe> (:htmlend:)
(:html:) (:htmlend:)
(:title Midterm Exam for Dynamic Optimization:) (:keywords Python, MATLAB, Simulink, nonlinear control, model predictive control, exam, midterm:) (:description Mid-term exam for dynamic estimation and optimization as a graduate-level course.:)
(:title Final Exam for Dynamic Optimization:) (:keywords Python, MATLAB, Simulink, nonlinear control, model predictive control, exam, final:) (:description Final exam for the graduate level course on dynamic estimation and optimization.:)
(:title Midterm Exam for Dynamic Optimization:) (:keywords Python, MATLAB, Simulink, nonlinear control, model predictive control, exam, midterm:) (:description Mid-term exam for dynamic estimation and optimization as a graduate-level course.:)