Optimal solution search method, device and equipment for target application system

CN115169142BActive Publication Date: 2026-08-07BEIJING BAIDU NETCOM SCI & TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING BAIDU NETCOM SCI & TECH CO LTD
Filing Date
2022-07-22
Publication Date
2026-08-07

AI Technical Summary

Benefits of technology

[0010]According to one or more embodiments of this disclosure, and depending on the specific application system, at least one variable, the value range of different variables, and the optimization objective function for the scenario are determined. Then, based on the above information, at least one action is defined for each variable. During the optimal solution search process, all variables are first initialized, and initial target values ​​are calculated. Corresponding actions are then performed on each of the at least one variable, and target values ​​are calculated for each. Based on the target values, the execution of the next round of actions and the benchmark for executing the actions are determined until the optimal solution is obtained. Thus, by defining the changing trend of each variable, the solution for each variable can be made closer to the optimal solution in each search, thereby improving the efficiency and accuracy of solving optimal solution problems with high-dimensional variables.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115169142B_ABST
    Figure CN115169142B_ABST
Patent Text Reader

Abstract

The present disclosure provides an optimal solution search method, device and equipment for a target application system, relates to the technical field of computers, and particularly relates to the field of system control and system optimization. The implementation scheme is as follows: for each variable in a variable group, at least one action corresponding to the variable is determined to form an action set; at least one variable is initialized as a reference variable group; a reference target value is determined based on the reference variable group and a target function; for each action, the following operations are performed: updating the variable corresponding to the action; determining a second target value; and determining a target optimization result; based on the target optimization result of each action in the action set, updating the action set, the reference variable group and the reference target value applied by a subsequent search operation; and repeatedly performing the search operation and the updating operation until the number of executions is greater than a preset search number or the second target value is less than a preset target value, and outputting the optimal solution of the target function.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computer technology, and more particularly to the field of system control and system optimization, specifically to an optimal solution search method, apparatus, electronic device, computer-readable storage medium, and computer program product for a target application system. Background Technology

[0002] In application scenarios such as power distribution, material storage and transfer, and hybrid product manufacturing, there are often many objective optimization problems based on multivariate constraints. It is necessary to solve the optimal solution of the objective optimization problem in order to optimize the corresponding application system.

[0003] The methods described in this section are not necessarily methods that had been previously conceived or adopted. Unless otherwise specified, no method described in this section should be assumed to be prior art simply because it is included in this section. Similarly, unless otherwise specified, the issues mentioned in this section should not be considered to be accepted in any prior art. Summary of the Invention

[0004] This disclosure provides a method, apparatus, electronic device, computer-readable storage medium, and computer program product for searching optimal solutions for a target application system.

[0005] According to one aspect of this disclosure, an optimal solution search method for a target application system is provided, wherein the target application system performs state evaluation through an objective function, the objective function being constructed based on a set of variables corresponding to the target application system, the set of variables including at least one variable, each of the at least one variable varying within a corresponding value range, the method comprising: for each variable in the set of variables, determining at least one action corresponding to the variable based on the value range of the variable, to form a set of actions corresponding to the set of variables, wherein each of the at least one action is used to indicate the changing trend of the corresponding variable; initializing at least one variable to correspondingly obtain at least one first variable value as a baseline variable set; and determining a first target value based on the baseline variable set and the objective function as a baseline target value. For each action in the action set, perform the following search operation: update the first variable value of the variable corresponding to the action in the baseline variable set based on the action and the corresponding preset change step size; determine the second objective value based on the updated baseline variable set and the objective function; determine the objective optimization result based on the second objective value and the baseline objective value; update the action set, baseline variable set, and baseline objective value applied to the subsequent search operation based on the objective optimization result corresponding to each action in the action set; and repeat the search operation and the operation of updating the action set, baseline variable set, and baseline objective value until the number of executions is greater than the preset number of searches or the second objective value is less than the preset objective value, and output the value of each variable in the variable set corresponding to the second objective value as the optimal solution of the objective function.

[0006] According to another aspect of this disclosure, an optimal solution search apparatus for a target application system is provided, wherein the target application system performs state evaluation through an objective function, the objective function being constructed based on a set of variables corresponding to the target application system, the set of variables including at least one variable, each of the at least one variable varying within a corresponding value range, the apparatus comprising: a first determining unit configured to determine at least one action corresponding to each variable in the set of variables based on the value range of the variable, to form an action set corresponding to the set of variables, wherein each of the at least one action is used to indicate the changing trend of the corresponding variable; an initialization unit configured to initialize at least one variable to correspondingly obtain at least one first variable value as a reference variable set; a second determining unit configured to determine a first target value based on the reference variable set and the objective function, as a reference target value; and an execution unit configured to execute the action set. For each action in the algorithm, the following search operations are performed: a first update subunit is configured to update the first variable value of the variable corresponding to the action in the baseline variable set based on the action and the corresponding preset change step size; a first determination subunit is configured to determine the second target value based on the updated baseline variable set and the objective function; and a second determination subunit is configured to determine the target optimization result based on the second target value and the baseline target value; a first update unit is configured to update the action set, baseline variable set, and baseline target value applied to the subsequent search operation based on the target optimization result corresponding to each action in the action set; and an output unit is configured to repeatedly execute the search operation and update the action set, baseline variable set, and baseline target value until the number of executions is greater than the preset number of searches or the second target value is less than the preset target value, and output the value of each variable in the variable set corresponding to the second target value as the optimal solution of the objective function.

[0007] According to another aspect of this disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the above-described optimal solution search method for a target application system.

[0008] According to another aspect of this disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to cause a computer to execute the above-described optimal solution search method for a target application system.

[0009] According to another aspect of this disclosure, a computer program product is provided, including a computer program, wherein the computer program, when executed by a processor, implements the above-described optimal solution search method for a target application system.

[0010] According to one or more embodiments of this disclosure, and depending on the specific application system, at least one variable, the value range of different variables, and the optimization objective function for the scenario are determined. Then, based on the above information, at least one action is defined for each variable. During the optimal solution search process, all variables are first initialized, and initial target values ​​are calculated. Corresponding actions are then performed on each of the at least one variable, and target values ​​are calculated for each. Based on the target values, the execution of the next round of actions and the benchmark for executing the actions are determined until the optimal solution is obtained. Thus, by defining the changing trend of each variable, the solution for each variable can be made closer to the optimal solution in each search, thereby improving the efficiency and accuracy of solving optimal solution problems with high-dimensional variables.

[0011] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0012] The accompanying drawings exemplify embodiments and form part of the specification, serving together with the textual description to explain exemplary implementations of the embodiments. The illustrated embodiments are for illustrative purposes only and do not limit the scope of the claims. Throughout the drawings, the same reference numerals refer to similar but not necessarily identical elements.

[0013] Figure 1 A schematic diagram of an exemplary system in which the various methods described herein may be implemented according to embodiments of the present disclosure is shown;

[0014] Figure 2 A flowchart of an optimal solution search method for a target application system according to an embodiment of the present disclosure is shown;

[0015] Figure 3 The variable set corresponding to the power system according to an exemplary embodiment of the present disclosure is shown;

[0016] Figure 4 A flowchart of an optimal solution search method for a target application system according to an embodiment of the present disclosure is shown;

[0017] Figure 5 A structural block diagram of an optimal solution search apparatus for a target application system according to an embodiment of the present disclosure is shown;

[0018] Figure 6 A structural block diagram of an exemplary electronic device that can be used to implement embodiments of the present disclosure is shown. Detailed Implementation

[0019] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.

