DynamicOED.jl

DynamicOED.jl: A Julia package for solving optimum experimental design problems - Published in JOSS (2024)

https://github.com/mathopt/dynamicoed.jl

Science Score: 95.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    1 of 3 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

mixed-integer-programming optimal-control optimal-experimental-design sciml
Last synced: 4 months ago · JSON representation

Repository

Optimal experimental design of ODE and DAE systems in julia

Basic Info
Statistics
  • Stars: 11
  • Watchers: 1
  • Forks: 0
  • Open Issues: 12
  • Releases: 3
Topics
mixed-integer-programming optimal-control optimal-experimental-design sciml
Created about 2 years ago · Last pushed 5 months ago
Metadata Files
Readme License

README.md

DynamicOED.jl

Latest Docs Aqua QA SciML Code Style Lifecycle:Experimental Build Status ColPrac: Contributor's Guide on Collaborative Practices for Community Packages DOI

Repository for optimal experimental design for differential equations using optimal control.

DynamicOED.jl uses multiple packages of Julia's SciML ecosystem, especially ModelingToolkit.jl, DifferentialEquations.jl and Optimization.jl to define optimal experimental design problems using optimal control.

Features

  • Currently we support Ordinary Differential Equations and Differential Algebraic Equations.
  • Relaxed and Integer formulations of the underlying problem
  • Unknown initial conditions
  • Continuous and discrete controls (in terms of the variable)
  • Variable (measurement) rates for observed and control variables
  • Custom constraints

Example

```julia using DynamicOED using ModelingToolkit using Optimization, OptimizationMOI, Ipopt

Define the differential equations

@variables t @variables x(t)=1.0 [description = "State"] @parameters p[1:1]=-2.0 [description = "Fixed parameter", tunable = true] @variables obs(t) [description = "Observed", measurement_rate = 10] D = Differential(t)

@named simple_system = ODESystem([ D(x) ~ p[1] * x, ], tspan = (0.0, 1.0), observed = obs .~ [x.^2])

@named oed = OEDSystem(simplesystem) oed = structuralsimplify(oed)

Augment the original problem to an OED problem

oedproblem = OEDProblem(structuralsimplify(oed), FisherACriterion())

Define an MTK Constraint system over the grid variables

optimizationvariables = states(oedproblem)

constraintequations = [ sum(optimizationvariables.measurements.w₁) ≲ 3, ]

@named constraintset = ConstraintsSystem(constraintequations, optimization_variables, Num[])

Initialize the optimization problem

optimizationproblem = OptimizationProblem(oedproblem, AutoForwardDiff(), constraints = constraintset, integerconstraints = false)

Solven for the optimal values of the observed variables

solve(optimization_problem, Ipopt.Optimizer()) ```

Owner

  • Name: MathOpt
  • Login: mathopt
  • Kind: organization
  • Location: Germany

Research Group of Prof. Dr. Sebastian Sager

JOSS Publication

DynamicOED.jl: A Julia package for solving optimum experimental design problems
Published
June 19, 2024
Volume 9, Issue 98, Page 6605
Authors
Carl Julius Martensen ORCID
Otto von Guericke University Magdeburg, Germany
Christoph Plate ORCID
Otto von Guericke University Magdeburg, Germany
Sebastian Sager ORCID
Otto von Guericke University Magdeburg, Germany
Editor
Patrick Diehl ORCID
Tags
optimization experimental design parameter estimation

GitHub Events

Total
  • Watch event: 2
  • Create event: 282
Last Year
  • Watch event: 2
  • Create event: 282

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 115
  • Total Committers: 3
  • Avg Commits per committer: 38.333
  • Development Distribution Score (DDS): 0.435
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
JuliusMartensen j****n@g****m 65
Christoph Plate c****e@o****e 49
Daniel S. Katz d****z@i****g 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 16
  • Total pull requests: 17
  • Average time to close issues: about 15 hours
  • Average time to close pull requests: 2 days
  • Total issue authors: 4
  • Total pull request authors: 3
  • Average comments per issue: 1.69
  • Average comments per pull request: 0.29
  • Merged pull requests: 14
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • AlCap23 (13)
  • KBodolai (1)
  • joshuaeh (1)
  • JuliaTagBot (1)
Pull Request Authors
  • AlCap23 (20)
  • chplate (4)
  • danielskatz (2)
Top Labels
Issue Labels
enhancement (4) housekeeping (2) documentation (2) bug (2) help wanted (1)
Pull Request Labels
enhancement (2) bug (2)

Packages

  • Total packages: 1
  • Total downloads:
    • julia 1 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 3
juliahub.com: DynamicOED

Optimal experimental design of ODE and DAE systems in julia

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 1 Total
Rankings
Dependent repos count: 10.0%
Average: 25.2%
Dependent packages count: 40.4%
Last synced: 4 months ago

Dependencies

.github/workflows/CI.yml actions
  • actions/cache v3 composite
  • actions/checkout v4 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/CompatHelper.yml actions
.github/workflows/Documentation.yml actions
  • actions/checkout v4 composite
  • julia-actions/cache v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/FormatCheck.yml actions
  • actions/checkout v4 composite
  • julia-actions/setup-julia latest composite
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite