1 Introduction

With the increasing penetration of renewable energy sources and ever-increasing load demand, power system is experiencing the transition from a state “where relatively well behaved demand is matched with well predictable generation” to a state where both demand and generation sides are becoming increasingly time-varying and stochastic [1]. This transition encourages the adoption of demand side management to re-shape the load profiles. The most commonly used demand side management approach is known as the direct load control (DLC), which aims to schedule the cycling of the customers’ controllable appliances to achieve a certain operation objective.

In the summer days, air-conditioners are large energy consumers. Thus, designing suitable methods to schedule the cycling of air conditioner loads (ACLs) can effectively curtain the peak load in summer days. Since the primary usage of air-conditioners is to provide thermal comfort for customers, the most important constraint of ACL scheduling is obviously minimizing customers’ thermal discomfort. Besides, DLC scheduling should be coordinated with the existing power system operation tasks such as unit commitment (UC) and economic dispatch (ED).

In the literature, many efforts have been done in DLC. In [2], the authors integrated interruptible load management (ILM) into DLC to provide ancillary services; in [3], the authors proposed a dynamical optimal power flow model to online select the interruptible loads while incorporating the network constraints; in [4], the authors reported three interruptible load management programs of Taiwan power company; in [5], the authors used the iterative deepening genetic algorithm to perform the DLC scheduling; a DLC based unit commitment model to minimize the system production cost is presented in [6]; the authors in [7] proposed an optimal power flow based framework for the independent system operator (ISO) to real-time select the interruptible load offers; the authors in [8] used probabilistic methods to do distributed interruptible load shedding; the authors in [9] proposed a reliability-constrained unit commitment model by integrating probabilistic spinning reserve and interruptible load. Literature [10] adopted a multi-pass dynamic programming to schedule the ACLs such that both of the generating costs and peak load reduction are minimized over the whole dispatch period; literature [11] proposed a unit commitment model incorporating large air conditioner loads, and used the fuzzy dynamic programming method to solve it; the authors in [12] designed a fuzzy logic based controller which recognizes several important customer preferences and desires. Authors in [13] presented a direct load control model in virtual power plant (VPP) operation, and used commercial software to simulate the thermal transition process of different buildings.

By reviewing the literature, we found that most of the previous works are based on the assumption that the scheduled ACL groups are homogeneous, which means that ACL groups are assumed to have the identical building environments and the customers have the same thermal preferences. However, in practice, the heterogeneous building environment will cause different indoor temperature variations, and different people may have different thermal preferences. In order to minimize customers’ thermal discomfort, a more accurate model is needed to depict the thermal transition process of the building while considering the customers’ different thermal preferences. Furthermore, to the best of the authors’ knowledge, the existing DLC methods have not taken the transmission system capability constraints into account. Based on the above considerations, the main contributions of this paper are highlighted as follows.

  • Propose a novel DLC model by taking the transmission network constraints into account;

  • Among the first to incorporate a comprehensive thermal inertia model into DLC scheduling to satisfy customers’ different thermal preferences.

  • Propose a new distributed ICA algorithm to effectively solve the proposed DLC model.

This paper is organized as follows. In section 2, proposed DLC model is introduced; in section 3, the thermal inertia model is introduced; in section 4, proposed distributed imperialist competitive algorithm is introduced; approach to solve the model is presented in section 5; case studies are given in section 6; finally, conclusions are drawn in section 7.

2 DLC model formulation

2.1 Objective function

The DLC model aims to minimize the total system operation costs over the dispatch horizon. The objective function is formulated as (1).

$$ \hbox{min}\,F = \sum\limits_{t = 1}^{T} {(C_{gen}^{t} { + }C_{il}^{t} )}$$
(1)

where t is the time interval index and T is the total number of the time intervals; C t gen and C t il represent the generation cost and the ACL interruption cost at time interval t, respectively. We assume that the utility provides the discounted retail price for the customers who participate in the DLC program. Then C t il can be represented by the profit loss of the utility by promoting the DLC program. C t gen and C t il are calculated as (2) and (3).

