Ejercicios de Programación Entera

Documentos relacionados
RELACIÓN DE PROBLEMAS DE CLASE DE PROGRAMACIÓN LINEAL ENTERA

PROBLEMA 1. Considere el siguiente problema de programación lineal:

UNIDAD 6.- PROGRAMACIÓN LINEAL

Contenido: Solución algebraica a los problemas de programación lineal con el método simplex.

Práctica 2: Análisis de sensibilidad e Interpretación Gráfica

Pasos en el Método Simplex

Tema 3: El Método Simplex. Algoritmo de las Dos Fases.

Tema 5: Análisis de Sensibilidad y Paramétrico

Introducción a la programación lineal

Esterilización 1 4. Envase 3 2

PROGRAMACIÓN LINEAL PROGRAMACIÓN LINEAL.

Z Optima X 1 + X 2 5 Z 1 -X 1 + 2X Región factible. Figura 1

Introducción a la Programación Lineal

PROGRAMACIÓN LINEAL ENTERA

Parciales Matemática CBC Parciales Resueltos - Exapuni.

Programación Lineal (PL)

PROBLEMA DE PROGRAMACIÓN LINEAL RESUELTO POR MÉTODO SIMPLEX

Fabio Prieto Ingreso 2003

Unidad 2: Ecuaciones, inecuaciones y sistemas.

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

Algebra lineal y conjuntos convexos

POST-OPTIMIZACIÓN Y SENSIBILIDAD EN PROBLEMAS LINEALES.

MÉTODO DEL DUAL (TEORIA DE DUALIDAD)

Tema 3. El metodo del Simplex.

Tema II: Programación Lineal

May 4, 2012 CAPÍTULO 5: OPTIMIZACIÓN

Práctica N o 8 Desigualdades Válidas - Algoritmos de Planos de Corte - Algoritmos Branch & Cut

7.FUNCIÓN REAL DE VARIABLE REAL

RESOLUCIÓN INTERACTIVA DEL SIMPLEX

Tema 6: Programación entera: Bifurcación y planos de corte.

Programación Lineal. El método simplex

MATEMÁTICAS APLICADAS A LAS C.C. SOCIALES

Factorización de polinomios FACTORIZACIÓN DE POLINOMIOS

Lo que se hace entonces es introducir variables artificiales ADAPTACIÓN A OTRAS FORMAS DEL MODELO.

Tema 4. Probabilidad Condicionada

Práctica N 6 Modelos de Programación Lineal Entera

PASO 1: Poner el problema en forma estandar.

Límites de funciones de varias variables.

Problemas de Programación Lineal: Método Simplex

WinQSB. Módulo de Programación Lineal y Entera. Al ejecutar el módulo Linear and Integer Programming, la ventana de inicio es la siguiente

Coordinación de Matemática I (MAT021) 1 er Semestre de 2013 Semana 2: Lunes 18 Viernes 22 de Marzo. Contenidos

S = N λ = 5 5 = 1 hora.

DUALIDAD EN PROGRAMACION LINEAL

METODO SIMPLEX ANALISIS DE SENSIBILIDAD Y DUALIDAD

Vectores y rectas. 4º curso de E.S.O., opción B. Modelo de examen (ficticio)

UNIDAD 6: SISTEMAS DE ECUACIONES

UNIDAD 10: ECUACIONES DE SEGUNDO GRADO.

Formule un modelo de programación lineal binaria que minimice la distancia máxima entre un distrito y su respectiva estación.

METODO SIMPLEX NOTAS DE CLASE: INVESTIGACIÓN DE OPERACIONES I UNIVERSIDAD CENTRAL PROFESOR CARLOS DÍAZ. Max Z= 12X X 2

Inecuaciones lineales y cuadráticas

Programación entera: Ejemplos, resolución gráfica, relajaciones lineales. Investigación Operativa, Grado en Estadística y Empresa, 2011/12

GUIA DE EJERCICIOS - TEORIA DE DECISIONES

Universidad Tec Milenio: Profesional IO04001 Investigación de Operaciones I. Tema # 9

PLE: Ramificación y Acotamiento

1. dejar a una lado de la igualdad la expresión que contenga una raíz.

3.1 ESPACIO DE SOLUCIONES EN FORMA DE ECUACIÓN

Posible solución al examen de Investigación Operativa de Sistemas de junio de 2002

CAPÍTULO 4 RECOPILACIÓN DE DATOS Y CÁLCULO DEL VPN. En el presente capítulo se presenta lo que es la recopilación de los datos que se tomarán

ÁLGEBRA LINEAL II Algunas soluciones a la práctica 2.3

