material adicional teórica v -...

14
Modelos y Optimización I Curso 2019 Segundo Cuatrimestre Material adicional Teórica 5 Material adicional Teórica V Temario Seguimos trabajando con problemas combinatorios: Problema de Distribución o Transporte o Problema de Trasbordo Problema de Asignación o Problema de Asignación Cuadrática Problemas de Cobertura de Conjuntos o Conjuntos a cubrir o Particionamiento o Packing Problemas combinatorios Son aquellos en los cuales se desea determinar combinaciones óptimas. Se caracterizan por tener un número finito de soluciones factibles. Generalmente este número es muy grande. Problema de Distribución o Transporte Tenemos: Un conjunto de lugares cada uno de los cuales tiene disponible una cantidad de unidades de un producto (Orígenes o Suministros) Un conjunto de lugares cada uno de los cuales demanda una cantidad de unidades de un producto (Destinos o Demandas) Se conoce el costo Cij de enviar una unidad desde el Origen i hasta el destino j Veremos un ejemplo en el cual los orígenes o suministros son tres distribuidoras (Mendoza, San Luis y Santa Fe) que tienen disponible determinada cantidad de producto y los destinos son cuatro almacenes (Córdoba, Tucumán, Rosario y Buenos Aires) que demandan determinada cantidad de ese mismo producto

Upload: others

Post on 29-Feb-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Material adicional Teórica V - materias.fi.uba.armaterias.fi.uba.ar/7114/Docs/MaterialAdicionalTeorica05.pdf · • Problema de Asignación o Problema de Asignación Cuadrática

Modelos y Optimización I Curso 2019 Segundo Cuatrimestre

Material adicional Teórica 5

Material adicional Teórica V

Temario

Seguimos trabajando con problemas combinatorios:

• Problema de Distribución o Transporte o Problema de Trasbordo

• Problema de Asignación o Problema de Asignación Cuadrática

• Problemas de Cobertura de Conjuntos o Conjuntos a cubrir o Particionamiento o Packing

PPrroobblleemmaass ccoommbbiinnaattoorriiooss

• Son aquellos en los cuales se desea determinar combinaciones óptimas.

• Se caracterizan por tener un número finito de soluciones factibles.

• Generalmente este número es muy grande.

Problema de Distribución o Transporte Tenemos:

� Un conjunto de lugares cada uno de los cuales tiene disponible una cantidad de unidades de un producto (Orígenes o Suministros)

� Un conjunto de lugares cada uno de los cuales demanda una cantidad de unidades de un producto (Destinos o Demandas)

� Se conoce el costo Cij de enviar una unidad desde el Origen i hasta el destino j Veremos un ejemplo en el cual los orígenes o suministros son tres distribuidoras (Mendoza, San Luis y Santa Fe) que tienen disponible determinada cantidad de producto y los destinos son cuatro almacenes (Córdoba, Tucumán, Rosario y Buenos Aires) que demandan determinada cantidad de ese mismo producto

Page 2: Material adicional Teórica V - materias.fi.uba.armaterias.fi.uba.ar/7114/Docs/MaterialAdicionalTeorica05.pdf · • Problema de Asignación o Problema de Asignación Cuadrática

Modelos y Optimización I Curso 2019 Segundo Cuatrimestre

Material adicional Teórica 5

Los números que están a la izquierda de cada distribuidora representan la OFERTA o SUMINISTRO de esa distribuidora (las distribuidoras en nuestro problema son los ORIGENES de la mercadería) Los números que están debajo de cada almacén representan la DEMANDA de ese almacén (los almacenes en nuestro problema son los DESTINOS de la mercadería) Cualquier origen puede enviar producto a cualquiera de los destinos (todos se conectan con todos) como lo indican las flechas

Costo de transporte En la tabla se indica el costo de transportar una unidad desde el origen i hasta el destino j (esta misma tabla sirve para resumir todos los datos, incluidos los de ofertas y demandas de cada origen/destino, además de verificar que la oferta total sea igual a la demanda total):

Page 3: Material adicional Teórica V - materias.fi.uba.armaterias.fi.uba.ar/7114/Docs/MaterialAdicionalTeorica05.pdf · • Problema de Asignación o Problema de Asignación Cuadrática

Modelos y Optimización I Curso 2019 Segundo Cuatrimestre

Material adicional Teórica 5

En nuestro ejemplo la demanda total y la oferta total suman igual (300 unidades). Si no fuera así habría que agregar un origen ficticio (en el caso en el cual la demanda supera la oferta) que tenga disponibles la cantidad de unidades que faltan o un destino ficticio (en el caso en el cual la oferta supera a la demanda) que demande las unidades que sobran Los costos de transporte vinculados con orígenes o destinos ficticios son CERO o un número muy grande para que el modelo no los elija como primera opción.