$$ C_{gen}^{t} = \sum\limits_{G = 1}^{G} {\left[ {(FC(P_{g}^{t} ) + SC_{g}^{t} \cdot (1 - u_{g}^{t - 1} )) \cdot u_{g}^{t} } \right]}$$
(2)
$$ C_{il}^{t} = \sum\limits_{n = 1}^{N} {(pr \cdot (1 - \eta ) \cdot CP_{n} \cdot s_{n}^{t} + pr \cdot (1 - s_{n}^{t} ) \cdot CP_{n} )}$$
(3)

where g and G represent the generator unit index and the total number of the units, respectively; n and N denote the index and the total number of the ACL groups, respectively; u t g represents the state of the gth unit at t: 0-OFF and 1-ON; s t n represents the nth ACL group at t: 0-OFF and 1-ON; P t g is the active power output of the unit g at time t (kW); FC(P t g ) is the fuel cost function of the units ($); SC t g is the startup cost of the unit g at time t ($); η is the discount rate of the retailed electricity price provided by the utility (%); CP n is the capacity of the nth ACL group (kW); pr is the retailing electricity price ($/kWh). FC(P t g ) is with the form of (4) and SC t g is represented by (5).

$$ FC_{g}^{t} = a_{g} \cdot (P_{g}^{t} )^{2} + b_{g} \cdot P_{g}^{t} + c_{g} $$
(4)
$$ SC_{g}^{t} = \left\{ {\begin{array}{*{20}c} {HSC_{g} ,} \\ {CSC_{g} ,} \\ \end{array} } \right. \, \begin{array}{*{20}c} {if} \\ {if} \\ \end{array} \, \begin{array}{*{20}c} {MDT_{g} \le TG_{g}^{off} \le MDT_{g} + CSH_{g} } \\ {TG_{g}^{off} > MDT_{g} + CSH_{g} } \\ \end{array} $$
(5)

where a g , b g , and c g are fuel cost coefficients of unit g; HSC g and CSC g are the hot and cold startup costs of unit g, respectively ($); TG on g and TG off g denote the Duration during which the unit g is continuously ON and OFF (hours); MDT g is the minimum down time of unit g; CSH g is the cold startup hour of the unit g (hours).

2.2 Constraints

1) Load balance constraint

$$ \sum\limits_{g = 1}^{G} {P_{g}^{t} = PL^{t} - IL^{t} }$$
(6)
$$ IL^{t} = \sum\limits_{n = 1}^{N} {CP_{n} \cdot (1 - s_{n}^{t} )}$$
(7)

where PLt is the forecasted system load at time interval t (kW); ILt is the total interrupted load capacity at time t (kW).

2) Generator power output constraint

$$ P_{g}^{\hbox{min} } \, \le P_{g}^{t} \le P_{g}^{\hbox{max} }$$
(8)

where P min g and P max g are the minimum and maximum power limits (kW) of unit g.

3) Generator ramp rate constraint

$$ R_{down,g} \le P_{g}^{t} - P_{g}^{t - 1} \le R_{up,g}$$
(9)

where R down,g and R up,g are ramp up and down rate of unit g.

4) Generator minimum online/offline time constraint

$$ \left\{ {\begin{array}{*{20}c} {TG_{g}^{on} \ge GMUT_{g} } \\ {TG_{g}^{off} \ge GMDT_{g} } \\ \end{array} } \right. $$
(10)

where GMUT g and GMDT g are the minimum offline time (hours) and online time (hours) of unit g.

5) Network power flow constraint

