Interactive Constraint Solver Priority Group Mechanism
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


