build_sequence(scanner[, optimiser_constructor];) do
build_sequence(scanner;) do
...
...
end
end
```
```
...
@@ -56,7 +56,6 @@ As soon as the code block ends the sequence is optimised (if `optimise=true`) an
...
@@ -56,7 +56,6 @@ As soon as the code block ends the sequence is optimised (if `optimise=true`) an
## Parameters
## Parameters
- `scanner`: Set to a [`Scanner`](@ref) to limit the gradient strength and slew rate. When this call to `build_sequence` is embedded in another, this parameter can be set to `nothing` to indicate that the same scanner should be used.
- `scanner`: Set to a [`Scanner`](@ref) to limit the gradient strength and slew rate. When this call to `build_sequence` is embedded in another, this parameter can be set to `nothing` to indicate that the same scanner should be used.
- `optimiser_constructor`: A `JuMP` solver optimiser as described in the [JuMP documentation](https://jump.dev/JuMP.jl/stable/tutorials/getting_started/getting_started_with_JuMP/#What-is-a-solver?). Defaults to using [Ipopt](https://github.com/jump-dev/Ipopt.jl).
- `optimise`: Whether to optimise and fix the sequence as soon as it is returned. This defaults to `true` if a scanner is provided and `false` if no scanner is provided.
- `optimise`: Whether to optimise and fix the sequence as soon as it is returned. This defaults to `true` if a scanner is provided and `false` if no scanner is provided.
- `n_attempts`: How many times to restart the optimser (default: 100).
- `n_attempts`: How many times to restart the optimser (default: 100).
- `kwargs...`: Other keywords are passed on as attributes to the `optimiser_constructor` (e.g., set `print_level=3` to make the Ipopt optimiser quieter).
- `kwargs...`: Other keywords are passed on as attributes to the `optimiser_constructor` (e.g., set `print_level=3` to make the Ipopt optimiser quieter).
...
@@ -129,10 +128,16 @@ function optimise_with_cost_func(jump_model::Model, cost_func, n_attempts)
...
@@ -129,10 +128,16 @@ function optimise_with_cost_func(jump_model::Model, cost_func, n_attempts)
end
end
end
end
function build_sequence(f::Function,scanner::Union{Nothing,Scanner},optimiser_constructor;optimise=true,n_attempts=10,kwargs...)
function build_sequence(f::Function,scanner::Union{Nothing,Scanner}=Default_Scanner;optimise=true,n_attempts=10,print_level=0,mu_strategy="adaptive",max_iter=10000,kwargs...)