Floating Point Variable Conversion in Constraint Solvers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Constraint satisfaction problems involving floating point variables face challenges due to imprecision in their representation and difficulty in reasoning over continuous ranges, leading to weaker inference power and increased computational complexity compared to integer variables.

Innovation Solution

Converting floating point variables to pseudo integer variables when possible, allowing them to be handled as integer variables, thereby benefiting from stronger inference techniques and more accurate computations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If floating point variables are used in constraint satisfaction problems, then the system can represent continuous ranges, but inference power is weakened and computational complexity increases

Engineering Contradiction:
Improveability to represent continuous rangesVSAvoidcomputational complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent dynamically changes the parameter type of variables based on constraint analysis. When a floating point variable is determined to be effectively integer-constrained through constraint propagation, its domain is transformed from continuous floating point range to discrete integer set, enabling the use of more efficient integer-based inference algorithms while maintaining the ability to represent continuous ranges when needed

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If floating point variables are used in constraint satisfaction problems, then continuous ranges can be represented, but measurement precision and inference power are reduced

Engineering Contradiction:
Improveability to represent continuous rangesVSAvoidinference power
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The system changes the representation parameter of variables from floating point to integer based on constraint analysis results. When constraints imply that a floating point variable must take integer values, the domain is transformed to an integer set, thereby improving inference power and measurement precision without sacrificing the overall ability to represent continuous ranges in the problem

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If floating point variables are handled directly, then continuous domains are maintained, but computation efficiency decreases

Engineering Contradiction:
Improvecontinuous domain representationVSAvoidcomputation efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements dynamic parameter transformation that converts floating point variables to integer variables when constraint propagation determines the variable must take integer values. This transformation enables the use of more efficient integer-based constraint propagation and inference algorithms, significantly improving computation efficiency while maintaining the system's capability to handle continuous domains when required

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system dynamically adjusts the variable type representation during the constraint satisfaction process. Variables can transition from floating point to integer representation based on the current state of constraint propagation and domain analysis, allowing the system to adapt its computational approach to maximize efficiency at each step of the solving process

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8386544B2Managing floating point variables in constraint satisfaction problems
Publication Date: 2013.02.26 ORACLE INT CORP
  • US8386544B2 patent drawing
  • US8386544B2 patent drawing
  • US8386544B2 patent drawing

AI summary

Systems and methods for managing floating point variables are described in the present disclosure. According to one example, an embodiment of a method includes analyzing a constraint on a floating point variable in a system that supports both floating point variables and integer variables. The constraint is designed to have the ability to numerically limit the domain of the floating point variable. The method also includes determining whether or not the floating point variable can be handled as an integer variable and converting the floating point variable to a pseudo integer variable when it is determined that the floating point variable can be handled as an integer variable. This conversion of the floating point variable to a pseudo integer variable allows the domain of the floating point variable to be processed as an integer domain.