Skip to content

Commit

Permalink
Paper Update II (#25)
Browse files Browse the repository at this point in the history
* Update bib

* Update bib and add first name

* Rmv file field
  • Loading branch information
AlCap23 authored Mar 15, 2024
1 parent ba53184 commit d0731e0
Show file tree
Hide file tree
Showing 2 changed files with 102 additions and 98 deletions.
196 changes: 100 additions & 96 deletions paper/bibliography.bib
Original file line number Diff line number Diff line change
@@ -1,95 +1,69 @@
@misc{ma2021modelingtoolkit,
title={ModelingToolkit: A Composable Graph Transformation System For Equation-Based Modeling},
author={Yingbo Ma and Shashi Gowda and Ranjan Anantharaman and Chris Laughman and Viral Shah and Chris Rackauckas},
year={2021},
eprint={2103.05244},
archivePrefix={arXiv},
primaryClass={cs.MS}
}

@article{bezanson2017julia,
author = {Bezanson, Jeff and Edelman, Alan and Karpinski, Stefan and Shah, Viral B.},
title = {Julia: A Fresh Approach to Numerical Computing},
journal = {SIAM Review},
volume = {59},
number = {1},
pages = {65-98},
year = {2017},
doi = {10.1137/141000671},
URL = {https://doi.org/10.1137/141000671},
eprint = {https://doi.org/10.1137/141000671}
title = {Julia: {{A Fresh Approach}} to {{Numerical Computing}}},
shorttitle = {Julia},
author = {Bezanson, Jeff and Edelman, Alan and Karpinski, Stefan and Shah, Viral B.},
year = {2017},
month = jan,
journal = {SIAM Rev.},
volume = {59},
number = {1},
pages = {65--98},
publisher = {{Society for Industrial and Applied Mathematics}},
issn = {0036-1445},
doi = {10.1137/141000671},
urldate = {2024-03-15},
abstract = {JuMP is an open-source modeling language that allows users to express a wide range of optimization problems (linear, mixed-integer, quadratic, conic-quadratic, semidefinite, and nonlinear) in a high-level, algebraic syntax. JuMP takes advantage of advanced features of the Julia programming language to offer unique functionality while achieving performance on par with commercial modeling tools for standard tasks. In this work we will provide benchmarks, present the novel aspects of the implementation, and discuss how JuMP can be extended to new problem classes and composed with state-of-the-art tools for visualization and interactivity.},
}

@software{vaibhav_kumar_dixit_2023_7738525,
author = {Vaibhav Kumar Dixit and Christopher Rackauckas},
month = mar,
publisher = {Zenodo},
title = {Optimization.jl: A Unified Optimization Package},
version = {v3.12.1},
doi = {10.5281/zenodo.7738525},
url = {https://doi.org/10.5281/zenodo.7738525},
year = 2023}

@Article{Waechter2006,
Title = {{O}n the {I}mplementation of an {I}nterior-{P}oint {F}ilter {L}ine-{S}earch {A}lgorithm for {L}arge-{S}cale {N}onlinear {P}rogramming},
Author = {A. W\"{a}chter and L.T. Biegler},
Journal = {{M}athematical {P}rogramming},
Year = {2006},
Number = {1},
Pages = {25--57},
Volume = {106},
doi = {10.1007/s10107-004-0559-y},

File = {:2006/Waechter2006.pdf:PDF},
Journal-iso = {Math. Program.},
Keywords = {interior point},
@article{rackauckas2017,
title = {{{DifferentialEquations}}.Jl -- a Performant and Feature-Rich Ecosystem for Solving Differential Equations in Julia},
author = {Rackauckas, Christopher and Nie, Qing},
year = {2017},
journal = {The Journal of Open Research Software},
volume = {5},
number = {1},
doi = {10.5334/jors.151},
keywords = {Applied Mathematics},
}

@Article{Sager2013,
Title = {{S}ampling {D}ecisions in {O}ptimum {E}xperimental {D}esign in the {L}ight of {P}ontryagin's {M}aximum {P}rinciple},
Author = {Sager, S.},
Journal = {{SIAM} Journal on Control and Optimization},
Year = {2013},
Number = {4},
Pages = {3181--3207},
Volume = {51},
doi = {10.1137/110835098},

File = {:2013/Sager2013.pdf:PDF},
Keywords = {mathopt, agbock, experimental design, optimal control, miocmathopt, mlmathopt},
Owner = {ssager},
Timestamp = {2011.05.30},
@misc{vaibhav_kumar_dixit_2023_7738525,
title = {Optimization.Jl: {{A}} Unified Optimization Package},
author = {Dixit, Vaibhav Kumar and Rackauckas, Christopher},
year = {2023},
month = mar,
doi = {10.5281/zenodo.7738525},
howpublished = {Zenodo},
}

@article{DifferentialEquations.jl-2017,
author = {Rackauckas, Christopher and Nie, Qing},
doi = {10.5334/jors.151},
journal = {The Journal of Open Research Software},
keywords = {Applied Mathematics},
note = {Exported from https://app.dimensions.ai on 2019/05/05},
number = {1},
pages = {},
title = {DifferentialEquations.jl – A Performant and Feature-Rich Ecosystem for Solving Differential Equations in Julia},
url = {https://app.dimensions.ai/details/publication/pub.1085583166 and http://openresearchsoftware.metajnl.com/articles/10.5334/jors.151/galley/245/download/},
volume = {5},
year = {2017}
@phdthesis{Koerkel2002,
title = {Numerische {{Methoden}} F{\"u}r {{Optimale Versuchsplanungsprobleme}} Bei Nichtlinearen {{DAE-Modellen}}},
author = {K{\"o}rkel, S.},
year = {2002},
address = {{Heidelberg}},
doi = {10.11588/heidok.00002980},
school = {Universit{\"a}t Heidelberg},
keywords = {agbock experimental design DAE},
}

@PhdThesis{Koerkel2002,
Title = {{N}umerische {M}ethoden f\"ur {O}ptimale {V}ersuchsplanungsprobleme bei nichtlinearen {DAE}-{M}odellen},
Author = {K{\"o}rkel, S.},
School = {Universit\"at {H}eidelberg},
Year = {2002},

Address = {Heidelberg},

File = {:2002/Koerkel2002.pdf:PDF},
Keywords = {agbock experimental design DAE},
@inproceedings{juniper,
title = {Juniper: {{An Open-Source Nonlinear Branch-and-Bound Solver}} in {{Julia}}},
shorttitle = {Juniper},
booktitle = {Integration of {{Constraint Programming}}, {{Artificial Intelligence}}, and {{Operations Research}}},
author = {Kr{\"o}ger, Ole and Coffrin, Carleton and Hijazi, Hassan and Nagarajan, Harsha},
editor = {{van Hoeve}, Willem-Jan},
year = {2018},
pages = {377--386},
publisher = {{Springer International Publishing}},
address = {{Cham}},
doi = {10.1007/978-3-319-93031-2_27},
abstract = {Nonconvex mixed-integer nonlinear programs (MINLPs) represent a challenging class of optimization problems that often arise in engineering and scientific applications. Because of nonconvexities, these programs are typically solved with global optimization algorithms, which have limited scalability. However, nonlinear branch-and-bound has recently been shown to be an effective heuristic for quickly finding high-quality solutions to large-scale nonconvex MINLPs, such as those arising in infrastructure network optimization. This work proposes Juniper, a Julia-based open-source solver for nonlinear branch-and-bound. Leveraging the high-level Julia programming language makes it easy to modify Juniper's algorithm and explore extensions, such as branching heuristics, feasibility pumps, and parallelization. Detailed numerical experiments demonstrate that the initial release of Juniper is comparable with other nonlinear branch-and-bound solvers, such as Bonmin, Minotaur, and Knitro, illustrating that Juniper provides a strong foundation for further exploration in utilizing nonlinear branch-and-bound algorithms as heuristics for nonconvex MINLPs.},
isbn = {978-3-319-93031-2},
langid = {english},
}

@article{Li2000SensitivityAnalysisDifferential,
title = {Sensitivity Analysis of Differential\textendash Algebraic Equations: {{A}} Comparison of Methods on a Special Problem},
shorttitle = {Sensitivity Analysis of Differential\textendash Algebraic Equations},
title = {Sensitivity Analysis of {{Differential}}--{{Algebraic}} Equations: {{A}} Comparison of Methods on a Special Problem},
shorttitle = {Sensitivity Analysis of {{Differential}}--{{Algebraic}} Equations},
author = {Li, Shengtai and Petzold, Linda and Zhu, Wenjie},
year = {2000},
month = feb,
Expand All @@ -100,23 +74,53 @@ @article{Li2000SensitivityAnalysisDifferential
issn = {0168-9274},
doi = {10.1016/S0168-9274(99)00020-3},
urldate = {2023-06-14},
abstract = {We compare several methods for sensitivity analysis of differential\textendash algebraic equations (DAEs). Computational complexity, efficiency and numerical conditioning issues are discussed. Numerical results for a chemical kinetics problem arising in model reduction are presented.},
abstract = {We compare several methods for sensitivity analysis of differential--algebraic equations (DAEs). Computational complexity, efficiency and numerical conditioning issues are discussed. Numerical results for a chemical kinetics problem arising in model reduction are presented.},
langid = {english},
keywords = {Automatic differentiation,Differential\textendash algebraic equations,Sensitivity analysis},
}

@InProceedings{juniper,
author="Kr{\"o}ger, Ole
and Coffrin, Carleton
and Hijazi, Hassan
and Nagarajan, Harsha",
editor="van Hoeve, Willem-Jan",
title="Juniper: An Open-Source Nonlinear Branch-and-Bound Solver in Julia",
booktitle="Integration of Constraint Programming, Artificial Intelligence, and Operations Research",
year="2018",
publisher="Springer International Publishing",
address="Cham",
pages="377--386",
abstract="Nonconvex mixed-integer nonlinear programs (MINLPs) represent a challenging class of optimization problems that often arise in engineering and scientific applications. Because of nonconvexities, these programs are typically solved with global optimization algorithms, which have limited scalability. However, nonlinear branch-and-bound has recently been shown to be an effective heuristic for quickly finding high-quality solutions to large-scale nonconvex MINLPs, such as those arising in infrastructure network optimization. This work proposes Juniper, a Julia-based open-source solver for nonlinear branch-and-bound. Leveraging the high-level Julia programming language makes it easy to modify Juniper's algorithm and explore extensions, such as branching heuristics, feasibility pumps, and parallelization. Detailed numerical experiments demonstrate that the initial release of Juniper is comparable with other nonlinear branch-and-bound solvers, such as Bonmin, Minotaur, and Knitro, illustrating that Juniper provides a strong foundation for further exploration in utilizing nonlinear branch-and-bound algorithms as heuristics for nonconvex MINLPs.",
isbn="978-3-319-93031-2"
}
@misc{ma2021modelingtoolkit,
title = {{{ModelingToolkit}}: {{A Composable Graph Transformation System For Equation-Based Modeling}}},
shorttitle = {{{ModelingToolkit}}},
author = {Ma, Yingbo and Gowda, Shashi and Anantharaman, Ranjan and Laughman, Chris and Shah, Viral and Rackauckas, Chris},
year = {2022},
month = feb,
number = {arXiv:2103.05244},
eprint = {2103.05244},
primaryclass = {cs},
publisher = {{arXiv}},
doi = {10.48550/arXiv.2103.05244},
urldate = {2024-03-15},
abstract = {Getting good performance out of numerical equation solvers requires that the user has provided stable and efficient functions representing their model. However, users should not be trusted to write good code. In this manuscript we describe ModelingToolkit (MTK), a symbolic equation-based modeling system which allows for composable transformations to generate stable, efficient, and parallelized model implementations. MTK blurs the lines of traditional symbolic computing by acting directly on a user's numerical code. We show the ability to apply graph algorithms for automatically parallelizing and performing index reduction on code written for differential-algebraic equation (DAE) solvers, "fixing" the performance and stability of the model without requiring any changes to on the user's part. We demonstrate how composable model transformations can be combined with automated data-driven surrogate generation techniques, allowing machine learning methods to generate accelerated approximate models within an acausal modeling framework. These reduced models are shown to outperform the Dymola Modelica compiler on an HVAC model by 590x at 3{\textbackslash}\% error. Together, this demonstrates MTK as a system for bringing the latest research in graph transformations directly to modeling applications.},
archiveprefix = {arxiv},
}

@article{Sager2013,
title = {Sampling {{Decisions}} in {{Optimum Experimental Design}} in the {{Light}} of {{Pontryagin}}'s {{Maximum Principle}}},
author = {Sager, Sebastian},
year = {2013},
month = jan,
journal = {SIAM J. Control Optim.},
volume = {51},
number = {4},
pages = {3181--3207},
issn = {0363-0129, 1095-7138},
doi = {10.1137/110835098},
urldate = {2023-11-06},
abstract = {Optimum experimental design (OED) problems are optimization problems in which an experimental setting and decisions on when to measure---the so-called sampling design---are to be determined such that a follow-up parameter estimation yields accurate results for model parameters. In this paper we use the interpretation of OED as optimal control problems with a very particular structure for the analysis of optimal sampling decisions. We introduce the information gain function, motivated by an analysis of necessary conditions of optimality. We highlight differences between problem formulations and propose to use a linear penalization of sampling decisions to overcome the intrinsic ill-conditioning of OED. The results of this paper are independent from the actual numerical method to compute the solution to the OED problem and of the question of local and global optima.},
langid = {english},
keywords = {agbock,experimental design,mathopt,miocmathopt,mlmathopt,optimal control},
}

@article{Waechter2006,
title = {On the {{Implementation}} of an {{Interior-Point Filter Line-Search Algorithm}} for {{Large-Scale Nonlinear Programming}}},
author = {W{\"a}chter, A. and Biegler, L.T.},
year = {2006},
journal = {Mathematical Programming},
volume = {106},
number = {1},
pages = {25--57},
doi = {10.1007/s10107-004-0559-y},
journal-iso = {Math. Program.},
keywords = {interior point},
}
4 changes: 2 additions & 2 deletions paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ tags:
- experimental design
- parameter estimation
authors:
- name: Julius Martensen
- name: Carl Julius Martensen
equal-contrib: true # (This is how you can denote equal contributions between multiple authors)
orcid: 0000-0003-4143-3040
corresponding : true
Expand Down Expand Up @@ -67,7 +67,7 @@ where $\mathcal{T} = [t_0, t_f]$ is the fixed time horizon and $x : \mathcal{T}

For more information on optimal experimental design for DAEs and their sensitivity analysis, we refer to [@Koerkel2002; @Li2000SensitivityAnalysisDifferential].

The functionality in this package integrates into Julia's [`SciML`](https://sciml.ai/) ecosystem. The model is provided in symbolic form as an `ODESystem` using `ModelingToolkit.jl`[@ma2021modelingtoolkit] with additional frequency information for the observed and control variables. Both ODE or DAE systems can be provided. `DynamicOED.jl` augments the given system symbolically with its sensitivity equations and the dynamics of the FIM. The resulting system together with a sufficient information criterion defines an `OEDProblem`. Here, all sampling and control decisions are discretized in time and can be used to model additional constraints. At last, the `OEDProblem` can be transformed into an `OptimizationProblem` as a sufficient input to `Optimization.jl` [@vaibhav_kumar_dixit_2023_7738525]. Here, a variety of optimization solvers for nonlinear programming and mixed-integer nonlinear programming available as additional backends, e.g. `Juniper` [@juniper] or `Ipopt` [@Waechter2006]. A simple example demonstrates the usage of `DynamicOED.jl` for the Lotka-Volterra system [@Sager2013].
The functionality in this package integrates into Julia's [`SciML`](https://sciml.ai/) ecosystem. The model is provided in symbolic form as an `ODESystem` using `ModelingToolkit.jl`[@ma2021modelingtoolkit] with additional frequency information for the observed and control variables. Both ODE or DAE systems can be provided. `DynamicOED.jl` augments the given system symbolically with its sensitivity equations and the dynamics of the FIM. The resulting system together with a sufficient information criterion defines an `OEDProblem`, solveable using `DifferentialEquations.jl` [@rackauckas2017]. Here, all sampling and control decisions are discretized in time and can be used to model additional constraints. At last, the `OEDProblem` can be transformed into an `OptimizationProblem` as a sufficient input to `Optimization.jl` [@vaibhav_kumar_dixit_2023_7738525]. Here, a variety of optimization solvers for nonlinear programming and mixed-integer nonlinear programming available as additional backends, e.g. `Juniper` [@juniper] or `Ipopt` [@Waechter2006]. A simple example demonstrates the usage of `DynamicOED.jl` for the Lotka-Volterra system [@Sager2013].

\autoref{fig:lotka} shows the solution of the example above including the differential states, sensitivities $G$ and the sampling decisions $w$. More examples can be found in the [documentation](https://mathopt.github.io/DynamicOED.jl/dev/).

Expand Down

0 comments on commit d0731e0

Please sign in to comment.