Está en la página 1de 22

UNIVERSIDAD TCNICA DE ORURO

FACULTAD NACIONAL DE INGENIERA


INGENIERA ELCTRICA Y ELECTRNICA

GUIA

OPTIMIZACIN CON MATLAB

MCs. Ing. Armengol Blanco Benito

Oruro, febrero 2008


ndice

ndice ii
Palabras Preliminares iii
1 Introduccin 1
2 Programacin No Lineal 1
2.1 Ejemplo 1, Problema de Programacin no Lineal [4] 3
2.1.1 Interpretacin de los Resultados 7
2.2 Ejemplo 2, Programacin No Lineal: Coordinacin Hidrotrmica [4] 8
2.2.1 El modelo de optimizacin 9
2.2.2 Modelo de Optimizacin Implementado en MATLAB 11
3 Programacin lineal 16
3.1 Ejemplo 3 Problema de Programacin Lineal 17
3.2 Interpretacin de los Resultados 19
Referencias Bibliogrficas 19

ii
Palabras Preliminares

En sta gua, se presenta, el empleo del tool box de optimizacin del Matlab en la
resolucin de problemas de optimizacin en la operacin econmica de sistemas elctricos
de potencia. Contiene soluciones completas a ejemplos tpicos de la asignatura Operacin
Econmica y Planificacin de Sistemas de Potencia.

Se pretende plasmar la inquietud de facilitar el aprendizaje de las tcnicas de optimizacin


utilizadas para resolver problemas de optimizacin.

Armengol Blanco
Febrero, 2008

iii
GUIA
OPTIMIZACIN CON MATLAB
Armengol Blanco

1 Introduccin

L
a optimizacin, es una herramienta matemtica poderosa que emplea el enfoque
cientfico para la asignacin de recursos econmicos y materiales para el logro de un
determinado objetivo al resolver problemas prcticos y reales. El tool box de
optimizacin de Matlab, es una herramienta computacional interesante para resolver
problemas de optimizacin lineal y no-lineal.

Lo interesante de la solucin de un problema de optimizacin, no es la solucin misma, lo


importante son los multiplicadores de Lagrange-Karush-Kuhn-Tucker asociados con cada
restriccin, es decir, los precios duales. Estos ltimos permiten tomar decisiones para
mejorar la solucin o considerar el cambio de las restricciones que pueden mejorar (
empeorar) la solucin hallada.

En este texto, se presenta una aplicacin a problemas tpicos de la operacin econmica y


coordinacin hidrotrmica de sistemas elctricos de potencia, se hace hincapi en la
interpretacin de los parmetros del tool box de optimizacin de Matlab.

2 Programacin No Lineal

La optimizacin o la programacin matemtica es un instrumento fundamental en el campo


de la ingeniera.

Un problema de optimizacin queda formulado como un modelo de optimizacin mediante la


expresin:

min f ( x ) (1)
s. a :
g(x) = 0 (2)
h(x) 0 (3)

donde:

f() Funcin objetivo


g() Restriccin de igualdad
h() Restriccin de desigualdad
x Variable de decisin

1
Las funciones f(), g() y h() pueden ser funciones lineales y/ no lineales. Las restricciones de
igualdad y de desigualdad pueden ser lineales y/o no lineales, entonces, el modelo se puede
explicitar con mayor detalle, por ejemplo para trabajar con Matlab [1], se utiliza la formulacin
siguiente:

min f ( x ) (4)
s. a :
C eq (x) = 0 (5)
A eq x = b eq (6)
C(x) 0 (7)
Axb (8)
LxU (9)

donde:

Ceq() Restricciones de igualdad, estrictamente no lineales.


Aeq Matriz de las restricciones de igualdad lineales.
C() Restricciones de desigualdad, estrictamente no lineales.
A Matriz de las restricciones de desigualdad lineales.
beq Lado derecho de las restricciones de igualdad.
b Lado derecho de las restricciones de desigualdad.
L, U Vectores de lmites inferior y superior de las variables de decisin x.
x Variables de decisin del problema.