$$ \left\{ {\begin{array}{*{20}c} {P_{i}^{t} = PL_{i}^{t} - RL_{i}^{t} + PB^{t} + U_{i}^{t} \sum\limits_{j = 1}^{I} {U_{j}^{t} (G_{ij} \cos \theta_{ij}^{t} + B_{ij} \sin \theta_{ij}^{t} )} } \\ {Q_{i}^{t} = QL_{i}^{t} + U_{i}^{t} \sum\limits_{j = 1}^{I} {U_{j}^{t} (G_{ij} \cos \theta_{ij}^{t} - B_{ij} \sin \theta_{ij}^{t} )} } \\ \end{array} } \right. $$
(11)

where i is the bus index; I is the set of the buses; L is the set of the transmission lines; P t i and Q t i are the active and reactive power of bus i at time interval t (kW); PL t i and QL t i are the active and reactive load on bus i at time t (kW); PB t i is the payback energy of bus i at time t (kW); RL t i is the reduced load of bus i at time t (kW); U t i is the voltage magnitude of bus i at time t; θ t ij is the phase angle deviation of branch ij at time t; G ij and B ij are real part and imaginary part of the nodal admittance matrix.

6) Bus voltage constraint

$$ U_{i}^{\hbox{min} } \le U_{i}^{t} \le U_{i}^{\hbox{max} } $$
(12)

where U min i and U max i are the minimum and maximum voltage magnitude of bus i.

7) Apparent power constraints for transmission lines

$$ S_{ij}^{t} \le S_{ij}^{\hbox{max} } $$
(13)

where S t ij is the apparent power of branch ij at time t (kW); and S max ij is the maximum apparent power of branch ij (kW).

S max ij (t) is calculated as

$$ S_{ij}^{t} \sqrt {(P_{ij}^{t} )^{2} + (Q_{ij}^{t} )^{2} } $$
(14)
$$ P_{ij}^{t} = (U_{i}^{t} )^{2} G_{ij} - U_{i}^{t} U_{j}^{t} (G_{{^{ij} }} \cos \theta_{ij}^{t} + B_{ij} \sin \theta_{ij}^{t} ) $$
(15)
$$ Q_{ij}^{t} = { - (}U_{i}^{t} )^{2} B_{ij} - U_{i}^{t} U_{j}^{t} (G_{{^{ij} }} \cos \theta_{ij}^{t} \,{ - }\,B_{ij} \sin \theta_{ij}^{t} ) $$
(16)

8) ACL minimum online time constraint. To avoid frequently switch on/off and protect the mechanism equipment of the ACLs, the ACL groups are constrained by (18).

$$ TA_{n}^{on} \ge AMUT_{n} $$
(17)

where TA on n is the duration during which the ACL group n is continuously ON (hours); and AMUT n is the minimum online time of ACL group n (hours);

9) Indoor temperature dead band. The indoor temperature must be constrained by the temperature dead band, which refects different customers’ preferences.

$$ TP\_Low_{n}^{in} \le TP_{n}^{in} (t) \le TP\_Up_{n}^{in} $$
(18)

where TP in n (t) is the indoor temperature of ACL group n at time t; TP_Low in n (t) and TP_Low in n (t) are the lower and upper limits of comfort temperature range of ACL group n (°C).

To calculate the indoor temperature profiles of the rooms in each ACL group after switching off the ACs, the thermal inertia model introduced in next section is applied.

3 Thermal appliances modeling

3.1 Thermostatically load modeling

The key to ensure the occupants’ thermal comfort is to fully understand and model the dynamic thermal process of the buildings. In the smart house study, the one parameter thermal model has been widely used in many literatures [1416], which is shown in Fig. 1a. The one-parameter model takes into account of parameters like internal and external temperatures, but only considers the thermal resistance of walls and neglects walls’ thermal capacitance. In this paper, a more complex and accurate two-parameter is represented in Fig. 1b. The house is divided into two components, one of which is the internal of the house and the other is the additional thermal mass such as walls with much larger thermal capacitance.

Fig. 1
figure 1

a One parameter model. b Two parameter model

However, the variation of indoor air temperature of a house could be considerably different when taking into account of thermal capacitance of walls [15]. This is due to the fact that the heat gain of a house can be divided into two parts: the relatively steady-state transmission resulting from temperatures differences between the indoor air and outdoor surroundings, and the unsteady-state gain due to the varying intensity of solar radiation on the walls. The unsteady-state heat flow across walls is very complicated as part of heat passing through walls is captured and later released to either the indoor air or outdoor ambient. Therefore, the thermal dynamic model of a two-parameter model could be expressed as below [17].

