Power Grid Resource Allocation

The two-step SCUC solver using LR duality and parallel processing addresses the computational challenges of large-scale SCUC, achieving efficient and feasible resource allocation in power grids.

JP7610003B2Active Publication Date: 2025-01-07HITACHI ENERGY LTD
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
JP2023537647
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-05-19
Filing Date
2021-12-17
Publication Date
2025-01-07
Estimated Expiration
2041-12-17

AI Technical Summary

Technical Problem

Solving large-scale security constraint unit commitment (SCUC) problems in power grids is computationally intensive due to their high dimensionality and complexity, requiring significant time and resources, especially with traditional mixed integer programming solvers.

Method used

A two-step process involving Lagrangian relaxation (LR) duality to generate a tentative resource allocation schedule, followed by feasibility checks and repairs using parallel processing of LR dual subproblems and dispatch problems with fixed integer decisions to achieve a feasible solution.

Benefits of technology

Efficiently solves SCUC problems with good optimality, reducing computational time and resources by leveraging parallel processing and reduced variable dimensions in LR dual subproblems and dispatch problems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007610003000024
    Figure 0007610003000024
  • Figure 0007610003000025
    Figure 0007610003000025
  • Figure 0007610003000026
    Figure 0007610003000026
Patent Text Reader

Abstract

A method for operating a power grid includes generating, by a power management system of the power grid, an intermediate resource allocation schedule providing a tentative schedule of resource allocation for power grid resources operating in the power grid; determining, by the power management system, whether the intermediate resource allocation schedule is feasible by checking whether the intermediate resource allocation schedule satisfies a coupling constraint of a power grid resource allocation profile of the power grid directing operation of the power grid constrained by power grid operation information; and in response to determining that the intermediate resource allocation schedule is infeasible, repairing, by the power management system, the intermediate resource allocation schedule to generate a feasible resource allocation schedule, where the repairing includes determining whether a first dispatch solution obtained by solving a dispatch problem with fixed integer decisions from the intermediate resource allocation schedule is feasible.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] Technical Field FIELD OF THE DISCLOSURE This disclosure relates generally to power grids and power grid operation, and in particular embodiments to power grid resource allocation. [Background technology]

[0002] background Independent system operators (ISOs) use unit commitment (UC) to obtain generation resource and demand commitment and dispatch in the power grid. Unit commitment establishes the commitment state and generation levels of all generators, energy storage systems, and price-dependent loads over a scheduling horizon to minimize the total generation cost while meeting all system and area constraints, such as load balance and spinning reserve requirements, transmission network constraints, and individual unit operation constraints. Unit commitment is often formulated as a mixed integer linear programming (MILP) problem.

[0003] Since a typical power grid is operated closer and closer to its security margin, security related transmission constraints are included to constrain unit commitments. Thus, a typical power system resource scheduling implies security constrained unit commitments (SCUCs), where the security constraints may be, for example, transmission line thermal capacity constraints for base case and contingency operating conditions. SCUCs are used in day-ahead, intraday, and real-time power grid scheduling. In solving for security constrained unit commitments, a minimum-cost operating schedule for generators (also referred to as power plants) is determined over the scheduling horizon. For example, a minimum-cost operating schedule is identified that satisfies the operating constraints of each generator unit, the electrical network constraints in the base case network topology, and various operator-specified contingency scenarios. Summary of the Invention [Means for solving the problem]

[0004] overview In some embodiments, a method of operating a power grid includes generating, by a power management system of the power grid, an intermediate resource allocation schedule, where the intermediate resource allocation schedule provides a tentative schedule of resource allocations for power grid resources operating in the power grid; determining, by the power management system, whether the intermediate resource allocation schedule is feasible by checking whether the intermediate resource allocation schedule satisfies a coupling constraint of a power grid resource allocation profile of the power grid, where the power grid resource allocation profile indicates operation of the power grid constrained by operational information of the power grid; and in response to determining that the intermediate resource allocation schedule is infeasible, repairing, by the power management system, the intermediate resource allocation schedule to generate a feasible resource allocation schedule, where the resource allocation schedule provides a final schedule of resource allocations for the power grid resources operating in the power grid, and repairing the intermediate resource allocation schedule includes determining whether a first dispatch solution obtained by solving a dispatch problem with fixed integer decisions from the intermediate resource allocation schedule is feasible.

[0005] In some embodiments, a power management system for a power grid includes one or more processors and a memory storing a program executing in the processors, the program including instructions, the instructions when executed in the one or more processors, for generating an intermediate resource allocation schedule, the intermediate resource allocation schedule providing a tentative schedule of resource allocations for power grid resources operating in the power grid, and determining whether the intermediate resource allocation schedule is feasible by checking whether the intermediate resource allocation schedule satisfies a binding constraint of a power grid resource allocation profile of the power grid, the power grid resource allocation profile being configured to generate an intermediate resource allocation schedule for the power grid resources operating in the power grid. and a memory that causes the power grid resource allocation profile to indicate operation of the power grid constrained by the power grid operational information, and in response to determining that the intermediate resource allocation schedule is infeasible, to repair the intermediate resource allocation schedule to generate a feasible resource allocation schedule, the resource allocation schedule providing a final schedule of resource allocations for power grid resources operating in the power grid, and repairing the intermediate resource allocation schedule includes determining whether a first dispatch solution obtained by solving a dispatch problem with fixed integer decisions from the intermediate resource allocation schedule is feasible.

[0006] In some embodiments, a system of a power grid is a power management system, generating an intermediate resource allocation schedule, the intermediate resource allocation schedule providing a tentative schedule of resource allocations for power grid resources operating in the power grid, determining whether the intermediate resource allocation schedule is feasible by checking whether the intermediate resource allocation schedule satisfies a binding constraint of a power grid resource allocation profile of the power grid, the power grid resource allocation profile directing operation of the power grid constrained by the power grid operational information, and in response to determining that the intermediate resource allocation schedule is not feasible, The power grid comprises a power management system configured to generate a feasible resource allocation schedule by repairing the allocation schedule, where the resource allocation schedule provides a final schedule of resource allocation for power grid resources operating in the power grid, and where repairing the intermediate resource allocation schedule includes determining whether a first dispatch solution obtained by solving a dispatch problem with fixed integer decisions from the intermediate resource allocation schedule is feasible; a power grid resource configured to be controlled according to the resource allocation schedule; and a transmitter configured to transmit the resource allocation schedule from the power management system to the power grid resource.

[0007] Brief description of the drawings The details of one or more embodiments of the present disclosure are set forth in the accompanying drawings and the following description. Other features, objects, and advantages of the present disclosure will become apparent from the description and drawings, and from the claims. In the figures, identical reference characters generally indicate the same component parts throughout the various views, which are generally not re-described in the interest of brevity. For a more complete understanding of the present disclosure, reference is now made to the following description in conjunction with the accompanying drawings. [Brief description of the drawings]

