Programación Lineal Entera Binaria

of 60/60
Mini-video 1 de 2 Programación Lineal Entera Binaria
  • date post

    24-Feb-2016
  • Category

    Documents

  • view

    116
  • download

    0

Embed Size (px)

description

Programación Lineal Entera Binaria. Programación Lineal Entera Binaria. Programación Lineal Entera Binaria Estudiamos el problema de Programación Lineal en números enteros en el que las variables solo puedan tomar los valores «0» y «1». . Programación Lineal Entera Binaria. - PowerPoint PPT Presentation

Transcript of Programación Lineal Entera Binaria

Programacin con restricciones de desigualdad

Mini-video 1 de 2

Programacin Lineal Entera Binaria

1Programacin Lineal Entera BinariaProgramacin Lineal Entera Binaria

Estudiamos el problema de Programacin Lineal en nmeros enteros en el que las variables solo puedan tomar los valores 0 y 1.

Su resolucin no se har mediante algoritmos sino mediante las funciones Maximize[ ]/Minimize[ ] Nmaximize[ ]/Nminimize[ ].

Como ejemplo damos el Problema de la Mochila de interesantes aplicaciones a la Economa.

2Programacin Lineal Entera BinariaIntroduccin

Consideremos el problema:

en el que todas o algunas variables tomen valores enteros.

Si las variables de decisin solo pueden tomar los valores 0 1, entonces se llamarn binarias y el problema ser de P.L. Entera Binaria:

3Programacin Lineal Entera BinariaEjemplo:Una empresa est estudiando la posibilidad de expansin mediante la construccin de una nueva fbrica ya sea en Ciudad 1 en Ciudad 2 en ambas ciudades. Si construye una fbrica en la Ciudad x, se puede construir un almacn en dicha Ciudad, pero solo se construira uno.La siguiente tabla muestra el beneficio aportado por la inversin y los costes. El capital total disponible es de 10 um.

Se pide encontrar la solucin que maximiza el beneficio total.DecisinSi/No?BeneficioCoste1Fbrica Ciudad 19 62Fbrica Ciudad 25 33Almacn Ciudad 1654Almacn Ciudad 2424Programacin Lineal Entera Binaria5Programacin Lineal Entera BinariaCasosFbrica1Fbrica 2Almacn 1Almacn 21SSSS2SSSN3SSNS4SNSS5NSSS6SSNN7SNSN8NSSN9SNNS10NSNS11NNSS12SNNN13NSNN14NNSN15NNNS16NNNN6Programacin Lineal Entera BinariaCasosFbrica1Fbrica 2Almacn 1Almacn 2Bene-ficioCosteAdmisi-ble?1SSSS2SSSN2014NO3SSNS1811NO4SNSS5NSSS6SSNN149SI7SNSN1511NO8NSSN9SNNS10NSNS95SI11NNSS12SNNN96SI13NSNN53SI14NNSN15NNNS16NNNN00SI7Programacin Lineal Entera BinariaCasosFbrica1Fbrica 2Almacn 1Almacn 2Bene-ficioCosteAdmisi-ble?1SSSS2SSSN2014NO3SSNS1811NO4SNSS5NSSS6SSNN149SI7SNSN1511NO8NSSN9SNNS10NSNS95SI11NNSS12SNNN96SI13NSNN53SI14NNSN15NNNS16NNNN00SI8Programacin Lineal Entera BinariaCasosFbrica1Fbrica 2Almacn 1Almacn 2Bene-ficioCosteAdmisi-ble?1SSSS2SSSN2014NO3SSNS1811NO4SNSS5NSSS6SSNN149SI7SNSN1511NO8NSSN9SNNS10NSNS95SI11NNSS12SNNN96SI13NSNN53SI14NNSN15NNNS16NNNN00SI9Programacin Lineal Entera BinariaEste problema puede ponerse en P.L. Entera:

Variables de decisin: x1,x2,x3,x4: 10Programacin Lineal Entera BinariaEste problema puede ponerse en P.L. Entera:

Variables de decisin: x1,x2,x3,x4: x1=construir fbrica en ciudad 1, x2=construir fbrica en ciudad 211Programacin Lineal Entera BinariaEste problema puede ponerse en P.L. Entera:

Variables de decisin: x1,x2,x3,x4: x1=construir fbrica en ciudad 1, x2=construir fbrica en ciudad 2 x3=construir almacn en ciudad 1, x4=construir almacn en ciudad 212Programacin Lineal Entera BinariaEste problema puede ponerse en P.L. Entera:

Variables de decisin: x1,x2,x3,x4: x1=construir fbrica en ciudad 1, x2=construir fbrica en ciudad 2 x3=construir almacn en ciudad 1, x4=construir almacn en ciudad 2 Son variables binarias (0 1) segn que la decisin sea afirmativa (xi=1) negativa (xi=0)

13Programacin Lineal Entera BinariaEste problema puede ponerse en P.L. Entera:

Variables de decisin: x1,x2,x3,x4: x1=construir fbrica en ciudad 1, x2=construir fbrica en ciudad 2 x3=construir almacn en ciudad 1, x4=construir almacn en ciudad 2 Son variables binarias (0 1) segn que la decisin sea afirmativa (xi=1) negativa (xi=0)

- Funcin objetivo: Maximizar 9x1 + 5x2 + 6x3 + 4x4

14Programacin Lineal Entera BinariaEste problema puede ponerse en P.L. Entera:

Variables de decisin: x1,x2,x3,x4: x1=construir fbrica en ciudad 1, x2=construir fbrica en ciudad 2 x3=construir almacn en ciudad 1, x4=construir almacn en ciudad 2 Son variables binarias (0 1) segn que la decisin sea afirmativa (xi=1) negativa (xi=0)

- Funcin objetivo: Maximizar 9x1 + 5x2 + 6x3 + 4x4

DecisinSi/No?BeneficioCoste1Fbrica Ciudad 19 62Fbrica Ciudad 25 33Almacn Ciudad 1654Almacn Ciudad 24215Programacin Lineal Entera BinariaEste problema puede ponerse en P.L. Entera:

Variables de decisin: x1,x2,x3,x4: x1=construir fbrica en ciudad 1, x2=construir fbrica en ciudad 2 x3=construir almacn en ciudad 1, x4=construir almacn en ciudad 2 Son variables binarias (0 1) segn que la decisin sea afirmativa (xi=1) negativa (xi=0)

- Funcin objetivo: Maximizar 9x1 + 5x2 + 6x3 + 4x4

- Restricciones:- Limitaciones de capital: 6x1 + 3x2 + 5x3 + 2x4 1016Programacin Lineal Entera BinariaEste problema puede ponerse en P.L. Entera:

Variables de decisin: x1,x2,x3,x4: x1=construir fbrica en ciudad 1, x2=construir fbrica en ciudad 2 x3=construir almacn en ciudad 1, x4=construir almacn en ciudad 2 Son variables binarias (0 1) segn que la decisin sea afirmativa (xi=1) negativa (xi=0)

- Funcin objetivo: Maximizar 9x1 + 5x2 + 6x3 + 4x4

- Restricciones:- Limitaciones de capital: 6x1 + 3x2 + 5x3 + 2x4 10DecisinSi/No?BeneficioCoste1Fbrica Ciudad 19 62Fbrica Ciudad 25 33Almacn Ciudad 1654Almacn Ciudad 24217Programacin Lineal Entera BinariaEste problema puede ponerse en P.L. Entera:

Variables de decisin: x1,x2,x3,x4: x1=construir fbrica en ciudad 1, x2=construir fbrica en ciudad 2 x3=construir almacn en ciudad 1, x4=construir almacn en ciudad 2 Son variables binarias (0 1) segn que la decisin sea afirmativa (xi=1) negativa (xi=0)

- Funcin objetivo: Maximizar 9x1 + 5x2 + 6x3 + 4x4

- Restricciones:- Limitaciones de capital: 6x1 + 3x2 + 5x3 + 2x4 10- Solo se construye un almacn: x3 + x4 118Programacin Lineal Entera BinariaEste problema puede ponerse en P.L. Entera:

Variables de decisin: x1,x2,x3,x4: x1=construir fbrica en ciudad 1, x2=construir fbrica en ciudad 2 x3=construir almacn en ciudad 1, x4=construir almacn en ciudad 2 Son variables binarias (0 1) segn que la decisin sea afirmativa (xi=1) negativa (xi=0)

- Funcin objetivo: Maximizar 9x1 + 5x2 + 6x3 + 4x4