Modelos de Programación Lineal: Resolución gráfica y Teorema fundamental. Investigación Operativa, Grado en Estadística y Empresa, 2011/12

c). Conceptos. Son los grupos o conceptos que se enlistan en las filas de la izquierda de la tabla

Tema No. 3 Métodos de Resolución de Modelos de Programación Lineal. El Método Gráfico y Método Simplex Autoevaluación y Ejercicios Propuestos

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

Con miras a conocer la metodología que se aplica en el Método SIMPLEX, tenemos a continiacion un ejemplo:

Ejemplos y ejercicios de. Estadística Descriptiva. yanálisis de Datos. 2 Descripción estadística de una variable. Ejemplos y ejercicios.

ECUACIONES.

Teoremas de Convergencia

Tema 14: Sistemas Secuenciales

Soluciones básicas factibles y vértices Introducción al método símplex. Investigación Operativa, Grado en Estadística y Empresa, 2011/12

Universidad Tec Milenio: Profesional HG04002 Análisis de Decisiones I

Apéndice sobre ecuaciones diferenciales lineales

Funciones 1. D = Dom ( f ) = x R / f(x) R. Recuerda como determinabas los dominios de algunas funciones: x x

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

MODELADO Y SIMULACIÓN. Febrero de Primera semana

Solución de un sistema de desigualdades

Introducción a Programación Lineal

Ecuaciones Diofánticas

El método simplex 1. 1 Forma estándar y cambios en el modelo. 2 Definiciones. 3 Puntos extremos y soluciones factibles básicas. 4 El método simplex.

Unidad V. 5.1 Recta tangente y recta normal a una curva en un punto. Curvas ortogonales.

PLANEACIÓN AGREGADA VARIABLES Y CONSIDERACIONES DE UN PLAN AGREGADO

Método de Sustitución

1 Método de la bisección. 1.1 Teorema de Bolzano Teorema 1.1 (Bolzano) Contenido

Ángulos complementarios Un par de ángulos son complementarios si la suma resultante de sus medidas es.

GEOMETRÍA. que pasa por el punto P y es paralelo a π. (0,9 puntos) b) Determinar la ecuación del plano π

8. ESPACIOS VECTORIALES Y APLICACIONES LINEALES.

Estudio de fallas asimétricas

EJEMPLO 1. Solución: Definimos las variables originales como: = número de conejos. x = número de pollos.

1.3.- V A L O R A B S O L U T O

sobre un intervalo si para todo de se tiene que. Teorema 1 Sean y dos primitivas de la función en. Entonces,

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

PROGRAMACIÓN NO LINEAL INTRODUCCIÓN

2 4. c d. Se verifica: a + 2b = 1

Materia: Matemática de Octavo Tema: Conjunto Q (Números Racionales)

RESOLUCIÓN DE SISTEMAS MEDIANTE DETERMINANTES

L/O/G/O Tema: Integrantes:

Problemas de Transbordo

Dos inecuaciones se dice que son equivalentes cuando ambas tienen las mismas soluciones.

I.E.S. CUADERNO Nº 5 NOMBRE: FECHA: / / Inecuaciones. Resolver inecuaciones de primer y segundo grado con una incógnita.

Identificación de inecuaciones lineales en los números reales

CONTINUIDAD DE FUNCIONES. SECCIONES A. Definición de función continua. B. Propiedades de las funciones continuas. C. Ejercicios propuestos.

Transcripción:

Ejercicios de Programación Entera Investigación Operativa Ingeniería Informática, UC3M Curso 08/09. En una ciudad se intenta disminuir la contaminación reduciendo la circulación interurbana. Un primer estudio busca determinar el mínimo número de autobuses que satisfagan la necesidades de transporte. Después de recoger la información se observa que este número varía según la hora del día, pero se puede considerar constante en intervalos sucesivos de cuatro horas: :00 a.m. 4:00 a.m. 4 autobuses :00 p.m. 4:00 p.m. 7 autobuses 4:00 a.m. 8:00 a.m. 8 autobuses 4:00 p.m. 8:00 p.m. autobuses 8:00 a.m. :00 p.m. 0 autobuses 8:00 p.m. :00 a.m. 4 autobuses Los turnos de autobuses funcionan durante ocho horas seguidas y pueden comenzar al principio de cualquiera de los seis periodos descritos anteriormente. Además, si en el turno que comienza a las 8:00 p.m. hay más de 4 autobuses, en el siguiente ha de haber también más de 4. Plantear un problema de programación lineal entera para determinar el mínimo número de autobuses diario que satisface las necesidades anteriores. Solución. Las decisiones que se deben tomar son cuántos autobuses empiezan a trabajar en cada uno de los turnos. Hay 6 turnos, que empiezan al principio de cada uno de los 6 periodos de 4 horas descritos anteriormente. Luego, las variables de decisión que tenemos que considerar son x i = número de autobuses que empiezan a trabajar en el turno i, i =,..., 6, que son variables enteras. Como los turnos son de 8 horas consecutivas, un autobús que empiece a trabajar en el periodo i, i =,..., 5, está circulando en el periodo siguiente, i +. Los que entran a trabajar en el último periodo, el 6, están circulando también en el primero de la mañana, el. Así, para cubrir las necesidades mínimas en cada uno de los periodos se debe verificar: x 6 + x 4 x + x 8 x + x 3 0 x 3 + x 4 7 x 4 + x 5 x 5 + x 6 4