Este modelo, se puede clasificar como un problema de optimizacin no lineal que


corresponde al mbito de la programacin matemtica. Se tienen varios mtodos de la
programacin matemtica para su resolucin.

Este modelo, se puede resolver mediante la caja de herramientas de optimizacin del


MATLAB [2], que tiene un comando fmincon para ese propsito.

fmincon

Determina el mnimo de una funcin multivariable con restricciones de igualdad y


desigualdad, lineales y no lineales. Todo problema de maximizacin puede ser convertido en
un problema de minimizacin al cambiar el signo la funcin objetivo.

Sintaxis

Las diferentes formas de emplear el comando fmincon, son las siguientes:

x = fmincon(fun,x0,A,b)
x = fmincon(fun,x0,A,b,Aeq,beq)
x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub)
x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)

2
x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)
x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options,P1,P2, ...)
[x,fval] = fmincon(...)
[x,fval,exitflag] = fmincon(...)
[x,fval,exitflag,output] = fmincon(...)
[x,fval,exitflag,output,lambda] = fmincon(...)
[x,fval,exitflag,output,lambda,grad] = fmincon(...)
[x,fval,exitflag,output,lambda,grad,hessian] = fmincon(...)

Descripcin [1]

Argumentos

Los argumentos que toma el comando fmincon, son los siguientes:

fun es un archivo de texto ASCII, con la extensin m, que contiene la funcin objetivo a
minimizar.
x0 punto inicial para la bsqueda de la solucin.
A, b, Aeq, beq, lb, ub, definidas en el problema de optimizacin, corresponden a las
restricciones lineales.
nonlcon archivo extensin m que contiene las restricciones no lineales.
options opciones de los parmetros de optimizacin.
P1, P2, parmetros de fun y nonlcon

Salidas

Las salidas que entrega el comando fmincon, son las siguientes

x vector solucin
fval valor de la funcin objetivo
exitflag condicin de terminacin de fmincon
output estructura de la salida
lambda multiplicadores de Lagrange
grad gradiente de la funcin fun evaluada en el punto solucin
hessian valor de la Hessiana

Mayores detalles, se puede consultar en el manual [1], pginas 4-30 al 4-42.

Las variables de los argumentos y salidas pueden tomar nombres cualesquiera, solamente
es necesario respetar el lugar de su ubicacin.

2.1 Ejemplo 1, Problema de Programacin no Lineal [4]

Determinar el Despacho Econmico de Carga de un Sistema Elctrico de Potencia, cuyas


funciones de costos de generacin, son las que siguen:

3
Funcin de Costo de Generacin Pmin Pmax
$
h [MW ] [MW ]
F1 = 800 + 10.1 P1 + 0.06 P12 + 0.006 P13 35 100
F2 = 350 + 6.0 P2 + 0.07 P22 + 0.006 P23 45 125
F3 = 350 + 7.1 P3 + 0.06 P32 + 0.007 P33 50 200

F4 = 800 + 7.2 P4 + 0.07 P42 + 0.006 P43 47 200

La formula de prdidas, es:

Pperd = 0.00008 P12 + 0.00009 P22

sta expresin significa que las unidades 1 y 2, son responsable de las prdidas solamente.
La unidad 2 ms que la 1.

La demanda:

PD = 200 MW

EL modelo de optimizacin, es:

N
Min FT = Fi ( P i )
i =1
s. a :
N
G = P D + P perd - P i = 0
i =1
min max
Pi P i Pi

La funcin objetivo, est dado por:

N
FT = Fi (Pi ) = 2300 + 10.1 P1 + 0.06 P12 + 0.006 P13
i =1
+ 6.0 P2 + 0.07 P22 + 0.006 P23 + 7.1 P3 + 0.06 P32 + 0.007 P33 +

+ 7.2 P4 + 0.07 P42 + 0.006 P43

