Main

## Main.MoreDynamicOptimizationBenchmarks History

March 08, 2018, at 02:24 PM by 45.56.3.173 -
Changed line 99 from:
!!!! [[Main/EconomicDynamicOptimization|Commercial Fishery]]
to:
!!!! [[Main/EconomicDynamicOptimization|Maximize Profit (Commercial Fishery)]]
March 07, 2018, at 06:55 PM by 10.37.83.132 -
Changed lines 99-105 from:
!!!! Commercial Fishery

]]

(:html:)
<iframe width="560" height="315" src="https://www.youtube.com/embed/MA53XPp-a7I" frameborder="0" allowfullscreen></iframe>
(:htmlend:)
to:
!!!! [[Main/EconomicDynamicOptimization|Commercial Fishery]]
Changed lines 109-115 from:
!!!! Jennings Problem

]]

(:html:)
<iframe width="560" height="315" src="https://www.youtube.com/embed/yuj217itTa8" frameborder="0" allowfullscreen></iframe>
(:htmlend:)
to:
!!!! [[Main/MinimizeFinalTime|Minimize Final Time (Jennings)]]

(:toggle hide gekko button show="Show GEKKO (Python) Code":)
(:div id=gekko:)
(:source lang=python:)
import numpy as np
import matplotlib.pyplot as plt
from gekko import GEKKO

m = GEKKO()

nt = 1001
t = np.linspace(0,np.pi/2,nt)
m.time = t

# Variables
x1 = m.Var(value=0)
x2 = m.Var(value=1)
x3 = m.Var(value=0)

u = m.MV(value=0,ub=1,lb=-1)
u.STATUS = 1
u.DCOST = 0

p = np.zeros(nt)
p[-1] = 1.0
final = m.Param(value=p)

# Equations
m.Equation(x1.dt()==x2)
m.Equation(x2.dt()==u)
m.Equation(2*x3.dt()==x2**2-x1**2)

# Objective Function
m.Obj(x3*final)

m.options.IMODE = 6
m.options.NODES = 4
m.solve()

plt.figure(1)
plt.subplot(2,1,1)
plt.plot(m.time,x1.value,'k:',LineWidth=2,label=r'$x_1$')
plt.plot(m.time,x2.value,'b-',LineWidth=2,label=r'$x_2$')
plt.plot(m.time,x2.value,'k-',LineWidth=2,label=r'$x_3$')
plt.subplot(2,1,2)
plt.plot(m.time,u.value,'r--',LineWidth=2,label=r'$u$')
plt.plot(t,-np.sin(t),'k:',LineWidth=2,label='Exact')
plt.legend(loc='best')
plt.xlabel('Time')
plt.ylabel('Value')
plt.show()
(:sourceend:)
(:divend:)
(:title More Optimal Control Problems:)
(:keywords nonlinear control, optimal control, dynamic optimization, engineering optimization, MATLAB, Python, GEKKO, differential, algebraic, modeling language, university course:)
(:description More optimal control problems solved with Dynamic Optimization in MATLAB and Python.:)

Changed line 3 from:
'''Objective:''' Set up and solve several [[Attach:Dynamic_Optimization_Benchmarks.pdf|dynamic optimization benchmark problems]]. Create a program'^1^' to optimize and display the results. ''Estimated Time (each): 30 minutes''
to:
'''Objective:''' Set up and solve several optimal control benchmark problems. Create a program'^1^' to optimize and display the results. ''Estimated Time (each): 30 minutes''
Changed lines 62-68 from:
!!!! Luus Problem

Luus Problem in MATLAB and Python]]

(:html:)
<iframe width="560" height="315" src="https://www.youtube.com/embed/WIe31dTaW6g" frameborder="0" allowfullscreen></iframe>
(:htmlend:)
to:
!!!! [[Main/IntegralObjective|Integral Objective (Luus)]]
February 10, 2016, at 07:04 AM by 174.148.96.184 -
Changed line 67 from:
<iframe width="560" height="315" src="https://www.youtube.com/embed/yuj217itTa8" frameborder="0" allowfullscreen></iframe>
to:
<iframe width="560" height="315" src="https://www.youtube.com/embed/WIe31dTaW6g" frameborder="0" allowfullscreen></iframe>
February 10, 2016, at 06:39 AM by 174.148.96.184 -

(:html:)
<iframe width="560" height="315" src="https://www.youtube.com/embed/yuj217itTa8" frameborder="0" allowfullscreen></iframe>
(:htmlend:)

----

!!!! Luus Problem