Queremos minimizar el número de autobuses diario, que viene dado por x + x + x 3 + x 4 + x 5 + x 6. Por último, tenemos que modelar la condición: si en el turno que comienza a las 8:00 p.m. hay más de 4 autobuses, en el siguiente ha de haber también más de 4. Necesitamos una variable binaria δ que nos indique si en el turno que comienza a las 8:00 p.m. hay más de 4 autobuses (5 o más) o sólo hay 4 (sabemos que, como poco, hay 4). Para ello podemos considerar la restricción: x 5 + x 6 4( δ) + 0δ donde x 5 + x 6 es el número de autobuses que están circulando en el periodo que empieza a las 8:00 p.m. La cota superior de 0 se obtiene como + 4 + 4. Como mucho, en los últimos turnos empiezan a trabajar los autobuses necesarios para cubrir esos turnos más el siguiente. Si x 5 + x 6 > 4 δ =. Ahora, es suficiente con imponer que si δ = x 6 + x > 4. Para ello, se incluye la restricción x 6 + x 4 + δ y podemos eliminar la condición x 6 + x 4 Otra opción, que nos permite no incluir la variable binaria δ es, teniendo en cuenta que 4 x 5 +x 6 0, añadir la restricción: x 5 + x 6 4 6(x 6 + x 4) También podíamos haber interpretado que la condición sólo hacía referencia a los autobuses que empezaban en ese periodo, entonces tendríamos que considerar x 6 4( δ) + 8δ y x 5δ En este caso, no podemos eliminar la condición x 6 + x 4 El problema quedaría finalmente como: Modelo Modelo Mín x + x + x 3 + x 4 + x 5 + x 6 s.a. x 6 + x 4 x + x 8 x + x 3 0 x 3 + x 4 7 x 4 + x 5 x 5 + x 6 4 x 6 + x 4 + δ x 5 + x 6 4( δ) + 0δ δ {0, }, x i Z +, i =,..., 6 Mín x + x + x 3 + x 4 + x 5 + x 6 s.a. x 6 + x 4 x + x 8 x + x 3 0 x 3 + x 4 7 x 4 + x 5 x 5 + x 6 4 x 6 + x 4 x 6 4( δ) + 8δ x 5δ δ {0, }, x i Z +, i =,..., 6. Una empresa fabrica tres productos, y 3, que deben procesarse en dos tipos de maquinaria denominadas A y B. En la siguiente tabla se recogen los tiempos de procesamiento (por tonelada procesada) con cada máquina, los beneficios (por tonelada procesada) en euros, y la disponibilidad de cada tipo de maquinaria (en horas por semana):

Tipo de Productos Disponibilidad maquinaria 3 (horas) A 5 4 70 B 3 4 6 86 Benef./ton. (euros) 800 700 950 La empresa considera aumentar la disponibilidad de tiempo de procesamiento de la maquinaria. Para ello, puede llevar a cabo alguna de las posibilidades indicadas a continuación Tipo de maquinaria A B Incremento de disp. (horas) 0 5 8 Coste inversión (miles de euros) 600 700 700 750 A lo sumo, se puede realizar un tipo de incremento para cada máquina. Gracias a un estudio de mercado se conocen los límites de demanda de los productos, que son Demanda (ton.) Producto mínima máxima 6 7 3 8 3 7 0 Además, la inversión total no puede exceder de 3400000 euros. Se pide: (a) Formular el problema que se debe plantear la dirección de la empresa para obtener el plan de procesamiento e inversión de mayor beneficio. (b) Si la empresa desease aumentar la disponibilidad de un sólo tipo de maquinaria, cómo se modifica el modelo anterior reflejando tal situación? (c) Si no se quiere añadir disponibilidad de B a menos que se añada de A, cómo se representa esta nueva condición? (d) La empresa desea ampliar la disponibilidad con la maquinaria B si, y sólo si, se incrementa también la A. Cómo debe modificarse la condición considerada en el apartado anterior? Solución. Las variables de decisión son: x, x y x 3 : cantidad de cada producto que se fabrica. Variables binarias que nos indican si se realiza cada uno de los 4 posibles incrementos o no: δ A, δ A, δ B y δ B., si se realiza el incremento de 0 h. en la máquina A, δ A = 0, si no se realiza δ A, δ B y δ B se definen análogamente para los incrementos de 5 h. en la máquina A y 8 y h. en la máquina B, respectivamente. 3

