Task scheduling method and system for SMT solution
By extracting features and clustering SMT problem instances, an optimal solver scheduling strategy is generated. The hyperparameters are optimized using the Bayesian optimization algorithm of the hybrid surrogate model, which solves the problem of inconsistent performance of existing SMT solvers on different types of problems and achieves efficient and robust SMT solving.
Patent Information
- Application Number
- CN202511536171.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-27
- Publication Date
- 2026-01-27
AI Technical Summary
Existing SMT solvers perform inconsistently across different types of problem instances, resulting in low overall efficiency, resource waste, and high failure rates. Existing scheduling strategies have failed to effectively optimize the solver's execution order and time allocation.
By extracting features and clustering SMT problem instances, an optimal solver scheduling strategy is generated. The Bayesian optimization algorithm of the hybrid surrogate model is used to search for the optimal hyperparameters in the hyperparameter space, thus constructing an efficient task scheduling system.
It significantly reduces the average time and failure rate of SMT solving, improves the performance and resource utilization of the solving system, and is suitable for applications such as model checking and symbolic execution, thereby enhancing the performance of related tools and user satisfaction.
Smart Images

Figure CN121412643A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of automated reasoning technology, and more specifically to a task scheduling method and system for SMT solution. Background Technology
[0002] Satisfiability Modulo Theories (SMT) solving techniques are one of the key supporting technologies in modern software engineering and system security, and are widely used in scenarios such as program verification, symbolic execution, model checking, and vulnerability discovery. In these applications, complex program semantics are often transformed into a large number of SMT problem instances, which are then automatically determined by the SMT solver.
[0003] However, because SMT problems encompass a variety of background theories (such as integers, real numbers, arrays, strings, etc.), different problem instances vary significantly in structural complexity, variable size, and constraint types. This makes it difficult for a single SMT solver to maintain efficient and stable performance across all instances. Some solvers may perform well on specific types of problems but may time out or fail on others, severely impacting the overall efficiency and coverage of downstream tools (such as symbolic execution engines).
[0004] In existing technologies, parallel solving, solver selection, or static scheduling strategies are commonly used to address this problem. While parallel solving can improve the success rate, it consumes a large amount of computational resources, resulting in energy waste. Solver selection methods rely on classification models to predict the optimal solver, and if the prediction is incorrect, the solution will fail, lacking fault tolerance. Traditional scheduling methods (such as MedleySolver) often use fixed-time-slice round-robin or incremental construction strategies, which fail to fully optimize the execution order and time allocation of solvers, resulting in low overall solution efficiency.
[0005] Therefore, there is an urgent need for a scheduling mechanism that can adaptively generate efficient solution strategies based on the characteristics of the input problem, so as to minimize the average solution time cost while ensuring the solution success rate, thereby improving the overall performance and resource utilization of the SMT solution system. Summary of the Invention
[0006] In view of this, the present invention provides a task scheduling method and system for SMT solution. By analyzing the structural characteristics of historical SMT problem instances, it automatically identifies instance categories with similar solution characteristics. For each category, it pre-generates an optimal solver scheduling strategy that can balance the success rate and response speed. When the system receives a new SMT problem, it automatically classifies it and applies the corresponding pre-generated strategy, thereby achieving automated, efficient, and robust control of the solution process, significantly reducing the average time consumption and failure rate of SMT solution.
[0007] To achieve the above objectives, the present invention adopts the following technical solution:
[0008] A task scheduling method for SMT solution includes:
[0009] S1. Extract features from the SMT problem instance training set to obtain the feature vector of each SMT problem instance;
[0010] S2. Use an unsupervised clustering algorithm to cluster the feature vector set composed of all feature vectors, generate several instance families, and store the cluster center of each instance family.
[0011] S3. For each instance family, construct the hyperparameter space of the solver sequence and time allocation;
[0012] S4. For each instance family, the optimal hyperparameters for that instance family are obtained by searching in the hyperparameter space using the Bayesian optimization algorithm of the hybrid proxy model. The optimal hyperparameters are used to generate the solver scheduling scheme for that instance family.
[0013] S5. For the input SMT problem instance, extract features and match them to the nearest cluster center, and call the solver scheduling scheme corresponding to the optimal hyperparameter of the instance family to execute the SMT solution.
[0014] Preferably, in step S1, the features extracted from SMT problem instances include one or more of the following: Boolean features, arithmetic features, bit vector and array features, function features, operator features, complexity and scale features.
[0015] Preferably, S2 includes:
[0016] The K-Means++ algorithm is used to process the feature vector set to generate initial cluster centers;
[0017] Based on the initial cluster centers, the feature vector set is iteratively clustered using the X-Means algorithm, and the optimal number of clusters is determined according to the Bayesian information criterion.
[0018] The feature vector set is finally clustered based on the optimal number of clusters, generating several instance families, and the cluster center of each instance family is stored.
[0019] Preferably, S3 includes:
[0020] For each instance family, determine the candidate set CS of SMT solvers for that instance family:
[0021] CS = {cs1, cs2, ..., cs n}
[0022] Among them, csi This indicates the i-th available solver, and n represents the total number of candidate solvers;
[0023] Select m solvers from n candidate solvers to construct a scheduling sequence, and determine the solver sequence σ corresponding to this instance family:
[0024] σ={(s1,t1),(s2,t2),...,(s m ,t m )}
[0025] Among them; s j Let j be the selected solver, and have t j The runtime allocated to the j-th solver is given by m, which represents the upper limit of the preset solver scheduling sequence length.
[0026] The solver sequence is formally modeled as a hyperparameter vector λ:
[0027] λ={s1,t1,s2,t2,...,s m ,t m}
[0028] Define the constraints for the hyperparameter space:
[0029]
[0030] Where m represents the upper limit of the preset solver scheduling sequence length, and T max This represents the upper limit of the solution time, s. j1 and s j2 These represent the j1st and j2nd selected solvers, respectively.
[0031] Preferably, in step S4, the Bayesian optimization algorithm for the hybrid agent model includes:
[0032] The first proxy model is a Bagging model based on random forest;
[0033] The second proxy model is a Boosting model based on LightGBM;
[0034] The prediction results of the first and second proxy models are combined according to preset weights to form a hybrid proxy model, which is used to guide the search process to obtain the optimal hyperparameters.
[0035] A task scheduling system for SMT solution includes:
[0036] The feature extraction module is used to extract features from the SMT problem instance training set to obtain the feature vector of each SMT problem instance.
[0037] The instance family generation module is used to cluster the feature vector set composed of all feature vectors using an unsupervised clustering algorithm, generate several instance families, and store the cluster center of each instance family.
[0038] The hyperparameter space construction module is used to construct the hyperparameter space of the solver sequence and time allocation for each instance family;
[0039] The scheduling scheme optimization module is used to search in the hyperparameter space for each instance family using the Bayesian optimization algorithm of the hybrid proxy model to obtain the optimal hyperparameters for that instance family. The optimal hyperparameters are used to generate the solver scheduling scheme for that instance family.
[0040] The online scheduling and execution module is used to extract features from the input SMT problem instance, match them to the nearest cluster center, and call the solver scheduling scheme corresponding to the optimal hyperparameter of the instance family to execute the SMT solution.
[0041] Preferably, the features extracted by the feature extraction module for SMT problem instances include one or more of the following: Boolean features, arithmetic features, bit vector and array features, function features, operator features, complexity and scale features.
[0042] Preferably, the instance family generation module includes:
[0043] The initial center generation unit is used to process the feature vector set using the K-Means++ algorithm to generate initial cluster centers;
[0044] The optimal number determination unit is used to perform iterative clustering analysis on the feature vector set using the X-Means algorithm based on the initial cluster centers, and determine the optimal number of clusters according to the Bayesian information criterion.
[0045] The final clustering partitioning unit is used to perform final clustering partitioning of the feature vector set based on the optimal number of clusters, generate several instance families, and store the cluster center of each instance family.
[0046] Preferably, the hyperparameter space construction module specifically includes:
[0047] For each instance family, determine the candidate set CS of SMT solvers for that instance family:
[0048] CS = {cs1, cs2, ..., cs n}
[0049] Among them, cs i This indicates the i-th available solver, and n represents the total number of candidate solvers;
[0050] Select m solvers from n candidate solvers to construct a scheduling sequence, and determine the solver sequence σ corresponding to this instance family:
[0051] σ={(s1,t1),(s2,t2),...,(s m ,t m )}
[0052] Among them; s j Let j be the selected solver, and have t j The runtime allocated to the j-th solver is given by m, which represents the upper limit of the preset solver scheduling sequence length.
[0053] The solver sequence is formally modeled as a hyperparameter vector λ:
[0054] λ={s1,t1,s2,t2,...,s m ,t m}
[0055] Define the constraints for the hyperparameter space:
[0056]
[0057] Where m represents the upper limit of the preset solver scheduling sequence length, and T max This represents the upper limit of the solution time, s. j1 and s j2 These represent the j1st and j2nd selected solvers, respectively.
[0058] Preferably, in the scheduling scheme optimization module, the Bayesian optimization algorithm for the hybrid agent model includes:
[0059] The first proxy model is a Bagging model based on random forest;
[0060] The second proxy model is a Boosting model based on LightGBM;
[0061] The prediction results of the first and second proxy models are combined according to preset weights to form a hybrid proxy model, which is used to guide the search process to obtain the optimal hyperparameters.
[0062] As can be seen from the above technical solution, compared with the prior art, the present invention discloses a task scheduling method and system for SMT solution, which has the following effects:
[0063] 1. By extracting the logical and syntactic features of SMT problem instances, feature vectors for each instance were constructed, laying the foundation for subsequent clustering of problem instance families. This avoids noise interference from textual information in SMT problem instances and effectively improves the accuracy of instance segmentation.
[0064] 2. By leveraging the advantages of the K-Means++ and X-Means algorithms, a highly generalizable unsupervised two-stage clustering algorithm is implemented to cluster problem instances, achieving fine-grained partitioning of problem instance families. This ensures the robustness of the scheduling algorithm on diverse problem instances.
[0065] 3. By modeling the solver scheduling problem as a hyperparameter optimization problem, a global solver scheduling sequence is searched. This provides an excellent fault tolerance mechanism for incorrect solver selection and effectively avoids the aftereffects caused by the construction of incremental sequences.
[0066] 4. Optimal hyperparameters are searched using a Bayesian optimization algorithm based on a hybrid surrogate model of Random Forest and LightGBM within the SMAC framework. This effectively leverages the advantages of both models, achieving a balance between variance suppression and bias correction, thus improving search efficiency.
[0067] 5. Applicable to various SMT applications such as model checking and symbolic execution, it uses the generated solver scheduling sequence to solve SMT problem instances generated by related tools, which can significantly reduce the overhead of the SMT solution process, effectively improve the performance of related application tools, ensure that the tools work as expected, and improve user satisfaction. Attached Figure Description
[0068] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.
[0069] Figure 1 The present invention provides a flowchart of a task scheduling method for SMT solution.
[0070] Figure 2 This is a schematic diagram of a task scheduling system for SMT solution provided by the present invention. Detailed Implementation
[0071] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0072] This invention discloses a task scheduling method for SMT solution, such as... Figure 1 As shown, it includes:
[0073] S1. Extract features from the SMT problem instance training set to obtain the feature vector of each SMT problem instance;
[0074] S2. Use an unsupervised clustering algorithm to cluster the feature vector set composed of all feature vectors, generate several instance families, and store the cluster center of each instance family.
[0075] S3. For each instance family, construct the hyperparameter space of the solver sequence and time allocation;
[0076] S4. For each instance family, the optimal hyperparameters for that instance family are obtained by searching in the hyperparameter space using the Bayesian optimization algorithm of the hybrid proxy model. The optimal hyperparameters are used to generate the solver scheduling scheme for that instance family.
[0077] S5. For the input SMT problem instance, extract features and match them to the nearest cluster center. Then, call the solver scheduling scheme corresponding to the optimal hyperparameters of that instance family to perform the SMT solution. Specifically, perform the same feature extraction operation as in S1 to obtain the feature vector of the input SMT problem instance. Calculate the distance between the feature vector and the cluster centers of each instance family stored in S2. Match the input SMT problem instance to the nearest instance family and call the solver scheduling scheme corresponding to the optimal hyperparameters of that instance family obtained in S4 to perform the SMT solution.
[0078] The following provides a further detailed explanation of each of the above steps and related features;
[0079] In this embodiment S1, constructing an instance feature vector includes: constructing a high-dimensional feature vector based on the frequency of occurrence of different syntax and logical identifiers in the instance.
[0080] Solver scheduling requires modeling problem instance characteristics. SMT problem instances typically consist of a set of logical constraints defined using the SMT-LIB standard syntax, encompassing the syntactic representation of propositional logic and the logical identifier of the background theory. Furthermore, SMT problem instances contain user-defined elements such as variable names and function names, which can easily introduce noise interference into problem instance feature extraction.
[0081] In order for the algorithm to automatically identify the feature differences between different instances, the SMT instances are first analyzed to extract the following feature indicators:
[0082] 1. Boolean characteristics, including the number of occurrences of logical connectors and the number of Boolean variables;
[0083] 2. Arithmetic characteristics: including the number of integer and real number variables, the frequency of arithmetic operators, etc.
[0084] 3. Bit vector and array characteristics: including bit vector and array length information, array access count, etc.;
[0085] 4. Function characteristics: including the number of unexplained functions, function call paths, etc.;
[0086] 5. Operator characteristics: including the types and number of operators specific to the background theory (such as string concatenation, regular expression replacement, etc.);
[0087] 6. Complexity and scale characteristics: including the number of constraints, formula length, etc.
[0088] In a specific implementation, the above statistical results are standardized to form a high-dimensional feature vector.
[0089] This step, utilizing feature index statistics, allows us to generate accurate feature vectors that characterize problem instances while avoiding noise interference, which can then be used for clustering and classifying instance families. It enables effective comparison and classification when handling large-scale, diverse problem instances.
[0090] In this embodiment S2, based on the instance feature vector obtained in S1, SMT instances are clustered to divide them into groups of problem instances that generate different types of issues.
[0091] Because SMT instances are diverse, they vary significantly in size, variable structure, and constraint complexity. Directly scheduling all instances uniformly would lead to problems such as poor model convergence and generalization. Therefore, a clustering process is used to divide structurally similar and semantically consistent instances into several instance families, enabling the subsequent Bayesian optimization process to selectively search for the optimal scheduling strategy, thus improving performance and efficiency.
[0092] Specifically, it includes:
[0093] S21. Based on the preset upper limit of the number of categories, use the K-Means++ algorithm to generate initial cluster centers to avoid the initial center search getting trapped in local optima;
[0094] S22. Based on the initial cluster centers, the X-Means algorithm is used to automatically determine the optimal number of clusters through the Bayesian information criterion, thereby achieving unsupervised clustering.
[0095] S23. Store the cluster center of each instance family. When a new SMT instance is input, first execute the same feature extraction process as S1, then calculate the distance between the instance's feature vector and each cluster center, and select the closest cluster center as the category to which the instance belongs, thus achieving fast matching and classification.
[0096] This step employs a two-stage unsupervised clustering technique to divide SMT problem instances into several representative instance families, providing a structural foundation for the subsequent construction of targeted scheduling sequences.
[0097] In this embodiment S3, a corresponding hyperparameter search space is defined for each instance family. For any instance family, its solver candidate set is defined as follows:
[0098] CS = {cs1, cs2, ..., cs n}
[0099] cs i This represents the i-th available solver. For problem instances with different background theories, the set of candidate solvers is selected based on the results of recent international SMT solving competitions.
[0100] The scheduling sequence corresponding to this instance family can be represented as:
[0101] σ={(s1,t1),(s2,t2),...,(s m ,t m )}
[0102] Where s j Let j be the selected solver, and have t j The runtime allocated to the j-th solver is denoted by m, which represents the upper limit of the preset solver scheduling sequence length.
[0103] In this embodiment, the scheduling sequence is formally modeled as a hyperparameter vector:
[0104] λ={s1,t1,s2,t2,...,s m ,t m}
[0105] This hyperparameter vector is the search target for subsequent hyperparameter optimization.
[0106] In addition, to ensure the rationality and feasibility of the scheduling scheme, the following two types of constraints are introduced during the definition of the hyperparameter space:
[0107] The sum of the time allocated to all solvers must not exceed the upper limit of the solution time, i.e.:
[0108]
[0109] Solvers do not appear repeatedly in the same scheduling sequence, i.e.
[0110]
[0111] The objective function for hyperparameter optimization is:
[0112] λ*=argmin f(λ)
[0113] The optimization objective is to minimize the total PAR-2 time of the scheduling sequence on the problem instance training set, where f represents the PAR-2 time of the scheduling sequence. When the scheduling sequence fails to solve a problem instance within the time limit, its PAR-2 time is reduced by 2×T. max Calculate the time required for the solution; otherwise, calculate based on the actual solution time.
[0114] Through this embodiment S3, the present invention establishes a structured scheduling parameter space for different types of SMT problem instance families, enabling the subsequent automatic search and generation of the optimal solver execution sequence and time allocation scheme for a specific problem category based on historical solution performance data, thereby achieving fine-grained configuration and efficient utilization of SMT solution resources.
[0115] In this embodiment S4, for each instance family, a Bayesian optimization technique based on a hybrid surrogate model is used to search for the optimal hyperparameter configuration. This technique combines the advantages of both Bagging and Boosting surrogate models, taking into account both the variance and bias of the prediction results. The Bagging part uses a random forest regression model, and the Boosting part uses a gradient boosting tree model of LightGBM. The prediction results of the two surrogate models are weighted and combined to form the final hybrid surrogate model.
[0116] The algorithm randomly samples several hyperparameter configurations in the parameter space and calculates the expected improvement function. Based on the result, it selects the hyperparameter configuration with the largest expected improvement value. It then executes the scheduling sequence corresponding to this configuration on the training dataset and calculates its PAR-2 time, updating the hybrid agent model using the actual results. When the maximum number of searches is reached, the algorithm outputs the current optimal configuration. The SMAC framework is used to search for the optimal hyperparameters.
[0117] This invention automatically determines the solver execution sequence and time allocation parameters that perform optimally on historical instances through multiple rounds of evaluation and feedback learning of candidate scheduling schemes. This process employs an integrated evaluation architecture, effectively balancing the trade-offs between exploration and exploitation, avoiding local optima traps, and ensuring the adaptability and execution efficiency of the generated scheduling strategy across diverse problems.
[0118] Example 1:
[0119] This embodiment focuses on a symbolic execution tool that models the reachability of a program's running state as an SMT problem instance and calls an SMT solver to solve the problem instance, thereby determining whether the program's running state is reachable.
[0120] This embodiment first collects SMT problem instances generated during the operation of the symbolic execution tool, and selects a set of excellent solvers under relevant background theories as the solver hyperparameter space based on the results of the international SMT solving competition. Through steps S1 to S4, Bayesian optimization techniques are used to construct pre-trained scheduling sequences for different instance families.
[0121] Finally, the pre-trained scheduling sequence is integrated into the symbolic execution tool. When an SMT problem instance is generated, its validity is first determined by the SMT problem instance validity checker. If valid, according to step S5, an instance feature vector is constructed, and the instance is assigned to the nearest instance family based on distance. The pre-trained scheduling sequence of that instance family is then used to solve the problem instance. If a vulnerability is found during the solution process, it can be quickly located based on the scheduling sequence. When a better-performing solver becomes available, this solver is added to the solver hyperparameter space and retrained, thereby continuously optimizing the model.
[0122] The above further illustrates how to perform efficient and robust solver scheduling in symbolic execution tools to ensure the performance of SMT solving during symbolic execution.
[0123] In addition, this embodiment also collected a dataset consisting of 12,549 publicly available SMT problem instances, each of which conforms to the SMT-LIB syntax requirements.
[0124] For each solver selection / scheduling method (MachSMT, Sibyl, MedleySolver), the training and test sets are divided in a 4:1 ratio according to their specific algorithms and strategies. Each method operates independently.
[0125] Ten performance evaluations were conducted on a dataset containing 2495 problem instances. Each evaluation ran four methods sequentially with a fixed random seed. The average results are shown in the table below:
[0126] Table 1 Average Results
[0127]
[0128]
[0129] As shown in the table above, the task scheduling method for SMT solving proposed in this embodiment exhibits significant advantages over existing technologies in terms of solving efficiency (PAR2 time) and robustness (number of solution failures). This method effectively improves the overall performance of the SMT solving system by automatically identifying problem categories and applying pre-optimized scheduling strategies, verifying the practicality and advancement of the technical solution of this invention.
[0130] This embodiment provides a task scheduling system for SMT solution, such as Figure 2 As shown, it includes:
[0131] The feature extraction module is used to extract features from the SMT problem instance training set to obtain the feature vector of each SMT problem instance.
[0132] The instance family generation module is used to cluster the feature vector set composed of all feature vectors using an unsupervised clustering algorithm, generate several instance families, and store the cluster center of each instance family.
[0133] The hyperparameter space construction module is used to construct the hyperparameter space of the solver sequence and time allocation for each instance family;
[0134] The scheduling scheme optimization module is used to search in the hyperparameter space for each instance family using the Bayesian optimization algorithm of the hybrid proxy model to obtain the optimal hyperparameters for that instance family. The optimal hyperparameters are used to generate the solver scheduling scheme for that instance family.
[0135] The online scheduling and execution module is used to extract features from the input SMT problem instance, match them to the nearest cluster center, and call the solver scheduling scheme corresponding to the optimal hyperparameter of the instance family to execute the SMT solution.
[0136] It should be noted that the specific implementation process of this system is the same as the method described above, and will not be repeated here. Please refer to the method section for details.
[0137] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to the method section.
[0138] The above description of the disclosed embodiments enables those skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A task scheduling method for SMT solution, characterized in that, include: S1. Extract features from the SMT problem instance training set to obtain the feature vector of each SMT problem instance; S2. Use an unsupervised clustering algorithm to cluster the feature vector set composed of all feature vectors, generate several instance families, and store the cluster center of each instance family. S3. For each instance family, construct the hyperparameter space of the solver sequence and time allocation; S4. For each instance family, the optimal hyperparameters for that instance family are obtained by searching in the hyperparameter space using the Bayesian optimization algorithm of the hybrid proxy model. The optimal hyperparameters are used to generate the solver scheduling scheme for that instance family. S5. For the input SMT problem instance, extract features and match them to the nearest cluster center, and call the solver scheduling scheme corresponding to the optimal hyperparameter of the instance family to execute the SMT solution.
2. The task scheduling method for SMT solution according to claim 1, characterized in that, In S1, the features extracted from SMT problem instances include one or more of the following: Boolean features, arithmetic features, bit vector and array features, function features, operator features, complexity and scale features.
3. The task scheduling method for SMT solution according to claim 1, characterized in that, S2 includes: The K-Means++ algorithm is used to process the feature vector set to generate initial cluster centers; Based on the initial cluster centers, the feature vector set is iteratively clustered using the X-Means algorithm, and the optimal number of clusters is determined according to the Bayesian information criterion. The feature vector set is finally clustered based on the optimal number of clusters, generating several instance families, and the cluster center of each instance family is stored.
4. The task scheduling method for SMT solution according to claim 1, characterized in that, S3 includes: For each instance family, determine the candidate set CS of SMT solvers for that instance family: CS={cs1,cs2,...,cs n } Among them, cs i This indicates the i-th available solver, and n represents the total number of candidate solvers; Select m solvers from n candidate solvers to construct a scheduling sequence, and determine the solver sequence σ corresponding to this instance family: σ={(s1,t1),(s2,t2),...,(s m ,t m )} Among them; s j Let j be the selected solver, and have t j The runtime allocated to the j-th solver is given by m, which represents the upper limit of the preset solver scheduling sequence length. The solver sequence is formally modeled as a hyperparameter vector λ: λ={s1,t1,s2,t2,...,s m ,t m } Define the constraints for the hyperparameter space: Where m represents the upper limit of the preset solver scheduling sequence length, and T max This represents the upper limit of the solution time, s. j1 and s j2 These represent the j1st and j2nd selected solvers, respectively.
5. The task scheduling method for SMT solution according to claim 1, characterized in that, In S4, the Bayesian optimization algorithm for the hybrid agent model includes: The first proxy model is a Bagging model based on random forest; The second proxy model is a Boosting model based on LightGBM; The prediction results of the first and second proxy models are combined according to preset weights to form a hybrid proxy model, which is used to guide the search process to obtain the optimal hyperparameters.
6. A task scheduling system for SMT solution, characterized in that, include: The feature extraction module is used to extract features from the SMT problem instance training set to obtain the feature vector of each SMT problem instance. The instance family generation module is used to cluster the feature vector set composed of all feature vectors using an unsupervised clustering algorithm, generate several instance families, and store the cluster center of each instance family. The hyperparameter space construction module is used to construct the hyperparameter space of the solver sequence and time allocation for each instance family; The scheduling scheme optimization module is used to search in the hyperparameter space for each instance family using the Bayesian optimization algorithm of the hybrid proxy model to obtain the optimal hyperparameters for that instance family. The optimal hyperparameters are used to generate the solver scheduling scheme for that instance family. The online scheduling and execution module is used to extract features from the input SMT problem instance, match them to the nearest cluster center, and call the solver scheduling scheme corresponding to the optimal hyperparameter of the instance family to execute the SMT solution.
7. A task scheduling system for SMT solution according to claim 6, characterized in that, The feature extraction module extracts features from SMT problem instances including one or more of the following: Boolean features, arithmetic features, bit vector and array features, function features, operator features, complexity and scale features.
8. A task scheduling system for SMT solution according to claim 6, characterized in that, The instance family generation module includes: The initial center generation unit is used to process the feature vector set using the K-Means++ algorithm to generate initial cluster centers; The optimal number determination unit is used to perform iterative clustering analysis on the feature vector set using the X-Means algorithm based on the initial cluster centers, and determine the optimal number of clusters according to the Bayesian information criterion. The final clustering partitioning unit is used to perform final clustering partitioning of the feature vector set based on the optimal number of clusters, generate several instance families, and store the cluster center of each instance family.
9. A task scheduling system for SMT solution according to claim 6, characterized in that, The hyperparameter space construction module specifically includes: For each instance family, determine the candidate set CS of SMT solvers for that instance family: CS={cs1,cs2,...,cs n } Among them, cs i This indicates the i-th available solver, and n represents the total number of candidate solvers; Select m solvers from n candidate solvers to construct a scheduling sequence, and determine the solver sequence σ corresponding to this instance family: σ={(s1,t1),(s2,t2),...,(s m ,t m )} Among them; s j Let j be the selected solver, and have t j The runtime allocated to the j-th solver is given by m, which represents the upper limit of the preset solver scheduling sequence length. The solver sequence is formally modeled as a hyperparameter vector λ: λ={s1,t1,s2,t2,...,s m ,t m } Define the constraints for the hyperparameter space: Where m represents the upper limit of the preset solver scheduling sequence length, and T max This represents the upper limit of the solution time, s. j1 and s j2 These represent the j1st and j2nd selected solvers, respectively.
10. A task scheduling system for SMT solution according to claim 6, characterized in that, In the scheduling scheme optimization module, the Bayesian optimization algorithm for the hybrid agent model includes: The first proxy model is a Bagging model based on random forest; The second proxy model is a Boosting model based on LightGBM; The prediction results of the first and second proxy models are combined according to preset weights to form a hybrid proxy model, which is used to guide the search process to obtain the optimal hyperparameters.