Skip to content

Releases: control-toolbox/CTDirect.jl

v0.13.2

26 Feb 10:35
d39e76a
Compare
Choose a tag to compare

CTDirect v0.13.2

Diff since v0.13.1

removed duplicate OCP solution constructor (moved to CTBase)

Merged pull requests:

Closed issues:

  • Possible post optimization error when using a locale with a comma as floating point (#99)
  • Higher order scheme (#101)
  • Add optimisation solver: Knitro (#333)
  • change default tol (#335)
  • Change AD backend (#343)
  • Breakage CI action: Conflict on artifact name (#345)
  • To be removed (#354)

v0.13.1

20 Feb 15:31
ffd0c82
Compare
Choose a tag to compare

CTDirect v0.13.1

Diff since v0.13.0

  • added support for Knitro NLP solver (if installed): sol = direct_solve(ocp, :knitro)
  • added option to change the AD backend. In case of AD error messages, one may try a slower but less stringy backend: sol = direct_solve(ocp; adnlp_backend=:default)
  • added manual sparsity patterns for Hessian and Jacobian, that may be faster for large problem sizes (typically with higher order discretizations): sol = direct_solve(ocp; adnlp_backend=:manual)
  • default tolerance for NLP solver set to 1e-6 (previously 1e-8); value can still be set explicitely: sol = direct_solve(ocp; tol=1e-12)
  • added description of main options for direct_solve in API docs
  • default control type for IRK methods is now piecewise constant (previously linear)
  • less allocations for IRK methods

Merged pull requests:

Closed issues:

  • Linear solvers for Ipopt (#69)
  • One-line output for print_level=1 (#86)
  • Redo a pass on memory allocations (#169)
  • Pass sparse structure of constraints to NLPModels (#183)
  • Pb with zero in dyn rhs? (#190)
  • Move import / export functions to CTBase (#325)
  • put back inria runners (#334)

v0.13.0

13 Dec 11:17
d28e84d
Compare
Choose a tag to compare

CTDirect v0.13.0

Diff since v0.12.1

Main change for v0.13 is the discretization method option: in addition to the default trapeze method, one can chose the implicit midpoint or Gauss-Legendre collocation with 2 or 3 stages. Note that higher order methods typically increase the size of the discretized problem.

Current available options are:
disc_method = :trapeze [default] | :midpoint | :gauss_legendre_2 | :gauss_legendre_3

Merged pull requests:

v0.12.1

04 Dec 11:14
Compare
Choose a tag to compare

CTDirect v0.12.1

Diff since v0.12.0

Merged pull requests:

  • Bump peter-evans/create-pull-request from 3 to 6 (#223) (@dependabot[bot])
  • Bump actions/checkout from 2 to 4 (#225) (@dependabot[bot])
  • Added implicit midpoint discretization (#228) (@PierreMartinon)
  • update prof (#229) (@PierreMartinon)
  • CompatHelper: add new compat entry for Documenter at version 1 for package docs, (drop existing compat) (#247) (@github-actions[bot])
  • CompatHelper: add new compat entry for JSON3 at version 1 for package docs, (drop existing compat) (#248) (@github-actions[bot])
  • CompatHelper: add new compat entry for HSL at version 0.4 for package docs, (drop existing compat) (#249) (@github-actions[bot])
  • CompatHelper: add new compat entry for DocumenterMermaid at version 0.1 for package docs, (drop existing compat) (#250) (@github-actions[bot])
  • CompatHelper: add new compat entry for Plots at version 1 for package docs, (drop existing compat) (#251) (@github-actions[bot])
  • CompatHelper: add new compat entry for CTDirect at version 0.12 for package docs, (drop existing compat) (#252) (@github-actions[bot])
  • CompatHelper: add new compat entry for NLPModelsIpopt at version 0.10 for package docs, (drop existing compat) (#253) (@github-actions[bot])
  • CompatHelper: add new compat entry for JLD2 at version 0.4 for package docs, (drop existing compat) (#254) (@github-actions[bot])
  • CompatHelper: add new compat entry for CTBase at version 0.13 for package docs, (drop existing compat) (#255) (@github-actions[bot])
  • CompatHelper: add new compat entry for JLD2 at version 0.4 for package test, (drop existing compat) (#256) (@github-actions[bot])
  • CompatHelper: add new compat entry for Statistics at version 1 for package test, (drop existing compat) (#257) (@github-actions[bot])
  • CompatHelper: add new compat entry for CTBase at version 0.13 for package test, (drop existing compat) (#258) (@github-actions[bot])
  • CompatHelper: add new compat entry for MadNLP at version 0.8 for package test, (drop existing compat) (#259) (@github-actions[bot])
  • CompatHelper: add new compat entry for JSON3 at version 1 for package test, (drop existing compat) (#260) (@github-actions[bot])
  • CompatHelper: add new compat entry for NLPModelsIpopt at version 0.10 for package test, (drop existing compat) (#261) (@github-actions[bot])
  • CompatHelper: add new compat entry for HSL at version 0.4 for package test, (drop existing compat) (#262) (@github-actions[bot])
  • Bump pozil/auto-assign-issue from 1 to 2 (#263) (@dependabot[bot])
  • Bump actions/cache from 1 to 4 (#264) (@dependabot[bot])
  • CompatHelper: add new compat entry for SplitApplyCombine at version 1 for package test, (drop existing compat) (#266) (@github-actions[bot])
  • some renaming (#268) (@PierreMartinon)
  • updated solve_docp, DOCP (#274) (@PierreMartinon)
  • add aqua tests (#277) (@ocots)
  • CompatHelper: bump compat for JLD2 in [weakdeps] to 0.5, (drop existing compat) (#279) (@github-actions[bot])
  • CompatHelper: bump compat for JLD2 to 0.5 for package docs, (drop existing compat) (#280) (@github-actions[bot])
  • CompatHelper: bump compat for JLD2 to 0.5 for package test, (drop existing compat) (#281) (@github-actions[bot])
  • Bump peter-evans/create-pull-request from 6 to 7 (#282) (@dependabot[bot])
  • bugfix for midpoint (#284) (@PierreMartinon)
  • Update Breakage.yml (#293) (@ocots)
  • Update Breakage.yml (#294) (@ocots)
  • Bump actions/checkout from 3 to 4 (#296) (@dependabot[bot])
  • Inplace (#297) (@PierreMartinon)
  • midpoint is enabled again; cleanup old tests (#310) (@PierreMartinon)
  • enable windows in ci (#313) (@PierreMartinon)
  • inplace version with big vector for dynamics and fused operations for discretization (#318) (@PierreMartinon)
  • re enable coverage workflow (#319) (@PierreMartinon)
  • no allocs in state equation for trapeze (#320) (@PierreMartinon)
  • midpoint allocs ok (#321) (@PierreMartinon)
  • Bump codecov/codecov-action from 4 to 5 (#322) (@dependabot[bot])
  • Move import/export functions to CTBase (#328) (@PierreMartinon)

Closed issues:

  • Bring back CI test for windows (#95)
  • Use inplace when building the NLP model (#188)
  • [Dev] Aqua tests (#265)
  • Type solve_docp (#271)
  • Simplify solve_docp core (#272)

v0.12.0

27 Aug 00:06
931cb4f
Compare
Choose a tag to compare

CTDirect v0.12.0

Diff since v0.11.1

Merged pull requests:

Closed issues:

  • __display not defined (#199)
  • Add breakage (#207)
  • Compat CTBase.jl v0.13 (#215)

v0.11.1

09 Aug 14:50
23c7637
Compare
Choose a tag to compare

CTDirect v0.11.1

Diff since v0.11.0

  • added parsing of constraints multipliers
  • separate source files for tests problems
  • more streamlined OptimalControlSolution constructors

Merged pull requests:

Closed issues:

  • Adjoint (dynamics multipliers) parsing (#184)
  • Default linear solver (#194)

v0.11.0

08 Aug 14:50
99a469a
Compare
Choose a tag to compare

CTDirect v0.11.0

Diff since v0.10.0

Merged pull requests:

Closed issues:

  • Ocp, docp, nlp models... (#115)
  • Bug tf variable (#189)
  • Default grid size (#193)
  • Default values (#195)
  • New ExtensionError (#197)

v0.10.0

31 Jul 06:55
a9ae483
Compare
Choose a tag to compare

CTDirect v0.10.0

Diff since v0.9.6

Merged pull requests:

Closed issues:

  • Performance test (optimisation) (#61)

v0.9.6

25 Jul 14:40
Compare
Choose a tag to compare

CTDirect v0.9.6

Diff since v0.9.5

Merged pull requests:

Closed issues:

  • Move solve to OptimalControl.jl (#175)
  • Release v0.9.5 (#177)
  • Remove ct-registry (#178)

v0.9.5

15 Jul 16:18
b7de492
Compare
Choose a tag to compare

CTDirect v0.9.5

Diff since v0.9.4

Merged pull requests:

Closed issues:

  • Go to general registry 🤞 (#156)