Opened 9 days ago

Last modified 2 days 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.

(Depends on #2966, #2958, #2435 (alglib 3.15.0), #2971)

Change History (16)

comment:1 Changed 9 days ago by gkronber

  • Status changed from new to accepted

r16671: created branch for ticket.

comment:2 Changed 9 days ago by gkronber

  • Description modified (diff)

comment:3 Changed 9 days ago by gkronber

r16673: merged r16672 from trunk to branch

comment:4 Changed 9 days ago by gkronber

r16674: worked on AutoDiff implementation based on BatchInterpreter

comment:5 Changed 8 days ago by gkronber

r16682: worked on auto diff for intervals and vectors

comment:6 Changed 8 days ago by gkronber

  • Description modified (diff)

comment:7 Changed 8 days ago by gkronber

  • Description modified (diff)

comment:8 Changed 8 days ago by gkronber

To work with this branch you first need to build trunk and then build the branch #2435 and the branch #2971 (override selected dlls in bin with new features from branches)

comment:9 Changed 7 days ago by gkronber

r16686: changed Double -> double

comment:10 Changed 6 days 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 days ago by gkronber

r16693: worked on implementations of remaining methods for IAlgebraicType

comment:12 Changed 2 days ago by gkronber

r16694: implemented remaining methods for IAlgebraicType and changed formatting

comment:13 Changed 2 days ago by gkronber

r16695: renamed classes Algebraic..., added DebuggerDisplay attributes to simplify debugging. Fixed bugs in static methods for Algebraic

comment:14 Changed 2 days ago by gkronber

r16696: added a separate plugin with an algorithm for constrained non-linear regression

comment:15 Changed 2 days ago by gkronber

r16697: missing files for r16696 (+ svn:ignore)

comment:16 Changed 2 days ago by gkronber

r16698: fixed version of HeuristicLab.Random plugin

Note: See TracTickets for help on using tickets.