[0020] In this disclosure, unless otherwise stated, the use of terms such as "first," "second," etc., to describe various elements is not intended to limit the positional, temporal, or importance relationships of these elements; such terms are merely used to distinguish one element from another. In some examples, the first element and the second element may refer to the same instance of that element, while in other cases, based on the context, they may refer to different instances.

[0021] The terminology used in the description of the various examples described in this disclosure is for the purpose of describing particular examples only and is not intended to be limiting. Unless the context explicitly indicates otherwise, an element may be one or more unless the number of elements is specifically limited. Furthermore, the term "and / or" as used in this disclosure covers any one of the listed items and all possible combinations thereof.

[0022] In application scenarios such as power distribution, material storage and transfer, and hybrid product manufacturing, there are often many objective optimization problems based on multivariate constraints. It is necessary to solve the optimal solution of the objective optimization problem in order to optimize the corresponding application system.

[0023] For example, in a carbon-neutral power scenario, the introduction of new energy power generation, such as wind power and photovoltaics, is gradually increasing. These new energy power generation sources are affected by many factors, making it impossible to accurately estimate their power output. This results in the inability to directly solve the power allocation problem in power scenarios involving new energy sources. It is necessary to simulate the power system in the scenario as a black box, treating the parameters that need to be configured as variables, and adjusting them through black box feedback to find the optimal solution for these variables.

[0024] In related technologies, methods for finding the optimal solution generally include gradient descent methods and search-based methods. However, due to the complexity of real-world application systems, the dimensionality of variables in an optimization problem can even reach tens of thousands of dimensions or more. For such problems, gradient descent methods cannot obtain the optimal solution. As for multidimensional methods, they are generally only effective in solving problems with low-dimensional variables (e.g., 100-200 dimensions), and their performance is poor in finding the global optimal solution for high-dimensional variables (e.g., 10,000 dimensions or even higher).

[0025] This disclosure presents an embodiment of an optimal solution search method for a target application system. Based on the specific application system, at least one variable, the value range of different variables, and the optimization objective function for the scenario are determined. Then, based on the above information, at least one action is defined for each variable. During the optimal solution search process, all variables are first initialized, and initial target values ​​are calculated. Corresponding actions are then executed for each of the at least one variable, and target values ​​are calculated for each. Based on the target values, the execution of the next round of actions and the benchmark for executing the actions are determined until the optimal solution is obtained. Therefore, by defining the changing trend of each variable, the solution for each variable can be made closer to the optimal solution in each search, thereby improving the efficiency and accuracy of solving optimal solution problems with high-dimensional variables.

[0026] The embodiments of this disclosure will now be described in detail with reference to the accompanying drawings.

[0027] Figure 1 A schematic diagram of an exemplary system 100 in which the various methods and apparatus described herein can be implemented according to embodiments of this disclosure is shown. Reference Figure 1 The system 100 includes one or more client devices 101, 102, 103, 104, 105 and 106, a server 120, and one or more communication networks 110 coupling the one or more client devices to the server 120. The client devices 101, 102, 103, 104, 105 and 106 can be configured to execute one or more applications.

[0028] In embodiments of this disclosure, server 120 may run one or more services or software applications that enable the execution of an optimal solution search method for a target application system.

[0029] In some embodiments, server 120 may also provide other services or software applications, which may include non-virtual and virtual environments. In some embodiments, these services may be provided as web-based services or cloud services, such as to users of client devices 101, 102, 103, 104, 105, and / or 106 under a Software as a Service (SaaS) model.

[0030] exist Figure 1In the configuration shown, server 120 may include one or more components that implement the functions performed by server 120. These components may include software components, hardware components, or combinations thereof that can be executed by one or more processors. Users operating client devices 101, 102, 103, 104, 105, and / or 106 can sequentially interact with server 120 using one or more client applications to utilize the services provided by these components. It should be understood that various different system configurations are possible and may differ from system 100. Therefore, Figure 1 This is an example of a system used to implement the various methods described herein, and is not intended to be limiting.

[0031] Users can use client devices 101, 102, 103, 104, 105, and / or 106 to send corresponding instructions to different devices in the system based on the optimal solution, thereby optimizing system control. The client devices can provide an interface that allows users to interact with them. The client devices can also output information to the user through this interface. Although... Figure 1 Only six client devices are described, but those skilled in the art will understand that this disclosure can support any number of client devices.

[0032] Client devices 101, 102, 103, 104, 105, and / or 106 may include various types of computer devices, such as portable handheld devices, general-purpose computers (such as personal computers and laptops), workstation computers, wearable devices, smart screen devices, self-service terminal devices, service robots, gaming systems, thin clients, various messaging devices, sensors, or other sensing devices. These computer devices can run various types and versions of software applications and operating systems, such as Microsoft Windows, Apple iOS, UNIX-like operating systems, Linux or Linux-like operating systems (such as Google Chrome OS); or include various mobile operating systems, such as Microsoft Windows Mobile OS, iOS, Windows Phone, and Android. Portable handheld devices may include cellular phones, smartphones, tablets, personal digital assistants (PDAs), etc. Wearable devices may include head-mounted displays (such as smart glasses) and other devices. Gaming systems may include various handheld gaming devices, internet-enabled gaming devices, etc. Client devices are capable of executing various applications, such as various internet-related applications, communication applications (such as email applications), short message service (SMS) applications, and can use various communication protocols.

[0033] Network 110 can be any type of network well known to those skilled in the art, and can use any of a variety of available protocols (including but not limited to TCP / IP, SNA, IPX, etc.) to support data communication. By way of example only, one or more networks 110 can be a local area network (LAN), an Ethernet-based network, a token ring network, a wide area network (WAN), the Internet, a virtual network, a virtual private network (VPN), an intranet, an extranet, a blockchain network, a public switched telephone network (PSTN), an infrared network, a wireless network (e.g., Bluetooth, WIFI), and / or any combination of these and / or other networks.

[0034] Server 120 may include one or more general-purpose computers, special-purpose server computers (e.g., PC (personal computer) servers, UNIX servers, mid-range servers), blade servers, mainframe computers, server clusters, or any other suitable arrangement and / or combination. Server 120 may include one or more virtual machines running a virtual operating system, or other computing architectures involving virtualization (e.g., one or more flexible pools of logical storage devices that can be virtualized to maintain virtual storage devices for servers). In various embodiments, server 120 may run one or more services or software applications that provide the functionality described below.

[0035] The computing unit in server 120 can run one or more operating systems, including any of the aforementioned operating systems and any commercially available server operating system. Server 120 can also run any of a variety of additional server applications and / or middleware applications, including HTTP servers, FTP servers, CGI servers, JAVA servers, database servers, etc.

[0036] In some implementations, server 120 may include one or more applications to analyze and merge data feeds and / or event updates received from users of client devices 101, 102, 103, 104, 105 and / or 106. Server 120 may also include one or more applications to display data feeds and / or real-time events via one or more display devices of client devices 101, 102, 103, 104, 105 and / or 106.

[0037] In some implementations, server 120 can be a server for a distributed system or a server integrated with blockchain. Server 120 can also be a cloud server, or an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology. A cloud server is a host product in the cloud computing service system, designed to address the shortcomings of traditional physical hosts and Virtual Private Server (VPS) services, such as high management difficulty and weak business scalability.

[0038] System 100 may also include one or more databases 130. In some embodiments, these databases may be used to store data and other information. For example, one or more of the databases 130 may be used to store information such as audio files and video files. Databases 130 may reside in various locations. For example, a database used by server 120 may be local to server 120, or it may be located away from server 120 and may communicate with server 120 via a network-based or dedicated connection. Databases 130 may be of different types. In some embodiments, the database used by server 120 may be, for example, a relational database. One or more of these databases may store, update, and retrieve data from and from the databases in response to commands.