Definición del problema de Distribución o Transporte El objetivo es determinar la cantidad de unidades de producto que cada origen envía a cada destino, para minimizar los costos de transporte totales en un cierto período de tiempo

Hipótesis principales:

• Producto homogéneo (estamos hablando del mismo producto en orígenes y destinos)

• Costos lineales.

Modelización del problema de Distribución o Transporte De acuerdo con el objetivo las variables serán: Xij: cantidad de unidades que el origen i envía al destino j El funcional minimiza los costos totales: MIN Z = 464 X11 + 513 X12 + 654 X13 + 867 X14 + 352 X21 + 416 X22 + 690 X23

+ 791 X24 + 995 X31 + 682 X32 + 388 X33 + 685 X34 Por cada origen hay que asegurar que se van a distribuir todas las unidades Mendoza: X11 + X12 + X13 + X14 = 75 San Luis: X21 + X22 + X23 + X24 = 125 Santa Fe: X31 + X32 + X33 + X34 = 100 Por cada destino hay que asegurar que le van a llegar todas las unidades Córdoba: X11 + X21 + X31 = 80 Tucumán: X12 + X22 + X32 = 65 Rosario: X13 + X23 + X33 = 70 Buenos Aires: X14 + X24 + X34 = 85

Page 4: Material adicional Teórica V - materias.fi.uba.armaterias.fi.uba.ar/7114/Docs/MaterialAdicionalTeorica05.pdf · • Problema de Asignación o Problema de Asignación Cuadrática

Modelos y Optimización I Curso 2019 Segundo Cuatrimestre

Material adicional Teórica 5

Esquema general

El modelo de transporte (planteo genérico)

Asumiendo que Σ Si = Σ Dj, el planteo matemático es:

Minimizar Z = Σ Σ Cij Xij Sujeto a:

Σ Xij = Si para i=1...m Σ Xij = Dj para j=1...n Xij > 0 para todo i y para todo j MUY IMPORTANTE:

Existe un teorema que demuestra que, si todas las ofertas son números enteros y todas las demandas son números enteros, siendo todas las restricciones IGUALDADES, el problema de distribución o transporte tendrá como resultado que todas las variables tomarán valor entero aunque no se les ponga la condición de que las variables tienen que tomar valor entero. Por eso es que el problema de distribución o transporte se resuelve como un problema con variables continuas. Es muy importante que la oferta total sea igual a la demanda total (aunque sea agregando un origen ficticio o un destino ficticio, según corresponda) para que se pueda verificar que resolviéndolo como continuo da resultado entero.

Page 5: Material adicional Teórica V - materias.fi.uba.armaterias.fi.uba.ar/7114/Docs/MaterialAdicionalTeorica05.pdf · • Problema de Asignación o Problema de Asignación Cuadrática

Modelos y Optimización I Curso 2019 Segundo Cuatrimestre

Material adicional Teórica 5

El problema de Transbordo

� En este problema las unidades no son enviadas directamente desde los orígenes hacia los destinos, sino que las unidades van desde los orígenes hasta alguno de los centros de transbordo y desde éste a alguno de los destinos

Vamos a adaptar el problema de distribución que vimos antes a la estructura de trasbordo.

Costos de Transbordo En la tabla se indica el costo de transportar una unidad desde el origen i hasta el transbordo j

Los transbordos comúnmente no tienen capacidad máxima (tampoco demanda)

Page 6: Material adicional Teórica V - materias.fi.uba.armaterias.fi.uba.ar/7114/Docs/MaterialAdicionalTeorica05.pdf · • Problema de Asignación o Problema de Asignación Cuadrática

Modelos y Optimización I Curso 2019 Segundo Cuatrimestre

Material adicional Teórica 5

En la tabla se indica el costo de transportar una unidad desde el transbordo i hasta el destino j

