Particle steering problem (TACO)

From mintOC
Revision as of 21:32, 30 December 2015 by JonasSchulze (Talk | contribs) (Text replacement - "\<bibref\>(.*)\<\/bibref\>" to "<bib id="$1" />")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This page contains a model of the Particle steering problem in AMPL format, making use of the TACO toolkit for AMPL control optimization extensions. This classical problem can e.g. be found in [Bryson1975]Address: New York
Author: Bryson, A.E.; Ho, Y.-C.
Publisher: Wiley
Title: Applied Optimal Control
Year: 1975
Link to Google Scholar
. The original model using a collocation formulation can be found in the COPS library. 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 particle_taco.mod

# ----------------------------------------------------------------
# Particle steering problem using AMPL and TACO
# (c) Christian Kirches, Sven Leyffer
#
# Source: COPS 3.1 collocation formulation - March 2004
# ----------------------------------------------------------------
include OptimalControl.mod;
 
param Pi := 3.14159265358979;
param a := 100.0;
 
var t;
var tf := 1, >= 0, <=10;
var y{1..4};
var u >= -Pi/2, <= +Pi/2;
let u.type := "u1";
 
minimize time: eval(t,tf);
 
subject to
 
dy1: diff (y[1],t) = y[2];
dy2: diff (y[2],t) = a*cos(u);
dy3: diff (y[3],t) = y[4];
dy4: diff (y[4],t) = a*sin(u);
 
ivc{i in 1..4}: eval(y[i],0) = 0;
 
by1d: eval(y[2],tf) = 45;
by2:  eval(y[3],tf) = 5;
by2d: eval(y[4],tf) = 0;
 
option solver ...;
 
solve;

Other Descriptions

Other descriptions of this problem are available in

References

[Bryson1975]Bryson, A.E.; Ho, Y.-C. (1975): Applied Optimal Control. (%edition%). Wiley, New York, %pages%Link to Google Scholar