[0008] [Figure 1] FIG. 1 illustrates a block diagram of a power grid having a power management system (PMS) in the control loop of the power grid in some embodiments. [Diagram 2] 1 is a functional block diagram of a power management system (PMS) in some embodiments. [Diagram 3] 1 is a functional block diagram of a Security Constrained Unit Commitment (SCUC) solver in accordance with some embodiments. [Figure 4] FIG. 2 illustrates a flowchart of a method for solving the Lagrangian-relaxed (LR) dual of a Security Constrained Unit Commitment (SCUC) system in an embodiment. [Diagram 5] FIG. 2 illustrates a flowchart of a method for repairing an infeasibility of a power resource allocation profile in an embodiment. [Figure 6] 1 is a block diagram of a processing system for performing operations of a power management system according to some embodiments. [Figure 7] 1 is a flowchart of a method for operating a power grid according to some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS The making and using of the presently preferred embodiments are discussed in detail below. However, it should be appreciated that the present disclosure provides many applicable inventive concepts that can be embodied in a wide variety of specific contexts. The specific embodiments discussed are merely illustrative of specific ways to make and use the present disclosure and do not limit the scope of the present disclosure.

[0010] Solving a large-scale security constrained unit commitment (SCUC) can take a huge amount of time and computing resources due to its huge dimension and complexity. An embodiment of the present disclosure describes an SCUC solver that efficiently solves large-scale SCUC. An exemplary SCUC solver first finds a tentative power resource allocation schedule by solving the Lagrangian Relaxation (LR) dual of the power grid resource allocation profile. Then, the SCUC solver checks whether the tentative resource allocation schedule is feasible. If the tentative resource allocation schedule is infeasible, the SCUC solver repairs the infeasibility of the tentative resource allocation schedule to achieve a feasible resource allocation schedule.

[0011] FIG. 1 illustrates a block diagram of a power grid 100 in some embodiments. The power grid 100 (which may also be referred to as a power system) includes multiple power resources 101 (e.g., power generators, or energy storage systems). The power resources 101 may be of different types, such as thermal plants (e.g., coal, natural gas, nuclear plants), hydroelectric plants, renewable resource power plants (e.g., wind farms, solar plants), energy storage systems, and demand response programs. Depending on the power plant type, each of the power resources 101 may be subject to complex technical and business constraints, such as minimum up / down time, ramp up / down rate, regulation / stability (e.g., a unit may not change its production level too many times), and start up / shut down ramp rate (e.g., when starting / stopping, a unit follows a specific power curve, which may depend on how long the plant is offline / online).

[0012] The power grid 100 also includes a transmission grid 103, which is an electrical grid that distributes electricity generated by the power resources 101 (e.g., power plants) to consumers. The transmission grid 103 is an interconnected network that may span a large geographic region (e.g., a country). The complex characteristics of the transmission grid 103, such as network topology, equipment parameters, and line flow limitations, as well as resource response rates, may need to be considered in solving a security constrained unit commitment system.

[0013] As illustrated in Figure 1, power grid 100 further includes a power management system (PMS) 105, which may be a market management system (MMS) or an emergency management system (EMS). PMS 105 may include various function blocks for implementing various functions, such as function blocks 200 and 300 of Figure 3. For example, PMS 105 may include a clearing engine that runs a market scheduling application to clear the market to establish market clearing prices for energy and ancillary services (such as various reserves and responses) as well as schedule commitments and dispatches for reliability.

[0014] In some embodiments, the clearing engine solves the security constrained unit commitment system to provide a resource allocation schedule for the power grid 100. The resource allocation schedule may include commitment decisions (e.g., whether a power plant is online and capable of producing energy at any time), production (also referred to as dispatch) decisions (e.g., how much energy a power plant is producing at any time), and controllable network element decisions (e.g., power flows on HVDC transmission lines and AC transmission lines with phase angle regulators). The resource allocation schedule may also be referred to as an operation schedule for the power grid 100. In some embodiments, after being generated, the resource allocation schedule is sent to the power resources 101, for example, by a transmitter (which may be part of the power management system 105), so that the power resources 101 are operated according to the resource allocation schedule.

[0015] In some embodiments, the resource allocation schedule is generated by solving a security constrained unit commitment system while taking into account the power grid 100 operational information (e.g., various constraints), such as power resource 101 constraints (e.g., generation capacity and operating margins, including safe operating ranges), transmission grid 103 constraints, and market information (e.g., bidding information, cost information, forecasted demand information, regulatory requirements such as emission targets). The goal of the resource allocation schedule is to clear market offers and bids while maximizing total welfare or minimizing total cost. In one exemplary embodiment, the goal may be to meet energy demand while minimizing energy production costs subject to reliability and emission constraints. In another exemplary embodiment, the goal may be to maximize energy production profits, e.g., the difference between revenue (from selling electricity) and cost (from producing electricity).

[0016] Figure 2 is a functional block diagram of a power management system (PMS) 105 in an embodiment. The PMS 105 in Figure 2 may be used in the power management system 105 in Figure 1, for example. For simplicity, not all functional blocks of the PMS 105 are illustrated in Figure 2.

[0017] 2, the PMS 105 formulates the SCUC problem as a mixed integer programming (MIP) representation 133 by using an SCUC model 131 and applying market and grid data 132 to the SCUC model 131. Thus, the MIP representation 133 is, in some embodiments, a mathematical model (e.g., 131) with constraints. Details of the SCUC model and the formulation of the MIP representation 133 are described below. In the discussion herein, the term mixed integer programming (MIP) may be used interchangeably with mixed integer linear programming (MILP).

[0018] The PMS 105 further includes a SCUC solver 134 configured to generate a SCUC solution 135 (e.g., a resource allocation schedule). In some embodiments, the SCUC solver 134 is configured to implement function blocks 200 and 300 of FIG. 3, which are described in further detail below.

[0019] In an embodiment, a security constrained unit commitment (SCUC) model 131 for an SCUC system solves the following optimization problem:

[0020]

number

[0021] This is formulated as follows:

[0022]

number

[0023] and

[0024]

number

[0025] where N is the number of power grid resources (e.g., the number of power plants and loads in the power grid), j is a resource index, and x j is the decision vector for resource j, and c j is the cost coefficient vector for resource j, and A j is the constraint matrix for resource j, and A c,j is the binding constraint matrix for resource j, and b j is the constraint boundary vector for resource j, and b c is the constraint boundary vector of the coupling constraint. The constraints in (1.2) may be referred to as the respective constraints of the power grid resources, and the constraints in (1.3) may be referred to as the coupling constraints of the SCUC system. In the discussion herein, the SCUC system (also referred to as the SCUC problem) in (1.1)-(1.3) may be referred to as a power grid resource allocation function, or a power grid resource allocation profile. In (1.1), the vector x is a decision vector x j , j = 1, 2, ..., N. Throughout the discussion in this specification, the same mathematical symbol (e.g., x j , c j , A j , A c,j ) refers to the same or similar entity.

