Sie sind auf Seite 1von 2

Homework 3 Assignment

Submit on Blackboard by 11:59 PM, April 7, 2015 (see syllabus for policy on late assignments)
It will probably be easier for you to use YALMIP for setting up the optimization problems (rather than define the necessary matrices for
passing into the MILP solver by hand). If you do use YALMIP, you need to explicitly declare any square multi-dimensional variables as
non-symmetric if they have the same number of rows and columns. For example, if you declare the binary unit status variables with the
statement status = binvar(4,4), YALMIP will assume you are defining a 4x4 symmetric matrix of binary variables. If, instead,
you use the statement status = binvar(4,4,full), YALMIP will not assume the matrix is symmetric.
You are allowed to work with up to two other students. If you choose to work with someone else, only one of you needs to submit
a solution (include a file in the root directory of the .zip file called groupInfo.txt that gives the name and student number for all
group members).
A power grid operator has received the following offers from generators on the system to supply energy throughout a 10-hour time
period. The generators offers are piecewise-linear, continuous, and defined by a set of ordered triplets (units are in brackets [ ]):
 

$
hr

Left bound of linear segment [MW], Right bound of linear segment [MW], Slope of the linear cost segment
MW

Generator 1 {(70, 400, 30)}


Generator 2 {(40, 250, 50)}
Generator 3 {(10, 150, 80)}
The costs for generators 1, 2, and 3 when they are dispatched to their minimum output levels are 2100, 2000, and 800 $/hour, respectively.
For example, the cost curve for generator 1 is given in the following figure:

Generator 1 Cost ($/hr)

12000

Slope of 30
2100
0

70
400
Generator 1 Output (MW)

The generators have also provided the following operating limitations and start-up costs (i.e., costs incurred in an hour t if the generator
is offline in hour t 1 and online in hour t):
Min
Max
Maximum hourly change in
Start-Up
Minimum
Minimum
Unit #
(MW)
(MW)
output, up or down (MW)
Cost ($)
Up Time (h)
Down Time (h)
1
70
400
70
2000
4
4
2
40
250
100
1000
2
2
3
10
150
150
500
1
1

Before the start of the first hour, unit 1 is online (and has been online for over 4 hours) with an output of 400 MW; unit 2 is offline (and
has been offline for over 2 hours), and unit 3 is offline (and has been offline for over 1 hour).
The demand forecast for each hour is provided in the following table:
Hour Average Forecast Demand (MW)
1
400
2
600
3
800
4
700
5
650
6
700
7
750
8
500
9
400
10
400
For this problem, you must turn in a MATLAB function file named ucommit.m which takes no arguments and returns two variables
dispatch and totalCost. The first output variable, dispatch, is a matrix with G rows and T columns (G = number of generators,
T = number of periods), where entry (i,j) is the dispatch (i.e., scheduled power output) of unit i in hour j. The second output variable,
totalCost, is a scalar with the total cost of running the system for the entire 10-hour period. Heres the basic form your .m file should
take:
function [dispatch,totalCost] = ucommit
dispatch = nan(3,10);
totalCost = nan(1,1);
% Code that solves the unit commitment problem and assigns correct
% values to dispatch and totalCost
return;

Das könnte Ihnen auch gefallen