Skip to content

Commit 626531c

Browse files
Improve cart-pole example initial guess
1 parent 02ee50e commit 626531c

1 file changed

Lines changed: 8 additions & 8 deletions

File tree

class05/class05.jl

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
### A Pluto.jl notebook ###
2-
# v0.20.18
2+
# v0.20.24
33

44
using Markdown
55
using InteractiveUtils
@@ -493,16 +493,16 @@ begin
493493
# initial guess: uniform motion, no control
494494
@variable(cp_model, -d_max .<= q_1[i=1:N] .<= d_max, start=i/N * d)
495495
@variable(cp_model, q_2[i=1:N], start=i/N * pi)
496-
@variable(cp_model, d_q_1[i=1:N], start=0)
497-
@variable(cp_model, d_q_2[i=1:N], start=0)
496+
@variable(cp_model, d_q_1[1:N], start=d/T)
497+
@variable(cp_model, d_q_2[1:N], start=pi/T)
498498
@variable(cp_model, -u_max .<= u[1:N] .<= u_max, start=0)
499499

500500
# collocation points
501-
@variable(cp_model, -d_max .<= q_1_c[1:N-1] .<= d_max)
502-
@variable(cp_model, q_2_c[1:N-1])
503-
@variable(cp_model, d_q_1_c[1:N-1])
504-
@variable(cp_model, d_q_2_c[1:N-1])
505-
@variable(cp_model, -u_max .<= u_c[1:N-1] .<= u_max)
501+
@variable(cp_model, -d_max .<= q_1_c[i=1:N-1] .<= d_max, start=(2*i + 1)/(2 * N) * d)
502+
@variable(cp_model, q_2_c[i=1:N-1], start=(2*i + 1)/(2 * N) * pi)
503+
@variable(cp_model, d_q_1_c[1:N-1], start=d/T)
504+
@variable(cp_model, d_q_2_c[1:N-1], start=pi/T)
505+
@variable(cp_model, -u_max .<= u_c[1:N-1] .<= u_max, start=0)
506506

507507
@expression(cp_model, x[i=1:N], [q_1[i], q_2[i], d_q_1[i], d_q_2[i]])
508508
@expression(cp_model, x_c[i=1:N-1], [q_1_c[i], q_2_c[i], d_q_1_c[i], d_q_2_c[i]])

0 commit comments

Comments
 (0)