Académique Documents
Professionnel Documents
Culture Documents
15
ndice.
1. Introduccin.
2. Formulacin del problema.
2.1 Ejercicio N1.
2.2 Ejercicio N2.
3. Metodologa, Materiales, Experimento.
4. Mediciones y Resultados.
5. Conclusiones.
6. Referencias.
15
1.- Introduccin.
En este presente trabajo trataremos de aplicar la siguiente teora aprendida en clases, para
as poder modelar un problema para que este pueda ser optimizado, la teora que se usaran
para esta actividad es la linprog:
Linprog:
Comando para problemas de programacin lineal que consisten en optimizar una ecuacin
lineal que esta sujeta a unas series de restricciones conformadas por desigualdades lineales.
La sintaxis para esta funcin es la siguiente:
x = linprog (f ,A, b, Aeq, beq, lb, ub, x0, options),
Donde:
f: es el vector de coeficientes de la funcin objetivo, organizado segn las variables
(Matlab intentar minimizar siempre, por tanto multiplicaremos por -1 si queremos
maximizar)
A, b: corresponden a las restricciones de desigualdad, siendo el primero la matriz y el
segundo el vector del lado derecho del sistema de inecuaciones Ax<=b.
Aeq, beq: tienen el mismo tratamiento que A y b, respectivamente, teniendo en cuenta que
los nuevos corresponden a un sistema de ecuaciones, en tanto que los antiguos constituan
uno de inecuaciones.
lb, ub: son, respectivamente, los lmites inferior y superior de la regin donde se espera que
se encuentre el punto ptimo.
x0: es el punto inicial para la iteracin. Segn el algoritmo usado, es posible, o no, omitir
este ltimo.
Options: opciones de los parmetros de optimizacin.
15
Costo Variable
Coef. De CO2
Potencia Mxima
($/MWh)
(ton/MWh)
(MW)
1
2
3
8
12
15
0,88
0,88
0,66
10
5
20
La demanda es de 20 MW. Utilizar matlab (linprog) para analizar los siguientes casos:
a) El despacho econmico sin restriccin de emisiones.
b) El despacho econmico considerando una restriccin de 15 toneladas de CO2.
Encontrar:
I.
II.
III.
Ejercicio N2.El siguiente caso presenta 13 unidades del Sistema Interconectado Norte Grande. La
demanda para las 13 horas del 29 de septiembre es de 1712,4 MWh.
Tabla N 2.- Coeficientes de costos y emisiones de las unidades del SING.
a1
1
NTO1
NTO2
ANG2
CTTAR
CTM1
CTM2
7
8
Suta
U13
U14
10
U15
11
U16-TG+U16-TV
12
TG1A+TG1B+TV
1C
13
CTH
Carb
n
Carb
n
Carb
n
Carb
n
Carb
n
Carb
n
Diesel
Carb
n
Carb
n
Carb
n
Gas
Natura
l
Gas
Natura
l
Carb
n
PMin
PMax [ MW ] Tc/MW
h
US[$
]
MW
Ton
0,378
MW]
33
MW
Ton
0,369
65
135
0,91
109,0
MW
Ton
0,384
130
260
0,94
129,1
MW
Ton
0,439
90
260
1,06
142,4
MW
Ton
0,382
80
90
0,94
122,2
MW
Ton
0,379
84
120
0,93
122,2
MW
MW
Ton
Ton
0,217
0,451
5
45
100
100
0,65
1,11
132,2
132,2
MW
Ton
0,421
88,7
114
1,04
132,2
MW
Ton
0,451
88,7
250
1,11
0,3
MW
m3
191,39
1
159
200
0,36
0,1
MW
200,56
6
310
330
0,37
132,2
MW
Ton
0,300
100
135
0,74
135
0,93
109,0
15
I.
II.
III.
IV.
V.
VI.
15
4.- Asi
Mediciones
y Resultados.
obtenemos que con:
P1=10
Ejercicios
N1.
a) PEl=5
despacho econmico sin restriccin de emisiones.
2
PrimeroP3el=5
ejercicio lo resolvimos en el cuaderno de la siguiente forma:
El valor del costo total es:
Ctotal =$ 215
De aqu obtenemos que el costo marginal sea:
C Marginal=15
$
MWh
La produccin total de
CO2
es:
15
Luego de resolverlo en el cuaderno usamos matlab para crear un algoritmo que lo resolviera
de manera ms rpida y directa. Fue as que usando el comando linprog creamos el
siguiente cdigo:
clear %vaciar la memoria en workspace
clc
%limpiar la pantalla window
costo=[8 12 15]; %los costos de cada unidad
emisiones=[0.88 0.88 0.66]; %emisiones de cada unidad
minP=[0 0 0]; %potencia mnima de cada unidad
maxP=[10 5 20]; %potencia mxima de cada unidad
demanda=20; %demanda requerida segn el problema
c=costo;
A=[];
b=[];
Aeq=[1 1 1];
beq=demanda;
lb=minP;
ub=maxP;
[x,ct,e,o,l]=linprog(c,A,b,Aeq,beq,lb,ub);
Emax=emisiones*x;
ValoresP=x %valores de potencia de cada unidad
CostoTotal=ct %costo total de produccin
EmisionMaxima=Emax %emisin mxima de la produccion
ValoresP =
Al usar el cdigo anterior en matlab obtenemos como resultado lo siguiente:
10.0000
5.0000
5.0000
CostoTotal =
215.0000
EmisionMaxima =
16.5000
15
La produccin mnima de
CO2
ser:
E
=0,88 P1 +0,88 P20,66 P 3
b) minima
El despacho
econmico considerando una restriccin de 15 toneladas de
CO2
.
Con la restriccin siguiente:
Primero resolvemos el problema en el cuaderno al igual que el ejercicio anterior:
Eminima=15 [ toneladas ]
Y considerando que:
P1+ P 2+ P3 =20 [ MW ]
Obtenemos:
P1=0
P2=0
P3=20
Ctotal =$ 300
15
Luego de resolverlo en el cuaderno usamos matlab para crear un algoritmo que lo resolviera
de manera ms rpida y directa. Fue as que usando el comando linprog creamos el
siguiente cdigo:
clear %vaciar la memoria en workspace
clc
%limpiar la pantalla window
costo=[8 12 15]; %los costos de cada unidad
emisiones=[0.88 0.88 0.66]; %emisiones de cada unidad
minP=[0 0 0]; %potencia minima de cada unidad
maxP=[10 5 20]; %potencia maxima de cada unidad
demanda=20; %demanda requerida segun el problema
c=costo;
A=[0.88 0.88 0.66];
b=15;
Aeq=[0 0 1];
beq=demanda;
lb=minP;
ub=maxP;
[x,ct,e,o,l]=linprog(c,A,b,Aeq,beq,lb,ub);
Emin=emisiones*x;
ValoresP=x %valores de potencia de cada unidad
CostoTotalMaximo=ct %costo total maximo de produccion
EmisionMinima=Emin
%emision minima de la produccion
ValoresP =
0.0000
Al usar
el cdigo anterior en matlab obtenemos como resultado lo siguiente:
0.0000
20.0000
CostoTotalMaximo =
300.0000
EmisionMinima =
13.2000
15
Ejercicios N2.
Primero realizamos los clculos de las emisiones por unidad.
Tabla N 3 Emisin mnima y mxima por unidad.
3069
59.15
122.2
95.4
75.2
162.12
3.25
49.95
92248
98.457
57.24
114.7
74
Con esto pudimos determinar que algunas unidades trabajando a su mxima potencia
generaran mucha menos emisin que otras trabajando con su potencia mnima por lo que
concluimos que las siguientes unidades debieran trabajar a su mxima potencia.
15
Pero a la vez como tambin tenemos que reducir el costo, observamos que de las 4
unidades anteriores solo una tiene un costo bajo en relacin a las otras.
Si buscamos las unidades con menor costo tenemos que las siguientes unidades deberan
trabajar a su mxima potencia.
clear all
NTO2
trabajando a 135 MW.
close
all
clc
ANG2 trabajando
a 260
MW.
Costo1=[0.378
0.369 0.384
0.430
0.382 0.379 0.217 0.451 0.421 0.451 191.391 200.566
0.300];
%coeficientes
de
costo
por unidad.
U16-TG+U16-TV
trabajando
a 200 MW.
us=[109 109 109 129.1 142.4 122.2 122.2 132.2 132.2 132.2 0.3 0.1 132.2]
costo=Costo1.*us
%funcion
de
costo
CTH trabajando a 135 MW.
emisiones= [0.93 0.91 0.94 1.06 0.94 0.93 0.65 1.11 1.04 1.11 0.36 0.37 0.74];
%coeficientes de emisiones por unidad.
%en MWque las siguientes unidades deberan trabajar si o si a su mxima
Pordemanda=1712.4;
lo que concluimos
minPot=[33 65 130 90 80 84 5 45 88.7 88.7 159 310 100]; %unidades en MW
potencia.
maxPot=[135 135 260 260 90 120 100 100 114 250 200 330 135];%unidades en MW
%Minimizacion
de la funcion
de costo
totalMW.
c=costo;
U16-TG+U16-TV
trabajando
a 200
A=[];
CTH trabajando a 135 MW.
b=[];
Aeq=[1 1 1 1 1 1 1 1 1 1 1 1 1];
Usandobeq=demanda;
Matlab creamos el siguiente cdigo.
Ib=minPot;
ub=maxPot;
[x,f,e,o,l]=linprog(c,A,b,Aeq,beq,Ib,ub);
MaxEmisiones=emisiones*x %maxima emision de CO2
Mincosto=f %minimo costo
%Minimizacion de la funcion emision de CO2 total
c=emisiones;
A=[];
b=[];
Aeq=[1 1 1 1 1 1 1 1 1 1 1 1 1];
beq=demanda;
Ib=minPot;
ub=maxPot;
[x,f,e,o,l]=linprog(c,A,b,Aeq,beq,Ib,ub);
MaxCosto=costo*x %costo maximo
MinEmisiones=f %minima emicion de CO2
for i=1:3000;
c=costo;
A=[0.93 0.91 0.94 1.06 0.94 0.93 0.65 1.11 1.04 1.11 0.36 0.37 0.74];
b=[MinEmisiones+rand()*(MaxEmisiones-MinEmisiones)];%Matriz de minimos y maximos
encontrados
Aeq=[1 1 1 1 1 1 1 1 1 1 1 1 1];
beq=demanda;
Ib=minPot;
ub=maxPot;
[x,f,e,o,l]=linprog(c,A,b,Aeq,beq,Ib,ub);
Emax(i)=emisiones*x;
cost(i)=f;
end
x=min(Emax):0.001:max(Emax);%emisiones minimas y maximas encontradas.
y=((max(cost)-min(cost))/(max(Emax)-min(Emax))*(x-min(Emax))+min(cost)); %recta de
costo minimo y maximo sujeto a las emisiones minimas y maximas respectivas
plot(x,y,'r','linewidth',3,'markeredgecolor','m');
grid on;
hold on;
plot(Emax,cost,'r.','markeredgecolor','g')
grid on;
xlabel('Emisiones en toneladas');
ylabel('Costo en $ ');
title('Curva de pareto');
Ct=[min(cost) max(cost)] % costo total de produccin de las 13 unidades.
Et=[min(Emax) max(Emax)] % produccin total de CO2 producido por las 13 unidades.
15
15
5.- Conclusiones.
1. Usando linprog podremos buscar soluciones tratando las variables como continuas
pero buscando en el rbol de soluciones, valores que se acerquen cada vez ms a las
soluciones que estamos buscando, es decir soluciones en las que las variables del
problema tienen valores enteros.
2. La funcin Linprog es empleado en la solucin de problemas de programacin
lineal. El cual emplea algoritmos de resolucin lineal continua fuertemente
influenciada por el algoritmo Simplex
3. Con linprog se pudo encontrar los costos marginales de los ejercicios adems del
mximo y mnimo para poder realizar obtener los resueltos de cada actividad.
4. Tiene distintas tipos de notaciones,
linprog(f,A,b): notacin ms simple de la funcin.
linprog(f,A,b,Aeq,beq): Solucin de un problema discreto que satisface la igualdad
de restricciones.
15
6.- Referencias.
1. Cabezas, I.; Pez, J.D. (2010). Matlab. Toolbox de optimizacin. Aplicaciones en
ciencias econmicas. Unidad de Informtica y Comunicaciones. Facultad de
Ciencias Econmicas. Universidad Nacional de Colombia, Bogot D.C.
2. https://juangvillegas.files.wordpress.com/2013/08/restrepo-villegas-dea.pdf
3. http://docentes.uto.edu.bo/ablancob/wp-content/uploads/optimizacion_matlab.pdf
4. http://bibing.us.es/proyectos/abreproy/11191/fichero/Cap%EDtulo+5.pdf
5. http://dspace.ucuenca.edu.ec/bitstream/123456789/19839/1/tesis.pdf
6. http://www.monografias.com/
15