- Restricciones:- Limitaciones de capital: 6x1 + 3x2 + 5x3 + 2x4 10- Solo se construye un almacn: x3 + x4 1- Se construye el almacn solo si se construye la fbrica :x3 x1 , x4 x219Programacin Lineal Entera BinariaLuego el modelo es:

Maximizar 9x1 + 5x2 + 6x3 + 4x4Sujeta a: 6x1 + 3x2 + 5x3 + 2x4 10 x3 + x4 1 x3 x1 x4 x2

Hemos de aadir las siguientes restricciones:Las variables son enteras:Las variables solo pueden tomar los valores 0 1:

20Programacin Lineal Entera BinariaLo resolvemos con Mathematica:

Que nos indica que el beneficio se maximiza construyendo solo las fbricas 1 y 2 y ningn almacn.

Hemos obtenido el mismo resultado que por el mtodo extensivo.

21Programacin Lineal Entera BinariaDecisinSi/No?BeneficioCoste1Fbrica Ciudad 19 62Fbrica Ciudad 25 33Almacn Ciudad 1654Almacn Ciudad 242DecisinSi/No?BeneficioCoste1Fbrica Ciudad 19 62Fbrica Ciudad 25 33Almacn Ciudad 1654Almacn Ciudad 292Cambiemos ahora algunos datos: 22Programacin Lineal Entera BinariaDecisinSi/No?BeneficioCoste1Fbrica Ciudad 19 62Fbrica Ciudad 25 33Almacn Ciudad 1654Almacn Ciudad 242DecisinSi/No?BeneficioCoste1Fbrica Ciudad 19 62Fbrica Ciudad 25 33Almacn Ciudad 1654Almacn Ciudad 292Cambiemos ahora algunos datos:

23Programacin Lineal Entera BinariaDecisinSi/No?BeneficioCoste1Fbrica Ciudad 19 62Fbrica Ciudad 25 33Almacn Ciudad 1654Almacn Ciudad 242DecisinSi/No?BeneficioCoste1Fbrica Ciudad 1462Fbrica Ciudad 25 33Almacn Ciudad 1654Almacn Ciudad 24224Programacin Lineal Entera BinariaDecisinSi/No?BeneficioCoste1Fbrica Ciudad 19 62Fbrica Ciudad 25 33Almacn Ciudad 1654Almacn Ciudad 242DecisinSi/No?BeneficioCoste1Fbrica Ciudad 1462Fbrica Ciudad 25 33Almacn Ciudad 1654Almacn Ciudad 242

25Programacin Lineal Entera BinariaDecisinSi/No?BeneficioCoste1Fbrica Ciudad 19 62Fbrica Ciudad 25 33Almacn Ciudad 1654Almacn Ciudad 242DecisinSi/No?BeneficioCoste1Fbrica Ciudad 19 62Fbrica Ciudad 25 33Almacn Ciudad 1624Almacn Ciudad 24226Programacin Lineal Entera BinariaDecisinSi/No?BeneficioCoste1Fbrica Ciudad 19 62Fbrica Ciudad 25 33Almacn Ciudad 1654Almacn Ciudad 242DecisinSi/No?BeneficioCoste1Fbrica Ciudad 19 62Fbrica Ciudad 25 33Almacn Ciudad 1624Almacn Ciudad 242

27Programacin Lineal Entera BinariaDecisinSi/No?BeneficioCoste1Fbrica Ciudad 19 62Fbrica Ciudad 25 33Almacn Ciudad 1654Almacn Ciudad 242El capital total disponible es de 10 um.

El capital total disponible es de 11 um28Programacin Lineal Entera BinariaDecisinSi/No?BeneficioCoste1Fbrica Ciudad 19 62Fbrica Ciudad 25 33Almacn Ciudad 1654Almacn Ciudad 242El capital total disponible es de 10 um.

El capital total disponible es de 11 um

29Programacin Lineal Entera BinariaEn el siguiente mini-video veremos El Problema de la Mochila 30Mini-video 2 de 2Programacin Lineal Entera Binaria

31Programacin Lineal Entera BinariaIntroduccin

Consideremos el problema:

en el que todas o algunas variables tomen valores enteros.

