Opened 2 years ago
Last modified 2 years ago
#2994 accepted feature request
AutoDiff support for interval calculation
Reported by: | gkronber | Owned by: | gkronber |
---|---|---|---|
Priority: | medium | Milestone: | HeuristicLab 3.3.x Backlog |
Component: | Problems.DataAnalysis.Symbolic | Version: | branch |
Keywords: | Cc: |
Description (last modified by gkronber)
Support for interval arithmetic has been added in #2966.
This allows us to calculate an approximation for the value range when expressions are evaluated. We want to consider the output interval also within optimization of numeric parameters of models. Therefore, we need to be able to calculate gradients for intervals.
Changes in this ticket include our own implementation of automatic differentiation (AutoDiff) for symbolic expressions with support for the BatchInterpreter and the IntervalInterpreter.
Change History (33)
comment:1 Changed 2 years ago by gkronber
- Status changed from new to accepted
comment:2 Changed 2 years ago by gkronber
- Description modified (diff)
comment:3 Changed 2 years ago by gkronber
comment:4 Changed 2 years ago by gkronber
r16674: worked on AutoDiff implementation based on BatchInterpreter
comment:5 Changed 2 years ago by gkronber
r16682: worked on auto diff for intervals and vectors
comment:6 Changed 2 years ago by gkronber
- Description modified (diff)
comment:7 Changed 2 years ago by gkronber
- Description modified (diff)
comment:8 Changed 2 years ago by gkronber
comment:9 Changed 2 years ago by gkronber
r16686: changed Double -> double
comment:10 Changed 2 years ago by mkommend
What about prefixing each algebraic type with algebraic to have a clear indication of which types can be used in interpreters?
e.g. Double -> AlgebraicDouble
comment:11 Changed 2 years ago by gkronber
r16693: worked on implementations of remaining methods for IAlgebraicType
comment:12 Changed 2 years ago by gkronber
r16694: implemented remaining methods for IAlgebraicType and changed formatting
comment:13 Changed 2 years ago by gkronber
r16695: renamed classes Algebraic..., added DebuggerDisplay attributes to simplify debugging. Fixed bugs in static methods for Algebraic
comment:14 Changed 2 years ago by gkronber
r16696: added a separate plugin with an algorithm for constrained non-linear regression
comment:15 Changed 2 years ago by gkronber
comment:16 Changed 2 years ago by gkronber
r16698: fixed version of HeuristicLab.Random plugin
comment:17 Changed 2 years ago by gkronber
r16727: added a unit test and made some minor improvements to interpretation of trees
comment:18 Changed 2 years ago by gkronber
r16738: another unit test, smaller fixes and checks for invalid parameters
comment:19 Changed 2 years ago by gkronber
r16739: merged r16670:16737 from trunk to branch
comment:20 Changed 2 years ago by gkronber
comment:21 Changed 2 years ago by gkronber
r16744: slightly changed calculation of integer powers for intervals and added unit tests.
comment:22 Changed 2 years ago by gkronber
r16829: merged changesets r16740:16822 from trunk to branch
comment:23 Changed 2 years ago by gkronber
r16831: made required changes to work with current trunk
comment:24 Changed 2 years ago by gkronber
r16911: merged r16839:16910 from trunk to branch
comment:25 Changed 2 years ago by gkronber
r16912: added a new plugin for extension classes based on new functionality in this branch and added an evaluator that uses new AutoDiff
comment:26 Changed 2 years ago by gkronber
r16913: svn:ignore
comment:27 Changed 2 years ago by gkronber
r16914: implemented a first version of an evaluator with const opt and constraints for intervals
comment:28 Changed 2 years ago by gkronber
r16915: add boundary constraints and threshold for epsx hoping to prevent endless loop in alglib, add optimization of variable weights
comment:29 Changed 2 years ago by gkronber
r16941: make branch compile with NamedIntervals branch, disable alglib optguard, copylocal = false
comment:30 Changed 2 years ago by gkronber
r16943: merge r16933:16942 from trunk to branch
comment:31 Changed 2 years ago by gkronber
r17120: merged r17007:17118 from trunk to branch
comment:32 Changed 2 years ago by gkronber
r17130: merged r17121:17128 from trunk to branch
comment:33 Changed 2 years ago by gkronber
r17131: added support for tanh symbol in new interpreters
r16671: created branch for ticket.