Introduction

For a long time, the electric industry has been a natural monopoly. Power systems were designed to transmit large amounts of energy at high voltage level from remote generating units toward end users. Within the regulated monopoly structure, the customers had no choice but to buy electricity from the local utility. So, there was no incentive for the consumers to investigate and understand how power was produced, traded, transmitted and delivered to the end users. Since the early 1990s, the electrical industry all over the world has been going through a restructuring process. Electrical companies moved away from the vertically integrated monopolies to liberalized structures with power delivery being a bundle of services mainly including production, transmission and distribution of energy. Privatization of generating utilities has refocused the objectives of owners toward profits. Generating companies are no longer obliged to produce power as has been the case under centralized planning, but can choose to do so at a time and price that is profitable to them. Competition enforces cost reduction, efficiency of operation and reliability of services. So, simulating and optimizing the problem of bidding strategies in the electricity market became a well-known issue in power engineering. The importance of this issue is related to generators’ strategies in the market. To evaluate accurately and increase profitability, participants need to adopt an appropriate theoretical and computational tool to offer a good price and quantity to the market. In a deregulated electricity market, each generator will reasonably build strategic bidding to maximize its own profit according to the other generators’ strategies. This problem is modeled by the concept of Nash equilibrium. Nash equilibrium in electricity markets has been simulated by many tools and algorithms, as shown in some papers as follows.

Songs et al. (2003) proposed conjectural variation model (CV) and its application in the spot electricity market. The CV-based bidding strategy model (CVBS) can help generators to maximize their profit in the spot electricity market. Musmanno et al. (2005) dealt with the definition of a decisional model for a producer operating in a multi-auction electricity market. They introduced a multistage stochastic programming model in which the randomness of the clearing price is represented by means of a scenario tree. Kang et al. (2007) have assumed that each generator has complete information about its profit and the other market generators’ profits and tries to estimate other competitors’ biddings to maximize its profit by use of the Nash equilibrium concept. Gao et al. (2008) have presented two approaches to determine market bidding strategies by support vector machine (SVM). The accuracy of the methods was examined with an example.

A research on the bidding decision-making problem from the point of the generators has been performed by Rahimiyan and Rajabi Mashhadi (2008 ). The mentioned method was called the model-based algorithm and was not practical. They replaced the Q-learning model in which decision making was performed according to past experiences. Soleymani et al. (2008) tried to propose a reasonable approach to maximize generators’ profits. They used the forecasted clearing market price (FCMP) for each hour as a reference to model power plants’ possible bidding strategies. Borghetti et al. (2009) proposed an analysis about the selecting process of the generators’ bidding strategies. This analysis was performed both as an approach of the static game theory and of a cost-minimization unit-commitment algorithm by using a computer-based method.

Yucekaya et al. (2009) used two particle swarm optimization (PSO) algorithms to determine the optimal price and quantity in the electricity market. In the first method, the solution was obtained by using a normal PSO. In the second method, an approach of decomposition with the mentioned algorithm was used that had much better performance than the first method. Results indicated that for the non-linear cost functions, the PSO-based solutions had a higher expected profit than the biddings based on the marginal cost. Bigdeli et al. (2010) proposed a new bidding strategy based on the systematic analysis of interaction between the market and suppliers through several market indexes as well as forecasting the important indexes by using artificial neural network (ANN). Azadeh et al. (2010) compared three possible bidding strategies (uniform, pay as bid and Vickrey) to clear the wholesale electricity market by using ant colony algorithm (ACO).

Soleymani (2011) introduced a new algorithm by combining PSO algorithm and simulated annealing (SA) to forecast the optimal bidding strategy in the electricity market with incomplete information and pay-as-bid pricing mechanism. Mahvi and Ardehali (2011) proposed a new method to determine the optimal bidding strategy of generating companies in the electricity market by using agent-based approach and numerical sensitivity analysis (NSA). Wang et al. (2011) used an evolutionary game approach with incomplete information to analyze bidding strategies in the electricity market with price elasticity of demand. Vijaya Kumar et al. (2013) presented a new stochastic approach to solve the problem of the optimal bidding strategy in the spot market by using the fuzzy adaptive gravitational search algorithm. Because of the need to select the gravitational constant search, gravitational search algorithm is a tedious method for obtaining the optimal bids. Nojavan et al. (2013) identified the optimal bidding strategy in a day-ahead market by using the information gap decision theory. Gap information decision making indicates that risk aversion and risk taking will impact on the expected profit and the supply curve. The mentioned method was applied to an unrealistic case study. Mahmoudi et al. (2014) proposed a game theoretical model to show how power plants maximize their utilities in each energy source by considering the government’s role in the competition of two power plants. The results also revealed that the government’s taxes and subsidiaries effectively influenced the selected fuel types of power plants in the competitive market.

As shown above, the problem of modeling and optimization of bidding strategies has been the subject of numerous research works. Within this context, this article proposes an original solution to the problem of electricity market equilibrium search in a large-scale power system.