La función objetivo a maximizar: beneficios de venta - coste incremento de capacidad de las máquinas Las restricciones son: 800x + 700x + 950x 3 600δ A 700δ A 700δ B 750δ B Disponibilidad de maquinaria: x + 5x + 4x 3 70 + 0δ A + 5δ A 3x + 4x + 6x 3 86 + 8δ B + δ B A lo sumo, se puede realizar un tipo de incremento para cada máquina: δ A + δ A () δ B + δ B () Límites de la demanda de cada producto: 6 x 7, 3 x 8, 7 x 3 0 La inversión total no puede exceder de 3400000 euros: 600δ A + 700δ A + 700δ B + 750δ B 3400 x, x, x 3 0 y δ A, δ A, δ B y δ B variables binarias. (b) Si la empresa desease aumentar la disponibilidad de un sólo tipo de maquinaria, cómo se modifica el modelo anterior reflejando tal situación? Si se siguen manteniendo las restricciones () y (), entonces es suficiente con añadir: δ A + δ A + δ B + δ B Si no se mantienen, es decir, sólo se puede invertir en una máquina pero las ampliaciones se pueden acumular, entonces hay que añadir nuevas variables binarias que indiquen si se invierte o no en cada máquina:, si se realiza algún incremento en la máquina A, δ A = 0, si no se realiza Análogamente se define δ B. Estas variables toman su valor en función del valor de las variables binarias previamente definidas: δ A + δ A δ A (3) δ B + δ B δ B (4) Estas restricciones sustituirían a las anteriores () y (). Además, habría que añadir para modelizar la condición que se nos pide ahora: δ A + δ B 4

(b) Si no se quiere añadir disponibilidad de B a menos que se añada de A, cómo se representa esta nueva condición? Como antes, si no se elimina la condición de, a lo sumo inversión en cada máquina, habría que añadir la restricción: δ B + δ B δ A + δ A Si se elimina la condición, entonces se definen δ A y δ B como antes y se añade la restricción: δ B δ A (b) La empresa desea ampliar la disponibilidad con la maquinaria B si, y sólo si, se incrementa también la A. Cómo debe modificarse la condición considerada en el apartado anterior? Se debe cambiar la desigualdad por una igualdad. 3. Dado el problema entero mín x x x + x 3 s.a x + x x 3 4 x x x 3 3 x 0 enteras, ( ) T a) Comprueba que la solución del problema relajado es: 7/3 5/3 0. b) Indica el siguiente subproblema que elegirías para resolver por el método de branch and bound. Solución. c) Calcula la solución de dicho subproblema y comenta qué subproblemas introducirías para continuar el proceso de solución. a) El problema relajado en forma estándar es mín x,s x x + x 3 s.a x + x x 3 + s = 4 x x x 3 s = 3 x, s 0, y en el vértice indicado tenemos que ( ) ( ) ( ) B T λ = c B λ = λ = ( ) σ N = c N N T λ = 0 0 = 0. 0 0 Por tanto, el vértice indicado es solución. b) Con los valores que toman las variables básicas, los nuevos subproblemas se pueden introducir bien sobre x (x y x 3) o bien sobre x (x y x ). Cualquiera de ellos se puede seleccionar para continuar el proceso. 5