Los transbordos no tienen una cantidad fija como oferta (lo que pueden entregar es lo que recibieron de los orígenes

Modelización del problema de Transbordo Las variables serán: XOiTj: cantidad de unidades que el origen i envía al transbordo j XTiDj: cantidad de unidades que el transbordo i envía al destino j El funcional minimiza los costos totales: MIN Z = 138 XO1T1 + 313 XO1T2 + 321 XO2T1 + 216 XO2T2 + 356 XO3T1 + 182

XO3T2 + 464 XT1D1 + 513 XT1D2 + 654 XT1D3 + 867 XT1D4 + 495 XT2D1+ 682 XT2D2 + 388 XT2D3 + 685 XT2D4

� Para los orígenes, los transbordos son destinos Mendoza: XO1T1 + XO1T2 = 75 San Luis: XO2T1 + XO2T2 = 125 Santa Fe: XO3T1 + XO3T2 = 100

� Para los destinos, los transbordos son orígenes Córdoba: XT1D1 + XT2D1 = 80 Tucumán: XT1D2 + XT2D2 = 65

Page 7: Material adicional Teórica V - materias.fi.uba.armaterias.fi.uba.ar/7114/Docs/MaterialAdicionalTeorica05.pdf · • Problema de Asignación o Problema de Asignación Cuadrática

Modelos y Optimización I Curso 2019 Segundo Cuatrimestre

Material adicional Teórica 5

Rosario: XT1D3 + XT2D3 = 70 Buenos Aires: XT1D4 + XT2D4 = 85 � Se agrega al modelo una ecuación por cada transbordo: Todo lo que entró al

centro de transbordo debe salir del mismo. Transbordo 1 XO1T1 + XO2T1 + XO3T1 = XT1D1 + XT1D2 + XT1D3 + XT1D4 Transbordo 2 XO1T2 + XO2T2 + XO3T2 = XT2D1 + XT2D2 + XT2D3 + XT2D4

El problema de Asignación Sean los conjuntos A y B, ambos con m elementos:

El problema de asignación consiste en: • encontrar el conjunto P donde:

• cada elemento de P es un par (a, b), • a es un elemento del conjunto A, • b es un elemento del conjunto B,

• tal que minimice una función de costo Σ C(a,b). Restricciones que se deben cumplir para P: • cada elemento de A debe aparecer en P exactamente una vez • cada elemento de B debe aparecer en P exactamente una vez

El problema es LINEAL

La función de costo depende solamente de cada par (a, b) y es independiente de los demás pares. Esquema general

Page 8: Material adicional Teórica V - materias.fi.uba.armaterias.fi.uba.ar/7114/Docs/MaterialAdicionalTeorica05.pdf · • Problema de Asignación o Problema de Asignación Cuadrática

Modelos y Optimización I Curso 2019 Segundo Cuatrimestre

Material adicional Teórica 5

• Suministro total = Demanda total • Todos los suministros y demandas iguales a uno • Función de costo lineal

El modelo de Asignación 1 si i (origen) es asignado a j (destino) Xij 0 si i no es asignado a j

Minimizar/Maximizar Z = ΣΣΣΣ ΣΣΣΣ Cij Xij Sujeto a:

ΣΣΣΣ Xij = 1 ∀∀∀∀ i=1...m ΣΣΣΣ Xij = 1 ∀∀∀∀ j=1...m

Xij > 0 ∀∀∀∀ i y ∀∀∀∀ j Xij bivalentes Es un caso particular del problema de transporte en el cual todas las demandas y ofertas son iguales a 1. Por lo tanto, se resuelve como un problema de variables continuas y de igual manera el resultado es que todas las variables toman valor entero (cero o uno).

Asignación Cuadrática Veamos un ejemplo: Sea A conjunto de fábricas y B conjunto de ciudades Objetivo: ubicar una fábrica en cada ciudad minimizando los costos totales de comunicación entre las fábricas Este costo de comunicación depende de:

• Frecuencia de comunicación entre cada par de fábricas. • Distancias entre las dos ciudades donde las fábricas están localizadas.

tik : frecuencia de comunicación entre fábricas i y k

djl : costo por unidad de comunicación entre las ciudades j y l

Cjikl se define como tik . djl

Page 9: Material adicional Teórica V - materias.fi.uba.armaterias.fi.uba.ar/7114/Docs/MaterialAdicionalTeorica05.pdf · • Problema de Asignación o Problema de Asignación Cuadrática

Modelos y Optimización I Curso 2019 Segundo Cuatrimestre

Material adicional Teórica 5

Si queremos resolver el problema mediante PLE deberemos generar un cambio de variables:

Page 10: Material adicional Teórica V - materias.fi.uba.armaterias.fi.uba.ar/7114/Docs/MaterialAdicionalTeorica05.pdf · • Problema de Asignación o Problema de Asignación Cuadrática

Modelos y Optimización I Curso 2019 Segundo Cuatrimestre

Material adicional Teórica 5

Yijkl = 1 si Xij = Xkl = 1, Yijkl = 0 en caso contrario ¿Cómo hacemos que las variables Yijkl tomen ese valor? Tenemos que plantear un AND de Xij y Xkl

2 Yijkl < Xij + Xkl < 1 +Yijkl Y en el funcional ponemos las Yijkl en lugar del producto de Xij por Xkl

PPrroobblleemmaass ddee ccoobbeerrttuurraa ddee ccoonnjjuunnttooss

• Problemas de grupos que se deben cubrir.

• Problemas de grupos que se particionan.

• Problemas de “Packing”

GGeennéérriiccaammeennttee

• S = {1,2,3N.n} conjunto de elementos a cubrir.

• L = {(1,2);(2);N.} conjunto formado por sub conjuntos de S

• Elegir elementos de L tales que:

◦ Cobertura: se cubran todos los elementos de S con solapamiento.

◦ Partición: se cubran todos los elementos de S sin solapamiento.

◦ Packing: se cubra la máxima cantidad de elementos de S que se pueda sin solapamiento

UUnn eejjeemmpplloo::

• Una compañía aérea debe cubrir el vuelo a 5 ciudades (1,2,3,4,5) desde la

ciudad cero

• Se han definido 6 posibles circuitos y para cada uno se indica qué ciudades

toca: A - (1,2); B - (1,3,5); C - (2,4,5); D - (3); E - (1); F - (4,5)

• Cada tripulación está asignada a un circuito.

• Se busca minimizar la cantidad de tripulaciones.

Page 11: Material adicional Teórica V - materias.fi.uba.armaterias.fi.uba.ar/7114/Docs/MaterialAdicionalTeorica05.pdf · • Problema de Asignación o Problema de Asignación Cuadrática

Modelos y Optimización I Curso 2019 Segundo Cuatrimestre

Material adicional Teórica 5

GGrrááffiiccaammeennttee::

En el conjunto S (ciudades) hemos marcado los subconjuntos (circuitos) que

forman L

EEssqquueemmaa ggeenneerraall

• Entre los subconjuntos que conforman L (los circuitos) tenemos que elegir

algunos de manera de cubrir S, de acuerdo con los criterios del problema que

estemos tratando (cobertura, particionamiento o packing)

• Para eso definimos una variable bivalente por cada circuito

• Yi: vale 1 si se realiza el circuito i,

vale cero sino

PPrroobblleemmaass ddee ggrruuppooss qquuee ssee ddeebbeenn ccuubbrriirr

� Se debe determinar cuáles circuitos se realizarán, de modo tal que cada una

de las cinco ciudades sea cubierta por al menos un circuito (puede haber una o

más ciudades que sean cubiertas por más de un circuito, a esto se le llama

solapamiento)

Page 12: Material adicional Teórica V - materias.fi.uba.armaterias.fi.uba.ar/7114/Docs/MaterialAdicionalTeorica05.pdf · • Problema de Asignación o Problema de Asignación Cuadrática

Modelos y Optimización I Curso 2019 Segundo Cuatrimestre

Material adicional Teórica 5

MIN YA + YB + YC + YD + YE + YF ST !Deben estar cubiertas todas las ciudades al menos una vez, por lo tanto se debe !elegir al menos un circuito de los que pasan por cada ciudad CIUDAD1) YA + YB + YE >= 1 CIUDAD2) YA + YC >= 1 CIUDAD3) YB + YD >= 1 CIUDAD4) YC + YF >= 1 CIUDAD5) YB + YC + YF >= 1