[0039] In some embodiments, one or more of the databases 130 may also be used by an application to store application data. The databases used by the application may be of different types, such as key-value stores, object stores, or regular stores supported by a file system.

[0040] Figure 1 The system 100 can be configured and operated in various ways to enable the application of the various methods and apparatus described in this disclosure.

[0041] According to some embodiments, such as Figure 2As shown, an optimal solution search method for a target application system is provided. The target application system performs state evaluation through an objective function, which is constructed based on a set of variables corresponding to the target application system. The variable set includes at least one variable, and each variable varies within its corresponding value range. The method includes: Step S201: For each variable in the variable set, based on its value range, determine at least one action corresponding to that variable to form an action set corresponding to the variable set, wherein each action in the at least one action is used to indicate the changing trend of the corresponding variable; Step S202: Initialize at least one variable to obtain at least one first variable value as a baseline variable set; Step S203: Based on the baseline variable set and the objective function, determine a first target value as a baseline target value; for each variable in the action set... For each action, the following search operations are performed: Step S204: Update the first variable value of the variable corresponding to the action in the baseline variable set based on the action and the corresponding preset change step size; Step S205: Determine the second target value based on the updated baseline variable set and the objective function; Step S206: Determine the target optimization result based on the second target value and the baseline target value; Step S207: Update the action set, baseline variable set, and baseline target value applied to the subsequent search operation based on the target optimization result corresponding to each action in the action set; Step S208: Repeat the search operation and the operation of updating the action set, baseline variable set, and baseline target value until the number of executions is greater than the preset number of searches or the second target value is less than the preset target value, and output the value of each variable in the variable set corresponding to the second target value as the optimal solution of the objective function.

[0042] Therefore, by defining the changing trend of each variable, the solution of the variable can be made closer to the optimal solution in each search, thereby improving the efficiency and accuracy of solving the optimal solution problem with high-dimensional variables.

[0043] According to some embodiments, the target application system may include at least: a power system, a material storage and transfer system, and a hybrid product manufacturing system.

[0044] In some exemplary embodiments, the target application system can be an oil storage and transfer system, which includes oil storage devices and transfer devices. The oil storage devices are used to store oil, and each oil storage device involves an upper limit on the oil storage capacity, storage costs, and the rate at which the transfer device extracts oil from the oil storage device. In some embodiments, an oil storage and transfer system typically stores and transfers multiple types of oil simultaneously. Therefore, for this system, how to allocate the storage capacity of each type of oil to meet supply demand while minimizing storage costs is the objective optimization problem of the system.

[0045] In some examples, the oil storage and transfer system stores and transfers two types of oil separately. The objective function of this system can then be expressed by the following formula:

[0046]

[0047] Here, (x1,x2) is the variable group of the system, where x1 and x2 are two variables in the variable group, representing the storage amount of Class 1 oil and Class 2 oil respectively, and the value range of each variable is [1,10], that is, max=10, min=1.

[0048] In addition, a1 and a2 represent the costs of Class 1 and Class 2 oils, respectively; b1 and b2 represent the extraction rates of Class 1 and Class 2 oils per unit time, respectively; and h1 and h2 represent the storage costs of Class 1 and Class 2 oils per unit time, respectively.

[0049] In one example, based on the actual situation of the system, the values ​​of the following parameters can be determined: a1 = 9, a2 = 4, b1 = 3, b2 = 5, h1 = 0.5, h2 = 0.2. Then, for this system, its objective function can be further expressed as:

[0050]

[0051] For a variable group (x1, x2), for each variable, based on its value range, at least one action can be determined for each variable. In one example, the set of actions for this variable group may include:

[0052] For variable x1:

[0053] Action 1: The value of variable x1 moves closer to max (equivalent to increasing the storage of Class 1 oil), and this action is recorded as "x = 1 - act = 1";

[0054] Action 2: The value of variable x1 moves closer to min (equivalent to reducing the storage amount of Class 1 oil), and this action is recorded as "x = 1 - act = 2".

[0055] For variable x2:

[0056] Action 1: The value of variable x2 moves closer to max (equivalent to increasing the storage of type 2 oil), and this action is recorded as "x = 2 - act = 1";

[0057] Action 2: The value of variable x2 moves closer to min (equivalent to reducing the storage amount of type 2 oil), and this action is recorded as "x = 2 - act = 2".

[0058] Subsequently, each variable in the variable group can be numerically initialized to obtain at least one first variable value, which will then be used as the base variable group for this search operation.

[0059] In some embodiments, initialization may be performed randomly on each variable within its respective value range; alternatively, the initial values ​​of each variable may be set by relevant technical personnel according to the actual situation, without any restrictions.

[0060] In one example, variables x1 and x2 can be initialized to 1 (the first variable value), then the baseline variable set for this search operation is x. 0 = (1,1); Accordingly, based on the baseline variable set and the objective function, the first objective value can be determined, that is, the baseline objective value of this search operation is f(1,1) = 47.35.

[0061] Subsequently, based on each action in the aforementioned action set and the corresponding preset change step size, the first variable value of the corresponding variable in the baseline variable set can be updated.

[0062] In some embodiments, different actions can be set with different preset change step sizes; in other embodiments, different actions can also be set with the same preset change step size, which is not limited here.

[0063] In one example, the preset change step size for each action in the above action set is 0.5. The updated baseline variable set and the corresponding second target values ​​are shown in the table below:

[0064] action benchmark variable group Updated baseline variable set x = 1 - act = 1 (1,1) (1.5,1) x = 1 - act = 2 (1,1) (0.5,1) x = 2 - act = 1 (1,1) (1,1.5) x = 2 - act = 2 (1,1) (1,0.5)

[0065] In some embodiments, a second target value for each action can be determined based on the updated set of baseline variables and the aforementioned objective function, and compared with the baseline target value to determine the target optimization result.

[0066] In some embodiments, the smaller the value of the objective function, the better the state of the target application system.

[0067] In one example, for each action in the above action set, the corresponding second objective value and the objective optimization result are shown in the table below:

[0068]

[0069]

[0070] In some embodiments, the action to be applied in the next search operation can be selected based on the target optimization result corresponding to each action, so as to update the action set.

[0071] According to some embodiments, updating the action set, benchmark variable group, and benchmark target value applied to a subsequent search operation based on the target optimization result corresponding to each action in the action set includes: filtering a first action in the action set that satisfies at least one of the following to update the action set: the target optimization result corresponding to the first action is a first optimization result, wherein the first optimization result indicates that the state of the target application system has been optimized; the target optimization result corresponding to the first action is a first optimization result, and the absolute value of the difference between the second target value corresponding to the first action and the benchmark target value before the update is greater than a first preset difference; and in response to multiple actions being executed on the search path where the first action is located and multiple target optimization results being obtained accordingly, on the search path, the number of first optimization results among the multiple target optimization results is greater than the number of second optimization results, wherein the second optimization result indicates that the state of the target application system has not been optimized.

[0072] Therefore, by setting multiple update methods for action selection, we can ensure that the baseline target value is better than the target value before the update, while enriching the search possibilities as much as possible, thereby enabling a comprehensive search and improving the accuracy of the optimal solution search.

[0073] In some embodiments, the action corresponding to the optimization of the state of the target application system (i.e., the first optimization result) can be selected as the first action.

[0074] In one example, the target optimization result of actions "x=1-act=1" and "x=2-act=1" in the above action set is "optimization". Therefore, these two actions can be selected as the first actions, and the action set is updated accordingly.