$$ \frac{{{\text{d}}T_{r} (t)}}{{{\text{d}}t}} = \frac{1}{{M_{a} \times Cp_{a} }} \times \left( {\frac{{{\text{d}}Q_{gain\_a} \left( t \right)}}{{{\text{d}}t}} - \frac{{{\text{d}}Q_{ex\_w\_r} \left( t \right)}}{{{\text{d}}t}} - \frac{{{\text{d}}Q_{ac} \left( t \right)}}{{{\text{d}}t}}} \right) $$
(19)
$$ \frac{{{\text{d}}T_{w} \left( t \right)}}{{{\text{d}}t}} = \frac{1}{{M_{w} \times Cp_{w} }} \times \left( {\frac{{{\text{d}}Q_{gain\_w} \left( t \right)}}{{{\text{d}}t}} + \frac{{{\text{d}}Q_{ex\_w\_r} \left( t \right)}}{{{\text{d}}t}}} \right) $$
(20)
$$ \frac{{{\text{d}}Q_{gain\_a} \left( t \right)}}{{{\text{d}}t}} = \frac{{T_{amb} - T_{r} }}{{R_{eq} }} $$
(21)
$$ \frac{{{\text{d}}Q_{ex\_w\_r} \left( t \right)}}{{{\text{d}}t}} = \frac{{T_{w} - T_{r} }}{{R_{wr} }} $$
(22)
$$ \frac{{{\text{d}}Q_{ac} \left( t \right)}}{{{\text{d}}t}} = COP \times P_{ac} $$
(23)
$$ \frac{{{\text{d}}Q_{gain\_w} \left( t \right)}}{{{\text{d}}t}} = \frac{{T_{amb} - T_{w} }}{{R_{wa} }} $$
(24)

where T r is the room temperature (°C); T w is the wall temperature (°C); M a and M w are the mass of air inside the house and the walls (kg); Cp a and Cp w are the heat capacities of the air and the wall (J/kg*k−1); Qgain_a is the heat gain by the indoor air from the ambient (J); Qgain_w is the heat gain by the wall from the ambient (J); Q ac is the cooling energy delivered by air conditioner (J); COP is the coefficient of performance of air conditioner; Qex_w_r is the heat exchange between the wall and indoor air (J); R eq is the equivalent thermal resistance of the house envelope (m2K/W); T amb is the ambient temperature (°C); R wr is the thermal resistance between the wall inner surface and the indoor air (m2K/W); R wa is the thermal resistance between the wall outer surface and the ambient (m2K/W); P ac is the power of the individual air-conditioner (kW).

One of our previous studies [18] has proved that different complexities of models can pose significant impacts on the accuracy of cooling energy calculation, it is therefore decided that the complex thermal model is chosen in order to obtain more accurate results.

3.2 Linearization of the thermal inertia model

The thermal dynamic model in (19)–(24) can be linearized for convenient calculating the indoor temperature variation. For each dispatch time interval, Δt is divided into K steps. Provided that K is large enough, we can assume that the temperatures of the ambient, walls, and the indoor air within any time step are constant. Hence, the change in temperatures can therefore be presented by the temperature difference between two adjacent time steps. Therefore, the thermal dynamic model can be linearized as (25)–(28).