Con la información proporcionada por la solución óptima del problema relajado, tenemos las siguientes cotas para el problema entero: z opt Siguiendo las reglas dadas en la práctica, como hay empate (las están igual de cerca del entero más próximo), usamos el orden lexicográfico y ramificamos por x. c) Construimos entonces los subproblemas (ya en forma estándar) mín x,s x x + x 3 s.a x + x x 3 + s = 4 x x x 3 s = 3 x + s 3 = x, s 0, (P ) mín x,s x x + x 3 s.a x + x x 3 + s = 4 x x x 3 s = 3 x s 4 = 3 x, s 0, (P ). Resolvemos P aplicando algún procedimiento adecuado. El más eficiente (que no hemos visto en clase) es el método dual del Simplex. A continuación se obtiene la solución por el método primal del Simplex (el estudiado en clase). Partimos de la solucíón básica: x =, x =, x 3 = 0, s =, s = 0, s 3 = 0. Para comprobar si es óptima, calculamos los costes reducidos de las variables no básicas. Los multiplicadores son B T λ = c B 0 0 0 λ λ λ 3 0 = λ = 0 3 y los costes reducidos σ(x 3 ) 0 0 4 σ N = σ(s ) = 0 0 0 = σ(s 3 ) 0 0 0 3 3 Todos los costes reducidos son positivos, entonces el vértice actual es la solución óptima del subproblema P. Como además tiene todas sus coordenadas x, x y x 3 enteras, se trata de una solución factible del problema entero. Podamos la rama P, guardamos la solución actual (,, 0) t como la mejor solución entera encontrada hasta el momento y actualizamos la cota superior (mejor conocido): z opt 0 El único nodo que queda pendiente es el correspondiente al subproblema P : 6

Si en el apartado b) hubieramos optado por ramificar por x, entonces tendríamos que construir los subproblemas (ya en forma estándar) mín x,s x x + x 3 s.a x + x x 3 + s = 4 x x x 3 s = 3 x + s 3 = x, s 0, (P ) mín x,s x x + x 3 s.a x + x x 3 + s = 4 x x x 3 s = 3 x s 4 = x, s 0, (P ). Si resolvemos, por ejemplo, P obtenemos que la solución óptima de dicho subproblema es: x = 8/3, x =, x 3 = /3, s = 0, s = 0, s 4 = 0. Esta solución no es entera por lo que sería necesario volver a ramificar, en este caso en x o en x. Por lo tanto, si hemos seguido este camino todavía nos quedarían 3 nodos pendientes por explorar. Por ejemplo, si optamos ramificar el subproblema P por x, tendríamos: Para cada uno de los nodos tendríamos las siguientes cotas: cota inferior cota superior nodo - + nodo 0 + nodo 3 0 + La cota inferior de los nodos y 3 se obtiene de ajustar la cota inferior de 3 los coeficientes de la función objetivo son enteros. teniendo en cuenta que 4. Resuelve, aplicando el método de branch and bound, el siguiente problema entero: máx 4x + 5x + x 3 s.a 3x + x 0 x + 4x 3x + 3x + x 3 3 x 0, enteras. 7

Solución. Empezamos escribiendo el problema en forma estándar. máx 4x + 5x + x 3 s.a 3x + x + s = 0 x + 4x + s = 3x + 3x + x 3 + s 3 = 3 x 0 enteras, s 0. Resolvemos el problema relajado, y obtenemos como solución, x =.8, x =.3, x 3 = 0.7, con z = 9.4 Por tanto, obtenemos las siguientes cotas para el problema entero: z opt 9.4 La cota superior de 9.4 se puede ajustar a 9 (mejor cota), ya que todos los coeficientes son enteros. Siguiendo la regla de las prácticas ramificamos por x (es la que toma un valor más cercano al entero) introducimos las restricciones x y x. Los subproblemas resultantes son: máx 4x + 5x + x 3 s.a 3x + x 0 x + 4x 3x + 3x + x 3 3 x x 0 (P ) Comenzamos resolviendo P, que en forma estándar es: máx 4x + 5x + x 3 s.a 3x + x 0 x + 4x 3x + 3x + x 3 3 x x 0 (P ) máx 4x + 5x + x 3 s.a 3x + x + s = 0 x + 4x + s = 3x + 3x + x 3 + s 3 = 3 x + s 4 = x 0, s 0 Empezamos por la SBF asociada a la base (variables básicas: {x, x, x 3, s }) 3 0 4 0 0 B = 3 3 0, x B = B 5 b = 5 0 0 0 Los costes reducidos de las variables no básicas (s, s 3, s 4 ) vienen dados por: 3 3 λ 4 0 B T 4 3 0 λ λ = c B 0 0 0 = 5 λ = 0 0 0 λ 4 0 0 σ(s ) 0 0 0 0 σ N = σ(s 3 ) = 0 0 0 0 = σ(s 4 ) 0 0 0 0 8 λ 3