[0026] Therefore, solving a security constrained unit commitment system consists of finding the decision vector x that minimizes the loss function (or cost function) shown in (1.1) while satisfying the various constraints in (1.2) and (1.3). j ,j=1,2,…,N,, where the decision vector x jcontains information about the resource allocation schedule for the jth power grid resource. For example, each decision vector x j contains binary information about the jth power resource (e.g., a commitment decision to turn on or off the jth power resource in a particular scheduled time slot). In addition, each decision vector x j contains non-binary (e.g., continuous-valued) information about the jth power resource, such as production information (e.g., the amount of energy it produces). j ,j=1,2,...,N, are used to form a power resource allocation schedule, which provides a resource allocation schedule for power grid resources operating in the power grid (e.g., whether to turn a power station on or off in a particular time slot, and how much power to generate, etc.).

[0027] In some embodiments, the various constraints of the power grid 100 discussed above (e.g., market and grid data 132) are quantified into a constraint matrix A j and / or the coupling constraint matrix A c,j The cost coefficient vector c j may include information such as cost information of energy production. In various embodiments, the security constrained unit commitment system is a large-scale mixed integer linear non-convex optimization problem. The security constrained unit commitment system is non-deterministic polynomial-time hardness (NP hard) and scales poorly with parallel MIP solvers using traditional methods.

[0028] As illustrated in the example of FIG. 2, a security constrained unit commitment (SCUC) system may be represented as a mixed integer programming (MIP) representation 133. Traditionally, a MIP solver is used to solve the SCUC problem. A MIP solver may be a software package that runs on a processor (e.g., a computer) to solve a MIP problem (e.g., a security constrained unit commitment system). A commercially available general-purpose MIP solver, such as CPLEX or Gurobi, may be used to solve the security constrained unit commitment system. An open source MIP solver, such as CBC, may also be used as a MIP solver.

[0029] Typically, a MIP solver searches through a vector space of decision vectors through a series of branch-and-bound (B&B) operations and / or a series of branch-and-cut (B&C) operations to find integer feasible solutions with increasingly smaller loss functions for the SCUC system, thereby finding an optimal solution (e.g., the decision vector x corresponding to the minimum loss function for the SCUC system). i The MIP solver gradually approaches a set of decision vectors (a set of vectors ∈ N, N, and N) over time. The MIP solver computes and updates values ​​for the decision vector in multiple iterations / steps such that the loss function decreases over time until the MIP solver reaches a final solution that is either the optimal solution for the SCUC system or sufficiently close to the optimal solution. The path from the initial (e.g., interim) solution to the final solution (e.g., the vector space traversed by the MIP solver) is said to be the convergence path of the MIP solver (or of the SCUC system), and the MIP solver is said to converge to the final solution along this convergence path.

[0030] For example, due to the larger number of variables (e.g., hundreds, thousands, or millions) in the decision vector and the fact that the decision vector contains both integer-valued and real-valued variables (e.g., having continuous values), it may take a long time and intensive computing resources for a MIP solver to find a feasible solution to an SCUC system. This disclosure describes an SCUC solver that uses a two-step process to efficiently find a feasible solution with good optimality (typically with a duality gap <0.5%) for an SCUC system.

[0031] Figure 3 illustrates a functional block diagram of a security constrained unit commitment (SCUC) solver 134 in some embodiments. The SCUC solver 134 may be used in the SCUC solver 134 of Figure 2. The SCUC solver 134 includes two functional blocks 200 and 300 for a two-step process to find a feasible solution to an SCUC system.

[0032] As illustrated in FIG. 3, in function block 200, the SCUC solver 134 optimizes the Lagrangian Relaxation (LR) dual (also called the LR dual problem) of the SCUC problem of Equations (1.1)-(1.3) to generate an intermediate (e.g., tentative) resource allocation schedule. However, the intermediate resource allocation schedule may not satisfy all the coupling constraints of the SCUC system. Then, the SCUC solver 134 checks whether the tentative resource allocation schedule is feasible (e.g., satisfies all the constraints of the SCUC system). If the tentative resource allocation schedule is infeasible, the SCUC solver 134 repairs the infeasibility of the tentative resource allocation schedule to achieve a feasible resource allocation schedule in function block 300. Details of the function blocks 200 and 300 are discussed below.

[0033] 4 illustrates a flowchart of a method 250 for optimizing the Lagrangian Relaxation (LR) dual of a Security Constrained Unit Commitment (SCUC) system in an embodiment. The process illustrated in FIG. 4 is used in the illustrated embodiment to implement the function block 200 of FIG. 3.

[0034] In block 201 of Figure 4, the LR dual of the SCUC system is set up. In an exemplary embodiment, optimizing the LR dual of the SCUC problem is performed by solving the following optimization problem:

[0035]

number

[0036] This is formulated as

[0037]

number

[0038] where λ is a Lagrangian multiplier vector (e.g., a vector containing multiple Lagrangian multipliers) and Φ(λ) is

[0039]

number

[0040]

number

[0041] This is the LR dual of SCUC, defined as

[0042]

number

[0043] Receive. By rewriting (2.3) as (2.4), the LR-duality problem in (2.3) and (2.5) can be broken down into several LR-duality subproblems:

[0044]

number

