Difference between revisions of "Time optimal car problem (TACO)"

From mintOC
Jump to: navigation, search
(Time optimal car problem (TACO))
 
m (typo)
Line 1: Line 1:
 
This page contains a model of the [[Time optimal car problem]] in [http://www.ampl.org AMPL] format, making use of the TACO toolkit for AMPL control optimization extensions. The model can be found e.g. in
 
This page contains a model of the [[Time optimal car problem]] in [http://www.ampl.org AMPL] format, making use of the TACO toolkit for AMPL control optimization extensions. The model can be found e.g. in
<bibref>Cuthrell1987<bibref> and <bibref>Logsdon1992</bibref>.
+
<bibref>Cuthrell1987</bibref> and <bibref>Logsdon1992</bibref>.
 
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.

Revision as of 18:46, 3 October 2011

This page contains a model of the Time optimal car problem in AMPL format, making use of the TACO toolkit for AMPL control optimization extensions. The model can be found e.g. in <bibref>Cuthrell1987</bibref> and <bibref>Logsdon1992</bibref>. 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 tocar1_taco.mod

# ----------------------------------------------------------------
# Time optimal car problem using AMPL and TACO
# (c) Christian Kirches, Sven Leyffer
#
# Source: Cuthrell/Biegler'87, Logsdon/Biegler'92
# ----------------------------------------------------------------
include OptimalControl.mod;
 
var t;
var tf := 20, >= 5, <= 50;
 
var s := 0, >= 0, <= 330;
var v := 0, >= 0, <= 30;
var gas := 0.0, >= -2.0, <= 1.0;
let gas.type := "u0";
 
var p := 0.05, >= 0, <= 0.1;
 
minimize EndTime:
	eval(t,tf);
let EndTime.scale := 10.0;
 
subject to 
 
ODE_s:	diff(s,t) = v;
ODE_v:	diff(v,t) = gas - p;
 
IVC_s:	eval(s,0) = 0;
IVC_v: 	eval(v,0) = 0;
 
 TC_s:	eval(s,tf) = 300.0;
let TC_s.scale := 100.0;
 
TC_v:	eval(v,tf) = 0;
let TC_v.scale := 10.0;
 
let IVC_s.type := "dpc";
let IVC_v.type := "dpc";
 
option solver ...;
 
solve;

Other Descriptions

Other descriptions of this problem are available in

References

<bibreferences/>