The electricity market equilibrium model not only helps independent system operator (ISO) analyze market performance and market power, but also provides market participants the ability to build optimal bidding strategies based on microeconomics analysis. A market simulator is a valuable training and evaluation tool that assists sellers, buyers and regulators to understand market performance and make better decisions. A traditional optimization model may not be enough to consider the distributed, large-scale, and complex energy market. This research compares the performance of different artificial life techniques such as genetic algorithm (GA), simulated annealing (SA) and a new approach of hybrid SA–GA (HSAGA) and looks for a proper method to emulate generation companies’ bidding strategies.

In this paper, first a new explicit formulation of Nash equilibrium as a classical minimization function is formulated. More precisely, the measure of remoteness of some possible solution from the optimal one is introduced. Nash equilibrium is a stable state of a system involving the interaction of different participants in which no participant can gain by a unilateral change of strategy if the strategies of the others remain unchanged. The most important feature of Nash equilibrium is that the participants’ selections in it do not necessarily make the most payoff (Abdoli 2011). In this situation, all generators gain a satisfactory profit. So, we search for Nash equilibrium instead of the maximization of every generator’s profit.

Together with the metaheuristic optimization approaches, the methodology overcomes the well-known computational difficulty of Nash equilibrium search, particularly for a large-scale problem. Optimization in the context of the electricity market is a combinatorial problem. These problems are often relatively easy to model, but not easy to solve, especially when the number of players and/or strategies becomes significant. The classical optimization methodologies might fail to find a global optimum of multiple objectives and over a large solution space. In recent years, heuristic approaches for complex system optimization have been actively developed (Laguna and Martí 2003). Generally, they do not require even a rigorous mathematical formulation, but only the definition of solution space and a solution representation itself. In this article, we intend to implement the random search algorithms of GA, SA that has no memory structures and a new approach of hybrid SA–GA to search and find the optimal bidding strategies in the market. As the problem of bidding strategy is large scale, the time of computing Nash equilibrium is a vital factor for the efficiency of the operation. Solving such a combinatorial problem by single enumeration is complex and grows exponentially with the number of players. We compare the efficiency of these algorithms to find the fastest method with more stable results. Also, we show that every combination of metaheuristic algorithms may not lead to a new more efficient algorithm.

Because we performed the model and searched bidding strategies in Tehran electricity market as the main electricity market in Iran with about 82 generating units, we did not find such this large experimental and real case to simulate Nash equilibrium and model optimal bidding strategies of a real market in researches. Also, we have introduced a combined algorithm of GA and SA to solve the problem of bidding strategy and there is no such research as this. GA and SA have been used solely in the space of researching in optimizing bidding strategy; however, comparing these algorithms and their new combination for the mentioned problem is a new work.

Methods

Spot electricity market

The spot market is only a real-time market, not the day-ahead market (Stoft 2002). In a spot market, the seller delivers his production immediately and the buyer pays for it “on the spot”. There are no conditions attached to the delivery. In a spot market, the producer can sell exactly the amount of his available production and the consumer can purchase exactly the amount he needs. The spot market has an important feature in that prices in it tend to change quickly according to increasing or decreasing demand (Kirschen and Strbac 2004).

In the electricity market, two principal models of energy trading are considered:

  • the spot market or power exchange (PX);

  • the bilateral agreements.

Models are distinguished by the bids-matching process and the price-setting mechanisms. The spot market concept is used as the basis for the modeling of a very general competitive market structure. It provides the solution for specifying the optimal bidding strategies (Beck et al. 2008). In a spot market, power generators trade power for a number of periods in advance. Bids are often submitted until 12:00 the day before delivery, and 2 h later the prices and schedule for the next day are released. Clearing is done by crossing the aggregated supply and demand curves for each trading period (see Fig. 1).

Fig. 1
figure 1

Aggregated supply and demand curve

The trading process of the spot market consists of the following steps (Kirschen and Strbac 2004):

  • Each generating company bids the ordered pair of its proposed price and quantity to supply certain amount. These bids are ranked in order of increasing price. From this ranking, the supply curve of the market is built.

  • Similarly, the demand curve of the market is made by asking consumers to submit offers specifying quantities and prices and ranking these offers in decreasing order of price. Since the demand for electricity is highly inelastic, the demand curve is assumed to be a vertical line at the value of the load forecast.

  • The intersection of these supply and demand curves shows the market equilibrium. All the bids submitted at a price lower than or equal to the market price are accepted and producers are allowed to produce the amount of energy corresponding to their accepted bids. Similarly, all the offers submitted at a price greater than or equal to the market price are accepted.

  • Generators are paid the market price for every megawatt-hour that they produce, whereas consumers pay the market price for every megawatt-hour that they consume, irrespective of the bids and offers that they submitted. Generally, electricity is traded as a quantity of energy at a certain price during a specific time period (1, 1/2 h).

Defining the indexes and parameters

The following indexes are used in the proposed model:

\( i \) :

Number of generators (\( i = \left\{ {1,2, \ldots ,N} \right\} . \))

\( j \) :

Number of individuals/number of joint (combined) strategies (in this article, each generator can propose three strategies. Therefore, there are \( 3^{N} \) joint strategies or individuals).

