Describe the bugQuadraticRegularizer is called on controls a to limit amplitudes. In a free time problem, the amplitude can be lowered if the timestep is increased. As a result, the pulse duration will only increase to improve regularization cost. The correct QuadraticRegularizer must divide the regularized value by the timestep size.
To Reproduce
Run a free time optimization. Compare the initial timestep to the timestep after the optimization. All timesteps will take larger values.
Expected behaviorQuadraticRegularizer should keep the control energy small. Amplitude constraints keep the control from exceeding some value.
Describe the bug
QuadraticRegularizer
is called on controlsa
to limit amplitudes. In a free time problem, the amplitude can be lowered if the timestep is increased. As a result, the pulse duration will only increase to improve regularization cost. The correctQuadraticRegularizer
must divide the regularized value by the timestep size.To Reproduce Run a free time optimization. Compare the initial timestep to the timestep after the optimization. All timesteps will take larger values.
Expected behavior
QuadraticRegularizer
should keep the control energy small. Amplitude constraints keep the control from exceeding some value.