• En este caso, como son pocas ciudades el problema se puede resolver a mano. Vemos que con solamente dos circuitos se cubren todas las ciudades (con el B y el C)

• Hay un solapamiento en la ciudad 5 (los dos circuitos la cubren) pero el planteo del problema lo permite

• Desde el punto de vista de conjuntos, sería elegir elementos de L tal que la unión de los subconjuntos de L elegidos me dé el conjunto S original

Este caso es el que vimos la semana pasada cuando para resolver el problema de

coloreo de grafos usábamos el método de conjuntos independientes maximales

PPrroobblleemmaass ddee ggrruuppooss qquuee ssee ppaarrttiicciioonnaann

� Siguiendo el ejemplo anterior, se trata ahora de cubrir todas las ciudades

utilizando los mismos 6 circuitos pero sin “solapamiento”.

MIN YA + YB + YC + YD + YE + YF ST !Deben estar cubiertas todas las ciudades exactamente una vez, por lo tanto se !debe elegir exactamente un circuito de los que pasan por !cada ciudad CIUDAD1) YA + YB + YE = 1 CIUDAD2) YA + YC = 1 CIUDAD3) YB + YD = 1 CIUDAD4) YC + YF = 1 CIUDAD5) YB + YC + YF = 1

• En este caso, como son pocas ciudades el problema se puede resolver a mano. Vemos que en este caso se necesitan tres circuitos (el problema al tener signo de igual es más restrictivo que el de grupos a cubrir que era de mayor o igual). Una posible solución es elegir los circuitos A, D y F ¿podés encontrar otra con tres circuitos?

