which excludes for xj the range [0.5, 0.8] so as the NLP solver would naturally go to the local minimum to xj = 0 in the next iteration. Of course, this would be the ideal case and the Chv´atal-Gomory cut is in general not doing the job in just one shot.
Figure 5.3: An ideal cut should make the range [0.5, 0.8] infeasible.
In Tables 5.3 and 5.4 we show the behavior of our experiments for instances gesa2-o and vpm2, respectively: at each iteration a Chv´atal-Gomory cut is added when a fractional solution is provided by the NLP solver. In the first table the impact obtained by adding a cut on the value of f (x) is evident. Function f (x) gives a measure of the integer infeasibility of the solution provided by the NLP solver and, as shown in Table 5.3, at each iteration it decreases and at iteration 3 a MILP feasible solution is found. Table 5.4 shows that adding a cut can also bring to an increase of the infeasibility of the solution provided by the NLP, but also in this case a MILP solution is found in few iterations. Of course, this technique is not
Table 5.3: Instance gesa2-o Iteration # f(x) 1 0.818001 2 0.091539 3 0.000001 Table 5.4: Instance vpm2 Iteration # f(x) 1 0.064632 2 0.166161 3 0.145310 4 0.000000
always as effective as in these two cases, however we think that combining NLP and MILP techniques can lead to a good exploitation of the advantages of both the methods.
5.5
Final considerations and future work
In the previous sections we experimented on how to integrate NLP and MILP techniques to solve the MILP feasibility problem. We proposed to treat the intrinsic non-convexity of MILP problems as a non-linear objective function, obtaining a non-convex NLP problem, and observed similarities among the Feasibility Pump algorithm, addressed to MILP problems, and the Frank-Wolfe algorithm, addressed to NLP problems with linear constraints. We experimented different solvers to obtain a solution of the non-convex NLP. Using an NLP
solver with different starting points (see Section 5.3) we obtained a MILP feasible solution for 29 over the 60 instances of the Miplib2003 (5 over 15 considering only the general integer instances). For 24 over the 45 binary instances we were able to find a MILP feasible solution at the first iteration. This happens for Feasibility Pump heuristic only 8 times. Of course, an iteration of our algorithm is much more expensive than an FP iteration, but improvements on this side are possible. Another potential issue is that our problem N LPf can have lots of local minima (see, for example, Figure 5.4) which are not global optima, i.e. they do not have value 0. When the NLP solver ends up with a fractional solution, one possibility is to rerun the NLP solver with a different starting point. Another possibility to escape from local minima is applying MILP techniques to cut them in the next iterations, as shown in Section 5.4.
Figure 5.4: N LPf can have lots of local minima.
0 1 2 3 0 1 2 3 0 20 40
We presented preliminary results, with the main goal of understanding the relationship among the MILP and NLP building blocks and their intrinsic difficulties. First of all we want to focus on the general integer instances, because, for the binary case, very effective heuristics have already been proposed. We plan to try to identify specialized cuts, linear or non-linear because we solve an NLP problem without exploiting, for the moment, the fact that the constraints of the NLP are all linear. As seen from the computational results, the randomness/diversification step plays a fundamental role. For this reason, it would be inter- esting to study different and more specific techniques to systematically exploit randomness and diversification. The results presented in Section 5.3 using different starting points were useful also to observe that using starting points which stay in the interior of the feasible region helps the solver. Considering this, it would be useful helping the solver to go away from the barrier of the feasible region penalizing in some way the points lying in it. In a second phase, as we already mentioned, we want to diversify the different global optima, i.e. do not treat in the same way all the MILP feasible solutions, but penalize the solutions which have a large value of the original objective function.
Part III
Applications
Chapter 6
Hydro Scheduling and Unit
Commitment
1
Nomenclature
Sets
T = {1, . . . , t} = set of time periods considered; J = {1, . . . , n} = set of turbine-pump units.
Parameters
It= predicted water inflow in period t (t ∈ T ) [m3/s];
Πt = unit price of the power generated/consumed in period t (t ∈ T ) [e /MWh]; ∆t = period duration [hours];
Cj = startup cost of unit j as a turbine (j ∈ J) [e]; Dj = startup cost of unit j as a pump (j ∈ J) [e];
Qj, Qj = min and max flow value in turbine j (j ∈ J) (when the turbine is on) [m3/s]; Pj = max power produced by turbine j (j ∈ J) [MW];
∆q−, ∆q+= max ramp down and ramp up [m3/s]; V , V = min and max water volume in the basin [m3]; V0 = water volume in the basin in period 0 [m3]; Vt= target (final) water volume in the basin [m3]; S = max water spillage [m3/s];
Wj = water needed to start up turbine j (j ∈ J) [m3/s]; Yj = water needed to start up pump j (j ∈ J) [m3/s]; Ej = energy needed to start up pump j (j ∈ J) [MWh]; Qj0 = flow in turbine j in period 0 (j ∈ J) [m3/s];
Gj0 = status of turbine j in period 0 (j ∈ J) [1 on, 0 off];
1The results of this chapter appears in: A. Borghetti, C. D’Ambrosio, A. Lodi, S. Martello, An MILP
Approach for Short-Term Hydro Scheduling and Unit Commitment with Head-Dependent Reservoir, IEEE Transactions on Power Systems, 23(3), 1115–1124, 2008 [28].
Uj0= status of pump j in period 0 (j ∈ J) [1 on, 0 off]; Q−j = flow pumped by pump j (j ∈ J; Q−j < 0) [m3/s];
Pj−= power consumed during pumping by pump j (j ∈ J; Pj−< 0) [MW]; Θ = min released water in each period [m3/s].
Variables
qjt= water flow in unit j in period t (j ∈ J, t ∈ T ), with qj0= Qj0 [m3/s]; vt= water volume in the basin in period t (t ∈ T ), with v0 = V0 [m3];
pjt= power generated or consumed by unit j in period t (j ∈ J, t ∈ T ) [MW]; st= spillage in period t (t ∈ T ) [m3/s];
wjt= shutdown phase of turbine j in period t (j ∈ J, t ∈ T ) [1 if it is shutdown, 0 otherwise]; e
wjt= startup phase of turbine j in period t (j ∈ J, t ∈ T ) [1 if it is started up, 0 otherwise]; gjt= status of turbine j in period t (j ∈ J, t ∈ T ), with gj0 = Gj0 [1 on, 0 off];
yjt= shutdown phase of pump j in period t (j ∈ J, t ∈ T ) [1 if it is shutdown, 0 otherwise]; e
yjt= startup phase of pump j in period t (j ∈ J, t ∈ T ) [1 if it is started up, 0 otherwise]; ujt= status of pump j in period t (j ∈ J, t ∈ T ), with uj0= Uj0 [1 on, 0 off].
Some additional parameters and variables, introduced to linearize the model, are defined in Section 7.2.
6.1
Introduction
We consider a price-taker generating company that wants to optimize the operation of a pump-storage multi-unit hydro power station for a given time horizon, typically one day or one week. The problem is to determine the commitment and the power generation of the plant so as to maximize the revenue given by power selling. All the units of the plant are assumed to be fed by the same reservoir. We assume that inflows and prices are known as previously forecasted.
Several approaches have been proposed for the solution of this problem. For an exhaustive overview we refer the reader to the recent survey [103]. In [106] the problem was formulated as a simple Linear Programming (LP) model by neglecting costs and constraints relevant to start-ups and shutdowns. In [35] a Non-Linear Programming (NLP) model with some simplified assumption was introduced. Ad-hoc heuristics were proposed by several authors, such as [117] and [101]. In [88] a multistage looping optimization algorithm was proposed for the development of the optimal bidding strategies of an individual pumped-storage unit owner in a competitive electricity market. In [49] the large-scale mixed-integer NLP problem of determining the optimal scheduling of hydropower plants in a hydrothermal interconnected system is considered: the authors use Lagrangian relaxation decomposition strategies, and a sequential quadratic programming algorithm to solve non-linear subproblems. Various Mixed Integer Linear Programming (MILP) approaches have been presented in the literature: for example, [37] and [38] used the Interior Point method within a Branch-and-Bound algorithm, while [11], [59], [60] and [39] used the Ilog-Cplex [71] MILP solver under GAMS.
Although we limit the analysis to the case of a single reservoir, the problem is especially interesting because both of its practical relevance and of the difficulties induced by its non- linear aspects, namely the relationship between the unit electrical power output and the
6.2. MATHEMATICAL MODEL 71