[0075] In some embodiments, the first action may be selected as the action in which the state of the target application system is optimized and the absolute value of the difference between the second target value and the baseline target value before the update is greater than the first preset difference (e.g., it can be 1).

[0076] Understandably, the first preset difference can be determined by relevant technical personnel according to actual needs, and no restrictions are imposed here.

[0077] In one example, the target optimization result of the actions "x = 1 - act = 1" and "x = 2 - act = 1" in the above action set is "optimization", and the absolute value of the difference between the second target value and the baseline target value before the update is greater than the first preset difference of 1. Therefore, these two actions can be selected as the first actions, and the action set is updated accordingly.

[0078] In some embodiments, after multiple search operations have been performed, that is, each action in the current search operation is on a different search path, and the target optimization result of each action is recorded on that search path. When the number of target optimization results on the search path that are "the state of the target application system is optimized" (i.e., the first optimization result) is greater than the number of target optimization results that are "the state of the target application system is not optimized" (i.e., the second optimization result), the action corresponding to the current search operation on that search path can be selected as the first action.

[0079] In one example, if an action in the current search operation is "x = 1 - act = 1", and its search path sequentially goes through three actions: "x = 1 - act = 1", "x = 2 - act = 1", and "x = 1 - act = 1" (corresponding to three search operations respectively), where the target optimization result is "optimized" in two of them and "not optimized" in one of them, then the action "x = 1 - act = 1" in the current search operation can be selected as the first action.

[0080] In some embodiments, a first action that satisfies the above conditions can be selected simultaneously to update the action set.

[0081] According to some embodiments, the optimal solution search method for the target application system may further include: in response to the failure to filter out the first action, the number of executions being less than or equal to a preset number of searches, and the second target value being greater than or equal to a preset target value, updating the action set based on the initial action set.

[0082] In some embodiments, when the first action cannot be selected based on the above method, but the condition for stopping the search has not yet been met, the initial action set can be applied to update the action set. Thus, by using the above method, the action set can be reset when the search gets stuck in a local optimum, thereby further searching for the global optimum and improving the accuracy of the optimal solution search.

[0083] In some embodiments, the selection of the benchmark variable set and benchmark target value to be applied in the next search operation can be based on the target optimization result corresponding to each action.

[0084] According to some embodiments, the baseline variable set corresponds to the baseline target value, and, based on the target optimization result corresponding to each action in the action set, updating the action set, baseline variable set, and baseline target value applied to the subsequent search operation includes at least one of the following: updating the baseline target value based on at least one second target value corresponding to at least one action in the action set and a preset target value; and updating the baseline target value based on the difference between at least one second target value and the baseline target value before the update and a second preset difference.

[0085] Therefore, by setting multiple baseline target values ​​and update methods for baseline variable groups, it is possible to ensure that the baseline target value is better than the target value before the update, while enriching the search possibilities as much as possible, thereby enabling a comprehensive search and improving the accuracy of the optimal solution search.

[0086] In some embodiments, all second target values ​​obtained in the current search operation can be compared with a preset target value, and a second target value that is less than the preset target value can be selected. This second target value is then used as the benchmark target value for the next search operation, and the variable group corresponding to the second target value is used as the benchmark variable group for the next search operation.

[0087] In some embodiments, the smallest second target value among all the second target values ​​obtained in the current search operation may be selected as the baseline target value for the next search operation, and the variable group corresponding to the second target value may be used as the baseline variable group for the next search operation.

[0088] In some embodiments, the target optimization result can be selected as the state of the target application system being optimized, and the absolute value of the difference between the second target value and the baseline target value before the update is greater than the second preset difference (e.g., it can be 1) as the baseline target value for the next search operation, and the variable group corresponding to the second target value is used as the baseline variable group for the next search operation.

[0089] Understandably, the second preset difference can be determined by relevant technical personnel according to actual needs, and no restrictions are imposed here.

[0090] In some embodiments, after repeatedly performing search operations and updating the action set, the baseline variable set, and the baseline target value, when the number of executions is greater than the preset number of searches (e.g., 1000 times) or the second target value is less than the preset target value (e.g., 0), the search stops, and the value of each variable in the variable set corresponding to the second target value is output as the optimal solution of the objective function.

[0091] In some exemplary embodiments, the target application system can be a power system, which may include, for example, power generation devices, energy storage devices, and power consumption devices. Power generation devices can include both renewable energy power generation devices and traditional energy power generation devices, while power consumption devices can include the next-level power grid and the user power consumption devices of the local power grid. This system forms a cycle of power generation, consumption, and storage. For this system, the objective optimization problem can be to solve for the optimal solution of the aforementioned set of variables so that the power system can achieve supply and demand balance; that is, to minimize the objective value of the objective function under this state. This objective function can be any function used to measure the supply and demand relationship of the system, and is not limited thereto.

[0092] In some exemplary embodiments, the power generation of new energy power generation devices is denoted as x1, the power generation of traditional energy power generation devices as x2, the energy storage capacity of energy storage devices as x3, the electricity demand of the next-level power grid as x4, and the electricity demand of user power consumption devices in the local power grid as x5. The objective function can then be expressed by the following formula:

[0093]

[0094] In one example, based on the actual situation of the system, the values ​​of the following parameters can be determined: r1 = 0.9, r2 = 0.7, x4 + x5 = 180. Therefore, for this system, its variable set is (x1, x2, x3), and its objective function can be further expressed as:

[0095]

[0096] For the variable group (x1, x2, x3), for each variable, based on its value range, at least one action can be determined for each variable. In one example, the set of actions for this variable group (x1, x2, x3) could include:

[0097] For variable x1:

[0098] Action 1: The value of variable x1 moves closer to max (equivalent to increasing the power output of the new energy power generation device), and this action is recorded as "x = 1 - act = 1";

[0099] Action 2: The value of variable x1 moves closer to min (equivalent to reducing the power output of the new energy power generation device), and this action is recorded as "x = 1 - act = 2".

[0100] For variable x2:

[0101] Action 1: The value of variable x2 moves closer to max (equivalent to increasing the power output of the traditional power generation device), and this action is recorded as "x = 2 - act = 1";

[0102] Action 2: The value of variable x2 moves closer to min (equivalent to reducing the power output of the traditional power generation device), and this action is recorded as "x = 2 - act = 2".

[0103] For variable x3:

[0104] Action 1: The value of variable x3 moves closer to max (equivalent to increasing the energy storage capacity of the energy storage device), and this action is recorded as "x = 3 - act = 1";

[0105] Action 2: The value of variable x3 moves closer to min (equivalent to reducing the energy storage capacity of the energy storage device), and this action is recorded as "x = 3 - act = 2".

[0106] Subsequently, each variable in the variable group can be numerically initialized to obtain at least one first variable value, which will then be used as the base variable group for this search operation.

[0107] In some embodiments, initialization may be performed randomly on each variable within its respective value range; alternatively, the initial values ​​of each variable may be set by relevant technical personnel according to the actual situation, without any restrictions.

[0108] In one example, the variable set (x1, x2, x3) can be initialized, then the baseline variable set for this search operation is x. 0 = (1,5,7); Correspondingly, based on the baseline variable set and the objective function, the first objective value can be determined, that is, the baseline objective value of this search operation is f(1,5,7) = 144.8.

[0109] Subsequently, based on each action in the aforementioned action set and the corresponding preset change step size, the first variable value of the corresponding variable in the baseline variable set can be updated.

[0110] In some embodiments, different actions can be set with different preset change step sizes; in other embodiments, different actions can also be set with the same preset change step size, which is not limited here.

