Dynamic Constraint Solver with Cross-Problem Templates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing constraint satisfaction problem solvers are inadequate for handling large sets of variables with conditional relationships, as they fail to provide significant space savings and do not allow for effective segmentation of related variables into sub-problems, limiting their ability to efficiently solve dynamic constraint satisfaction problems.

Innovation Solution

A dynamic constraint solver that uses cross-problem constraint templates to dynamically generate and eliminate constraints, allowing for the efficient representation and encapsulation of constraints through port variables, which are only created when necessary, enabling the connection of sub-problems to problems and generating cross-problem constraints based on participating problem combinations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If traditional CSP solvers are used to handle large sets of variables with conditional relationships, then the problem can be solved, but significant space savings are not achieved and segmentation of related variables into sub-problems is not allowed

Engineering Contradiction:
Improvespace usageVSAvoidability to handle conditional relationships
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The patent divides a large constraint satisfaction problem into multiple sub-problems that can be independently managed and solved. Each sub-problem contains a subset of variables and constraints, allowing the system to achieve space savings by not representing all constraints in memory simultaneously. The segmentation enables hierarchical problem structure with problems containing sub-problems, which can be selectively activated based on conditional relationships.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic activation and deactivation of sub-problems based on conditional relationships. Sub-problems can be activated when their conditions are met and deactivated when not needed, allowing the system to adapt its structure dynamically. This dynamic behavior enables the solver to handle conditional relationships while maintaining space efficiency by only active sub-problems in memory when needed.

Inventive Principle:
Principle #15Dynamics

2Reliability

If all constraints are represented explicitly in the solver, then complete problem coverage is achieved, but computational efficiency decreases due to unnecessary constraint representation

Engineering Contradiction:
Improveproblem coverageVSAvoidcomputational efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts only the necessary constraints and sub-problems that are relevant to the current problem state and activates them, while leaving other constraints implicit or inactive. This extraction principle allows the system to maintain complete problem coverage reliability by having all constraints defined in the problem specification, while improving computational efficiency by only actively representing and processing the subset of constraints that are currently needed for solving.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs preliminary organization of constraints into templates and sub-problem structures before solving begins. Constraint templates define the structure and relationships of constraints in advance, allowing the solver to efficiently generate and activate only the specific instances needed during problem solving. This preliminary structuring enables complete problem coverage to be achieved without the overhead of representing all possible constraint instances simultaneously.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If sub-problems are incrementally added to the solver, then adaptability to dynamic problems is improved, but constraint management complexity increases

Engineering Contradiction:
Improveability to handle dynamic problemsVSAvoidconstraint management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal constraint template structure that can represent multiple types of constraints and sub-problems in a unified framework. The template system provides multi-functionality by allowing the same structural mechanisms to handle different kinds of constraints, variables, and relationships. This universality simplifies constraint management complexity by providing consistent methods for adding, activating, and managing sub-problems regardless of their specific type or purpose.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces constraint templates as intermediary structures that mediate between the problem definition and the actual constraint instances. Templates serve as blueprints that define the structure and relationships of constraints, allowing sub-problems to be incrementally added and managed through a standardized interface. This intermediary layer simplifies constraint management by abstracting away the complexity of individual constraint details while enabling flexible incremental addition of sub-problems.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8165980B2Dynamic constraint solver with cross problem constraints
Publication Date: 2012.04.24 ORACLE INT CORP
  • US8165980B2 patent drawing
  • US8165980B2 patent drawing
  • US8165980B2 patent drawing

AI summary

A dynamic constraint solver solves a constraint satisfaction problem that includes a problem having zero or more ports, and zero or more sub-problems coupled to the zero or more ports. The solver stores a cross problem constraint template for cross problem constraints. The solver receives a request to connect a first sub-problem to a first port of a first problem. The solver then determines if the first sub-problem forms a participating problem combination for the cross problem constraint template. The participating problem combination includes all participating problems of the cross problem constraint. The solver then generates the cross problem constraint for the participating problem combination if the first sub-problem forms the participating problem combination.