Parameter template determination method and device, computer equipment, readable storage medium and program product
By constructing a constraint network for parameter templates and using a multi-objective optimization algorithm, conflicting parameter values are automatically identified and optimized, solving the problem of low efficiency in parameter import in traditional systems and achieving efficient parameter template determination.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-03
- Publication Date
- 2026-03-27
AI Technical Summary
Traditional systems cannot intelligently analyze the root causes of contradictions when importing parameters in batches, which forces business personnel to repeatedly try different parameter combinations manually, resulting in low efficiency.
By constructing a constraint network of parameter templates, a multi-objective optimization algorithm is used to identify conflicting parameter values, optimize and obtain target parameter values, and automatically fill them into the template.
It enables automatic identification and optimization of conflicting parameter values without requiring manual experimentation with parameter combinations, thus improving the efficiency and accuracy of parameter import.
Smart Images

Figure CN121742889A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a method, apparatus, computer device, computer-readable storage medium, and computer program product for determining parameter templates. Background Technology
[0002] With the deepening development of enterprise informatization and digital transformation technologies, various business systems have generally adopted parametric design to adapt to rapidly changing market demands. This technology abstracts business rules, strategies, and thresholds into configurable parameters, thereby enabling adjustments to system behavior without modifying program code, greatly improving system flexibility and maintainability.
[0003] In traditional technologies, when business users need to update parameters through batch import (such as Excel import), the system checks the imported data according to pre-defined, hard-coded validation logic. These validations are usually isolated and static, such as checking whether the data format is correct, whether the values are within a preset fixed range, and whether required fields are empty. If the data passes the validation, the import is successful; if one or more data entries violate individual rules, the entire import operation may fail, or the system may only provide a simple error message, requiring business users to manually investigate and correct before trying again.
[0004] However, in the current traditional approach, when multiple business rules apply to a batch of imported data simultaneously, and these rules conflict, resulting in no single parameter assignment satisfying all rules (i.e., the rule system itself is contradictory), the traditional system can only mechanically report an error and refuse to execute. It cannot intelligently analyze the root cause of the conflict, nor can it provide a feasible solution for weighing and compromising between conflicting rules. This forces business personnel to repeatedly communicate and coordinate with multiple departments (such as risk, business, and technology departments), manually trying various parameter combinations, a cumbersome and inefficient process. Summary of the Invention
[0005] Therefore, it is necessary to provide a parameter template determination method, apparatus, computer equipment, computer-readable storage medium, and computer program product that can improve efficiency in addressing the above-mentioned technical problems.
[0006] Firstly, this application provides a method for determining a parameter template, the method comprising:
[0007] Obtain the set of parameter values for each parameter field in the batch-imported template to be populated; wherein, the template to be populated is created in response to operations on the front-end interface;
[0008] Based on a predefined first business rule and the set of parameter values, conflicting parameter values are determined; wherein, the first business rule represents the mandatory logical conditions that the parameter value must satisfy; the conflicting parameter value represents a parameter value that cannot simultaneously satisfy at least two constraint rules in the first business rule.
[0009] The conflict parameter values are optimized using a multi-objective optimization algorithm based on the first and second business rules to obtain target parameter values; wherein, the second business rule represents the business objective that the configured parameter values should satisfy;
[0010] The target parameter value is used to replace the conflict parameter value and fill it into the template to be filled to obtain the target template.
[0011] In one embodiment, determining the conflicting parameter value based on a predefined first business rule and the set of parameter values includes:
[0012] The constraint rules in the first business rule are used as constraint edges, and each parameter value in the parameter value set is used as a variable.
[0013] The constraint network is determined based on the constraint edges and the variables;
[0014] The constraint network is traversed using a constraint propagation algorithm. If any variable cannot simultaneously satisfy at least two constraint edges, the variable is identified as a conflict parameter value.
[0015] In one embodiment, the step of optimizing the conflict parameter value based on the first business rule and the second business rule using a multi-objective optimization algorithm to obtain the target parameter value includes:
[0016] Use the conflict parameter values as decision variables;
[0017] Based on the first business rule and the second business rule, determine the objective function;
[0018] A multi-objective evolutionary algorithm is used to generate a candidate solution set based on the decision variables and the objective function. The candidate solution set includes at least one candidate solution, and each candidate solution represents the value of the decision variable that simultaneously satisfies the first business rule and the second business rule.
[0019] In response to a selection instruction, a candidate solution is selected from the set of candidate solutions as the target solution;
[0020] The target parameter value is determined based on the target solution.
[0021] In one embodiment, determining the objective function based on the first business rule and the second business rule includes:
[0022] Minimizing the degree of violation of the first business rule is taken as the first sub-objective function;
[0023] The second sub-objective function is to maximize the achievement of the business objectives that the second business rule should satisfy.
[0024] The objective function is determined based on the first sub-objective function and the second sub-objective function.
[0025] In one embodiment, the method further includes:
[0026] Obtain the version identifier of the target template;
[0027] If the parameter fields in the target template are modified, a new target template is created, the version identifier is updated, and the change information is recorded.
[0028] In one embodiment, creating a new target template when modifying parameter fields in the target template includes:
[0029] In the presence of source parameter values, an ordinary differential equation system model is constructed based on each parameter field in the target template and the dependencies between the parameter fields; wherein, the source parameter value represents any parameter value in the target template that has been modified; the ordinary differential equation system model is used to describe the dynamic interactions between parameter fields;
[0030] Obtain the proposed change value for the source parameter value;
[0031] Calculate the eigenvalues of the Jacobian matrix of the ordinary differential equation system model at the equilibrium point based on the proposed change value;
[0032] If the feature value meets the threshold, the proposed change value of the source parameter value is taken as the target parameter value;
[0033] Based on the target parameter values, a new target template is determined.
[0034] Secondly, this application also provides a parameter template determining device, the device comprising:
[0035] The acquisition module is used to acquire the set of parameter values for each parameter field in the batch-imported template to be filled; wherein, the template to be filled is created in response to the operation of the front-end interface;
[0036] The first determining module is used to determine conflicting parameter values based on a predefined first business rule and the set of parameter values; wherein, the first business rule represents the mandatory logical conditions that the parameter value must satisfy; and the conflicting parameter value represents a parameter value that cannot simultaneously satisfy at least two constraint rules in the first business rule.
[0037] The second determining module is used to optimize the conflict parameter value based on the first business rule and the second business rule using a multi-objective optimization algorithm to obtain the target parameter value; wherein, the second business rule represents the business objective that the configured parameter value should satisfy;
[0038] The filling module is used to replace the conflicting parameter value with the target parameter value and fill it into the template to be filled to obtain the target template.
[0039] In one embodiment, the first determining module includes:
[0040] The first determining unit is used to take the constraint rules in the first business rule as constraint edges and each parameter value in the parameter value set as a variable.
[0041] The second determining unit is used to determine the constraint network based on the constraint edges and the variables;
[0042] The third determining unit is used to traverse the constraint network using a constraint propagation algorithm, and determine the variable as a conflict parameter value if any variable cannot simultaneously satisfy at least two constraint edges.
[0043] In one embodiment, the second determining module includes:
[0044] The fourth determining unit is used to use the conflict parameter value as a decision variable;
[0045] The fifth determining unit is used to determine the objective function based on the first business rule and the second business rule;
[0046] The solution unit is used to generate a candidate solution set based on the decision variables and the objective function using a multi-objective evolutionary algorithm. The candidate solution set includes at least one candidate solution, and each candidate solution represents the value of the decision variable that simultaneously satisfies the first business rule and the second business rule.
[0047] The sixth determining unit is configured to, in response to a selection instruction, select one of the candidate solutions from the candidate solution set as the target solution;
[0048] The seventh determining unit is used to determine the target parameter value based on the target solution.
[0049] In one embodiment, the fifth determining unit is specifically used for:
[0050] Minimizing the degree of violation of the first business rule is taken as the first sub-objective function; maximizing the achievement of the business objectives that the second business rule should satisfy is taken as the second sub-objective function; the objective function is determined based on the first sub-objective function and the second sub-objective function.
[0051] In one embodiment, the device further includes:
[0052] The change log module is used to obtain the version identifier of the target template; when the parameter fields in the target template are modified, a new target template is created, the version identifier is updated, and the change information is recorded.
[0053] In one embodiment, the change log module includes:
[0054] The eighth determining unit is used to construct an ordinary differential equation system model based on each parameter field in the target template and the dependencies between the parameter fields, in the presence of source parameter values; wherein, the source parameter value represents any parameter value in the target template that has been modified; the ordinary differential equation system model is used to describe the dynamic interaction between parameter fields;
[0055] The acquisition unit is used to acquire the proposed change value of the source parameter value;
[0056] The calculation unit is used to calculate the eigenvalues of the Jacobian matrix of the ordinary differential equation system model at the equilibrium point based on the proposed change value;
[0057] The ninth determining unit is used to take the proposed change value of the source parameter value as the target parameter value when the feature value meets the threshold.
[0058] The tenth determining unit is used to determine a new target template based on the target parameter value.
[0059] Thirdly, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the above-described method.
[0060] Fourthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the above-described method.
[0061] Fifthly, this application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the above-described method.
[0062] The aforementioned parameter template determination method, apparatus, computer equipment, computer-readable storage medium, and computer program product first obtain the set of parameter values for each parameter field in the batch-imported template to be filled; wherein the template to be filled is created in response to operations on the front-end interface; secondly, based on a predefined first business rule and the set of parameter values, conflicting parameter values are determined; wherein the first business rule represents the mandatory logical conditions that the parameter values must satisfy; conflicting parameter values represent parameter values that cannot simultaneously satisfy at least two constraint rules in the first business rule; by constructing all business rules of the parameter template into an interrelated "constraint network," when the user imports or inputs parameter data, the algorithm no longer performs isolated checks, but performs global, dynamic logical reasoning within this network, enabling accurate identification of conflicting parameter values. Thirdly, a multi-objective optimization algorithm is used to optimize the conflicting parameter values based on the first and second business rules to obtain target parameter values; wherein the second business rule represents the business objective that the configured parameter values should satisfy; by transforming the conflicting parameter values into a "multi-objective optimization problem," the conflicting parameter values are optimized while simultaneously satisfying the first and second business rules, thereby obtaining the target parameter values. Finally, the target parameter value replaces the conflicting parameter value and is filled into the template to be filled to obtain the target template. In the whole process, the target parameter value is automatically obtained based on the conflicting parameter value through a multi-objective optimization algorithm and the target parameter value is filled into the template to be filled. There is no need to manually try to modify and combine the parameter values, thus improving efficiency. Attached Figure Description
[0063] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0064] Figure 1 This is a flowchart illustrating a parameter template determination method in one embodiment;
[0065] Figure 2 This is a flowchart illustrating the process of determining conflict parameter values in one embodiment;
[0066] Figure 3 This is a flowchart illustrating the process of determining the target parameter value in one embodiment;
[0067] Figure 4 This is a flowchart illustrating the process of determining the objective function value in one embodiment;
[0068] Figure 5This is a flowchart illustrating the process of creating a new target template when parameter fields in the target template are modified, as shown in one embodiment.
[0069] Figure 6 This is a structural block diagram of a parameter template determination device in one embodiment;
[0070] Figure 7 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0071] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application. It should be noted that existing industry solutions such as software, components, and models may be mentioned in the embodiments of this application. These should be considered exemplary and are intended only to illustrate the feasibility of implementing the technical solutions of this application, but do not imply that the applicant has already used or necessarily used such solutions.
[0072] It should be noted that the acquisition, storage, use, and processing of data in the technical solution of this application all comply with the relevant provisions of national laws and regulations.
[0073] The terms "first," "second," etc., used in this application may be used to describe various elements, but these elements are not limited by these terms. These terms are used only to distinguish the first element from the second element. The terms "comprising" and "having," and any variations thereof, used in this application, are intended to cover non-exclusive inclusion. The term "multiple" used in this application refers to two or more. The term "and / or" used in this application refers to one of the embodiments, or any combination of multiple embodiments.
[0074] In one embodiment, such as Figure 1 As shown, a workflow orchestration task processing method is provided. This embodiment illustrates the method applied to a terminal, but it is understood that the method can also be applied to a server, and to a system including both a terminal and a server, and implemented through interaction between the terminal and the server. In this embodiment, the method includes steps 102 to 108. Wherein:
[0075] Step 102: Obtain the set of parameter values for each parameter field in the batch-imported template to be populated.
[0076] The template to be filled is created in response to operations on the front-end interface.
[0077] Optionally, the terminal displays various templates to be filled through a front-end interface. Users can issue query commands through the front-end interface to obtain one or more templates to be filled. Parameter fields in each template can be added or modified, and users can also set whether they are public or private. The terminal can also issue a command to create a template named "XX" to be filled through the front-end interface, and add or modify the parameter fields in the template.
[0078] Optionally, the user selects a set of parameter values to be imported, such as an Excel file, and uploads the set of parameter values through the front-end interface. The terminal then retrieves the set of parameter values imported in batch mode.
[0079] For example, configuring relevant parameters for product "XX". Business personnel create a template named "XX" to be populated through the front-end interface, and automatically generate a unique template number for the template named "XX" and record the template version. They then add or modify the parameter fields in the template, adding parameter fields and configuring their data types such as: client_grade (customer level): enumeration type [A, B, C]; base_rate (benchmark interest rate): numeric type; risk_premium (risk premium): numeric type; loan_term (loan term): numeric type (months); min_amount (minimum loan amount): numeric type; max_amount (maximum loan amount): numeric type; final_rate (final execution interest rate): calculated field.
[0080] Step 104: Determine conflicting parameter values based on the predefined first business rule and parameter value set.
[0081] The first business rule represents the mandatory logical condition that the parameter value must meet; conflicting parameter values represent parameter values that cannot simultaneously meet at least two constraint rules in the first business rule.
[0082] Optionally, after creating the template to be filled and configuring the parameter fields in the template, the terminal can also configure business rules and store the configured business rules in the configuration file. The first business rule represents the mandatory logical conditions that the parameter value must meet, such as final_rate (final execution rate) = base_rate (benchmark rate) + risk_premium (risk premium); or final_rate ≤ 15%; or loan_term (loan term) ∈ [6, 60] (6-60 months), etc.
[0083] Optionally, the terminal determines the conflicting parameter value based on the parameter value set and the first business rule. For example, if the rule determines that the customer grade is "B" and its risk premium is in the range of [1.0%, 2.0%], that is, client_grade= 'B' can obtain risk_premium∈[1.0%, 2.0%], but the risk_premium in the parameter value set is 2.5%, which does not belong to the range of [1.0%, 2.0%]. In this case, the parameter value corresponding to the "risk premium" field is a conflicting parameter value.
[0084] For example, according to the first business rule, final_rate (final execution rate) = base_rate (benchmark rate) + risk_premium (risk premium), such as final_rate (final execution rate) = 13.5% + 2.5% = 16%; another rule states that final_rate (final execution rate) ≤ 15%, but 16% > 15%. In this case, the parameter value corresponding to the "final execution rate" field is a conflicting parameter value.
[0085] Step 106: Optimize the conflict parameter values based on the first business rule and the second business rule using a multi-objective optimization algorithm to obtain the target parameter values.
[0086] The second business rule indicates the business objectives that the configured parameter values should meet.
[0087] Optionally, before or after configuring the first business rule, the terminal can also configure a second business rule. The second business rule indicates the business objectives that the configured parameter values should meet. For example, the base_rate (benchmark interest rate) should be as high as possible, which is beneficial to the bank's revenue; the final_rate (final execution interest rate) should be as low as possible, which is beneficial to customers choosing the product; and the risk_premium (risk premium) should be negatively correlated with the client_grade (customer level). The rules corresponding to the conflicting parameter values are constructed as a multi-objective optimization problem: the conflicting parameter values are used as decision variables; and the objective function is determined based on the first and second business rules. Solving this multi-objective optimization problem yields the objective parameter values.
[0088] Step 108: Replace the conflicting parameter values with the target parameter values and fill them into the template to be filled to obtain the target template.
[0089] Optionally, the terminal replaces the conflicting parameter value with the target parameter value, fills the value to be filled template, obtains the target template, and records the version identifier of the target template.
[0090] In the above parameter template determination method, firstly, the set of parameter values for each parameter field in the batch-imported template to be filled is obtained; the template to be filled is created in response to the operation of the front-end interface. Secondly, conflicting parameter values are determined according to the predefined first business rule and the set of parameter values; the first business rule represents the mandatory logical conditions that the parameter values must meet; conflicting parameter values represent parameter values that cannot simultaneously meet at least two constraint rules in the first business rule; by constructing all the business rules of the parameter template into an interrelated "constraint network," when the user imports or inputs parameter data, the algorithm no longer performs isolated checks, but performs global and dynamic logical reasoning within this network, which can accurately identify conflicting parameter values. Thirdly, the conflicting parameter values are optimized based on the first and second business rules using a multi-objective optimization algorithm to obtain the target parameter values; the second business rule represents the business objectives that the configured parameter values should meet; by transforming the conflicting parameter values into a "multi-objective optimization problem," the conflicting parameter values are optimized while simultaneously meeting the first and second business rules, thereby obtaining the target parameter values. Finally, the target parameter value replaces the conflicting parameter value and is filled into the template to be filled to obtain the target template. In the whole process, the target parameter value is automatically obtained based on the conflicting parameter value through a multi-objective optimization algorithm and the target parameter value is filled into the template to be filled. There is no need to manually try to modify and combine the parameter values, thus improving efficiency.
[0091] In one exemplary embodiment, such as Figure 2 As shown, based on a predefined first business rule and parameter value set, conflicting parameter values are determined, including steps 202 to 206. Wherein:
[0092] Step 202: Use the constraint rules in the first business rule as constraint edges, and use each parameter value in the parameter value set as a variable.
[0093] Optionally, the terminal uses graph theory to treat the constraint rules in the first business rule as constraint edges and the parameter values in the parameter value set as variables, i.e., a node.
[0094] Step 204: Determine the constraint network based on the constraint edges and variables.
[0095] Optionally, the terminal constructs a constraint network based on each constraint edge and each variable (node). For example, constraint edge C1: IF client_grade = 'B' THEN risk_premium ∈ [1.0%, 2.0%] (If the client grade is B, then the risk premium must be between 1% and 2%); constraint edge C2: final_rate = base_rate + risk_premium AND final_rate ≤ 15% (The final rate is the sum of the base rate and the risk premium, and must be less than or equal to 15%). In this case, the parameters base_rate, risk_premium, and final_rate are nodes in the network, and C1 and C2 are edges connecting them.
[0096] Step 206: Use the constraint propagation algorithm to traverse the constraint network. If any variable cannot satisfy at least two constraint edges at the same time, the variable is determined as a conflict parameter value.
[0097] Constraint propagation algorithms include, for example, the AC-3 algorithm.
[0098] Optionally, the parameter value set includes the following fields: base_rate = 14.0%, client_grade = 'B', and risk_premium = 2.5% (2.5% violates constraint C1). The terminal detects that the variable client_grade is assigned the value 'B' using the AC-3 algorithm, checks all related constraint edges, and finds C1. The terminal propagates the information client_grade = 'B' to constraint edge C1 using the AC-3 algorithm. Rule C1 is activated, requiring the value of variable risk_premium to be restricted to [1.0%, 2.0%]. However, the current value of risk_premium, 2.5%, exceeds this range. At this point, variable risk_premium can no longer satisfy constraint edge C1. Propagation continues, and the value of risk_premium (2.5%) and the value of base_rate (14.0%) jointly act on constraint edge C2. According to the formula of C2, final_rate = 14.0% + 2.5% = 16.5%. Then, another part of condition C2, `final_rate ≤ 15%`, is checked. Since 16.5% > 15%, the variable `final_rate` also fails to satisfy constraint C2. At this point, the variable `risk_premium`, with a value of 2.5%, fails to satisfy constraint C1; and the variable `final_rate`, with a value of 16.5%, fails to satisfy constraint C2, confirming that these variables are conflicting parameter values. The algorithm determines that under the current assignment, there is no single value that can simultaneously satisfy both `risk_premium` (C1) and `final_rate` (C2). Therefore, it identifies `risk_premium` and `final_rate` as conflicting parameter values. The terminal outputs "Conflict Detection: The assignments of parameters 'risk_premium' and 'final_rate' cannot simultaneously satisfy the rules 'Level B Customer Risk Premium Range' and 'Final Interest Rate Cap'."
[0099] In this embodiment, the constraint propagation algorithm can, on the one hand, deeply trace and accurately locate the core parameter set that causes the conflict, and clearly point out which specific business rules are contradictory; on the other hand, it can handle complex business logic that is cross-field and conditional, and treat the business rules as an interconnected system to perform a global consistency check, thereby discovering conflicts that cannot be found under isolated checks.
[0100] In one exemplary embodiment, such as Figure 3 As shown, the conflict parameter values are optimized based on the first and second business rules using a multi-objective optimization algorithm to obtain the target parameter values, including steps 302 to 310. Wherein:
[0101] Step 302: Use the conflict parameter values as decision variables.
[0102] Optionally, the terminal conflict parameter values are used as decision variables for optimization. For example, risk_premium and base_rate are conflict parameter values, which means that the values of these two parameters are mainly adjusted to find a solution.
[0103] Step 304: Determine the objective function based on the first business rule and the second business rule.
[0104] Optionally, the terminal performs quantitative modeling of business rules.
[0105] First Business Rule:
[0106] f1 = the degree of violation of rule C1 (i.e., the minimum value of the risk_premium - [1.0%, 2.0%] interval boundary, ideally 0);
[0107] f2 = the degree of violation of rule C2 (i.e., max(0, (base_rate + risk_premium) - 15%), ideally 0);
[0108] Second Business Rule:
[0109] f3 = base_rate is maximized because a higher benchmark interest rate usually means higher bank revenue;
[0110] f4=final_rate is minimized because a lower final rate is more attractive to customers;
[0111] Therefore, the objective function determined by the terminal is to minimize f1, minimize f2, maximize f3, and minimize f4.
[0112] Step 306: A multi-objective evolutionary algorithm is used to generate a candidate solution set based on decision variables and objective function. The candidate solution set includes at least one candidate solution, and each candidate solution represents the value of the decision variable that simultaneously satisfies the first business rule and the second business rule.
[0113] Optionally, the terminal uses the NSGA-II algorithm to randomly generate 100 parameter combinations (risk_premium, base_rate) as the initial population based on the objective function and decision variables. The terminal calculates the value of each individual in the initial population for the four objective functions (f1, f2, f3, f4), selects superior individuals based on non-dominated sorting and crowding calculation, and generates a new generation of population through crossover and mutation. Finally, a Pareto optimal solution set is output. For example:
[0114] Candidate solution A: (base_rate=13.0%, risk_premium=2.0%) represents full compliance and higher returns.
[0115] Candidate solution B (base_rate=12.5%, risk_premium=1.8%) represents full compliance and a more competitive interest rate.
[0116] Candidate solution C: (base_rate=13.2%, risk_premium=1.5%) represents full compliance, but with a lower risk premium, which may be suitable for higher-quality customers.
[0117] Step 308: In response to the selection instruction, select a candidate solution from the candidate solution set as the target solution.
[0118] Optionally, the terminal displays each candidate solution through the front-end interface, and the user can select one of the candidate solutions as the target solution. For example, if the user clicks and selects candidate solution A in the terminal interface, the terminal will then select candidate solution A as the target solution.
[0119] Step 310: Determine the target parameter values based on the target solution.
[0120] Optionally, the terminal updates the target solution (base_rate=13.0%, risk_premium=2.0%) to the template table to be populated, named "xx". Simultaneously, it calculates .final_rate = 15.0% according to the first business rule. At this point, the parameter configuration is complete, ensuring the consistency of the business logic.
[0121] In this embodiment, when faced with complex parameter configuration scenarios involving multiple conflicting objectives, it can efficiently explore the entire solution space and find high-quality compromise solutions that are difficult for humans to discover in a short time, greatly shortening the configuration cycle and improving business response speed.
[0122] In one exemplary embodiment, such as Figure 4 As shown, the objective function is determined based on the first business rule and the second business rule, including steps 402 to 406. Wherein:
[0123] Step 402: Minimize the degree of violation of the first business rule as the first sub-objective function.
[0124] Optionally, the first business rule can be defined as follows: R1: final_rate ≤ 15% (hard cap on the final interest rate); R2: risk_premium ≥ 1.0% (risk premium guarantee requirement). The terminal quantifies the first business rule into a computable "violation degree" function.
[0125] For rule R1 (final_rate ≤ 15%), its violation degree f_violation1 can be quantified as: f_violation1 = max(0, final_rate - 15%). This means that when final_rate exceeds 15%, f_violation1 is the value of the excess portion (in %), and if it does not exceed 15%, it is 0.
[0126] For rule R2 (risk_premium≥1.0%), its violation degree f_violation2 can be quantified as: f_violation2 = max(0,1.0% - risk_premium). This means that when risk_premium is less than 1.0%, f_violation2 is the value of the insufficient part.
[0127] The first sub-objective function F_hard is determined as: Minimize F_hard = (f_violation1 + f_violation2). Ideally, F_hard = 0, indicating that all first business rules are satisfied.
[0128] Step 404: Maximize the achievement of the business objectives that the second business rule should satisfy as the second sub-objective function.
[0129] Optionally, the second business rule is: R3:Maximize(base_rate) (maximize the benchmark interest rate to increase bank revenue); R4:Minimize(final_rate) (minimize the final interest rate to enhance product market competitiveness). The terminal translates the second business rule into the business objectives that need to be optimized.
[0130] For rule R3 (Maximize(base_rate)), its achievement degree f_profit is base_rate itself. To unify it into a minimization problem, it can be defined as f_profit = -base_rate, and then minimized.
[0131] For rule R4 (Minimize(final_rate)), its achievement degree f_competitiveness is final_rate itself.
[0132] Therefore, the second sub-objective function contains two independent objectives: F_soft1: Minimize f_profit (= -base_rate) and F_soft2: Minimize f_competitiveness (= final_rate).
[0133] Step 406: Determine the objective function based on the first sub-objective function and the second sub-objective function.
[0134] Optionally, the terminal determines the objective function based on the first and second sub-objective functions, such as MinimizeF(X) = [ F_hard(X), F_soft1(X), F_soft2(X) ], that is: Minimize [ (f_violation1 + f_violation2), -base_rate, final_rate ]. Where X represents the decision variables (base_rate, risk_premium).
[0135] In this embodiment, by minimizing the degree of violation of the first business rule and maximizing the achievement of the business objectives that the second business rule should satisfy, the accuracy of the solution can be guaranteed.
[0136] In one exemplary embodiment, the method further includes: obtaining a version identifier of the target template; and, if the parameter fields in the target template are modified, creating a new target template, updating the version identifier, and recording the change information.
[0137] Optionally, the terminal obtains the version identifier of the target template, for example, V1.0. If the parameter fields in the target template are modified, such as adding or deleting parameter fields, a new target template is created based on the target template with the V1.0 version identifier, the version identifier is updated to V1.1, and the modification information such as addition or deletion is recorded.
[0138] In this embodiment, creating a new version fundamentally avoids the risk of the stable version being corrupted due to misoperation or configuration errors. Even if the new version (V1.1) encounters problems, the system still has a known, stable older version (V1.0) that can be traced and restored at any time, greatly improving the security of configuration management and the overall robustness of the system.
[0139] In one exemplary embodiment, such as Figure 5 As shown, when the parameter fields in the target template are modified, a new target template is created, including steps 502 to 510. Wherein:
[0140] Step 502: Given the existence of source parameter values, construct an ordinary differential equation system model based on the parameter fields in the target template and their dependencies.
[0141] Here, the source parameter value represents any parameter value that has been modified in the target template; the ordinary differential equation system model is used to describe the dynamic interaction between parameter fields.
[0142] Optionally, if any parameter value in the target template is modified, an ordinary differential equation system model is constructed based on the parameter fields in the target template and their dependencies. For example, the source parameter values are: base_rate (benchmark interest rate): 5.0%; loan_to_value_ratio (LTV): 70%; loan_volume (total loan amount): 100 (benchmark unit). The dependencies include: a decrease in the loan interest rate will stimulate loan demand, causing loan_volume to increase; rapid growth of loan_volume leads to risk accumulation, and the risk control system will tend to lower loan_to_value_ratio to control risk. Lowering loan_to_value_ratio will also have an inhibitory effect on loan demand. Based on the above dependencies, the terminal constructs an ordinary differential equation system model, as shown in formula (1).
[0143] Formula (1)
[0144] In the formula It is the coupling coefficient, which encapsulates the strength and speed of the interaction between parameters; targetrate represents the target interest rate; safe volume represents the safe total volume; and max represents the maximum.
[0145] Step 504: Obtain the proposed change value for the source parameter value.
[0146] Optionally, the user can lower the base rate (benchmark interest rate) from 5.0% to 4.0% by entering the proposed change value: 4.0% on the interface.
[0147] Step 506: Calculate the eigenvalues of the Jacobian matrix of the ordinary differential equation system model at the equilibrium point based on the proposed change values.
[0148] Optionally, the terminal takes base_rate = 4.0% as the new target state, substitutes it into the ordinary differential equation system model, and numerically solves for the new equilibrium point S* (i.e., the state where d(...) / dt = 0) that the system will eventually reach under the new interest rate, and predicts the loan_to_value_ratio and loan_volume at this point. At the new equilibrium point S*, the system calculates the Jacobian matrix J of the ordinary differential equation system model. Each element J[i][j] of this matrix represents the effect of the change in parameter i on the rate of change of parameter j. The system calculates all eigenvalues of the Jacobian matrix J. .
[0149] Step 508: If the feature value meets the threshold, the proposed change value of the source parameter value is taken as the target parameter value.
[0150] The threshold is set to be less than 0 for the eigenvalues, meaning that the real part of all eigenvalues must be negative.
[0151] Optionally, all eigenvalues calculated by the terminal have negative real parts (e.g., ...). = -0.5, = -0.3), indicating that the new equilibrium point of base_rate = 4.0% is stable and small perturbations will decay. The terminal adopts 4.0% as the target parameter value.
[0152] Optionally, the terminal discovers through calculation that there is an eigenvalue with a positive real part (e.g., = +0.2), indicating instability under this change, which may cause parameter oscillations. The terminal refuses to directly use 4.0% as the target parameter value and generates an alarm; at this time, the terminal will not create a new template.
[0153] Step 510: Determine a new target template based on the target parameter values.
[0154] Optionally, the terminal creates a new parameter template version V2.1. The base_rate field in the new template is updated to 4.0%, and a change log is logged: "Based on stability analysis, the benchmark interest rate has been adjusted from 5.0% to 4.0%".
[0155] In this embodiment, it is possible to predict whether parameter changes will lead to a long-term stable and sustainable state under the dynamic interaction of the entire system, thereby improving the long-term effectiveness of the parameter strategy.
[0156] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages in other steps. It is understood that the steps in different embodiments can be freely combined as needed, and all non-contradictory solutions formed by such combinations are within the scope of protection of this application.
[0157] Based on the same inventive concept, this application also provides a parameter template determining apparatus for implementing the parameter template determining method described above. The solution provided by this apparatus is similar to the implementation described in the above method; therefore, the specific limitations in one or more parameter template determining apparatus embodiments provided below can be found in the limitations of the parameter template determining method described above, and will not be repeated here.
[0158] In one exemplary embodiment, such as Figure 6 As shown, a parameter template determining device is provided, including: an acquisition module 601, a first determining module, a second determining module 603, and a filling module 604, wherein:
[0159] The acquisition module 601 is used to acquire the set of parameter values of each parameter field in the batch-imported template to be filled; wherein, the template to be filled is created in response to the operation of the front-end interface.
[0160] The first determining module 602 is used to determine conflicting parameter values based on a predefined first business rule and a set of parameter values; wherein, the first business rule represents the mandatory logical conditions that the parameter value must satisfy; and the conflicting parameter value represents the parameter value that cannot simultaneously satisfy at least two constraint rules in the first business rule.
[0161] The second determining module 603 is used to optimize the conflict parameter values based on the first business rule and the second business rule through a multi-objective optimization algorithm to obtain the target parameter values; wherein, the second business rule represents the business objective that the configured parameter values should satisfy.
[0162] The filling module 604 is used to replace the conflicting parameter values with the target parameter values and fill them into the template to be filled, thus obtaining the target template.
[0163] In one exemplary embodiment, the first determining module 602 includes:
[0164] The first determining unit is used to take the constraint rules in the first business rule as constraint edges and the parameter values in the parameter value set as variables.
[0165] The second determining unit is used to determine the constraint network based on the constraint edges and variables.
[0166] The third determining unit is used to traverse the constraint network using the constraint propagation algorithm, and determine the variable as a conflict parameter value when any variable cannot simultaneously satisfy at least two constraint edges.
[0167] In one exemplary embodiment, the second determining module 603 includes:
[0168] The fourth determining unit is used to use conflict parameter values as decision variables.
[0169] The fifth determining unit is used to determine the objective function based on the first business rule and the second business rule.
[0170] The solution unit is used to generate a set of candidate solutions based on decision variables and objective function using a multi-objective evolutionary algorithm. The set of candidate solutions includes at least one candidate solution, and each candidate solution represents the value of the decision variable that simultaneously satisfies the first business rule and the second business rule.
[0171] The sixth determining unit is used to select a candidate solution from the candidate solution set as the target solution in response to the selection instruction.
[0172] The seventh determining unit is used to determine the target parameter values based on the target solution.
[0173] In an exemplary embodiment, the fifth determining unit is specifically configured to: take minimizing the degree of violation of the first business rule as a first sub-objective function; take maximizing the degree of achievement of the business objective that the second business rule should satisfy as a second sub-objective function; and determine an objective function based on the first sub-objective function and the second sub-objective function.
[0174] In an exemplary embodiment, the parameter template determining device further includes: a change record module, used to obtain the version identifier of the target template; and, in the case of modifying the parameter fields in the target template, to create a new target template, update the version identifier, and record the change information.
[0175] In one exemplary embodiment, the change log module further includes:
[0176] The eighth determining unit is used to construct an ordinary differential equation system model based on each parameter field in the target template and the dependencies between parameter fields, given the existence of source parameter values; wherein, the source parameter value represents any parameter value in the target template that has been modified; the ordinary differential equation system model is used to describe the dynamic interaction between parameter fields.
[0177] The acquisition unit is used to acquire the proposed change value of the source parameter value.
[0178] The computational unit is used to calculate the eigenvalues of the Jacobian matrix of the ordinary differential equation system model at the equilibrium point based on the proposed change value.
[0179] The ninth determining unit is used to take the proposed change value of the source parameter value as the target parameter value when the feature value meets the threshold.
[0180] The tenth determining unit is used to determine a new target template based on the target parameter values.
[0181] Each module in the aforementioned parameter template determining device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.
[0182] In one exemplary embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 7 As shown, this computer device includes a processor, memory, input / output interfaces (I / O), and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides the environment for the operating system and computer programs stored in the non-volatile storage media. The database stores parameter templates and parameter values. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communicating with external terminals via a network connection. When executed by the processor, the computer program implements a parameter template determination method.
[0183] Those skilled in the art will understand that Figure 7 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0184] In one embodiment, a computer device is also provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above method embodiments.
[0185] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.
[0186] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.
[0187] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.
[0188] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0189] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A method for determining a parameter template, characterized in that, The method includes: Obtain the set of parameter values for each parameter field in the batch-imported template to be populated; wherein, the template to be populated is created in response to operations on the front-end interface; Based on a predefined first business rule and the set of parameter values, conflicting parameter values are determined; wherein, the first business rule represents the mandatory logical conditions that the parameter value must satisfy; the conflicting parameter value represents a parameter value that cannot simultaneously satisfy at least two constraint rules in the first business rule. The conflict parameter values are optimized using a multi-objective optimization algorithm based on the first and second business rules to obtain target parameter values; wherein, the second business rule represents the business objective that the configured parameter values should satisfy; The target parameter value is used to replace the conflict parameter value and fill it into the template to be filled to obtain the target template.
2. The method according to claim 1, characterized in that, The step of determining conflicting parameter values based on a predefined first business rule and the set of parameter values includes: The constraint rules in the first business rule are used as constraint edges, and each parameter value in the parameter value set is used as a variable. The constraint network is determined based on the constraint edges and the variables; The constraint network is traversed using a constraint propagation algorithm. If any variable cannot simultaneously satisfy at least two constraint edges, the variable is identified as a conflict parameter value.
3. The method according to claim 1, characterized in that, The step of optimizing the conflict parameter values based on the first and second business rules using a multi-objective optimization algorithm to obtain target parameter values includes: Use the conflict parameter values as decision variables; Based on the first business rule and the second business rule, determine the objective function; A multi-objective evolutionary algorithm is used to generate a candidate solution set based on the decision variables and the objective function. The candidate solution set includes at least one candidate solution, and each candidate solution represents the value of the decision variable that simultaneously satisfies the first business rule and the second business rule. In response to a selection instruction, a candidate solution is selected from the set of candidate solutions as the target solution; The target parameter value is determined based on the target solution.
4. The method according to claim 3, characterized in that, The step of determining the objective function based on the first business rule and the second business rule includes: Minimizing the degree of violation of the first business rule is taken as the first sub-objective function; The second sub-objective function is to maximize the achievement of the business objectives that the second business rule should satisfy. The objective function is determined based on the first sub-objective function and the second sub-objective function.
5. The method according to any one of claims 1 to 4, characterized in that, The method further includes: Obtain the version identifier of the target template; If the parameter fields in the target template are modified, a new target template is created, the version identifier is updated, and the change information is recorded.
6. The method according to claim 5, characterized in that, The step of creating a new target template when modifying parameter fields in the target template includes: In the presence of source parameter values, an ordinary differential equation system model is constructed based on each parameter field in the target template and the dependencies between the parameter fields; wherein, the source parameter value represents any parameter value in the target template that has been modified; the ordinary differential equation system model is used to describe the dynamic interactions between parameter fields; Obtain the proposed change value for the source parameter value; Calculate the eigenvalues of the Jacobian matrix of the ordinary differential equation system model at the equilibrium point based on the proposed change value; If the feature value meets the threshold, the proposed change value of the source parameter value is taken as the target parameter value; Based on the target parameter values, a new target template is determined.
7. A parameter template determining device, characterized in that, The device includes: The acquisition module is used to acquire the set of parameter values for each parameter field in the batch-imported template to be filled; wherein, the template to be filled is created in response to the operation of the front-end interface; The first determining module is used to determine conflicting parameter values based on a predefined first business rule and the set of parameter values; wherein, the first business rule represents the mandatory logical conditions that the parameter value must satisfy; and the conflicting parameter value represents a parameter value that cannot simultaneously satisfy at least two constraint rules in the first business rule. The second determining module is used to optimize the conflict parameter value based on the first business rule and the second business rule using a multi-objective optimization algorithm to obtain the target parameter value; wherein, the second business rule represents the business objective that the configured parameter value should satisfy; The filling module is used to replace the conflicting parameter value with the target parameter value and fill it into the template to be filled to obtain the target template.
8. The apparatus according to claim 7, characterized in that, The first determining module includes: The first determining unit is used to take the constraint rules in the first business rule as constraint edges and each parameter value in the parameter value set as a variable. The second determining unit is used to determine the constraint network based on the constraint edges and the variables; The third determining unit is used to traverse the constraint network using a constraint propagation algorithm, and determine the variable as a conflict parameter value if any variable cannot simultaneously satisfy at least two constraint edges.
9. The apparatus according to claim 7, characterized in that, The second determining module includes: The fourth determining unit is used to use the conflict parameter value as a decision variable; The fifth determining unit is used to determine the objective function based on the first business rule and the second business rule; The solution unit is used to generate a candidate solution set based on the decision variables and the objective function using a multi-objective evolutionary algorithm. The candidate solution set includes at least one candidate solution, and each candidate solution represents the value of the decision variable that simultaneously satisfies the first business rule and the second business rule. The sixth determining unit is configured to, in response to a selection instruction, select one of the candidate solutions from the candidate solution set as the target solution; The seventh determining unit is used to determine the target parameter value based on the target solution.
10. The apparatus according to claim 9, characterized in that, The fifth determining unit is specifically used for: Minimizing the degree of violation of the first business rule is taken as the first sub-objective function; maximizing the achievement of the business objectives that the second business rule should satisfy is taken as the second sub-objective function; the objective function is determined based on the first sub-objective function and the second sub-objective function.
11. The apparatus according to any one of claims 7 to 10, characterized in that, The device further includes: The change log module is used to obtain the version identifier of the target template; when the parameter fields in the target template are modified, a new target template is created, the version identifier is updated, and the change information is recorded.
12. The apparatus according to claim 11, characterized in that, The change record module includes: The eighth determining unit is used to construct an ordinary differential equation system model based on each parameter field in the target template and the dependencies between the parameter fields, in the presence of source parameter values; wherein, the source parameter value represents any parameter value in the target template that has been modified; the ordinary differential equation system model is used to describe the dynamic interaction between parameter fields; The acquisition unit is used to acquire the proposed change value of the source parameter value; The calculation unit is used to calculate the eigenvalues of the Jacobian matrix of the ordinary differential equation system model at the equilibrium point based on the proposed change value; The ninth determining unit is used to take the proposed change value of the source parameter value as the target parameter value when the feature value meets the threshold. The tenth determining unit is used to determine a new target template based on the target parameter value.
13. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 6.
14. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.
15. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.