[0111] In one example, the preset change step size for each action in the above action set is 0.5. The updated baseline variable set and the corresponding second target values ​​are shown in the table below:

[0112] action benchmark variable group Updated baseline variable set x = 1 - act = 1 (1,5,7) (1.5,5,7) x = 1 - act = 2 (1,5,7) (0.5,5,7) x = 2 - act = 1 (1,5,7) (1,5.5,7) x = 2 - act = 2 (1,5,7) (1,4.5,7) x = 3 - act = 1 (1,5,7) (1,5,7.5) x = 3 - act = 2 (1,5,7) (1,5,6.5)

[0113] In some embodiments, a second target value for each action can be determined based on the updated set of baseline variables and the aforementioned objective function, and compared with the baseline target value to determine the target optimization result.

[0114] In some embodiments, the smaller the value of the objective function, the better the state of the target application system.

[0115] In one example, for each action in the above action set, the corresponding second objective value and the objective optimization result are shown in the table below:

[0116]

[0117]

[0118] In some embodiments, the action corresponding to the optimization of the state of the target application system (i.e., the first optimization result) can be selected as the first action.

[0119] In one example, the target optimization result of actions "x=1-act=1", "x=2-act=1", and "x=3-act=2" in the above action set is "optimization". Therefore, these two actions can be selected as the first actions, and the action set is updated accordingly.

[0120] In one example, the smallest second objective value among all the second objective values ​​obtained in the current search operation can be selected as the baseline objective value for the next search operation, and the variable set corresponding to this second objective value can be used as the baseline variable set for the next search operation. That is, the smallest second objective value obtained in the current search operation is 144.4, which can be used as the baseline objective value for the next search operation; its corresponding variable set (1, 5, 6.5) can be used as the baseline variable set for the next search operation.

[0121] In some embodiments, after repeatedly performing search operations and updating the action set, the baseline variable set, and the baseline target value, when the number of executions is greater than the preset number of searches (e.g., 1000 times) or the second target value is less than the preset target value (e.g., 0), the search stops, and the value of each variable in the variable set corresponding to the second target value is output as the optimal solution of the objective function.

[0122] For the aforementioned power system, once the optimal solution for the system is determined, the status of each device can be monitored in real time based on the value of the optimal solution corresponding to each device. Real-time adjustments can then be made to each device based on its real-time status and the value of its corresponding optimal solution. For example, if the energy storage capacity of an energy storage device is detected to be lower than the value of its corresponding optimal solution, a command to activate energy storage can be issued to the energy storage device, and its energy storage capacity can be monitored in real time until it reaches the aforementioned value, at which point a command to stop energy storage can be issued.

[0123] In some exemplary embodiments, the target application system can be a power system, which may include, for example, power generation devices, power consumption devices, energy storage devices, and an electricity market.

[0124] Figure 3 The variable set corresponding to the power system according to an exemplary embodiment of the present disclosure is shown.

[0125] In some examples, such as Figure 3As shown, a power system may include 21 power generation devices, 500 electric vehicles, 2 energy storage devices, 25 power consumption devices, and an electricity market. In this system, each power generation device can generate electricity, and the amount of electricity generated by each device corresponds to one variable, resulting in 21 dimensions of variables. Each electric vehicle has two states: discharging and consuming electricity, and the discharging / consuming electricity of each electric vehicle corresponds to one variable, resulting in 500 dimensions of variables. Each energy storage device has two states: storing and discharging electricity, and the stored / discharging amount of each energy storage device corresponds to one variable, resulting in 2 dimensions of variables. Each power consumption device's power consumption state corresponds to one variable, resulting in 25 dimensions of variables. The electricity market supports the buying and selling of electricity, and the corresponding buying / selling electricity corresponds to one dimension of variables. Therefore, for this system, its variable set X contains a total of 570 dimensions of variables, and based on this power system, the value range of each variable can be determined.

[0126] These devices form a cycle of power generation, consumption, and storage within the system. The objective optimization problem for this system can be to find the optimal solution to the aforementioned set of variables, enabling the power system to reach its best state, where the objective function f(X) is minimized. This objective function can be a function that measures the system's power consumption cost, electricity sales revenue, and risk value; no restrictions are placed on this.

[0127] In some embodiments, for the above-described objective optimization problem, actions can be defined for each dimension of the variable.

[0128] According to some embodiments, for each variable in a variable group, determining at least one action corresponding to the variable based on the value range of the variable to form a set of actions corresponding to the variable group includes: dividing the at least one variable into at least one sub-variable group based on the value range of each variable in the at least one variable group; and for each sub-variable group in the at least one sub-variable group of the variable group, determining at least one action corresponding to the sub-variable group based on the value range of the variables in the sub-variable group to form a set of actions corresponding to the variable group.

[0129] Therefore, variables can be divided into different sub-variable groups (for example, variables corresponding to multiple devices of the same type can be grouped together), and in each search process, the same action can be performed on at least one variable in each sub-variable group at the same time, thereby further simplifying the calculation and improving the search efficiency of the optimal solution.

[0130] In some exemplary embodiments, variables corresponding to similar devices can be grouped as a sub-variable group, and the action of each sub-variable group can be determined. For example... Figure 3As shown, the variable group includes sub-variable group 301 for power generation devices, sub-variable group 302 for electric vehicles, sub-variable group 303 for power consumption devices, sub-variable group 304 for energy storage devices, and sub-variable group 305 for the electricity market.

[0131] In one example, the set of actions for this group of variables could include:

[0132] For power generation device sub-variable group 301:

[0133] Action 1.1: The value moves closer to the maximum power output (equivalent to increasing the power output of each power-generating device), and this action is recorded as "x = 1 - act = 1";

[0134] Action 1.2: The value moves closer to the minimum power output (equivalent to reducing the power output of each power-generating device), and this action is recorded as "x = 1 - act = 2";

[0135] For electric vehicle sub-variable group 302:

[0136] Action 2.1: The value moves closer to the maximum power consumption (equivalent to an increase in the power consumption of each electric vehicle), and this action is recorded as "x = 2 - act = 1";

[0137] Action 2.2: The value moves closer to the maximum discharge amount (equivalent to an increase in the discharge amount of each electric vehicle), and this action is recorded as "x = 2 - act = 2", where the discharge amount can be represented by a negative number;

[0138] Action 2.3: The value moves closer to 0 (equivalent to the discharge and power consumption of each electric vehicle tending to be balanced), and this action is recorded as "x = 2 - act = 3";

[0139] For power-consuming device sub-variable group 303:

[0140] Action 3.1: The value moves closer to the maximum value of the power consumption state (where the larger the value of the power consumption state, the smaller the power consumption of each power-consuming device), and this action is recorded as "x = 3 - act = 1";

[0141] Action 3.2: The value moves closer to 0 (equivalent to an increase in the power consumption of each power-consuming device), and this action is recorded as "x = 3 - act = 2";

[0142] For energy storage device sub-variable group 304:

[0143] Action 4.1: The value moves closer to the maximum storage capacity (equivalent to an increase in the storage capacity of each energy storage device), and this action is recorded as "x = 4 - act = 1";

[0144] Action 4.2: The value moves closer to the maximum discharge amount (equivalent to an increase in the discharge amount of each energy storage device), and this action is recorded as "x = 4 - act = 2", where the discharge amount can be represented by a negative number;

[0145] Action 4.3: The value moves closer to 0 (equivalent to the discharge and storage of each energy storage device tending to be balanced), and this action is recorded as "x = 4 - act = 3";

