Investigación Operativa. Curso

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Investigación Operativa. Curso 2008-2009"

Transcripción

1 Investigación Operativa Licenciatura en Ciencias Estadísticas Curso Profesor: Sergio García Quiles

2

3 Índice general 1. Programación Lineal Entera Introducción Ejemplos Conceptos iniciales La técnica de ramificación y acotación Generación de cortes Método de Dakin Cortes de Gomory puros Optimización en redes Total unimodularidad El problema del transporte El problema de la asignación Conceptos básicos de grafos Definiciones Representación matricial de grafos El problema del árbol de unión de peso mínimo

4 4 Investigación Operativa 2.6. El problema del camino más corto El problema del flujo de coste mínimo Programación Lineal Multiobjetivo Introducción Métodos de resolución Método de las ponderaciones Método de las restricciones Método de programación por metas

5 Tema 1 Programación Lineal Entera 1.1. Introducción La Programación u Optimización (Lineal) Entera o Discreta es la parte de la Programación Lineal en la que algunas (o la totalidad) de las variables que intervienen en los problemas tienen restricciones de integridad. Los problemas de variables enteras aparecen en problemas cotidianos con mucha facilidad: diseño de horarios para compañías de transporte (son de particular importancia y poseen una tremenda complejidad los horarios de compañías aéreas), planificación de la producción, localización de centros de servicio... No sólo aparecen ligados a aspectos económicos o industriales, sino también a ámbitos estadísticos (análisis de datos), físicos (determinación de estados mínimos de energía) o criptográficos (diseño de códigos seguros), por citar sólo unos pocos. Las variables enteras aparecen en estos problemas de manera natural a la hora de modelar elementos indivisibles (número de productos a fabricar, plantas industriales a localizar, ciudades a visitar... ). De especial interés son las variables binarias, denominadas también variables 0-1, que reflejan decisiones lógicas (sí/no) en compras, inversiones, asignaciones, etc. Hasta finales de la década de los ochenta, la resolución de problemas enteros estaba muy limitada: el tamaño de los problemas que podían resolverse era bastante pequeño pese a poderse resolver problemas lineales (sin restricciones de integridad) de tamaño mucho mayor. Esto es consecuencia del gran incremento en la dificultad de resolución que supone el (aparentemente simple) hecho de exigir que las variables tomen sus valores sobre un conjunto discreto en lugar de sobre uno continuo. Sin

6 2 Investigación Operativa embargo, en los últimos quince años han podido resolverse problemas bastante más difíciles y grandes gracias a una combinación de: - mejores modelizaciones de los problemas, - ordenadores más potentes, - mejores programas informáticos de Programación Lineal, - nuevos algoritmos y teorías de planos de corte, - algoritmos de ramificación y corte y de descomposición de problemas enteros. En esta primera parte de la asignatura nos centraremos en familiarizarnos con los conceptos básicos de los planos de corte Ejemplos Desde el momento que nos planteamos resolver un problema real, vemos que las variables restringidas a tomar valores enteros aparecen de un modo natural. Ejemplo 1 Ante la proximidad de un viaje, estamos preparando la maleta de mano y decidiendo qué vamos a llevar. Tenemos los siguientes 7 objetos, i = 1,...,7, cada uno con su peso w i (en kilogramos) y su utilidad u i (en unidades de beneficio esperado): Objeto Peso Utilidad Sabiendo que no estamos dispuestos a cargar con más de 8 kilos, cuál es la mejor selección de objetos? Solución: Comenzamos definiendo la variable { 1, si llevamos el objeto i, x i = 0, en caso contrario, i = 1,...,7. La función a maximizar es 3x 1 + 2x 2 + 5x 3 + 4x 4 + 6x 5 + 3x 6 + 8x 7.

7 Tema 1. Programación Lineal Entera 3 Por otra parte, como no podemos exceder un cierto peso límite, debe cumplirse la siguiente desigualdad: 2.5x x x x x x x 7 8. Además, las variables x i deben ser binarias: x i {0, 1}, i = 1,...,7. En consecuencia, nuestra problema puede representarse mediante el siguiente modelo: Max. 3x 1 + 2x 2 + 5x 3 + 4x 4 + 6x 5 + 3x 6 + 8x 7 s.a 2.5x x x x x x x 7 8, x 1,x 2,x 3,x 4,x 5,x 6,x 7 {0, 1}. El ejemplo que acabamos de ver es un caso particular con datos concretos del siguiente problema: Ejemplo 2 (El problema de la mochila) En el Problema de la Mochila (Knapsack Problem) hay n artículos o bienes y se debe decidir cuáles tomar. El j-ésimo bien tiene un peso a j y un valor c j en caso de tomarse. Cada bien, o se coge entero o se deja, pero no es posible tomar sólo una fracción del mismo. Además, tampoco se puede exceder una capacidad b disponible para guardar los objetos tomados (como puede ser una mochila). Si definimos las variables { 1 si el j-ésimo artículo se toma, x j = 0 en caso contrario, entonces el problema a resolver es el siguiente: Max. n j=1 c jx j s.a n j=1 a jx j b, x B n. En una versión más general del problema, la restricción x B n se sustituye por las acotaciones x j u j, j = 1,...,n, con los u j enteros positivos. Otra variante del problema consiste en incluir una variable continua que represente la posibilidad de adquirir espacio adicional a cierto coste. El siguiente modelo es uno de los problemas más clásicos del campo de Localización Discreta: Ejemplo 3 (Problema de localización de plantas sin capacidades) En el Problema de Localización de Plantas sin Capacidades, se pueden instalar o abrir plantas de servicio en m puntos posibles con costes f i, i = 1,...,m, respectivamente, para satisfacer las demandas de n clientes. Cada cliente necesita que le

8 4 Investigación Operativa sean servidas d j unidades, j = 1,...,n. Además, el coste de servir una unidad de producto desde la planta i al cliente j es de c ij unidades monetarias. Definiendo las variables de decisión x ij = número de unidades que sirve la planta i al cliente j, { 1 si la planta i está abierta, y i = 0 en caso contrario, el problema puede ser formulado de la siguiente forma: Min. m i=1 f iy i + m n i=1 j=1 c ijx ij s.a m i=1 x ij = d j, j = 1,...,n, y i {0, 1}, i = 1,...,m, x ij Z +, i = 1,...,m, j = 1,...,n Conceptos iniciales Definición 4 (Problema de optimización lineal) Se llama Problema (de optimización) Lineal (PL) a un problema de la forma Min. c t x (PL) s.a Ax b, x 0, donde c R n es el vector de costes, A M m n (R) es la matriz de restricciones, b R m es el vector de recursos y x R n es el vector de variables de decisión. Esta definición no es en absoluto restrictiva, pues: - todo problema lineal de maximización puede transformarse en uno de minimización multiplicando el vector de costes por -1; - las desigualdades de mayor o igual se multiplican por -1 para obtener desigualdades de menor o igual; - cualquier igualdad π t x = π 0 es equivalente al par de desigualdades { π t x π 0, π t x π 0 ; - si una variable x t es negativa, se puede realizar el cambio de variable x t = x t, con x t 0;

9 Tema 1. Programación Lineal Entera 5 - si una variable x t es libre (es decir, puede tomar valores tanto positivos como negativos), se puede hacer el cambio de variable x t = x t x t, con x t, x t 0. Definición 5 (Problema lineal entero mixto) Un problema de la forma Min. c t x s.a Ax b, (PLEM) x 0, x j Z +, j J, con J N, se dice que es un Problema Lineal Entero Mixto, PLEM. Si J = Ø lo que en realidad se tiene es un problema lineal. Si J = N se dice que es un problema entero puro o simplemente un problema entero. Si la restricción de integridad se sustituye por x j {0, 1}, j J, se habla de problema binario o problema cero-uno (mixto). Definición 6 (Relajación lineal) Dado un problema entero (PE), su relajación lineal (PE L ) consiste en eliminar las restricciones de integridad de (PE). De aquí en adelante, generalmente se usará el término problema lineal para referirse a problemas lineales sin restricciones de integridad, omitiéndose el adjetivo lineal en los problemas enteros y binarios (puros o mixtos). La relajación lineal de un problema entero es ese mismo problema pero sin las restricciones de integralidad. Normalmente, si representamos mediante P o P E el problema original, su relajación lineal se suele representar mediante P L. Los valores óptimos de estos problema se denotan, respectivamente, z E y z L. Proposición 7 En un problema de minimización, se cumple que z L z E. En un problema de maximización, z L z E. Este resultado es trivial, pues toda solución factible entera es factible para la relajación lineal. Sin embargo, no toda solución factible de la relajación lineal es factible del problema entero original. Más adelante, esta propiedad nos será muy útil a la hora de resolver problemas enteros. Definición 8 La envolvente convexa de un conjunto A es el menor conjunto convexo que contiene a dicho conjunto A. Cuando tenemos un problema entero, la región factible es un conjunto discreto de puntos: P L Z n +. Existe un problema continuo cuya solución coincide con la

10 6 Investigación Operativa que buscamos: optimizar la función objetivo sobre conv( ( P L Z n +) ). Sin embargo, obtener explícitamente este conjunto es a su vez una tarea realmente compleja. Como la región factible del problema entero es mucho más pequeña que la de su contrapartida continua, cabría esperar que los problemas enteros fuesen mucho más fáciles de resolver. Sin embargo, la realidad es diametralmente opuesta: son bastante más difíciles. Esto es consecuencia del carácter discreto del conjunto de soluciones. Cabe ahora preguntarse si redondear es o no una buena alternativa para pasar de una solución óptima continua a una solución óptima discreta. La respuesta es que no, pues las soluciones óptimas del problema entero y de la relajación lineal pueden distar mucho entre sí, como muestra el siguiente ejemplo. Ejemplo 9 Resuelve gráficamente el siguiente problema: Max. x 2 s.a x 1 0.9x 2 1, x 1 1.9, x 1,x 2 Z 2 +. Solución: La solución óptima de la relajación lineal, (x 1,x 2) = (1.9, 100), tiene valor óptimo z L = 100. Si redondeamos al valor entero más cercano, (2,100), estamos en un punto infactible. De hecho, la solución óptima se encuentra muy lejos : es el punto (1,0), con valor óptimo z E = 0. z L = 100, (x 1,x 2) = (1.9, 100) El redondeo a (2,100) no es factible z E = 0 (x 1,x 2) = (1, 0) 1,0 1,5 2,0 2,5 Definición 10 (Formulación) Un poliedro P R n es una formulación para el subconjunto X de Z p R n p si X = P ( Z p R n p).

11 Tema 1. Programación Lineal Entera 7 Obsérvese que un mismo conjunto admite formulaciones distintas. Ejemplo 11 En la figura 1.1 se muestra dos formulaciones distintas para el conjunto X = {(1, 1), (2, 1), (3, 1), (1, 2), (2, 2), (3, 2), (2, 3)}. P 1 P 2 Figura 1.1: Dos formulaciones distintas de un mismo problema entero Geométricamente, se ve rápidamente que hay innumerables formulaciones para un mismo problema. Entonces, cómo elegir la mejor? De nuevo, la geometría nos da la respuesta. Obsérvese la figura 1.2, en la que se han repetido las dos formulaciones mostradas en la figura 1.1 y se ha añadido una tercera P 3. Esta última formulación es ideal, porque si se resuelve un problema lineal sobre P 3, la solución óptima es un punto extremo. En este caso, cada punto extremo es entero, por lo que el problema entero puede resolverse como un simple problema lineal (sin necesidad de incluir condiciones de integridad). P 1 P 2 P 3 Figura 1.2: La formulación ideal Lo deseable sería que todos los puntos extremos del poliedro que se usa como formulación fuesen enteros.

12 8 Investigación Operativa Definición 12 (Poliedro entero) Un poliedro se dice que es entero si todos sus puntos extremos son enteros. Sin embargo, pocas veces sucede que la formulación de la que se parte sea la formulación ideal. Además, tratar de encontrar todas las restricciones de esta formulación ideal no es posible en la práctica, pues normalmente es necesario un número exponencial de restricciones. Esto motiva la siguiente definición: Definición 13 (Mejor formulación) Dadas dos formulaciones P 1 y P 2 de un conjunto X R n, se dice que P 1 es mejor formulación que P 2 si P 1 P 2. Para lograr una buena formulación, habrá que ir añadiendo al problema original desigualdades que delimiten la región factible entera lo mejor posible. Definición 14 (Desigualdad válida) Una desigualdad π t x π 0 se dice que es una desigualdad válida para un problema (P) si es satisfecha por todos los puntos factibles del problema. Definición 15 (Dominancia) Dadas dos desigualdades válidas π t x π 0 y π t x π 0 para un mismo problema, se dice que la primera desigualdad domina a la segunda si existe un valor λ > 0 tal que π λπ y λπ 0 π 0, con al menos una de las dos desigualdades estricta. Definición 16 (Corte) Una desigualdad π t x π 0 se dice que es un corte para un problema entero (PE) si, además de ser desigualdad válida, existe algún punto de la relajación lineal (PE L ) de este problema que no la satisface. En ese caso, se dice que la desigualdad corta dichos puntos La técnica de ramificación y acotación Hemos visto que si somos capaces de encontrar la formulación de la envolvente convexa de nuestro problema original, basta optimizar sobre esa nueva formulación para obtener la solución de nuestro problema entero inicial. Sin embargo, hallar dicha descripción de la región factible entera, en el mejor de los casos, es tan difícil como resolver el problema. Por lo tanto, es necesario recurrir a otras técnicas de resolución. Una, cuya idea es simple, pero que es muy eficaz, consiste en dividir el problema en subproblemas más pequeños y más sencillos de resolver. Después, nos quedaremos con la mejor de las soluciones de esos subproblemas.

13 Tema 1. Programación Lineal Entera 9 La pregunta que se plantea es: cómo dividir el problema z = mín { c t x : x S } en un conjunto de problemas más pequeños y fáciles, solucionarlos y después reunir la información obtenida para resolver el problema original? La siguiente proposición da una primera idea sencilla para conseguirlo. Proposición 17 (Divide y vencerás) Sea S = S 1 S K una descomposición de S. Si entonces z = mín { z k} K k=1. z k = mín { c t x : x S k }, k = 1,...,K, Un modo habitual de representar este método de divide y vencerás es mediante un árbol de enumeración. Por ejemplo, para S = B 3, se puede construir el árbol de la figura 1.3. S x 1 = 0 x 1 = 1 S 0 S 1 x 2 = 0 S 00 S 01 S 10 S 11 x 3 = 0 S 000 S 001 S 010 S 011 S 100 S 101 S 110 S 111 Figura 1.3: Árbol de enumeración binario Aquí, en primer lugar se ha divido el conjunto S en S 0 = {x S : x 1 = 0} y después, S 1 = {x S : x 1 = 1}; S 00 = {x S 0 : x 2 = 0}, S 01 = {x S 0 : x 2 = 1},

14 10 Investigación Operativa S 10 = {x S 1 : x 2 = 0}, S 11 = {x S 1 : x 2 = 1}; y así sucesivamente. De este modo, las hojas del árbol son precisamente los puntos de B 3 que uno examinaría si hiciese una enumeración completa. Obsérvese que, por convenio, el árbol se dibuja de arriba a abajo con la raíz en lo más alto. Para la mayoría de los problemas es totalmente imposible una enumeración completa de todas las soluciones factibles. Por lo tanto, es necesario hacer algo más que dividir hasta tener enumerados todos los puntos. Cómo se pueden utilizar cotas de los valores {z k } k de modo inteligente? Primero, cómo puede unificarse la información sobre las cotas? Proposición 18 Sea S = S 1...S K una descomposición de S, y sean z k = mín {c t x : x S k }, z k una cota superior de z k y z k una cota inferior para cada k. Se verifica: i) z = mín { z k} K es una cota superior de z; k=1 ii) z = mín { z k} K es una cota inferior de z. k=1 En los siguientes ejemplos se muestra cómo se usa la información de las cotas de los subproblemas para podar (eliminar) nodos. Ejemplo 19 (Poda por optimalidad) En primer lugar, z = mín{20, 25} = 20, z = mín{20, 15}. En segundo lugar, se observa que las cotas inferior y superior para z 1 coinciden, por lo que no es necesario seguir examinando S 1. Así, la rama S 1 del árbol de enumeración se puede podar por optimalidad. S S S S S 1 S Figura 1.4: Poda por optimalidad Ejemplo 20 (Poda por acotación) Como el valor óptimo es menor o igual que 20, no hay ninguna solución óptima en la rama S 2. Así, esta rama se puede podar por acotación.

15 Tema 1. Programación Lineal Entera 11 S S S S S S 2 Figura 1.5: Poda por acotación Ejemplo 21 (Poda por infactibilidad) Consideremos que una restricción del problema es x 1 + x 2 + x 3 1, siendo las tres variables binarias. En el nodo al que se llega mediante la ramificación x 1 = 1, x 2 = 1 no hay puntos factibles. Por lo tanto, queda descartado automáticamente. Así pues, las siguientes razones permiten podar una rama del árbol de búsqueda: i) Poda por optimalidad: el problema z r = mín {c t x : x S} se ha resuelto; ii) Poda por acotación: z r z; iii) Poda por infactibilidad: S r = Ø. Un modo de obtener cotas inferiores es resolver las relajaciones lineales de los problemas. Por otro lado, cualquier punto factible del problema proporciona una cota superior. Este modo de trabajar se denomina ramificación y acotación (branch-and-bound). Un nodo activo es aquel que todavía no ha sido procesado. Cuando ya ha sido procesado se denomina inactivo. Un nodo podado es un nodo que se ha descartado. El nodo raíz es el nodo del que parte el árbol. Cuando se ramifica, se elige una variable de ramificación que está restringida de distinto modo según la rama del árbol de ramificación en la que estemos. De cada nodo, salen dos o más nodos hijos. El nodo del que se originan se denomina nodo padre. En el proceso, la mejor solución entera almacenada se denomina solución incumbente. Su valor objetivo es el valor incumbente.