Todos los costes reducidos son negativos y se trata de un problema de maximización, entonces el vértice actual es la solución óptima del subproblema P. Como la solución es fraccionaria, tenemos que seguir ramificando. Hay un empate, entonces ramificamos por la de menor índice, que en este caso es x. El valor óptimo del subproblema P es 9, entonces todos los nodos que cuelguen de este nodo tienen las siguientes cotas: z 9 Obtenemos los subproblemas: máx 4x + 5x + x 3 s.a 3x + x 0 x + 4x 3x + 3x + x 3 3 x x x 0 (P 3 ) máx 4x + 5x + x 3 s.a 3x + x 0 x + 4x 3x + 3x + x 3 3 x x 3 x 0 (P 4 ) Escogemos de los dos últimos subproblemas (seguimos una estrategia de búsqueda en profundidad) el subproblema P 3. En forma estándar: máx 4x + 5x + x 3 s.a 3 0 0 0 0 0 4 0 0 0 0 0 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x x x 3 s s s 3 s 4 0 = 3 x, x, x 3, s,..., s 5 0 s 5 Empezamos por la SBF asociada a la base (variables básicas: {x, x, x 3, s, s }) 3 0 0 4 0 0 B = 3 3 0 0, x B = B b = 4 0 0 0 0 3 0 0 0 0 9

Los costes reducidos de las variables no básicas (s, s 3, s 4 ) vienen dados por: 3 3 0 λ 4 0 4 3 0 λ 5 0 B T λ = c B 0 0 0 0 λ 3 = λ = 0 0 0 0 λ 4 0 0 0 0 0 λ5 0 0 σ(s 3 ) 0 0 0 0 0 0 σ N = σ(s 4 ) = 0 0 0 0 0 = σ(s 5 ) 0 0 0 0 0 Todos los costes reducidos son negativos y se trata de un problema de maximización, entonces el vértice actual es la solución óptima del subproblema P 3. Como además tiene todas sus coordenadas x, x y x 3 enteras, se trata de una solución factible del problema entero, con valor objetivo z = 8. Podamos la rama P 3, guardamos la solución actual (,, 4) t como la mejor solución entera encontrada hasta el momento y actualizamos la cota inferior del problema entero (mejor conocido) 8 z opt 9 Pasamos a resolver el subproblema P 4, correspondiente al nodo hermano del subproblema P 3. En forma estándar: máx 4x + 5x + x 3 s.a 3x + x + s = 0 x + 4x + s = 3x + 3x + x 3 + s 3 = 3 x + s 4 = x s 5 = 3 x 0, s 0 Como x 3, entonces en la segunda restricción debe ser x + 4x 0 + 4 3 =. Luego, el subproblema P 4 es no factible y se poda esa rama. Nota: si no nos damos cuenta del razonamiento anterior, después de probar algunas bases y de que todas nos den no factibles, se resuleve el problema por el método de las dos fases. El problema de la fase es: (P 4 ) mín z s.a 3x + x + s = 0 x + 4x + s = 3x + 3x + x 3 + s 3 = 3 x + s 4 = x s 5 + z = 3 x 0, s 0, z 0 (P 4 ) 0

Al resolverlo se obtiene como solución óptima (x, s, z ) t = (0,.75, 0, 4.5, 0, 4.75,, 0, 0.5) con valor objetivo óptimo z = 0.5 > 0. El único nodo que queda pendiente es el correspondiente al subproblema P, que en forma estándar es: máx 4x + 5x + x 3 s.a 3x + x + s = 0 x + 4x + s = 3x + 3x + x 3 + s 3 = 3 x s 4 = x 0, s 0 (P ) Empezamos por la SBF asociada a la base (variables básicas: {x, x, x 3, s }) 3 0 0 4 0 B = 3 3 0, x B = B b = 0 0 0 Los costes reducidos de las variables no básicas (s, s 3, s 4 ) vienen dados por: 3 3 B T 4 3 0 λ = c B 0 0 0 0 0 0 λ 4 0 σ(s ) 0 0 0 0 σ N = σ(s 3 ) = 0 0 0 0 0 = σ(s 4 ) 0 0 0 0 λ λ λ 3 4 = 5 λ = 0 Todos los costes reducidos son negativos y se trata de un problema de maximización, entonces el vértice actual es la solución óptima del subproblema P. Como además tiene todas sus coordenadas x, x y x 3 enteras, se trata de una solución factible del problema entero, con valor objetivo z = 9. Podamos la rama P y podemos dar por finalizada la búsqueda, ya que la solución factible entera obtenida alcanza la mejor cota del problema. Si no nos damos cuenta de esto, como la solución que acabamos de encontrar mejora a la mejor por el momento que teníamos guardada (que tenía un valor objetivo de 8), también podemos garantizar que el vértice actual es el óptimo del problema entero. En este caso, si hubiéramos empezado resolviendo el problema P, no habríamos tenido que resolver ningún otro subproblema, ya que habríamos obtenido una solución entera cuyo valor óptimo lanza la mejor cota. El árbol de búsqueda es:

