Flexible Constraint Propagation Engine for Combinatorial Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing constraint programming systems are inflexible and inefficient in handling dynamic combinatorial optimization problems and Mixed-Initiative applications, as they often require hardcoding specific constraint propagation architectures, which limits the ability to adapt to changing problem requirements and increases memory usage and computational complexity.

Innovation Solution

A flexible and reconfigurable constraint propagation system that supports various monotonic and non-monotonic algorithms, allowing for selection based on problem-specific properties and enabling easy integration of new methods, reducing memory storage and improving processor performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional constraint propagation systems use hardcoded specific constraint propagation architectures, then the system can achieve stable and reliable constraint solving, but the system loses adaptability to changing problem requirements and increases memory usage and computational complexity

Engineering Contradiction:
Improveadaptability to changing problem requirementsVSAvoidsystem architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system dynamically selects and configures constraint propagation algorithms based on problem characteristics rather than using a fixed hardcoded architecture. The propagator can be reconfigured at runtime to match the specific problem being solved, enabling adaptability while maintaining manageable complexity through systematic configuration approaches

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes parameters such as the type of constraint propagation algorithm used, the domain of variables, and the specific propagation strategy based on problem-specific properties. This allows the same system framework to adapt to different problems by adjusting parameters rather than requiring complete architectural redesign

Inventive Principle:
Principle #35Parameter changes

2Reliability

If traditional constraint propagation systems use hardcoded specific constraint propagation architectures, then the system can maintain consistent performance for known problem types, but memory usage and computational complexity increase

Engineering Contradiction:
Improveperformance consistencyVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system uses a universal propagator framework that can handle multiple types of constraints and propagation algorithms through a common interface. This multi-functional design maintains reliable performance across different problem types without requiring separate hardcoded architectures for each, thereby reducing memory usage compared to specialized dedicated systems

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

3Productivity

If constraint propagation algorithms remove values from variable domains to reduce search space, then the search efficiency improves, but the computational complexity of the propagation process increases

Engineering Contradiction:
Improvesearch efficiencyVSAvoidcomputational complexity of propagation
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system applies constraint propagation partially by selecting which constraints to propagate and which variables to focus on, based on problem-specific properties. This partial application of propagation reduces the overall computational complexity while still achieving sufficient search space reduction to maintain high search efficiency

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system uses explanations as copies of the reasoning process that can be stored and reused. When constraints are retracted or modified, the system can use these explanation copies to efficiently determine what changes are needed rather than re-computing everything, reducing computational complexity while maintaining propagation effectiveness

Inventive Principle:
Principle #26Copying

4Adaptability or versatility

If non-monotonic constraint propagation methods are used to support constraint retraction, then the system can handle dynamic problems and user interactions, but the complexity of algorithms increases and run-time performance varies

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

Solution Approach 1:

The system uses explanation-based feedback mechanisms where the propagation process generates explanations of what changes occurred and why. When constraints are retracted, this feedback information is used to efficiently determine what needs to be undone or re-evaluated, managing the complexity of non-monotonic propagation through systematic feedback loops

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary actions by maintaining explanations of the propagation process as constraints are applied. This preliminary documentation of the reasoning process enables efficient handling of constraint retraction without requiring complete re-computation, thereby managing the complexity of non-monotonic methods

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7606776B1Flexible constraint propagation engine for combinatorial optimization applications
Publication Date: 2009.10.20 ACTENUM CORP
  • US7606776B1 patent drawing
  • US7606776B1 patent drawing
  • US7606776B1 patent drawing

AI summary

The present disclosure describes a computer-implemented constraint propagation system that supports a variety of different constraint propagation and/or constraint retraction algorithms, including monotonic and/or non-monotonic algorithms. In one embodiment, the system selects particular constraint propagation and/or retraction methods based on the nature of the combinatorial optimization problem (COP) being solved and the attributes of the particular COP application involved. The system may also enable new methods for constraint propagation and/or retraction to be added with relatively little disruptive effect on other components of the system. Embodiments of the system allow the propagation of constraints to be tuned to the semantics of each constraint, the likelihood of significant variable domain reduction, and other problem specific properties. The constraint propagation system is capable of being used as part of a reconfigurable search engine.