4
La restriccin de igualdad:

N
G = P D + P perd - P i = 0
i =1

G = 200 + 0.00008 P 2 + 0.00009 P 2 P1 P2 P3 P4 = 0


1 2
Las restricciones de desigualdad, se reducen al acotamiento de las potencias generadas por
cada unidad:

P min P i P max
i i
35 P1 100
45 P 2 125
50 P3 200
47 P 4 200

El modelo de optimizacin se implement en tres archivos tipo m: funobj.m, restricnl.m y


solucion.m [1]. La primera contiene la funcin objetivo del problema, la segunda las
restriccin de igualdad no lineal y la tercera contienen los parmetros del problema,
respectivamente.

En los pargrafos siguientes, se lista estos archivos.

funobj.m

function f=funobj(p)

F1=800+10.1*p(1)+0.06*p(1)^2+0.006*p(1)^3;
F2=350+6.0*p(2)+0.07*p(2)^2+0.006*p(2)^3;
F3=350+7.1*p(3)+0.06*p(3)^2+0.007*p(3)^3;
F4=800+7.2*p(4)+0.07*p(4)^2+0.006*p(4)^3;

f=F1+F2+F3+F4;

restricnl.m

function [c,ceq]=restricnl(p)

c=[]; % El problema no tiene restricciones de desigualdad no lineales


pd=200; % Demanda
ceq=[pd+0.00008*p(1)^2+0.00009*p(2)^2-p(1)-p(2)-p(3)-p(4)];
% Restriccin de igualdad no lineal

5
solucion.m

% Programa para resolver los problemas del 1er parcial de ELT3811 1/2003
p0=[40 50 55 55]'; % Punto de partida
A=[]; b=[]; Aeq=[]; beq=[]; % Matrices y vectores de las restricciones lineales: Vacio
lb=[35 45 50 47]'; % Lmite inferior de generacin
ub=[100 125 200 200]'; % Lmite superior de generacin

[p,fval,exitflag,output,lambda]=fmincon('funobj',p0,A,b,Aeq,beq,lb,ub, 'restricnl')

La ejecucin del programa solucion.m, entrega la siguiente solucin:

solucion
Warning: Trust region method does not currently solve this type of problem,
switching to line search.
> In C:\MATLABR11\toolbox\optim\fmincon.m at line 190
In C:\MATLABR11\work\solu1.m at line 9
Optimization terminated successfully:
Magnitude of directional derivative in search direction
less than 2*options.TolFun and maximum constraint violation
is less than options.TolCon
Active Constraints:
1
4

p=

49.2078
50.7749
50.0000
50.4431

fval =

7.6191e+003

exitflag =

output =

iterations: 7
funcCount: 43
stepsize: 1
algorithm: 'medium-scale: SQP, Quasi-Newton, line-search'
firstorderopt: []
6
cgiterations: []

lambda =

lower: [4x1 double]


upper: [4x1 double]
eqlin: [0x1 double]
eqnonlin: 60.0631
ineqlin: [0x1 double]
ineqnonlin: [0x1 double]

2.1.1 Interpretacin de los Resultados

 Las primeras lneas indican que el mtodo empleado no es el ms adecuado para este
problema, pero la optimizacin fue exitosa.

 Las restricciones 1 y 4 estn activas:

La restriccin 1 corresponde a la restriccin de igualdad, G: el cual debe satisfacerse.


La restriccin 4 es la restriccin de desigualdad de P3 se activa a su valor mnimo.

 Los resultados, son:

P1 = 49.2078
P2 = 50.7749
P3 = 50.0000
P4 = 50.4431

 El valor de la funcin objetivo, es:

FT = 7619.1 $/h

 La optimizacin termin exitosamente: exitflag = 1, en 7 iteraciones y se utiliz un


algoritmo para tamao medio; el mtodo de bsqueda Cuasi Newton.

 El multiplicador de Lagrange (precio dual) de la restriccin de igualdad, es:

eqnonlin: 60.0631. Es el costo marginal del sistema. Corresponde a la restriccin G.

' dF ( P )
Los costos marginales de las unidades Fi = i i , son:
dPi

7
F1' = 59.5902
F2' = 59.5142
F3' = 65.6000
F4' = 60.0631

La unidad 3, est saturada en su lmite mnimo, y es la unidad ms cara, pero debe operar
por estar programada seguramente para tener un margen de reserva en giro u otra
consideracin, est situacin fue definida en el predespacho-. Las unidades 1 y 2 de acuerdo
a sus costos marginales se puede decir que son las ms econmicas, pero como son
responsables de las prdidas del sistema estn penalizadas y sus factores de penalizacin
son:

1
PFi =
Pperd
1
Pi
1
PF1 = = 1.0079
1 0.00016P1
1
PF2 = = 1.0092
1 0.00016P2

Las unidades 3 y 4 tienen factores de penalizacin iguales a 1, es decir, su funcionamiento


no introduce prdidas al sistema.

PF3 = 1
PF4 = 1

La unidad marginal, es la unidad 4, cuyo costo marginal es igual al costo marginal del
sistema.

2.2 Ejemplo 2, Programacin No Lineal: Coordinacin Hidrotrmica [4]

Determinar la coordinacin hidrotrmica del siguiente sistema:

funciones de costo.
Pmin Pmax
F1 = 300 + 4.8PS1 + 0.006P 2 + 0.0006P 3 45 150
S1 S1
F2 = 400 + 7.8PS2 + 0.007 P + 0.0006P 3
2 50 180
S2 S2
F3 = 350 + 6.9PS3 + 0.009P 2 35 200
S3

8
Volumen de gasto [Acre-ft]

q1 = 240 + 6.1PH1 V1 = 37000


q 2 = 300 + 7.1PH 2 V2 = 25000
q 3 = 250 + 7.2PH3 V3 = 35000
q 4 = 300 + 8.2PH 4 V4 = 20000
q 5 = 400 + 10PH5 V5 = 15000

Pperd = 0.00007 P 2 + 0.00008P 2 + 0.00009P 2 + 0.00007 P 2 [MW ]


H1 H3 S1 S2

La curva de gasto es:

Fig. Curva de Carga.

Determinar el modelo de optimizacin y resolver con el toolbox de optimizacin del MATLAB.

2.2.1 El modelo de optimizacin

J max n
La funcin objetivo, es: MinZ = n k F(Psk )
k =1 s =1
Para n=1, 2, 3

Con el objeto de mantener la claridad, la letra S significa trmica y la letra H significa


Hidrulica:

MinZ = n1 * [F(PS11) + F(PS12 ) + F(PS13 )] + n 2 * [F(PS21) + F(PS22 ) + F(PS23 )] +


n 3 * [F(PS31) + F(PS32 ) + F(PS33 )]

9
donde:

El segundo subndice, significa el nmero de la unidad y el tercer subndice significa


periodo de la carga.

Sujeto a:

Ecuacin del balance de energa (potencia):

m n
Ck = PSk + PHk Pperdk PDk = 0
S =1 H =1
C1 = PS11 + PS12 + PS13 + PH11 + PH12 + PH13 + PH14 + PH15 Pperd1 PD1 = 0
C 2 = PS21 + PS22 + PS23 + PH 21 + PH 22 + PH 23 + PH 24 + PH 25 Pperd 2 PD2 = 0
C 3 = PS31 + PS32 + PS33 + PH31 + PH32 + PH33 + PH34 + PH35 Pperd3 PD3 = 0

En la Fig. 2, se muestra la asignacin de variable para el periodo j.

P PD j

Ph1 j

PS j
nj

PS1 j

1 2 j jmax

Fig. 2 Asignacin de variables en el periodo j