[0045] This is decomposed into the formula (2.5) (e.g., A j x j >_b j , j=1,2,…,N. Each of the LR-dual subproblems in (2.6) is the jth decision vector x j and the jth coupling constraint matrix A c,j , . Thus, the number of variables in each of the LR duality subproblems is much smaller than the number of variables in the original SCUC problem, and therefore can be solved much faster. In addition, each of the LR duality subproblems may be solved by a different solver (e.g., a MIP solver), and therefore, all of the LR duality subproblems may be solved in parallel by multiple solvers (e.g., N MIP solvers) to reduce the amount of time required to solve the LR duality subproblems. In other words, solving the LR duality problem can be achieved by solving multiple LR duality subproblems in parallel. In the discussion herein, a solver for solving the LR duality subproblems may also be referred to as an LR duality subproblem solver. As described in more detail below, optimizing the LR duality of the SCUC problem is achieved by solving the LR duality problem and taking turns updating the Lagrangian multiplier vector λ in multiple iterations.

[0046] Next, in block 203, the LR duality of the SCUC system is solved, for example, by solving multiple LR duality subproblems of (2.6) using multiple LR duality subproblem solvers (e.g., multiple MIP solvers). When solving the LR duality subproblems of (2.6), the variables to be solved for (e.g., optimized) are the decision vector x j Note that, where the Lagrangian multiplier vector λ has a fixed value (e.g., treated as a constant vector). In the first iteration, the Lagrangian multiplier vector λ is assigned an appropriate initial value (e.g., a zero vector). The Lagrangian multiplier vector λ is subsequently updated in each iteration (see blocks 205 and 207). Thus, in subsequent iterations, for the processing of block 203, the Lagrangian multiplier vector λ uses the updated value of the Lagrangian multiplier vector λ obtained from the previous iteration.

[0047] Next, in block 205, the partial gradient of the Lagrange multiplier vector λ is calculated using the following equation:

[0048]

number

[0049] where the decision vector x in equation (2.7) is j is the decision vector x obtained from solving the LR dual problem in block 203. j It is.

[0050] Next, in block 207, the Lagrangian multiplier vector λ is updated using the calculated partial gradient sg from block 205. Those skilled in the art will readily appreciate that different methods for updating the Lagrangian multiplier vector λ are available and that any suitable update method may be used to update the Lagrangian multiplier vector λ. As a non-limiting example, the Lagrangian multiplier vector λ may be expressed as:

[0051]

number

[0052] where Δ is the step size used in updating the Lagrangian multiplier vector λ and k is the iteration index.

[0053] Next, in block 209, the convergence of the LR duality optimization is checked, for example, by checking the difference between the values ​​of Φ(λ) achieved in the current iteration and the last iteration. For example, if the difference between Φ(λ) in the current iteration and the last iteration is smaller than a predefined threshold, it is determined that the convergence of the LR duality optimization is achieved, and processing proceeds to block 211. Another criterion for stopping the iterative processing may be that a predefined maximum number of iterations has been reached. If the convergence of the LR duality optimization is not achieved and the maximum number of iterations has not been reached, processing returns to block 203 for the next iteration.

[0054] In block 211, the intermediate resource allocation schedule is calculated based on the decision vector x of the solution to the LR duality problem (or the LR duality problem solution for short). j Since the LR duality solution may not be a feasible solution with respect to the relaxed constraints, the intermediate resource allocation schedule provides a tentative resource allocation schedule. Next, the feasibility of the LR duality solution is checked. The decision vector x j If satisfies all the constraints in equations (1.2) and (1.3), the LR dual problem solution is said to be feasible, the intermediate resource allocation schedule is output by the SCUC solver 134 as the resource allocation schedule, and processing at function block 300 is skipped.

[0055] On the other hand, the decision vector x jIf does not satisfy all the constraints in equations (1.2) and (1.3), the LR duality solution is said to be infeasible or to have residual infeasibility. Note that in the illustrated embodiment, the solution to the LR duality subproblem (2.6) must satisfy the constraints in equation (2.5), which are the same as the constraints in equation (1.2), and therefore, to determine the feasibility of the LR duality solution, only the coupling constraints in equation (1.3) need to be checked. When any of the coupling constraints in equation (1.2) are not satisfied, the LR duality solution is said to have residual infeasibility due to the coupling constraints.

[0056] When the LR duality problem solution is determined to be infeasible, the intermediate resource allocation schedule is repaired by function block 300 (see FIG. 3 ) to obtain a feasible resource allocation schedule. Thus, the processing of function block 300 may also be referred to as repairing (residual) infeasibility of the intermediate resource allocation schedule, repairing (residual) infeasibility of the LR duality problem solution, or repairing (residual) infeasibility of the coupling constraints.

[0057] 5 illustrates a flowchart of a method 350 for repairing an infeasibility of a power resource allocation profile in an embodiment. The process illustrated in FIG. 5 is used in the illustrated embodiment to implement the function block 300 of FIG.

[0058] The process illustrated in FIG. 5 is iterative, and therefore an index k is used to indicate the number of iterations of the iterative process. In block 301, the index k is assigned an initial value of zero. Next, in block 303, the dispatch problem (also called the economic dispatch problem) is solved. For the first iteration (e.g., when k=0), the dispatch problem is solved with fixed integer decisions from the LR duality problem solution (obtained in function block 200 of FIG. 3). For subsequent iterations (e.g., when k>0), the dispatch problem is solved with fixed integer decisions from the extended subproblem solution (obtained in block 309 of the last iteration). For ease of discussion, the dispatch problem may be referred to as being solved with fixed integer decisions without identifying the source of the fixed integer decisions (e.g., from the LR duality problem solution or from the extended subproblem solution). The dispatch problem is

[0059]

number

[0060] This is formulated as

[0061]

number

[0062] and

[0063]

number

[0064] Receive. The dispatch problem in (3.1)-(3.3) is similar to the original SCUC problem in (1.1)-(1.3), but with the addition of a slack variable vector S (containing multiple real-valued slack variables). In other words, the dispatch problem is obtained by modifying the SCUC problem with the slack variables. The dispatch problem also includes a penalty vector M for the slack variable vector S. The dispatch problem is solved with fixed integer decisions, which means that when solving the optimization problem in (3.1)-(3.3), the decision vector x j Note that this means that the integer variables in (e.g., decisions to turn power grid resources on or off, and other variables with integer values, if any) are fixed to the values ​​provided by the LR dual problem solution (when k=0) or by the extended subproblem solution (when k>0). In other words, optimizing the dispatch problem is a process of iteratively iterating over the decision vector x j This is performed only for non-integer variables in the decision vector x j Integer variables in are treated as constants. The dispatch problem is easier to solve because the number of variables to solve in the dispatch problem is smaller than that in the original SCUC system, and because the variables to optimize are all real-valued (and therefore may have continuous gradients). A MIP solver may be used to solve the dispatch problem, but in this case the MIP solver only needs to solve the non-integer variables, which results in less time being required to solve the dispatch problem. Alternatively, a simpler solver than a MIP solver may be used to solve the dispatch problem, for example a solver that only optimizes non-integer variables.

[0065] A slack variable vector S is added to the dispatch problem to ensure technology feasibility, so that the solver for the dispatch problem must find a solution (e.g., a decision vector x jand the slack variable vector S). In particular, the slack variables help to satisfy the coupling constraints in (3.3). Without the slack variable vector S, the dispatch problem may not have a feasible solution because the decision vector x j Because the integer variables in are fixed to values ​​provided by the LR dual problem solution or the extended subproblem solution, which may not admit a feasible solution, the elements in the penalty vector M are assigned sufficiently large values ​​(e.g., a high cost for the slack variables) to prevent the solver from relying on the slack variable vector S to satisfy the coupling constraints in (3.3).

[0066] Next, in block 305, the feasibility of the solution to the dispatch problem (also called the dispatch solution) is checked. A dispatch solution is feasible when the coupling constraints in (3.3) are satisfied with a zero-valued slack variable vector S, which is equivalent to satisfying the coupling constraints (1.3) of the original SCUC system. Thus, a dispatch solution is considered feasible when the slack variables in the slack variable vector S are zero. A non-zero-valued slack variable vector S means that the dispatch solution is technically feasible relying on the slack variables (e.g., satisfies (3.3)), but does not satisfy the coupling constraints (1.3) of the SCUC system, and is therefore not feasible. If the dispatch solution is feasible, processing proceeds to block 306, where the SCUC solver 134 calculates the decision vector x of the feasible dispatch solution. j A resource allocation schedule is generated based on the resource allocation schedule and the process stops.

[0067] If the dispatch solution is infeasible, method 350 corrects the infeasibility by solving multiple extended subproblems in one or more iterations and solving the dispatch problem with fixed integer decisions from the solutions to the extended subproblems, the details of which are discussed below. For ease of discussion, checking whether the dispatch solution is infeasible may also be referred to as checking the joint constraint infeasibility of the dispatch solution.

[0068] To repair the infeasibility of the dispatch solution, processing of the method 350 proceeds to block 307 for the first iteration (e.g., k=0), where multiple extended subproblems are set up and joint constraint bounds for the extended subproblems are initialized.

[0069]

number

[0070] is defined as

[0071]

number

[0072] and

[0073]

number

[0074] where k is the iteration index and λ (k) is the multiplier vector (e.g., containing multiple multipliers) at the kth iteration, and s j (k) is the slack variable vector for the jth extended subproblem at the kth iteration, and y j (k)is the bond constraint bond vector (e.g., including multiple bounds on the bond constraints) for the jth extended subproblem at the kth iteration, and ρ is the penalty coefficient for the quadratic terms in (4.1). (k) may be called the Lagrange multiplier vector of the extended subproblem, and the multiplier vector λ (k) The multipliers in may be referred to as Lagrange multipliers.

[0075] Multiplier vector λ (k) is initialized to the final value obtained from block 200 of FIG. 2. In subsequent iterations (k>0), the multiplier vector λ (k) is updated at each iteration. The penalty coefficient ρ is an input parameter for the extended subproblem and therefore has a fixed value during optimization. j (k) is initialized in the first iteration (when k=0) with the assigned infeasibility, if any, plus the value from the dispatch solution. Details are discussed below.

[0076] [Table 1]

[0077] The extended subproblem is set up and the bond constraint vector y j (0) Once initialized, a suitable solver, such as a MIP solver, may be used to solve each of the extended sub-problems, as illustrated in block 309. To reduce the time required to find a solution to the extended sub-problems, multiple solvers may be used to solve the extended sub-problems in parallel. For the purposes of the discussion herein, a solution to an extended sub-problem (e.g., a decision vector x j , j=1, 2, ….N) is also called the extended subproblem solution.

[0078] Next, in block 310, the iteration index k is incremented by 1. Processing returns to block 303 for the next iteration of processing.

[0079] Next, in block 303, the dispatch problem is solved again with the fixed integer decisions from the extended subproblem solution. The details are the same or similar to those discussed above and therefore are not repeated here.

[0080] Next, in block 305, the feasibility of the dispatch solution is checked using the same or similar process as discussed above. If the dispatch solution is feasible, processing proceeds to block 306, where the SCUC solver 134 calculates the feasible dispatch solution's decision vector x j If the dispatch solution is infeasible, processing continues to blocks 311 and 313, where the multiplier vector λ is calculated based on the multiplier vector λ, as discussed below. (k) and the joint constraint boundary vector y j (k) will be updated.

[0081] Next, in block 311, the multiplier vector λ (k) and the joint constraint boundary vector y j (k) In particular, the update for the multiplier vector λ at the kth iteration is calculated. (k) Update Δλ for the i-th element of (k) (i) is

[0082]

number

[0083] It is calculated by: The jth joint constraint boundary vector y at the kth iteration j (k) Update Δy for the i-th element of j (k) (i) is

[0084]

number

[0085] [Table 2]

[0086] Next, in block 313, the updates calculated in block 311 are used to calculate the multiplier vector λ (k) and the joint constraint boundary vector y j (k) is updated. In particular, the multiplier vector λ (k) teeth,

[0087]

number

[0088] and the joint constraint boundary vector y j (k) teeth,

[0089]

number

[0090] is updated by Next, in block 309, the extended subproblem is solved using the same or similar process as discussed above to generate the updated multiplier vector λ (k) and the updated joint constraint boundary vector y j (k) and therefore the details will not be repeated.

[0091] Next, in block 310, the iteration index k is incremented by one and processing returns to block 303 for the next iteration of processing.

[0092] Next, in block 303, the dispatch problem is solved by solving the updated multiplier vector λ (k) and the updated joint constraint boundary vector y j (k)The iterative process continues until a feasible solution is achieved. Note that the process in block 307 is performed only once at the beginning, when k=0. In subsequent iterations (k>0), the process of method 350 proceeds through the paths along blocks 311 and 313. In each iteration, the multiplier vector λ (k) and the joint constraint boundary vector y j (k) By updating , the process of method 350 reduces the residual infeasibility of the coupling constraints and eventually finds a feasible dispatch solution.

[0093] 6 is a block diagram of a processing system 900 for performing operations of a power management system according to some embodiments. For example, the processing system 900 may be used to implement the PMS 105 of FIG.

[0094] As shown in FIG. 6, the processing system 900 includes a processor 902, a memory 904, and interfaces 906-910, which may be arranged (or not arranged) as shown in FIG. 6. The processor 902 may be any component or collection of components adapted to perform computing and / or other processing related tasks, and the memory 904 may be any component or collection of components adapted to store programming and / or instructions for execution by the processor 902. In an embodiment, the memory 904 includes a non-transitory computer readable medium. The interfaces 906, 908, 910 may be any component or collection of components that allow the processing system 900 to communicate with other devices / components. For example, one or more of the interfaces 906, 908, 910 may be adapted to communicate data, control, or management messages from the processor 902 to applications installed on the host device and / or remote devices. As another example, one or more of interfaces 906, 908, 910 may be adapted to allow a device (e.g., a personal computer (PC), etc.) to interact / communicate with processing system 900. Processing system 900 may include additional components not depicted in FIG. 6, such as long-term storage (e.g., non-volatile memory, etc.).

[0095] FIG. 7 illustrates a flow chart of a method 1000 of operating a power grid, according to some embodiments. It should be understood that the embodiment method shown in FIG. 7 is merely an example of many possible embodiment methods. Those skilled in the art will recognize many variations, substitutions, and modifications. For example, various steps as illustrated in FIG. 7 may be added, removed, substituted, rearranged, or repeated.

[0096] 7, at block 1010, a power grid resource allocation profile is generated by a power management system of the power grid, the power grid resource allocation profile directing operation of the power grid constrained by the power grid operation information. At block 1020, an intermediate resource allocation schedule is generated by the power management system, the intermediate resource allocation schedule providing a tentative schedule of resource allocation for power grid resources operating in the power grid. At block 1030, the power management system determines whether the intermediate resource allocation schedule is feasible by checking whether the intermediate resource allocation schedule satisfies a binding constraint of the power grid resource allocation profile. At block 1040, in response to determining that the intermediate resource allocation schedule is not feasible, the power management system repairs the intermediate resource allocation schedule to generate a feasible resource allocation schedule, the resource allocation schedule providing a final schedule of resource allocation for power grid resources operating in the power grid.

[0097] The embodiments may achieve advantages. For example, it may take a long time for a MIP solver to find a feasible solution for an SCUC system, for example, due to a larger number of variables to optimize, types of variables to optimize (e.g., integer-valued and real-valued variables), and the NP-hardness of the SCUC system. The present disclosure provides a computationally efficient way to solve the SCUC problem in two steps. In a first step, an SCUC solver solves a Lagrangian Relaxation (LR) dual problem of the SCUC problem. The LR dual problem includes multiple LR subproblems that have lower dimensions (e.g., fewer variables) and are suitable for parallel processing. The feasibility of the LR dual problem solution is checked. If the LR dual problem solution is feasible, a resource allocation schedule is generated from the decision vector of the LR dual problem solution. If the LR dual problem solution is infeasible, the infeasibility of the LR dual problem solution is repaired to achieve a feasible solution. The repair process involves solving a dispatch problem with fixed integer decisions and solving multiple extended subproblems with lower dimensionality and suitable for parallel processing. The dispatch problem and extended subproblems allow for finding feasible solutions quickly and efficiently.

[0098] Variations and modifications to the disclosed embodiments are possible and are fully intended to fall within the scope of the present disclosure. For example, although the disclosed method is described within the framework of solving the SCUC problem, the disclosed method may be readily applied to other MIP problems. As another example, the multiplier vector λ (k) (e.g., blocks 311 and 313 in FIG. 5) may be performed only for those combined constraints with infeasibility from the dispatch solution. As yet another example, whereas in FIG. 5 the feasibility test is performed on the dispatch solution, it is possible to test feasibility directly on the extended subproblem solution.

[0099] Exemplary embodiments of the present disclosure are summarized here. Other embodiments can be seen throughout this specification and the claims filed herewith.

[0100] Example 1. In an embodiment, a method of operating a power grid includes generating, by a power management system of the power grid, an optimizer for addressing an optimization problem related to power grid resource allocation, the optimizer including an objective, constraints, and a computing model, where a coupling is between at least two of the constraints; generating, by the computing model of the optimizer, a solution to the optimization problem as an intermediate resource allocation schedule, the intermediate resource allocation schedule providing a tentative schedule of resource allocation for power grid resources operating in the power grid; and determining, by the computing model of the optimizer, whether the solution satisfies the coupling constraints of the optimizer. and in response to determining that the intermediate resource allocation schedule is infeasible, repairing the intermediate resource allocation schedule to generate a feasible resource allocation schedule by a computing model of an optimizer, wherein the resource allocation schedule provides a final schedule of resource allocation for power grid resources operating in the power grid, and repairing the intermediate resource allocation schedule includes determining whether a first dispatch solution obtained by solving a dispatch problem with fixed integer decisions from the intermediate resource allocation schedule is feasible.

[0101] Example 2. The method of example 1, further comprising transmitting, by the power management system, the resource allocation schedule to power grid resources.

[0102] Example 3. The method of example 1, wherein the optimizer constraints include information for constraining the operation of the power grid, including security-related transmission constraint information and cost information.

[0103] Example 4. The method of example 1, wherein generating the optimizer includes formulating the optimization problem as a Security Constrained Unit Commitment (SCUC) system based on a mixed integer program.

[0104] Example 5. The method of Example 1, wherein the intermediate resource allocation schedule is generated by solving a Lagrangian Relaxation (LR) dual of the optimization problem, the LR dual of the optimization problem including Lagrangian multipliers and coupling constraints of the optimization problem, the LR dual of the optimization problem including multiple LR subproblems, and generating the intermediate resource allocation schedule includes solving the multiple LR subproblems in parallel using multiple mixed integer programming (MIP) solvers.

[0105] Example 6. The method of example 5, wherein generating the intermediate resource allocation schedule further includes computing partial gradients for the Lagrangian multipliers and updating the Lagrangian multipliers using the computed partial gradients.

[0106] Example 7. The method of Example 1, wherein determining whether the first dispatch solution is feasible includes forming a dispatch problem by modifying an optimization problem with slack variables, solving the dispatch problem with fixed integer decisions from the intermediate resource allocation schedule to obtain the first dispatch solution, and determining whether there are non-zero slack variables in the first dispatch solution.

[0107] Example 8. The method of example 7, wherein repairing the intermediate resource allocation schedule further comprises generating a resource allocation schedule from a commitment decision of the first dispatch solution in response to determining that there are no non-zero slack variables in the first dispatch solution.

[0108] Example 9. The method of example 8, wherein in response to determining that there are non-zero slack variables in the first dispatch solution, the first dispatch solution is determined to be infeasible.

[0109] Example 10. The method of example 9, wherein repairing the intermediate resource allocation schedule further includes, in response to determining that the first dispatch solution is infeasible, solving a plurality of extended subproblems to generate a first extended subproblem solution, generating a second dispatch solution by solving the dispatch problem with fixed integer decisions from the first extended subproblem solution, determining whether the second dispatch solution is feasible, and generating a resource allocation schedule from commitment decisions of the second dispatch solution if the second dispatch solution is feasible.

[0110] Example 11. The method of Example 10, wherein repairing the intermediate resource allocation schedule further includes setting up a plurality of extended subproblems prior to solving the plurality of extended subproblems, the plurality of extended subproblems including Lagrangian multipliers and joint constraint bounds for the plurality of extended subproblems, and initializing the joint constraint bounds for the plurality of extended subproblems.

[0111] Example 12. The method of Example 11, wherein repairing the intermediate resource allocation schedule further includes, in response to determining that the second dispatch solution is infeasible, updating Lagrangian multipliers and joint constraint bounds of the plurality of extended subproblems, solving the plurality of extended subproblems with the updated Lagrangian multipliers and the updated joint constraint bounds to generate a second extended subproblem solution, generating a third dispatch solution by solving the dispatch problem with fixed integer decisions from the second extended subproblem solution, determining whether the third dispatch solution is feasible, and generating a resource allocation schedule from a commitment decision of the third dispatch solution if the third dispatch solution is feasible.

[0112] Example 13. In an embodiment, a power management system for a power grid includes one or more processors and a memory storing a program executed in the processor, the program including instructions, when executed in the one or more processors, for generating an intermediate resource allocation schedule, the intermediate resource allocation schedule providing a tentative schedule of resource allocations for power grid resources operating in the power grid, and determining whether the intermediate resource allocation schedule is feasible by checking whether the intermediate resource allocation schedule satisfies a binding constraint of a power grid resource allocation profile of the power grid, the power grid resource allocation profile being configured to generate an intermediate resource allocation schedule for the power grid resources operating in the power grid. and a memory that causes the intermediate resource allocation schedule to generate a feasible resource allocation schedule in response to determining that the intermediate resource allocation schedule is infeasible, the resource allocation schedule providing a final schedule of resource allocations for power grid resources operating in the power grid, and repairing the intermediate resource allocation schedule includes determining whether a first dispatch solution obtained by solving a dispatch problem with fixed integer decisions from the intermediate resource allocation schedule is feasible.

[0113] Example 14. The power management system of Example 13, further comprising a transmitter configured to transmit the resource allocation schedule to the power grid resources, the power grid resources being configured to be controlled according to the resource allocation schedule.

[0114] Example 15. The power management system of Example 13, wherein the intermediate resource allocation schedule is generated by solving a Lagrangian Relaxation (LR) dual of the power grid resource allocation profile, the LR dual of the power grid resource allocation profile including multiple LR subproblems, and the program includes instructions, the instructions causing one or more processors to generate the intermediate resource allocation schedule by solving the multiple LR subproblems in parallel using multiple solvers.

[0115] Example 16. The power management system of Example 13, wherein determining whether the first dispatch solution is feasible includes forming a dispatch problem by altering a power grid resource allocation profile with a slack variable, solving the dispatch problem with a fixed integer solution from the intermediate resource allocation schedule to obtain the first dispatch solution, and determining whether there is a non-zero slack variable in the first dispatch solution, and wherein repairing the intermediate resource allocation profile further includes generating a resource allocation schedule from a commitment decision of the first dispatch solution in response to determining that there is no non-zero slack variable in the first dispatch solution.

[0116] Example 17. The power management system of Example 16, wherein the program further includes instructions for repairing the intermediate resource allocation schedule by causing the one or more processors to: in response to determining that the first dispatch solution is infeasible, solve a plurality of extended subproblems to generate a first extended subproblem solution, the plurality of extended subproblems including Lagrangian multipliers and joint constraint bounds for the plurality of extended subproblems; generate a second dispatch solution by solving the dispatch problem with fixed integer decisions from the first extended subproblem solution; determine whether the second dispatch solution is feasible; and in response to determining that the second dispatch solution is feasible, generate a resource allocation schedule from a commitment decision of the second dispatch solution.

[0117] Example 18. The power management system of Example 17, wherein the program includes instructions for repairing the intermediate resource allocation schedule by causing the one or more processors to, in response to determining that the second dispatch solution is infeasible, update Lagrangian multipliers and joint constraint bounds of the plurality of extended subproblems, solve the plurality of extended subproblems with the updated Lagrangian multipliers and the updated joint constraint bounds to generate a second extended subproblem solution, and generate a third dispatch solution by solving the dispatch problem with fixed integer decisions from the second extended subproblem solution.

[0118] Example 9. In an embodiment, a system of a power grid is a power management system, generating an intermediate resource allocation schedule, the intermediate resource allocation schedule providing a tentative schedule of resource allocations for power grid resources operating in the power grid, determining whether the intermediate resource allocation schedule is feasible by checking whether the intermediate resource allocation schedule satisfies a binding constraint of a power grid resource allocation profile of the power grid, the power grid resource allocation profile indicating operation of the power grid constrained by power grid operation information, and in response to determining that the intermediate resource allocation schedule is not feasible, generating a feasible resource allocation schedule by repairing the intermediate resource allocation schedule, where the resource allocation schedule provides a final schedule of resource allocation for power grid resources operating in the power grid, and repairing the intermediate resource allocation schedule includes determining whether a first dispatch solution obtained by solving a dispatch problem with fixed integer decisions from the intermediate resource allocation schedule is feasible; a power grid resource configured to be controlled according to the resource allocation schedule; and a transmitter configured to transmit the resource allocation schedule from the power management system to the power grid resource.

[0119] Example 20. The system of Example 19, wherein determining whether the first dispatch solution is feasible includes forming a dispatch problem by altering a power grid resource allocation profile with slack variables, solving the dispatch problem with fixed integer decisions from the intermediate resource allocation schedule to obtain the first dispatch solution, and determining whether there are non-zero slack variables in the first dispatch solution, and wherein repairing the intermediate resource allocation schedule further includes generating a resource allocation schedule from the commitment decisions of the first dispatch solution in response to determining that there are no non-zero slack variables in the first dispatch solution.

[0120] While this disclosure has been described with reference to illustrative embodiments, this description is not intended to be construed in a limiting sense. Various modifications and combinations of the illustrative embodiments, as well as other embodiments of the present disclosure, will be apparent to those skilled in the art upon reference to the description. Accordingly, the appended claims are intended to cover any such modifications or embodiments.

Claims

1. 1. A method of operating a power grid, comprising: generating an interim resource allocation schedule by a power management system of the power grid, the interim resource allocation schedule providing a tentative schedule of resource allocations for power grid resources operating within the power grid; determining, by the power management system, whether the intermediate resource allocation schedule is executable by checking whether the intermediate resource allocation schedule satisfies a binding constraint of a power grid resource allocation profile of the power grid, the power grid resource allocation profile directing operation of the power grid constrained by operational information of the power grid; in response to determining that the intermediate resource allocation schedule is infeasible, repairing, by the power management system, the intermediate resource allocation schedule to generate a feasible resource allocation schedule, the resource allocation schedule providing a final schedule of resource allocations for the power grid resources operating in the power grid, and repairing the intermediate resource allocation schedule includes determining whether a first dispatch solution obtained by solving a dispatch problem with fixed integer decisions from the intermediate resource allocation schedule is feasible; Determining whether the first dispatch solution is feasible includes: forming the dispatch problem by adding slack variables to the coupling constraints of the power grid resource allocation profile and to an objective function of the power grid resource allocation profile; solving the dispatch problem with the fixed integer decisions from the intermediate resource allocation schedule to obtain the first dispatch solution; determining whether there are any non-zero slack variables in the first dispatch solution.

2. The method of claim 1 , further comprising transmitting, by the power management system, the resource allocation schedule to the power grid resources.

3. The method of claim 1 or 2, wherein the operational information includes information for constraining operation of the power grid, and includes security-related transmission constraint information and cost information.

4. 4. The method of claim 1, wherein generating the power grid resource allocation profile comprises formulating the power grid resource allocation profile as a Security Constrained Unit Commitment (SCUC) system based on a mixed integer programming.

5. 5. The method of claim 1, wherein the intermediate resource allocation schedule is generated by solving a Lagrangian Relaxation (LR) dual of the power grid resource allocation profile, the LR dual of the power grid resource allocation profile including Lagrangian multipliers and coupling constraints of the power grid resource allocation profile, the LR dual of the power grid resource allocation profile including a plurality of LR subproblems, and generating the intermediate resource allocation schedule includes solving the plurality of LR subproblems in parallel using a plurality of mixed integer programming (MIP) solvers.

6. generating the intermediate resource allocation schedule; Calculating partial gradients with respect to the Lagrange multipliers; and The method of claim 5 , further comprising: updating the Lagrangian multipliers using the calculated partial gradients.

7. 7. The method of claim 6, wherein repairing the intermediate resource allocation schedule further comprises generating the resource allocation schedule from a commitment decision of the first dispatch solution in response to determining that there are no non-zero slack variables in the first dispatch solution.

8. 8. The method of claim 7, wherein in response to determining that there are non-zero slack variables in the first dispatch solution, the first dispatch solution is determined to be infeasible.

9. Repairing the intermediate resource allocation schedule in response to determining that the first dispatch solution is infeasible, solving a plurality of extended subproblems to generate a first extended subproblem solution; generating a second dispatch solution by solving the dispatch problem with fixed integer decisions from the first extended subproblem solution; determining whether the second dispatch solution is feasible; and 10. The method of claim 8, further comprising: generating the resource allocation schedule from a commitment decision of the second dispatch solution if the second dispatch solution is feasible.

10. Repairing the intermediate resource allocation schedule includes, prior to solving the plurality of extended sub-problems, setting up the plurality of extended subproblems, the plurality of extended subproblems including Lagrangian multipliers and joint constraint bounds for the plurality of extended subproblems; The method of claim 9 , further comprising: initializing the joint constraint bounds for the plurality of extended sub-problems.

11. Repairing the intermediate resource allocation schedule in response to determining that the second dispatch solution is infeasible, updating the Lagrange multipliers and the joint constraint bounds of the plurality of extended sub-problems; solving the plurality of extended subproblems with updated Lagrangian multipliers and updated joint constraint bounds to generate a second extended subproblem solution; generating a third dispatch solution by solving the dispatch problem with fixed integer decisions from the second extended subproblem solution; determining whether the third dispatch solution is feasible; and The method of claim 10 , further comprising: generating the resource allocation schedule from a commitment decision of the third dispatch solution if the third dispatch solution is feasible.

12. 1. A power management system for a power grid, comprising: one or more processors; a memory storing a program for execution within the processors, the program including instructions that, when executed within the one or more processors, cause the one or more processors to: generating an interim resource allocation schedule, the interim resource allocation schedule providing a tentative schedule of resource allocations for power grid resources operating in the power grid; determining whether the intermediate resource allocation schedule is feasible by checking whether the intermediate resource allocation schedule satisfies a coupling constraint of a power grid resource allocation profile of the power grid, the power grid resource allocation profile directing operation of the power grid constrained by operational information of the power grid; and in response to determining that the intermediate resource allocation schedule is infeasible, repairing the intermediate resource allocation schedule to generate a feasible resource allocation schedule, the resource allocation schedule providing a final schedule of resource allocations for the power grid resources operating in the power grid, repairing the intermediate resource allocation schedule including determining whether a first dispatch solution obtained by solving a dispatch problem with fixed integer decisions from the intermediate resource allocation schedule is feasible; Determining whether the first dispatch solution is feasible includes: forming the dispatch problem by modifying the power grid resource allocation profile with slack variables; solving the dispatch problem with a fixed integer solution from the intermediate resource allocation schedule to obtain the first dispatch solution; determining whether there is a non-zero slack variable in the first dispatch solution.

13. a transmitter configured to transmit the resource allocation schedule to the power grid resources, the power grid resources being configured to be controlled according to the resource allocation schedule. The power management system of claim 12.

14. 14. The power management system of claim 12 or 13, wherein the intermediate resource allocation schedule is generated by solving a Lagrangian Relaxation (LR) dual of the power grid resource allocation profile, the LR dual of the power grid resource allocation profile including multiple LR subproblems, and the program includes instructions that cause the one or more processors to generate the intermediate resource allocation schedule by solving the multiple LR subproblems in parallel using multiple solvers.

15. 15. The power management system of claim 12, wherein repairing an intermediate resource allocation profile further comprises generating the resource allocation schedule from a commitment decision of the first dispatch solution in response to determining that there are no non-zero slack variables in the first dispatch solution.

16. the one or more processors; in response to determining that the first dispatch solution is infeasible, solving a plurality of extended subproblems to generate a first extended subproblem solution, the plurality of extended subproblems including Lagrangian multipliers and joint constraint bounds for the plurality of extended subproblems; generating a second dispatch solution by solving the dispatch problem with fixed integer decisions from the first extended subproblem solution; determining whether the second dispatch solution is feasible; and 16. The power management system of claim 15, further comprising instructions for repairing the intermediate resource allocation schedule by: generating the resource allocation schedule from a commitment decision of the second dispatch solution in response to determining that the second dispatch solution is feasible.

17. the one or more processors; in response to determining that the second dispatch solution is infeasible, updating the Lagrange multipliers and the joint constraint bounds of the plurality of extended sub-problems; solving the plurality of extended subproblems with updated Lagrangian multipliers and updated joint constraint bounds to generate a second extended subproblem solution; and generating a third dispatch solution by solving the dispatch problem with fixed integer decisions from the second extended subproblem solution.

18. 1. A power grid system comprising:

1. A power management system comprising: generating an interim resource allocation schedule, the interim resource allocation schedule providing a tentative schedule of resource allocations for power grid resources operating in the power grid; determining whether the intermediate resource allocation schedule is feasible by checking whether the intermediate resource allocation schedule satisfies a coupling constraint of a power grid resource allocation profile of the power grid, the power grid resource allocation profile directing operation of the power grid constrained by operational information of the power grid; a power management system configured to: in response to determining that the intermediate resource allocation schedule is infeasible, generate a feasible resource allocation schedule by repairing the intermediate resource allocation schedule, the resource allocation schedule providing a final schedule of resource allocations for the power grid resources operating in the power grid, and repairing the intermediate resource allocation schedule includes determining whether a first dispatch solution obtained by solving a dispatch problem with fixed integer decisions from the intermediate resource allocation schedule is feasible; a power grid resource configured to be controlled according to the resource allocation schedule; a transmitter configured to transmit the resource allocation schedule from the power management system to the power grid resources; Determining whether the first dispatch solution is feasible includes: forming the dispatch problem by modifying the power grid resource allocation profile with slack variables; solving the dispatch problem with the fixed integer decisions from the intermediate resource allocation schedule to obtain the first dispatch solution; determining whether there are any non-zero slack variables in the first dispatch solution.

19. 20. The system of claim 18, wherein repairing the intermediate resource allocation schedule further comprises generating the resource allocation schedule from a commitment decision of the first dispatch solution in response to determining that there are no non-zero slack variables in the first dispatch solution.

Citation Information

Patent Citations

  • Optimal output deciding method and device therefor

    JP1999259450A

  • Generation interruption programming device for generator

    JP2002300720A

  • Device and program for preparing generator operation plan

    JP2006238537A

  • A system that optimizes transportation scheduling and inventory management of bulk products from the point of supply to the point of demand

    JP2009539188A

  • Generator operation plan determination device, method for determining generator operation plan, and generator operation plan determination program

    JP2011188590A