$$ \begin{aligned} TP_{n}^{in} (k) = & \left( {1 - \frac{1}{{M_{a} \times Cp_{a} \times R_{eq} }}} \right) \times T_{r\_init} + \frac{1}{{M_{a} \times Cp_{a} \times R_{eq} }} \times T_{amb\_init} \\ & + \frac{{T_{w\_init} - T_{r\_init} }}{{M_{air} \times Cp_{a} \times R_{wr} }} - S_{ac\_init} \times \frac{{Q_{ac} }}{{M_{a} \times Cp_{a} }},\;k = 1 \\ \end{aligned} $$
(25)
$$ \begin{aligned} TP_{n}^{in} (k) = & \left( {1 - \frac{1}{{M_{a} \times Cp_{a} \times R_{eq} }}} \right) \times TP_{n}^{in} (k{ - 1}) + \frac{1}{{M_{a} \times Cp_{a} \times R_{eq} }} \\ & \times T_{amb} \left( {k - 1} \right) + \frac{{T_{w} \left( {k - 1} \right) - T_{r} \left( {k - 1} \right)}}{{M_{a} \times Cp_{a} \times R_{wr} }} - S_{ac} (k) \times \frac{{Q_{ac} \left( {k - 1} \right)}}{{M_{a} \times Cp_{a} }},\;\forall k \in [2,K] \\ \end{aligned} $$
(26)
$$ T_{w} \left( k \right) = T_{w\_init} + \frac{{T_{amb\_init} - T_{w\_init} }}{{M_{w} \times Cp_{w} \times R_{wa} }} + \frac{{T_{r\_init} - T_{w\_init} }}{{M_{w} \times Cp_{w} \times R_{wr} }},k = 1 $$
(27)
$$ \begin{gathered}{{T_{w} \left( k \right) = T_{w} \left( {k - 1} \right) + \frac{{T_{amb} \left( {k - 1} \right) - T_{w} \left( {k - 1} \right)}}{{M_{w} \times Cp_{w} \times R_{wa} }} }} \hfill \\ \;\;\;\;\;\;\qquad +\,\,\frac{{T_{r} \left( {k - 1} \right) - T_{w} \left( {k - 1} \right)}}{{M_{w} \times Cp_{w} \times R_{wr} }},\forall k \in [2,K] \hfill \\ \end{gathered} $$
(28)

where T amb_init is the initial ambient temperature (°C); T w_init is the initial wall temperature (°C); T r_init is the initial room temperature (°C).

4 Distributed imperialist competitive algorithm

The proposed DLC model is a binary, non-convex, high dimension, combinatorial optimization problem, which is hard to be handled by the conventional programming methods. There are many heuristic-based optimization algorithms that can be applied to solve the model, such as genetic algorithm (GA), particle swarm optimization (PSO) algorithm, differential evolutionary (DE) algorithm, etc. Recently, there is a new algorithm called imperialist competitive algorithm (ICA) [19] proposed has been applied to solve many industrial optimization problems [2022]. A recent paper reported ICA is powerful to solve power system combinatorial problem [23]. As what will be shown in the later section of this paper, the evolution mechanism of ICA makes it be inherently suitable for paralleled implementation and its searching capability can thus be significantly improved. Therefore, in this paper we employ ICA to solve the proposed model. And in order to enhance its searching performance, we propose a distributed processing architecture for ICA.

4.1 Imperialist competitive algorithm

ICA mimics the competition among the imperialists. Each imperialist possess some colonies to form an empire, and tries to expanse its power by possessing the colonies of other empires. During the competition, weak empires collapse and powerful ones take possession of their colonies.

1) Empire initiation

As other heuristic searching algorithms, ICA maintains a population of individuals with the number of N pop . In ICA, each individual is called a country. For a N-dimension minimization problem, the ith country is a 1 × N vector with the form of country i  = [x 1 i x 2 i , …, x N i ]. Each country represents a solution for a given problem, and its cost c i can be obtained by evaluating it as c i  = f(country i ) = f([x 1 i x 2 i , …, x N i ]).

In the start, N imp of the countries are selected as imperialists. The other N pop  − N imp countries act as the colonies and are assigned to the N imp imperialists in proportional to the powers of the imperialists. To calculate the imperialist powers, the cost of an imperialist (denoted as c n ) is firstly normalized,

$$ C_{n} = c_{n} - \mathop {\hbox{max} }\limits_{i} \{ c_{i} \} $$
(29)

where C n is the normalized cost. Then the normalized power of nth imperialist can be calculated by (30).

$$ p_{n} = \left| {\frac{{C_{n} }}{{\sum\limits_{i = 1}^{N} {C_{i} } }}} \right| $$
(30)

The initial number of the colonies possessed by each imperialist (NC n ) is in proportional to its power,

