Skip to content

Commit dcce11a

Browse files
authored
Merge pull request #69 from control-toolbox/mam
New CTParser version + fixes
2 parents b1ee3cd + 462874b commit dcce11a

4 files changed

Lines changed: 36 additions & 37 deletions

File tree

.github/workflows/CI.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010

1111
jobs:
1212
call:
13-
if: contains(github.event.pull_request.labels.*.name, 'run ci')
13+
if: github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'run ci')
1414
uses: control-toolbox/CTActions/.github/workflows/ci.yml@main
1515
with:
1616
runs_on: '["ubuntu-latest"]'

.github/workflows/Documentation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,5 @@ on:
1010

1111
jobs:
1212
call:
13-
if: contains(github.event.pull_request.labels.*.name, 'run documentation')
13+
if: github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'run documentation')
1414
uses: control-toolbox/CTActions/.github/workflows/documentation.yml@main

docs/src/assets/Manifest.toml

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -102,9 +102,9 @@ version = "0.4.0"
102102

103103
[[deps.ArrayInterface]]
104104
deps = ["Adapt", "LinearAlgebra"]
105-
git-tree-sha1 = "78b3a7a536b4b0a747a0f296ea77091ca0a9f9a3"
105+
git-tree-sha1 = "54f895554d05c83e3dd59f6a396671dae8999573"
106106
uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9"
107-
version = "7.23.0"
107+
version = "7.24.0"
108108

109109
[deps.ArrayInterface.extensions]
110110
ArrayInterfaceAMDGPUExt = "AMDGPU"
@@ -259,9 +259,9 @@ version = "0.9.14"
259259

260260
[[deps.CTParser]]
261261
deps = ["CTBase", "DocStringExtensions", "MLStyle", "OrderedCollections", "Parameters", "Unicode"]
262-
git-tree-sha1 = "0a57111b2d95d6272bb76f4f6f7c4fee1e40ce82"
262+
git-tree-sha1 = "67c193f4f1e5167123b917bbbdb26947757ed4b0"
263263
uuid = "32681960-a1b1-40db-9bff-a1ca817385d1"
264-
version = "0.8.13"
264+
version = "0.8.14"
265265

266266
[[deps.CTSolvers]]
267267
deps = ["ADNLPModels", "CTBase", "CTModels", "CommonSolve", "DocStringExtensions", "ExaModels", "KernelAbstractions", "NLPModels", "SolverCore"]
@@ -485,10 +485,10 @@ uuid = "85a47980-9c8c-11e8-2b9f-f7ca1fa99fb4"
485485
version = "0.4.6"
486486