\( h \) :

Number of strategies that each generator can bid (in this article, each generator can propose three strategies).

\( k \) :

Number of consumers.

The researchers consider the following parameters:

\( {\text{MC}}_{{{\text{G}}_{i} }} \) :

Marginal cost of generator i.

\( P_{{{\text{G}}_{i} }} \) :

Proposed price of generator i.

\( Q_{{{\text{G}}_{i} }} \) :

Proposed quantity of generator i.

\( Q_{{L_{k} }} \) :

Proposed quantity of consumer k.

\( P_{\text{cap}} \)::

Price cap of electricity market.

\( Q_{{{\text{G}}_{i} }}^{ \hbox{max} } \) :

Maximum generation capacity of generator i.

\( Q_{{{\text{G}}_{i} }}^{ \hbox{min} } \) :

Minimum generation capacity of generator i.

\( U_{i} \) :

Set of available strategies of player i (each strategy contains an ordered pair of \( P_{{{\text{G}}_{i} }} \) and \( Q_{{{\text{G}}_{i} }} \)).

\( u_{i} \) :

The specified strategy played by player i.

\( \vec{u} \) :

Vector of all generators’ strategies (joint strategy: \( \vec{u} = \left\{ {u_{1} ,u_{2} , \ldots ,u_{N} } \right\} \)).

\( U \) :

The finite set of strategies (in this article, each generator can propose three strategies. Therefore, there are \( 3^{N} \) vectors of strategies in U).

\( J_{{G_{i} }} \left( {\vec{u}} \right) \) :

The profit of player i from the joint strategy of \( \vec{u}. \)

\( J(\vec{u}) \) :

Generators’ joint profit.

\( {\text{HR}} \) :

Generators’ heat rate (\( {\text{Kcal}}/{\text{Kwh}} \)).

\( w^{\text{fuel}} \) :

Generation unit cost for fuel consumption (\( {\text{rial}}/{\text{Kcal}} \)).

\( w^{{{\text{SO}}_{2} }} \) :

Generation unit cost for emission of sulfur oxide (\( {\text{rial}}/{\text{Kcal}} \)).

\( r^{{{\text{SO}}_{2} }} \) :

Emission rate of sulfur oxide for the generation unit.

\( w^{\text{NO}} \) :

Generation unit cost for emission of nitrogen oxide (\( {\text{rial}}/{\text{Kcal}} \)).

\( r^{\text{NO}} \) :

Emission rate of nitrogen oxide for the generation unit.

\( {\rm Cost}^{\rm O\& M} \) :

Maintenance variable cost of each unit (\( {\text{rial}}/{\text{Kwh}} \)).

\( D_{i} \) :

An absolute value of difference between the gained profit in the current configuration j and the possible maximized value of the profit for player i.

\( D\left( u \right) = F_{j}^{\text{abs}} = D_{j} \) :

cost (objective) function (sum of the differences between amounts of profit obtained in the current configuration (joint strategy:\( \vec{u} \)) with the maximal possible amount of profit for each producer. It is equal to \( \mathop \sum \limits_{i} D_{i} \)).

\( p_{ih} \) :

\( h \)th proposed price of generator i.

\( q_{ih} \) :

\( h \) th proposed quantity of generator i.

\( f_{ih} \)::

Fitness of \( h \)th generator i’s bid.

Problem of optimizing bidding strategy

Constraints of generators’ profit maximization

Generation companies propose their desirable prices in the market by considering some technical and network constraints. Each generator offers its price and quantity of production to the market with respect to profit maximization according to the other generators’ strategies. Assuming a competitive market, the generator determines its bid based on the equality of price with its marginal cost (MC). However, in the non-competitive situation, price is far from marginal cost of generator. In this case, the price will fluctuate within the price cap and the generator’s marginal cost. Many electricity markets incorporate a price that is called “price cap” designed to prevent large price spikes (Kirschen and Strbac 2004). A price cap may be charged for a commodity. Price caps are used to prevent gouging during times of short supply or to limit price increases to a certain level. The price of bidding shall not be higher than this upper price limit specified by the market operator (MO) (Beck 2008). Also, the amount of generation of each plant is limited in the range of minimum and maximum generation capability:

$$ {\text{MC}}_{{{\text{G}}_{i} }} \le P_{{{\text{G}}_{i} }} \le P_{\text{cap'}} $$
(1)
$$ Q_{{{\text{G}}_{i} }}^{ \hbox{min} } \le Q_{{{\text{G}}_{i} }} \le Q_{{{\text{G}}_{i} }}^{ \hbox{max} } . $$
(2)

The equilibrium of supply and demand in each market is considered as an inevitable constraint:

$$ \mathop \sum \limits_{k} Q_{{{\text{L}}_{k} }} = \mathop \sum \limits_{i} Q_{{{\text{G}}_{i} }} . $$
(3)

Generators’ joint profit maximization

The complexity of the problem is when each generator’s profit associates with other generators’ bidding strategies. In this paper, Nash equilibrium is considered to solve this problem. Therefore, the problem changes from each generator’s profits maximization to simultaneous generators’ profits maximization and Nash equilibrium occurs when none of the participants is unilaterally reluctant to change the equilibrium and the solution. Mathematically, optimizing the problem of the generators’ profits is considered as a search problem of vector \( \vec{u} \) that causes maximizing the function:

$$ \vec{u} = \left[ {u_{1} ,u_{2} , \ldots ,u_{N} } \right] \in U, $$
(4)
$$ J\left( {\vec{u}} \right) = \left[ {J_{{{\text{G}}_{1} }} \left( {\vec{u}} \right), \ldots ,J_{{{\text{G}}_{i} }} \left( {\vec{u}} \right), \ldots ,J_{{{\text{G}}_{N} }} \left( {\vec{u}} \right)} \right]. $$
(5)

The vectors \( \vec{u}(P,Q) \) are N market generators’ strategies that are extracted from a finite set (U). The vector \( \vec{u} \) is equal to the proposed prices and the relevant quantities of production for all generators.

Short-term marginal cost of power plants

We use the following equation that indicates the short-term marginal cost of generation for each year of power plant (Mansur 2008):

$$ {\rm MC} = {\rm HR} \cdot \left( {w^{\rm fuel} + w^{{{\rm SO}}_{2}} \cdot r^{{{\rm SO}}_{2}}} + w^{\rm NO} \cdot r^{\rm NO} \right) + {\rm Cost}^{\rm O\& M}.$$
(6)

In this equation, HR is the generator’s heat rate and its unit is (\( {\text{Kcal}}/{\text{Kwh}} \)). \( w^{\text{fuel}} \), \( w^{{{\text{SO}}_{2} }} \) and \( w^{\text{NO}} \) are, respectively, generation unit costs for fuel consumption, emission of sulfur oxide and emission of nitrogen oxide in (\( {\text{rial}}/{\text{Kcal}} \)). \( r^{{{\text{SO}}_{ 2} }} \) and \( r^{\text{NO}} \) are equal to the emission rates of the generation unit and \( {\rm Cost}^{\rm O\& M}\) is the maintenance variable cost of each unit.

Nazemi et al. (2011) explain that as generation companies in Iran do not pay attention to the social costs in their bidding process, the costs of emission of sulfur oxide and emission of nitrogen oxide are not considered in Eq. 6. Therefore, short-term MCs of generators in Iran are achieved by Eq. 7:

$$ {\rm MC} = {\rm HR} \cdot w^{\rm fuel} + {\rm cost}^{\rm O\& M}. $$
(7)

Information of fuel and HR for all power plants was extracted from the document Detailed statistics of power generation in Iran (Tavanir Expert Holding Company 2013). As the plants use several fuels (gasoline, fuel oil and natural gas), heating values (HV) and fuel consumptions of generation units are formulated in the marginal cost formula as the weighted averages. We use the energy balance document to specify the fuel prices of plants (Ministry of Energy 2013)

New formulation of the objective function

We address here the problem of computation of pure Nash equilibrium for electricity markets having a large number of players and for which the players have a discrete set of strategies. Identification of pure Nash equilibrium in such type of games can be done in principle by relying on an exhaustive search process which consists of checking whether every single joint strategy corresponds to a Nash equilibrium. However, the number of operations that are required for identifying with such a process the Nash equilibrium of a game grows exponentially with the number of players, making such an approach rapidly computationally impractical. We use an approach for efficiently identifying Nash equilibrium for such types of games. The approach is based on an alternative characterization of the Nash equilibrium of a game in terms of minima of a function defined over the joint strategy space. With such a characterization, the problem of finding a Nash equilibrium is transformed into a pure combinatorial optimization problem (Beck et al. 2008):

$$ u^{*} = \mathop {\hbox{min} }\limits_{u \in U} D(u), $$
(8)

where \( D \) in Eq. 8 is the cost function and \( U \) is the joint strategy space. Solving such a combinatorial problem by single enumeration is complex and grows exponentially with the number of players. However, by writing the Nash equilibrium search problem under this form, one can exploit the randomized combinatorial optimization, such as genetic algorithms, simulated annealing, tabu search or nested partitioning to curb this exponential computational growth with the number of actors.

General formulation

In this paper, we evaluate the generators’ profits based on the market clearing price (market price). Getting a set of bids in which all generators gain satisfactory profits is the aim of this simulation. As mentioned above, the most important characteristic of Nash equilibrium is that the participants’ selection in it does not necessarily make the most payoff (Abdoli 2011). In this situation, all generators gain a satisfactory profit. So, we search the Nash equilibrium instead of the maximization of every generator’s profit. This goal happens when each participant mutually changes his bid until it has no incentive to change its decision. According to the characterization of Nash equilibrium in games, Nash equilibrium search from the point of minimizing the objective function on a joint strategy space changes to an optimization problem. Consider game G with N players (\( \left\{ {1,2, \ldots ,N} \right\} \)). In this game, \( U_{i} \) represents the set of available strategies of player i. \( u_{i} \) is equal to the specified strategy played by player i and \( \vec{u} = \left\{ {u_{1} ,u_{2} , \ldots ,u_{N} } \right\} \) is a joint strategy for N players. The profit of player i from the joint strategy of \( \vec{u} = u_{1} ,u_{2} , \ldots ,u_{N} \) is equal to \( \left( {J_{i} \left( u \right)} \right) \). In such situation, the definition of Nash equilibrium for game G is as follows.

The combined strategy of \( u^{ *} = \left( {u_{1}^{ *} ,u_{2}^{ *} , \ldots ,u_{N}^{ *} } \right) \) will be the Nash equilibrium for game G if we have for all \( i \in \{ 1,2, \ldots ,N\} \) and [\( (u_{i} \in U_{i} ) \)]:

$$ J_{i} \left( {u_{1}^{*} ,u_{2}^{*} , \ldots ,u_{N}^{*} } \right) \ge J_{i} \left( {u_{1}^{*} , \ldots ,u_{i - 1}^{*} ,u_{i} ,u_{i + 1}^{*} , \ldots ,u_{N}^{*} } \right). $$
(9)

We define the equilibrium search function \( D\left( u \right) :U \to R^{ + } \) as a function on the combined strategy space of U (\( U = U_{1} \times U_{2} \times \cdots \times U_{N} \)) to identify this equilibrium (Beck et al. 2008):

$$ D\left(u\right) =\mathop\sum\limits_{i = 1}^{N}\left[{\mathop {\max}\limits_{{{{\acute{u}}}_{i}\in U_{i}}} J_{i}\left({u_{1},\ldots,u_{i - 1},\acute{u}_{\iota},u_{i + 1},\ldots,u_{N}}\right) - J_{i}\left(u\right)}\right] $$
(10)

Our purpose is to minimize Eq. 10. If U is not Nash equilibrium, \( D\left( u \right) \) will be positive; otherwise it will be zero. Joint strategy of \( u^{ *} \) will be an equilibrium for the game if \( D(u^{ *} ) \) is zero. The above-mentioned function calculates the difference between payoff (profit) in the current situation and the maximal possible payoff for each producer.

In this article, the optimization problem of bidding strategies in the electricity market for a particular period is generally as follows:

$$ \begin{gathered} \hbox{min} D\left( u \right) = \mathop \sum \limits_{i = 1}^{N} \left[ {\mathop {\hbox{max} }\limits_{{\acute{u}_{i} \in U_{i} }} J_{i} \left( {u_{1} , \ldots ,u_{i - 1} ,\acute{u}_{i} ,u_{i + 1} , \ldots ,u_{N} } \right) - J_{i} \left( u \right)} \right] \hfill \\ S.t: \hfill \\ MC_{{G_{i} }} \le P_{{G_{i} }} \le P_{cap} \hfill \\ Q_{{G_{i} }}^{min} - Q_{{G_{i} }} \le 0 \hfill \\ Q_{{G_{i} }} - Q_{{G_{i} }}^{max} \le 0 \hfill \\ \mathop \sum \limits_{j} Q_{{L_{j} }} = \mathop \sum \limits_{i} Q_{{G_{i} }} \hfill \\ Q \ge 0 \& P \ge 0 \hfill \\ \end{gathered} $$
(11)

Structure of the game

This paper presents a static game with complete information. As we are analyzing bidding strategies in the spot electricity market for an hour, this game is static. In addition, the information about HR, \( w^{\text{fuel}} \), fuel consumption for each generator and any information to achieve MCs of plants are published (Ministry of Energy 2013). Also, the maximum and minimum quantities of production of any generators are available (Iran Grid Management Co., 2012). The price cap is also known. Therefore, each generator can get the space of other competitors’ payoff (profit). So, we can assume it as a static game with complete information. Nash equilibrium is the solution of this kind of game. The components of the game are introduced in Table 1.

Table 1 Game components

Genetic algorithm

Genetic algorithm is an oriented stochastic optimization technique that moves gradually toward the optimum point. This algorithm is applicable to every problem without any information about the problem and any restrictions on the type of variables. Its efficiency in finding the global optimum point has been proved. The capability of this method is in solving complex optimization problems in which either classical methods are not applicable or they are not reliable to find the global optimum (Fogel 2000).

The structure of the genetic algorithm is as follows:

  • Chromosome: it represents a point in the search space. The points that are inputs of fitness function are called individuals.

  • Population: a set of chromosomes (individuals) forms a population. A new population with the same number of chromosomes is formed by influence of the genetic operators on each population.

  • Fitness function: it indicates fitness or individual capability of the chromosome.

  • Genetic operators: genetic operators are used during the reproduction stage. By the effect of these operators on a population, the next generation will be produced. These operators are: (1) selection, (2) crossover and (3) mutation.

Crossover

Crossover operator performs the partial exchange of characteristics (genetic material) between two individuals selected randomly from the current population. Therefore, new created individuals inherit the characteristics of both “parents”. Position(s) of crossover is defined randomly. There are many variations of crossover operators depending on the position’s definition of gene exchange:

  • Simple crossover consists in choosing one position randomly and exchanging the parts of individuals starting from this point.

  • In double crossover, exchange takes place between two randomly defined positions.

  • In uniform crossover, the individuals exchange parts according to some pattern defined randomly.

In this research, we used both simple crossover and double crossover by applying a roulette wheel. Figure 2 shows an example of a simple and a double crossover. Each generator can bid three strategies of 1, 2 or 3.

Fig. 2
figure 2

Single- and double-point crossover. a Single point crossover, b Doule point crossover

Mutation operator

Mutation introduces random modifications in the population, helps to preserve diversity and prevents premature convergence of the algorithm. It is performed on a single individual by modification of one value in a chain of characters according to some probability that tends to zero. It can improve the fitness of an individual or deteriorate it. Figure 3 shows an example of a mutation.

Fig. 3
figure 3

Mutation

Simulated annealing

Simulated annealing is a heuristic nondeterministic method of global optimization following the analogy between finding minimum energy states in a physical system and finding optimal configurations in a combinatorial optimization problem (Vidal 1993). The term “annealing” refers to a physical process by which the minimal energy state of a solid can be found by heating and then slow cooling from drastically high temperature. The process contains two main steps:

  • Increase the temperature up to a maximum value at which the solid melts.

  • Decrease the temperature carefully until the particles take minimal energy states.

The cooling phase of the annealing process could be described as follows: at each temperature value T, the solid should reach the thermal equilibrium at the large number of transitions. The thermal equilibrium is characterized by the Boltzmann distribution, which gives the probability of occurrence of state i with energy \( E_{l} \) at temperature T:

$$ P_{T} \left\{ {X = l} \right\} = \left( {1/Z(T)} \right) .\exp \left( { - E_{l} /k_{B} T} \right). $$
(12)

In Eq. 12, X is a stochastic variable denoting the current state of the solid, \( k_{B} \) is a physical Boltzmann constant and \( Z(T) \) is partition function:

$$ Z\left( T \right) = \mathop \sum \limits_{r} \exp \left( { - E_{l} /k_{B} T} \right) . $$
(13)

The summation extends over all possible states. This distribution is very important in the analysis of simulated annealing. The physical annealing process can be modeled successfully by using computer simulation methods. The algorithm simulates the behavior of a physical system at a given temperature (parameter). At each iteration, neighbors of the current solution are randomly generated. The one from neighbors with the best cost function is taken and compared with the current one. If the new one is better than the current solution, it is accepted and becomes the current solution for the next iteration. Otherwise, a new one could be accepted with a probability computed according to the difference of objective function between two solutions and the current temperature. This probability strongly depends on the value of T parameter. In the beginning of the process, the value of this parameter must be high enough for the probability of acceptance of “bad” solutions to be also high (see Eq. 12). When the “temperature” lowers, a smaller number of “worse” solutions will be accepted. The procedure is called “cooling schedule” and the criteria of acceptance of worse solution is called “Metropolis criteria”.

Hybrid simulated annealing genetic algorithm

Holland (1992) proposed the genetic algorithm as an algorithm for probabilistic search, learning and optimization based on the mechanism of biological evolution and Darwin’s theory of evolution. However, the implementation of an efficient GA often faces two major problems: (1) the premature convergence to local optima and (2) taking a long time to reach an optimal or a good solution. To prevent the first problem of implementation of GA, the combination of GA and a local search algorithm such as simulated annealing can be advantageous. SA repeatedly generates succeeding solutions using the local search procedure according to a predefined acceptance rule. Figure 4 shows the acceptance rule that is motivated by an analogy with annealing processes in metallurgy.

Fig. 4
figure 4

Search of simulated annealing (Yoshikawa et al. 2008)

On the other hand, GA repeatedly generates solutions for a large population by applying the operators: (1) selection, (2) crossover and (3) mutation as shown in Fig. 5.

Fig. 5
figure 5

Search of genetic algorithm (Yoshikawa et al. 2008)

In this article, we intend to propose the new hybrid optimization based on GA and SA (HSAGA). It achieves searching both globally and locally. This hybrid algorithm will be applied to the problem of bidding strategies optimization. The pseudo code of HSAGA has been proposed in pseudo code 1.

Method Implementation

Every possible arrangement of bids is coded as one of the individuals of the population. Each of these includes the information of the spot market. More precisely, each individual has separate and unique configuration of prices and quantities of sale. Bid h of participant i (\( i[1:N] \)) is defined by an ordered pair of price (p) and quantity (q) (\( p_{ih} ,q_{ih} \)). Algorithms start running with a set of initial random solutions and evaluate the solutions according to the objective function. Then, the evolutionary search process will start. Any member of the initial population is selected randomly from the set of parameters. Individual j includes N bids, as in Fig. 6.

Fig. 6
figure 6

Structure of bids

Absolute fitness value (\( \varvec{F}_{\varvec{j}}^{\text{abs}} \))

Individuals’ value is evaluated according to a set of mathematical rules. These rules are defined based on a fitness function. In this paper, we adopt equation D as an objective function for the algorithm that estimates the distance of existence solution from the optimal solution:

$$ D_{i} = J_{i}^{\hbox{max} } - J_{i} , $$
(14)
$$ J_{i}^{\hbox{max} } \left( {u^{*} } \right) = \mathop {\hbox{max} }\limits_{{u_{i}^{*} \in U_{i} ,u_{i} }} J_{i} (u_{i} ), $$
(15)

where \( D_{i} \) is an absolute value of the difference between the profit gained in the current configuration j and the possible maximized value of the profit for player i. The summation of \( D_{i} \)s for each individual indicates the distance between the existence solution and the optimal solution, through which everyone would like to maximize their profit according to the other generators’ strategies:

$$ F_{j}^{\text{abs}} = D_{j} = \mathop \sum \limits_{{i = 1:N_{\text{Genco}} }} D_{i} . $$
(16)

It is clear that our objective is to minimize (\( F_{j}^{\text{abs}} \)). Individuals who have fitness equal to zero (D = 0) will satisfy the Nash equilibrium.

Results and discussion

Competitive electricity market and bidding strategies

The electricity markets worldwide have distinctive particularities due to political and historical reasons. However, the principal guidelines of market design remain very similar. The main feature of deregulation is to introduce a competition into the generation, whereas the transmission network remains a natural monopoly. In this regard, the physical operation is separated from the economical functioning of the power system. In an open market environment, power supply becomes a competitive activity; hence traditional methods of power generation (such as economic dispatch or unit commitment) need modifications. This paper is devoted to the development of a comprehensive framework for the analysis and formulation of bidding strategies in a competitive market environment. The spot market concept is used as the basis for the modeling of a very general competitive market structure. Tehran electricity market is the case study for this paper. All the unique constraints under which electrical generators operate, including unit input and output limits, minimum and maximum limit of the proposed prices and the equilibrium between demand and supply of energy, are taken into account. The market design is challenging, due to the multiple objectives that need to be satisfied. The solution to those multi-objective problems has often been searched over the combined strategy space and thus requires the simultaneous optimization of multiple parameters. The problem is formulated analytically using the Nash equilibrium concept for games composed of large numbers of players having discrete and large strategy spaces. Metaheuristics are proven to be an efficient method of optima search in large-scale multi-objective problems. Particularly, GA, SA and HSAGA are proposed as the search engines, driven by an objective function that represents the evaluation of the solution in terms of Nash optimality. The approach is applied to compute Nash equilibrium of the electricity markets and, based on the simulation results, the performances of the algorithms are discussed.

Implementation in Tehran electricity market

Implementation of these algorithms needs huge information about the Tehran electricity market. Accordingly, finding Nash equilibrium in Tehran electricity market is practically impossible for all days and we have to limit the modeling execution time. Hence, one specific model that characterizes one of the peak hours of market in 2012 has been considered as an applicable example. The market has faced peak demand on November 24, 2012 of 4,288 MW per hour for Tehran. This day in 2012 was selected for Nash equilibrium simulation. The number of power plants allowed to bid is 82 units.

A set of strategies will be created by selecting a random strategy from each unit. After arranging these strategies according to the prices and determining market price based on the intersection of supply and demand curves, the units with prices higher than the market clearing price will not enter the market. The application of metaheuristic algorithms facilitates the process by achieving the best and closest optimal solution to large and complex problems with little calculation time. Each unit is allowed to offer three bids. So, the number of different scenarios for the market on November 24 is (\( 3^{82} \)). It is noteworthy that the price cap is equal to 330,000 (rial/MWh). The Iranian currency is rial. In 2012, each 1 dollar was equal to 12,260 rials.

Parameters of the algorithms

In this research, we implement the random search algorithms of GA, SA that has no memory structures and a new approach of hybrid SA–GA to search and find the optimal bidding strategies in the market. As the problem of bidding strategies is large scale, the time for computing the Nash equilibrium is a vital factor. We compare the efficiency of these algorithms to find the fastest method with more stable results. Also, we show that every combination of metaheuristic algorithms may not lead to a new more efficient algorithm.

Based on Matlab 7.12.0 platform, we programmed the model with GA, SA and HSAGA separately. Then, after much attempts to adjust the parameters, the model was run ten times by each algorithm on a computer (CPU: Intel(R) Core (TM) i5-2,430 M 2.40 GHz 2.40 GHz; RAM: 4 GB; OS: Windows 7 professional). Crossover and mutation probabilities and mutation rates vary for different problems, and even for different stages of the genetic process in a problem (LIN et al. 2003). In this paper, we performed the model with GA and SA at least 50 times to achieve optimal tuning parameters. According to Sivanandam and Deepa (2008) the efficiency of GA in reaching global optimum is largely determined by the size of the population. Practically, a population size of around 100 individuals is quite frequent, but anyway this size can be changed according to the time and the memory on the machine. So, we ran GA and SA with population sizes of 50, 70, 100, 150 and 300 with different crossover and mutation probabilities. The results showed that the population size of 70 was optimal. Also, after not reaching the optimal strategy by performing the algorithms many times with one level of parameters, we deduced that we should use crossover and mutation probabilities and mutation rate at some levels. The evidences showed that we had to decrease the amount of crossover probability and increase the amount of mutation probability and rate simultaneously to achieve the Nash equilibrium. To have a similar situation, we applied the required parameters of SA and GA to HSAGA. All required parameters for performing the three mentioned algorithms are shown in Table 2.

Table 2 Tuning parameters

Simulation of Nash equilibriums

Market simulators are useful tools for market participants and also for governing bodies. The advantage of using simulators is that different scenarios can be created, simulated and studied prior to a real-time market participation. There are many Nash equilibriums in this simulation. Some results and curves are the same and some of them are different. All ten calculated Nash equilibriums by GA, SA, and HSAGA are, respectively, shown in Figs. 7, 8 and 9.

Fig. 7
figure 7

Nash equilibriums by GA

Fig. 8
figure 8

Nash equilibriums by SA

Fig. 9
figure 9

Nash equilibriums by HSAGA

Market clearing prices or market prices in 30 resulting Nash equilibriums are equal to 152,329 or 158,015 (rial/MWh) and 43 power units are on at this time of market. So, market prices and number of allowed power plants seem to be more stable in the constrained market. Also, there is a large distance between market prices and the price cap. It means that the Nash equilibriums are economically efficient.

Evaluation of the proposed algorithms

All runs of the algorithms led to success and Nash equilibrium was achieved. So, the algorithms frequently have the same effectiveness, but the difference is in their efficiency. We intend to compare three algorithms with the following criteria:

  • result stability,

  • number of function evaluation (NFE),

  • computing time,

  • computing stability.

According to the curves in Figs. 7, 8 and 9, it is clear that the results of the calculated Nash equilibriums by HSAGA are more various and different from each other compared with other algorithms. It means that the results of GA and SA have more stability than HSAGA. Also, the results of GA are more stable than those of SA.

Number of function evaluations (NFE) is an effective parameter for comparison between algorithms. It determines how many times the objective function is evaluated. This criterion is better and more general than the others, because it does not depend on the computer system and we can run each algorithm on any different computer and compare it with NFE. It is proposed in the following equation that:

$$ {\text{NFE}} = {\text{number of initial population}} + ({\text{number of new population}} \times {\text{number of iterations}}) $$
(17)

where number of new population is achieved by operators in algorithms. For example in GA, number of new population is equal to the population of offspring and mutant in any iteration of the algorithm. A small amount of NFE shows the greater efficiency of an algorithm.

As shown in Table 3, GA is successful while finding the Nash equilibrium. When GA’s performance is compared with the others’ according to NFE, GA is better than the others. If the comparison is done according to the solution time, GA is the best again. Table 4 shows that the calculation time of GA is less than that of others.

Table 3 Results of the NFE for algorithms
Table 4 Results of the calculation time (second) for algorithms

Figure 10 shows the fluctuation curves of NFEs on performing the model for each algorithm ten times. As clear from this figure, GA has better computing stability than SA and HSAGA. We can observe this point from the amount of standard deviations (SD) and coefficient of variation (CV) in Table 3.

Fig. 10
figure 10

Fluctuation curves of NFEs

Conclusions

This paper presents different metaheuristic algorithms such as GA, SA and HSAGA to simulate optimal bidding strategies in the wholesale electricity market by using the Nash equilibrium concept and compares the efficiency of the algorithms. An original approach for efficient identification of Nash equilibrium has been proposed in this paper. It has particularly proved to be efficient for solving the problems of large strategy space. The model based on the actual data was implemented in the peak hour of Tehran’s wholesale market on November 24, 2012. Each algorithm was run ten times. The problem was formulated analytically by using the Nash equilibrium concept for games composed of large numbers of players and having discrete and large strategy spaces. The solution methodology was based on a characterization of Nash equilibrium in terms of minima of the objective function and relied on the GA, SA and HSAGA approaches to find these minima. We observed that in Nash equilibrium on November 24, 43 plants were allowed in all runs. Market clearing prices or market prices in the resulting Nash equilibriums in all 30 runs were equal to 152,329 or 158,015 (rial/MWh). So, market prices and number of allowed power plants (43 units) seemed to be more stable in Tehran wholesale market. The results showed that there was a large gap between market prices and the price cap. It means that the Nash equilibriums are economically efficient. Also, the Nash equilibrium curves in Figs. 7, 8 and 9 include the accepted prices and quantities of allowed generators that result to the Nash equilibrium.

The results of simulations show that GA outperforms SA and HSAGA in the criteria of result stability, computing time, number of function evaluation and computing stability. The mean of NFEs for GA, SA and HSAGA are, respectively, 8,135, 119,455 and 76,509. The mean of the calculation time for GA, SA and HSAGA are, respectively, 795, 12,019 and 7,487 s. It is clear that GA is the fastest algorithm. Also, the results of calculated Nash equilibriums by GA are less various and different from each other compared with those of SA and HSAGA. It means that the results of GA have more stability than the others.