10
Restriccin de disponibilidad de agua.
J max
Wk = n k q Hk = Vk
k =1
W1 = n1 q11 + n 2 q12 + n 3 q13 = V1
W2 = n1 q 21 + n 2 q 22 + n 3 q 23 = V2
W3 = n1 q 31 + n 2 q 32 + n 3 q 33 = V3
W4 = n1 q 41 + n 2 q 42 + n 3 q 43 = V4
W5 = n1 q 51 + n 2 q 52 + n 3 q 53 = V5
P min PSk P max
Sk Sk
P min PHk P max
Hk Hk

donde

q11 = 240 + 6.1PH11


q12 = 240 + 6.1PH12
q13 = 240 + 6.1PH13

q 21 = 300 + 7.1PH 21
q 22 = 300 + 7.1PH 22
q 23 = 300 + 7.1PH 23

q 31 = 250 + 7.2PH31
q 32 = 250 + 7.2PH32
q 33 = 250 + 7.2PH33

q 41 = 300 + 8.2PH 41
q 42 = 300 + 8.2PH 42
q 43 = 300 + 8.2PH 43

q 51 = 400 + 10PH51
q 52 = 400 + 10PH52
q 53 = 400 + 10PH53

2.2.2 Modelo de Optimizacin Implementado en MATLAB

El modelo de optimizacin se implement en tres archivos tipo m: funobj.m, restricc.m y


solucion.m [1]. La primera contiene la funcin objetivo del problema, la segunda las
restricciones no lineales de igualdad y desigualdad, y la tercera contienen los parmetros del
problema, respectivamente.

11
En los pargrafos siguientes, se lista estos archivos.

funobj.m

%El archivo funobj.m "La Funcin Objetivo"


function f=funobj(p)

n1=6;
n2=6;
n3=12;

% primer intervalo
F11=300+4.8*p(1)+0.006*p(1)^2+0.00006*p(1)^3;
F21=400+7.8*p(2)+0.007*p(2)^2+0.00007*p(2)^3;
F31=350+6.9*p(3)+0.009*p(3)^2;

% segundo intervalo
F12=300+4.8*p(4)+0.006*p(4)^2+0.00006*p(4)^3;
F22=400+7.8*p(5)+0.007*p(5)^2+0.00007*p(5)^3;
F32=350+6.9*p(6)+0.009*p(6)^2;

% tercer intervalo
F13=300+4.8*p(7)+0.006*p(7)^2+0.00006*p(7)^3;
F23=400+7.8*p(8)+0.007*p(8)^2+0.00007*p(8)^3;
F33=350+6.9*p(9)+0.009*p(9)^2;

%la funcin total


f=n1*(F11+F21+F31)+n2*(F12+F22+F32)+n3*(F13+F23+F33);

restricc.m

% Archivo de las Restricciones (restricc.m)

function [c,ceq]=restricc(p)
c=[];

% Periodos
n1=6;
n2=6;
n3=12;
%Volmenes de descarga.
v1=37000;
v2=25000;
v3=35000;
v4=20000;
v5=15000;

%Unidades hidraulicas.
q11=240+6.1*p(10);
12
q21=300+7.1*p(11);
q31=250+7.2*p(12);
q41=300+8.2*p(13);
q51=400+10*p(14);

q12=240+6.1*p(15);
q22=300+7.1*p(16);
q32=250+7.2*p(17);
q42=300+8.2*p(18);
q52=400+10*p(19);

q13=240+6.1*p(20);
q23=300+7.1*p(21);
q33=250+7.2*p(22);
q43=300+8.2*p(23);
q53=400+10*p(24);

% Carga
Pd1=1000;
Pd2=1600;
Pd3=700;

% Perdidas
Pperd1=0.00007*p(10)^2+0.00008*p(12)^2+0.00009*p(1)^2+0.00007*p(2)^2;
Pperd2=0.00007*p(12)^2+0.00008*p(17)^2+0.00009*p(4)^2+0.00007*p(5)^2;
Pperd3=0.00007*p(20)^2+0.00008*p(22)^2+0.00009*p(7)^2+0.00007*p(8)^2;