5. Resuelve por el método de Branch and Bound el siguiente problema de programación entera: minimizar x x sujeto a x 0 x x x 9 x, x {0,,,...} Solución. El problema relajado P 0 es el siguiente: minimizar x x sujeto a x 0 x x x 9, y su solución es x = (5, 4.5) con z = 9.5. Como la solución no satisface las condiciones de integralidad hay que ramificar por x y se crean dos problemas P y P, añadiendo las restricciones x 4 y x 5, respectivamente. Cotas para la función objetivo: 9.5 z. La mejor cota se puede ajustar a 9. Problema P : minimizar x x sujeto a x 0 x x x 9 x 4, solución x = (4.5, 4) con z = 8.5. Como no se satisfacen las condiciones de integralidad y el valor de la f.o. está entre las cotas superior e inferior hay que ramificar (por x ). Cotas para el valor de todas las souciones con x 4: 8.5 z, que se puede ajustar a 8 z. La mejor cota para el problema original sigue siendo 9.

Problema P 3 : minimizar x x sujeto a x 0 x x x 9 x 4 x 4. Problema P 4 : minimizar x x sujeto a x 0 x x x 9 x 4 x 5 Siguiendo una estrategia de búsqueda en profundidad deberíamos de seguir resolviendo P 3. Vamos a seguir una estrategia de búsqueda en anchura y pasamos a reolver el problea P. El problema P : minimizar x x sujeto a x 0 x x x 9 x 5, es no factible y por tanto la rama se poda. Pasamos, entonces, a resolver el problema P 3, cuya solución es x = (4, 4) con z = 8. Como la solución sí satisface las condiciones de integralidad y el valor de la f.o. está entre las cotas, entonces la rama se poda y se actualiza la cota superior para el problema original, ahora mejor conocido= 8. Las nuevas cotas para el problema original son: 9 z 8 Se guarda la solución x = (4, 4) como mejor solución encontrada (incumbente). Pasamos a resolver el problema P 4, que resulta ser no factible, por lo que la rama se poda. Ya no tenemos más problemas que procesar por lo que el procedimiento termina escogiendo el mejor candidato, esto es x = (4, 4) con z = 8 6. En una central hidroeléctrica debe decidirse qué turbinas se pondrán en marcha durante el día de manera que se satisfaga la demanda (estimada) de la población a la que se sirve: 3

p.m. a 6 a.m. 5.000 MW 6 a.m. a 9 a.m. 30.000 MW 9 a.m. a 3 p.m. 5.000 MW 3 p.m. a 6 p.m. 40.000 MW 6 p.m. a p.m. 7.000 MW La central dispone de turbinas de 3 tipos distintos. Concretamente, dispone de de tipo, 0 de tipo y 5 de tipo 3. Cada turbina tiene que funcionar entre unos niveles mínimo y máximo. Los costes de funcionamiento dependen del nivel al que la turbina esté operando: hay un coste por hora que la turbina opera a nivel mínimo y un coste extra, también por hora, por cada megawatio que la turbina opera sobre el nivel mínimo. Además, la puesta en marcha de una turbina conlleva un coste: Nivel Nivel Coste por hora Coste/hora por MW coste puesta mínimo máximo al mínimo por encima del mín. en marcha Tipo 850 MW.000 MW.000.000 Tipo.50 MW.750 MW.600 30.000 Tipo 3.500 MW 4.000 MW 3.000 3 500 Además, para cumplir con los requisitos de calidad establecidos en el contrato, tiene que haber suficientes generadores funcionando en cualquier periodo del día como para responder a un incremento de la demanda estimada de hasta un 5 %. El posible incremento debe poder ser atendido ajustando, siempre dentro de los límites de operación, la producción de las turbinas que están en funcionamiento. Al final del ciclo de 4 horas hay una desconexión breve antes de comenzar la aplicación de la siguiente planificación; no obstante, durante el día, una vez que una turbina se ha puesto en marcha ya no se desconecta hasta el final del ciclo. a) Qué turbinas deben estar funcionando y en qué periodos del día deben hacerlo para minimizar el coste total? b) Cuál es el coste marginal de producción de electricidad en cada periodo del día?, es decir, qué tarifas se deberían cobrar? c) Qué ahorro se produciría si se rebajara el 5 % de reserva de energía que se debe garantizar?, es decir, cuánto cuesta este nivel de garantía de servicio? d) Cómo cambiaría el modelo si no se produce la desconexión al final del día? Compara las soluciones obtenidas con los dos modelos Solución. Modelo del apartado a), en el que hay desconexión al final del día y las turbinas no se pueden desconectar de un periodo a otro. Variables: n it = número de turbinas trabajando del tipo i en el periodo t. x it = producción de las turbinas del tipo i en el periodo t. 4

