Incremental Constraint Solver Architecture with Smart Repair

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current SAT solvers face limitations in handling dynamic changes to problems, as they typically require restarting from scratch when modifications occur, and are challenging to parallelize due to extreme non-locality of memory references and synchronization issues, leading to inefficiencies in incremental solving and performance optimization.

Innovation Solution

The R-Solve system introduces a fully unrestricted incremental SAT solver architecture that employs Smart Repair technology, enabling incremental constraint solving through a master graph and undo edges, and loosely cooperative parallelism with clause sharing across MPI-connected clusters, allowing for efficient management of learned clauses and communication between solvers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a SAT solver is aggressively optimized with custom data structures and learning mechanisms, then solving performance is improved, but parallelization becomes difficult and synchronization requirements increase

Engineering Contradiction:
Improvesolving performanceVSAvoidparallelization difficulty
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system divides the SAT solving workload into multiple independent solver instances that can operate in parallel. Each solver maintains its own clause database and learning state, allowing independent execution while sharing problem definitions and results through a coordinator architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A coordinator component acts as an intermediary between multiple solver instances and the external system. It manages clause sharing, coordinates incremental problem modifications, and aggregates results, thereby shielding individual solvers from synchronization complexity while enabling collaborative solving.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If a SAT solver uses custom data structures and clause learning mechanisms, then solving efficiency is improved, but memory reference locality deteriorates and synchronization becomes difficult

Engineering Contradiction:
Improvesolving efficiencyVSAvoidmemory reference locality
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The system uses copy-on-write semantics for clause databases. When solvers need to share clauses, they receive copies rather than sharing direct references. This preserves memory locality for each solver while enabling safe sharing, as modifications to copied clauses do not affect other solvers' local views.

Inventive Principle:
Principle #26Copying

3Productivity

If a SAT solver is designed for top performance with aggressive optimization, then solving speed is improved, but the implementation becomes fragile to modification and extension

Engineering Contradiction:
Improvesolving speedVSAvoidimplementation fragility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system employs a universal solver interface and standardized data formats that allow different solver implementations to work together through a common coordination layer. This enables high-performance specialized solvers to be combined while maintaining flexibility for modification and extension through the standardized interface.

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

Solution Approach 2:

The system allows solver configurations and parameters to be dynamically adjusted without recompilation. The coordinator can modify problem definitions, add constraints, and reconfigure solver behavior at runtime, making the implementation adaptable to changing requirements while preserving the optimized core solving logic.

Inventive Principle:
Principle #15Dynamics

4Reliability

If an ensemble of solvers is used for incremental solving, then robustness is improved, but communication overhead increases and information sharing becomes complex

Engineering Contradiction:
Improveensemble robustnessVSAvoidcommunication overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system pre-establishes a clause sharing infrastructure and communication protocols before solving begins. Clause databases are organized with shared and private sections from the outset, and the coordinator maintains a global clause repository that solvers can query without repeated negotiation, reducing communication overhead during incremental solving.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11481468B2Systems and methods for solving unrestricted incremental constraint problems
Publication Date: 2022.10.25 QUALCOMM INC
  • US11481468B2 patent drawing
  • US11481468B2 patent drawing
  • US11481468B2 patent drawing

AI summary

We present the architecture of a high-performance constraint solver R-Solve that extends the gains made in SAT performance over the past fifteen years on static decision problems to problems that require on-the-fly adaptation, solution space exploration and optimization. R-Solve facilitates collaborative parallel solving and provides an efficient system for unrestricted incremental solving via Smart Repair. R-Solve can address problems in dynamic planning and constrained optimization involving complex logical and arithmetic constraints.