$$ NC_{n} = round\{ p_{n} \cdot N_{col} \} $$
(31)

where and N col is the total number of the colonies. Then, NC n colonies are randomly selected and assigned to nth imperialist.

2) Moving the colonies towards the imperialists

As other heuristic searching algorithms, ICA has an iterative process to mutate the individuals. In each iteration, each colony moves moved toward the relevant imperialist by x units,

$$ x = \omega \cdot (I_{n} - col_{n}^{i} ) $$
(32)

where col i n and I n are the positions of ith colony and imperialist of nth empire, respectively; ω is the weight factor which is usually set as a uniform random number within (0, 2), so as to make the colony move towards the imperialist in both sides. A random angle θ is also added as the deviation.

$$ \theta \sim U( - \gamma ,\gamma ) $$
(33)

where γ is the control parameter that adjusts the deviation from the original movement direction. Generally, the movement of the colony can be depicted by Fig. 2.

Fig. 2
figure 2

Movement of the colony [19]

3) Updating the positions of imperialist and a colony

After the movement, a colony may reach to a position with lower cost than the imperialist. In this case, the colony and the imperialist must exchange positions. The rest colonies of this empire should move forward the new imperialist position.

4) Imperialist competition

In each iteration, all empires compete with each other to try to take possession of colonies of other empires. The competition is based on the empires’ powers. The total power of nth empire (denoted as TC n ) is calculated by (34).

$$ TC_{n} = c_{n}^{imp} + \xi \cdot \frac{{\sum\limits_{i = 1}^{{NC_{n} }} {c_{n}^{i} } }}{{NC_{n} }} $$
(34)

where c imp n is the cost of the imperialist of nth empire; NC n is the number nth empire’s colonies; c i n is the cost of the ith colony of nth empire; ξ is the weight factor. The normalized total power (denoted as NTC n ) and possession probability (denoted as \( p_{{p_{n} }} \)) of nth empire is represented as below.

$$ NTC_{n} = TC_{n} - \mathop {\hbox{max} }\limits_{i} \{ TC_{i} \} $$
(35)
$$ p_{{p_{n} }} = \left| {\frac{{NTC_{n} }}{{\sum\limits_{i = 1}^{{N_{imp} }} {NTC_{i} } }}} \right| $$
(36)

To divide the mentioned colony among empires based on their possession probability, vector P is formed as P = \( [p_{{p_{1} }} ,p_{{p_{2} }} , \ldots ,p_{{p_{imp} }} ] \). Then the vector R is formed as R = \( [r_{{r_{1} }} ,r_{{r_{2} }} , \ldots ,r_{{r_{imp} }} ] \), with the elements are uniform distributed random numbers within [0, 1]. Then vector D is formed by simply subtracting R from P,

$$ \varvec{D} = \varvec{P} - \varvec{R} = [p_{{p_{1} }} - r_{{r_{1} }} ,p_{{p_{2} }} - r_{{r_{2} }} , \ldots ,p_{{p_{imp} }} - r_{{r_{imp} }} ] $$
(37)

The mentioned colony then will be assigned to the empire whose relevant index in D is maximum. After each iteration, ICA checks whether there exists an empire which has lost all the colonies. If so, the empire will collapse and be eliminated.

5) Termination

The algorithm terminates when either of following two conditions is satisfied.

  • All the empires collapse except for the most powerful one, and all the colonies have the same cost with the imperialist.

  • The preset maximum iteration number is reached.

4.2 Distributed processing architecture of ICA

In ICA, multiple empires are formed and evolved separately. The communications among the empires occurs at the end of each iteration, where the weakest colony is re-assigned and the empty empire is eliminated. This characteristic makes ICA suitable for parallel and distributed processing in nature. In this paper, we propose a distributed computing architecture for running ICA across networked processors, depicted in Fig. 3.

Fig. 3
figure 3

Distributed processing architecture of the ICA