Si las variables de decisin solo pueden tomar los valores 0 1, entonces se llamarn binarias y el problema ser de P.L. Entera Binaria:

32Programacin Lineal Entera BinariaEl Problema de la Mochila

http://es.wikipedia.org/wiki/Problema_de_la_mochila 33Programacin Lineal Entera BinariaEjemplo 1Sea una empresa que fabrica objetos de papelera, que en el ejercicio econmico que se cierra ha obtenido un excedente de 10.000 ; se plantea invertir esta cantidad (o parte de ella) en algunos productos, teniendo en cuenta que los beneficios son:

Lpices de colores con un beneficio de 11.000 Gomas de borrar con un beneficio de 9.000 Carboncillos con un beneficio de 1.000

Por otra parte, los costes son:

Coste de las instalaciones para fabricar lpices de colores: 10.000 Coste de las instalaciones para fabricar gomas de borrar: 6.000 Coste de las instalaciones para fabricar carboncillos: 4.000 34Programacin Lineal Entera BinariaQueremos elegir alguno (o varios) de los productos anteriores. Parece lgico tener en cuenta la relacin bi/ci en el que consideramos los beneficios y los costes a la vez (algoritmos voraces):

En nuestro ejemplo, si calculamos este ratio, obtenemos: Lpices de colores: 11.000/10.000 = 1.1 Gomas de borrar: 9.000/6.000 = 1.5 Carboncillos: 1.000/4.000 = 0.25

De forma que elegiramos primero Gomas de borrar pues su ratio es el mayor (con un coste de 6.000 ); el siguiente ratio (1.1) sobrepasa el peso de la mochila mximo, por lo que elegimos carboncillos (con un coste de 4.000 ), no pudiendo elegir ms, ya que nuestro presupuesto era de 10.000 . 35Programacin Lineal Entera Binaria36Programacin Lineal Entera BinariaLpicesGomasCarboncillosCosteBeneficioAdmisibles1SiSiSi20.00021.000No2SiSiNo16.00020.000No3SiNoSi14.00012.000No4NoSiSi10.00010.000Si5SiNoNo10.00011.000Si6NoSiNo6.0009.000Si7NoNoSi4.0001.000Si8NoNoNo00Si37Programacin Lineal Entera BinariaLpicesGomasCarboncillosCosteBeneficioAdmisibles1SiSiSi20.00021.000No2SiSiNo16.00020.000No3SiNoSi14.00012.000No4NoSiSi10.00010.000Si5SiNoNo10.00011.000Si6NoSiNo6.0009.000Si7NoNoSi4.0001.000Si8NoNoNo00Si38Programacin Lineal Entera BinariaLpicesGomasCarboncillosCosteBeneficioAdmisibles1SiSiSi20.00021.000No2SiSiNo16.00020.000No3SiNoSi14.00012.000No4NoSiSi10.00010.000Si5SiNoNo10.00011.000Si6NoSiNo6.0009.000Si7NoNoSi4.0001.000Si8NoNoNo00Si39Programacin Lineal Entera BinariaFormulacin mediante Programacin Lineal

Llamaremos:n : nmero de objetos entre los que se puede elegir. ci : peso del objeto i; ci representa el coste de escoger un objeto, pues va a ocupar espacio de la mochila y dejar fuera otros objetos. bi: utilidad o beneficio que proporciona cada objeto. P: capacidad de la mochila, lo que equivale al presupuesto mximo del que se dispone.

Las variables del problema, xi, son binarias, es decir, slo pueden tomar dos valores: El valor 1 si el objeto se incluye en la mochila El valor 0 si el objeto se excluye de la mochila 40Programacin Lineal Entera BinariaHemos de maximizar el beneficio total: b1x1++bnxnPero estamos sujetos a la restriccin de la capacidad de la mochila, es decir: c1x1++cnxn P

Luego el problema le formulamos como:

41Programacin Lineal Entera BinariaEjemplo 1 mediante Programacin Lineal:x1: lpices de colores, x2: gomas de borrar, x3: carboncillos

Objetivo: Maximizar 11000 x1+9000 x2+1000 x3Restricciones: 10000 x1+6000 x2 + 4000 x310000 x1,x2,x3 [0,1] x1,x2,x3 Z

42Programacin Lineal Entera BinariaEjemplo 1 mediante Programacin Lineal:x1: lpices de colores, x2: gomas de borrar, x3: carboncillos

