A Solution to Economic Dispatch Problem of MERALCO and NPC using Piece-wise Linear Programming Method

I. Background and Objective
II. Background of the Problem
III. Formulation of the Solution using Linear Programming (LP)

IV. Solution and Description of the Analysis Tool Used
V. Results
VI. Discussion of the Results and Conclusion

IV. Solution and Description of the Analysis Tool Used

To solve the Linear Programming model that solves the optimal dispatch of generators that will supply the demand power of MERALCO, a linprog() function of the optimization tool box of MATLAB was used.

MATLAB

MATLAB is both a numerical computing environment and a programming language. Created by The MathWorks, MATLAB allows easy matrix manipulation, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs in other languages. Although it specializes in numerical computing, an optional toolbox interfaces with the Maple symbolic engine, making it a full computer algebra system. It is used by more than one million people in industry and academia. It is available for commercial use for approximately US$2000 and US$100 for an academic license with a limited set of Toolboxes.

Linprog()

Linprog () solves a linear programming problem,

where f, x, b, beq, lb, and ub are vectors and A and Aeq are matrices.

Linprog function can be utilize using either of the following syntax, depending, of course, to the type and formulation of the linear programming model and desired output;

x = linprog(f,A,b)
Solves min f’*x such that A*x <= b.

x = linprog(f,A,b,Aeq,beq)
Solves the problem above while additionally satisfying the equality constraints Aeq*x = beq. Set A=[] and b=[] if no inequalities exist.x = linprog(f,A,b,Aeq,beq,lb,ub)

x = linprog(f,A,b,Aeq,beq,lb,ub,x0)
Defines a set of lower and upper bounds on the design variables, x, so that the solution is always in the range lb <= x <= ub. Set Aeq=[] and beq=[] if no equalities exist.

x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options)
Sets the starting point to x0. This option is only available with the medium-scale algorithm (options.LargeScale is ‘off’). The default large-scale algorithm will ignore any starting point.

x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options)
Minimizes with the optimization parameters specified in the structure options.

[x,fval] = linprog(…)
returns the value of the objective function fun at the solution x: fval = f’*x.

[x,fval,exitflag] = linprog(…)
returns a value exitflag that describes the exit condition.

[x,fval,exitflag,output] = linprog(…)
returns a structure output that contains information about the optimization.

[x,fval,exitflag,output,lambda] = linprog(…)
returns a structure lambda whose fields contain the Lagrange multipliers at the solution x.

Formulation of the LP models into MATLAB required Syntax

For us to be able to obtain the solution, using MATLAB, of the LP model that we formulated, the LP model must be converted into a form that is required by the linprog() function. That is, the model must be expressed in a matrix form which will be inputted to the MATLAB command window. Below are the inputs for MATLAB;

Objective Function:

F=[0; 0; 0; 0; 0; 1495; 1495; 1495; 0; 11; 1012]

Equality constraints  ( [Aeq][x]=[Beq] ):

Aeq = [1 1 1 1 1 1 1 1 1 1 1;
0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0]

Beq = [PL; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0]

Inequality constraints ( [A][x]<[B] )
A = [1 0 0 0 0 0 0 0 0 0 0;
0 1 0 0 0 0 0 0 0 0 0;
0 0 1 0 0 0 0 0 0 0 0;
0 0 0 1 0 0 0 0 0 0 0;
0 0 0 0 1 0 0 0 0 0 0;
0 0 0 0 0 1 0 0 0 0 0;
0 0 0 0 0 0 1 0 0 0 0;
0 0 0 0 0 0 0 1 0 0 0;
0 0 0 0 0 0 0 0 1 0 0;
0 0 0 0 0 0 0 0 0 1 0;
1 1 1 1 1 1 1 1 1 1 0]

B=[300; 66; 66; 303.1; 375; 700; 66; 66; 129.9; 125; 0.4*PL]

Lower Bound

Lb=zeros(11,1). It means that the lower bound of the decision variables are zero

And finally, the linprog function to solve the optimal solution,

[X, FVAL, EXITFLAG, OUTPUT, LAMBDA] = LINPROG(F, A, B, Aeq, Beq, Lb)

X is the vector that contains the value of the decision variables while FVAL contains the value of the objective function at optimal solution.

Linkblog

Sponsored Links