Considering the power plants long term maintenance, the programmed outages must satisfy some (technical) constraints, and quite complex costs structure e.g.
- demand, generation units availability, minimum reserve required by period, risk levels
- man power such as availability for each period, requirements by maintenance tasks, sequence, incompatibility
- opportunities such as spot or balancing market prices opportunities, wind or water availability
- possible (ToP, extra costs for anticipating or delay, etc.) options in the maintenances contracts with third parts.
Some of these constraints have an inherent uncertainty that should be taken into account, while considering a closed form of the opportunity/cost structure can be very difficult.
The respect of these constraints is a mixed responsibility, in fact we remark that in market based systems GenCos a common scheme is: GenCos communicate their maintenance schedules (at least of those above a certain size) and TSO coordinates/approves/requires changes to all of them. The interactions between these two actors have received intensive interest. This interaction can also be implemented in an iterative fashion giving birth to complex schemes. Iterative coordination methods based on rescheduling signals have been proposed, for instance a coordination procedure where at every iteration the TSO indicates permissible and impermissible maximum power for the maintenance of the generating units in each period. In the same way, other approaches coordinate the decisions through corrective signals sent by the TSO to the GenCOs, indicating the maximal capacities that can be in maintenance per each geographical area during critical periods. These signals are calculated according to the responsibility of each GenCo for not supplying the load. These capacity-based signals can be replaced by penalties and/or incentive signals. The objective function associated with the GenCO problem is modified at each iteration to represent the TSO's recommendations. In some models GenCOs that adjust their maintenance plans are paid to (partially) ofset their losses compared to their initial plans; the cost is paid by the customers.
Lobato  shows how to schedule maintenance of single generator given a deterministic prediction of future prices over 3 years. The generator has 3 maintenace state variables. Each days operation and start ups accumulates these variables and maintenace of one of the three must occur before its state varaible reaches a limit. It is important how the plant is operated from day to day (e.g. how many startups there are) affects the when maintenance has to be done. There are times of the year where more profit can be made from a generator (e.g. because prices are high), so there can be a conflict between what is optimal in the short term and when is the best time to do maintenance.
From an algorithmic point of view these business processes call for the use of Benders decomposition-like schemes to take into account the objectives of the TSO and the GenCOs in the long-term. The GenCOs' objective is cost minimization rather than profit maximization. The master problem deals with the GenCOs' formulation of the problem, and the reliability checks of the TSO are handled in the subproblems. Feasibility and optimality cuts generation allows the coordination of the decisions as in the standard Benders' general scheme.For instance ] use this approach to design mobile agent software to coordinate the actors. However at the present time we do not have evidence that in real life TSO and GenCos actually coordinates in such a sophisticated manner.
The complexity of the sole yearly thermal (notably nuclear) power plant with only min cost goals, can be appreciated for instance taking a look at the Rodaef contest of 2010 - organized together with French GenCo EDF - and related solutions given by participants. In this contest very often the algorithmic approaches are based on some sort of problem-specific heuristic or (Benders, Lagrangian or Column Generation) decomposition, possibly coupled with constraint or mathematical programming engines. The usage of these algorithmic "heavy weapons" somehow gives a flavor of how complex this problem can be (indeed the posed problem has been proved to be NP-hard).
 F. Brandt, "Solving a Large-Scale Energy Management Problem with Varied Constraints", Diploma Thesis At the Department of Informatics Institute of Theoretical Informatics.
 Adam Wojciechowski, "On the optimization of opportunistic maintenance activities", Department of Mathematical Sciences, Chalmers University of Technology Department of Mathematical Sciences, University of Gothenburg SE-412 96 Göteborg, Sweden 2010.
 Salvador Perez Canto ,"Using 0/1 mixed integer linear programming to solve a reliability-centered problem of power plant preventive maintenance scheduling", Optimization and Engineering September 2011, Volume 12, Issue 3,
, "Long Term Maintenance Optimization of CCGT Plants", Power and Energy Engineering Conference (APPEEC), 2012 Asia-Pacific, 27-29 March 2012, pp 1-4.
 Aurélien Froger, Michel Gendreau, Jorge E. Mendoza, Eric Pinson, Louis Martin Rousseau, "Maintenance Scheduling in the Electricity Industry: A Literature Review", CIRRELT 2014 n. 53, October 2014.
 K. Dahal, K. Al-Arfa j, and K. Paudyal. Modelling generator maintenance scheduling costs in deregulated power markets. European Journal of Operational Research, 240(2):551561, 2015.
 X. Xu and M. Kezunovic. Mobile agent software applied in maintenance scheduling. In Proc. 2001 North American Power Symposium, 2001
Prof. Ken Mc Kinnon, University of Edinburgh