tc3001-10-transporte.pdf

27
El Problema del Transporte TC3001 - p. 1/25 Optimización y Programación Lineal El Problema del Transporte Departamento de Matemáticas ITESM

Transcript of tc3001-10-transporte.pdf

  • El Problema del Transporte TC3001 - p. 1/25

    Optimizacin y Programacin Lineal

    El Problema del TransporteDepartamento de Matemticas

    ITESM

  • IntroduccionEjemplo 1FormulacionModelacionGraficaTableauLINGOComentariosEjemplo 2Ejemplo 3TransbordoConversionEjemplo 4

    El Problema del Transporte TC3001 - p. 2/25

    Introduccin

    Veamos ahora el problema del transporte, cul essu formulacin general y cmo se resuelvemediante LINGO.

  • IntroduccionEjemplo 1FormulacionModelacionGraficaTableauLINGOComentariosEjemplo 2Ejemplo 3TransbordoConversionEjemplo 4

    El Problema del Transporte TC3001 - p. 3/25

    Ejemplo 1PowerCo tiene tres plantas de generacin de energa elctrica quesuministran energa a cuatro ciudades. Cada planta puedesuministrar una cierta cantidad lmite y cada ciudad tiene una ciertademanda mxima conocida la cual debe satisfacerse. Los costospara enviar la energa de cada planta a cada ciudad as como lasdemandas y capacidades de suministro se dan en la siguientetabla.

    HACIA (Costo en dlares por enviar 1 milln de kwh) OFERTADESDE Ciudad 1 Ciudad 2 Ciudad 3 Ciudad 4 (En millones de kwh)Planta 1 8 6 10 9 35Planta 2 9 12 13 7 50Planta 3 14 9 16 5 40

    DEMANDA 45 20 30 30(En millones de kwh)

    Formule un modelo de PL que minimice el costo del envio y quesatisfaga la demanda mxima de energa en cada ciudad.

  • El Problema del Transporte TC3001 - p. 4/25

    La solucin se obtiene indicando cunto debe enviarse de cada planta a cadaciudad, por ello es que las variables de decisin son:

    xij = El nmero de millones de khw enviados de la planta i a la ciudad j

    HACIA (Costo en dlares por enviar 1 milln de kwh) OFERTADESDE Ciudad 1 Ciudad 2 Ciudad 3 Ciudad 4 (En millones de kwh)Planta 1 8 6 10 9 35Planta 2 9 12 13 7 50Planta 3 14 9 16 5 40

    DEMANDA 45 20 30 30(En millones de kwh)

    La funcin a minimizar es la funcin de costo total del envio de energa elctrica:

    z = 8x11 + 6x12 + 10x13 + 9x14 (Costo de enviar energa de la planta 1)+9x21 + 12x22 + 13x23 + 7x24 (Costo de enviar energa de la planta 2)+14x31 + 9x32 + 16x33 + 5x34 (Costo de enviar energa de la planta 3)

  • El Problema del Transporte TC3001 - p. 5/25

    HACIA (Costo en dlares por enviar 1 milln de kwh) OFERTADESDE Ciudad 1 Ciudad 2 Ciudad 3 Ciudad 4 (En millones de kwh)Planta 1 8 6 10 9 35Planta 2 9 12 13 7 50Planta 3 14 9 16 5 40

    DEMANDA 45 20 30 30(En millones de kwh)

    Las restricciones son de dos tipos: las relativas a la capacidad de cada planta y lasrelativas al cumplimiento mnimo de la demanda mxima en cada ciudad:n Capacidad de la planta 1: x11 + x12 + x13 + x14 35n Capacidad de la planta 2: x21 + x22 + x23 + x24 50n Capacidad de la planta 3: x31 + x32 + x33 + x34 40n Demanda en la ciudad 1: x11 + x21 + x31 45n Demanda en la ciudad 2: x12 + x22 + x32 20n Demanda en la ciudad 3: x13 + x23 + x33 30n Demanda en la ciudad 4: x14 + x24 + x34 30Y las restricciones de signo xij 0.

  • IntroduccionEjemplo 1FormulacionModelacionGraficaTableauLINGOComentariosEjemplo 2Ejemplo 3TransbordoConversionEjemplo 4

    El Problema del Transporte TC3001 - p. 6/25

    Formulacin del Problema del Transporte

    El problema del transporte en general se especifica mediante lasiguiente informacin:1. Un conjunto de m puntos de oferta desde los cuales se envian

    utilidades o bienes.2. Una lista de capacidades de suministro mximo de cada sitio de

    oferta si para i = 1, 2, . . . ,m.3. Un conjunto de n puntos de demanda hacia los cuales se envia

    una utilidad o bien.4. Una lista de demandas de utilidades o bienes dj de cada punto

    de demanda j las cuales deben satisfacerse mnimamente.5. Una matriz de valores que indica el costo fijo en el que se incurre

    al enviar una unidad producida en el punto de oferta i y enviada alpunto de demanda j, cij .

  • IntroduccionEjemplo 1FormulacionModelacionGraficaTableauLINGOComentariosEjemplo 2Ejemplo 3TransbordoConversionEjemplo 4

    El Problema del Transporte TC3001 - p. 7/25

    Modelacin del Problema del Transporte

    Si xij es el total de unidades producidas y enviadas del punto deoferta i al punto de demanda j, entonces, el planteamiento delproblema de transporte es:

    Minimizarm

    i=1

    n

    j=1

    cijxij

    sujeto an Satisfacer la solicitud de bienes de cada punto de demanda:

    j = 1, 2, . . . , n :

    m

    i=1

    xij dj

    n No exceder las capacidades de cada punto de oferta:

    i = 1, 2, . . . ,m :

    n

    j=1

    xij si

    n Restricciones naturales: xij 0 (Total de nm restricciones).

  • IntroduccionEjemplo 1FormulacionModelacionGraficaTableauLINGOComentariosEjemplo 2Ejemplo 3TransbordoConversionEjemplo 4

    El Problema del Transporte TC3001 - p. 8/25

    Representacin grfica

    City 1

    City 2

    City 3

    City 4

    Plant 1

    Plant 2

    Plant 3

    d1

    d2

    d3

    d4

    s1

    s2

    s3

  • IntroduccionEjemplo 1FormulacionModelacionGraficaTableauLINGOComentariosEjemplo 2Ejemplo 3TransbordoConversionEjemplo 4

    El Problema del Transporte TC3001 - p. 9/25

    Tableau

    s1

    s2

    .

    .

    .

    sm

    d1 d2 . . . dn

    . . .

    . . .

    . . .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    c11

    c21

    cm1

    c12

    c22

    cm2

    c1n

    c2n

    cmn

    x11 x12

    x21 x22

    S

    u

    m

    i

    n

    i

    s

    t

    r

    o

    s

    Demandas

  • IntroduccionEjemplo 1FormulacionModelacionGraficaTableauLINGOComentariosEjemplo 2Ejemplo 3TransbordoConversionEjemplo 4

    El Problema del Transporte TC3001 - p. 10/25

    Cdigo LINGO del ejemplo 1model:sets:

    ! Indice para el suministro. Se usara i como variable indice de suministro;! s = vector de datos con capacidades por suministro;

    m /1..3/:s;! Indice para los puntos de demanda. Se usara j como variable indice de punto de demanda;! d = vector de datos con demandas;

    n /1..4/:d;! c = matriz (m x n) con los datos de costos de envio desde suministro i al punto de demanda j;! x = matriz (m x n) con las variables de decisin, x(i,j) tendr numero de unidades enviadas desde el suministro i al puntode demanda j;

    links (m,n): x, c;endsetsdata:! Capacidad de cada punto de suministro;

    s = 35, 50, 40;! Cantidad solicitada en cada punto de demanda;

    d = 45, 20, 30, 30;! Matriz de costos ;

    c = 8, 6, 10, 9,9, 12, 13, 7,

    14, 9, 16, 5;enddata! Objetivo: Minimizar el costo total del envio;min = @sum( m(i): @sum( n(j): c(i,j)*x(i,j)) );! Familia de restricciones 1: Para cada suministro i, la cantidad total de salida no debe exceder su capacidad;@for(m(i):

    @sum( n(j): x(i,j) ) = d(j));end

  • IntroduccionEjemplo 1FormulacionModelacionGraficaTableauLINGOComentariosEjemplo 2Ejemplo 3TransbordoConversionEjemplo 4

    El Problema del Transporte TC3001 - p. 11/25

    model:sets:

    m /1..3/:s;n /1..4/:d;links (m,n): x, c;endsetsdata:s=@FILE(C:/Usuarios/uresti/cursos/tc3001/lecturas/red70101s.tex);d=@FILE(C:/Usuarios/uresti/cursos/tc3001/lecturas/red70101d.tex);c=@FILE(C:/Usuarios/uresti/cursos/tc3001/lecturas/red70101c.tex);enddatamin = @sum(links:c*x);@for(m(i): @sum(n(j):x(i,j)) = d(j) );end

    Versin sin comentarios, con otras funcionalidades

  • IntroduccionEjemplo 1FormulacionModelacionGraficaTableauLINGOComentariosEjemplo 2Ejemplo 3TransbordoConversionEjemplo 4

    El Problema del Transporte TC3001 - p. 12/25

    Comentarios

    n Cuando la suma total de las demandas es igual a la suma totalde las capacidades de suministros se dice que es un problemade transporte balanceado.

    n Existen tcnicas especficas para generar una solucin bsicafactible en el caso balanceado y por ello es que se balanceaartificialmente el problema:u Cuando la oferta excede la demanda se introduce un punto de

    demanda ficticio (dummy demand point).u Cuando la demanda excede la oferta no hay solucin bsica

    factible. En este caso se introducen castigos por no cumplirciertas demandas y la funcin objetivo incluye tales castigos.

    n Entre las tcnicas para encontrar una SBF en el casobalanceado estn:u El mtodo de la Esquina Noroesteu El mtodo de Vogelu El mtodo de Mnimo CostoPero nosotros le dejaremos el trabajo a LINDO o a LINGO.

  • IntroduccionEjemplo 1FormulacionModelacionGraficaTableauLINGOComentariosEjemplo 2Ejemplo 3TransbordoConversionEjemplo 4

    El Problema del Transporte TC3001 - p. 13/25

    Ejemplo 2Hay dos presas que suministran agua a tres ciudades. Cada presapuede suministrar hasta 50 millones de galones de agua por da.Cada ciudad quisiera recibir 40 millones de galones de agua porda. Por cada milln de galones de demanda diaria no cumplida hayuna multa. En la ciudad 1, la multa es de 20 dlares; en la ciudad 2,la multa es de 22 dlares; y en la ciudad 3, la multa es de 23dlares. En la tabla se muestran los costos de enviar un milln degalones de cada presa a cada ciudad. Formule y resuelva unmodelo de transporte balanceado que se pueda usar paraminimizar los costos de escasez y transporte.

    HACIADESDE Ciudad 1 Ciudad 2 Ciudad 3

    Presa 1 7 8 10Presa 2 9 7 8

  • IntroduccionEjemplo 1FormulacionModelacionGraficaTableauLINGOComentariosEjemplo 2Ejemplo 3TransbordoConversionEjemplo 4

    El Problema del Transporte TC3001 - p. 14/25

    HACIADESDE Ciudad 1 Ciudad 2 Ciudad 3

    Presa 1 7 8 10Presa 2 9 7 8

    Escasez = Demanda Total Oferta Total =

    di

    sj = 120 100 = 20

    50Presa 1

    50Presa 2

    20Escasez

    Ciudad 1 Ciudad 2 Ciudad 3 Oferta

    40 40 40

    7

    9

    20

    8

    7

    22

    10

    8

    23

  • IntroduccionEjemplo 1FormulacionModelacionGraficaTableauLINGOComentariosEjemplo 2Ejemplo 3TransbordoConversionEjemplo 4

    El Problema del Transporte TC3001 - p. 15/25

    Cdigo LINGO para el ejemplo 2:model:sets:

    m /1..3/:s;n /1..3/:d;links (m,n): x, c;

    endsetsdata:

    s = 50, 50, 20;d = 40, 40, 40;c = 7, 8, 10,

    9, 7, 8,20, 22, 23;

    enddatamin = @sum( m(i): @sum( n(j): c(i,j)*x(i,j)) );@for(m(i): @sum( n(j): x(i,j) ) = d(j) );end

  • IntroduccionEjemplo 1FormulacionModelacionGraficaTableauLINGOComentariosEjemplo 2Ejemplo 3TransbordoConversionEjemplo 4

    El Problema del Transporte TC3001 - p. 16/25

    Solucion al Problema de las PresasSe deben enviar los siguientes millones de galones de agua decada presa a cada ciudada:

    50Presa 1 20 30 0

    50Presa 2 0 10 40

    20Escasez 20 0 0

    Ciudad 1 Ciudad 2 Ciudad 3 Oferta

    40 40 40

    7

    9

    20

    8

    7

    22

    10

    8

    23

  • IntroduccionEjemplo 1FormulacionModelacionGraficaTableauLINGOComentariosEjemplo 2Ejemplo 3TransbordoConversionEjemplo 4

    El Problema del Transporte TC3001 - p. 17/25

    Ejemplo 3SailCo tiene qu determinar cuntos veleros hay que producir encada uno de los cuatro trimestres del ao. La demanda de velerosen cada uno de ellos es conocida: 40, 60, 75 y 25 veleros en cadauno de los semestres. La empresa tiene que cumplir con talesdemandas. Al principio tiene un inventario de 10 veleros. Lacompaa decide al principio de cada trimestre cuntos veleros hayque producir en l. Suponga que los veleros construidos durante untrimestre pueden ser utilizados para cubrir la demanda en el mismotrimestre. La compaa puede producir 40 veleros en tiempo normalde trabajo a un costo de 400 dlares el velero y puede producirhasta 20 veleros adicionales utilizando tiempo extra a un costo de600 dlares cada velero. Al final de cada trimestre se presentancostos de menejo de inventario por 20 dlares por cada velero.Formule y resuelva un modelo de transporte balanceado que sepueda usar para minimizar los costos de produccin y manejo deinventario durante los 4 trimestres prximos.

  • IntroduccionEjemplo 1FormulacionModelacionGraficaTableauLINGOComentariosEjemplo 2Ejemplo 3TransbordoConversionEjemplo 4

    El Problema del Transporte TC3001 - p. 18/25

    Puntos de oferta Puntos de demanda

    Punto 1 Inventario inicial (s1 = 10) Punto 1 Demanda trimestre 1 (d1 = 40)Punto 2 Prod regular trim 1 (s2 = 40) Punto 2 Demanda trimestre 2 (d2 = 60)Punto 3 Prod extra trim 1 (s3 = 20) Punto 3 Demanda trimestre 3 (d3 = 75)Punto 4 Prod regular trim 2 (s4 = 40) Punto 4 Demanda trimestre 4 (d4 = 25)Punto 5 Prod extra trim 2 (s5 = 20)Punto 6 Prod regular trim 3 (s6 = 40)Punto 7 Prod extra trim 3 (s7 = 20)Punto 8 Prod regular trim 4 (s8 = 40)Punto 9 Prod extra trim 4 (s9 = 20)

  • IntroduccionEjemplo 1FormulacionModelacionGraficaTableauLINGOComentariosEjemplo 2Ejemplo 3TransbordoConversionEjemplo 4

    El Problema del Transporte TC3001 - p. 19/25

    ConsumidorFuentes T1 T2 T3 T4 Oferta

    Stock 10PR1 40PE1 20PR2 M 40PE2 M 20PR3 M M 40PE3 M M 20PR4 M M M 40PE4 M M M 20

    Demandas 40 60 75 25

  • IntroduccionEjemplo 1FormulacionModelacionGraficaTableauLINGOComentariosEjemplo 2Ejemplo 3TransbordoConversionEjemplo 4

    El Problema del Transporte TC3001 - p. 20/25

    model:sets:m /1..9/:s;n /1..4/:d;links (m,n): x, c;endsetsdata:s = 10, 40, 20, 40, 20, 40, 20, 40, 20;d = 40, 60, 75, 25;c =

    ! Costos del inventario inicial;0, 20, 40, 60,! Costos del trimestre 1;400, 420, 440, 460,600, 620, 640, 6600,! Costos del trimestre 2;10000, 400, 420, 440,10000, 600, 620, 640,! Costos del trimestre 3;10000, 10000, 400, 420,10000, 10000, 600, 620,! Costos del trimestre 4;10000, 10000, 10000, 400,10000, 10000, 10000, 600;enddatamin = @sum(links:c*x);@for(m(i): @sum(n(j):x(i,j)) = d(j) );

    end

  • IntroduccionEjemplo 1FormulacionModelacionGraficaTableauLINGOComentariosEjemplo 2Ejemplo 3TransbordoConversionEjemplo 4

    El Problema del Transporte TC3001 - p. 21/25

    ConsumidorFuentes T1 T2 T3 T4 Oferta

    Stock 0 0 10 0 10

    PR1 40 0 0 0 40PE1 0 0 5 0 5

    PR2 0 40 0 0 40PE2 0 20 0 0 20

    PR3 0 0 40 0 40PE3 0 0 20 0 20

    PR4 0 0 0 25 25PE4 0 0 0 0 0

    Demandas 40 60 75 25

  • IntroduccionEjemplo 1FormulacionModelacionGraficaTableauLINGOComentariosEjemplo 2Ejemplo 3TransbordoConversionEjemplo 4

    El Problema del Transporte TC3001 - p. 22/25

    Transbordo

    Mientras que en el problema del transporte se tienen envos quevan directamente desde un punto de oferta a un punto de demanda,en el Problema del Transbordo existen puntos intermedios (puntosde transbordo) donde se pueden recibir bienes para ser enviados apuntos de demanda. En su formalizacin hay tres tipos de puntos:n Puntos de oferta. Son puntos que pueden enviar bienes hacia

    otro punto pero no se pueden recibir bienes.n Puntos de demanda. Son puntos donde se reciben bienes pero

    no tienen forma de enviarlos.n Puntos de transbordo. Son puntos donde se pueden recibir y

    enviar bienes.

  • IntroduccionEjemplo 1FormulacionModelacionGraficaTableauLINGOComentariosEjemplo 2Ejemplo 3TransbordoConversionEjemplo 4

    El Problema del Transporte TC3001 - p. 23/25

    Conversin a un problema de Transporte

    Los problemas de transbordo pueden ser convertidos en problemasde transporte de la siguiente manera. Sea s = ni=1 si la ofertatotal disponible y d =

    nj=1 dj la demanda total.

    1. Si s > d, aada un punto de demanda ficticio con una oferta 0 ycon una demanda s d. El costo de enviar un bien desdecualquier punto de oferta a este nodo ficticio ser cero.

    2. Construya el cuadro de transporte de la siguiente manera.Tendr un rengln por cada punto de oferta y de transbordo. Encada punto de oferta tendr una oferta igual a la oferta original,mientras que cada punto de transbordo tendr una oferta queser la suma de su oferta inicial ms s. Tendr una columna porcada punto de demanda y por cada punto de transbordo. Encada punto de demanda, la demanda ser igual a la demandaoriginal y en cada punto de transbordo la demanda ser igual ala suma de la demanda original y s. Note que se tiene laposibilidad que en los puntos de transbordo exista una oferta ouna demanda.

  • IntroduccionEjemplo 1FormulacionModelacionGraficaTableauLINGOComentariosEjemplo 2Ejemplo 3TransbordoConversionEjemplo 4

    El Problema del Transporte TC3001 - p. 24/25

    Ejemplo 4WidgetCo produce dispositivos mecnicos en dos fbricas; una enMemphis y otro en Denver. La fbricas de Memphis puede producirhasta 150 dispositivos mientras que la de Denver hasta 200. Losdispositivos se envan en avin hasta sus clientes que estn en Losngeles y en Boston. Los clientes en cada ciudad requieren 130dispositivos. Debido a la falta de reglamentacin en las tarifasareas, WidgetCo cree que es ms barato enviar algunosdispositivos a Nueva York o a Chicago, para despus enviarlos asus destinos finales. Los costos de envio de cada dispositivo estnen la siguiente tabla. Plantee y resuelva un modelo para WidgetCode manera que se minimice el costo total de enviar los dispositivosrequeridos a sus clientes.

    HACIA (Costo en dlares por enviar 1 dispositivo)DESDE NY Chicago Los ngeles Boston

    Memphis 8 13 25 28Denver 15 12 26 26

    NY 0 6 16 17Chicago 6 0 14 16

  • El Problema del Transporte TC3001 - p. 25/25

    s = sMen + sChi = 150 + 200 = 350

    d = dLA + dBos = 130 + 130 = 260

    Como s > d, se crea nodo de demanda ficticio.

    Memphis

    Denver

    NY

    Chicago

    NY Chicago LA Boston Ficticia

  • El Problema del Transporte TC3001 - p. 25/25

    s = sMen + sChi = 150 + 200 = 350

    d = dLA + dBos = 130 + 130 = 260

    Como s > d, se crea nodo de demanda ficticio.

    Memphis

    Denver

    NY

    Chicago

    NY Chicago LA Boston Ficticia Oferta

    Demanda

    150

    200

    350

    350

    350 350 130 130 90

  • El Problema del Transporte TC3001 - p. 25/25

    s = sMen + sChi = 150 + 200 = 350

    d = dLA + dBos = 130 + 130 = 260

    Como s > d, se crea nodo de demanda ficticio.

    Memphis

    Denver

    NY

    Chicago

    NY Chicago LA Boston Ficticia Oferta

    Demanda

    150

    200

    350

    350

    350 350 130 130 90

    8 13 25 28 0

    15 12 26 26 0

    0 6 16 17 0

    6 0 14 16 0

    IntroduccinEjemplo 1Formulacin del Problema del TransporteModelacin del Problema del TransporteRepresentacin grficaTableauCdigo LINGO del ejemplo 1ComentariosEjemplo 2Ejemplo 3TransbordoConversin a un problema de TransporteEjemplo 4