Interactive Constraint Solver Priority Group Mechanism

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current constraint programming systems lack the ability to assign priorities to user-selections and have limited conflict resolution capabilities, leading to inflexible handling of conflicts between user-selections and non-overrideable constraints.

Innovation Solution

An interactive constraint solver that introduces a priority group mechanism, allowing client applications to assign priorities to choice-constraints based on business rules, enabling more control over conflict resolution and processing order.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If current constraint programming systems use only two categories of constraints (user-selections and non-override-able constraints), then the system structure remains simple, but the system lacks flexibility in resolving conflicts between different constraints

Engineering Contradiction:
Improveconflict resolution flexibilityVSAvoidconstraint category structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments constraints into multiple priority groups (first priority, second priority, third priority, etc.) rather than using only two categories. This segmentation allows the system to handle conflicts by processing constraints in a defined order, where higher priority constraints are processed before lower priority ones, providing flexible conflict resolution while maintaining systematic organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic priority assignment where constraints can be assigned to different priority groups based on their importance. This dynamic structure allows the system to adaptively resolve conflicts by adjusting which constraints are processed first, enabling flexible handling of different constraint types without requiring a completely rigid hierarchical structure.

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If the system processes all constraints equally without priority assignment, then the processing logic remains simple, but user-preferred solutions cannot be prioritized when conflicts occur

Engineering Contradiction:
Improveuser preference controlVSAvoidpriority assignment mechanism
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by assigning priority levels to constraints before conflict resolution occurs. Constraints are pre-categorized into priority groups based on their importance and user preferences, so that when conflicts arise, the system already has a predetermined processing order. This eliminates the need for complex real-time decision-making during conflict resolution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the parameter of constraint processing by introducing priority levels as a new dimension. Instead of treating all constraints uniformly, the system now processes constraints based on their priority parameter, allowing user preferences to be encoded as priority assignments. This parameter change enables straightforward user control without requiring complex operational mechanisms.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If the system rejects subsequent constraints when conflicts occur in non-override-able constraints, then constraint integrity is maintained, but the system lacks adaptability to resolve conflicts in favor of user-selections

Engineering Contradiction:
Improveconflict resolution optionsVSAvoidconstraint satisfaction guarantee
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces dynamic conflict resolution where the system can adaptively choose to either reject or accept subsequent constraints based on their priority level. Higher priority constraints (including user-selections) can override lower priority non-override-able constraints when conflicts occur. This dynamic approach maintains reliability by ensuring that critical constraints are always satisfied while providing adaptability to resolve conflicts in favor of user preferences when appropriate.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9842294B2Interactive constraint solver
Publication Date: 2017.12.12 ORACLE INT CORP
  • US9842294B2 patent drawing
  • US9842294B2 patent drawing
  • US9842294B2 patent drawing

AI summary

Constraint programming is used to solve problems that have many variables and that have many possible solutions. An interactive constraint solver application provides additional information to a user if a conflict arises between two choice-constraints so that the additional information can be used to resolve the conflict according to a model-constraint set up by an application developer. The additional information identifies a priority group, or queue, to which the constraint was added. Depending on the particulars included in the additional information, and the model-constraints, the conflict is resolved by the interactive constraint solver application.