param N; param T; param q; param r; param xf; var x {j in 0..N}; var v {j in 1..N} <= 1000, >= -1000; var a <= 1000, >= -1000; minimize trade_off: q*(x[N] - xf)^2 + r* a^2 * T; subject to x0: x[0] = 0; subject to v0: v[1] = 0; subject to v_def {j in 1..N}: N*(x[j] - x[j-1]) = T*v[j]; subject to a_def {j in 1..N-1}: (v[j+1]-v[j])*N = T*a; let N := 800; let T := 10; let q := 1; let r := 100; let xf := 100; solve; #display x; display a; display x[N]; display v[N]; display a^2 * T;