Obsérvese que, por ejemplo, x 850n es el número de MW que globalmente todas las turbinas de tipo están produciendo por encima del mínimo durante todo el perido. En general, { MW que globalmente todas las turbinas de tipo i están produciendo por encima x it m i n it = del mínimo en el periodo t, donde m i = la producción mínima de las turbinas de tipo i. Entonces, la función objetivo, que tiene que medir todos los costes derivados de las decisiones tomadas, contendrá los siguientes sumandos para cada uno de los periodos: Costes de funcionamiento al mínimo: E t n t + E t n t + E 3t n 3t, donde E it = costes de funcionamiento por periodo (coste por hora al mínimo por número de horas del periodo). Costes de funcionamiento por encima del mínimo: C t (x t m n t ) + C t (x t m n t ) + C 3t (x 3t m 3 n 3t ), donde C it = costes de producción por periodo (coste por hora por MW por encima del mínimo por número de horas del periodo). Costes de puesta en marcha: Como las turbinas no se pueden apagar, el número de turbinas puestas en marcha durante el día se corresponde con el número de turbinas que están funcionando en el último periodo. Luego, es suficiente con contar el número de turbinas funcionando en el último periodo y cargar su coste: F n 5 + F n 5 + F 3 n 35, donde F i = costes de puesta en marcha. Función objetivo: 5 3 mín E it n it + t= i= 5 3 C it (x it m i n it ) + t= i= 3 F i n i5 i= Por ejemplo, para el primer periodo los costes de producción serían (primer y segundo sumando de la función objetivo): ] [ ] [6 000n +6 600n +6 3000n 3 + (x 850n )+.30(x 50n )+3(x 3 500n 3 ) Restricciones: Demanda de cada periodo de tiempo: 3 x it D t t =,..., 5 i= 5

Límites de producción de cada turbina en cada periodo: m i n it x it M i n it i =,, 3, t =,..., 5 (m i y M i son los límites de capacidad de los generadores de tipo i). Garantía del 5 % de producción extra: 3 M i n it.5d t, t =,..., 5 i= Número de generadores funcionando y puestos en marcha: como no se pueden desconectar de un periodo a otro, se debe verificar n i(t+) n it, i =,, 3, t =,..., 4 (5) El número de turbinas puestas en marcha en el periodo t + se puede calcular como s i(t+) = n i(t+) n it, i =,, 3, t =,..., 4 n it son variables enteras acotadas entre 0 y el número máximo de generadores del tipo i: 0 n t, 0 n t 0, 0 n 3t 5, para todo t =,..., 5 (6) Como tenemos las restricciones (5), es suficiente con exigir no negatividad y n 5, n 5 0, n 35 5 En el modelo del apartado b), en el que las turbinas se pueden desconectar de un periodo a otro y no hay desconexión al final del día tenemos que considerar las variables s it = número de turbinas puestas en marcha del tipo i en el periodo t, que son también variables enteras acotadas entre 0 y el número máximo de generadores del tipo i: 0 s t, 0 s t 0, 0 s 3t 5, para todo t =,..., 5 Cambia el cálculo de los costes de puesta en marcha. En la función objetivo hay que reemplazar el sumando 3 por i= 5 F i n i5 3 t= i= Cambian las restricciones relativas al número de generadores funcionando y puestos en marcha: F i s it s it n it n it, i =,, 3, t =,..., 5 (cuando t =, t = 5) No se puede dejar la igualdad como en modelo anterior, ya que si sólo se han desconectado turbinas de un periodo a otro nos daría un valor negativo. Las restricciones de cota (6) se deben de mantener para todos los periodos. 6

Para contestar a las cuestiones b) y c) hay que tener en cuenta que la interpretación de los multiplicadores λ como precios sombra no es posible en modelos con variables enteras. Una alternativa es obtener los multiplicadores de un problema relacionado: Fijar las variables enteras al valor obtenido en la solución óptima y resolver el problema lineal resultante Así, para contestar a la cuestión b), en la que se pedía calcular el coste marginal de producción de electricidad en cada periodo del día, lo que debemos hacer es fijar el número de turbinas de cada tipo que funcionan en cada periodo al valor obtenido en la solución óptima del problema entero y resolver el problema de programación lienal que queda. El coste marginal vendrá dado por los multiplicadores de las restricciones de satisfacción de demanda. Para contestar al apartado c) no podemos hacer lo mismo porque al fijar el número de turbinas que funcionan en cada periodo la restricción del 5 % de reserva de energía desaparece. En ese caso, lo que podemos hacer es resolver la relajación lineal del problema entero original y fijarnos en el multiplicador de la restricción de reserva. 7