Objetivo: Maximizar 11000 x1+9000 x2+1000 x3Restricciones: 10000 x1+6000 x2 + 4000 x310000 x1,x2,x3 [0,1] x1,x2,x3 Z

BeneficioCosteLpices11.000 10.000 Gomas9.000 6.000 Carboncillos1.000 4.000 10.00043Programacin Lineal Entera BinariaEjemplo 1 mediante Programacin Lineal:x1: lpices de colores, x2: gomas de borrar, x3: carboncillos

Objetivo: Maximizar 11000 x1+9000 x2+1000 x3Restricciones: 10000 x1+6000 x2 + 4000 x310000 x1,x2,x3 [0,1] x1,x2,x3 Z

44Programacin Lineal Entera BinariaEjemplo 1 mediante Programacin Lineal:x1: lpices de colores, x2: gomas de borrar, x3: carboncillos

Objetivo: Maximizar 11000 x1+9000 x2+1000 x3Restricciones: 10000 x1+6000 x2 + 4000 x310000 x1,x2,x3 [0,1] x1,x2,x3 Z

En resumen:Mediante algoritmos voraces, fabricar gomas de borrar y carboncillos con un beneficio de 10.000 .Solucin mediante el problema de la mochila: fabricar solo lpices con un beneficio de 11.000 .

45Programacin Lineal Entera BinariaEjemplo 2Una empresa dispone de un milln de euros para invertir en nuevos proyectos. En concreto dispone de 3 nuevos proyectos posibles. En la siguiente tabla aparece el coste que supone cada uno de ellos, as como el beneficio que se espera de su realizacin. La empresa desea saber en cul debe invertir si quiere maximizar su beneficio esperado sin superar su presupuesto:Coste inversinBeneficio esperadoProyecto 1500.0001.750.000Proyecto 2600.0002.000.000Proyecto 3400.0001.500.000Proyecto 4550.0001.900.00046Programacin Lineal Entera BinariaSi utilizamos para resolverlo el razonamiento lgico que consiste en elegir, en primer lugar, aquel que ofrezca un mayor ratio:

Beneficio esperado / Coste de inversin

47Programacin Lineal Entera BinariaSi utilizamos para resolverlo el razonamiento lgico que consiste en elegir, en primer lugar, aquel que ofrezca un mayor ratio:

Beneficio esperado / Coste de inversin

48Programacin Lineal Entera BinariaSi utilizamos para resolverlo el razonamiento lgico que consiste en elegir, en primer lugar, aquel que ofrezca un mayor ratio:

Beneficio esperado / Coste de inversin

De tal forma que elegiramos los Proyectos 3 y 1 (no podemos ms ya que elegir el 4 supondra un coste mayor del milln de euros), con un beneficio esperado de 1.500.000+1.750.000 = 3.250.000

49Programacin Lineal Entera BinariaPara resolverlo mediante Programacin Lineal, llamamos xi a una variable binaria que toma el valor 1 si se elige el proyecto i ( i = 1, 2, 3, 4) y cero en caso contrario.

La formularemos:

Maximizar 1.75 106 x1+2 106 x2+1.5 106 x3+1.9 106 x4Sujeta: 0.5 106 x1+0.6 106 x2+0.4 106 x3+0.55 106 x4 106 x1, x2, x3, x4 [0,1] x1, x2, x3, x4 Z

50Programacin Lineal Entera BinariaPara resolverlo mediante Programacin Lineal, llamamos xi a una variable binaria que toma el valor 1 si se elige el proyecto i ( i = 1, 2, 3, 4) y cero en caso contrario.

La formularemos:

Maximizar 1.75 106 x1+2 106 x2+1.5 106 x3+1.9 106 x4Sujeta: 0.5 106 x1+0.6 106 x2+0.4 106 x3+0.55 106 x4 106 x1, x2, x3, x4 [0,1] x1, x2, x3, x4 Z

Coste inversinBeneficio esperadoProyecto 1500.0001.750.000Proyecto 2600.0002.000.000Proyecto 3400.0001.500.000Proyecto 4550.0001.900.00051Programacin Lineal Entera BinariaPara resolverlo mediante Programacin Lineal, llamamos xi a una variable binaria que toma el valor 1 si se elige el proyecto i ( i = 1, 2, 3, 4) y cero en caso contrario.