[0146] For electricity market subvariate group 305:

[0147] Action 5.1: The value moves closer to the maximum sales volume, and this action is recorded as "x = 5 - act = 1";

[0148] Action 5.2: The value moves closer to the maximum purchase volume, and this action is recorded as "x = 5 - act = 2", where the purchase volume can be represented by a negative number;

[0149] Action 5.3: The value moves closer to 0 (equivalent to the buying and selling of electricity in the electricity market tending to be balanced), and this action is recorded as "x = 5 - act = 3".

[0150] Based on the above set of actions, when performing a search operation, when executing a certain action, the same action can be executed simultaneously on the value of each variable in the sub-variable group corresponding to the action, based on the action and the corresponding preset change step size, so as to obtain the variable group that has been updated.

[0151] In some embodiments, the above-mentioned variable groups can be divided according to actual needs, and different actions and change step sizes can be set for each group to further enrich the actions, so that the search process approaches the optimal solution from different paths, thereby improving the accuracy and efficiency of the optimal solution search.

[0152] According to some embodiments, the value of each variable in the variable group changes according to the time period, and the objective function is determined based on multiple variable groups corresponding to multiple time periods. For each variable in the variable group, based on the value range of the variable, at least one action corresponding to the variable is determined to form the action set corresponding to the variable group. The method further includes: for each variable group in the multiple variable groups, based on the time period corresponding to the variable group, determining the time period label of the action set corresponding to the variable group; and wherein updating the first variable value of the variable corresponding to the action in the baseline variable group based on the action and the corresponding preset change step size includes: based on the time period label of the action, determining the variable group corresponding to the time period of the action in the multiple variable groups; and updating the first variable value of the variable corresponding to the action in the variable group based on the action and the corresponding preset change step size.

[0153] Therefore, by adding time period labels to each action, actions with different time period labels can act on variables of the corresponding time period, thereby introducing the change in the time dimension into the search process, which can be used to solve the target problem of systems with time-series changes.

[0154] In some exemplary embodiments, the states of various devices in the aforementioned power system may differ at different times of the day (e.g., each hour). Therefore, the set of variables for the power system needs to be further expanded to {X1, X2, ..., X...} 24}, where each X i All variables contain the aforementioned 570 dimensions, where i ∈ {1, 2, ..., 24}. Correspondingly, the objective function of this power system is f(X1, X2, ..., X...). 24 The variable group contains 13,680 variables.

[0155] In some embodiments, when defining actions, time period labels can be added to the action set, that is, time period labels can be added to each action in the action set, so that the values ​​of variables in the variable set of the corresponding time period can be updated through the action set of the corresponding time period.

[0156] In one example, performing "Action 1.1" on the value of each variable in the power generation device sub-variable group 301 in the first hour can be represented as "hour = 1 - x = 1 - act = 1"; then, when executing this action, it involves applying "Action 1.1" to the variable group {X1, X2, ..., X...}. 24 The value of each variable in the power generation device sub-variable group of variable group X1 corresponding to the first hour in the base variable group is changed according to "Action 1.1" to obtain the updated base variable group.

[0157] In some embodiments, the same variables in multiple time periods can be divided into a sub-variable group according to time periods, so that the same variables in multiple time periods can be linked to change, thereby further enriching the action set.

[0158] In some embodiments, performing "Action 1.1" on the value of each variable in the power generation device sub-variable group 301 for hours 1-4 can be represented as "hour = {1, 2, 3, 4} - x = 1 - act = 1"; then, when executing this action, it is to process the variable group {X1, X2, ..., X...} 24 The value of each variable in the power generation device sub-variable group of the corresponding base variable group X1 (for the first hour), X2 (for the second hour), X3 (for the third hour), and X4 (for the fourth hour) is changed according to "Action 1.1" to obtain the updated base variable group.

[0159] According to some embodiments, such as Figure 4 As shown, the optimal solution search method for the target application system may further include: step S401, in response to repeatedly executing multiple search operations, calculating the variable correlation between pairs of variables in the variable group based on at least one second target value corresponding to each search operation in the multiple search operations and at least one first variable group corresponding to each second target value; step S402, determining the linkage variable group based on the variable correlation between pairs of variables in the variable group, wherein the linkage variable group includes multiple variables in the variable group; step S403, determining at least one linkage action corresponding to the linkage variable group; and step S404, replacing at least one action corresponding to each variable in the linkage variable group based on at least one first linkage action to update the action set.

[0160] Therefore, after multiple rounds of searching, the correlation between multiple variables can be calculated based on the solutions obtained from previous searches and the corresponding target values. Linked actions can be set for strongly correlated variables, thereby enriching the action set, enabling a more comprehensive search while improving search efficiency.

[0161] In some embodiments, the correlation between pairs of variables can be calculated using, for example, the Pearson correlation coefficient.

[0162] In some embodiments, when a strong correlation is found between multiple variables, these multiple variables can be divided into a group of linked variables, and linked actions can be set accordingly, so that the values ​​of multiple variables change simultaneously. This enriches the set of actions, enables a more comprehensive search, and improves search efficiency.

[0163] According to some embodiments, such as Figure 5As shown, an optimal solution search device 500 for a target application system is provided. The target application system performs state evaluation through an objective function, which is constructed based on a set of variables corresponding to the target application system. The set of variables includes at least one variable, and each variable varies within its corresponding value range. The device 500 includes: a first determining unit 510, configured to determine at least one action corresponding to each variable in the set of variables, based on the variable's value range, to form an action set corresponding to the variable set, wherein each action in the at least one action is used to indicate the changing trend of the corresponding variable; an initialization unit 520, configured to initialize at least one variable to correspondingly obtain at least one first variable value as a baseline variable set; a second determining unit 530, configured to determine a first target value based on the baseline variable set and the objective function, as a baseline target value; and an execution unit 540, configured to perform an execution on each variable in the action set. The action performs the following search operations: a first update subunit 541 is configured to update the first variable value of the variable corresponding to the action in the baseline variable set based on the action and the corresponding preset change step size; a first determination subunit 542 is configured to determine the second target value based on the updated baseline variable set and the objective function; and a second determination subunit 543 is configured to determine the target optimization result based on the second target value and the baseline target value; a first update unit 550 is configured to update the action set, baseline variable set, and baseline target value applied to the subsequent search operation based on the target optimization result corresponding to each action in the action set; and an output unit 560 is configured to repeatedly execute the search operation and update the action set, baseline variable set, and baseline target value until the number of executions is greater than the preset number of searches or the second target value is less than the preset target value, and output the value of each variable in the variable set corresponding to the second target value as the optimal solution of the objective function.

[0164] The operations of units 510-560 and subunits 541-543 in the optimal solution search device 500 for the target application system are similar to the operations of steps S201-S208 of the optimal solution search method for the target application system described above, and will not be repeated here.

[0165] According to some embodiments, the first determining unit may include: a subdivision unit configured to divide at least one variable into at least one sub-variable group based on the value range of each variable in the at least one variable; and a third determining sub-unit configured to, for each sub-variable group in the at least one sub-variable group in the variable group, determine at least one action corresponding to the sub-variable group based on the value range of the variables in the sub-variable group, so as to form an action set corresponding to the variable group.

[0166] According to some embodiments, the value of each variable in the variable group changes according to the time period, and the objective function is determined based on multiple variable groups corresponding to multiple time periods. The first determining unit may further include: a fourth determining subunit, configured to determine the time period label of the action set corresponding to each variable group in the multiple variable groups based on the time period corresponding to the variable group; and wherein the first updating subunit is further configured to: determine the variable group corresponding to the time period of the action in the multiple variable groups based on the time period label of the action; and update the first variable value of the variable corresponding to the action in the variable group based on the action and the corresponding preset change step size.

