Programación lineal con Variables Enteras

download Programación lineal con Variables Enteras

of 10

Transcript of Programación lineal con Variables Enteras

  • 7/31/2019 Programacin lineal con Variables Enteras

    1/10

    PROGRAMACIN LINEAL CON VARIABLES ENTERAS

    IntroduccinUn programa lineal entero es aquel en que algunas o todas las variables estn restringidas a tenervalores enteros (o discretos), o incluso estn ms restringidas tomando exclusivamente los valores 0

    1. El empleo de variables enteras hace ms complejo el problema de programacin lineal, debido ala ausencia de continuidad. Si todas las variables de decisin deben ser enteras, tenemos unproblema de programacin lineal entero puro (PE), Si slo algunas variables de decisin deben serenteras, pudiendo ser continuas las dems, se trata de un problema de programacin lineal enteromixto (PEM).Existen otras situaciones en la que todas o algunas de las variables enteras slo pueden tomarvalores de 0 1 para encontrar una lgica adecuada y solucionar el problema. A estas variables se lesllama variables binarias.Uno puede llegar a pensar que es ms fcil encontrar la solucin a un programa lineal entero que auno continuo, despus de todo, el nmero de soluciones continuas son infinitas mientras que lasenteras sern finitas. Pero desafortunadamente no es as. Cuando se tiene un problema de dos

    variables se puede encontrar la solucin ptima entera muy fcil a partir de la solucin ptimacontinua utilizando el mtodo grfico y explorando las soluciones enteras cercanas dentro del reade soluciones factibles. Pero resulta que en la vida'real (o sea aquella que est ms all de losproblemas introductorios de los textos guas) los problemas muy pocas veces, tienen dos variablespues en un fenmeno por sencillo que sea tendr muchsimas variables relevantes dentro de sucomportamiento y el modelo matemtico entre ms se simplifique menos representativo ser. Losproblemas enteros son ms difciles de resolver que los continuos, an no existe un algoritmo quepueda resolverlos en forma consistente; el ms popular -por ahora- es este algoritmo, el de Ramificacin y Acotamiento (Branch And Bound), la mayora de los programas comercialeselaborados para resolver para problemas lineales enteros utilizan este algoritmo.

    Aplicaciones Cajeros a asignar en turnos de atencin Camiones a comprar para reparto de mercadera Escritorios a elaborar para surtir un pedido Computadoras a reparar en una semana Acciones a comprar con propsito de inversin Tiraje de libros

    Solucin por redondeo o truncamiento

    Una primera aproximacin a la solucin de cualquier programa puede obtenerse ignorando elrequerimiento de variables enteras y resolviendo el programa lineal resultante. Si la solucin ptimaal programa lineal fuese entera, entonces esta solucin es tambin la solucin ptima al programaentero original. De otro modo se pueden redondear los componentes de la primera aproximacin alos enteros factibles ms prximos y obtener una segunda aproximacin. Este procedimiento seemplea a menudo, especialmente cuando la primera aproximacin involucra nmeros muy grandes,pero puede ser inexacta cuando los nmeros son pequeos 1.

    1 Una explicacin ms extendida sobre la consideracin de la solucin redondeada se encuentra en la

    lectura sugerida del captulo 7: Optimizacin con Enteros, Tema 1: Introduccin a la optimizacin conenteros del libro INVESTIGACINDE OPERACIONES EN LA CIENCIA ADMINISTRATIVA de G.D.Eppen y otros PRENTICE- HALL, Mxico 2000, pgina 289.

  • 7/31/2019 Programacin lineal con Variables Enteras

    2/10

    En este ltimo caso, la solucin a un problema entero no debe determinarse mediante el redondeode los valores decimales que las variables adopten. Por ejemplo:

    Un fabricante de muebles time 6 unidades de madera y 28 horas disponibles, durante las males fabricar estantes decorativos. Estima que el modelo A requiere 2 unidades de madera y 7 boros detiempo disponible, mientras que el modelo B requiere 1 unidad de madera y 8 horas. Los precios de

    los estantes son $120 y $80, respectivamente. Cuntos estantes de cada modelo debe fabricar conestos recursos si desea maximizar sus ingresos? Si las variables pudieran adoptar valores continuos

  • 7/31/2019 Programacin lineal con Variables Enteras

    3/10

    Reduccin de la regin factible considerando solamente enteros

    Una vez realizada la grfica de este problema, una solucin entera obliga a la regin factible areducirse a una malla de puntos dentro de la regin anterior.

    Solucin por redondeo

  • 7/31/2019 Programacin lineal con Variables Enteras

    4/10

    Ntese que si se redondea la solucin ptima con decimales se tendra que A = 2 y B = 2, pero estepunto se encuentra fuera de la malla, as que no se la puede considerar siquiera como una solucinfactible.

    Solucin por truncamiento

    El aparente punto solucin sera el ms cercano al ptimo continuo, sin embargo Z no llega almximo.

  • 7/31/2019 Programacin lineal con Variables Enteras

    5/10

    Solucin ptima

    Algoritmo de ramificacin y acotamiento (branch and bound)

    Ramificacin Si la primera aproximacin contiene una variable que no es entera, digamos , entonces

    donde e son enteros consecutivos no negativos; se generan dos nuevos programas enteros alagregar al programa entero original una u otra de las siguientes restricciones: Esteproceso, denominado ramificacin, tiene el efecto de reducir la regin factible en forma tal, queelimina de consideraciones posteriores la solucin anterior no entera para pero conservando todaslas posibles soluciones enteras al problema original.

    Ejemplo: Como una primera aproximacin al programa entero

  • 7/31/2019 Programacin lineal con Variables Enteras

    6/10

    Sujeto a:

    Se considera el programa lineal eliminando la condicin de que las variables sean enteras. Y sedetermina la siguiente solucin: , , con Z = 55. Ya que 5 < x> < , por ramificacin secrean los dos nuevos programas enteros:

    Sujeto a:

    Sujeto a:

    Para los dos programas creados por el proceso de ramificacin, se obtienen primeras aproximacionesignorando nuevamente los requerimientos de enteros y resolviendo los programas linealesresultantes. Si cualquiera de las primeras aproximaciones es todava no entera, entonces el programaque la produjo se vuelve candidato para seguir realizando ramificaciones.

    Encontramos que el programa (2) tiene la primera aproximacin , con ,mientras que el programa (3) no tiene solucin factible. Entonces, el programa (2) es candidato paraseguir realizando ramificaciones. Ya que , se agregan a (2) , y seobtienen los dos nuevos programas:

    Sujeto a:

    Sujeto a:

  • 7/31/2019 Programacin lineal con Variables Enteras

    7/10

    Ignorando los requerimientos de enteros, la solucin al programa (4) es , , con , mientras que la solucin al programa (5) es , , con . Ya que ambas

    primeras aproximaciones son enteras, no es necesario continuar las ramificaciones.

    Acotamiento Considrese que la funcin objetivo ha de maximizarse. El proceso de ramificacin se contina hastaque se obtiene una primera aproximacin entera (o sea, pues, una solucin entera). El valor de lafuncin objetivo para esta primera solucin entera se vuelve una cota inferior para el problema ytodos los programas cuyas primeras aproximaciones, enteras o no, den valores de la funcin objetivomenores que la cota inferior, se descartan.El programa (4) tiene una solucin entera con Z = 50; entonces, 50 se vuelve una cota inferior para elproblema. El programa (5) tiene una solucin con Z = 31. Ya que 31 es menor que la cota inferior de50, el programa. (5) se elimina en cuanto a consideraciones posteriores y se le habra eliminado deesta forma aun si su primera aproximacin hubiera sido no entera. La ramificacin se contina a partir de aquellos programas que tengan primeras aproximaciones noenteras y que den valores a la funcin objetivo, mayores que la cota inferior. Si durante el proceso sedescubre una nueva solucin que tenga un valor de la funcin objetivo mayor que la cota inferioractual, entonces este valor de la funcin objetivo se vuelve la nueva cota inferior. El programa queproporcion la cota inferior anterior se elimina, as como todos aquellos programas cuyas primeraaproximaciones dan valores de la funcin objetivo menores que la nueva cota inferior. El proceso deramificacin contina hasta que ya no haya bajo consideracin programas con primerasaproximaciones no enteras. En este punto, la solucin actual de cota inferior es la solucin ptima alprograma entero inicial.Si la funcin objetivo ha de minimizarse, el procedimiento es el mismo, excepto que se empleancotas superiores. As, el valor de la primera solucin entera se vuelve una cota superior para elproblema y se eliminan los programas cuando sus valores Z de primera, aproximacin son mayoresque la cota superior actual.

  • 7/31/2019 Programacin lineal con Variables Enteras

    8/10

    Consideraciones para los clculosSiempre se realizan las ramificaciones a partir ele aquel programa que parece estar ms cerca delvalor ptimo. Cuando existen varios candidatos para continuar las ramificaciones, se selecciona aqulque tenga el mayor valor Z, si se va maximizar la funcin objetivo, o aqul que tenga el menor valor

    Z, si se va a minimizar la funcin objetivo.

    Las restricciones adicionales se agregan una a una. Si una primera aproximacin incluye a ms de unavariable no entera, las nuevas restricciones se imponen a aquella variable que est ms lejos de serun entero; esto es, aquella variable cuya parte fraccionaria est ms cerca de 0.5. En caso de empate,se selecciona arbitrariamente una de las variables.

    Finalmente, es posible que un programa entero o un programa lineal tengan ms de una solucinptima. En ese caso, se selecciona arbitrariamente a una de las soluciones como la ptima y dejandoa un lado las dems.

  • 7/31/2019 Programacin lineal con Variables Enteras

    9/10

    MODELACION Y SOLUCION POR SOFTWARE

    1. Produccin de lcteosLA TRUJILLANTTA tiene dos mquinas distintas para procesar leche pura y producir: leche

    descremada, mantequilla o queso. La cantidad de tiempo requerido en cada mquina para producircada unidad de producto resultante y las ganancias netas se proporcionan en la siguiente tabla:

    LECHEDESCREMADA

    MANTEQUILLA QUESO

    Mquina 1 0.2 min/litro 0.5 min/kg 1.5 min/kgMquina 2 0.3 min/litro 0.7 min/kg 1.2 min/kgGanancia neta $0.22/litro $0.38/kg $0.72/kg

    Suponiendo que se dispone de 8 horas en cada mquina diariamente, como asistente de produccin,formule un modelo para determinar un plan de produccin diaria que maximice las ganancias y

    produzca un mnimo de 300 litros de leche descremada, 200 kg de mantequilla y 100 kg de queso.

    2. Plan de inversinUn inversionista tiene oportunidad de realizar las actividades A y B al principio de cada uno de losprximos cinco aos (llmense aos 1 a 5). Cada dlar invertido en A al principio de cualquier aoretribuye $1.40 (una ganancia de $0.40) 2 aos despus (a tiempo para la reinversin inmediata).Cada dlar invertido en B al principio de cualquier ao retribuye $1.70, 3 aos despus.

    Adems, las actividades C y D estarn disponibles para inversin una sola vez en el futuro. Cada dlarinvertido en C al principio del ao 2 da $1.90 al final del ao 5. Cada dlar invertido en D al principiodel ao 5 retribuye $1.30 al final de ese ao.

    El inversionista tiene $60000 para iniciar y desea saber cul plan de inversin maximiza la cantidadde dinero acumulada al principio del ao 6. Formule el modelo de programacin lineal para esteproblema.

    3. Programacin de turnosUn jefe de personal debe programar las cuadrillas de segundad, debiendo satisfacer los requisitos deguardia indicados en la siguiente tabla:

    Requerimientos de personal de seguridadHora Cantidad mnima de guardias12 am 4 am 5

    4 am

    8 am 78 am 12 pm 1512 pm -4 pm 74 pm 8 pm 128 pm - 12 am 9

    Los guardias trabajan por tumos de 8 horas. Cada da hay seis de esos turnos. La hora de inicio y finde cada turno aparece en la tabla siguiente:

    Programa de turnosTurno Hora inicio Hora fin1 12 am 8 am

    2 4 am 12 m3 8 am 4 pm4 12 m 8 pm

  • 7/31/2019 Programacin lineal con Variables Enteras

    10/10

    5 4 pm 12 am6 8 pm 4 am

    Se tiene que determinar la cantidad de guardias que debern trabajar en cada turno, de manera quese logre minimizar el total de guardias contratados, pero sin dejar de cumplir con los requerimientoscorrespondientes a los turnos de guardia.

    4. Corte de rollosSe hace un pedido a una papelera de 800 rollos de papel corrugado de 30 pulgadas de ancho, 500rollos de 45 pulgadas y 1000 de 50 pulgadas. Si la papelera tiene solamente rollos de 108 pulgadasde ancho. Cmo deben c orlarse lo s rollos para surtir el pedido con el mnimo de desperdicio depapel?

    5. Produccin de concentradosCada semana, Florida Citrus, usa una sola mquina durante 150 horas para destilar jugo de naranja yde toronja en concentrados almacenados en dos tanques separados de 1000 galones antes decongelarlos. La mquina puede procesar 25 galones de jugo de naranja por hora, pero solo 20galones de jugo de toronja. Cada galn de jugo de naranja cuesta $1.50 y pierde 30% de contenido

    de agua al destilarse en concentrado. El concentrado de jugo de naranja se vende despus en $6 porgaln. Cada galn de jugo de toronja cuesta $2 y pierde 25% de contenido de agua al destilarse enconcentrado. El concentrado de- jugo de toronja se vende despus en $8 por galn. Determinar unplan de produccin que maximice la ganancia para la siguiente semana.

    6. Distribucin de electricidadTres centrales de distribucin tienen que dar electricidad a tres ciudades. La tabla de costos detransporte de electricidad es la siguiente:

    Ciudad(miles de $ por MKwh)

    Suministro(MKwh)

    Central A B C

    1 8 6 10 352 9 12 13 503 14 9 16 40Demanda (MKwh) 45 20 30

    Determine la distribucin elctrica para cada ciudad, utilizando un modelo de programacin lineal.

    7. Inversiones financierasSupongamos que nuestro banco se dedica a invertir en crditos al consumo, bonos corporativos,depsitos de oro, y prstamos a la construccin. Con el fin de diversificar la cartera de valores, la junta Directiva del banco ha puesto limite a las cantidades que se permiten invertir en cada una celas opciones anteriores. En la actualidad disponemos de 5 millones para invertir, y pretendemos: (1)Maximizar el inters esperado para los prximos seis meses, y (2) cumplir con la diversificacinpropugnada por la Junta Directiva segn se especifica en la tabla siguiente:

    Tipo de Inversin intersesperado

    Limite de inversin(millones)

    Crditos al consumo 7% 1.0Bonos corporativos 11% 2.5Depsitos de oro 19% 1.5Prstamos a la construccin 15% 1.8

    Adems, la Directiva requiere que al menos un 5% de los fondos se dediquen a Depsitos de oro yPrstamos a la construccin, en conjunto; mientras que el porcentaje dedicado a Crditos alconsumo no debe superar el 15%.