February 10, 2016, at 06:36 AM by 174.148.96.184 -
Changed line 57 from:
<iframe width="560" height="315" src="https://www.youtube.com/embed/MA53XPp-a7I" frameborder="0" allowfullscreen></iframe>
to:
<iframe width="560" height="315" src="https://www.youtube.com/embed/yuj217itTa8" frameborder="0" allowfullscreen></iframe>
February 10, 2016, at 06:11 AM by 174.148.96.184 -
Changed lines 34-35 from:
to:
Changed lines 44-45 from:
to:

(:html:)
<iframe width="560" height="315" src="https://www.youtube.com/embed/MA53XPp-a7I" frameborder="0" allowfullscreen></iframe>
(:htmlend:)

----

!!!! Jennings Problem

February 10, 2016, at 12:59 AM by 174.148.92.107 -
Deleted line 10:
->Attach:dynopt_alychan.png
February 10, 2016, at 12:59 AM by 174.148.92.107 -
Changed line 48 from:
<iframe width="560" height="315" src="https://www.youtube.com/embed/jB7WWGHFNIw" frameborder="0" allowfullscreen></iframe>
to:
<iframe width="560" height="315" src="https://www.youtube.com/embed/MA53XPp-a7I" frameborder="0" allowfullscreen></iframe>
February 10, 2016, at 12:39 AM by 174.148.92.107 -
Changed lines 41-49 from:
to:
----

!!!! Commercial Fishery

(:html:)
<iframe width="560" height="315" src="https://www.youtube.com/embed/jB7WWGHFNIw" frameborder="0" allowfullscreen></iframe>
(:htmlend:)
February 09, 2016, at 01:22 PM by 174.148.118.172 -

See [[https://youtu.be/5qY7WyngRbo|estimation example]] using the same model to explain estimator objectives.
February 09, 2016, at 01:19 PM by 174.148.118.172 -
<iframe width="560" height="315" src="https://www.youtube.com/embed/cd0TkFtXfWs" frameborder="0" allowfullscreen></iframe>
February 09, 2016, at 12:49 PM by 174.148.118.172 -
Changed line 7 from:
!!!! Aly-Chan Problem'^2^'
to:
!!!! Aly-Chan Singular Control Problem'^2^'
Changed lines 21-24 from:
!!!! Catalyzed Reaction

Attach:dynamic_optimization_catalyst.zip|Dynamic Optimization Catalyst Solution in MATLAB and Python]]
to:
!!!! Aly Singular Control Problem

Deleted line 25:
<iframe width="560" height="315" src="https://www.youtube.com/embed/jB7WWGHFNIw" frameborder="0" allowfullscreen></iframe>

----

!!!! Catalyzed Reaction

(:html:)
<iframe width="560" height="315" src="https://www.youtube.com/embed/jB7WWGHFNIw" frameborder="0" allowfullscreen></iframe>
(:htmlend:)

February 09, 2016, at 06:33 AM by 174.148.220.36 -
Deleted line 22:
!!!! Solution to Catalyzed Reaction Problem
February 09, 2016, at 06:33 AM by 174.148.220.36 -
Changed line 27 from:
to:
<iframe width="560" height="315" src="https://www.youtube.com/embed/jB7WWGHFNIw" frameborder="0" allowfullscreen></iframe>
February 09, 2016, at 06:31 AM by 174.148.220.36 -
----
Changed line 12 from:
!!!! Solution to Aly-Chan Problem
to:
(:htmlend:)

----

!!!! Catalyzed Reaction

!!!! Solution to Catalyzed Reaction Problem

(:html:)

(:html:)
<iframe width="560" height="315" src="https://www.youtube.com/embed/tY8kyJq4BEY" frameborder="0" allowfullscreen></iframe>
(:htmlend:)
Changed line 5 from:
!!!! Aly-Chan Problem
to:
!!!! Aly-Chan Problem'^2^'
Changed line 7 from:
* The objective is to minimize final state ''x_3_(pi/2)'' by adjusting the value of ''u''.
to:
* The objective is to minimize final state ''x'_3_'(pi/2)'' by adjusting the value of ''u''.
Changed lines 6-8 from:
* Nonlinear, constrained, minimize final state
to:
* Solve the following nonlinear and constrained problem.
* The objective is to minimize final state ''x_3_(pi/2)'' by adjusting the value of ''u''.
* Compare to the exact solution of ''u(t)= -sin(t)''.
!!!! Exercise

'''Objective:''' Set up and solve several [[Attach:Dynamic_Optimization_Benchmarks.pdf|dynamic optimization benchmark problems]]. Create a program'^1^' to optimize and display the results. ''Estimated Time (each): 30 minutes''

!!!! Aly-Chan Problem
* Nonlinear, constrained, minimize final state
->Attach:dynopt_alychan.png
!!!! Solution to Aly-Chan Problem