16 12 Investigación Operativa Selección de nodo y variable A la hora de trabajar en un algoritmo de ramificación cabe preguntarse cómo se elige en qué variable ramificar y que nodo analizar (sondear). En general, para elegir la variable de ramificación, escogeremos aquella que sea más fraccional, esto es, cuya parte decimal esté más cerca de 0.5. Para elegir el siguiente nodo activo a analizar, hay varias alternativas: 1. Búsqueda en horizontal (breadth-first search): se elige el nodo de menor profundidad. 2. Búsqueda en profundidad (depth-first search): se elige el nodo de mayor profundidad. 3. Búsqueda en calidad (best-first search): se elige el nodo con mejor relajación lineal. En el caso de un problema de minimización, el de menor relajación lineal; equivalentemente, el de menor cota inferior. En el caso de un problema de maximización, el de mayor relajación lineal; equivalentemente, el de mayor cota superior. El tercer criterio suele ser el más popular. Veamos cómo aplicar el algoritmo. Ejemplo 22 Resuelve el siguiente problema: Max. 3x 1 + 2x 2 5x 3 2x 4 + 3x 5 s.a x 1 +x 2 +x 3 +2x 4 +x 5 4, (P) 7x 1 +3x 3 4x 4 +3x 5 8, 11x 1 6x 2 +3x 4 3x 5 3, x 1,x 2,x 3,x 4,x 5 {0, 1}. Solución: Comenzamos por resolver la relajación lineal. Para ello, reemplazamos las restricciones de binaridad por 0 x i 1, i = 1,...,5. Como solución óptima, obtenemos el punto (0.97, 1, 0, 0.45, 1), que tiene valor óptimo z L = Al no ser entera la solución, debemos crear un árbol de ramificación. N 1 7