As depicted by Fig. 3, each computing node is assigned to maintain the countries of round(N emp /N node ) empires. The coordination node is responsible for coordinating the weakest colony re-assignment, empty empire eliminating, and statistics. A central database is established to store the input data of the optimization problem. The computing nodes retrieve data from the database through the network to perform the empire initialization, fitness evaluation and constraint handling.

With the evolution, the weakest empires are gradually eliminated. To balance the computing load, when N emp  < N node , the idle computing nodes are assigned to part of the colonies of the empires which have largest number of colony. This is depicted by Fig. 4.

Fig. 4
figure 4

Re-assignment of the computing nodes

The load balance algorithm is an active research topic in distributed computing. In future, more elaborate load balance strategy for the distributed ICA can be further studied.

The procedure of the distributed ICA is shown in Table 1. Firstly, the coordination node assigns the different empires to different computing nodes. Then all the computing nodes read the model data and do the initialization works in parallel. After that, all the computing nodes evolve their managed empires simultaneously. At the end of each iteration, the coordination node calculates the powers of all the empires, and mitigates some colonies from the compute node which maintains the most powerful empire to the compute node which maintains the weakest empire. After the evolution, the coordination nodes outputs the optimal solution.

Table 1 Procedure of the distributed ICA

5 Distributed ICA based DLC approach

By employing distributed ICA to solve the proposed model, the states of the generators and the ACL groups are encoded together as a country. The encoding of the population is shown as (38). For each country, the first T * G dimensions represent the states of the generators on each UC time interval and the remaining T dlc  * N dimensions represent the states of ACL groups on each DLC time interval. The symbol T dlc denotes the count of the DLC time intervals.

$$ \left[ {\begin{array}{*{20}c} {\underline{{ \, \left. {x_{1}^{1} \, } \right|\left. { \, x_{1}^{2} \, } \right| \ldots \left| {x_{1}^{T*G} \left\| {x_{1}^{T*G + 1} \left| { \ldots \left| {x_{1}^{{T*G + T_{dlc} *N}} } \right.} \right.} \right.} \right.}} } \\ {\underline{{ \, \left. {x_{2}^{1} \, } \right|\left. { \, x_{2}^{2} \, } \right| \ldots \left| {x_{2}^{T*G} \left\| {x_{2}^{T*G + 1} \left| { \ldots \left| {x_{2}^{{T*G + T_{dlc} *N}} } \right.} \right.} \right.} \right.}} } \\ { \vdots \, } \\ {\overline{{\left. {x_{{N_{pop} }}^{1} \, } \right|\left. { \, x_{{N_{pop} }}^{2} \, } \right| \ldots \left| {x_{{N_{pop} }}^{T*G} \left\| {x_{{N_{pop} }}^{T*G + 1} \left| { \ldots \left| {x_{{N_{pop} }}^{{T*G + T_{dlc} *N}} } \right.} \right.} \right.} \right.}} } \\ \end{array} } \right] $$
(38)

For each country, a certain constraint handling strategy is necessary to make it feasible. For a given country, following ACL group constraint handling procedures are firstly applied.

  1. (1)

    On each DLC time interval, for each ACL group, if its state is OFF, then check whether the minimum online time constraint is satisfied. If not, then change its state to be ON.

  2. (2)

    On each DLC time interval, for each ACL group, calculate the indoor temperature variation based on the thermal inertia model. If its state is OFF and the calculated indoor temperature beyond the upper limit, then change its state to be ON.

After handling the constraints of ACL groups, the generator constraint handling algorithm described in [24] is applied for the generators. After that, if the solution is still feasible, then the power flow calculation is performed to check whether the network constraints are satisfied. If so, then the solution is feasible; otherwise, the solution is marked as infeasible. The whole workflow is shown in Fig. 5.

Fig. 5
figure 5

Workflow of the distributed ICA based DLC

6 Simulation study

6.1 Distributed computing test bench

