Ensemble Solver Configuration via Dynamic Scoring and Feedback
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing constraint solvers face inefficiencies when solving large-scale constraint problems, as they may require extensive computational time or memory, and configuring an ensemble of solvers to efficiently explore the search space is challenging, especially when solvers may explore similar or unlikely areas.
Innovation Solution
The system generates distinct candidate configurations for solvers in an ensemble, computes scores for each configuration based on parameter options, and dynamically adjusts configurations during the solution process to maximize the likelihood of finding a solution efficiently by ensuring solvers explore different and promising areas of the search space.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If a single constraint solver is used to solve large-scale constraint problems, then the solver can operate with a single configuration, but the solving time becomes excessively long and the solver may run out of memory
Solution Approach 1:
The patent divides a single solver into multiple solver instances forming an ensemble. Each solver instance operates independently with its own configuration, allowing the system to explore the search space in parallel. This segmentation reduces the effective search time for each individual solver while distributing the computational load across multiple instances.
Solution Approach 2:
The patent implements dynamic configuration adjustment where solver configurations are not fixed but can be modified during the solving process. The system monitors solver performance and dynamically adjusts configurations such as search heuristics, variable ordering, and constraint prioritization to optimize solving efficiency based on real-time feedback.
2Productivity
If multiple solvers are used in an ensemble to reduce solving time, then the solving efficiency improves, but configuring the solvers to explore different areas of the search space becomes challenging
Solution Approach 1:
The patent systematically varies configuration parameters across solver instances in the ensemble. Different solvers are assigned different values for parameters such as search heuristics, variable ordering strategies, and constraint selection methods. This parameter diversification ensures that each solver explores different regions of the search space, increasing the likelihood of finding solutions efficiently without requiring manual configuration expertise.
3Reliability
If solvers in the ensemble explore different areas of the search space, then the likelihood of finding a solution increases, but determining appropriate configurations for each solver becomes complex
Solution Approach 1:
The patent implements feedback mechanisms where solver performance information is collected and used to guide configuration adjustments. The system monitors metrics such as search progress, constraint satisfaction rates, and time-to-solution, then uses this feedback to dynamically adjust solver configurations. This feedback loop ensures that solvers adapt their configurations based on actual performance, improving solution finding reliability while automating the complex configuration management process.
Data Source
AI summary
In a system for enabling configuration of an ensemble of several solvers, such that the ensemble can efficiently solve a constraint problem, for each one of several candidate configurations, an array of scores is computed. The array corresponds to a statistical parameter related to a problem solution, and the computation is based on, at least in part, a set of features associated with the problem. One candidate configuration is assigned to a solver, and based on the array of scores associated with that candidate configuration the same or a different candidate configuration is assigned to a another solver. A system for dynamically reconfiguring an ensemble of solvers obtains runtime data from several solvers, and a new configuration is determined by applying a machine learning and/or heuristic analysis procedure to the runtime data. The configuration of a solver may be updated according to the new configuration while that solver is running.