[0167] According to some embodiments, the first update unit may include: a filtering subunit configured to filter a set of actions that satisfy at least one of the following, in order to update the action set: the target optimization result corresponding to the first action is a first optimization result, wherein the first optimization result indicates that the state of the target application system has been optimized; the target optimization result corresponding to the first action is a first optimization result, and the absolute value of the difference between the second target value corresponding to the first action and the baseline target value before the update is greater than a first preset difference; and in response to multiple actions being performed on the search path where the first action is located and multiple target optimization results being obtained accordingly, on the search path, the number of first optimization results among the multiple target optimization results is greater than the number of second optimization results, wherein the second optimization result indicates that the state of the target application system has not been optimized.

[0168] According to some embodiments, the optimal solution search device for the target application system may further include: a second update unit configured to update the action set based on the initial action set in response to the failure to filter out the first action, the number of executions being less than or equal to a preset search number, and the second target value being greater than or equal to a preset target value.

[0169] According to some embodiments, the baseline variable group corresponds to the baseline target value, and the first update unit may include at least one of the following: a second update subunit configured to update the baseline target value based on at least one second target value corresponding to at least one action in the action set and a preset target value; and a third update subunit configured to update the baseline target value based on the difference between at least one second target value and the baseline target value before the update and a second preset difference.

[0170] According to some embodiments, the variable group includes multiple variables, and the optimal solution search device for the target application system may further include: a calculation unit configured to, in response to repeatedly executing multiple search operations, calculate the variable correlation between pairs of variables in the variable group based on at least one second target value corresponding to each search operation in the multiple search operations and at least one first variable group corresponding to each of the at least one second target value; a third determining unit configured to determine a linked variable group based on the variable correlation between pairs of variables in the variable group, wherein the linked variable group includes multiple variables in the variable group; a fourth determining unit configured to determine at least one linked action corresponding to the linked variable group; and a replacement unit configured to replace at least one action corresponding to each variable in the linked variable group based on at least one first linked action, so as to update the action set.

[0171] According to some embodiments, the target application system includes at least: a power system, a material storage and transfer system, and a hybrid product manufacturing system.

[0172] According to embodiments of this disclosure, an electronic device, a readable storage medium, and a computer program product are also provided.

[0173] refer to Figure 6 The present invention describes a structural block diagram of an electronic device 600 that can serve as a server or client of the present disclosure, which is an example of a hardware device that can be applied to various aspects of the present disclosure. The electronic device is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0174] like Figure 6 As shown, the electronic device 600 includes a computing unit 601, which can perform various appropriate actions and processes based on a computer program stored in a read-only memory (ROM) 602 or a computer program loaded from a storage unit 608 into a random access memory (RAM) 603. The RAM 603 may also store various programs and data required for the operation of the electronic device 600. The computing unit 601, ROM 602, and RAM 603 are interconnected via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0175] Multiple components in electronic device 600 are connected to I / O interface 605, including: input unit 606, output unit 607, storage unit 608, and communication unit 609. Input unit 606 can be any type of device capable of inputting information to electronic device 600. Input unit 606 can receive input digital or character information and generate key signal inputs related to user settings and / or function control of electronic device, and can include, but is not limited to, a mouse, keyboard, touchscreen, trackpad, trackball, joystick, microphone, and / or remote control. Output unit 607 can be any type of device capable of presenting information, and can include, but is not limited to, a monitor, speaker, video / audio output terminal, vibrator, and / or printer. Storage unit 608 can include, but is not limited to, disk and optical disk. Communication unit 609 allows electronic device 600 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks, and can include, but is not limited to, modems, network cards, infrared communication devices, wireless communication transceivers, and / or chipsets, such as Bluetooth™ devices, 802.11 devices, WiFi devices, WiMax devices, cellular communication devices, and / or the like.

[0176] The computing unit 601 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 601 performs the various methods and processes described above, such as the optimal solution search method for the target application system described above. For example, in some embodiments, the optimal solution search method for the target application system described above can be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as storage unit 608. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 600 via ROM 602 and / or communication unit 609. When the computer program is loaded into RAM 603 and executed by the computing unit 601, one or more steps of the optimal solution search method for the target application system described above can be performed. Alternatively, in other embodiments, the computing unit 601 may be configured to perform the above-described optimal solution search method for the target application system by any other suitable means (e.g., by means of firmware).

[0177] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0178] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0179] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0180] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0181] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.

[0182] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.

[0183] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially, or in a different order, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.

[0184] While embodiments or examples of this disclosure have been described with reference to the accompanying drawings, it should be understood that the methods, systems, and devices described above are merely exemplary embodiments or examples, and the scope of the invention is not limited by these embodiments or examples, but only by the granted claims and their equivalents. Various elements in the embodiments or examples may be omitted or replaced by their equivalents. Furthermore, the steps may be performed in a different order than that described in this disclosure. Further, various elements in the embodiments or examples may be combined in various ways. Importantly, as the technology evolves, many elements described herein can be replaced by equivalents that appear after this disclosure.

Claims

1. An optimal solution search method for a target application system, wherein, The target application system is a power system or a material storage and transfer system, and its state is evaluated through an objective function. The objective function is constructed based on a set of variables corresponding to the target application system. The set of variables includes at least one variable, and each variable varies within a corresponding value range. In the power system, the set of variables includes the power generation capacity of power-generating devices and the storage or discharge capacity of energy storage devices. In the material storage and transfer system, the set of variables includes the storage quantity of each material. The method includes: For each variable in the variable group, based on the range of values ​​of the variable, at least one action corresponding to the variable is determined to form a set of actions corresponding to the variable group, wherein each action in the at least one action is used to indicate the changing trend of the corresponding variable; Initialize the at least one variable to obtain at least one first variable value as a reference variable group; Based on the set of benchmark variables and the objective function, a first target value is determined as the benchmark target value; For each action in the set of actions, perform the following search operation: The first variable value of the variable corresponding to the action in the reference variable group is updated based on the action and the corresponding preset change step size. Based on the updated set of baseline variables and the objective function, determine the second objective value; and Based on the second target value and the benchmark target value, the target optimization result is determined; Based on the target optimization result corresponding to each action in the action set, the action set, baseline variable set, and baseline target value applied to the subsequent search operation are updated, wherein the update of the action set includes: The action set is updated by filtering a first action from the action set. The first action satisfies the following filtering condition: in response to multiple actions being executed on the search path where the first action is located and correspondingly obtaining multiple target optimization results, the number of first optimization results among the multiple target optimization results on the search path is greater than the number of second optimization results, wherein the first optimization result indicates that the state of the target application system has been optimized; the action corresponding to the first optimization result is selected as the first action; and the second optimization result indicates that the state of the target application system has not been optimized. Repeat the search operation and update action set, baseline variable group and baseline target value operation until the number of executions is greater than the preset number of searches or the second target value is less than the preset target value. Output the value of each variable in the variable group corresponding to the second target value as the optimal solution of the objective function, so as to perform real-time power regulation of the power system or inventory optimization control of the material storage and transfer system.

2. The method according to claim 1, wherein, For each variable in the variable group, determining at least one action corresponding to that variable based on its value range, to form the action set corresponding to the variable group, includes: Based on the value range of each of the at least one variable, the at least one variable is divided into at least one sub-variable group; and For each sub-variable group in the at least one sub-variable group in the variable group, based on the value range of the variables in the sub-variable group, at least one action corresponding to the sub-variable group is determined to form the action set corresponding to the variable group.

