Opened 11 months ago
Last modified 6 months 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 11 months ago by gkronber
- Status changed from new to accepted
comment:2 Changed 11 months ago by gkronber
- Description modified (diff)
comment:3 Changed 11 months ago by gkronber
comment:4 Changed 10 months ago by gkronber
r16674: worked on AutoDiff implementation based on BatchInterpreter
comment:5 Changed 10 months ago by gkronber
r16682: worked on auto diff for intervals and vectors
comment:6 Changed 10 months ago by gkronber
- Description modified (diff)
comment:7 Changed 10 months ago by gkronber
- Description modified (diff)
comment:8 Changed 10 months ago by gkronber
comment:9 Changed 10 months ago by gkronber
r16686: changed Double -> double
comment:10 Changed 10 months 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 10 months ago by gkronber
r16693: worked on implementations of remaining methods for IAlgebraicType
comment:12 Changed 10 months ago by gkronber
r16694: implemented remaining methods for IAlgebraicType and changed formatting
comment:13 Changed 10 months ago by gkronber
r16695: renamed classes Algebraic..., added DebuggerDisplay attributes to simplify debugging. Fixed bugs in static methods for Algebraic
comment:14 Changed 10 months ago by gkronber
r16696: added a separate plugin with an algorithm for constrained non-linear regression
comment:15 Changed 10 months ago by gkronber
comment:16 Changed 10 months ago by gkronber
r16698: fixed version of HeuristicLab.Random plugin
comment:17 Changed 10 months ago by gkronber
r16727: added a unit test and made some minor improvements to interpretation of trees
comment:18 Changed 10 months ago by gkronber
r16738: another unit test, smaller fixes and checks for invalid parameters
comment:19 Changed 10 months ago by gkronber
r16739: merged r16670:16737 from trunk to branch
comment:20 Changed 10 months ago by gkronber
comment:21 Changed 10 months ago by gkronber
r16744: slightly changed calculation of integer powers for intervals and added unit tests.
comment:22 Changed 9 months ago by gkronber
r16829: merged changesets r16740:16822 from trunk to branch
comment:23 Changed 9 months ago by gkronber
r16831: made required changes to work with current trunk
comment:24 Changed 9 months ago by gkronber
r16911: merged r16839:16910 from trunk to branch
comment:25 Changed 9 months 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 9 months ago by gkronber
r16913: svn:ignore
comment:27 Changed 9 months ago by gkronber
r16914: implemented a first version of an evaluator with const opt and constraints for intervals
comment:28 Changed 9 months 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 9 months ago by gkronber
r16941: make branch compile with NamedIntervals branch, disable alglib optguard, copylocal = false
comment:30 Changed 9 months ago by gkronber
r16943: merge r16933:16942 from trunk to branch
comment:31 Changed 7 months ago by gkronber
r17120: merged r17007:17118 from trunk to branch
comment:32 Changed 6 months ago by gkronber
r17130: merged r17121:17128 from trunk to branch
comment:33 Changed 6 months ago by gkronber
r17131: added support for tanh symbol in new interpreters
r16671: created branch for ticket.