Unit Commitment problem

Unit commitment is the problem of determining the least cost schedule of generating units subject to power balance and network constraints. In OATS, the unit commitment problem is modelled as a mixed integer linear programming problem. The objective function is to minimise the total cost of generation over a given time horizon. The constraints in each step are of power balance, restrictions on ramp rates, zonal net transfer limits and generation limits.

A mathematical formulation of the UC problem

Several mathematical formulations of the unit commitment problem exists in literature. The current release of oats implement a formulation from the following paper:

G. Morales-España, J. M. Latorre and A. Ramos, “Tight and Compact MILP Formulation for the Thermal Unit Commitment Problem,” in IEEE Transactions on Power Systems, vol. 28, no. 4, pp. 4897-4908, Nov. 2013. doi: 10.1109/TPWRS.2013.2251373

Note that the above formulation provides several tight relaxations around minimum start-up (shut-down) times of the thermal generators. These relaxations can easily be implemented in OATS by adopting the current ‘UC.mod’ model file. In case of any issues, the user is encouraged to raise an issue via GitHub page for support.

Solving UC problems in OATS

oats.uc(tc='default', solver='cplex', neos=True, out=0)

Solves unit commitment problem

ARGUMENTS:

tc (*.xlsx file) - OATS test case. See OATS data format for details

solver (str) - name of a solver. Defualt is ‘ipopt’

neos (bool) - If True, the problem is solved using NEOS otherwise using a localy install solver.

out (bool) - If True, the output is displayed on screen.