3. The method according to claim 1, wherein, The value of each variable in the variable group changes according to the time period, and the objective function is determined based on multiple variable groups corresponding to multiple time periods. The step of determining at least one action corresponding to each variable in the variable group, based on the variable's value range, to form the action set corresponding to the variable group, further includes: For each of the multiple variable groups, based on the time period corresponding to that variable group, determine the time period label of the action set corresponding to that variable group; and The step of updating the first variable value of the variable corresponding to the action in the reference variable group based on the action and the corresponding preset change step size includes: Based on the time period label of the action, determine the variable group corresponding to the time period of the action from among the multiple variable groups; and The first variable value of the variable corresponding to the action in the variable group is updated based on the action and the corresponding preset change step size.

4. The method according to any one of claims 1 to 3, wherein, The filtering criteria for the first action also include at least one of the following: The target optimization result corresponding to the first action is the first optimization result; and The target optimization result corresponding to the first action is the first optimization result, and the absolute value of the difference between the second target value corresponding to the first action and the baseline target value before the update is greater than the first preset difference.

5. The method according to claim 4, further comprising: In response to the first action not being selected, the number of executions being less than or equal to the preset search number, and the second target value being greater than or equal to the preset target value, the action set is updated based on the initial action set.

6. The method according to any one of claims 1 to 3, wherein, The baseline variable set corresponds to the baseline target value, and the updating of the action set, baseline variable set, and baseline target value applied to the subsequent search operation based on the target optimization result corresponding to each action in the action set includes at least one of the following: The baseline target value is updated based on at least one second target value corresponding to at least one action in the action set and a preset target value; and The benchmark target value is updated based on the difference between the at least one second target value and the benchmark target value before the update, as well as a second preset difference.

7. The method according to any one of claims 1 to 3, wherein, The variable group includes multiple variables, and the method further includes: In response to repeatedly executing the search operation multiple times, based on at least one second target value corresponding to each of the multiple search operations and at least one first variable group corresponding to the at least one second target value, the variable correlation between pairs of variables in the variable group is calculated. Based on the correlation between pairs of variables in the variable group, a linkage variable group is determined, wherein the linkage variable group includes multiple variables in the variable group; Determine at least one linked action corresponding to the group of linked variables; and Based on the at least one first linkage action, replace at least one action corresponding to each variable in the linkage variable group to update the action set.

8. An optimal solution search device for a target application system, wherein, The target application system is a power system or a material storage and transfer system, and its state is evaluated through an objective function. The objective function is constructed based on a set of variables corresponding to the target application system. The set of variables includes at least one variable, each of which varies within a corresponding value range. In the power system, the set of variables includes the power generation capacity of power-generating devices and the storage or discharge capacity of energy storage devices. In the material storage and transfer system, the set of variables includes the storage capacity of various materials. The device includes: The first determining unit is configured to determine at least one action corresponding to each variable in the variable group based on the value range of the variable, so as to form an action set corresponding to the variable group, wherein each action in the at least one action is used to indicate the changing trend of the corresponding variable. An initialization unit is configured to initialize the at least one variable to obtain at least one first variable value as a reference variable set. The second determining unit is configured to determine a first target value based on the set of benchmark variables and the objective function, as a benchmark target value; The execution unit is configured to perform the following search operation for each action in the set of actions: The first update subunit is configured to update the first variable value of the variable corresponding to the action in the reference variable group based on the action and the corresponding preset change step size. A first determining subunit is configured to determine a second target value based on the updated set of baseline variables and the objective function; and The second determining subunit is configured to determine the target optimization result based on the second target value and the benchmark target value; The first update unit is configured to update the action set, baseline variable set, and baseline target value applied to the subsequent search operation based on the target optimization result corresponding to each action in the action set. The first update unit includes: A filtering subunit is configured to filter a first action in the action set to update the action set. The first action satisfies the following filtering condition: in response to multiple actions being performed on the search path where the first action is located and correspondingly obtaining multiple target optimization results, the number of first optimization results among the multiple target optimization results on the search path is greater than the number of second optimization results, wherein the first optimization result indicates that the state of the target application system has been optimized, the corresponding action with the target optimization result being the first optimization result is selected as the first action, and the second optimization result indicates that the state of the target application system has not been optimized; and The output unit is configured to repeatedly execute the search operation and update action set, baseline variable group and baseline target value operation until the number of executions is greater than the preset number of searches or the second target value is less than the preset target value, and output the value of each variable in the variable group corresponding to the second target value as the optimal solution of the objective function, so as to perform real-time power regulation of the power system or inventory optimization control of the material storage and transfer system.

9. The apparatus according to claim 8, wherein, The first determining unit includes: The sub-unit division is configured to divide the at least one variable into at least one sub-variable group based on the value range of each variable; and The third determining subunit is configured to, for each of the at least one sub-variable group in the variable group, determine at least one action corresponding to the sub-variable group based on the value range of the variables in the sub-variable group, so as to form an action set corresponding to the variable group.

10. The apparatus according to claim 8, wherein, The value of each variable in the variable set changes according to the time period, and the objective function is determined based on multiple variable sets corresponding to multiple time periods. The first determining unit further includes: The fourth determining subunit is configured to, for each of the plurality of variable groups, determine a time period label for the action set corresponding to that variable group based on the time period corresponding to that variable group; and The first update subunit is further configured as follows: Based on the time period label of the action, determine the variable group corresponding to the time period of the action from among the multiple variable groups; and The first variable value of the variable corresponding to the action in the variable group is updated based on the action and the corresponding preset change step size.

11. The apparatus according to any one of claims 8 to 10, wherein, The filtering criteria for the first action also include at least one of the following: The target optimization result corresponding to the first action is the first optimization result; and The target optimization result corresponding to the first action is the first optimization result, and the absolute value of the difference between the second target value corresponding to the first action and the baseline target value before the update is greater than the first preset difference.

12. The apparatus of claim 11, further comprising: The second update unit is configured to update the action set based on the initial action set in response to the first action not being filtered out, the number of executions being less than or equal to the preset search number, and the second target value being greater than or equal to the preset target value.

13. The apparatus according to any one of claims 8 to 10, wherein, The set of benchmark variables corresponds to the benchmark target value, and the first update unit includes at least one of the following: The second update subunit is configured to update the baseline target value based on at least one second target value corresponding to at least one action in the action set and a preset target value; as well as The third update subunit is configured to update the benchmark target value based on the difference between the at least one second target value and the benchmark target value before the update, and a second preset difference.

14. The apparatus according to any one of claims 8 to 10, wherein, The variable group includes multiple variables, and the device further includes: The calculation unit is configured to, in response to repeatedly executing the search operation multiple times, calculate the variable correlation between pairs of variables in the variable group based on at least one second target value corresponding to each of the multiple search operations and at least one first variable group corresponding to each of the at least one second target value; The third determining unit is configured to determine a linked variable group based on the correlation between pairs of variables in the variable group, wherein the linked variable group includes multiple variables in the variable group; The fourth determining unit is configured to determine at least one linkage action corresponding to the linkage variable group; and The replacement unit is configured to replace at least one action corresponding to each variable in the linkage variable group based on the at least one first linkage action, so as to update the action set.

15. An electronic device comprising: At least one processor; as well as A memory that is communicatively connected to the at least one processor; in The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-7.

16. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-7.

17. A computer program product comprising a computer program, wherein, The computer program, when executed by a processor, implements the method of any one of claims 1-7.

Citation Information

Patent Citations

  • Power grid service ratio optimization method and device, terminal and storage medium

    CN114118608A