Opened 4 years ago
Closed 2 years ago
#3073 closed enhancement (done)
Constraints and Splitting for Interval Arithmetic
Reported by: | chaider | Owned by: | gkronber |
---|---|---|---|
Priority: | medium | Milestone: | HeuristicLab 3.3.17 |
Component: | Problems.DataAnalysis | Version: | trunk |
Keywords: | Cc: |
Description
Extend the current interval arithmetic
- Add shape constraints to define constraints over the model and its partial derivatives
- Add splitting for intervals to reduce the overestimation of boundaries
Change History (79)
comment:1 Changed 4 years ago by chaider
- Status changed from new to accepted
comment:2 Changed 4 years ago by chaider
- Added DataAnalysis.Symbolic (Corrected path)
- Changed includes/paths
- Added solution
comment:3 Changed 4 years ago by chaider
r17591 Added Problems.DataAnalysis and Problems.DataAnalysis.Views
comment:4 Changed 4 years ago by chaider
r17607 Added classes/views to define constraints
comment:5 Changed 4 years ago by chaider
- Added interval grammar for fixed scaling
- Changed formatting
- Fixed typos
comment:6 Changed 4 years ago by chaider
- Added splitting parameter in IntervalInterpreter
- Added methods for spitting in Interval class
- Fixed some typos and other minor changes
comment:7 Changed 4 years ago by chaider
r17637 Changed variable ranges to readonly at GetIntervals methods
comment:8 Changed 4 years ago by chaider
- Added HyperbolicTangent as known symbol to IntervalInterpreter and DerivativeCalculator
- Removed Cube- and Cuberoot-Symbol from IntervalArithmeticGrammar and set Power- and Root-Symbol to disabled
- Added HyperbolicTangent as known symbol to IntervalInterpreter and DerivativeCalculator
- Removed Cube- and Cuberoot-Symbol from IntervalArithmeticGrammar and set Power- and Root-Symbol to disabled
comment:9 Changed 4 years ago by chaider
r17651 Persistence fixes
comment:10 Changed 4 years ago by dpiringe
- added regions in IntervalConstraint
- modified IntervalConstraintsParser to detect regions
comment:11 Changed 4 years ago by dpiringe
- added a weight property for constraints (to have a weight multiplier for errors) in IntervalConstraint
- modified IntervalConstraintsParser to detect weights
comment:12 Changed 4 years ago by dpiringe
- added a check in Interval/IntervalConstraintsParser to throw an exception for multiple variables with the same key
comment:13 Changed 4 years ago by chaider
r17742 Added smart splitting method to interpreter
comment:14 Changed 4 years ago by gkronber
r17756: suggested refactoring / fix for splitting algorithm
comment:15 Changed 4 years ago by gkronber
r17757:17758: change sorting order for BoxBound
comment:16 Changed 4 years ago by chaider
- Split only variables occuring more than once in the model
- Fixed returning interval from splitting method
comment:17 Changed 4 years ago by chaider
r17763 Added interface for bound estimators and added an IABoundEstimator
comment:18 Changed 4 years ago by dpiringe
- added new class Region and refactored the relevant code in IntervalConstraint and IntervalConstraintsParser
- added the .editorconfig file from trunk (to satisfy the coding guidelines)
comment:19 Changed 4 years ago by dpiringe
- fixed a bug which caused a NullPointerException
- added a storable constructor in Region
comment:20 Changed 4 years ago by chaider
- Removed Region class and used IntervallCollection instead
- Changed Parser to work with IntervalColletions
- Moved CheckConstraint methods from Analyzer to IntervalUtil class
- Added CheckConstraint method to interface to check if an interval is in a given constraint
- Added possibility to stop splitting as soon as a constraint is fulfiled
comment:21 Changed 4 years ago by chaider
r17773 Fixed error calculation in IABoundsEstimator
comment:22 Changed 4 years ago by gkronber
r17780: added (limited) support for power symbol (only for integer exponents)
comment:23 Changed 4 years ago by chaider
r17790 Merged trunk into branch
comment:24 Changed 4 years ago by dpiringe
- removed the weight multiplication in IntervalUtil -> should not be calculated in this method
comment:25 Changed 4 years ago by mkommend
r17793: Merged trunk changes into the branch.
comment:26 Changed 4 years ago by gkronber
comment:27 Changed 4 years ago by gkronber
r17800: fixed bug in derivation of power function
comment:28 Changed 4 years ago by gkronber
comment:29 Changed 4 years ago by chaider
r17818 Allow comma as decimal seperator
comment:30 Changed 4 years ago by chaider
r17822 Fixed double parsing
comment:31 Changed 4 years ago by gkronber
r17827: merged r17811:17826 from trunk to branch
comment:32 Changed 4 years ago by gkronber
comment:33 Changed 4 years ago by gkronber
comment:34 Changed 4 years ago by gkronber
comment:35 Changed 4 years ago by chaider
- Added AQ to IntervalArithmeticGrammar
- Fixed bug in IABoundsEstimator
comment:36 Changed 4 years ago by chaider
r17881 Removed unused code
comment:37 Changed 4 years ago by chaider
r17885 renamed branch for reintegration
comment:38 Changed 4 years ago by chaider
r17886 made a copy of the reintegration branch to keep splitting code (which will be removed for reintegration)
comment:39 Changed 4 years ago by chaider
r17887 intermediate comment while refactoring the branch
comment:40 Changed 4 years ago by chaider
r17890 intermediate commit while refactoring
comment:41 Changed 4 years ago by gkronber
r17891: refactoring to prepare for trunk reintegration
comment:42 Changed 4 years ago by chaider
r17893 Added changes for reintegration
comment:43 Changed 4 years ago by chaider
r17894 moved views into Regression folder because they are only used within RegressionProblemData
comment:44 Changed 4 years ago by chaider
r17895 renamed IntervalConstraintView -> ShapeConstraintView
comment:45 Changed 4 years ago by chaider
r17896 refactoring to prepare for trunk integration
comment:46 Changed 4 years ago by chaider
r17902 merged reintegration branch to trunk
comment:47 Changed 4 years ago by chaider
r17905 deleted reintegration branch
comment:48 Changed 4 years ago by chaider
r17906 bugfixing
comment:49 Changed 4 years ago by gkronber
TODO:
ShapeConstraintsView shows warning about "Unparsed changes" when opening the viewLabel about "Unparsed changes" is moved behind parse button when the view is not wide enoughException wenn "OptimizeParameters = false" in NMSE Evaluator with constraintsMaximization array in MultiObjectiveEvaluator should use the Maximization flag from problem insteadMaximization should be automatically updated when constraints are changed (added, removed, enabled, disabled)rounding for constraint violation values in multi-objective evaluatorline spaces in help for shape constraints (.rtf file)Data Preprocessing View cannot be opened- It seems the variable intervals are lost when solutions are combined to an ensemble (use Cross-validation to test this)
Add a new class ShapeConstrainedRegressionProblemData derived from RegressionProblemDataPrepare a sample for shape-constrained symbolic regression with GP
comment:50 Changed 4 years ago by chaider
- Set cloning constructor to protected in IntervalArithCompiledExpressionBoundsEstimator
- Add Content == null handle in the OnContentChanged in ShapeConstraintView
comment:51 Changed 4 years ago by chaider
r17908 Changed Interval tests, set delta to check bounds against each other
comment:52 Changed 4 years ago by gkronber
r17909 also change storable ctor for IntervalArithCompiledExpressionBoundsEstimator to protected
comment:53 Changed 4 years ago by chaider
r17910 Worked on todos: resource file update, added constraints with checked state into list, fixed constructor
comment:54 Changed 4 years ago by gkronber
r17911 code improvements after reintegration of branch
comment:55 Changed 4 years ago by gkronber
r17912 improved help message.
comment:56 Changed 4 years ago by gkronber
r17913: fixed build fail of test solution
comment:57 Changed 4 years ago by chaider
r17914 Fixed check for scaling nodes in ConstraintsEvaluators
comment:58 Changed 4 years ago by chaider
r17927 Updated ShapeConstraintsView Design/Layout
comment:59 Changed 4 years ago by chaider
r17937 Minor changes to views
comment:60 Changed 4 years ago by gkronber
r17958: refactoring ShapeConstrainedRegressionProblem as discussed with MKo and CHa
comment:61 Changed 4 years ago by gkronber
@Christian
- please re-create the sample (it didn't work)
- please check the ShapeConstraintView again.
comment:62 Changed 4 years ago by gkronber
r17960: moved files
comment:63 Changed 4 years ago by gkronber
r17961: propagate variableRanges from ShapeConstrainedRegressionProblemData to RegressionProblemData
comment:64 Changed 4 years ago by chaider
r17964 Added sample on start page and default problem in shape constrained regression problem data
comment:65 Changed 4 years ago by chaider
r17965 Added constraints for ShapeConstraintsSampleTest and fixed values
comment:66 Changed 4 years ago by chaider
r17968 Added different values in test case for x64/86 environments
comment:67 Changed 4 years ago by gkronber
- Version changed from branch to trunk
r17981: fixed bugs in ShapeConstrainedRegressionProblemData
comment:68 Changed 4 years ago by gkronber
- Owner changed from chaider to gkronber
- Status changed from accepted to reviewing
comment:69 Changed 4 years ago by gkronber
r17982: fix build fail
comment:70 Changed 3 years ago by gkronber
comment:71 Changed 3 years ago by gkronber
Also tracks changes from #3076
comment:72 Changed 3 years ago by chaider
Include chnages from #3130
comment:73 Changed 3 years ago by chaider
r18034 Moved VariableRanges from RegressionProblemData to DataAnalysisProblemData to make it also available in classification problems
comment:74 Changed 3 years ago by gkronber
r18107: changed ProblemData loading of IShapeConstrainedRegressionProblems to make sure we can also load ShapeConstrainedRegressionProblemData objects correctly without losing shape constraints
comment:75 Changed 3 years ago by gkronber
r18108: actually use variable ranges specified in the constructor
comment:76 Changed 3 years ago by gkronber
r18110 fix syntax problem for C# 7.0
comment:77 Changed 3 years ago by gkronber
r18111: fix exception when no variableRanges are given in the ctor for ShapeConstrainedRegressionProblemData
comment:78 Changed 2 years ago by gkronber
- Status changed from reviewing to readytorelease
Closed on github.
comment:79 Changed 2 years ago by gkronber
- Resolution set to done
- Status changed from readytorelease to closed
r17589 Added branch