% Restriccion de igualdad
ceq=[p(1)+p(2)+p(3)+p(10)+p(11)+p(12)+p(13)+p(14)-Pperd1-Pd1
p(4)+p(5)+p(6)+p(15)+p(16)+p(17)+p(18)+p(19)-Pperd2-Pd2
p(7)+p(8)+p(9)+p(20)+p(21)+p(22)+p(23)+p(24)-Pperd3-Pd3
n1*q11+n2*q12+n3*q13-v1
n1*q21+n2*q22+n3*q23-v2
n1*q31+n2*q32+n3*q33-v3
n1*q41+n2*q42+n3*q43-v4
n1*q51+n2*q52+n3*q53-v5];

solucion.m

% archivo solucin

A=[];
b=[];
Aeq=[];
beq=[];
p0=[100;100;100;100;100;100;100;100;100;100;100;100;100;100;100;100;100;100;100;100;1
00;100;100;100];
lb=[45;50;35;0;0;0;0;0;45;50;35;0;0;0;0;0;45;50;35;0;0;0;0;0];

13
ub=[150;180;200;300;450;600;700;800;150;180;200;300;450;600;700;800;150;180;200;300;4
50;600;700;800];
[p,fval,exitflag,output,lambda]=fmincon('funobj',p0,A,b,Aeq,beq,lb,ub,'restricc')

>> solguia
Warning: Large-scale (trust region) method does not currently solve this type of problem,
using medium-scale (line search) instead.
> In fmincon at 317
In solguia at 10
Optimization terminated: magnitude of directional derivative in search
direction less than 2*options.TolFun and maximum constraint violation
is less than options.TolCon.
Active inequalities (to within options.TolCon = 1e-006):
lower upper ineqlin ineqnonlin
1
3
9
15
17

p=

Ps11 = 150.0000
Ps21 = 95.1933
Ps31 = 200.0000
Ps12 = 153.3929
Ps22 = 95.1942
Ps32 = 238.0430
Ps13 = 153.3924
Ps23 = 95.1938
Ps33 = 150.0000
Ph11 = 51.1815
Ph21 = 180.3394
Ph31 = 109.7460
Ph41 = 168.7391
Ph51 = 48.6068
Ph12 = 700.0000
Ph22 = 172.8211
Ph32 = 150.0000
Ph42 = 60.8773
Ph52 = 35.0666
Ph13 = 51.1852
Ph23 = 32.3400
Ph33 = 205.7751
Ph43 = 15.2731
Ph43 = 3.1633

fval =
14
1.1023e+005

exitflag =

output =

iterations: 45
funcCount: 1150
lssteplength: 1
stepsize: 0.0287
algorithm: 'medium-scale: SQP, Quasi-Newton, line-search'
firstorderopt: 2.1709e-004
message: [1x172 char]

lambda =

lower: [24x1 double]


upper: [24x1 double]
eqlin: [0x1 double]
eqnonlin: [8x1 double]
ineqlin: [0x1 double]
ineqnonlin: [0x1 double]

>> lambda.eqnonlin

ans =

-67.1086
-67.1087
-134.2173
1.8204
1.5753
1.5023
1.3640
1.1185

De donde:

1 = -67.1086
2 = -67.1087
3 = -134.2173
1 = 1.8204

15
2 = 1.5753
3 = 1.5023
4 = 1.3640
5 = 1.1185

3 Programacin lineal

Si el problema de optimizacin queda formulado como un problema de programacin lineal,


Matlab [2] tiene un comando para resolver este problema, es linprog.

linprog

Resuelve un problema de programacin lineal.

Las diferentes formas de emplear el comando linprog, son las siguientes:

x = linprog(f,A,b,Aeq,beq)
x = linprog(f,A,b,Aeq,beq,lb,ub)
x = linprog(f,A,b,Aeq,beq,lb,ub,x0)
x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options)
[x,fval] = linprog(...)
[x,fval,exitflag] = linprog(...)
[x,fval,exitflag,output] = linprog(...)
[x,fval,exitflag,output,lambda] = linprog(...)

