This application claims priority to EP Application 11157244.2 filed Mar. 7, 2011, the specification of which is incorporated by reference herein.
The present disclosure relates to optimization problem solving.
Complex systems, such as, for example, mechanical systems, electrical systems, manufacturing systems, fluid systems, chemical systems, biological systems, and/or resource distribution systems, can have a number of optimization problems associated therewith that may need to be solved. Solving a problem associated with a system (e.g., optimizing the operation of a system) may include minimizing and/or maximizing a quadratic cost function under linear equality and inequality constraints by systematically choosing the values of a number of variables within the function.
A complex system can include a number of interrelated subsystems having properties and/or solutions with similar patterns. For example, a water distribution network may include tanks, pumps, valves, interconnection nodes, water sources, and points of water consumption, among other types of subsystems. Solving a problem associated with such a system may include, for example, ensuring that water demands are satisfied in all points of consumption, minimizing electricity usage, ensuring tank levels are kept above a threshold, and/or minimizing long water storage in tanks, among other problems.
However, solving optimization problems of a complex system having a number of interrelated subsystems having properties and/or solutions with similar patterns can be time consuming and/or use a large amount of computing resources. Further, some such problems associated with a complex system may be unsolvable with current processes due to their complexity.
Optimization problem solving is described herein. For example, one or more method embodiments include assigning one of a number of predefined values to each of a number of shadow prices of the system, distributing the assigned predefined shadow price values to a number of sub-problems, wherein each sub-problem is associated with one of a number of subsystems of the system, performing an analysis, wherein the analysis includes determining a parametric solution and a region of validity for each of the number of sub-problems, determining an intersection of the regions of validity of all the parametric solutions, determining whether the optimization problem is solved from the parametric solutions of the number of sub-problems, determining one or more shadow price updates based on the parametric solutions, and distributing the updated shadow prices to sub-problems having a region of validity that does not include the updated shadow prices, and repeating the analysis using the updated shadow prices until the optimization problem is solved from the parametric solutions of the number of sub-problems.
One or more embodiments of the present disclosure may solve a problem of a system in a short time period (e.g., real time) and/or use a small amount of computing resources. For example, one or more embodiments of the present disclosure may solve a problem of a system in a finite number of iterations. For instance, one or more embodiments of the present disclosure may solve a problem of a system by repeating and/or partially repeating only a portion of the steps of the method. Additionally, one or more embodiments of the present disclosure may solve a problem of a complex system having many variables and/or subsystems without sacrificing precision.
In the following detailed description, reference is made to the accompanying drawings that form a part hereof. The drawings show by way of illustration how one or more embodiments of the disclosure may be practiced. These embodiments are described in sufficient detail to enable those of ordinary skill in the art to practice one or more embodiments of this disclosure. It is to be understood that other embodiments may be utilized and that process, electrical, and/or structural changes may be made without departing from the scope of the present disclosure.
As will be appreciated, elements shown in the various embodiments herein can be added, exchanged, combined, and/or eliminated so as to provide a number of additional embodiments of the present disclosure. The proportion and the relative scale of the elements provided in the figures are intended to illustrate the embodiments of the present disclosure, and should not be taken in a limiting sense.
As used herein, “a” or “a number of something can refer to one or more such things. For example, “a number of controllers” can refer to one or more controllers.
The system can include a number of interrelated subsystems having properties and/or solutions with similar patterns. For example, a system such as a water distribution network can include a number of interconnected subsystems. The interconnected subsystems can include a number of components such as tanks, pumps, valves, interconnection nodes, water sources, and/or points of water consumption, among other components. Additionally, these components themselves can individually constitute a subsystem (e.g., a pump can be a subsystem of the system). The interconnected nature of the subsystems can cause activity in one subsystem to affect activity at a different subsystem. For example, activity at a pump within a subsystem can affect any number of the additional subsystems in the water distribution network (e.g., a pump switching off can affect levels in interconnected storage tanks).
Solving a problem of a system can include, for example, an optimization (e.g., minimization or maximization) of a quadratic cost function under a number of linear constraints. For example, the system can include a number of variables, and solving a problem of the system can include minimizing or maximizing a real function by systematically choosing the values of a number of the variables from within an allowed set (e.g., constraints). However, solving a problem of a system is not limited to minimizing or maximizing one function, indeed, solving a problem of a system can include minimizing and/or maximizing a number of functions simultaneously.
In the example of a water distribution network, the quadratic cost function can be, for example, the cost (e.g., monetary cost) of meeting water demands. Solving a problem of the system (e.g., the water distribution network) can include minimizing this function by manipulating the value of a number of variables in the system. The variables of the system can include, in the example of the water distribution network, pump and/or valve flow rates, tank levels, and water source flow rates, among other variables. The variables can be manipulated; however, manipulation can be subject to a number of constraints, such as, for example, operating capabilities, and/or manually-set limits on subsystem operation, among other constraints. In the example of the water distribution network, constraints can include, for example, maximum and/or minimum flow rates through valves (e.g., based on valve size), acceptable water levels in tanks, and/or output capabilities of pumps (e.g., based on limits set on pump output rate), among other constraints. The variables of the subsystems and/or system can be assigned real-number values subject to their corresponding constraints.
Accordingly, solving a problem of a system can include solving problems of the subsystems of the system with attention paid to the interconnected nature of the subsystems. Ultimately, the solution to the problem of the system can include determining the appropriate value of a number of variables that result in a minimization or maximization of the quadratic cost function of the system.
At block 102 of
At block 104, method 100 includes distributing the shadow price values to a number of sub-problems of subsystems. As discussed below with reference to
At block 106, method 100 includes determining a parametric solution and a region of validity for each of the sub-problems. Each of the sub-problems can include, for example, the sub-problems to which shadow prices were distributed in accordance with one or more embodiments of the present disclosure. A parametric solution can be a solution (e.g., a solution to a problem of a subsystem) that is valid for more than a single value of a number of given shadow prices; it can be valid anywhere within the region of validity. In an example of a water distribution network, a parametric solution to a problem of flow between two subsystems can be 100+2λ m3/hr. (where λ is shadow price). In this example, output is determined using a scalar shadow price; however, method 100 is not limited to scalar shadow prices; rather, a parametric solution can, for example, encompass multidimensional functions.
A parametric solution can be associated with a region of validity. The region of validity can be a region (e.g., a set of numeric values) within which the parametric solution can be valid. Thus, in the previous example, the parametric solution can be valid for a range of λ values. For example, the parametric solution can be valid if λ falls in a range of numbers (e.g., λ is between 0.5 and 2).
Conversely, a parametric solution can be invalid for values of a shadow price that fall outside the region of validity. For example, the parametric solution: 100+2λ with a region of validity of from 0.5 to 2 can be considered to be invalid if λ is, for example, 3.67.
Though a region of validity, as used in an example herein, can be a numeric interval, region of validity is not limited to a numeric interval; rather, region of validity can encompass complex numerical sets. For example, a parametric solution can be valid for a convex polytop of shadow price values.
Each subsystem to which a shadow price value was distributed can determine its corresponding parametric solution and validity region. Thus, depending on such features as the size and/or complexity of the sub-systems, a number of multidimensional parametric solutions and multidimensional validity regions can be sent from the subsystems back to the coordinator, as discussed below in reference to
Solving an optimization problem of a system can include, for example, determining a solution to:
where Ji can be quadratic functions, Ci can be linear constraints, xi and yi can be parts of x and y respectively. x and y can represent optimized variables of parts of subsystems. For example, x can represent variables of subsystems that are substantially internal to those subsystems (e.g., components that do not directly interconnect a subsystem with another subsystem). Conversely, y can represent variables of subsystems that, for example, join subsystems with other subsystems (e.g., neighboring subsystems). For example, x can represent activity internal within a number of subsystems, and y can represent an interaction between a number of subsystems (e.g., interaction between neighboring subsystems).
Corresponding dual function:
can be for an assigned shadow price value, λ, separated as:
where gi can be independent dual problems of a number of subsystems:
and where Mi can be parts of M corresponding to yi. As previously discussed, yi can be a part of y, and y can, for example, represent an interaction between a number of subsystems (e.g., neighboring subsystems). Note that gi can be, for example, a piecewise smooth quadratic function for quadratic Ji and can be on a convex polytopic region (e.g., region of validity) Pi expressed as:
g
i(λ)=λTAiλ+biT+ci, λ ∈ Pi, Pi={λ|Hiλ≦ki},
where, for example, Ai, bi, ci, Hi, ki can represent parametric solutions of sub-problem i, and each can be obtained from determining a parametric solution and a region of validity for each of the sub-problems, according to block 106.
At block 108, method 100 includes determining a value, gradient, and hessian of a dual function for the optimization problem of the system based on the parametric solutions of the sub-problems. Determining a value, gradient, and hessian can, for example, mathematically include respectively determining:
As discussed below with reference to block 112 of method 100, the value, gradient, and hessian of the dual function can be used to determine whether a Newton step of the shadow prices lies within the intersection of the regions of validity.
At block 110, method 100 includes determining an intersection of the regions of validity of all the parametric solutions. While the number of problems for which a parametric solution was determined can also include corresponding validity regions, the validity regions may not necessarily be identical; rather they can differ to some degree. Determining an intersection of these validity regions can include determining a number of values common to all of the number of regions of validity for all the problems. For example, if a subsystem has a parametric solution valid in the region between 0.50 and 2.00, and a second subsystem has a parametric solution valid in the region between 1.70 and 3.60, an intersection of the validity regions of the two subsystems can be defined as the range of values between 1.70 and 2.00. As previously discussed in reference to block 106, regions of validity can be more complex than a simple numerical interval. Likewise, an intersection of the regions of validity can also be more complex than a simple numerical interval.
Accordingly, if the regions of validity of the parametric solutions are denoted, for example, as Pi, an intersection (e.g., P) of these validity regions can be defined as:
At block 112, method 100 includes determining whether a Newton step of the shadow prices lies within the intersection of the regions of validity. As previously discussed, the Newton step of the shadow prices can be determined from the value, gradient and hessian of the dual function (e.g., value, gradient, and hessian determined at block 108). From the value, gradient, and hessian, respectively:
a shadow prices Newton step,
λ*=λ+δ, ∇2g(λ)δ=−∇g(λ),
can be determined.
The shadow prices Newton step can be compared with the intersection of the regions of validity of all the parametric solutions. If the shadow prices Newton step lies within the intersection of the regions of validity, method 100 continues to block 114 where a determination can be made that the optimization problem of the system is solved, and for example, optimal values of the system variables have been determined. If the shadow prices Newton step does not lie within the intersection of the regions of validity, method 100 can continue to block 116 where method 100 includes updating shadow price values by, for example, a damped Newton method (e.g., using dual function value, gradient, and hessian determined at block 108).
At block 118, method 100 includes distributing the updated shadow prices to sub-problems having a region of validity that does not include the updated shadow prices. By not distributing the updated shadow price values to all subsystems of the system, method 100 can minimize the computing time (e.g., method 100 repetitions and/or partial repetitions) used to solve the problem of the system. The distribution of the updated shadow price values according to block 118 can occur in a similar fashion as the distribution previously discussed in reference to block 104.
From block 118, the distributed updated shadow price values can be used to determine a parametric solution and a region of validity for each of the sub-problems, in accordance with block 106. Each of the sub-problems can include, for example, sub-problems that received the updated shadow prices.
System 230 can include a computing device 232 and a number of subsystems 246, 248, 250, 252, 254. Although the embodiment illustrated in
As shown in
As shown in
In some embodiments, the number of subsystems 246, 248, 250, 252, 254 can each include a sensor and/or an actuator (e.g., sensor-actuator components 247, 249, 251, 253, 255) to link each of the subsystems with one of the number of controllers. For example, sensor-actuator component 247 can link subsystem 246 to controller 238, sensor-actuator component 249 can link subsystem 248 to controller 242, etc. A subsystem can send messages to a controller via a sensor and receive messages from a controller via an actuator.
As shown in
As shown in
The system 360 can include a number of controllers 371, 373, 375, 377, 379, coupled to a coordinator 380 associated with a number of subsystems 370, 372, 374, 376, 378. The number of controllers can be configured to determine a parametric solution and a region of validity for each of the number of sub-problems, in accordance with one or more embodiments of the present disclosure. The number of controllers can also be configured to store a part of a solution to a problem relevant to a number of variables corresponding to a subsystem with which each of the number of controllers is associated, and use a partial solution to determine a value for a number of variables of the number of problems of a subsystem with which each of the number of controllers is associated, in accordance with one or more embodiments of the present disclosure.
In some embodiments, the subsystems 370, 372, 374, 376, 378 can be interconnected such that an activity in a subsystem affects a number of other subsystems. For example, in embodiments in which system 360 is a water distribution network, activity at a water tank in a water distribution network can affect any number of other subsystems (e.g., a point of water consumption) in the system (e.g., the water distribution network). Further, in some embodiments, each subsystem can be associated with a different controller. For example, subsystem 370 is associated with controller 371, subsystem 372 is associated with controller 373, subsystem 374 is associated with controller 375, etc.
Although not illustrated in
As shown in
The organization and/or design of the system 360 (e.g., having the number of controllers 371, 373, 375, 377, 379 each independently in communication with the coordinator 380) can allow a communication failure between a number of controllers and the coordinator 380 not to affect communication between a number of additional controllers and the coordinator 380. For example, a communication failure between controller 373 and the coordinator 380 does not affect communication between additional controllers 371, 375, 377, and/or 379.
The system can include a number of interrelated subsystems having properties and/or solutions with similar patterns in a manner analogous to the system previously described in connection with
Accordingly, solving a problem of a system can include solving problems of the subsystems of the system with attention paid to the interconnected nature of the subsystems. Ultimately, the solution to the problem of the system can include determining the appropriate value of a number of variables resulting in a minimization or maximization of the quadratic cost function of the system.
At block 486, method 484 includes assigning one of a number of predefined values to each of a number of shadow prices of the system. As previously discussed, values can be real numbers. At block 488, method 484 includes distributing the assigned predefined shadow price values to a number of sub-problems, wherein each sub-problem is associated with one of a number of subsystems of the system. As previously discussed with reference to
At block 490, method 484 includes performing an analysis, wherein the analysis includes determining a parametric solution and a region of validity for each of the number of sub-problems, determining an intersection of the regions of validity of all the parametric solutions, determining whether the optimization problem is solved from the parametric solutions of the number of sub-problems, determining one or more shadow price updates based on the parametric solutions, and distributing the updated shadow prices to sub-problems having a region of validity that does not include the updated shadow prices. As previously described herein, a parametric solution can be a solution that is valid for more than a single value of a number of given shadow prices; it can be valid anywhere within the region of validity. A parametric solution can be associated with a region of validity in a manner analogous to the system previously described in connection with
An intersection of the regions of validity for all the parametric solutions can be determined, for example, in a manner analogous to that of block 106 of
At block 492, method 484 includes repeating the analysis using the updated shadow prices until the optimization problem is solved from the parametric solutions of the number of sub-problems. Repeating the analysis can include, for example, repeating the steps of block 490 until, for example, a Newton step of the shadow prices lies within the intersection of the regions of validity in a manner analogous to that previously discussed in connection with
Although specific embodiments have been illustrated and described herein, those of ordinary skill in the art will appreciate that any arrangement calculated to achieve the same techniques can be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments of the disclosure.
It is to be understood that the above description has been made in an illustrative fashion, and not a restrictive one. Combination of the above embodiments, and other embodiments not specifically described herein will be apparent to those of skill in the art upon reviewing the above description.
The scope of the various embodiments of the disclosure includes any other applications in which the above structures and methods are used. Therefore, the scope of various embodiments of the disclosure should be determined with reference to the appended claims, along with the full range of equivalents to which such claims are entitled.
In the foregoing Detailed Description, various features are grouped together in example embodiments illustrated in the figures for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the embodiments of the disclosure require more features than are expressly recited in each claim.
Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment.
Number | Date | Country | Kind |
---|---|---|---|
11157244.2 | Mar 2011 | EP | regional |