17 Tema 1. Programación Lineal Entera 13 Observemos que, como el valor óptimo debe ser entero (pues la función objetivo tiene coeficientes enteros y variables binarias), la cota superior inicial de 7.02 puede refinarse inmediatamente a z = 7. Ahora, para ramificar, elegimos las variable x 4, que es la más fraccional. N 1 7 x 4 = 0 x 4 = 1 N 2 N 3 Resolvemos ahora los problemas asociados a los nodos N 2 y N 3, respectivamente. Esto es, el problema (P L ) al que se le agrega x 4 = 0 y x 4 = 1, respectivamente. Sus soluciones son: { x (P 2 ) 2 = (0.94, 1, 0, 0, 0.46), z 2 = 6.22, { x (P 3 ) 3 = (1, 0, 0, 1, 1), z 3 = 4. Al resolver el nodo N 2, vemos que la solución es fraccional y el valor de la relajación lineal no mejora la cota superior que ya se tiene en la raíz. Sin embargo, por el mismo razonamiento que antes, para este nodo, la cota superior de 6.22 puede refinarse a 6. Cuando solucionamos el nodo N 3, obtenemos una solución entera (la primera que encontramos). Este punto pasar a ser la solución incumbente x I = (1, 0, 0, 1, 1) y su valor óptimo pasa a ser el valor incumbente z I = 4, que es una cota inferior de la solución óptima. N 1 7 x I = (1, 0, 0, 1, 1), z I = 4. x 4 = 0 N 2 6 x 4 = 1 N Podamos el nodo N 3 por optimalidad y actualizamos la cota inferior del nodo raíz.

18 14 Investigación Operativa N x I = (1, 0, 0, 1, 1), z I = 4. x 4 = 0 N 2 6 x 4 = 1 N 3 Nos situamos en el nodo N 2 y recordamos que la solución relajada era (0.94, 1, 0, 0, 0.46). Ramificamos en x 5 y resolvemos los problemas asociados: { x (P 4 ) 4 = (1, 1, 0, 0, 0), z 4 = 5, { x (P 5 ) 5 = (0.71, 0.31, 0, 0, 0), z 5 = El nodo N 4 proporciona una solución entera mejora que la incumbente, por lo actualizamos ésta. También se actualiza la cota inferior de los nodos ascendientes. Se poda por optimalidad el nodo N 4. La cota superior de N 5 puede refinarse a 5, que coincide con la cota inferior del problema (acabamos de obtener una solución entera con ese valor). El nodo N 5 se poda por acotación. N x I = (1, 1, 0, 0, 0), z I = 5. x 5 = 0 x 4 = 0 N N 2 6 x 5 = 1 5 N 5 x 4 = 1 N 3 Como ya no nos quedan nodos por explorar, hemos acabado: la solución óptima es x = (1, 1, 0, 0, 0) y el valor óptimo z = Generación de cortes Como se ha dicho anteriormente, un corte es una desigualdad válida que elimina una solución fraccional del problema, pero que no modifica el conjunto de soluciones del problema entero.

19 Tema 1. Programación Lineal Entera Método de Dakin En la sección anterior, hemos visto cómo se trabaja con un árbol de ramificación, pero no hemos abordado de modo específico cómo se trabaja con esas desigualdades que aparecen cuando se crean las distintas ramas. Supongamos que la variable x k tiene un valor óptimo fraccional x k. En los nodos hijos obtenidos al ramificar mediante las desigualdades x k [x k] y x k [x k] + 1, los problemas que queremos resolver tienen las mismas desigualdades que el nodo con una salvedad: aparece una desigualdad adicional. Resolver estos problemas desde cero no sería eficiente. Vamos a ver que, gracias al método dual del símplex, es posible usar la base óptima del nodo padre para aprovechar el trabajo ya hecho. Introduciendo x k [x k ] Como x k es una variable básica, su fila asociada de la base óptima es de la forma x k + j N y kj x j = x k. Al introducir la restricción x k [x k ], añadimos la variable de holgura x para obtener x k + x = [x k]. Reemplazado x k en la primera igualdad por cómo se expresa en la segunda, se tiene que [x k] x + y kj x j = x k. j N Si f k denota la parte fraccional del valor de x k, entonces j N y kj x j + x = f k. Ahora añadimos esta nueva igualdad como una fila adicional a la tabla óptima de la que hemos partido y observamos que: 1. La tabla sigue siendo óptima: puesto que la variable de holgura x tiene coste reducido nulo, los costes reducidos no varían.

20 16 Investigación Operativa 2. El lado derecho vale f k, por lo que es estrictamente negativo. En consecuencia, se trata de una tabla óptima pero no factible primal. Hay que aplicar el método dual del símplex. Introduciendo x k [x k ] + 1 De modo análogo, puesto que x k es una variable básica, su fila asociada de la base óptima es de la forma x k + y kj x j = x k. j N Al introducir la restricción x k [x k ] + 1, añadimos la variable de holgura x para obtener x k x = [x k] + 1. Equivalentemente, x k + x = [x k] 1. Combinando ambas igualdades, obtenemos que y kj x j x k + x = [x k] 1; j N y kj x j + x = fk 1. j N Al añadir esta nueva igualdad como una fila adicional a la tabla óptima de la que hemos partido, nuevamente sucede que tenemos una tabla óptima pero no factible primal. Por lo tanto, es necesario aplicar el método dual del símplex para obtener factibilidad. Ejemplo 23 Min. 4x 1 + 5x 2 s.a x (P 1 ) 1 4x 2 5, 3x 1 2x 2 7, x 1,x 2 Z +. Comenzamos resolviendo el problema relajado (es decir, todas las variables se suponen continuas). Para ello, podemos aplicar el método dual del símplex, pues la tabla siguiente de partida es óptima, pero no factible primal. Iteración 1:

21 Tema 1. Programación Lineal Entera 17 x x z j c j Iteración 2: Iteración 3: x x z j c j x x z j c j Como la solución óptima de este problema relajado es fraccional, hay que ramificar. Para ello, elegimos la variable más fraccional. Al haber empate, tomamos una cualquiera de ellas. Por ejemplo, x 1. Ramificamos y obtenemos los problemas { { (P 1 ), (P 1 ), (P 2 ) (P 3 ) x 1 1, x 1 2. N x 1 1 x 1 2 N 2 N 3 Resolvemos (P 2 ): x x x z j c j

22 18 Investigación Operativa x x x z j c j Esta tabla es óptima y tiene solución entera. Como es la primera, pasa a ser la incumbente. Actualizamos las cotas del árbol y podamos este nodo. Resolvemos (P 3 ): N N x 1 2 N 3 x I = (1, 2), z I = 14. x x x z j c j x x x z j c j Esta tabla es óptima, pero la solución es fraccional. Ramificamos en x 2. Antes, actualizamos el árbol. N x 2 = 0 N x 1 2 N 3 x x I = (1, 2), z I = 14. N 4 N 5

23 Tema 1. Programación Lineal Entera 19 Para resolver (P 4 ), en lugar de añadir el corte x 2 0, nos vamos a la formulación original. Como el problema tiene únicamente dos variables, ahora es un problema de una variable. Es inmediato resolverlo por inspección. Min. 4x 1 s.a x 1 5, 3x 1 7, x 1 Z +. El óptimo de este problema es x = (5, 0), con valor óptimo z = 20. Como esta solución es peor que la incumbente, podemos podar el nodo. N N x 1 2 N 3 x 2 1 x I = (1, 2), z I = 14. N 4 N 5 Ahora, resta resolver (P 5 ): (P 5 ) { (P 3 ), x 2 1. x x x x z j c j x x x x z j c j

24 20 Investigación Operativa Esta tabla es óptima, con solución entera y mejor valor que la incumbente. Actualizamos la incumbente y podamos el nodo. Al no quedar nodos por explorar, ya tenemos resuelto el problema: su solución óptima es x = (2, 1) y su valor óptimo es z = Cortes de Gomory puros Los métodos de hiperplanos de corte consisten en, una vez solucionado el problema relajado, si éste muestra solución fraccional, introducir un hiperplano (es decir, una nueva restricción) cumpliendo las siguientes propiedades: el punto óptimo del problema relajado no verifica la condición del hiperplano; todas las soluciones enteras del problema satisfacen las condiciones impuestas por el hiperplano. Estudiaremos el caso en que todas las variables son enteras. Estos cortes fueron introducidos por Ralph Gomory hacia A pesar de ser bastante simples, a nivel teórico tienen una gran ventaja: es posible demostrar que un algoritmo de hiperplanos de corte de Gomory converge siempre en un número finito de pasos. Partimos de una tabla óptima para el problema relajado. Esta solución x tiene alguna componente fraccional. Sea x k una variable básica fraccional. x k + j N y kj x j = x k. So separamos partes enteras y partes fraccionales: x k + j N ([y kj ] + f kj )x j = [ x k ] + f k ; x k + j N [y kj ]x j [ x k ] = f k j N f kj x j. En las soluciones enteras, el término de la izquierda es entero. Por la igualdad, el término de la derecha también será entero. Por otro lado, puesto que 0 < f k < 1 y f kj 0, podemos deducir que f k j N f kj x j f k < 1.

25 Tema 1. Programación Lineal Entera 21 Luego, necesariamente, será f k j N f kj x j 0. El corte de Gomory será j N f kj x j f k. Resta ver que satisface las condiciones de hiperplano de corte. En primer lugar, veamos que la solución relajada x no cumple la desigualdad del corte. Como x N = 0, entonces j N f kj x j = 0. Por otra parte, f k < 0. Así que j N f kj x j f k. En segundo lugar, veamos que, si x es una solución factible entera del problema, entonces esta solución satisface la desigualdad de corte. Puesto que todas las coordenadas de x son enteras, entonces j N f kj x j 0 = f k. Luego, x cumple la desigualdad de corte. Para introducir este corte f kj x j f k, j N se añade una variable de holgura entera x con coste cero: j N f kj x j + x = f k. Estaremos en una tabla óptima que no es factible primal. En consecuencia, habrá que aplicar el dual del símplex.

26 22 Investigación Operativa Ejemplo 24 Max. 3x 1 + 4x 2 s.a 3x 1 +x 2 6, 2x 1 +3x 2 9, x 1,x 2 Z +. Comenzamos resolviendo el problema relajado: Iteración 1: x x z j c j Iteración 2: 7 x x z j c j Iteración 3: x x z j c j Esta tabla es óptima, pero tiene solución fraccional. En consecuencia, añadiremos un corte de Gomory en la variable más fraccional (x 1 ). El corte que usamos es 3 7 x x Resolvamos ahora el problema ampliado: 3 x x x z j c j

27 Tema 1. Programación Lineal Entera 23 x x x z j c j Como x 2 es fraccional, añadimos un nuevo corte para esta variable: 1 3 x Resolvemos el nuevo problema: x x x x z j c j x x x x z j c j Esta tabla es óptima y tiene solución entera. Por lo tanto, ya hemos resuelto el problema: x = (0, 3) y z = 12.

28

29 Tema 2 Optimización en redes En este tema, estudiaremos ciertos problemas que tienen gran importancia en el campo de la Programación Entera. Estos problemas tienen en común que se pueden representar mediante una red (un grafo). Antes, no obstante, estudiaremos un concepto muy útil: el de matriz totalmente unimodular Total unimodularidad Definición 25 Se dice que una matriz A de orden m n es totalmente unimodular si para toda submatriz cuadrada B de A se tiene que B { 1, 0, 1}. Obviamente, si A es totalmente unimodular, entonces a ij {±1, 0} i j. Consideremos el problema (P = ) Min. c t x s.a Ax = b, x 0. Supongamos, además, que el vector b tiene todas sus componentes enteras. Sabemos que existe un vértice del poliedro asociado a (P = ) que es solución óptima. Además, también sabemos que cualquier vértice x se puede representar como x = (x B,x N ), siendo x B las coordenadas básicas y x N las no básicas para una matriz básica B.

30 26 Investigación Operativa En particular, x B = B 1 b y x N = 0, siendo B una submatriz cuadrada de A, invertible y de rango máximo. Recordemos que B 1 = (Adj(B))t. Por lo tanto, si A es totalmente unimodular, B entonces B {±1, 0} y x B tiene todas sus componentes enteras. Eso significa que la relajación lineal del problema tendrá solución óptima entera. Proposición 26 Si A y b tienen todas sus componentes enteras y la matriz A es totalmente unimodular, entonces los vértices del poliedro asociado P = tienen todas sus componentes enteras. Observemos que el resultado anterior para el poliedro (P) = se refiere a un poliedro en el que todas las restricciones son de igualdad. Sin embargo, el resultado puede extender al problema más general Min. c t x (P ) s.a Ax b, x 0. Proposición 27 Si A y b tienen todas sus componentes enteras y la matriz A es totalmente unimodular, entonces los vértices del poliedro asociado P tienen todas sus componentes enteras. Ahora bien, a la vista de una serie de restricciones que nos definen un poliedro, podemos determinar fácilmente si la matriz de las desigualdades es totalmente unimodular? La respuesta es afirmativa y viene dada por el siguiente resultado: Proposición 28 Sea A = (a ij ) tal que a ij {±1, 0}. Supongamos que en cada columna de la matriz A hay un máximo de dos elementos no nulos y que las filas de dicha matriz admiten una partición en dos subconjuntos de índices I 1 e I 2 tales que: 1. Si los elementos no nulos de una columna tiene igual signo, entones las correspondientes filas están en conjuntos distintos. 2. Si los elementos de una columna tienen distinto signo, entonces las correspondientes filas pertenecen al mismo conjunto. Bajo estas hipótesis, la matriz A es totalmente unimodular.

31 Tema 2. Optimización en redes 27 O 1 c 11 c1n c 21 D 1 O 2. c 2n. D n c m1 c mn O m Figura 2.1: Problema de transporte 2.2. El problema del transporte Como su propio nombre indica, se trata de transportar unidades de un producto desde m orígenes O 1,...,O m, hasta n destinos D 1,...,D n. Por comodidad de notación, definimos I = {1,...,m} y J = {1,...,n}. Cada origen dispone de a i unidades de producto, i I, y cada destino demanda d j unidades, j J. Estas cantidades son números enteros. Supondremos que la oferta iguala a la demanda. De no ser así, introduciremos un origen o un destino ficticio para que ambos valores sean iguales. a i = d j. i I j J Para cada arco (i,j), i I, j J, tenemos asociado un coste unitario de transporte c ij y una variable x ij que representa cuántas unidades se transportan desde el origen i hasta el destino j. Como hay que servir todo lo que se demanda a coste mínimo, la función objetivo a minimizar es c ij x ij. i I j J Ahora nos queda establecer las distintas restricciones: 1. Deben satisfacerse todas las demandas: x ij = d j j J. i I

32 28 Investigación Operativa 2. Debe mandarse todo lo almacenado: x ij = a i i I. j J Esto, junto con el hecho de que las variables son enteras, nos da la siguiente formulación para el problema del transporte: Min. c ij x ij s.a i I j J x ij = d j j J, i I x ij = a i i I, j J x ij Z + i I, j J. Veamos las restricciones de modo detallado: x 11. x 1n. x m1. x mn = a 1. a m d 1. d n Tomando como I 1 las m primeras filas y como I 2 las n últimas, vemos que la matriz del problema es totalmente unimodular. Como, además, las ofertas y las demandas son valores enteros, concluimos que la relajación lineal del problema de transporte tiene solución óptima entera. Hay que destacar que nada se dice de los costes c ij ; éstos pueden ser fraccionales y el resultado sigue siendo cierto. Ejemplo 29 Una empresa de televisores tiene tres fábricas en Madrid, Barcelona y Sevilla. Dada un partida de 100, 120 y 60 aparatos, debe enviarlos a cuatro distribuidores ubicados en Fuenlabrada, Mataró, Écija y Vigo, con demandas 70, 90, 50 y 70, respectivamente. La tabla de costes de transporte para cada unidad de producto (en euros) es la siguiente: Destinos Orígenes Fuenlabrada Mataró Écija Vigo Madrid Barcelona Sevilla

33 Tema 2. Optimización en redes 29 Encuentra cómo deben enviarse los televisores para que el coste de transporte total sea mínimo. Solución: En este caso, tenemos un problema de transporte con 3 orígenes (i = 1, 2, 3) y 4 destinos (j = 1, 2, 3, 4). La función objetivo a minimizar es x x x x x 21 + x x 23 14x x x x x 34. Las restricciones que imponen que se satisfagan las demandas son: x 11 + x 21 + x 31 = 70, x 12 + x 22 + x 32 = 90, x 13 + x 23 + x 33 = 50, x 14 + x 24 + x 34 = 70. Las siguientes restricciones impiden enviar más de lo disponible: x 11 + x 12 + x 13 + x , x 21 + x 22 + x 23 + x , x 31 + x 32 + x 33 + x 34. Además, todas variables x ij deben ser enteras. Cuando juntamos las distintas condiciones que hemos establecido y resolvemos la relajación lineal del problema, obtenemos un valor óptimo de 970 para la solución óptima dada por x 11 = 30, x 14 = 70, x 21 = 30, x 22 = 90, x 31 = 10 y x 33 = El problema de la asignación Se tiene n operarios, cada uno capaz de realizar una única tarea de modo simultáneo, y n tareas que deben hacerse. Si el operario i realiza la tarea j, se obtiene un rendimiento r ij. Hay que repartir las tareas de modo que el rendimiento total sea máximo.

34 30 Investigación Operativa Si definimos las variables { 1, si el operario i realiza la tarea j, x ij = 0, en caso contrario, el problema puede formularse mediante el siguiente modelo: n n Max. r ij x ij s.a i=1 j=1 n x ij = 1 j = 1,...,n, i=1 n x ij = 1 i = 1,...,n, j=1 x ij {0, 1} i,j = 1,...,n. Ahora bien, es inmediato ver que se trata de un caso particular del problema del transporte: tenemos n orígenes, n destinos y demandas y ofertas todas iguales a la unidad Conceptos básicos de grafos Definiciones Un grafo G es un par (V,E) donde V es el conjunto de vértices y E V V es el conjunto de ejes. Los vértices también se conocen como nodos. Usualmente, N representa el conjunto de nodos del grafo. Dados dos vértices i y j, representaremos el eje que los une como (i,j) Si (i,j) = (j,i) para todo (i,j) E, se dice que es un grafo no dirigido. En caso contrario, se trata de un grafo dirigido. En los grafos dirigidos no se habla de ejes sino de arcos. El conjunto de arcos de un grafo se suele representar mediante A.

35 Tema 2. Optimización en redes Un grafo mixto es un grafo que contiene tanto ejes como arcos Dado un grafo dirigido G = (V,A), se dice que un vértice j V es sucesor de otro vértice i V si existe un arco desde i hasta j, es decir, si (i,j) A. Se dice que j es predecesor de i si (j,i) A. Una red es una terna (V,A,l), donde (V,A) es un grafo y l : A R es una función de longitud. Un eje (o un arco) es incidente en un vértice i si éste es uno de sus extremos. Dado un grafo G = (V,E), se dice que G = (V,E ) es un subgrafo de G si V V y E E. Dado un subconjunto B V, se llama subgrafo inducido por B al grafo G B = (B,E B ), siendo E B = {(i,j) E / i,j B}. Un subgrafo parcial de G = (V,E) es un grafo G = (V,E ), con E E. Una cadena es una secuencia alternante de vértices y ejes que comienza y acaba en vértices. La cadena se dice simple si no se repite ningún eje. La cadena se dice elemental si no se repite ningún vértice. Un ciclo es una cadena en la que los vértices inicial y final coinciden. Un ciclo simple no presenta repetición de ningún eje. En un ciclo elemental no se repite ningún vértice salvo el primero. Un camino es una secuencia alternante de vértices y arcos que empiezan y acaban en vértice y cumplen que el vértice final de cada arco es vértice inicial del siguiente (y coincide con el vértice intermedio entre ambos arcos). Un camino simple no presenta repetición de ningún arco. En un camino elemental no se repite ningún vértice.

36 32 Investigación Operativa Un circuito es un camino en el que coinciden los vértices inicial y final. Un circuito simple no tiene arcos repetidos. Un circuito elemental no tiene vértice repetidos (salvo el primero). Un grafo completo presenta al menos un eje o arco para cada par de vértices. Un grafo bipartito es aquel que admite una partición {V 1,V 2 } del conjunto de vértices V (V = V 1 V 2, V 1 V 2 = Ø) tal que para todo eje (i,j) E cada uno de los extremos está en uno de los conjuntos de la partición: (i V 1,j V 2 ) (i V 2,j V 1 ). Un grafo se dice conexo si para todo par de vértices existe una cadena que los une. Dado un grafo dirigido, un vértice j se alcanzable desde otro vértice i si existe un camino desde i hasta j. En ese caso, se dice que j es descendiente de i. Dado un grafo, un árbol es un subgrafo conexo sin ciclos. Un árbol de unión es un subgrafo parcial conexo sin ciclos (es decir, un árbol en el que aparecen todos los vértices del grafo). N 1 N 2 N 3 N 4 N Representación matricial de grafos Dado un grafo no dirigido (V,E), se define la matriz de incidencia vértice-eje como aquella que tiene tantas filas como vértices y tantas columnas como ejes. En cada columna, todos los elementos son nulos excepto los dos que se corresponden con extremos del eje de la misma; éstos tiene valor uno. Ejemplo 30 Consideremos el siguiente grafo:

37 Tema 2. Optimización en redes Definamos los ejes e 1 = (1, 2), e 2 = (1, 3), e 3 = (2, 3), e 4 = (2, 4) y e 5 = (3, 4). La matriz de incidencia vértice-eje es: Dado un grafo dirigido (V, A), se define la matriz de incidencia vértice-arco como aquella que tiene tantas filas como vértices y tantas columnas como arcos. En cada columna, todos los elementos son nulos excepto los dos que se corresponden con extremos del arco de la misma; éstos tienen valor uno si se trata del vértice inicial y valor menos uno si se trata del vértice final. Ejemplo 31 Consideremos el siguiente grafo: Definamos los ejes e 1 = (1, 2), e 2 = (1, 3), e 3 = (2, 3), e 4 = (2, 4) y e 5 = (3, 4). La matriz de incidencia vértice-arco es la siguiente: Proposición 32 La matriz de incidencia vértice-arco es totalmente unimodular.

38 34 Investigación Operativa Proposición 33 La matriz de incidencia vértice-eje es totalmente unimodular si, y sólo si, el grafo es bipartito El problema del árbol de unión de peso mínimo Dada una red conexa R = (V,E,l), definimos el peso del árbol P = (V,E ) como l(p) = e E l(e). Nuestro problema es encontrar dentro del grafo un árbol de unión cuyo peso total sea mínimo, es decir, resolver el problema { Min. l(p) s.a P es árbol de unión en G. Para resolver el problemas, disponemos de dos algoritmos muy populares: el algoritmo de Kruskal y el algoritmo de Prim. Algoritmo 34 (Algoritmo de Kruskal) 1. Ordénense de forma creciente los ejes. 2. Elíjanse en ese orden hasta tener n 1 vértices (n es el número de nodos), pero omitiendo aquellos que produzcan ciclos. Algoritmo 35 (Algoritmo de Prim) 1. Elíjase arbitrariamente un vértice r V. 2. Sean V 1 = {r} y V 2 = V \{r}. 3. Elíjase el eje (r,s) de menor longitud de entre aquellos que unen V 1 con V Añádase el vértice s a V 1 y elimínese de V 2. Si se tiene menos de n 1 ejes, repítase el paso anterior. En caso contrario, finalícese el algoritmo. Ejemplo 36 La compañía MCC TV se encuentra en proceso de proporcionar el servicio de cable a cinco nuevas áreas urbanizadas. La figura representa los enlaces potenciales de televisión entre las cinco áreas y los kilómetros de cable necesarios para unirlas. Cuál es el cableado más corto?

39 Tema 2. Optimización en redes Solución: Aplicamos el método de Prim. Comenzamos seleccionando un nodo al azar: el nodo 1. Hacemos V 1 = {1} y V 2 = {2, 3, 4, 5, 6}. A continuación, consideramos los ejes que unen elementos de V 1 con los de V 2 y elegimos el de menor longitud: El eje de menor longitud es (1,2). Hacemos V 1 = {1, 2} y V 2 = {3, 4, 5, 6}. Vamos repitiendo el proceso hasta tener cinco ejes.

40 36 Investigación Operativa

41 Tema 2. Optimización en redes 37 El árbol final tiene longitud mínima: El problema del camino más corto Dada una red conexa R = (V,A,l) e identificando los costes de los nodos como distancias, se trata de encontrar el recorrido de menor longitud desde un nodo origen hasta un nodo destino. Asumiremos que existe un camino entre cada par de vértices distintos. En caso contrario, se añaden los arcos que sean necesarios con longitud + para que así sea. Si P es un camino entre dos vértices de la red, se define la longitud del camino como l(p) = l(a). a P Si a = (i,j), usaremos la notación l ij = l(a). Dado un vértice i, Γ(i) será el conjunto de sucesores de i, es decir, Γ(i) = {j V / (i,j) A}. Nos centramos en el caso en que todos los arcos tienen longitud positiva. Cuando este es el caso, podemos usar un método específico denominado algoritmo de Dijsktra. Fijado un vértice de partida r, el siguiente algoritmo nos permite obtener los caminos más cortos que parten de r y llegan a los demás vértices del grafo. Para un vértice cualquiera i, la longitud del camino más corto desde r hasta i la representaremos como d i.

42 38 Investigación Operativa Algoritmo 37 (Algoritmo de Dijsktra) Paso 1: Se hace d r = 0, d i = l ri, i Γ(r), i r, d i = +, i / Γ(r). Además, definimos los siguientes predecesores: { p i = r, i Γ(r), p i = 0, i / Γ(r). (El valor 0 representa un predecesor ficticio.) Sea T = V \{r}. Paso 2: Se calcula d j = mín {d i } i T y se hace T = T \{j}. Paso 3: Para cada i Γ(j) T, se calcula t i = d j + l ji. Si t i < d i, entonces se hace d i = t i y p i = j. Paso 4: Si T Ø, se va al Paso 2. En caso contrario, finaliza el algoritmo. Ejemplo 38 Dado el siguiente grafo la distancia entre seis ciudades, determina cuál es la ruta de menor longitud entre las ciudades 1 y Solución: Usaremos el algoritmo de Dijkstra fijando r = 1. P1: d 1 = 0, d 2 = 3, d 3 = 5, d 4 = +, d 5 = +, d 6 = + ; p 2 = 1, p 3 = 1, p 4 = 0, p 5 = 0, p 6 = 0; T = {2, 3, 4, 5, 6}. P2: mín {d 2,d 3,d 4,d 5,d 6 } = d 2. T = {3, 4, 5, 6}. P3: Γ(2) T = {3, 4}. t 3 = d 2 + l 23 = = 9; t 4 = d 2 + l 24 = = 6. Actualizamos: d 4 = 6, p 4 = 2.

43 Tema 2. Optimización en redes 39 Así: d 1 = 0, d 2 = 3, d 3 = 5, d 4 = 6, d 5 = +, d 6 = + ; p 2 = 1, p 3 = 1, p 4 = 2, p 5 = 0, p 6 = 0; T = {3, 4, 5, 6}. P4: Como T Ø, repetimos el paso 2. P2: mín {d 3,d 4,d 5,d 6 } = d 3. T = {4, 5, 6}. P3: Γ(3) T = {5}. t 5 = d 3 + l 35 = = 7. Actualizamos: d 5 = 7, p 5 = 3. Así: d 1 = 0, d 2 = 3, d 3 = 5, d 4 = 6, d 5 = 7, d 6 = + ; p 2 = 1, p 3 = 1, p 4 = 2, p 5 = 3, p 6 = 0; T = {4, 5, 6}. P4: Como T Ø, repetimos el paso 2. P2: mín {d 4,d 5,d 6 } = d 4. T = {5, 6}. P3: Γ(4) T = {5, 6}. t 5 = d 4 + l 45 = = 7. t 6 = d 4 + l 46 = = 8. Actualizamos: d 6 = 8, p 6 = 4. Así: d 1 = 0, d 2 = 3, d 3 = 5, d 4 = 6, d 5 = 7, d 6 = 8; p 2 = 1, p 3 = 1, p 4 = 2, p 5 = 3, p 6 = 6; T = {5, 6}. P4: Como T Ø, repetimos el paso 2. P2: mín {d 5,d 6 } = d 5. T = {6}. P3: Γ(5) T = Ø. P4: Como T Ø, repetimos el paso 2. P2: mín {d 6 } = d 6. T = Ø. P3: Γ(6) T = Ø. P4: Como T = Ø, finalizamos el algoritmo. Por lo tanto, el camino más corto desde 1 hasta 6 tiene longitud d = 86 y es 6 p 6 = 4 p 4 = 2 p 2 = 1, es decir

44 40 Investigación Operativa Si quisiésemos determinar las distancias entre todos los pares de vértices, podríamos aplicar el algoritmo de Dijkstra tantas veces como nodos tiene el grafo. No obstante, existe un algoritmo especializado que lo hace simultáneamente: el algoritmo de Floyd. No obstante, dicho la descripción del mismo queda fuera de los objetivos de este curso El problema del flujo de coste mínimo Tenemos un grafo conexo G = (N,A), siendo N = {1,...,n} los nodos y A el conjunto de arcos que unen pares de nodos. Para un determinado producto, cada nodo i ofrece o requiere una cierta cantidad del producto (flujo) b i, i = 1,...,n. Así, podemos distinguir tres tipos de nodos: si b i > 0, es un nodo origen o de servicio; si b i = 0, es un nodo de transbordo; si b i < 0, es un nodo destino o de demanda. Además, asumiremos que el balance total es nulo, es decir, i N b i = 0. Asimismo, puede que haya restricciones adicionales: el arco (i,j) tiene una capacidad máxima u ij ; por el arco (i,j) debe circular un flujo mínimo l ij. Sabiendo que cada arco (i,j) tiene asociado un coste unitario de transporte c ij, el objetivo es encontrar un flujo que satisfaga las demandas y cuyo coste total sea lo menor posible. Para formular el problema, comenzamos definiendo las variables x ij, (i,j) A, que representan el flujo que circula por el arco (i,j). Así, la función objetivo a minimizar es c ij x ij. (i,j) A En cuanto a las restricciones, por una parte, no deben excederse los límites de capacidad de los arcos: x ij u ij (i,j) A, x ij l ij (i,j) A.

45 Tema 2. Optimización en redes 41 Por otra, debe haber un equilibrio entre lo que llega al nodo, lo que el nodo oferta/demanda y lo que sale del nodo: x ij x ji = b i i N. {j /(i,j) A} {j /(j,i) A} Estas igualdades se denominan restricciones de balance de flujo. Así, el modelo resultante es: Min. s.a {j / (i,j) A} x ij (i,j) A {j /(j,i) A} c ij x ij x ji = b i i N, l ij x ij u ij (i,j) A, x ij 0 (i,j) A. Ejemplo 39 Resuelve el problema del flujo de coste mínimo sobre el siguiente grafo: Las ofertas y demandas son: b 1 = 150, b 2 = 20, b 3 = 30, b 4 = 50, b 5 = 40, b 6 = 60, b 7 = 30. Los arcos que salen del nodo 1 no pueden dejar pasar más de 90 unidades (cada uno). Solución:

46 42 Investigación Operativa Analizando el problema, el modelo que se obtiene es el siguiente: Min. 3x x x x x x x x x x x 67 s.a x 12 + x 13 = 150, x 24 + x 25 x 12 = 20, x 35 + x 36 x 13 = 30, x 47 x 24 x 54 = 50, x 54 + x 56 + x 57 x 25 x 35 = 40, x 67 x 36 x 56 = 60, x 47 x 57 x 67 = 30, x 12 90, x 13 90, x ij 0 (i,j) A. La solución del problema es la siguiente: x 12 = 90, x 13 = 60, x 24 = 50, x 25 = 20, x 36 = 30, x 56 = 30, x 57 = 30. El coste de esta solución es Observemos que, si M es la matriz de incidencia vértice-arco para la red, entonces el conjunto de restricciones de balance de flujo pueden escribirse como Mx = b. En particular, esto tiene como consecuencia que, si el vector de demandas b tiene todas sus componentes enteras y las capacidades inferiores l a y superiores u a son todas números enteros, entonces la relajación lineal del problema de flujo a coste mínimo tiene solución entera. Si todas las capacidades inferiores son nulas, existe un método específico para resolver el problema: el algoritmo de Busacker-Gowen (que no detallaremos). Casos particulares Ahora veremos que algunos de los problemas previamente estudiados son, en realidad, casos particulares del problema del flujo de coste mínimo. El problema del transporte En este caso, tenemos que los orígenes actúan como nodos que ofrecen producto y los destinos son nodos que demandan producto. El problema del camino más corto Vamos a ver enseguida que se trata de un caso particular del problema del flujo de coste mínimo. Para ello, sea s el nodo origen y sea t el nodo destino. Consideramos

PROGRAMACIÓN LINEAL ENTERA

PROGRAMACIÓN LINEAL ENTERA PROGRAMACIÓN LINEAL ENTERA Programación lineal: hipótesis de perfecta divisibilidad Así pues decimos que un problema es de programación lineal entera, cuando prescindiendo de las condiciones de integridad,

Más detalles

4. Método Simplex de Programación Lineal

4. Método Simplex de Programación Lineal Temario Modelos y Optimización I 4. Método Simplex de Programación Lineal A- Resolución de problemas, no particulares, con representación gráfica. - Planteo ordenado de las inecuaciones. - Introducción

Más detalles

PROGRAMACION ENTERA. M. en C. Héctor Martínez Rubin Celis 1

PROGRAMACION ENTERA. M. en C. Héctor Martínez Rubin Celis 1 M. en C. Héctor Martínez Rubin Celis PROGRAMACION ENTERA En muchos problemas prácticos, las variables de decisión son realistas únicamente si estas son enteras. Hombres, máquinas y vehículos deben ser

Más detalles

3. Métodos clásicos de optimización lineal

3. Métodos clásicos de optimización lineal 3. Métodos clásicos de optimización lineal Uso del método Simplex El problema que pretende resolverse es un problema de optimización lineal sujeto a restricciones. Para el modelo construido para el problema

Más detalles

Definición de problemas de programación lineal. Método gráfico. Método del SIMPLEX. Método de las dos fases. Análisis de sensibilidad y problema dual

Definición de problemas de programación lineal. Método gráfico. Método del SIMPLEX. Método de las dos fases. Análisis de sensibilidad y problema dual 7. Programación lineal y SIMPLEX Definición de problemas de programación lineal. Método gráfico. Método del SIMPLEX. Método de las dos fases. Análisis de sensibilidad y problema dual Programación Lineal

Más detalles

PASO 1: Poner el problema en forma estandar.

PASO 1: Poner el problema en forma estandar. MÉTODO DEL SIMPLEX PASO Poner el problema en forma estandar: La función objetivo se minimiza y las restricciones son de igualdad PASO 2 Encontrar una solución básica factible SBF PASO 3 Testar la optimalidad

Más detalles

La programación lineal hace referencia al uso eficiente o distribución de recursos limitados, para alcanzar unos objetivos determinados.

La programación lineal hace referencia al uso eficiente o distribución de recursos limitados, para alcanzar unos objetivos determinados. Programación lineal La programación lineal hace referencia al uso eficiente o distribución de recursos limitados, para alcanzar unos objetivos determinados. El nombre de programación no se refiere a la

Más detalles

Pasos en el Método Simplex

Pasos en el Método Simplex Pontificia Universidad Católica Escuela de Ingeniería Departamento de Ingeniería Industrial y de Sistemas Clase 20 El Método Simplex ICS 1102 Optimización Profesor : Claudio Seebach 16 de octubre de 2006

Más detalles

UNIDAD 4.- INECUACIONES Y SISTEMAS (tema 4 del libro)

UNIDAD 4.- INECUACIONES Y SISTEMAS (tema 4 del libro) UNIDAD 4. INECUACIONES Y SISTEMAS (tema 4 del libro) 1. INECUACIONES DE PRIMER GRADO CON UNA INCÓGNITA Definición: Se llama desigualdad a toda relación entre epresiones numéricas o algebraicas unidas por

Más detalles

Resolución. Resolución gráfica de problemas de optimización

Resolución. Resolución gráfica de problemas de optimización Resolución de problemas de optimización Para resolver mente un problema de optimización como éste empezamos representando sus restricciones con igualdad. (0, 4) (0, 4) (4, 0) Para resolver mente un problema

Más detalles

Desarrollo de las condiciones de optimalidad y factibilidad. El problema lineal general se puede plantear como sigue:

Desarrollo de las condiciones de optimalidad y factibilidad. El problema lineal general se puede plantear como sigue: Método simplex modificado Los pasos iterativos del método simplex modificado o revisado son exactamente a los que seguimos con la tabla. La principal diferencia esá en que en este método se usa el algebra

Más detalles

Tema 2. Sistemas de ecuaciones lineales

Tema 2. Sistemas de ecuaciones lineales Tema 2. Sistemas de ecuaciones lineales Estructura del tema. Definiciones básicas Forma matricial de un sistema de ecuaciones lineales Clasificación de los sistemas según el número de soluciones. Teorema

Más detalles

CAPÍTULO 4 PROGRAMACIÓN LINEAL ENTERA

CAPÍTULO 4 PROGRAMACIÓN LINEAL ENTERA CAPÍTULO 4 PROGRAMACIÓN LINEAL ENTERA Programación Lineal Entera Es una técnica que permite modelar y resolver problemas cuya característica principal es que el conjunto de soluciones factibles es discreto.

Más detalles

PROGRAMACIÓN LINEAL. 1. Introducción

PROGRAMACIÓN LINEAL. 1. Introducción PROGRAMACIÓN LINEAL 1. Introducción La programación lineal es una técnica matemática relativamente reciente (siglo XX), que consiste en una serie de métodos y procedimientos que permiten resolver problemas

Más detalles

Módulo Programación lineal. 3 Medio Diferenciado

Módulo Programación lineal. 3 Medio Diferenciado Módulo Programación lineal 3 Medio Diferenciado Profesor: Galo Páez Nombre: Curso :. Sabemos que una ecuación lineal de dos variables tiene la forma con ó y representa siempre una recta en el plano. Ahora

Más detalles

Problemas de Programación Lineal: Método Simplex

Problemas de Programación Lineal: Método Simplex Problemas de Programación Lineal: Método Simplex Ej. (3.1) (C) Los siguientes Tableaux fueron obtenidos en el transcurso de la resolución de PL en los cuales había que maximizar una Función Objetivo con

Más detalles

DUALIDAD EN PROGRAMACION LINEAL

DUALIDAD EN PROGRAMACION LINEAL DUALIDAD EN PROGRAMACION LINEAL Relaciones primal-dual Asociado a cada problema lineal existe otro problema de programación lineal denominado problema dual (PD), que posee importantes propiedades y relaciones

Más detalles

SISTEMAS DE ECUACIONES LINEALES

SISTEMAS DE ECUACIONES LINEALES 1 SISTEMAS DE ECUACIONES LINEALES Una ecuación es un enunciado o proposición que plantea la igualdad de dos expresiones, donde al menos una de ellas contiene cantidades desconocidas llamadas variables

Más detalles

Optimización lineal con R José R. Berrendero

Optimización lineal con R José R. Berrendero Optimización lineal con R José R. Berrendero Introducción Veamos cómo se pueden resolver problemas de optimización lineal con R a través de algunos ejemplos sencillos. La mayor parte de las funciones necesarias

Más detalles

En el siguiente capítulo se hará un repaso de algunas propiedades básicas de conjuntos convexos, para después explicar el método simplex.

En el siguiente capítulo se hará un repaso de algunas propiedades básicas de conjuntos convexos, para después explicar el método simplex. Capitulo 2 Método Simplex Para explicar el método de generación de columnas se explicaran a continuación conceptos básicos de la programación lineal y el método simplex. En especial, el concepto de costo

Más detalles

METODO SIMPLEX ANALISIS DE SENSIBILIDAD Y DUALIDAD

METODO SIMPLEX ANALISIS DE SENSIBILIDAD Y DUALIDAD METODO SIMPLEX ANALISIS DE SENSIBILIDAD Y DUALIDAD Análisis de sensibilidad con la tabla simplex El análisis de sensibilidad para programas lineales implica el cálculo de intervalos para los coeficientes

Más detalles

Teoría de errores. Departamento de Análisis Matemático Universidad de La Laguna

Teoría de errores. Departamento de Análisis Matemático Universidad de La Laguna Teoría de errores BENITO J. GONZÁLEZ RODRÍGUEZ (bjglez@ull.es) DOMINGO HERNÁNDEZ ABREU (dhabreu@ull.es) MATEO M. JIMÉNEZ PAIZ (mjimenez@ull.es) M. ISABEL MARRERO RODRÍGUEZ (imarrero@ull.es) ALEJANDRO SANABRIA

Más detalles

MÉTODO SIMPLEX MÉTODO DE SOLUCIÓN GRÁFICO

MÉTODO SIMPLEX MÉTODO DE SOLUCIÓN GRÁFICO MÉTODO SIMPLEX MÉTODO DE SOLUCIÓN GRÁFICO Investigación de Operaciones 1 Introducción a la Programación Lineal Un modelo de programación lineal busca maximizar o minimizar una función lineal, sujeta a

Más detalles

Ejemplo : PROGRAMACIÓN LINEAL

Ejemplo : PROGRAMACIÓN LINEAL PROGRAMACIÓN LINEAL Los problemas de Programación Lineal son aquellos donde se trata de encontrar el óptimo de una función, por ejemplo máximo de beneficios, o mínimo de costos, siendo esta función lineal.

Más detalles

Sistemas de Ecuaciones Lineales

Sistemas de Ecuaciones Lineales Sistemas de Ecuaciones Lineales 1 Sistemas de ecuaciones y matrices Definición 1 Una ecuación lineal en las variables x 1, x 2,..., x n es una ecuación de la forma con a 1, a 2... y b números reales. a

Más detalles

Teniendo en cuenta los valores de las variables se tienen 3 tipos de modelos lineales enteros:

Teniendo en cuenta los valores de las variables se tienen 3 tipos de modelos lineales enteros: Tema 5 Programación entera En este tema introducimos problemas lineales en los que algunas o todas las variables están restringidas a tomar valores enteros. Para resolver este tipo de problemas se han

Más detalles

Si el objetivo es maximizar, entonces se tiene la forma estándar de maximización y, si el objetivo es minimizar, la forma estándar de minimización.

Si el objetivo es maximizar, entonces se tiene la forma estándar de maximización y, si el objetivo es minimizar, la forma estándar de minimización. Tema El método simplex Los modelos lineales con dos o tres variables se pueden resolver gráficamente. En el Tema hemos visto la solución gráfica de modelos lineales de dos variables. Sin embargo, este

Más detalles

315 M/R Versión 1 Integral 1/13 2009/1 UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERÍA

315 M/R Versión 1 Integral 1/13 2009/1 UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERÍA 35 M/R Versión Integral /3 29/ UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERÍA MODELO DE RESPUESTA (VERSION.2) ASIGNATURA: Investigación de Operaciones I CÓDIGO: 35 MOMENTO: Prueba

Más detalles

El cuerpo de los números reales

El cuerpo de los números reales Capítulo 1 El cuerpo de los números reales 1.1. Introducción Existen diversos enfoques para introducir los números reales: uno de ellos parte de los números naturales 1, 2, 3,... utilizándolos para construir

Más detalles

Métodos de Optimización para la toma de decisiones

Métodos de Optimización para la toma de decisiones Facultad de Ingeniería Departamento de Ciencias de la Ingeniería Magíster en Logística y Gestión de Operaciones Métodos de Optimización para la toma de decisiones MLG-521 Programación Entera 1º Semestre

Más detalles

PLs no acotados El método símplex en dos fases PLs no factibles. Investigación Operativa, Grado en Estadística y Empresa, 2011/12

PLs no acotados El método símplex en dos fases PLs no factibles. Investigación Operativa, Grado en Estadística y Empresa, 2011/12 PLs no acotados El método símplex en dos fases PLs no factibles Prof. José Niño Mora Investigación Operativa, Grado en Estadística y Empresa, 2011/12 Esquema PLs no acotados Necesidad de obtener un vértice

Más detalles

Sistemas de ecuaciones lineales

Sistemas de ecuaciones lineales Sistemas de ecuaciones lineales Este tema resulta fundamental en la mayoría de las disciplinas, ya que son muchos los problemas científicos y de la vida cotidiana que requieren resolver simultáneamente

Más detalles

CLAVE: MIS 206 PROFESOR: MTRO. ALEJANDRO SALAZAR GUERRERO

CLAVE: MIS 206 PROFESOR: MTRO. ALEJANDRO SALAZAR GUERRERO MATEMÁTICAS AVANZADAS PARA LA INGENIERÍA EN SISTEMAS CLAVE: MIS 206 PROFESOR: MTRO. ALEJANDRO SALAZAR GUERRERO 1 1. SISTEMAS LINEALES DISCRETOS Y CONTINUOS 1.1. Modelos matemáticos 1.2. Sistemas 1.3. Entrada

Más detalles

Programación Lineal. Unidad 1 Parte 2

Programación Lineal. Unidad 1 Parte 2 Programación Lineal Unidad 1 Parte 2 Para la mayoría de los problemas modelados con programación lineal, el método gráfico es claramente inútil para resolverlos, pero afortunadamente y gracias a la dedicación

Más detalles

Práctica 2 Métodos de búsqueda para funciones de una variable

Práctica 2 Métodos de búsqueda para funciones de una variable Práctica 2 Métodos de búsqueda para funciones de una variable Introducción Definición 1. Una función real f se dice que es fuertemente cuasiconvexa en el intervalo (a, b) si para cada par de puntos x 1,

Más detalles

UNIDAD UNO PROGRAMACIÓN LÍNEAL Parte 3

UNIDAD UNO PROGRAMACIÓN LÍNEAL Parte 3 UNIDAD UNO PROGRAMACIÓN LÍNEAL Parte 3 Matriz unitaria "I" de base con variables artificiales. Cuando el problema de programación lineal se expresa en la forma canónica de maximizar, las variables de holgura

Más detalles

Pruebas de Acceso a Enseñanzas Universitarias Oficiales de Grado (PAEG) Matemáticas aplicadas a las Ciencias Sociales II - Junio 2011 - Propuesta B

Pruebas de Acceso a Enseñanzas Universitarias Oficiales de Grado (PAEG) Matemáticas aplicadas a las Ciencias Sociales II - Junio 2011 - Propuesta B Pruebas de Acceso a Enseñanzas Universitarias Oficiales de Grado (PAEG) Matemáticas aplicadas a las Ciencias Sociales II - Junio 2011 - Propuesta B 1. Queremos invertir una cantidad de dinero en dos tipos

Más detalles

Qué es la programación lineal?

Qué es la programación lineal? Qué es la programación lineal? En infinidad de aplicaciones de la industria, la economía, la estrategia militar, etc... Se presentan situaciones en las que se exige maximizar o minimizar algunas funciones

Más detalles

El Método Simplex. H. R. Alvarez A., Ph. D. 1

El Método Simplex. H. R. Alvarez A., Ph. D. 1 El Método Simplex H. R. Alvarez A., Ph. D. 1 El Método Simplex Desarrollado en 1947 por George Dantzig como parte de un proyecto para el Departamento de Defensa Se basa en la propiedad de la solución esquina

Más detalles

P. A. U. LAS PALMAS 2005

P. A. U. LAS PALMAS 2005 P. A. U. LAS PALMAS 2005 OPCIÓN A: J U N I O 2005 1. Hallar el área encerrada por la gráfica de la función f(x) = x 3 4x 2 + 5x 2 y la rectas y = 0, x = 1 y x = 3. x 3 4x 2 + 5x 2 es una función polinómica

Más detalles

Tema 5: Sistemas de Ecuaciones Lineales

Tema 5: Sistemas de Ecuaciones Lineales Tema 5: Sistemas de Ecuaciones Lineales Eva Ascarza-Mondragón Helio Catalán-Mogorrón Manuel Vega-Gordillo Índice 1 Definición 3 2 Solución de un sistema de ecuaciones lineales 4 21 Tipos de sistemas ecuaciones

Más detalles

CAPÍTULO 3: DETERMINANTES Y SISTEMAS DE ECUACIONES

CAPÍTULO 3: DETERMINANTES Y SISTEMAS DE ECUACIONES CAPÍTULO 3: DETERMINANTES Y SISTEMAS DE ECUACIONES Parte A: determinantes. A.1- Definición. Por simplificar, consideraremos que a cada matriz cuadrada se le asocia un número llamado determinante que se

Más detalles

Tema II: Programación Lineal

Tema II: Programación Lineal Tema II: Programación Lineal Contenido: Solución a problemas de P.L. por el método gráfico. Objetivo: Al finalizar la clase los alumnos deben estar en capacidad de: Representar gráficamente la solución

Más detalles

Dirección de Operaciones. SESIÓN # 5: El método simplex. Segunda parte.

Dirección de Operaciones. SESIÓN # 5: El método simplex. Segunda parte. Dirección de Operaciones SESIÓN # 5: El método simplex. Segunda parte. Contextualización Qué más hay que conocer del método simplex? En la sesión anterior dimos inicio a la explicación del método simplex.

Más detalles

máx 5x 1 + 7x 2 s.a 2x 1 + x x 1 + 9x 2 41 x 1 0, x 2 0, enteras, z opt z opt 38

máx 5x 1 + 7x 2 s.a 2x 1 + x x 1 + 9x 2 41 x 1 0, x 2 0, enteras, z opt z opt 38 Programación Lineal Entera / Investigación Operativa PROBLEMAS DE INVESTIGACIÓN OPERATIVA. Hoja 4. Resuelve el siguiente problema de programación entera por el método Branch and Bound: máx 5x + 7x s.a

Más detalles

Polinomios. 1.- Funciones cuadráticas

Polinomios. 1.- Funciones cuadráticas Polinomios 1.- Funciones cuadráticas Definición 1 (Función polinomial) Sea n un entero no negativo y sean a n, a n 1,..., a, a 1, a 0 número s reales con a n 0. La función se denomina función polinomial

Más detalles

TEMA 4: DERIVADAS. En símbolos, la pendiente de la curva en P = lim Q P (pendiente de P Q).

TEMA 4: DERIVADAS. En símbolos, la pendiente de la curva en P = lim Q P (pendiente de P Q). TEMA 4: DERIVADAS 1. La derivada de una función. Reglas de derivación 1.1. La pendiente de una curva. La pendiente de una curva en un punto P es una medida de la inclinación de la curva en ese punto. Si

Más detalles

FUNCIONES CUADRÁTICAS. PARÁBOLAS

FUNCIONES CUADRÁTICAS. PARÁBOLAS FUNCIONES CUADRÁTICAS. PARÁBOLAS 1. FUNCIONES CUADRÁTICAS Representemos, en función de la longitud de la base (x), el área (y) de todos los rectángulos de perímetro 1 metros. De ellos, cuáles son las medidas

Más detalles

VECTORES EN EL ESPACIO

VECTORES EN EL ESPACIO VECTORES EN EL ESPACIO Página 133 REFLEXIONA Y RESUELVE Relaciones trigonométricas en el triángulo Halla el área de este paralelogramo en función del ángulo a: cm a cm Área = sen a = 40 sen a cm Halla

Más detalles

Instituto tecnológico de Minatitlán. Investigación de operaciones Ing. Erika Lissette Minaya mortera Unidad 3: programación no lineal

Instituto tecnológico de Minatitlán. Investigación de operaciones Ing. Erika Lissette Minaya mortera Unidad 3: programación no lineal Instituto tecnológico de Minatitlán Investigación de operaciones Ing. Erika Lissette Minaya mortera Unidad 3: programación no lineal Alejandra de la cruz francisco Ingeniería en sistemas computacionales

Más detalles

EL MÉTODO SIMPLEX. los redondos. Por último, a los manteles rectangulares se les deben colocar cuatro esquineros de refuerzo.

EL MÉTODO SIMPLEX. los redondos. Por último, a los manteles rectangulares se les deben colocar cuatro esquineros de refuerzo. EL MÉTODO SIMPLEX Hasta ahora, la única forma que conocemos de resolver un problema de programación lineal, es el método gráfico. Este método es bastante engorroso cuando aumenta el número de restricciones

Más detalles

MICROECONOMÍA II. PRÁCTICA TEMA 5: El Modelo de Equilibrio General con Intercambio Puro

MICROECONOMÍA II. PRÁCTICA TEMA 5: El Modelo de Equilibrio General con Intercambio Puro MICROECONOMÍA II Problema 1 PRÁCTICA TEMA 5: El Modelo de Equilibrio General con Intercambio Puro PRIMERA PARTE: La Caja de Edgeworth y la Curva de Contrato El conjunto de asignaciones eficientes está

Más detalles

TEMA III MÉTODO SIMPLEX. CONCEPTOS BÁSICOS

TEMA III MÉTODO SIMPLEX. CONCEPTOS BÁSICOS TEMA III MÉTODO SIMPLE. CONCEPTOS BÁSICOS MÉTODOS CUANTITATIVOS I TEMA III. MÉTODO SIMPLE. CONCEPTOS BÁSICOS INDICE.- FACTORES PRODUCTIVOS (A i )....- VECTOR EISTENCIAS (P o )....- TÉCNICA... 4.- PROCESO

Más detalles

MATEMÁTICAS APLICADAS A LAS C.C. SOCIALES

MATEMÁTICAS APLICADAS A LAS C.C. SOCIALES MATEMÁTICAS APLICADAS A LAS C.C. SOCIALES CAPÍTULO 1 Curso preparatorio de la prueba de acceso a la universidad para mayores de 25 años curso 2010/11 Nuria Torrado Robles Departamento de Estadística Universidad

Más detalles

Tema 1. Álgebra lineal. Matrices

Tema 1. Álgebra lineal. Matrices 1 Tema 1. Álgebra lineal. Matrices 0.1 Introducción Los sistemas de ecuaciones lineales aparecen en un gran número de situaciones. Son conocidos los métodos de resolución de los mismos cuando tienen dos

Más detalles

Profesor: Rafa González Jiménez. Instituto Santa Eulalia ÍNDICE

Profesor: Rafa González Jiménez. Instituto Santa Eulalia ÍNDICE TEMA 5: DERIVADAS. APLICACIONES. ÍNDICE 5..- Derivada de una función en un punto. 5...- Tasa de variación media. Interpretación geométrica. 5..2.- Tasa de variación instantánea. Derivada de una función

Más detalles

Matrices y Determinantes.

Matrices y Determinantes. Matrices y Determinantes. Definición [Matriz] Sea E un conjunto cualquiera, m, n N. Matrices. Generalidades Matriz de orden m n sobre E: a 11 a 12... a 1n a 21 a 22... a 2n...... a m1 a m2... a mn a ij

Más detalles

Curso Propedéutico de Cálculo Sesión 2: Límites y Continuidad

Curso Propedéutico de Cálculo Sesión 2: Límites y Continuidad y Laterales Curso Propedéutico de Cálculo Sesión 2: y Joaquín Ortega Sánchez Centro de Investigación en Matemáticas, CIMAT Guanajuato, Gto., Mexico y Esquema Laterales 1 Laterales 2 y Esquema Laterales

Más detalles

MÉTODO SIMPLEX MÉTODO DE SOLUCIÓN GRÁFICO. M. En C. Eduardo Bustos Farías

MÉTODO SIMPLEX MÉTODO DE SOLUCIÓN GRÁFICO. M. En C. Eduardo Bustos Farías MÉTODO SIMPLEX MÉTODO DE SOLUCIÓN GRÁFICO M. En C. Eduardo Bustos Farías 1 Introducción a la Programación Lineal Un modelo de programación lineal busca maximizar o minimizar una función lineal, sujeta

Más detalles

Programación Lineal Entera

Programación Lineal Entera Programación Lineal Entera Los modelos de programación entera son una extensión de los modelos lineales en los que algunas variables toman valores enteros. Con frecuencia las variables enteras sólo toman

Más detalles

CURSOSO. Aritmética: Númerosnaturalesyenteros. Númerosracionalesyfraciones. MATEMÁTICAS. AntonioF.CostaGonzález

CURSOSO. Aritmética: Númerosnaturalesyenteros. Númerosracionalesyfraciones. MATEMÁTICAS. AntonioF.CostaGonzález CURSOSO CURSOSO MATEMÁTICAS Aritmética: Númerosnaturalesyenteros. Númerosracionalesyfraciones. AntonioF.CostaGonzález DepartamentodeMatemáticasFundamentales FacultaddeCiencias Índice 1 Introducción y objetivos

Más detalles

TEMA 11. Autovalores y autovectores. Diagonalización y formas canónicas.

TEMA 11. Autovalores y autovectores. Diagonalización y formas canónicas. TEMA 11 F MATEMÁTICOS TEMA 11 Autovalores y autovectores Diagonalización y formas canónicas 1 Introducción Definición 1 (Matrices semejantes) Sean A y B dos matrices cuadradas de orden n Decimos que A

Más detalles

EL MÉTODO SIMPLEX ALGEBRAICO: MINIMIZACION. M. En C. Eduardo Bustos Farías

EL MÉTODO SIMPLEX ALGEBRAICO: MINIMIZACION. M. En C. Eduardo Bustos Farías EL MÉTODO SIMPLEX ALGEBRAICO: MINIMIZACION M. En C. Eduardo Bustos Farías 1 Minimización El método simplex puede aplicarse a un problema de minimización si se modifican los pasos del algoritmo: 1. Se cambia

Más detalles

Problemas de programación entera: El método Ramifica y Acota. Investigación Operativa, Grado en Estadística y Empresa, 2011/12

Problemas de programación entera: El método Ramifica y Acota. Investigación Operativa, Grado en Estadística y Empresa, 2011/12 Problemas de programación entera: El método Ramifica y Acota Prof. José Niño Mora Investigación Operativa, Grado en Estadística y Empresa, 2011/12 Esquema La estrategia Divide y vencerás Árboles de enumeración

Más detalles

Mat r i z in v e r s a

Mat r i z in v e r s a Unidad 2 Método de GaUss Mat r i z in v e r s a M U lt i pli cat i va Objetivos: Al inalizar la unidad, el alumno: Representará un sistema de m ecuaciones lineales con n incógnitas mediante una matriz

Más detalles

UNIVERSIDAD NACIONAL DE INGENIERÍA UNI RUACS ESTELI

UNIVERSIDAD NACIONAL DE INGENIERÍA UNI RUACS ESTELI Estelí, 13 de Agosto del 2012 EL METODO SIMPLEX El método simplex es el más generalizado para resolver problemas de programación lineal. Se puede utilizar para cualquier número razonable de productos y

Más detalles

Grado en Química Bloque 1 Funciones de una variable

Grado en Química Bloque 1 Funciones de una variable Grado en Química Bloque Funciones de una variable Sección.5: Aplicaciones de la derivada. Máximos y mínimos (absolutos) de una función. Sea f una función definida en un conjunto I que contiene un punto

Más detalles

si este límite es finito, y en este caso decimos que f es integrable (impropia)

si este límite es finito, y en este caso decimos que f es integrable (impropia) Capítulo 6 Integrales impropias menudo resulta útil poder integrar funciones que no son acotadas, e incluso integrarlas sobre recintos no acotados. En este capítulo desarrollaremos brevemente una teoría

Más detalles

Ejercicio 1: Realiza las siguientes divisiones por el método tradicional y por Ruffini: a)

Ejercicio 1: Realiza las siguientes divisiones por el método tradicional y por Ruffini: a) Tema 2: Ecuaciones, Sistemas e Inecuaciones. 2.1 División de polinomios. Regla de Ruffini. Polinomio: Expresión algebraica formada por la suma y/o resta de varios monomios. Terminología: o Grado del polinomio:

Más detalles

Formulación de un Modelo de Programación Lineal

Formulación de un Modelo de Programación Lineal Formulación de un Modelo de Programación Lineal Para facilitar el planteamiento del modelo matemático general de la PL considere el siguiente problema: La planta HBB fabrica 4 productos que requieren para

Más detalles

Problemas de transporte, asignación y trasbordo

Problemas de transporte, asignación y trasbordo Problemas de transporte, asignación y trasbordo 1. Plantear un problema de transporte Tiene como objetivo encontrar el mejor plan de distribución, generalmente minimizando el coste. Un problema está equilibrado

Más detalles

LECCIÓN 9 5 PROBLEMAS RESUELTOS

LECCIÓN 9 5 PROBLEMAS RESUELTOS LECCIÓN 9 PROBLEMAS RESUELTOS Problema. El largo de un rectángulo mide 8 m y su ancho mide 2 m. Cuál de las siguientes es la mayor longitud de una varilla que cabe exactamente tanto en el largo como en

Más detalles

Sistemas de inecuaciones de primer grado con dos incógnitas

Sistemas de inecuaciones de primer grado con dos incógnitas SISTEMAS DE INECUACIONES DE PRIMER GRADO CON DOS INCÓGNITAS 1) (Selectividad 2005) Sea el siguiente sistema de inecuaciones: 3y 6; x 2y 4; x + y 8; x 0; y 0. Dibuje la región que definen y calcule sus

Más detalles

Sistemas de Ecuaciones y Matrices

Sistemas de Ecuaciones y Matrices Sistemas de Ecuaciones y Matrices 0.1 Sistemas de ecuaciones Consideremos las gráficas de dos funciones f y g como en la figura siguiente: P Q y = fx y = gx En la práctica, en ocasiones hay que encontrar

Más detalles

PROBLEMA DEL TRANSPORTE VRP (VEHICLE ROUTING PROBLEM)

PROBLEMA DEL TRANSPORTE VRP (VEHICLE ROUTING PROBLEM) PROBLEMA DEL TRANSPORTE VRP (VEHICLE ROUTING PROBLEM) Contenido Entorno. Definición VRP. Instancia de VRP. Formulación con PLE (modelo). Ejemplo instancia VRP con PLE. Variantes del problema de VRP. Técnicas

Más detalles

(2.c) RESOLUCIÓN DE MODELOS LINEALES. ALGORITMO DEL SIMPLEX

(2.c) RESOLUCIÓN DE MODELOS LINEALES. ALGORITMO DEL SIMPLEX (2.c) RESOLUCIÓN DE MODELOS LINEALES. ALGORITMO DEL SIMPLEX FORMA CANÓNICA DE UN SISTEMA Ax = b Forma Standard y Base factible (repaso). Expresión de las v. básicas en función de las no básicas. Forma

Más detalles

EL MÉTODO SIMPLEX ALGEBRAICO. M. En C. Eduardo Bustos Farías

EL MÉTODO SIMPLEX ALGEBRAICO. M. En C. Eduardo Bustos Farías EL MÉTODO SIMPLEX ALGEBRAICO M. En C. Eduardo Bustos Farías 1 EL METODO SIMPLEX Es un procedimiento general para resolver problemas de programación lineal. Fue desarrollado en el año de 1947 por George

Más detalles

Resumen Tema 3: Derivadas. Concepto. Propiedades. Cálculo de derivadas. Aplicaciones.

Resumen Tema 3: Derivadas. Concepto. Propiedades. Cálculo de derivadas. Aplicaciones. Resumen Tema 3: Derivadas. Concepto. Propiedades. Cálculo de derivadas. Aplicaciones. 0.. Concepto de derivada. Definición. Sea f : S R R, a (b, c) S. Decimos que f es derivable en a si existe: f(x) f(a)

Más detalles

TEMA 1: Funciones elementales

TEMA 1: Funciones elementales MATEMATICAS TEMA 1 CURSO 014/15 TEMA 1: Funciones elementales 8.1 CONCEPTO DE FUNCIÓN: Una función es una ley que asigna a cada elemento de un conjunto un único elemento de otro. Con esto una función hace

Más detalles

2.2 PROGRAMACION LINEAL: METODOS DE SOLUCION

2.2 PROGRAMACION LINEAL: METODOS DE SOLUCION 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCION 1. METODO GRAFICO 2. METODO SIMPLEX - ALGEBRAICO 3. METODO SIMPLEX - TABULAR 4. METODO SIMPLEX - MATRICIAL 1 2.2.1 METODO GRAFICO (modelos con 2 variables)

Más detalles

Cómo resolver el Método Simplex, con penalizaciones, o gran M

Cómo resolver el Método Simplex, con penalizaciones, o gran M Cómo resolver el étodo Simple, con penalizaciones, o gran aterial de apoyo realizado por Sebastián Fellenberg C Estudiante de Ingeniería Industrial Universidad de las Américas Chile Introducción Antes

Más detalles

APLICACIONES DE AS: EJEMPLOS

APLICACIONES DE AS: EJEMPLOS APLICACIONES DE AS: EJEMPLOS ELISA SCHAEFFER Programa de Posgrado en Ingeniería de Sistemas (PISIS) elisa@yalma.fime.uanl.mx INVESTIGACIÓN DE OPERACIONES EJEMPLO: TRANSPORTE Tenemos dos fábricas farmaceúticas.

Más detalles

Matemáticas I: Hoja 1

Matemáticas I: Hoja 1 Matemáticas I: Hoja 1 1. Números complejos Hasta ahora, hemos visto que los números reales son aquellos que poseen una expresión decimal y que podemos representar en una recta infinita. No obstante, para

Más detalles

Programación Entera. Nelson Devia C. IN Modelamiento y Optimización Departamento de Ingeniería Industrial Universidad de Chile

Programación Entera. Nelson Devia C. IN Modelamiento y Optimización Departamento de Ingeniería Industrial Universidad de Chile IN3701 - Modelamiento y Optimización Departamento de Ingeniería Industrial Universidad de Chile 2011 Basado en Bertsimas, D., Tsitsiklis, J. (1997) Introduction to Linear Optimization Capítulos 10 y 11

Más detalles

TEORÍA DE GRAFOS. OPTIMIZACIÓN EN REDES 1

TEORÍA DE GRAFOS. OPTIMIZACIÓN EN REDES 1 Optimización en redes. Fluos en redes (Network Flows NF) Andrés Ramos Universidad Pontificia Comillas http://www.iit.comillas.edu/aramos/ Andres.Ramos@comillas.edu TEORÍA DE GRAFOS. OPTIMIZACIÓN EN REDES

Más detalles

Universidad Nacional de Ingeniería Sede: UNI-Norte Investigación de Operaciones I

Universidad Nacional de Ingeniería Sede: UNI-Norte Investigación de Operaciones I Universidad acional de Ingeniería Sede: UI-orte Investigación de Operaciones I Método Simple Revisado Ejemplo. Resolver el siguiente problema de P.L. s. a: Ma, z 6 Para resolver por el método simple revisado,

Más detalles

JUNIO 2010. Opción A. 1 1.- Dada la parábola y = 3 área máxima que tiene un lado en la recta y los otros dos vértices en la gráfica de la parábola.

JUNIO 2010. Opción A. 1 1.- Dada la parábola y = 3 área máxima que tiene un lado en la recta y los otros dos vértices en la gráfica de la parábola. Junio 00 (Prueba Específica) JUNIO 00 Opción A.- Dada la parábola y 3 área máima que tiene un lado en la recta y los otros dos vértices en la gráfica de la parábola., y la recta y 9, hallar las dimensiones

Más detalles

Representación de números enteros: el convenio complemento a dos

Representación de números enteros: el convenio complemento a dos Representación de números enteros: el convenio complemento a dos Apellidos, nombre Martí Campoy, Antonio (amarti@disca.upv.es) Departamento Centro Informàtica de Sistemes i Computadors Escola Tècnica Superior

Más detalles

Ejemplo 1. Ejemplo introductorio

Ejemplo 1. Ejemplo introductorio . -Jordan. Ejemplo 1. Ejemplo introductorio. -Jordan Dos especies de insectos se crían juntas en un recipiente de laboratorio. Todos los días se les proporcionan dos tipos de alimento A y B. 1 individuo

Más detalles

4. Métodos de Solución PPL : Solución Algebraica: METODO SIMPLEX Primera Parte

4. Métodos de Solución PPL : Solución Algebraica: METODO SIMPLEX Primera Parte 4. Métodos de Solución PPL : Solución Algebraica: METODO SIMPLEX Primera Parte Jorge Eduardo Ortiz Triviño jeortizt@unal.edu.co http:/www.docentes.unal.edu.co En PL un sistema de producción se representa

Más detalles

Matrices, Determinantes y Sistemas de ecuaciones lineales

Matrices, Determinantes y Sistemas de ecuaciones lineales Tema 1 Matrices, Determinantes y Sistemas de ecuaciones lineales 1.1. Matrices Definición: Una MATRIZ es un conjunto de números reales dispuestos en forma de rectángulo, que usualmente se delimitan por

Más detalles

Lección 1. Algoritmos y conceptos básicos.

Lección 1. Algoritmos y conceptos básicos. Página 1 de 8 Lección 1. Algoritmos y conceptos básicos. Objetivos. La primera lección del curs está dedicada a repasar los conceptos y algoritmos del álgebra lineal, básicos para el estudio de la geometría

Más detalles

Métodos Numéricos: Resumen y ejemplos Tema 5: Resolución aproximada de ecuaciones

Métodos Numéricos: Resumen y ejemplos Tema 5: Resolución aproximada de ecuaciones Métodos Numéricos: Resumen y ejemplos Tema 5: Resolución aproximada de ecuaciones Francisco Palacios Escuela Politécnica Superior de Ingeniería de Manresa Universidad Politécnica de Cataluña Abril 009,

Más detalles

Para que un problema pueda ser solucionado por el método de transporte, este debe reunir tres condiciones:

Para que un problema pueda ser solucionado por el método de transporte, este debe reunir tres condiciones: MÉTODO DE TRANSPORTE Es un método de programación lineal para la asignación de artículos de un conjunto de origines a un conjunto de destinos de tal manera que se optimice la función objetivo. Esta técnica

Más detalles

RESOLUCIÓN DE MODELOS DE PROGRAMACIÓN ENTERA MÉTODOS DE CORTE CORTES DE GOMORY

RESOLUCIÓN DE MODELOS DE PROGRAMACIÓN ENTERA MÉTODOS DE CORTE CORTES DE GOMORY 25 de Junio de 2012 RESOLUCIÓN DE MODELOS DE PROGRAMACIÓN ENTERA MÉTODOS DE CORTE CORTES DE GOMORY Postgrado de Investigación de Operaciones Facultad de Ingeniería Universidad Central de Venezuela Programación

Más detalles

Desde la secundaria estamos acostumbrados a trabajar con polinomios, los cuales identificamos con expresiones de la forma

Desde la secundaria estamos acostumbrados a trabajar con polinomios, los cuales identificamos con expresiones de la forma Polinomios Desde la secundaria estamos acostumbrados a trabajar con polinomios, los cuales identificamos con expresiones de la forma p(x) = a 0 + a 1 x +... + a n x n (1) donde x es la variable y a 0,

Más detalles

Formulación del problema de la ruta más corta en programación lineal

Formulación del problema de la ruta más corta en programación lineal Formulación del problema de la ruta más corta en programación lineal En esta sección se describen dos formulaciones de programación lineal para el problema de la ruta más corta. Las formulaciones son generales,

Más detalles

Lección 10: Representación gráfica de algunas expresiones algebraicas

Lección 10: Representación gráfica de algunas expresiones algebraicas LECCIÓN Lección : Representación gráfica de algunas epresiones algebraicas En la lección del curso anterior usted aprendió a representar puntos en el plano cartesiano y en la lección del mismo curso aprendió

Más detalles

, y efectuar la multiplicación 10000

, y efectuar la multiplicación 10000 1.5 Figura 1.10: Las ecuaciones representan un cierto equilibrio entre los dos miembros separados por el signo igual. 1.5.1 La idea de ecuación Muchos problemas que se plantean en la vida real consisten

Más detalles

Aplicaciones de la programación

Aplicaciones de la programación Tema 3 Aplicaciones de la programación dinámica 3.1. Problemas de Inventario Ejemplo 3.1. Supóngase que una empresa sabe que la demanda de un determinado producto durante cada uno de los próximos cuatro

Más detalles