Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/Breakage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:

jobs:
break-pkg:
if: ${{ ! contains(github.event.pull_request.labels.*.name, 'run breakage applications') }}
if: contains(github.event.pull_request.labels.*.name, 'run breakage')
strategy:
fail-fast: false
matrix:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:

jobs:
test-cpu-github:
if: contains(github.event.pull_request.labels.*.name, 'run ci cpu')
if: github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'run ci cpu')
uses: control-toolbox/CTActions/.github/workflows/ci.yml@main
with:
versions: '["1.12"]'
Expand All @@ -22,7 +22,7 @@ jobs:

# Job pour le runner self-hosted kkt (GPU/CUDA)
test-gpu-kkt:
if: contains(github.event.pull_request.labels.*.name, 'run ci gpu')
if: github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'run ci gpu')
uses: control-toolbox/CTActions/.github/workflows/ci.yml@main
with:
versions: '["1"]'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/Documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:

jobs:
call:
if: contains(github.event.pull_request.labels.*.name, 'run documentation')
if: github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'run documentation')
uses: control-toolbox/CTActions/.github/workflows/documentation.yml@main
with:
use_ct_registry: true
Expand Down
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,19 @@ Versions follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
- Indirect methods for touch point (2-arc) and boundary arc (3-arc) cases with shooting functions
- Theoretical references: Bryson et al. (1963), Jacobson et al. (1971), Bryson & Ho (1975)
- Hamiltonian-based adjoint chain explanations for boundary arc dynamics
- New example for problems mixing control and variable (`example-control-and-variable.md`) with two examples:
- Exponential growth rate estimation with control (non-autonomous problem)
- Harmonic oscillator pulsation optimization with control (autonomous problem)
- Demonstrates optimal control problems with both control variables and constant parameters to optimize
- Indirect methods with augmented Hamiltonian and maximising control laws

### Changed

- **Documentation organization**:
- Extracted state constraint section from `example-double-integrator-energy.md` into dedicated example file
- Added cross-references between energy minimization and state constraint examples
- Added "Control and variable" example to Basic Examples section in documentation navigation
- Fixed heading level in `example-control-free.md` (## -> ###) for proper hierarchy

- **Dependencies**:
- Updated UnoSolver from v0.2 to v0.3
Expand Down
1 change: 1 addition & 0 deletions docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,7 @@ with_api_reference(src_dir, ext_dir) do api_pages
"Energy minimisation" => "example-double-integrator-energy.md",
"Time mininimisation" => "example-double-integrator-time.md",
"Control-free problems" => "example-control-free.md",
"Control and variable" => "example-control-and-variable.md",
"Singular control" => "example-singular-control.md",
"State constraint" => "example-state-constraint.md",
],
Expand Down
6 changes: 1 addition & 5 deletions docs/src/assets/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ MarkdownAST = "d0879d2d-cac2-40c8-9cee-1863dc0c7391"
NLPModelsIpopt = "f4238b75-b362-5c4c-b852-0801c9a21d71"
NLPModelsKnitro = "bec4dd0d-7755-52d5-9a02-22f0ffc7efcb"
NonlinearSolve = "8913a72c-1f9b-4ce2-8d82-65094dcecaec"
OptimalControl = "5f98b655-cc9a-415a-b60e-744165666948"
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
UnoSolver = "1baa60ac-02f7-4b39-a7a8-2f4f58486b05"
Expand Down Expand Up @@ -54,7 +53,4 @@ NonlinearSolve = "4"
OrdinaryDiffEq = "6"
Plots = "1"
UnoSolver = "0.3"
julia = "1.10"

[sources]
OptimalControl = {path = ".."}
julia = "1.10"
Loading
Loading