Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1.1 INTRODUCCIN La investigacin de operaciones (IDO) tiene sus inicios ms considerables a partir de los aos cuarenta, durante la segunda guerra mundial, debido a la necesidad de herramientas para la toma de decisiones en ese mbito. En la actualidad la IDO, se utiliza en cientos de reas de la ingeniera, humanidades, gentica y administracin, entre otros. La investigacin de operaciones (IDO) aspira a determinar el mejor curso de accin (ptimo) de un problema de toma de decisin con la restriccin de tener recursos limitados y/o capacidades limitadas, como pueden ser las limitaciones fsicas de fuentes de suministro y redes de transporte. El trmino de investigacin de operaciones muy a menudo est relacionado con tcnicas matemticas, para representar por medio de un modelo y analizar problemas de decisin. Aunque las matemticas y modelos matemticos representan la base fundamental de la IDO, la labor consiste ms en resolver un problema que en construir y resolver modelos matemticos. Especficamente, los problemas de decisin suele incluir importantes factores intangibles que no son representables directamente en trminos de modelos matemticos. Entre estos factores, el principal es la presencia del elemento humano en la toma de decisiones. Existen problemas en donde la conducta humana ha sido factor decisivo en la toma de decisiones y en donde el modelo matemtico se considera imprctico. Como tcnica para la toma de decisiones, la IDO se debe de considerar como una ciencia y como un arte. El aspecto de la ciencia radica en ofrecer tcnicas y algoritmos matemticos para la solucin de problemas. El aspecto de arte radica en que el xito que se alcanza al plantear y resolver el modelo matemtico, depende de la creatividad y la habilidad de los analistas encargados de la toma de decisiones. Por tanto, la obtencin de datos y conocimientos del sistema a resolver, para la construccin del modelo, su validacin y la implantacin de la solucin obtenida dependern de la habilidad del equipo de IDO. La optimizacin (IDO) tiene gran variedad de aplicaciones en la industria elctrica, tales como los que son mencionados a continuacin. Estudios de planificacin de sistemas elctricos de potencia: - Expansin de redes. - Programacin de mantenimientos. - Evaluacin de alternativas de expansin. En la operacin de sistemas elctricos de potencia: - Estudios de operacin a largo, corto plazo y de operacin en tiempo real. - Coordinacin hidroelctrica. - Asignacin de unidades. - Flujos ptimos. - Diferentes modelos de despacho.
Programacin Lineal
En ambientes de mercado de energa elctrica: - Modelos para ejecutar mercados mayoristas. - Modelos para mercados de reserva y otros servicios auxiliares. - Modelos de subastas parta asignar derechos financieros de transmisin. - Modelos para toma de decisiones de distribuidores, comercializadores. - Modelos para disear subastas de generacin. Como se puede observar, un ingeniero dedicado a la toma de decisiones antes mencionadas, debe de tener amplio conocimiento en lo que respecta a la operacin de los sistemas elctricos, modelacin y anlisis de sistemas elctricos, sus limitaciones fsicas como son limitaciones de generacin, transmisin, estabilidad entre otras. As mismo tener conocimientos de tcnicas de optimizacin para la solucin de problemas en donde el conocimiento del sistema elctrico y su experiencia se puede reflejar grandemente en la simplificacin de los modelos matemticos utilizados en la IDO. La investigacin de operaciones, desde un punto de vista de formulacin de problemas y su solucin, puede clasificarse en trminos de lo que se conoce como programacin lineal o programacin no lineal. El trmino programacin no significa programacin en computadora, sino que ms bien denota programar o establecer una agenda, lo cual est asociado con la toma de decisin en cada etapa en que se resuelve el problema. Entonces, los mtodos de programacin lineal o no lineal son tcnicas matemticas para establecer un orden de operaciones que resuelven sistemticamente problemas muy grandes de variables y restricciones. En particular, la programacin lineal (PL) es un procedimiento de optimizacin que trata de cumplir con un objetivo como maximizar las utilidades de una empresa o la minimizacin de costos, en presencia de restricciones, las cuales son de diversa ndole. El trmino lineal indica que las funciones matemticas que representan al objetivo y a las restricciones son expresiones algebraicas lineales. Por ejemplo, el modelo utilizado para la solucin del mercado mayorista centralizado de energa elctrica es un modelo lineal de asignacin de unidades de manera tal que los precios de la energa sean los menores posibles. Por lo tanto, este modelo se resuelve con algn mtodo que solucione problemas de programacin lineal (PL). Existen varias formas para formular y resolver un problema de PL, desde el mtodo grfico o geomtrico, hasta soluciones algebraicas que dan origen a algoritmos como el de la fuerza bruta, el algoritmo simplex y el simplex de las dos fases, slo por mencionar algunos. La PL busca maximizar o minimizar una funcin objetivo lineal sujeta a restricciones lineales. Las restricciones lineales de un problema de programacin lineal pueden ser de tres tipos: de igualdad, de desigualdad o bien tanto de igualdad como de desigualdad. Aunque el economista sovitico L.V. Kantorovich, en el ao de 1939 y algunos cientficos britnicos, durante la segunda guerra mundial, trabajaron sobre algunos problemas de optimizacin, se puede decir que el problema de programacin lineal fue planteado por primera
Maestra en Ciencias en Ingeniera Elctrica ITM-CFE G. Gutirrez-H. Tovar2013
Programacin Lineal
vez en el ao de 1947 por George B. Dantzing, quien trabaj como consejero matemtico para la Fuerza Area de los Estados Unidos. Algunos aos despus, en 1949, George B. Dantzing public su formulacin para resolver problemas lineales: el Mtodo Simplex. 1.2 CONCEPTOS DE ALGEBRA LINEAL Se define a una matriz como un conjunto de nmeros (reales o complejos) ordenados en arreglos rectangulares. Por ejemplo:
1 x a 2 , 2
4+b 3y
1 , 4
[2
b],
[6]
En el primer caso, se tiene una matriz columna de orden 2x1, enseguida se tiene una matriz de orden 2x3, en tercer caso se tiene una matriz rengln de orden 1x2 y el cuarto caso se refiere a una matriz de orden 1 (o 1x1). A las matrices rengln y columna tambin se les conoce como vector rengln o vector columna, respectivamente. La forma general de una matriz consiste de mn nmeros arreglados en m renglones y n columnas, dando el siguiente arreglo de orden mn:
(1.1)
Definicin 2. Dos matrices pueden sumarse si y slo si tienen el mismo nmero de renglones y el mismo nmero de columnas. En este caso, las matrices A y B de orden mn, al sumarse, resulta la matriz C del mismo orden. Es decir,
para i = 1, , m y j = 1, , n.
o en notacin matricial:
[ ] [ ] [ ]
=C
(1.2)
ITM-CFE
G. Gutirrez-H. Tovar2013
Programacin Lineal
Por ejemplo:
a 1 x + 1 1 1 a x = + 2 y 1 b 1 b + 2 y
Adems, se cumple con las leyes de adicin de los nmeros:
(1.3) (1.4)
( A + B ) + C = A + (B + C )
A+ B=B+ A
Ejemplo:
(1.5) (1.6)
1 2 2 6 1 8 1 2 2 6 3 4 + 1 2 = 2 6 = 1 2 + 3 4
Es natural definir A , cuyos elementos son aij , de modo que:
[ ] [ ]
[ ] [ ] [
Por otra parte, A + A = 2 A , de modo que, en trminos generales, se cumple con lo siguiente:
(1.7)
ITM-CFE
G. Gutirrez-H. Tovar2013
Programacin Lineal
Ejemplo.
1 3 2 x
x 1 4
3 3 3x 3 9 = 1 6 x 12 3
1.2.1 Multiplicacin de Matrices Definicin 3. Una matriz rengln puede multiplicarse por una matriz columna, en ese orden, si y solo si cada una de ellas tiene un nmero de elementos igual. Por ejemplo, si
U = [u1 u 2 L u m ]
v1 v V = 2, M v m
(1.8)
m U = [u1v1 + u 2 v2 + L + u m vm ] = u j v j j =1
Ejemplo. Efectuar el producto matricial siguiente:
(1.9)
3 [1 0 2 ] 2 =[1 ( 3 ) + 0 ( 2 ) + 2 ( 4 ) ]=[11 ] 4 Definicin 4. Dos matrices A y B pueden multiplicarse en el orden AB si y solo si el nmero de columnas de A es igual al nmero de reglones de B. En este caso, el elemento (i,k) del producto AB es el elemento de la matriz de orden 11 obtenida mediante la multiplicacin del i-simo rengln de A por la k-sima columna de B. Si A = aij es de orden mn, y B = bij es de orden np, entonces, las dos matrices pueden multiplicarse como AB y, si el resultado es la matriz C, entonces, C es de orden mp, donde:
[ ]
[ ]
cik = aij b jk
j =1
(1.10)
Ejemplos.
ITM-CFE
G. Gutirrez-H. Tovar2013
Programacin Lineal
a1 Si A= a2
a 1 b1 AB = a 2 b1
a1 b 2 a 2 b2
BA =[ a 1 b1 + a 2 b 2 ]
donde se nota que AB BA. En trminos ms generales, si AB existe, donde el orden de A es mn, y el orden de B es np, entonces, el producto BA no existe, a menos que m = p. Para el caso especial en que AB = BA, se dice que las matrices A y B son permutables. Debido a que, en general, no hay permutatividad en el producto matricial, se dice que en el producto AB, la matriz A premultiplica a la matriz B, mientras que la matriz B postmultiplica a la matriz A. Definicin 5. La transpuesta de la matriz A de orden mn, es una matriz de nm, denotada como A T , obtenida mediante el intercambio de renglones y columnas de A:
a 11 a 12 A T = M a1n
a 21 a 22
M
L a m1 L am2 L
a mn
(1.11)
a2n
Las matrices transpuestas poseen las siguientes propiedades: (a) (b) (c)
( A+ B ) T = A T + B T
( A T )T = A
( AB ) T = B T A T
ITM-CFE
G. Gutirrez-H. Tovar2013
Programacin Lineal
(1.12)
3 x2 = 6 y 2
1 x3 = 2 2
Alternativamente, un conjunto de vectores, por ejemplo, x 1 , x 2 , , x r , se dice que es linealmente dependiente si una combinacin lineal no trivial de los vectores pueden ser forzados a resultar en un vector nulo. Para el caso anterior, debido a que
Maestra en Ciencias en Ingeniera Elctrica ITM-CFE G. Gutirrez-H. Tovar2013
Programacin Lineal
4 x 2 + 3 x 3 x1 = 0 los vectores x 1 , x 2 y x 3 son linealmente dependientes. Una definicin correspondiente indica la situacin opuesta de independencia lineal, cuando un vector x r +1 no puede ser escrito como una combinacin lineal de un conjunto de vectores x 1 , x 2 , , x r . Definicin 9. Un conjunto de vectores es linealmente independiente solamente si una combinacin lineal trivial de los vectores puede resultar en un vector nulo. Por ejemplo, un vector
1 x4 = 2 3
no puede ser escrito como una combinacin lineal de los vectores x 1 y x 2 . Entonces, x 1 , x 2 y x 4 son linealmente independientes. Si las columnas de una matriz A son linealmente independientes, se dice que A tiene un rango completo por columnas. Similarmente, se dice que A tiene rango completo por renglones si sus renglones son linealmente independientes. Si las columnas de A son independientes, la relacin Av = 0 indica un conjunto de ecuaciones lineales que requieren que v = 0, debido a que, por la definicin de independencia lineal, una combinacin lineal no trivial de las columnas no puede ser igual a 0.
1.2.3 Espacios Vectoriales
(1.13)
a i = 1,
i =1
se dice que la
combinacin lineal es convexa. Por ejemplo, con a 1 = 0.2 y a 2 = 0.8, se obtiene la combinacin lineal convexa de los vectores:
ITM-CFE
G. Gutirrez-H. Tovar2013
Programacin Lineal
La significancia de la combinacin lineal convexa es que el vector y termina sobre la lnea uniendo a los vectores x 1 y x 2 . En estos trminos, una combinacin lineal de columnas puede ser expresada como un producto de una matriz por un vector, tal como la expresin que ya se haba escrito anteriormente:
a 11 a 21
a 12 x 1 a 11 x 1 + a 12 x 2 a 11 a 21 y 1 = = x1 + x2 = a 22 x 2 a 21 x 1 + a 22 x 2 a 21 a 22 y 2
(1.14)
donde y 1 y y 2 son elementos del vector y. De una coleccin de todos los posibles vectores de dimensin n, considere cualquier vector x. Entonces, ax tambin es un vector de dimensin n, donde a es un escalar; adems z = x + y es un vector de dimensin n donde y es un vector de la misma dimensin. Similarmente, una combinacin lineal w = a 1 x + a 2 y es un vector de dimensin n. Debido a estas propiedades, se dice que el conjunto de vectores de dimensin n forma un espacio vectorial lineal de dimensin n, designado como R n o E n . Varias combinaciones lineales de dos vectores de dimensin 2 (de orden 2) generan la totalidad del espacio vectorial de dos dimensiones R 2 . Se dice que cualquier par de vectores linealmente independientes u y v generan al espacio vectorial entero R 2 . Alternativamente, considere a los vectores unitarios [1 0] y [0 1] los cuales son linealmente independientes. Una combinacin lineal de estos cubre el espacio vectorial de dos dimensiones. Es decir, cualquier par de vectores linealmente independientes forman una base del espacio vectorial de dos dimensiones. Una extensin anloga para el espacio vectorial de tres dimensiones es obvia. Por ejemplo, los vectores unitarios y linealmente independientes:
1 e1 = 0 , 0 0 e2 = 1 , 0 0 e3 = 0 1
cubren el espacio vectorial de tres dimensiones. Consecuentemente, el espacio de tres dimensiones puede ser generado a partir de estos vectores unitarios que forman una base de R 3 . Por ejemplo, el vector
1 z= 2 2
Programacin Lineal
Definicin 9. Los vectores linealmente independientes que forman una base cubren el espacio vectorial de n dimensiones, al cual se le conoce como espacio Euclidiano de n dimensiones. Los n vectores son de orden n (de n elementos) expresados como una eneada ordenada que representa un punto en el espacio de n dimensiones, o una flecha partiendo del origen hacia dicho punto. Para explicar el concepto de espacio Euclidiano, considere la distancia entre dos vectores a y b. La distancia es una funcin real definida como d = d(a,b) con las siguientes propiedades: 1. Cuando a y b coinciden, d = 0. Es decir, d(a,b) = 0, para a = b. 2. Cuando a y b son distintos, la distancia entre a y b es la misma que aquella entre b y a y son nmeros reales positivos. Esto es, d(a,b) = d(b,a) > 0, para a b. 3. La distancia entre a y b es menor que la distancia entre a y c (un punto distinto de a o b) ms la distancia de c a b. Matemticamente, d(a,b) d(a,c) + d(b,c), para c a,b. Si los vectores x, y son de orden n, con las coordenadas ( x 1 , x 2 , ..., x n ) y ( y 1 , y 2 , ..., y n ), la distancia Euclidiana entre estos vectores est dada por:
d ( x, y) =
( x 1 + y 1 ) 2 + ( x 2 + y 2 ) 2 + ... + ( x n + y n ) 2
(1.15)
siendo este resultado una generalizacin del Teorema de Pitgoras. La distancia Euclidiana es utilizada como una medida de convergencia de algoritmos y mtodos de optimizacin.
1.2.4 La Matriz Inversa
M M M M a n 1 x 1 + a n 2 x 2 +L+ a nn x n = b n
(1.16)
a 11 a 21 M a n1
a 12 a 22 M a2n
L a 1 n x1 L a2 n x2 M M L a nn xn
b1 b2 = M b n
(1.17)
Ax =b
(1.18)
ITM-CFE
G. Gutirrez-H. Tovar2013
10
Programacin Lineal
En el caso de escalares, para resolver ax = b, puede multiplicarse por 1/a a ambos lados de la igualdad, de modo que x = b/a, lo cual puede escribirse como x = a 1 b , donde a 1 es el inverso de a. Con respecto a la forma de obtener la solucin de A x = b, el problema es encontrar una matriz, por ejemplo G, tal que se tenga lo siguiente:
G Ax = Gb
(1.19)
En caso de que el producto matricial GA pueda corresponder a una matriz I de orden n con las caractersticas siguientes:
1 0 I = M 0
0 L 0 1 L 0 M M 0 L 1
entonces, I es una matriz diagonal, puesto que aii 0 y aij = 0 , para ij, e i=1, , n y j =1, , n. Adems, I es una matriz unitaria o identidad, debido a que aii =1 . Definicin 11. Si existe una matriz G tal que GA = I, entonces, G es llamada la inversa de A, la cual se denota como A . Por otra parte, se cumple que AI = IA = A. Entonces, para el conjunto de ecuaciones:
1
GA x = G b
Si G = A , entonces,
1
Ax = A b
I x = A 1 b
y, finalmente,
x=A b
1
(1.20)
De este resultado, se desprende el hecho que la solucin de A x = b puede obtenerse si existe y se encuentra la inversa de A, y se realiza el producto A b = x . Entonces, el problema principal es encontrar A .
1
ITM-CFE
G. Gutirrez-H. Tovar2013
11
Programacin Lineal
Definicin 12. Una matriz (cuadrada) de orden n que tiene inversa, se dice que es una matriz no singular. Por el contrario, si una matriz de orden n no tiene inversa, entonces, se dice que es una matriz singular. Ejemplos. La matriz:
En el primer caso, el determinante de A, denotado como det(A), es diferente de cero: det(A) = 2(4) (1)(-3) = 11 En el segundo caso, det(B) = 2(-6) 4(-3) = -12 + 12 = 0. Este resultado es general para todas las matrices de orden n: (a) Si A tiene inversa, entonces, det(A) 0. (b) Si A no tiene inversa, entonces, det(A) = 0. Por otra parte, se puede demostrar que la matriz inversa de A es nica, lo cual tambin se cumple con un escalar, cuyo inverso es nico.
1.2.5 Solucin de Ecuaciones Algebraicas Lineales
Para resolver estas ecuaciones, la manera natural de hacerlo es despejar de la primera ecuacin a x 1 y substituirla en la segunda y tercera ecuaciones. Posteriormente, de la segunda ecuacin se despeja a x 2 y se substituye en la tercera ecuacin. De este resultado, se puede obtener el valor de x 3 , el cual se substituye en la expresin donde x 2 est despejada, y se calcula el valor de esta. Finalmente, se substituye los valores de x 2 y x 3 en la expresin donde x1 est despejada y, as, se obtiene la solucin del problema.
ITM-CFE
G. Gutirrez-H. Tovar2013
12
Programacin Lineal
Un mtodo anlogo es aplicar operaciones elementales de rengln al conjunto de ecuaciones original, a fin de ir obteniendo una matriz escalonada o triangular superior, de modo que, al final, se obtenga el valor de la ltima incgnita del problema y, a travs de una substitucin regresiva, se ir obteniendo los valores de las incgnitas restantes. Las operaciones elementales de rengln pueden resumirse en dos: multiplicacin del rengln (ecuacin) por un escalar y resta (suma) entre renglones (ecuaciones). A continuacin, se ilustra este proceso.
1.2.6 Eliminacin Gaussiana
El proceso de eliminacin Gaussiana consiste en aplicar operaciones elementales de rengln a las ecuaciones a resolver, a fin de obtener en forma recursiva la solucin del problema. Para el conjunto anterior de tres ecuaciones, se realiza el proceso de eliminacin Gaussiana. Paso 1. Se divide entre a 11 la primera ecuacin:
x1 +
a 12 a 11
x2 +
a 13 a 11
x3 =
b1 a 11
a 21 x 1 + a 22 x 2 + a 23 x 3 = b 2 a 31 x 1 + a 32 x 2 + a 33 x 3 = b 3
Paso 2. A la segunda ecuacin se le resta la primera ecuacin multiplicada por a 21 :
x1 +
a 12 a 11
x2 +
a 13 a 11
x3 =
b1 a 11
a 21 a 13 a 21 a 12 a 21 b 1 a 23 x 3 =b 2 a 22 x2 + a 11 a 11 a 11 a 31 x 1 + a 32 x 2 + a 33 x 3 = b 3
Paso 3. A la tercera ecuacin se le resta la primera ecuacin multiplicada por a 31 :
x1 + a 12 a 11 x2 x2 + a 13 a 11 x3 = b1 a 11
a 21 a 12 a 22 a 11 a 31 a 12 a 32 a 11
a 21 a 13 + a 23 a 11 a 31 a 13 a 33 a x 2 + 11
a 21 b 1 x 3 =b 2 a 11 a 31 b 1 x 3 =b 3 a 11
ITM-CFE
G. Gutirrez-H. Tovar2013
13
Programacin Lineal
x 1 + a 12 x 2 + a 13 x 3 = b 1
(1) (1) (1) (1)
(1)
(1)
(1)
a 22 x 2 + a 23 x 3 = b 2 a 32 x 2 + a 33 x 3 = b 3
(1) (1)
(1)
a 23 a 22
x3 =
b2
(1) (1)
a 22
a 32 x 2 + a 33 x 3 = b 3
(1)
(1)
(1)
(1)
a 23
(1)
b2
(1) (1)
a 22
(1) x 3 =b3
a 32 b 2 a 22
(1)
(1)
(1)
x 2 + a 23 x 3 = b 2 a 33 x 3 = b 3
(2)
(2)
(2)
( 2)
a 33
de modo que se ha encontrado el valor de la tercera incgnita del problema. Con esta incgnita calculada, se substituye en la segunda ecuacin, para obtener x 2 :
ITM-CFE
G. Gutirrez-H. Tovar2013
14
Programacin Lineal
x 2 =b2
(2)
a 23 x 3
(2)
a 12 x 2 a 13 x 3
(1)
(1)
Ejercicio. Encontrar la solucin del problema siguiente, mediante el proceso de eliminacin Gaussiana: 10 x 1 + 6 x 2 3 x 3 = 5 6 x1 + 8 x 2 + 4 x 3 + x 4 = 1
3 x 1 + 4 x 2 + 9 x 3 + 5 x 4 = 0
x 2 + 5 x 3 +10 x 4 =13
Considere primeramente la ecuacin con escalares ax=b. En este caso, se obtiene de manera directa que la solucin es x=b/a, pero de hecho hay tres posibilidades: (a) Si a0, entonces, existe x=b/a, siendo esta la nica solucin de la ecuacin, cualquiera que sea el valor de b, incluyendo b=0. (b) Si a=0, entonces hay dos posibilidades, dependiendo del valor de b: Si b0, entonces, la ecuacin es 0x = b 0, para la cual no existe solucin finita posible. En este caso, se dice que no hay solucin o que el problema es inconsistente, debido a que se tiene en 0 = b 0 una contradiccin. Si b = 0, entonces cualquier nmero de soluciones existe a la ecuacin, debido a que se tiene que 0x = 0.
Estos resultados tambin se aplican al caso de cuando se tiene un conjunto de dos ecuaciones con dos incgnitas. El conjunto de ecuaciones:
x1 + x 2 = 2 x1 x 2 =0 tiene una solucin nica. Por otra parte, el siguiente conjunto de ecuaciones es inconsistente: x1 + x 2 = 2 x 1 + x 2 =1 y, por ltimo, el siguiente conjunto de ecuaciones tiene un nmero infinito de soluciones:
ITM-CFE
G. Gutirrez-H. Tovar2013
15
Programacin Lineal
x1 + x 2 = 2 2 x1 + 2 x 2 = 4 Los dos primeros casos son obvios: en el primero, la solucin nica es x 1 = x 2 =1 , mientras que en el segundo la inconsistencia radica en que los lados izquierdos de las ecuaciones son idnticos, de modo que los lados derechos tambin deben serlo, pero no es el caso, por lo cual hay inconsistencia. La manera de identificar de que el conjunto de ecuaciones tiene un nmero infinito de soluciones es ejecutando el proceso de eliminacin Gaussiana. La primera ecuacin est puesta de tal forma que no hay que ejecutar operacin alguna sobre ella: x1 + x 2 = 2 La segunda ecuacin se modifica restndole la primera multiplicada por 2: 2 x1 + 2 x 2 =4 2 x1 +2 x 2 =4 0 x1 +0 x 2 = 0 de donde se observa que alguna de las dos variables puede tomar cualquier valor, de modo que la igualdad se sigue cumpliendo con la segunda ecuacin. Sea x2 = k , de modo que, substituyendo en la primera ecuacin: x 1 = 2 k Definicin 13. Un conjunto de ecuaciones algebraicas lineales se dice que es homogneo, cuando todos sus trminos independientes b i = 0 , para i = 1, ..., n. En este caso, se tiene como solucin
nica la trivial, es decir que x i = 0 , para i = 1, .., n, o se tiene un nmero infinito de soluciones. Ejemplo del primer caso es el conjunto de ecuaciones homogneo siguiente:
x1 + x 2 =0 x1 x 2 =0
donde se observa que las igualdades se cumplen de manera simultnea nicamente cuando x 1 = x 2 = 0 . Un ejemplo del segundo caso es el conjunto de ecuaciones:
x1 + x 2 =0
2 x1 + 2 x 2 =0 de donde se observa que, al aplicar el mtodo de eliminacin Gaussiana, se tiene las ecuaciones:
ITM-CFE
G. Gutirrez-H. Tovar2013
16
Programacin Lineal
x1 + x 2 = 0
0 x 2 =0 notndose que x 2 puede tomar cualquier valor y x 1 se calcular con la relacin:
x1 = x 2
Sea el conjunto de ecuaciones siguiente:
x1 + 2 x 2 5 x 3 = 2
donde la ltima columna corresponde a los trminos independientes de las ecuaciones. Al aplicar operaciones elementales de rengln, esta matriz se modifica a la siguiente:
1 2 5 2 0 1 2 0 0 0 0 0
de modo que este es un conjunto de ecuaciones con un nmero infinito de soluciones, debido a que la variable x3 puede tomar cualquier valor.
ITM-CFE
G. Gutirrez-H. Tovar2013
17
Programacin Lineal
Supngase que A y B son matrices cuadradas para las cuales existe una matriz T invertible, tal que B =T 1 AT . Entonces, B se dice similar a A o que B es obtenida de A. Por ejemplo, en el marco de referencia trifsico, el modelo matricial que relaciona voltajes y corrientes es:
Vabc = Z abc I abc
(1.21)
El cual puede trasladarse al marco de referencia de las componentes simtricas, aplicando la transformacin lineal siguiente:
(1.22)
(1.23)
De acuerdo a los conceptos anteriores, se dice que Z 012 es similar a Z abc . Las propiedades que tienen estas matrices son las siguientes: (a) Las trazas de ambas matrices son iguales, es decir, tr( Z abc ) = tr( Z 012 ). (b) Los determinantes de ambas matrices son iguales, esto es, Det( Z abc ) = Det( Z 012 ). Entonces, el problema para pasar de un marco de referencia a otro consiste en encontrar la matriz de transformacin, de modo que se obtenga alguna ventaja con respecto al marco de referencia original, ya sea en cuestin de conceptos o de simplificacin de la resolucin de problemas de redes elctricas.
ITM-CFE
G. Gutirrez-H. Tovar2013
18
Programacin Lineal
(1.22)
o viceversa, y tambin se conoce que los valores propios o eigenvalores de ambas matrices sern los mismos. Por esta razn, se dice que A y B son semejantes y que (1.22) se conoce como transformacin de similaridad o semejanza. Si la matriz A, por ejemplo, es de la forma diagonal:
a 11 0 A= M 0 0 a 22 M 0 0 L 0 O M L a nn L
a 11 U A =
0 M 0
L L O
0 0 M
a 22
M 0
L a nn
ITM-CFE
G. Gutirrez-H. Tovar2013
19
Programacin Lineal
Ahora bien, si se requiere substituir una red trifsica por un sistema equivalente de redes desacopladas, entonces, se deber obtener una matriz completamente diagonal, a partir de una matriz original Z abc , utilizando la transformacin lineal (1.22). Esto obliga a pensar en obtener una matriz de transformacin T de modo que la matriz semejante a Z abc , llamada matriz de componentes simtricas, denotada como Z 012 , sea completamente diagonal. En trminos generales, un circuito trifsico puede representarse matricialmente como: z aa Z abc = z ba z ca z ab z bb z cb z ac z bc z cc
donde los elementos no diagonales representan los acoplamientos mutuos entre fases y los diagonales son las impedancias propias de cada una de las fases. Si se supone que el circuito trifsico est perfectamente balanceado, entonces Z abc se simplifica a la matriz:
Z Z abc = M M
M Z M
M M Z
Z U Z abc = M
M
M M =0
Z
M
Al desarrollar este determinante e igualarlo a cero, se obtiene el polinomio caracterstico correspondiente y cuyas soluciones son:
1 = Z + 2M 2 =Z M 3 =Z M
Para determinar la matriz de transformacin lineal, Ts, debe calcularse los eigenvectores o vectores propios, los cuales representarn cada columna de la misma. Cada vector propio es la solucin de un sistema de ecuaciones homogneo [iU Z abc ]=0, donde U es la matriz identidad del mismo orden que Z abc . En este caso, se tienen tres valores propios, de modo que se resolver tres sistemas de ecuaciones de este tipo. (1.23)
ITM-CFE
G. Gutirrez-H. Tovar2013
20
Programacin Lineal
Z + 2 M Z M M 2M M M M
2M
M Z + 2 M Z M M x 11 M x 21 2M x 31
x 11 M x 21 Z +2 M Z x 31 0 =0 0
0 = 0 0
2 1 1 x 11 1 2 1 x 21 1 1 2 x 31
0 = 0 0
Al aplicar operaciones elementales de rengln, se reducir este conjunto de ecuaciones a uno triangular superior:
2 1 1 x 11 0 1 1 x 21 0 0 0 x 31
0 = 0 0
el cual tiene un nmero infinito de soluciones, incluyendo la trivial, donde cada una cumple que x11 = x21 = x31, de donde se obtiene que este vector propio ser:
x 11 k x 21 = k x 31 k
y se podr observar que un caso particular es el siguiente:
x 11 1 x 21 = 1 x 31 1
Repitiendo el proceso para 2 = Z M , se obtiene el conjunto de ecuaciones homogneo:
ITM-CFE
G. Gutirrez-H. Tovar2013
21
Programacin Lineal
Z M Z M M M M M M M M
M Z M Z M
x 12 M x 22 Z M Z x 32 0 = 0 0
0 = 0 0
M x 12 M x 22 M x 32
Dividiendo entre M y aplicando operaciones elementales de rengln, el conjunto de ecuaciones anterior se reduce a:
1 1 1 x 12 0 0 0 x 22 0 0 0 x 32
0 =0 0
El conjunto de ecuaciones anterior tiene un nmero infinito de soluciones, donde cada una de ellas estar definida por una combinacin que cumpla con la igualdad x12 + x 22 + x 32 = 0 . Por ejemplo, este vector propio podra ser:
x 12 x 22 x 32
1 1 1 o = 1/ 4 = 1/ 2 = 1 120 o 3/ 4 1/ 2 1 240
1 o = 1 240 o 1 120
, etc.
Debe mencionarse que una caracterstica que debe tener la matriz de transformacin es que sea invertible, de modo que los vectores propios que la conforman deben ser linealmente independientes. Normalmente, para que esto ocurra, los valores propios deben ser distintos entre s. Si esto no se cumple, no ser posible obtener una matriz semejante diagonal. Sin embargo, en este caso en particular, aunque 2 = 3, y debido a que se tiene dos grados de libertad para seleccionar valores, es posible definir dos vectores propios linealmente independientes. Para el modelo trifsico balanceado, se define la matriz de transformacin lineal:
1 1 Ts = 1 a 2 1 a 1 a a2
(1.24)
ITM-CFE
G. Gutirrez-H. Tovar2013
22
Programacin Lineal
1 1 1 Ts 1 = 1 a 3 2 1 a
1 a2 a
(1.25)
Anteriormente, se mencion que el objetivo era encontrar una matriz diagonal representativa del sistema trifsico original mediante tres circuitos monofsicos independientes o desacoplados entre s. Entonces, puede formalmente plantearse el problema de pasar de un sistema de coordenadas de fase (abc) al sistema de coordenadas de secuencia (012). Para esto, se parte de la relacin lineal: Vabc = Z abc I abc a la cual se le aplica la regla de transformacin lineal, usando como matriz de transformacin a la matriz de componentes simtricas Ts: Ts V012 = Z abc Ts I 012 Premultiplicando ambos lados de la expresin anterior por Ts 1 : V012 = Ts 1 Z abc Ts I 012 y en trminos de las coordenadas de secuencia:
Es fcilmente demostrable que realizando el producto matricial anterior, se obtiene una matriz diagonal de la forma:
Z + 2M Z 012 =
Z M
Z M
(1.27)
donde se nota que los elementos diagonales son exactamente los valores propios de Z abc . La matriz (1.27) representar tres circuitos monofsicos desacoplados electromagnticamente entre s. Adicionalmente, debe hacerse notar que las trazas y los determinantes de Z abc y Z 012 son iguales entre s.
ITM-CFE
G. Gutirrez-H. Tovar2013
23
Programacin Lineal
En el caso de matrices simtricas, sus valores propios sern reales. Esta propiedad es importante, ya que permite analizar muchos problemas asociados a este tipo de matrices en forma relativamente ms simple. En el caso de este curso, la aplicacin del concepto de valores propios se observar en el captulo asociado a la programacin no lineal.
Definicin de matrices en trminos de sus valores propios
Definicin 14. En trminos de los valores propios que tiene un matriz, esta puede definirse de la manera siguiente: (a) (b) (c) (d) Una matriz A de orden n es definida positiva si i > 0 , para i = 1, , n. Una matriz A de orden n es definida semi-positiva si i 0 , para i = 1, , n. Una matriz A de orden n es definida negativa si i < 0 , para i = 1, , n. Una matriz A de orden n es definida semi-negativa si i 0 , para i = 1, , n.
Posteriormente, se habr de observar que estas propiedades son importantes para las formulaciones de problemas de programacin no lineal.
1.3 FORMULACIN GRFICA DEL PROBLEMA DE PROGRAMACION LINEAL
Existen varias maneras para formular y resolver un problema de PL, desde el mtodo grfico o geomtrico, hasta soluciones algebraicas que dan origen a algoritmos como el de la fuerza bruta, el algoritmo simplex y el simplex de las dos fases, slo por mencionar algunos. La PL busca maximizar o minimizar una funcin objetivo lineal sujeta a restricciones lineales. Las restricciones lineales de un problema de programacin lineal pueden ser de tres tipos: de igualdad, de desigualdad o bien de ambos tipos. Para problemas de PL grandes ms de tres dimensiones y varias restricciones, una de las tcnicas menos eficientes para plantear y resolver el problema es la formulacin grfica. Sin embargo, esta formulacin es til para establecer las bases que explican cmo solucionar dichos problemas. En esta seccin, se presenta tambin las bases matemticas para poder comprender los problemas de PL. El modelo utilizado para la solucin del mercado mayorista centralizado de energa elctrica es un modelo lineal de asignacin de unidades. Por lo tanto, este modelo se resuelve con algn mtodo que solucione problemas de programacin lineal (PL). Cualquier problema de PL puede ser representado de forma cannica utilizando notacin matricial. Se tiene un conjunto de variables x de tal forma que minimicen la siguiente funcin objetivo lineal: Z = c1 x1 + c 2 x 2 + L + c n x n (1.28)
ITM-CFE
G. Gutirrez-H. Tovar2013
24
Programacin Lineal
(1.29)
[c1
Sujeto a:
c2
(1.30)
a11 a 21 M a m1
a12 a 22 M am2
L a1n x1 b1 L a2n x 2 b2 M M M M L a mn x n bm x1 0 x 0 2 M M xn 0
(1.31)
(1.32)
Estas ecuaciones matriciales pueden ser escritas en forma abreviada de la manera siguiente: Minimizar: Sujeto a: cT x (1.33) (1.34) (1.35)
Axb x0
donde el vector columna c de dimensin n se llama vector de costos; el vector columna x de dimensin n se llama vector de variables; la matriz A, de dimensin m filas de restricciones por n columnas de variables se llama matriz de restricciones; y, por ltimo, el vector columna b de dimensin m filas de restricciones se llama vector de recursos. El superndice T en (1.33) indica transpuesto.
ITM-CFE
G. Gutirrez-H. Tovar2013
25
Programacin Lineal
Un problema de PL de dos variables puede representarse grficamente en dos dimensiones si fueran tres variables sera en el espacio de tres dimensiones. Para el caso de dos dimensiones, se grafica cada una de las restricciones en el plano bidimensional, lo cual define una regin factible cualquier punto dentro o en la periferia de esta regin puede llegar a ser una solucin aunque no sea ptima y, a su vez, tambin se grafica la funcin objetivo o funcin de costos; al estar el problema definido en el espacio bidimensional, la funcin objetivo es una recta, si fueran tres dimensiones, sera un plano. Si el problema es minimizar (maximizar) la funcin de costos, el punto ptimo se encuentra avanzando en sentido contrario a donde crece la funcin de costos (beneficios) y de manera perpendicular a esta. Cada punto donde se interceptan un nmero igual de semiespacios rectas en el espacio de dos dimensiones o planos en el espacio de tres dimensiones y as sucesivamente al nmero de variables del problema dos variables en el espacio de dos dimensiones o tres variables en el espacio de tres dimensiones y as sucesivamente se llama a este punto un punto extremo. Si se interceptan ms semiespacios que variables se llama a este punto un punto extremo degenerado. A un conjunto de intersecciones de semiespacios se le llama conjunto polidrico que en caso de ser acotado se le llama politopo. Para que la solucin al problema sea ptima, esta tiene que ser el punto extremo ms alejado del vector de costos o beneficios, pero que siga dentro de la regin factible1. Antes de observar las situaciones posibles que pueden presentarse cuando se formula un problema de programacin lineal, se presenta un ejemplo de aplicacin del mtodo grfico.
Sujeto a: 3 x 1 + 2 x 2 32 x 1 + 4 x 2 34 x1 0 x2 0
1
ITM-CFE
G. Gutirrez-H. Tovar2013
26
Programacin Lineal
La restriccin (e.1) puede ser graficada como sigue: Se encuentra dos puntos en el eje cartesiano, correspondientes a los caso particulares en los que x 1 = 0 y x 2 = 0, de manera que: 3 x 1 + 2 x 2 = 32 3 ( 0 ) + 2 x 2 = 32 x 2 = 16 unidades del producto B. 3 x 1 + 2 x 2 = 32 3 x 1 + 2 ( 0 ) = 32 x 1 = 10.6666 unidades del producto A. Entonces, los puntos (0,16) y (10.666666,0) son unidos a travs de una lnea recta, tal como es mostrado en la Figura 1.1, la cual define un rea triangular delimitada por los puntos 0, a y b. La restriccin de desigualdad (e.1) indica que el rea 0ab est sobre o a la izquierda de la lnea ab. Es decir, desde el punto de vista grfico, el rea en amarillo representa la igualdad, mientras que las lneas en negro que la delimitan representan a la desigualdad de (e.1) sobre los valores que toman x 1 y x 2 definiendo puntos sobre la recta ab. x2
16 a (0,16) 14 12 10 8 6 4 2 0 4 8 b (10.6666, 0) 12 16 20 24 28 32
3 x 1 + 2 x 2 32
x1
Suponga ahora que se puede definir cualesquiera combinaciones de los productos A y B, las cuales estn representadas grficamente en la Figura 1.2, por los puntos (10,10), (2,6) y (8,4). Cualquier combinacin de unidades de A y B que se site sobre la recta ab, har uso de las 32 horas disponibles en el departamento 1. Por ejemplo, si se produce 8 unidades del producto A y 4 unidades de B, se tendr 8(3 horas) + 4(2 horas) = 32 horas. Cualquier punto a la izquierda de la recta ab resultar en capacidad no utilizada, es decir, horas en las cuales en que el departamento 1 no estar trabajando. Por ejemplo, si se produce 2 unidades de A y 6 de B, definido por el punto
ITM-CFE
G. Gutirrez-H. Tovar2013
27
Programacin Lineal
(2,6), se tendr 2(3 horas) + 6(2 horas) = 18 horas, de modo que habr 32 18 = 14 horas sin utilizar la capacidad del departamento 1. x2
16 a (0,16) 14 12 10 8 6 4 2 0 4 8 (2,6) (8,4) b (10.6666, 0) 12 16 20 24 28 32 (10,10)
x1
Por otra parte, para producir 10 unidades de los productos A y B, punto (10,10), se requiere de 10(3 horas) + 10(2 horas) = 50 horas, lo cual es imposible debido a que el departamento 1 tiene disponibles 32 horas nicamente. Una explicacin similar es aplicada para la grfica de la segunda restriccin para el departamento 2, representada por la desigualdad x 1 + 4 x 2 34 . Usando el mismo procedimiento, se dibuja el rea correspondiente, donde los puntos que la delimitan son: x 1 + 4 x 2 = 34 ( 0 ) + 4 x 2 = 34 x 2 = 8.5 unidades del producto B. Primer punto: (0, 8.5) x 1 + 4 x 2 = 34 x 1 + 4 ( 0 ) = 34 x 1 =34 unidades del producto A. Segundo punto: (34, 0) La grfica correspondiente a esta restriccin es mostrada en la Figura 1.3, donde los puntos e y f corresponden al primero y al segundo puntos definidos arriba.
ITM-CFE
G. Gutirrez-H. Tovar2013
28
Programacin Lineal
x2
16 14 12 10 8 6 4 2 0 4 8 12 16 20 24 28 f (34, 0) 32 34 e (0, 8.5)
x 1 + 4 x 2 34
x1
Ahora, en la Figura 1.4 es presentada la grfica en la cual se incluye las restricciones (1) y (2), de manera que ahora la regin factible es la interseccin de las reas definidas en las figuras 1.1 y 1.3, la cual est delimitada por los puntos 0edb. x2
16 a (0, 16) 14 12 10 8 6 4 2 0 4 8 b (8.6666, 0) 12 16 20 24 28 f (34, 0) 32 34 e (0,8.5) d
Departamento 1
Departamento 2
x1
Para ilustrar la forma en que se puede encontrar el ptimo de la funcin objetivo, considere los puntos presentados en la Figura 1.5.
ITM-CFE
G. Gutirrez-H. Tovar2013
29
Programacin Lineal
x2
16 a 14 12 10 8 6 4 2 0 4 (4, 3) b 8 12 (2, 10) e d
(14, 2) 16 20 24 28 32 34
x1
Ejemplo (a). Cuatro unidades del producto A y tres del producto B Departamento 1: 3 x 1 + 2 x 2 = 32 3(4) + 2(3) = 18 horas requeridas. x 1 + 4 x 2 = 34 1(4) + 4(3) = 16 horas requeridas.
Departamento 2:
El tiempo requerido para fabricar 4 unidades del producto A y 3 del producto B se sita dentro del tiempo disponible en ambos departamentos. Ejemplo (b). Dos unidades del producto A y 10 del producto B Departamento 1: Departamento 2: 3 x 1 + 2 x 2 = 32 3(2) + 2(10) = 26 horas requeridas.
x 1 + 4 x 2 = 34 1(2) + 4(10) = 42 horas requeridas.
En este caso, se encuentra que el tiempo requerido, para hacer 2 unidades de A y 10 de B, est dentro del tiempo disponible en el departamento 1, pero excede el tiempo disponible en el departamento 2. Por tanto, esta combinacin no es factible, debido a que cae fuera del rea de las soluciones factibles. Esto ocurrir tambin con la combinacin definida por el punto (14, 2). Entonces, de los ejemplos anteriores, puede observarse que ahora se deber encontrar una combinacin tal que se encuentre dentro de la regin factible marcada por 0edb. Sin embargo, ahora se puede obtener una combinacin que se encuentre sobre el segmento de recta ed, o bien dentro del segmento de recta db. De cualquier forma, entonces, la pregunta es cul combinacin ser la que maximice el beneficio (ptima)?
ITM-CFE
G. Gutirrez-H. Tovar2013
30
Programacin Lineal
Por razones que se habrn de explicar posteriormente, para cualquier problema de programacin lineal, la solucin grfica para encontrar el punto ptimo ser encontrada en uno de los puntos extremos del rea de la regin de soluciones factibles, es decir, el rea 0edb. Para este problema, ya se tiene localizados los puntos (0, 0), (0, 8.5) y (10.6666, 0). Entonces, se procede a calcular las coordenadas del punto d. Para esto, se plantea el conjunto de ecuaciones algebraicas lineales siguiente y se resuelve: 3 x 1 + 2 x 2 = 32 x 1 + 4 x 2 = 34 a) Se multiplica la primera ecuacin por (2): (2)( 3 x 1 + 2 x 2 = 32 ) = 6 x 1 4 x 2 = 64 x 1 + 4 x 2 = 34 Se le suma la segunda ecuacin: 5x1 x1 = 30 =6
b) Ahora, se substituye este resultado en la segunda ecuacin: x 1 + 4 x 2 = 34 6 + 4 x 2 = 34 4 x 2 = 28 x2 = 7 Entonces, el punto d est definido como (6,7). Ahora, con este resultado, se puede calcular el valor de la funcin objetivo para cada uno de los puntos extremos de la regin factible de soluciones, es decir, para P = 5 x 1 + 6 x 2 . Punto 0 Punto e Punto b Punto d (0, 0): (0, 8.5): (10.6666, 0): (6,7): 5(0) + 6(0) = 0. 5(0) + 6(8.5) = 51. 5(10.6666) + 6(0) = 53.3333 5(6) + 6(7) = 72.
Como puede observarse, la combinacin de producir 6 unidades de A y 7 unidades de B conduce a obtener el mximo valor de la funcin objetivo que es $72. Puede observarse, adems, de que en este caso, toda la capacidad de horas disponibles de los departamentos es utilizada: Departamento 1: Departamento 2: 3 x 1 + 2 x 2 = 32 3(6) + 2(7) = 32 horas requeridas. x 1 + 4 x 2 = 34 1(6) + 4(7) = 34 horas requeridas.
ITM-CFE
G. Gutirrez-H. Tovar2013
31
Programacin Lineal
Ahora, se puede analizar el hecho de porqu la solucin con el punto d (6,7) es la ptima. Para esto, se puede suponer valores menores a los de la solucin, de manera que se grafica la funcin de la funcin objetivo para cada valor dado y considerando que no se debe violar restriccin alguna dentro de la regin factible. Por ejemplo, para un valor de P = 30, se tiene:
30 = 5 x 1 + 6 x 2
Si se supone x 1 = 0, entonces, x 2 = 30/6 = 5. Por otro lado, si se supone x 2 = 0, entonces, x 1 = 30/5 = 6. Con este resultado se tiene dos puntos (0,5) y (6,0) con los cuales se puede graficar la recta para cuando P = 30, tal como lo muestra la Figura 1.6, donde se observa que P puede tener este valor para diferentes valores de x 1 y x 2 que se desplacen sobre esta recta. x2
16 14 12 10 8 6 4 2 0 4 8 b 12 16 20 24 28 32 34 e d
P = 72 P = 51 P = 40 P = 30 x1
Figura 1.6 Regin factible de soluciones con la funcin objetivo evaluada en P = 30, 40, 51 y 72.
Ahora, para P = 40, se tiene los puntos (0,6.6666) y (8,0), tambin mostrados en la Figura 1.6. Continuando de esta forma, con x 1 = 0 y x 2 = 8.5 (punto e), el valor de P = 51, de manera que cuando x 2 = 0, x 1 = 51/5 = 10.2. As, se puede repetir este proceso de observar el valor de P en forma creciente, hasta llegar al punto extremo d, donde P = 72. El resultado anterior puede ser generalizado de acuerdo a la Figura 1.7, donde se presenta el caso de una regin factible para una funcin objetivo a minimizar. Note que ahora se tiene el valor ptimo de la funcin objetivo localizado en el punto ms alejado del vector de costos, dentro de la regin factible. Este vector de costos tiene su origen en el valor de x 1 = x 2 = 0.
ITM-CFE
G. Gutirrez-H. Tovar2013
32
Programacin Lineal
Figura 1.7 Solucin Grfica para el caso de minimizar una funcin objetivo.
La solucin grfica da informacin en cuanto a las diversas soluciones que se pueden presentar al resolver problemas de PL. Existen cuatro tipos de soluciones: 1) solucin ptima nica y finita, 2) mltiples soluciones ptimas y finitas, 3) solucin ptima no acotada y, 4) solucin infactible. Estas son descritas enseguida. 1. Solucin ptima nica y finita: Sin importar que el conjunto polidrico est acotado o no, slo un punto extremo es el que da la solucin, como se ilustra en la Figura 1.8.
ITM-CFE
G. Gutirrez-H. Tovar2013
33
Programacin Lineal
2. Mltiples soluciones ptimas y finitas: Igualmente, sin importar que el conjunto polidrico sea politopo o no, varios puntos, extremos o no, cumplen con la solucin. Esto es, cualquiera de estos puntos da el mismo valor de la funcin objetivo. Otra manera de definir este caso es cuando una de las lneas de isocosto mismo costo coincide con una de las restricciones. Esto se ilustra en la Figura 1.9.
3. Solucin ptima no acotada: En este caso, el conjunto polidrico no tiene restriccin que lo acote. Entonces, puede presentarse la situacin de que las lneas de isocosto avancen en direccin a la regin no acotada; por tanto, pueden desplazarse de manera infinita en direccin opuesta y perpendicular al vector de costos. La Figura 1.10 muestra un ejemplo.
ITM-CFE
G. Gutirrez-H. Tovar2013
34
Programacin Lineal
4. Solucin infactible: Aqu, el conjunto de restricciones es inconsistente, es decir, no forman ninguna regin factible; por lo tanto, no tiene solucin el problema. En la Figura 1.11 se ilustra este caso.
Para terminar con la formulacin grfica, se presenta un ejemplo numrico donde se puede observar los pasos antes descritos, obtenindose una solucin nica finita y acotada.
ITM-CFE
G. Gutirrez-H. Tovar2013
35
Programacin Lineal
Como se observa en esta figura, se grafica a las dos restricciones del problema, as como a las dos restricciones de positividad de las variables; tambin, se dibuja el vector de costos y se avanza perpendicularmente en sentido contrario al que crece dicho vector, hasta que se encontr el punto extremo ms alejado. Si se sustituye el punto ptimo en la funcin objetivo, se obtiene el mnimo valor posible que cumple todas las restricciones, es decir, 3x1 5 x 2 3(4) 5(0) = 12 Para demostrarlo, se sustituye el punto extremo que se toca justo antes de llegar al punto extremo 8 10 y x2 = : ptimo, con x1 = 7 7
74 8 10 3 5 = = 10.5714 7 7 7 10.5714 > 12 Este resultado muestra que el valor de la funcin objetivo es mayor en este punto. Por lo tanto, la solucin es Z*= 12, en el punto ptimo x*= [4,0]. Despus de ilustrar el mtodo grfico para la solucin de problemas de programacin lineal, ahora se procede a hacer el planteamiento de la formulacin algebraica del mtodo simplex.
ITM-CFE
G. Gutirrez-H. Tovar2013
36
Programacin Lineal
Forma Estndar
cT x Ax b x0 O bien: cT x Ax b x 0
cT x Ax + S = b x, S 0 (1.36) cT x Ax S = b x, S 0
Si en un problema se tiene presentes restricciones de desigualdad, tanto con como con , se cambia a restricciones de igualdad restando o sumando variables de holgura, respectivamente. Estas variables de holgura (S, en ingls slack) estn sujetas a las restricciones de positividad. Como se plante anteriormente, ahora se procede a formular el concepto de punto extremo de manera algebraica. Ntese que se parte con la forma estndar. Se tiene las siguientes particiones matriciales:
ITM-CFE
G. Gutirrez-H. Tovar2013
37
Programacin Lineal
A m , n = [ B m , m N m , nm
x Bm , 1 x n , 1 = x Nn m , 1
(1.37)
(1.38)
A x =b
Substituyendo las ecuaciones (1.37) y (1.38) en (1.39):
(1.39)
[B
m, m
m , nm
] xx
Bm , 1
Nn m , 1
= b
(1.40)
o tambin,
B xB + N xN = b
Suponiendo que la matriz B es invertible y que x N = 0 , la ecuacin (1.41) se simplifica a:
(1.41)
B xB = b
y de aqu, se obtiene la solucin:
x B = B 1 b
(1.42)
(1.43)
Si el resultado de (1.43) es que x B 0 , entonces, x es una solucin bsica factible. Para demostrar que las soluciones bsicas factibles son precisamente los puntos extremos del problema, se resolver de nuevo el Ejemplo 1.2.
x1 + 5 x2 6 x1 , x2 0
En la Figura 1.13, aparece la grfica del problema, as como los puntos extremos.
ITM-CFE
G. Gutirrez-H. Tovar2013
38
Programacin Lineal
Al transformar el problema de forma cannica a forma estndar, mediante la adicin de las variables de holgura x3 y x4, se tiene: Minimizar: 3x1 5 x2 Sujeto a:
x1 + 2 x2 + x3 = 4 x1 + 5 x2 + x4 = 6 x1, x2 , x3 , x4 0
La matriz de restricciones y el vector de recursos son:
ITM-CFE
G. Gutirrez-H. Tovar2013
39
Programacin Lineal
(1.47)
x2 0 xN = = x3 0
(1.48)
(1.49)
x1 0 xN = = x4 0
(1.50)
x2 2 1 xB = = B b = , 4 x4 5) B = [a3 1 0 a4 ] = 0 1 x3 4 1 xB = = B b = , 6 x4
(1.54)
De las ecuaciones (1.46), (1.48), (1.50) y (1.54), se observa que los puntos 1, 2, 3 y 5 son mayores que cero, por lo que son una solucin bsica factible. De la ecuacin (1.52) se observa que el punto 4 no cumple con esta condicin, de modo que no es una solucin bsica factible. Estos puntos pertenecen al espacio euclidiano de 4 dimensiones E4 puesto que se agregaron dos variables de holgura. Si estos puntos se proyectan al espacio E2, se obtiene los siguientes puntos: empezando desde el origen y en sentido de las manecillas del reloj, [0,0], [0,6/5], [8/7,10/7] y [4,0]. Con esto, queda demostrado que las soluciones que son bsicas factibles son los puntos extremos del conjunto polidrico. El mtodo de la fuerza bruta para resolver el problema de PL, tiene que recorrer todos los puntos extremos del conjunto polidrico, para as escoger el que d el menor valor de la funcin objetivo; sin embargo, este mtodo es inadecuado e ineficiente. El mtodo Simplex, a diferencia del mtodo de la fuerza bruta, reconoce la optimalidad de un punto extremo solucin dado,
Maestra en Ciencias en Ingeniera Elctrica ITM-CFE G. Gutirrez-H. Tovar2013
40
Programacin Lineal
con base a consideraciones locales, sin tener que enumerar (globalmente) todos los puntos extremos o las soluciones bsicas factibles, lo cual lo hace ms eficiente. Es decir, el mtodo Simplex evala de manera individual cada punto y puede decidir si es el ptimo o no, sin necesidad de evaluar los puntos restantes. Si encuentra que el punto actual no es ptimo, se mueve al prximo punto extremo y lo examina. La ruta que recorre al pasar por los puntos extremos se llama ruta Simplex. Puesto que el mtodo Simplex es un proceso iterativo, necesita un punto de arranque, es decir, escoger variables base y variables no base. A continuacin, se describe el algoritmo del mtodo Simplex. 1. Formular el problema de PL en forma estndar. 2. Especificar variables base y no base de arranque. 3. Obtener la solucin bsica factible con las variables base y no base actuales mediante:
x B = B 1 b
(1.55)
= cT B 1 B
(1.56)
5. Calcular costos reducidos, los cuales permiten conocer qu variable entrar a la base en el proceso de moverse a la siguiente solucin bsica factible, o bien determinar si se ha encontrado un ptimo mediante:
cr = N cT N
6. Probar lo siguiente:
(1.57)
a. Si todos los elementos en los costos reducidos son 0, se termina el proceso, se ha obtenido el ptimo. b. Si por lo menos uno de los elementos de los costos reducidos es 0, esto es suficiente para que el problema tenga mltiples soluciones. Se contina con el proceso slo en caso que no se haya cumplido ya el inciso a). c. Se escoge de los elementos del costo reducido como variable para entrar a la base al que tenga el valor ms positivo. Se contina con el proceso. Si en algn momento del proceso resulta que en el vector de costos reducidos todas las variables tienen iguales valores, o bien dos o ms tienen el mismo valor, pero que este sea el ms positivo, se toma cualquier variable de las que tengan el valor ms positivo. 7. Evaluar la siguiente ecuacin: Y = B 1 N (1.58)
8. A la solucin bsica factible calculada en el punto 3, se le resta la columna de Y del paso 7 correspondiente a la variable que entrar a la base. Se selecciona como variable a salir de la base a la que se acerque ms rpido a cero. Si en alguna parte de este proceso, el vector de la matriz Y, que corresponde a la variable que va a entrar a la base, contiene slo elementos 0, entonces, el problema tiene una solucin no acotada. Se termina el proceso. 9. Hasta este punto, se ha obtenido una nueva base y no base. Volver al paso 3.
ITM-CFE
G. Gutirrez-H. Tovar2013
41
Programacin Lineal
A continuacin, se resuelve algunos problemas de PL paso a paso, a fin de ilustrar todas las posibles soluciones descritas en el algoritmo Simplex descrito anteriormente.
x1 + x 2 + x 4 = 1 x1 , x 2 , x 3 , x 4 0 B = [ x1 , x 2 ] N = [ x3 , x4 ]
En este caso, el problema ya se presenta en forma estndar, por lo que se contina y se resuelve directamente sin hacer ninguna modificacin:
3 4 1 2 1 0 1 A= , c = , b = 1 1 1 0 1 0 0 2) x B = [ x 1 , x 2 ], x N = [ x 3 , x 4 ]
3) Iteracin 1:
xB = B
1 1 2 b= 1 1
4 0.6667 = 1 1.6667
4) =
cT B
1 1 2 = [ 3 1 ] = [ 0.6667 2.3333 ] 1 1
5)
ITM-CFE
G. Gutirrez-H. Tovar2013
42
Programacin Lineal
xB = B
4 4 = 1 5
4) =
cT B
1 1 0 = [ 3 0 ] = [ 3 0 ] 1 1
1 2 5) c r = N c T [ 3 0 ] = [ 0 1 ] = [ 3 7 ] N 0 1
6) Puesto que todos los elementos de c r 0 , se ha encontrado el ptimo:
4 0 * x = , 0 5
z * = 3 ( 4 ) + 0 = 12
x1 + x 2 + x 4 = 1 x1 , x 2 , x 3 , x 4 0 B = [ x1 , x 2 ] N = [ x3 , x4 ]
ITM-CFE
G. Gutirrez-H. Tovar2013
43
Programacin Lineal
Al igual que en el Ejemplo 1.4, este problema tambin se presenta en forma estndar, el cual se resuelve directamente y sin hacer ninguna modificacin. En este caso:
1 2 1 0 A= , 1 1 0 1
2 4 c = , 0 0 N = [ x3 , x4 ]
4 b= 1
2) B = [ x 1 , x 2 ], 3) Iteracin 1:
xB = B
1 1 2 b= 1 1
4 0.6667 = 1 1.6667
4) =
cT B
1 1 2 = [ 2 4 ] = [ 2 0 ] 1 1
1 0 5) c r = N c T [ ] = 2 0 [ 0 0 ] = [ 2 0 ] N 0 1
6) Puesto que por lo menos hay un cero, entonces, el problema tiene mltiples soluciones. Se termina el proceso, debido a que los elementos de c r 0 .
0.6667 1.6667 * x = , 0 0
z * = 2 ( 0.6667 ) 4 ( 1.6667 ) = 8 .
x1 + x2 3 x1, x2 0
ITM-CFE
G. Gutirrez-H. Tovar2013
44
Programacin Lineal
Puesto que el problema est en forma cannica, es necesario plantearlo en forma estndar. Esto se logra agregando dos variables de holgura: Minimizar: x1 3x2 Sujeto a: x1 2 x2 + x3 = 4
x1 + x2 + x4 = 3 x1, x2 , x3 , x4 0
Ahora, se tiene lo siguiente:
1 2 1 0 A= , 1 1 0 1
1 3 c = , 0 0
4 b= 3
B = [ x 3 ,x 2 ] N = [ x 1 ,x 4 ]
3) Iteracin 1:
1 1 2 4 10 x B =B b= = 0 1 3 3
-1
4) =
cT B
1 1 2 = [ 0 3 ] = [ 0 3 ] 0 1
1 0 5) c r = N c T = [ 0 3 ] [ 1 0 ] = [ 4 3 ] N 1 1
6) Entra la variable x 1 por ser ms positiva. 7) Y = B
1 1 1 2 1 0 1 2 N = = 0 1 1 1 1 1
10 1 8) x 1 3 1
ITM-CFE
G. Gutirrez-H. Tovar2013
45
Programacin Lineal
Puesto que el vector de la variable que entra a la base tiene solo elementos menores o iguales a cero, el problema es no acotado y se termina el proceso de solucin.
1.5 DUALIDAD
Esta seccin trata la dualidad en programacin lineal, su concepto y significado. Tras formular el problema dual de un problema de programacin lineal, se establece la relacin matemtica entre ambos. Se emplea diversos ejemplos para ilustrar el importante concepto de la dualidad. Dado un problema de programacin lineal, denominado problema primal, existe otro problema de programacin lineal, denominado problema dual, ntimamente relacionado con l. Se dice que ambos problemas son mutuamente duales. Bajo ciertas hiptesis, los problemas primal y dual dan lugar al mismo valor ptimo de la funcin objetivo y, por tanto, se puede resolver indirectamente el problema primal resolviendo el problema dual. Esto puede suponer una ventaja computacional relevante. Definicin 15 (Problema Dual). Dado el problema de programacin lineal: Minimizar: Z = c T x Sujeto a: Ax b x 0 su problema dual es Maximizar: Z = b T y Sujeto a: AT y c y0 donde y = ( y 1 , ..., y m ) T se denomina vector de variables duales.
(1.59)
(1.60)
Al problema (1.59) se le denomina problema primal, mientras que su problema dual est definido por (1.60). Obsrvese que los mismos elementos (la matriz A, y los vectores b y c) configuran ambos problemas. El problema primal no se ha escrito en forma estndar, sino en una forma que permite apreciar la simetra entre ambos problemas, y mostrar que el dual del dual es el primal. Nota 1.1 La dualidad es una relacin simtrica, esto es, si el problema D es el dual del problema P, entonces P es el dual de D. Para comprobar lo anterior, se escribe el problema dual anterior como un problema de minimizacin con restricciones de la forma , tal como es mostrado a continuacin: Maximizar:
Z = bT y
ITM-CFE
G. Gutirrez-H. Tovar2013
46
Programacin Lineal
Sujeto a: AT y c y0 Entonces, su dual es: Maximizar: Z = c T x Sujeto a: AT x b x 0 que es equivalente al problema primal original. Nota 1.2 Como puede observarse, cada restriccin del problema primal tiene asociada una variable del problema dual; los coeficientes de la funcin objetivo del problema primal son los trminos independientes de las restricciones del problema dual y viceversa; y la matriz de restricciones del problema dual es la transpuesta de la matriz de restricciones del problema primal. Adems, el problema primal es de minimizacin y el dual de maximizacin.
1.5.1 Obtencin del Dual a Partir del Primal en Forma Estndar
A continuacin, se obtiene el problema dual a partir del problema primal en forma estndar. Para hacer esto basta con aplicar las relaciones primal-dual. Considere el problema de PL siguiente: Minimizar: Z = c T x Sujeto a: Ax = b x 0
La igualdad A x = b puede reemplazarse por las desigualdades A x b y A x b . Entonces, el problema puede escribirse como: Minimizar: Z = cT x Sujeto a: A b x A b x 0 El dual de este problema es Maximizar: Sujeto a: Z = b T y ( 1 ) b y ( 2 ) = b T y , donde y = y ( 1 ) y ( 2 ) no est restringida en signo.
ITM-CFE
G. Gutirrez-H. Tovar2013
47
Programacin Lineal
(A
y (1) ) y (2)
= AT y c
Esta es la forma del problema dual cuando el problema primal se expresa en forma estndar.
(1.61)
(1.62)
48
Programacin Lineal
Para obtenerlo se aplican las reglas anteriores de la forma siguiente: Regla 1. Puesto que la segunda restriccin del problema primal es de igualdad, la segunda variable dual y2 no est restringida en signo. Regla 2. Puesto que la primera restriccin del problema primal es de desigualdad , la primera variable dual y1 es no negativa. Regla 3. Puesto que la tercera variable primal, x3 , est restringida en signo, la tercera restriccin dual es de desigualdad . Regla 4. Puesto que las variables primales primera y segunda, x1 y x2 , no estn restringidas en signo, las restricciones duales primera y segunda son de igualdad. Aplicando las mismas reglas, se puede obtener el problema primal del dual, lo que se muestra a continuacin: Regla 1. Dado que las restricciones primera y segunda del problema dual son de igualdad, las variables primales primera y segunda, x1 y x2 , no estn restringidas en signo. Regla 2. Dado que la tercera restriccin del problema dual es de desigualdad , la tercera variable primal x3 es no negativa. Regla 3. Dado que la primera variable dual y1 est restringida en signo, la primera restriccin primal es de desigualdad . Regla 4. Puesto que la segunda variable dual y2 no esta restringida en signo, la segunda restriccin primal es de igualdad.
Ax = b ,
x 0 ,
AT y c
ITM-CFE
G. Gutirrez-H. Tovar2013
49
Programacin Lineal
Por tanto, todas las desigualdades son de hecho igualdades y deben ser soluciones ptimas de P y D, respectivamente, tal como estableca la hiptesis inicial. El teorema de dualidad fuerte establece que los problemas P y D tienen, en general, soluciones ptimas simultneamente. Teorema 1.3 (Teorema de Dualidad). Si ~ x es una solucin ptima de P, existe una solucin ~ ptima y para D, y el mnimo de P y el mximo de D presentan el mismo valor de la funcin objetivo b T ~ y=cT ~ x . Recprocamente, si ~ y es una solucin ptima de D, existe una solucin ~ ptima de P, x , y nuevamente los valores mnimo y mximo de P y D dan lugar a un valor comn de la funcin objetivo b T ~ y =cT ~ x . En otro caso, o un conjunto factible est vaco o lo estn los dos.
En resumen, si P es un problema de PL y D es su dual, una de las siguientes afirmaciones es cierta: 1. Ambos problemas tienen solucin ptima y los valores ptimos de las funciones objetivo respectivas coinciden. 2. Uno de los problemas no est acotado y el otro tiene una regin factible vaca.
ITM-CFE
G. Gutirrez-H. Tovar2013
50
Programacin Lineal
Tabla 1.1. Datos para el problema del carpintero Disponibilidad de Tipo de mesa horas mquina por da 1 2 Mecanismo primario 4 3 40 Mecanismo secundario 4 7 56 Beneficio (dlares) 70 90 El objeto de este problema es determinar el nmero de mesas de cada tipo que han de producirse diariamente para maximizar el beneficio obtenido. Este problema puede formularse como un problema de programacin lineal: Maximizar: Z = 70 x 1 + 90 x 2 Sujeto a: 4 x 1 + 3 x 2 40 4 x 1 + 7 x 2 56 x1 , x 2 0
(1.63)
donde x 1 y x 2 son las cantidades diarias de mesas a fabricar de los tipos 1 y 2 respectivamente. La solucin ptima de este problema, como se observa en la Figura 1.14, establece que han de producirse diariamente 7 y 4 sillas de los tipos 1 y 2, respectivamente, lo que da lugar a un beneficio de 850 dlares. Este resultado indica que ambos recursos de mecanizado (primario y secundario) estn plenamente utilizados porque las restricciones relacionadas con ellos estn ambas activas.
Por otra parte, considere que desea aumentarse el beneficio diario. Para ello, es necesario aumentar la capacidad productiva. Suponga que la capacidad de mecanizado secundario puede aumentarse cada da de 56 a 72 horas de mquina. Cmo afecta esta ampliacin de capacidad a los beneficios diarios? La solucin puede obtenerse resolviendo el siguiente problema: Maximizar:
Z = 70 x 1 + 90 x 2
ITM-CFE G. Gutirrez-H. Tovar2013
51
Programacin Lineal
Sujeto a: 4 x 1 + 3 x 2 40 4 x 1 + 7 x 2 72 x1 , x 2 0
(1.64)
En este caso, la solucin ptima es x1 = 4 y x2 = 8 , con un beneficio mximo diario de 1000 dlares. Esta solucin indica que el beneficio diario se incrementa en 150 dlares y la capacidad de mecanizado secundario en 7256=16 horas-mquina. La relacin (1000-850)/16=150/16=75/8 dlares, a la cual la funcin objetivo crece al incrementarse la capacidad de mecanizado secundario 1 hora, se denomina sensibilidad o precio sombra (tambin precio dual) de la capacidad de mecanizado secundario (vase la siguiente seccin). En general, el precio sombra de una restriccin proporciona el cambio en el valor de la funcin objetivo como resultado de un cambio unitario en el trmino independiente de la restriccin, suponiendo que el resto de parmetros del problema permanecen inalterados. En muchos problemas de programacin lineal los precios sombra son tan importantes como la solucin del problema, ya que proporcionan informacin sobre el efecto en la funcin objetivo de cambios en los recursos disponibles. Los precios sombra pueden obtenerse resolviendo el problema dual. El problema dual del problema del carpintero (1.63) se formula a continuacin. Minimizar: Z = 40 y 1 + 56 y 2 Sujeto a: 4 y 1 + 4 y 2 70 3 y 1 + 7 y 2 90 y1 , y 2 0
(1.65)
La solucin ptima de este problema es y 1 = 65 8 y y 2 = 75 8 , mientras que el valor ptimo de la funcin objetivo es 850. Obsrvese que y 1 y y 2 son los precios sombra de las capacidades de mecanizado primario y secundario, respectivamente, y que los valores ptimos de la funcin objetivo de (1.63) y (1.65) coinciden. El problema dual (1.65) puede interpretarse de la siguiente manera. Considere que el objetivo es vender tiempo de mecanizado primario y secundario y suponga que, de esta forma, se obtiene al menos el mismo nivel de beneficios que haciendo mesas. En esta situacin, vender tiempo de mecanizado y hacer mesas han de ser actividades igualmente lucrativas. Las variables y 1 y y 2 representan los precios de venta de una hora de mecanizados primario y secundario respectivamente. Para preservar la competitividad del negocio, el beneficio diario ha de minimizarse, esto es minimizar la funcin Z = 40 y 1 + 56 y 2 , donde 40 y 56 representan la disponibilidad diaria en horas de mecanizado primario y secundario, respectivamente. Las restricciones (1.65) establecen que el coste de las horas de mecanizado primario y secundario para producir una mesa de cada tipo no debe superar el beneficio que se obtiene por venta de la misma; y que los precios son cantidades no negativas.
ITM-CFE
G. Gutirrez-H. Tovar2013
52
Programacin Lineal
1.5.4 Sensibilidades
A partir de la solucin de un problema de PL se puede extraer informacin muy relevante sobre sensibilidades. Esto se pone de manifiesto en lo que sigue. Sea la base optima; entonces
* x* B = (B ) b 1 * z * = cT Bx B
(1.66)
Considrese un cambio marginal (es decir, un cambio que no modifica la base) en el vector de trminos independientes b : b* b* + b Este cambio en el vector de trminos independientes da lugar a cambios en el minimizador y en el valor ptimo de la funcin objetivo:
* x* B x B + x B
Definiendo:
* *T = cT B (B ) 1
z = *T b
y para una coordenada arbitraria j, la expresin anterior tiene la forma:
* j =
b z
que indica que * j proporciona el cambio en el valor ptimo de la funcin objetivo como resultado de un cambio marginal en la componente j del vector de recursos. Estos parmetros de sensibilidad juegan un papel fundamental en aplicaciones de ingeniera y cientficas. Como se ver en las secciones siguientes, los parmetros de sensibilidad son de hecho variables duales.
ITM-CFE
G. Gutirrez-H. Tovar2013
53
Programacin Lineal
ITM-CFE
G. Gutirrez-H. Tovar2013
54
Programacin Lineal
Minimizar Sujeto a
c x
i j
ij ij
x
j j
ij
ai , i b j , j i, j
ij
xij 0,
donde los subndices i son para los productores y los subndices j para los consumidores. Adems, los datos son: ai : Produccin mxima del productor i en toneladas. b j : Demanda del consumidor j en toneladas. cij : Costo de transporte desde el productor i al consumidor j en euros por tonelada y kilmetro. Las variables de decisin son xij , las cuales representan la cantidad de producto que se transporta desde el productor i hasta el consumidor j, en toneladas. Suponga dos productores y dos consumidores. Las producciones mximas son 300 y 500 toneladas. Las demandas son de 100, 200 y 300 toneladas. Las distancias en kilmetros entre productores y consumidores vienen dadas en la Tabla 1.2. Tabla 1.2 Distancias en kilmetros entre productores y consumidores. Consumidores Productores m1 m2 m3 p1 2.0 1.6 1.8 p2 2.5 1.2 1.4 El coste de transporte en euros es de 0.09 por tonelada y kilmetro. En GAMS, el problema anterior se codifica y almacena en un fichero cuya extensin por defecto es .gms. El contenido de este fichero es el siguiente (el lector no debe tratar de comprender todo el cdigo en esta primera aproximacin, ya que a travs de este Captulo se explicar en detalle las reglas del lenguaje; basta con adquirir una visin global de este fichero de entrada GAMS):
$Title El Problema de Transporte * Un ejemplo de transporte sencillo Sets i productores / p1, p2 / j consumidores / m1*m3 /; Table d(i,j)distancia en kilmetros m1 m2 m3 p1 2.0 1.6 1.8 p2 2.5 1.2 1.4;
ITM-CFE
G. Gutirrez-H. Tovar2013
55
Programacin Lineal
Scalar f coste del transporte (euros por tonelada y km)/0.09/; Parameters a(i)produccion maxima del productor i en toneladas / p1 300 p2 500 / b(j)demanda del consumidor j en toneladas / m1 100 m2 200 m3 300 / c(i,j)= f * d(i,j); Variables x(i,j)cantidad de producto transportada entre i y j en toneladas z coste total del transporte en euros; Positive Variable x; Equations coste funcion objetivo maximo(i)cumplimiento de maxima produccion del productor i demanda(j)cumplimiento de la demanda del consumidor j; costo .. z =e= sum((i,j), c(i,j)*x(i,j)); maximo(i) .. sum(j, x(i,j)) =l= a(i); demanda(j) .. sum(i, x(i,j)) =g= b(j); Model transporte /all/; Solve transporte using lp minimizing z; Display x.l;
El lector puede comprobar con este ejemplo la similitud entre la formulacin matemtica y el cdigo GAMS; concretamente, en la parte donde se definen las restricciones (la definicin comienza en coste ..). En la primera lnea del cdigo anterior se da nombre al problema, y en la segunda se escribe un texto a modo de comentario. En GAMS, cualquier lnea que comienza con el smbolo (asterisco) se interpreta como un comentario. El comando Sets se emplea para definir dos estructuras tpicas de GAMS: Los ndices, usados posteriormente para recorrer los vectores del problema, y los rangos de valores entre los que pueden variar estos ndices. En el ejemplo propuesto, el ndice i se refiere a los posibles productores p1 y p2. De igual manera, el ndice j se refiere a los posibles consumidores de m1 a (representado por un asterisco) m3. El comando Table permite definir matrices de datos (como puede ser la matriz de la Tabla 1.2 en el ejemplo). Obsrvese la facilidad con que se puede representar las tablas en GAMS. El comando Scalar es necesario en la declaracin y asignacin de escalares (como el escalar f en el ejemplo).
ITM-CFE
G. Gutirrez-H. Tovar2013
56
Programacin Lineal
El comando Parameters se utiliza para declaracin y asignacin de vectores de datos. En este ejemplo, se emplea dos vectores: a(i) y b(j), que se refieren a la produccin mxima, y a la demanda, respectivamente. La asignacin mediante este comando se realiza para cada elemento del vector, por lo que es necesario especificar, en primer lugar, la posicin del vector y en segundo, el valor a asignar. Para declarar la matriz correspondiente al costo de transporte, c(i,j), tambin se utiliza el comando parameter; sin embargo, la asignacin de los elementos se realiza posteriormente como funcin de otros datos. Las variables del problema de optimizacin son declaradas mediante el comando Variables. Slo cuando se completa la ejecucin del cdigo GAMS el optimizador determina el valor de estas variables. En GAMS se debe especificar el carcter de las variables; en este caso, se indica que x(i,j) es una variable positiva (no negativa). El comando Equations permite indicar el nombre con que se referenciar a las restricciones del problema, incluida la funcin objetivo. Tras el comando, aparece el nombre en primer lugar; si es necesario indicar que existen varias restricciones con la misma estructura, se indica seguidamente mediante el ndice correspondiente entre parntesis. Una vez declaradas las restricciones con este comando, se pasa a su definicin colocando el smbolo .. y su formulacin correspondiente en formato GAMS tras el nombre con el que se han declarado. Muchas funciones matemticas pueden ser empleadas en la definicin de las restricciones, como suma y multiplicacin, entre otras. El siguiente paso consiste en asociar un nombre al modelo y especificar qu conjunto de restricciones lo forman mediante el comando Model. En el ejemplo, el modelo se denomina transporte, y est formado por todas las restricciones previamente definidas (lo indica la palabra all). Por ltimo, se emplea el comando Solve para que GAMS llame al optimizador pertinente que finalmente resuelve el problema (en el ejemplo, la palabra lp indica que se debe usar un optimizador para programacin lineal). De manera opcional, se puede ordenar a GAMS que muestre el valor de los resultados de inters en un fichero de salida. Aqu, por ejemplo, el comando Display x.l tiene como objetivo mostrar el valor obtenido para el vector de variables x(i,j). Una vez que se ha escrito el cdigo GAMS en el fichero de entrada, se compila; si no existen errores de sintaxis se resolver el problema mediante el optimizador correspondiente y se escribir la solucin en un fichero de salida con extensin .lst. En este fichero, aquellos valores de la solucin que son cercanos a cero se representan mediante EPS, y aquellos que son cero se denotan mediante un punto. Puesto que en el cdigo del ejemplo propuesto se ha evitado cometer errores, en el fichero de salida se escribe la solucin que ofrece el optimizador. Algunas de las partes que componen este fichero son mostradas a continuacin.
ITM-CFE
G. Gutirrez-H. Tovar2013
57
Programacin Lineal
---- EQU MAXIMO cumplimiento de maxima produccion del productor i LOWER LEVEL UPPER MARGINAL p1 -INF 100.000 300.000 . p2 -INF 500.000 500.000 -0.036 ---- EQU DEMANDA cumplimiento de la demanda del consumidor j LOWER LEVEL UPPER MARGINAL m1 100.000 100.000 +INF 0.180 m2 200.000 200.000 +INF 0.144 m3 300.000 300.000 +INF 0.162
En esta parte del fichero se muestran los valores mnimo (LOWER), optimo (LEVEL), mximo (UPPER), y el coste marginal (MARGINAL) asociado a las restricciones denominadas MAXIMO y DEMANDA. Los valores mximos y mnimos asociados a una restriccin dependen de su carcter. As, si la restriccin es del tipo mayor o igual que (como son las restricciones SUPPLY), el valor mnimo es (-INF en el fichero de salida GAMS), y el valor mximo es el trmino independiente de esa restriccin. Por otro lado, si la restriccin es de menor o igual que (como son las restricciones DEMANDA), el valor mnimo es su trmino independiente, y el mximo es + (+INF en el fichero de salida GAMS). Si se tiene una restriccin de igualdad, los valores mximo y mnimo coinciden con el valor de su trmino independiente. El valor ptimo de una restriccin se obtiene al evaluar su trmino dependiente, una vez que se ha resuelto el problema. Al igual que el valor ptimo, el coste marginal se obtiene como resultado de la optimizacin. Este valor representa la variacin que experimenta el valor de la funcin objetivo frente a un cambio en el trmino independiente de la restriccin (valor de su variable dual). En el fichero de salida de GAMS tambin se presenta los valores que toman las variables de optimizacin tras la resolucin del problema. A continuacin, se muestra esta informacin.
---- VAR X cantidad de producto transportada entre i y j en toneladas LOWER LEVEL UPPER MARGINAL p1.m1 . 100.000 +INF . p1.m2 . . +INF EPS p1.m3 . . +INF . p2.m1 . . +INF 0.081 p2.m2 . 200.000 +INF . p2.m3 . 300.000 +INF . LOWER LEVEL UPPER MARGINAL ---- VAR Z -INF 77.400 +INF . Z coste total de transporte en euros
Se observa como para cada variable se obtiene su valor mnimo, ptimo, mximo y marginal. Si en el fichero de entrada no se especifico el limite inferior (superior) de la variable, entonces se considera que este valor es (+). Los valores ptimo y marginal de una variable se determinan una vez resuelto el problema.
ITM-CFE
G. Gutirrez-H. Tovar2013
58
Programacin Lineal
Esta es la formulacin ms simple de despacho econmico. Al no incluir el efecto de las prdidas por transmisin, puede considerarse que tanto la carga como el conjunto de generadores despachables estn conectados a un mismo nodo. El problema se formula como sigue: Minimizar: Z=
NG
C i ( PG
i =1 NG
Sujeto a:
PD =
PG
i =1
donde C i ( PG i ) es el costo de produccin del generador i, N G es el nmero de generadores despachables y PD es la potencia de carga (demandada). Podr notarse que este es un problema de optimizacin con restricciones, por el momento, slo una de igualdad. La restriccin de no negatividad se omite.
Ejemplo 1.9. Despacho de Generacin de tres unidades de generacin.
C 3 ( PG 3 ) = 78 + 7.97 PG 3
Supngase que se desea determinar el punto de operacin econmico de estas tres unidades para una demanda de 850 MW. Minimizar: Sujeto a: Z = 561 + 7.92 PG1 +310 + 7.85 PG 2 + 78 + 7.97 PG 3
PG1 + PG 2 + PG 3 = 850
Las variables a optimizar son: PG1 , PG 2 y PG 3 . La solucin ptima para este problema de despacho econmico es: PG1 = 400 MW
PG 2 = 400 MW
PG 3 = 50 MW
ITM-CFE
G. Gutirrez-H. Tovar2013
59
Programacin Lineal
Cdigo en GAMS
A continuacin, se presenta el cdigo desarrollado en la plataforma computacional GAMS, donde es resuelto este problema. $title 'Despacho Economico Sin Perdidas' $Ontext Este programa resuleve el problema de despacho economico sin perdidas El problema considera 3 unidades de generacion: G1 a G3. La informacion de las 3 unidades se presenta en la Tabla "GenData". La demanda a suministrar es de 850 MW especificada en la ecuacin demanda. $Offtext SETS G Generadores / G1*G3/; TABLE GenData(G,*) a b PGMin PGMax G1 561 7.92 150.0 600.0 G2 310 7.85 100.0 400.0 G3 78 7.97 50.0 200.0; VARIABLES PG(G) TotCost Total cost; EQUATIONS MaxLim(G) MinLim(G) Demanda TotalCost Total cost of generation; TotalCost.. TotCost =E= SUM(G, GenData(G,'a') + GenData(G,'b')*PG(G)); Demanda.. SUM(G,PG(G)) =E= 850; MaxLim(G).. PG(G) =L= GenData(G,'PGMax'); MinLim(G).. PG(G) =G= GenData(G,'PGMin'); MODEL EDC /all/; Solve EDC USING LP MINIMIZING TotCost; display PG.l;
ITM-CFE
G. Gutirrez-H. Tovar2013
60