• Muchas veces este tipo de planteo no tiene solución, porque los datos no permiten cubrir sin solapamiento

• Desde el punto de vista de conjuntos, sería elegir elementos de L tal que la unión de los subconjuntos de L elegidos me dé el conjunto S original y que la

Page 13: Material adicional Teórica V - materias.fi.uba.armaterias.fi.uba.ar/7114/Docs/MaterialAdicionalTeorica05.pdf · • Problema de Asignación o Problema de Asignación Cuadrática

Modelos y Optimización I Curso 2019 Segundo Cuatrimestre

Material adicional Teórica 5

intersección entre los subconjuntos de L elegidos sea el conjunto vacío

Este caso es el que vimos la semana pasada cuando para resolver el problema de

coloreo de grafos usábamos el método de conjuntos independientes

PPrroobblleemmaass ddee ““PPaacckkiinngg””

� Ahora se trata de “cubrir” la mayor cantidad de elementos que se pueda, sin

solapamiento (no existe la obligación de cubrirlos todos).

� Muchas veces se plantea este problema porque el de partición no tiene

solución (entonces, si no podemos cubrir todos los elementos, vamos a cubrir

la máxima cantidad que podamos)

!En este caso hay que tener un funcional de máximo porque nos piden elegir la !mayor cantidad posible de elementos de L MAX YA + YB + YC + YD + YE + YF ST !No es necesario que todas las ciudades estén obligatoriamente cubiertas, pero !ninguna debe estar sobrecubierta (no hay solapamiento) CIUDAD1) YA + YB + YE <= 1 CIUDAD2) YA + YC <= 1 CIUDAD3) YB + YD <= 1 CIUDAD4) YC + YF <= 1 CIUDAD5) YB + YC + YF <= 1

• En este caso, la solución es la misma que en el caso de conjuntos que se particionan (si el problema de conjuntos que se particionan tiene solución, la solución del problema de packing es la misma)

• Un ejemplo de este tipo de problema podría ser tratar de ocupar la máxima cantidad de Cocheras en un playa de estacionamiento (no se puede poner más de un auto por cochera y dependiendo de las condiciones del problema me pueden quedar algunas cocheras vacías).

Otro planteo

• Con el planteo del funcional que hicimos puede visitar muchos circuitos de pocas ciudades cada uno.

• Si queremos que visite la mayor cantidad de ciudades ahora sí tiene sentido tener una bivalente por ciudad

• Vi vale 1 si se visita la ciudad i y vale 0 sino

MAX V1 + V2 + V3 + V4 + V5

Page 14: Material adicional Teórica V - materias.fi.uba.armaterias.fi.uba.ar/7114/Docs/MaterialAdicionalTeorica05.pdf · • Problema de Asignación o Problema de Asignación Cuadrática

Modelos y Optimización I Curso 2019 Segundo Cuatrimestre

Material adicional Teórica 5

ST !No es necesario que todas las ciudades estén obligatoriamente cubiertas, pero !ninguna debe estar sobrecubierta (no hay solapamiento) CIUDAD1) YA + YB + YE = V1 CIUDAD2) YA + YC = V2 CIUDAD3) YB + YD = V3 CIUDAD4) YC + YF = V4 CIUDAD5) YB + YC + YF = V5

GGeennéérriiccaammeennttee::

� S = {1,2,3N.n} conjunto de elementos a cubrir.

� L = {(1,2);(2);N.} conjunto formado por sub conjuntos de S

� Elegir elementos de L tales que:

◦ Cobertura: se cubran todos los elementos de S con solapamiento.

◦ Partición: se cubran todos los elementos de S sin solapamiento.

◦ Packing: se cubra la máxima cantidad de elementos de S que se

pueda sin solapamiento

¿Qué nos queda de esta clase?

� Cómo modelizar problemas combinatorios de la familia de Distribución:

� Problema de distribución o transporte (*)

� Problema de trasbordo (*)

� Problema de asignación (*)

� Problema de asignación cuadrática

� Cómo modelizar problemas combinatorios de la familia de Cobertura de

Conjuntos:

� Conjuntos a cubrir

� Partición de conjuntos

� Packing

(*) Se pueden resolver por programación lineal continua