1 Introduction
Economic dispatch is known as the immediate process of determining the optimal output from several power plants to satisfy system demand at the minimal practical price, given transmission and operating restrictions. The economic dispatch problem is addressed by specialized computer programs. These software must meet the system and operational requirements of the available resources and their related transmission capabilities. The primary principle is that the cheapest group of generators must be utilized first. The marginal cost of the last generating unit required to supply the demand determines the marginal cost of the system. This represents the price of adding a megawatt-hour of electricity to the grid.
From the perspective of system operation, economic dispatch is necessary to dispatch electricity efficiently. Most of the scheduled power comes from generating units, which typically operate seven days a week, twenty-four hours a day. This is known as base-load generation, and it normally involves big coal-fired and nuclear units. The load curve indicates that during the day, the quantity of electricity needed varies; therefore, relying solely on base-load generation is not the most cost-effective alternative. Fossil fuels used in combustion turbines are costlier, as shown in Fig.
1 [
2]. In the realm of smart grids, since power flow is becoming two-directional, more and more renewable energy sources will be integrated. In turn, it will make dynamic economic dispatch, data analytics, decentralization, and resilient and efficient energy systems invaluable. Cloud computing will be crucial to the development of smart grids by offering the scalability, flexibility, and infrastructure required to manage the massive volume of data generated and processed in modern energy systems.
Many researchers are paying attention to the economic dispatch issue. Fast Lambda Iteration (FLA) (Zhan et al., [
23]), Artificial Neural Network (ANN) (Momoh & Reddy, [
15]), Particle Swarm Optimization algorithm (PSO) (Lin et al., [
13]), Gravitational Search Algorithm (GSA) (Hota & Sahu, [
11]), Mixed Integer Quadratic Programming (MIQP) (Absil et al., [
3]), and Flower Pollination Algorithm (FPA) (Vijayaraj & Santhi, [
18]) techniques were used to solve ED. However, Jabr et al. [
12] presented a simplified security-constrained algorithm in the field of LP applications on ED. Hoke et al. [
10] use a rapid and dependable LP technique to calculate the energy density (ED) of grid-tied microgrids. Again, Elsaiah et al. [
8] describe a solution for resolving the ED problem in the context of renewable energy sources. Al-Subhi et al. [
1] provide an extensive analytical comparison between LP and alternative methods for resolving the economic power dispatch issue. We suggest a distributed linear programming outsourcing model for solving large-scale economic dispatch problems. As far as we are aware,
no prior work has considered distributed linear programming for solving large-scale economic dispatch. Our approach is efficient in solving large-scale economic dispatch in power systems.
Moreover, while outsourcing in the cloud, data confidentiality is a must. Leakages in data confidentiality will allow malicious entities to carry out virtual bid assaults and false data injection attacks using network topology data leaks due to breaches in data confidentiality. Since ED is publicly outsourced to the cloud, these challenges [
19], [
6], and [
5] will arise. Various research has focused on preserving data confidentiality. Baek et al. [
4] proposed Smart-Frame, an identity-based framework for cloud networks. It is better than conventional public-key cryptosystems as It overcomes scalability problems and saves a large amount of resources for processing and networking. However, this work does not mask the cloud application’s mathematical structure, and if a security channel is not established, malicious entities will be able to access the data stream and details about the authentication and authorization mechanism. Again, authors in [
14] proposed a model called the PPED model, which ensures the confidentiality of power grid data by using a secure sum protocol. Partitioned data is sent to neighboring nodes. The secure sum protocol allows each node to get the sum value without knowing the individual input. Although they added a new privacy layer, it hides certain functions from generation entities, such as power output, cost functions, and limits. We proposed a model that hides the problem structure as well as the data. In our approach, we transform our linear program (LP) to preserve data confidentiality. The confidential grid data is kept on a local computer system before being masked and safely outsourced to cloud computing. Although Sarker et al. [
17] proposed a similar confidentiality-preserving outsourcing model, they did not consider ramp rate, upper bound, lower bound, and other confidential data of generating units.
Our main objective is to propose a distributed linear programming approach for solving large-scale economic dispatch. Our model also preserves data confidentiality. Solving an LP for the ED problem for an electricity zone takes about 40 seconds using the lambda iteration method. Generally, ED is solved separately for both real value as well as forecasted value (ex. 5-minute intervals). So to deal with the economic dispatch problem for multiple zones based on real and forecasted demand and availability, we have to solve a huge number of LPs. Besides time efficiency, as a cloud-based solution, our distributed LP approach will provide fault tolerance, low latency, and cost-effectiveness by ensuring redundancy, optimizing resource allocation, and flexible pricing.
Among this work’s principal contributions are: i) offering a distributed linear programming outsourcing model for large-scale economic dispatch problems; ii) transforming the traditional ED into a linear program that protects confidentiality and hides the data and problem structure.
We have used the lambda iteration algorithm for solving linear programming. We run our LP programs on top of Apache Spark, which lies between MapReduce and the message-passing interface (MPI) and has closed the gap between industrial and high-performance computing perspectives. We considered our model for both the real-time and day-ahead energy marketplaces. In our model utility, we use data masking to preserve confidential data. We implemented our model on a real power grid system.
Our proposed model is for Independent System Operators (ISO). ISO is responsible for the secure and reliable power dispatch of a region. Generating and distribution entities place their availability and demand on ISO. The corresponding ISO can use our outsourcing approach to solve the economic dispatch problem and dispatch power more efficiently. Outsourcing ED in the cloud will help them improve operational efficiency and focus on strategic growth, all while controlling costs and maintaining flexibility.
The rest of the paper is structured as follows: Cloud computing in power systems and its design are described in Section
2. Section
3 explains the proposed model. Section
4 provides an explanation of the implementation details. The outcomes of the suggested model are described in Section
5. Closing remarks are included in Section
6.
4 Implementation details
We utilized an actual power grid dataset. It includes data of 143 power plants. We solved the economic dispatch problem based on real-life data. For simplicity, we do not consider line loss, and we consider the economic cost function to be linear. The details of our implementation will be discussed below.
4.1 Formulation of the Confidentiality-Preserving Linear Program
To solve the ED, we can first think of the simplest form of an LP.
where
cT is the cost vector and x is the decision variable. The desired function is dependent upon
Where A, the constraint coefficient matrix, has M by V elements (i.e.,
RM × V) and with M elements (i.e.,
RM × 1), the right-hand side (RHS) column vector is denoted by b. V indicates the total amount of decision variables in the LP, and M represents the number of requirements. The variable coefficients of the generator outputs and voltage angles are stored in matrix A. The generator, line, and voltage limitations, as well as the demand for each bus, are stored in b. To maintain data security, the coefficients of LP (
cT,
A, and
b) are masked. This is done by locally producing a random diagonal monomial matrix D with M by M entries (i.e.,
RM × M) (considering the matrix dimension) so that the overall equation cannot be changed. Now the conventional LP is turned into a confidentiality-preserving LP by multiplying all coefficients of the LP by the random matrix D. So the confidentiality-preserving LP can be written in this form.
such that
Notably, the resultant outputs (the value of x) are not hidden because a cyberattacker cannot reveal the meaning of each variable without knowing what’s underneath in A and b. The most optimal result obtained with a confidentiality-preserving LP is identical to that obtained using standard LP because, even when scaled (
4)–(
6), the objective function gives the same (
1)–(
3) suitable result. Thus, while executing and transferring confidentiality-preserving LP, the system operator (SO) only publishes the secured matrixes DA, Db, and
cTD. As a result, the original data in
cT, A, and b gets secured, as potential cyber attackers can’t get them without knowledge of the random diagonal monomial matrix D. To remove the inequality constraints, we need to consider slack variables, as described in [
17].
4.2 Lambda Iteration Method
To solve economic load dispatch with linear programming, we used the lambda iteration method [
16]. For solving LP, the lambda iteration method is a conventional method. It is an iterative type of computational technique shown in fig.
8. The optimum operating point of any generator set within a specified limit is found using this method.
4.3 Apache Spark Cluster
We solved our LP on top of Apache Spark. We used Spark version 1.6.1 and Scala 2.11.x. When we pass our MPS file to the MPS file parser, it converts the raw data of the MPS file into LP standard form. Thus, it constructs two 2D matrixes, which are inequalities constraints coefficients and equalities constraints coefficients. Again, it generates four 1D matrixes of objective function: inequalities constraints limits, equalities constraints coefficients, equalities constraints limits, lower bounds and upper bounds. Since matrixes take quadratically more storage space than vectors, we distribute the cost function, equality constraints coefficient, and equality constraints limits into some number of partitions. On the other side, we consider vectors to be local. Any Spark application has its own Directed Acyclic Graph (DAG), consisting of RDDs (Resilient Distributed Dataset) as vertices and transformations and actions as edges. When the Spark driver wants to evaluate an action, it divides the DAG into stages at the DAG-Scheduler, and more importantly, optimization happens through pipelining the transformations (lazy evaluation of transformations plays a crucial role here). Then, each stage is further divided into tasks at the task scheduler, where actual computations start to happen. A function that distributes the matrix and solves LP is shown in Algorithm 1 . For the cluster resources, we have used Amazon’s Elastic Computing instances with pre-installed and configured Apache Spark 1.6.1.

4.4 Deployment
Our cluster is deployed on Amazon EMR. Amazon EMR enables teams to handle enormous volumes of data rapidly, cost-effectively, and at scale. S3 buckets are used for the file system. We made use of many Ec2 instance types. General-purpose instances such as m4.large and m4.xlarge were used. Compute-optimized Ec2 instances, such as c4.large and c4.xlarge, were also used. Then, we evaluate each other’s performances. The following section will go into further depth about this.