487487
[[deps.DiffEqBase]]
488-
deps = ["ArrayInterface", "BracketingNonlinearSolve", "ConcreteStructs", "DocStringExtensions", "FastBroadcast", "FastClosures", "FastPower", "FunctionWrappers", "FunctionWrappersWrappers", "LinearAlgebra", "Logging", "Markdown", "MuladdMacro", "PrecompileTools", "Printf", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLOperators", "SciMLStructures", "Setfield", "Static", "StaticArraysCore", "SymbolicIndexingInterface", "TruncatedStacktraces"]
489-
git-tree-sha1 = "87e2ad6d4ae98505218e2f97cafcfa296dc97d37"
488+
deps = ["ArrayInterface", "BracketingNonlinearSolve", "ConcreteStructs", "DocStringExtensions", "FastBroadcast", "FastClosures", "FastPower", "FunctionWrappers", "FunctionWrappersWrappers", "LinearAlgebra", "Logging", "Markdown", "MuladdMacro", "PrecompileTools", "Printf", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLLogging", "SciMLOperators", "SciMLStructures", "Setfield", "Static", "StaticArraysCore", "SymbolicIndexingInterface", "TruncatedStacktraces"]
489+
git-tree-sha1 = "7fc71417fa27888829b800ca3c0a4d3c1d0d99f0"
490490
uuid = "2b5f629d-d688-5b77-993f-72d75c75574e"
491-
version = "6.216.0"
491+
version = "6.217.0"
492492

493493
[deps.DiffEqBase.extensions]
494494
DiffEqBaseCUDAExt = "CUDA"
@@ -809,9 +809,9 @@ version = "1.16.0"
809809

810810
[[deps.FiniteDiff]]
811811
deps = ["ArrayInterface", "LinearAlgebra", "Setfield"]
812-
git-tree-sha1 = "9340ca07ca27093ff68418b7558ca37b05f8aeb1"
812+
git-tree-sha1 = "73e879af0e767bd6dfade7c5b09d7b05657a8284"
813813
uuid = "6a86dc24-6348-571c-b903-95158fe2bd41"
814-
version = "2.29.0"
814+
version = "2.30.0"
815815

816816
[deps.FiniteDiff.extensions]
817817
FiniteDiffBandedMatricesExt = "BandedMatrices"
@@ -1556,9 +1556,9 @@ version = "0.2.4"
15561556

15571557
[[deps.MultivariatePolynomials]]
15581558
deps = ["DataStructures", "LinearAlgebra", "MutableArithmetics", "StarAlgebras"]
1559-
git-tree-sha1 = "b45f1ed8448ea20885cb4c5029c2a462fe2682bf"
1559+
git-tree-sha1 = "9436679244f099fe5cd8a8053f40696be4e3bdd8"
15601560
uuid = "102ac46a-7ee4-5c85-9060-abc95bfdeaa3"
1561-
version = "0.5.17"
1561+
version = "0.5.18"
15621562
weakdeps = ["ChainRulesCore"]
15631563

15641564
[deps.MultivariatePolynomials.extensions]
@@ -1776,10 +1776,10 @@ uuid = "6ad6398a-0878-4a85-9266-38940aa047c8"
17761776
version = "1.26.0"
17771777

17781778
[[deps.OrdinaryDiffEqCore]]
1779-
deps = ["ADTypes", "Accessors", "Adapt", "ArrayInterface", "ConcreteStructs", "DataStructures", "DiffEqBase", "DocStringExtensions", "EnumX", "EnzymeCore", "FastBroadcast", "FastClosures", "FastPower", "FunctionWrappersWrappers", "InteractiveUtils", "LinearAlgebra", "Logging", "MacroTools", "MuladdMacro", "Polyester", "PrecompileTools", "Preferences", "Random", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLLogging", "SciMLOperators", "SciMLStructures", "Static", "StaticArraysCore", "SymbolicIndexingInterface", "TruncatedStacktraces"]
1780-
git-tree-sha1 = "e81202ab680b4649ea2cb63560b9e57833540cfa"
1779+
deps = ["ADTypes", "Accessors", "Adapt", "ArrayInterface", "ConcreteStructs", "DataStructures", "DiffEqBase", "DocStringExtensions", "EnumX", "EnzymeCore", "FastBroadcast", "FastClosures", "FastPower", "FunctionWrappersWrappers", "InteractiveUtils", "LinearAlgebra", "Logging", "MacroTools", "MuladdMacro", "Polyester", "PrecompileTools", "Preferences", "Random", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLLogging", "SciMLOperators", "SciMLStructures", "Static", "SymbolicIndexingInterface", "TruncatedStacktraces"]
1780+
git-tree-sha1 = "31e7d6c8add3a7f449d492fc7d2437cfbe9d6a7a"
17811781
uuid = "bbf590c4-e513-4bbe-9b18-05decba2e5d8"
1782-
version = "3.31.0"
1782+
version = "3.32.0"
17831783

17841784
[deps.OrdinaryDiffEqCore.extensions]
17851785
OrdinaryDiffEqCoreMooncakeExt = "Mooncake"
@@ -1933,9 +1933,9 @@ version = "1.14.0"
19331933

19341934
[[deps.OrdinaryDiffEqStabilizedRK]]
19351935
deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "RecursiveArrayTools", "Reexport", "SciMLBase", "StaticArraysCore"]
1936-
git-tree-sha1 = "bb33a312858b1e6663099f231323a78b7bb00eb3"
1936+
git-tree-sha1 = "764e11fb6a26ee8f2d2d10778d531fd708f35d28"
19371937
uuid = "358294b1-0aab-51c3-aafe-ad5ab194a2ad"
1938-
version = "1.11.0"
1938+
version = "1.11.1"
19391939

19401940
[[deps.OrdinaryDiffEqSymplecticRK]]
19411941
deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "Polyester", "RecursiveArrayTools", "Reexport", "SciMLBase"]
@@ -2430,22 +2430,25 @@ version = "1.2.1"
24302430

24312431
[[deps.SparseMatrixColorings]]
24322432
deps = ["ADTypes", "DocStringExtensions", "LinearAlgebra", "PrecompileTools", "Random", "SparseArrays"]
2433-
git-tree-sha1 = "1c1be8c6fdfaf9b6c9e156c509e672953b8e6af7"
2433+
git-tree-sha1 = "f63d76c7b7c329cf11badd564fd8ba877b09c3fe"
24342434
uuid = "0a514795-09f3-496d-8182-132a7b665d35"
2435-
version = "0.4.26"
2435+
version = "0.4.27"
24362436

24372437
[deps.SparseMatrixColorings.extensions]
2438-
SparseMatrixColoringsCUDAExt = "CUDA"
2438+
SparseMatrixColoringsCUDAExt = ["CUDA", "cuSPARSE"]
24392439
SparseMatrixColoringsCliqueTreesExt = "CliqueTrees"
24402440
SparseMatrixColoringsColorsExt = "Colors"
2441+
SparseMatrixColoringsGPUArraysExt = "GPUArrays"
24412442
SparseMatrixColoringsJuMPExt = ["JuMP", "MathOptInterface"]
24422443

24432444
[deps.SparseMatrixColorings.weakdeps]
24442445
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
24452446
CliqueTrees = "60701a23-6482-424a-84db-faee86b9b1f8"
24462447
Colors = "5ae59095-9a9b-59fe-a467-6f913c188581"
2448+
GPUArrays = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7"
24472449
JuMP = "4076af6c-e467-56ae-b986-b466b2749572"
24482450
MathOptInterface = "b8f27783-ece8-5eb3-8dc8-9495eed66fee"
2451+
cuSPARSE = "b26da814-b3bc-49ef-b0ee-c816305aa060"
24492452

24502453
[[deps.SpecialFunctions]]
24512454
deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"]
@@ -2592,9 +2595,9 @@ version = "1.1.0"
25922595

25932596
[[deps.SymbolicUtils]]
25942597
deps = ["AbstractTrees", "ArrayInterface", "Combinatorics", "ConstructionBase", "DataStructures", "Dictionaries", "DocStringExtensions", "DynamicPolynomials", "EnumX", "ExproniconLite", "Graphs", "LinearAlgebra", "MacroTools", "Moshi", "MultivariatePolynomials", "MutableArithmetics", "NaNMath", "PrecompileTools", "ReadOnlyArrays", "Setfield", "SparseArrays", "SpecialFunctions", "StaticArraysCore", "SymbolicIndexingInterface", "TaskLocalValues", "TermInterface", "WeakCacheSets"]
2595-
git-tree-sha1 = "552eaeac659f5802d45c4d936272a712ca13a969"
2598+
git-tree-sha1 = "98c23082cba20c6ae17e920600c89e4f6491e618"
25962599
uuid = "d1185830-fcd6-423d-90d6-eec64667417b"
2597-
version = "4.24.1"
2600+
version = "4.24.2"
25982601

25992602
[deps.SymbolicUtils.extensions]
26002603
SymbolicUtilsChainRulesCoreExt = "ChainRulesCore"
@@ -2958,9 +2961,9 @@ version = "0.61.1+0"
29582961

29592962
[[deps.libaom_jll]]
29602963
deps = ["Artifacts", "JLLWrappers", "Libdl"]
2961-
git-tree-sha1 = "371cc681c00a3ccc3fbc5c0fb91f58ba9bec1ecf"
2964+
git-tree-sha1 = "850b06095ee71f0135d644ffd8a52850699581ed"
29622965
uuid = "a4ae2306-e953-59d6-aa16-d00cac43593b"
2963-
version = "3.13.1+0"
2966+
version = "3.13.3+0"
29642967

29652968
[[deps.libass_jll]]
29662969
deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Zlib_jll"]

docs/src/tutorial-mam.md

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ using Plots, Printf
1717
We aim to find the most probable transition path between two stable states of a stochastic dynamical system. For a system with deterministic dynamics $f(x)$ and small noise, the transition path minimizes the action functional:
1818

1919
```math
20-
S[x(\cdot), u(\cdot)] = \int_0^T \|u(t) - f(x(t))\|^2 \, dt
20+
S[x(\cdot), u(\cdot)] = \int_0^T \|u(t) - f(x(t))\|^2 \, \mathrm{d}t
2121
```
2222

2323
subject to the path dynamics:
@@ -72,19 +72,15 @@ We provide an initial guess for the path using a simple interpolation with the `
7272
# Time horizon
7373
T = 50
7474
75-
# Helper functions for initial state guess
76-
L(t) = -(1 - t/T) + t/T # Linear interpolation from -1 to 1
77-
P(t) = 0.3*(-L(t)^2 + 1) # Parabolic arc (approximates saddle crossing)
78-
7975
init = @init ocp(T) begin
80-
# Linear interpolation for x₁
81-
x₁(t) := L(t)
82-
# Parabolic guess for x₂
83-
x₂(t) := P(t)
84-
# Control from vector field
85-
u(t) := f(L(t), P(t))
76+
x₁(t) := -(1 - t/T) + t/T # Linear interpolation from -1 to 1
77+
x₂(t) := 0.3*(-x₁(t)^2 + 1) # Parabolic arc (approximates saddle crossing)
78+
u(t) := f(x₁(t), x₂(t)) # Control from vector field
8679
end
87-
nothing # hide
80+
81+
# Visualize the initial guess (solve without optimization, max_iter=0)
82+
sol_init = solve(ocp(T); init=init, grid_size=1000, max_iter=0)
83+
plot(sol_init)
8884
```
8985

9086
!!! note "Initial guess strategy"

0 commit comments

Comments
 (0)