La formularemos:

Maximizar 1.75 106 x1+2 106 x2+1.5 106 x3+1.9 106 x4Sujeta: 0.5 106 x1+0.6 106 x2+0.4 106 x3+0.55 106 x4 106 x1, x2, x3, x4 [0,1] x1, x2, x3, x4 Z

52Programacin Lineal Entera BinariaPara resolverlo mediante Programacin Lineal, llamamos xi a una variable binaria que toma el valor 1 si se elige el proyecto i ( i = 1, 2, 3, 4) y cero en caso contrario.

La formularemos:

Maximizar 1.75 106 x1+2 106 x2+1.5 106 x3+1.9 106 x4Sujeta: 0.5 106 x1+0.6 106 x2+0.4 106 x3+0.55 106 x4 106 x1, x2, x3, x4 [0,1] x1, x2, x3, x4 Z

53Programacin Lineal Entera BinariaPara resolverlo mediante Programacin Lineal, llamamos xi a una variable binaria que toma el valor 1 si se elige el proyecto i ( i = 1, 2, 3, 4) y cero en caso contrario.

La formularemos:

Maximizar 1.75 106 x1+2 106 x2+1.5 106 x3+1.9 106 x4Sujeta: 0.5 106 x1+0.6 106 x2+0.4 106 x3+0.55 106 x4 106 x1, x2, x3, x4 [0,1] x1, x2, x3, x4 Z

El beneficio esperado es de 3.500.000, 250.000 mas que por el mtodo anterior.

54Programacin Lineal Entera BinariaEjemplo 3El Club Baloncesto Unicaja de Mlaga quiere contratar uno o varios jugadores nuevos; para ello, ha sondeado el mercado y ha encontrado a 5 jugadores, sabiendo que el club dispone de un presupuesto mximo de 50.000 / mes. En la siguiente tabla aparece una relacin de los candidatos a ser fichados junto con su aportacin esperada y el sueldo que percibiran:SueldoAportacinJugador 150.00015Jugador 225.2008Jugador 336.00015Jugador 447.00017Jugador 512.000755Programacin Lineal Entera BinariaResolviendo mediante programacin lineal:

Maximizar 15x1+8x2+15x3+17x4+7x5Sujeta a: 50 103 x1 + 25.2 103 x2 + 36 103 x3 + 47 103 x4 + 12 103 x5 50 103x1, x2, x3, x4, x5 [0,1] x1, x2, x3, x4, x5

O dividiendo la primera restriccin por 1000:

Maximizar 15x1+8x2+15x3+17x4+7x5Sujeta a: 50 x1 + 25.2 x2 + 36 x3 + 47 x4 + 12 x5 103x1, x2, x3, x4, x5 [0,1] x1, x2, x3, x4, x5 Z

56Programacin Lineal Entera BinariaObtenemos entonces que sera rentable la contratacin de los jugadores 3 y 5 con un coste de 36000+12000=48000/mes, cantidad menor que la permitida de 50000/mes57Programacin Lineal Entera BinariaObtenemos que sera rentable la contratacin de los jugadores 3 y 5 con un coste de 36000+12000=48000/mes, menor que la permitida de 50000/mes

Podramos escoger como criterio el ratio "Aportacin/Sueldo", ya que tenemos en cuenta ambos factores en la decisin: cuanto ms alto sea este ratio, preferible ser contratar a este jugador. Reconsideraremos el sueldo, dividindolo por 1.000 para hacer el ratio ms operativo: SueldoAportacinAportacin / SueldoJugador 150150,3000Jugador 225,280,3175Jugador 336150,4167Jugador 447170,3617Jugador 51270,583358Programacin Lineal Entera BinariaComo hemos dicho, escogeremos aquellos jugadores con mejor ratio hasta agotar el presupuesto:Jugador 5: ratio =0,58333, sueldo = 12.000 Jugador 3: ratio =0,41666, sueldo = 36.000

59Programacin Lineal Entera BinariaComo el total disponible era de 50.000 y tenemos acumulado 48.000 , no hay ms jugadores cuyo sueldo pueda entrar en presupuesto, as que ste es nuestro resultado definitivo por este mtodo, resultado que coincide con el obtenido mediante Programacin Lineal.60