Constraint Solver Floating Point Domain Splitting Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Constraint satisfaction problems involving floating point variables with large domains often require numerous domain splits, leading to slow convergence and inefficient solution finding due to the large number of splits needed to assign a single value.
Innovation Solution
The solver optimizes the assignment of floating point variables by first attempting to assign a predetermined value, such as 0 or a domain boundary, before performing domain splitting, thereby reducing the need for dichotomic splits and improving convergence efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If domain splitting is performed for floating point variables with large domains, then a value can be assigned to the variable, but the number of splits required increases significantly, leading to slow convergence
Solution Approach 1:
The solver performs preliminary actions by first attempting to assign predetermined values (such as 0 or domain boundary values) before initiating domain splitting. This preliminary value assignment attempt can succeed immediately without requiring multiple splits, thereby reducing the total number of splits needed and accelerating convergence for floating point variables with large domains.
2Manufacturing precision
If numerous domain splits are performed to assign a single value to a floating point variable, then the variable can be assigned a value, but the solution finding process becomes inefficient
Solution Approach 1:
The solver attempts preliminary value assignment with predetermined values before performing domain splitting. This preliminary action can successfully assign values to floating point variables without requiring numerous splits, thereby maintaining high manufacturing precision while significantly improving solution finding efficiency by reducing the number of iterative splits needed.
Solution Approach 2:
The solver changes the approach to value assignment by first attempting predetermined values (parameter change from continuous domain to discrete candidate values). This parameter change strategy allows the solver to skip numerous domain splits and directly assign values, thereby improving productivity while maintaining the required precision for floating point variables.
Data Source
AI summary
A solver for a constraint satisfaction problem includes a plurality of variables and a plurality of constraints. A floating point variable has a domain and is assigned a value by first determining if a predetermined value can be assigned to the floating point variable if the predetermined value is in the domain. If not, the solver determines if a bound of the domain can be assigned to the floating point variable. If the predetermined value can not be assigned to the floating point variable and the bound of the domain can not be assigned to the floating point variable, the solver assigns a value to the floating point variable using domain splitting.