We aggregate 6 PCs and 1 workstation to establish a distributed computing test bench shown in Fig. 6. All of the 6 PCs are DELL 64-bit, 4-core, and with Intel ® Core ™ i5-2400 CPU and 4 Giga-byte RAM; the workstation is DELL 64-bit, 8-core, and with Intel ® Core™ i5-2400 CPU and 8 Giga-byte RAM. The operation systems of the 4 PCs are windows 7 while that of the workstation is windows server 2000. The 7 machines are located in different places and connected by local area network (LAN). One PC is selected as the coordination node and the others act as the computing nodes.

Fig. 6
figure 6

Topology of the distributed computing test bench

6.2 Programing platform

The MPICH2 [25] is used to implement the distributed ICA, with the C++ programming language. MPICH2 is a high performance and portable implementation of the message passing interface (MPI) standard, and has been applied in many high performance computing applications. The power flow calculation is implemented by the interior point method. The development environment is Microsoft Visual Studio 2010.

6.3 Experiment setup

The IEEE 39-bus benchmark system [26] is used to test the proposed method. The system consists of 10 units and 29 branches. 8 ACL groups are set up on the bus 5, 6, 10, 11, 12, 14, 18, and 20. The ACL groups are assumed to have different building environments and different customer comfort preferences. The system is shown in Fig. 7. The information of the 6 ACL groups is shown in Table 2. The generator data follows the literature [25]. The control parameters of the ICA are set as Table 3.

Fig. 7
figure 7

The modified IEEE 39-bus system

Table 2 ACL group information
Table 3 ICA parameter setting

The 24-hour forecasted system load and outdoor air temperature profiles are shown as Fig. 8. It can be seen that the peak load occurs between 14:00 and 20:00, thus the DLC is executed during this period. The dispatch interval is set to be 15 minutes. Thus there are totally 24 dispatch intervals.

Fig. 8
figure 8

Forecasted system load (up) and outdoor air temperature profile (down)

6.4 Numerical results

The load patterns before and after the DLC scheduling are shown in Fig. 9. Table 4 reports the system characteristics of the case studied. The results show that the system peak loads are effectively shed by the DLC, with some secondary peak loads. Those secondary peak loads are caused by the resuming of the ACL groups which are switched off in previous time intervals. There are totally 285.25 MWh loads are curtained during the dispatch horizon (occupied 27.43% of the total ACL capacity), and the total operation cost is $53,927.

Fig. 9
figure 9

Load patterns before and after the DLC

Table 4 System characteristics of the case studied

The indoor temperature variations of the ACL groups are effectively controlled to ensure the customers’ thermal comfort. For example, Fig. 10 shows the indoor temperature profile of 5 randomly selected ACL groups during the dispatch horizon. It can be clearly seen that the temperature is controlled within [25 °C, 28 °C]. Figure 11 shows the scheduled ON/OFF states of the 5 ACL groups.

Fig. 10
figure 10

Indoor temperature profile of the 5 ACL groups

Fig. 11
figure 11

ON/OFF actions of the 5 ACL groups

Figure 12 shows the empire migrating process of the distributed ICA. Figure 12 clearly shows that along with the elimination of the empires, the coordination node mitigates the colonies of the left empires among the processors to achieve the load balance. Finally, all the colonies of the only left empire (Empire 3) are maintained by all the processors.

Fig. 12
figure 12

Empire elimination process of the distributed ICA

Figure 13 reports the speedup achieved by increasing the number of the computing processors, relative to run the same case on a single process serially. In the single process, the total execution time of the simulation is 61,433 seconds. The results show that with the increase of processor number, the distributed ICA can significantly shorten the simulation time.

Fig. 13
figure 13

Speedup of the distributed ICA

7 Conclusions

A comprehensive DLC model is proposed in this paper. The objective of the model is to schedule interruptible ACLs and generation units to minimize the total operation costs over the dispatch horizon, while taking the network constraints into account. An advanced two-parameter thermal inertia model is used to represent the thermal transition processes of buildings with heterogeneous characteristics.

A new distributed ICA algorithm is proposed to solve the DLC model. The distributed ICA is based on the ICA algorithm, and employs the process communication model to perform the distributed high performance searching. The proposed method is verified on the IEEE 39-bus benchmark system and a distributed computing test bed.