Descripcin [1]

Argumentos

Los argumentos que toma el comando linprog, son los siguientes:

f vector columna que contiene los coeficientes de la funcin objetivo a minimizar.


x0 punto inicial para la bsqueda de la solucin.
A, b, Aeq, beq, lb, ub, definidas en el problema de optimizacin, corresponden a las
restricciones lineales.
options opciones de los parmetros de optimizacin.

Salidas

Las salidas que entrega el comando linprog, son las siguientes

x vector solucin
fval valor de la funcin objetivo
exitflag condicin de terminacin de fmincon
output estructura de la salida

16
lambda multiplicadores de Lagrange

Mayores detalles, se puede consultar en el manual [1], pginas 4-91 al 4-97.

3.1 Ejemplo 3 Problema de Programacin Lineal

Es un ejemplo de fabricacin de pinturas [3, 4], el modelo de optimizacin queda planteado


como un problema de programacin lineal:

Maximizar Z= 3XE+2XI funcin objetivo


Sujeto a:
XE+2XI 6
2XE+XI 8
-XE+XI 1 restricciones
XI 2
XE; XI 0

El problema tiene cuatro restricciones de desigualdad lineales. La cuarta restriccin, se


puede tratarla como acotamiento de la variable de decisin XE. Por tanto, se tiene solamente
tres restricciones de desigualdad. El problema no tiene restricciones de igualdad lineales.

Se renombran las variables, XE; XI, por X1; X2, el modelo se implement en un archivo
extensin m, prolineal.m, que se lista en el pargrafo siguiente:

prolineal.m

% Programa para resolver un problema de programacin lineal


f=[-3 -2]'
A=[1 2
21
-1 1]
b=[6 8 1]'
Aeq=[]; beq=[];
lb=zeros(2,1)
ub=[100 2]'

[x,fval,exitflag,output,lambda] = linprog(f,A,b,Aeq,beq,lb,ub)

La ejecucin del programa dio la siguiente salida:

prolineal

f=
-3
-2

A=
1 2
17
2 1
-1 1

b=
6
8
1

lb =
0
0

ub =
100
2

Optimization terminated successfully.

x=

3.3333
1.3333

fval =

-12.6667

exitflag =

output =

iterations: 7
cgiterations: 0
algorithm: 'lipsol'

lambda =

ineqlin: [3x1 double]


eqlin: [0x1 double]
upper: [2x1 double]
lower: [2x1 double]

lambda.ineqlin

ans =

18
0.3333
1.3333
0.0000

3.2 Interpretacin de los Resultados

La optimizacin fue exitosa, se utiliz la rutina lipsol; algoritmo para optimizacin de gran
escala. Fueron necesarias siete iteraciones.

Los resultados, son:

XE = 3.3333
XI = 1.3333

fval = -12.6667

El problema original, fue de maximizar, por tanto, el valor de la funcin objetivo es:

Z = 12.6667

Los multiplicadores de Kuhn-Tucker (precios duales), son:

1 = 0.3333
2 = 1.3333
3 = 0.0000

Las dos primeras restricciones, estn activas y el tercer multiplicador indica que la tercera
restriccin est inactiva.

Referencias Bibliogrficas

[1] Thomas Coleman, et al., Optimization Toolbox For Use with Matlab. Users Guide,
Version 2, January, 1999.
[2] Software, Matlab. Versin 7.4.0.287, 2007.
[3] F.S. Hillier, G. J. Lieberman, Una Introduccin a la Investigacin de Operaciones. Mc
Graw-Hill, 3a Edicin, Mxico, 1991.
[4] A. Blanco, Operacin Econmica y Planificacin de Sistemas Elctricos de
Potencia. Apuntes de la asignatura, 2003.

19

También podría gustarte