unidad02 apunte02 rev02 simplex y dual

21
Inv. Operativa U.T.N. Fac. Reg. Haedo Docente: Ing. Muntaner Unidad II Apunte2 P.L. Simplex Pág. 1 de 1 Rev.02 INVESTIGACION OPERATIVA UNIDAD II Método Simplex y Dual. Apunte 2 Docente : Ing. Néstor E. Muntaner. Ayudantes : Ing. Romina Miccige / Ing. Christian Cocchi Año: 2003

Upload: jairo-jose-pico-ferrer

Post on 13-Nov-2015

16 views

Category:

Documents


3 download

DESCRIPTION

Unidad02 Apunte02 Rev02 Simplex y Dual

TRANSCRIPT

  • Inv. Operativa U.T.N. Fac. Reg. Haedo Docente: Ing. Muntaner Unidad II Apunte2 P.L. Simplex Pg. 1 de 1 Rev.02

    INVESTIGACION OPERATIVA

    UNIDAD II

    Mtodo Simplex y Dual. Apunte 2

    Docente : Ing. Nstor E. Muntaner. Ayudantes: Ing. Romina Miccige / Ing. Christian Cocchi

    Ao: 2003

  • Inv. Operativa U.T.N. Fac. Reg. Haedo Docente: Ing. Muntaner Unidad II Apunte2 P.L. Simplex Pg. 2 de 2 Rev.02

    MTODO SIMPLEX INTRODUCCIN. El problema de programacin lineal consiste en hallar un vector que haga Mxima (o Mnima) una funcin lineal llamada funcin Objetivo [Z], sujeta a las siguientes restricciones Donde

    nixxxxx i ,...,3,2,1,0;...0;0;0;0 4321 =" Incorporando las variables Slack (Holgura), S, no negativas, Si con i = 1,2,3,,m, las desigualdades se transforman en igualdades de la forma

    La s me dan la capacidad ociosa, su costo es nulo y sirven para eliminar las inecuaciones. Quedando un sistema de ecuaciones lineales cuya expresin matricial es A .Z = B donde

    nnxxxxxX = ),...,,,,( 4321

    ++++

    --------------------------------------

    ++++

    ++++

    ++++

    mnnmmmm

    nn

    nn

    nn

    bxaxaxaxa

    bxaxaxaxa

    bxaxaxaxa

    bxaxaxaxa

    .......

    .......

    .......

    .......

    .332211

    3.3333232131

    2.2323222121

    1.1313212111

    =

    =++++=n

    iiinnx xcxcxcxcxcf

    1332211)( ......,..(

    mibsxaxaxaxa iinniiii ,...,3,2,1....... ,33,22,11, ==+++++

  • Inv. Operativa U.T.N. Fac. Reg. Haedo Docente: Ing. Muntaner Unidad II Apunte2 P.L. Simplex Pg. 3 de 3 Rev.02

    1).(0,

    1.,

    ).(, ))((,))((,))((

    mnji

    mji

    mnmji zZbBaA

    +

    + ===

    =

    m

    m

    n

    nmmmm

    n

    n

    n

    b

    bbb

    s

    sssx

    xxx

    aaaa

    aaaaaaaaaaaa

    M

    M

    M

    LMOMMMMOMMM

    LLL

    3

    2

    1

    3

    2

    1

    3

    2

    1

    ,3,2,1,

    ,33,32,31,3

    ,23,22,21,2

    ,13,12,11,1

    *

    1...000

    0...1000...0100...001

    Siendo los elementos de A, coeficientes tecnolgicos, y los elementos del vector B, coeficientes de disponibilidad de recursos. Donde la funcional es ahora:

    porque las variables Slack (holgura) tienen costo nulo. Por lo general hablaremos de costos (c) en los problemas de minimizacin y de beneficios (b) en los de maximizacin. Si en el sistema de ecuaciones resultante todos los elementos de B son no negativos, existe una solucin factible y bsica dada por:

    (Primer solucin bsica factible).

    Pero con un valor de la funcional nulo. En ste mtodo, a partir de sta solucin bsica, se construye mediante un proceso iterativo, una sucesin de soluciones que mejoren la funcional hasta su optimizacin. Veremos, la implementacin a travs de la resolucin de ejemplos.

    mnnx ssssxcxcxcxcfZ .0....0.0.0.....,..( 321332211)( +++++++++==

    ),...,,,,...,0,0,0(),...,,,,,...,,,( 321321321 mmnT bbbbssssxxxxZZ ===

  • Inv. Operativa U.T.N. Fac. Reg. Haedo Docente: Ing. Muntaner Unidad II Apunte2 P.L. Simplex Pg. 4 de 4 Rev.02

    Ejercicio N 1 Una empresa manufacturera paraliz la produccin de ciertos productos por bajas utilidades. Esto gener una capacidad ociosa de produccin. Se plante entonces la necesidad de asignar esa nueva capacidad disponible a la elaboracin de hasta 3 productos (1, 2, 3). La informacin elaborada es la siguiente:

    Demanda de horas de Maq. por artculo Tipo de maquina

    a utilizar Disponibilidad [hrs. / semana] 1 2 3

    Fresadora 280 8 2 3 Torno 100 4 3 0 Rectificadora 60 2 1 1

    Marketing informa que el potencial de ventas para los 3 productos supera la mxima produccin posible, o sea que la demanda del mercado es superior a la produccin factible, lo que posibilita que todo lo producido pueda ser vendido. Los beneficios son $ 20, $ 6, $ 8 para los productos 1, 2 y 3 respectivamente. Fijar la produccin de cada producto para maximizar los beneficios. Resolucin. Llamemos x1, x2, x3 a las cantidades producidas de los artculos 1, 2 y 3. La funcin objetivo a maximizar es: P(x1,x2,x3) = 20. x1 +6.x2 +8. x3 sujeta a las siguientes restricciones:

    Donde

    Introduciendo las variables Slack: S1, S2, S3 no negativas, tenemos el sistema de ecuaciones A . Z = B

    =+++

    =++

    =+++

    60.2

    100.3.4

    280.3.2.8

    3321

    221

    1321

    sxxx

    sxx

    sxxx

    Siendo la nueva funcional.

    Partiremos de la solucin bsica factible

    )60,100,280,0,0,0(),,,,,( 321321 === sssxxxZZT

    Siendo la funcional para sta primer solucin bsica factible:

    ++

    +

    ++

    actificadorxxx

    Tornoxx

    Fresadoraxxx

    Re60.2

    100.3.4

    280.3.2.8

    321

    21

    321

    3,2,1,0 = jxj

    321321 .0.0.0.8.6.20( sssxxxZ +++++=

    0)60.0100.0280.00.80.60.20( =+++++=Z

  • Inv. Operativa U.T.N. Fac. Reg. Haedo Docente: Ing. Muntaner Unidad II Apunte2 P.L. Simplex Pg. 5 de 5 Rev.02

    Expresamos el sistema en funcin de los vectores columna (Recordar A.x=Z):

    =

    +

    +

    +

    +

    +

    =

    60

    100

    280

    1

    0

    0

    .

    0

    1

    0

    .

    0

    0

    1

    .

    1

    0

    3

    .

    1

    3

    2

    .

    2

    4

    8

    . 321321 sssxxxZ

    BPsPsPsPxPxPxZ =+++++= 635241332211 ...... La solucin bsica verifica:

    BPPPPPPZ =+++++= 654321 .60.100.280.0.0.0 es decir que

    BPPPZ =++= 654 .60.100.280 Primera solucin bsica factible (I) Al subespacio generado por los vectores columna {P1, P2, P3, P5, P6, B} de la matriz ampliada, se le asocia una primera base dada por {P4, P5, P6}. Pero dicha base est asociada nicamente con las variables slack s, y esto hace que la funcional correspondiente tenga valor nulo. Queremos introducir P1 en la base {P4, P5, P6}. Expresamos dicho vector columna como combinacin de los vectores de la base inicial, resultando P1 = 8.P4 + 4.P5 + 2.P6, de donde

    0.2.4.8 1654 =-++ PPPP (II) Hacemos una combinacin lineal de (I) y (II) en base a un parmetro ? tal que (I) - ? (II) = B

    BPPPP =+-+-+- 1654 .).260()..4100()..8280( qqqq (III) Para tener soluciones al sistema de variables no negativas, identificadas con los coeficientes de los vectores en la combinacin lineal de B, tenemos que tomar el ? mnimo que haga nulo uno de los coeficientes de P4, P5 P6.

    350)..8280( ==- qq ; 250)..4100( ==- qq ; 300)..260( ==- qq ? mnimo {35,25,30} = 25

    Reemplazamos ? = 25 en III, resultando BPPP =++ 164 .25.10.80 . Sale P5 de la base, siendo la nueva base: {P4, P6, P1}. La nueva solucin factible es:

    )10,0,80,0,0,25(),,,,,( 321321 === sssxxxZZT

    cuya funcional tiene un valor

    500)60.00.080.00.80.625.20( =+++++=Z

  • Inv. Operativa U.T.N. Fac. Reg. Haedo Docente: Ing. Muntaner Unidad II Apunte2 P.L. Simplex Pg. 6 de 6 Rev.02

    La nueva solucin incrementa de 0 a 500 el valor de la funcional. Debemos seguir con el proceso iterativo introduciendo en la base otros vectores para mejorar el funcional. Para ello, presentamos a continuacin la resolucin del problema por medio de los cuadros Simplex. El cuadro del Simplex del sistema original es el siguiente, donde se utiliza matriz ampliada del sistema original. X1 X2 X3 S1 S2 S3 bi Solucin

    I 8 2 3 1 0 0 280 S1=280 II 4 3 0 0 1 0 100 S2=100 II 2 1 1 0 0 1 60 S3= 60 cj 20 6 8 0 0 0 F

    En la fila cj colocamos los coeficientes de la funcional. En las columnas (xi, si) reemplazamos los coeficientes tecnolgicos aij. En la columna bi reemplazamos los coeficientes de disponibilidad de recursos bi. En la columna Solucin colocamos los valores de las variables Slack (s) y Xi pertenecientes al vector solucin. RESOLUCIN De los indicadores de la fila cj {20,6,8}, elegimos 20 por ser el de mayor valor y por lo tanto tener mayor incidencia en la funcional Z. De la columna correspondiente al indicador elegido (vector columna P1) elegimos aquel elemento positivo que satisfaga ser el mnimo cociente entre:

    3,2,11,

    min=

    ii

    i

    ab

    25}30,25,35min{260

    ,4

    100,

    8280

    min ==

    =

    X1 X2 X3 S1 S2 S3 bi Solucin I 8 2 3 1 0 0 280 S1=280 II 4 3 0 0 1 0 100 S2=100 II 2 1 1 0 0 1 60 S3= 60 cj 20 6 8 0 0 0 F

    Por lo que elegimos a21=4. Se elige el mnimo para evitar variables negativas. Transformamos en pivote unitario al elemento elegido multiplicando la segunda fila por (o sea 1/ a21) , obteniendo el siguiente cuadro: X1 X2 X3 S1 S2 S3 bi Solucin

    I 8 2 3 1 0 0 280 S1=280 F2*(1/4) 1 3/4 0 0 1/4 0 25 S2=100

    II 2 1 1 0 0 1 60 S3= 60 cj 20 6 8 0 0 0 F

    Reducimos los restantes elementos de la primer columna a cero mediante transformaciones elementales a partir del elemento pivote a21= 1. Obtenemos as el vector P1 en forma cannica que reemplace en la base de los vectores columna {P4, P5, P6} a P5.

  • Inv. Operativa U.T.N. Fac. Reg. Haedo Docente: Ing. Muntaner Unidad II Apunte2 P.L. Simplex Pg. 7 de 7 Rev.02

    X1 X2 X3 S1 S2 S3 bi Solucin F1=F1-8.F2 0 -4 3 1 -2 0 80 S1=80

    F2*(1/4) 1 3/4 0 0 0 25 X1=25 F3=F3-2.F2 0 -1/2 1 0 0 1 10 S3= 10

    F4=F4-20.F2 0 -9 8 0 -5 0 F = 500 Observamos que en la solucin entr X1y sali S2, mejorando la funcional en $500. - Comenzamos nuevamente el proceso iterativo Siendo el 8 (Columna X3) el mayor indicador positivo de la fila cj, calculamos.

    3,2,13,

    min=

    ii

    i

    ab 10}10,67.26min{

    110

    ,3

    80min ==

    =

    X1 X2 X3 S1 S2 S3 bi Solucin F1=F1-3.F3 0 -5/2 0 1 -2 -3 50 S1=50

    1 3/4 0 0 1/4 0 25 X1=25 0 -1/2 1 0 0 1 10 X3=10

    F4=F4-8.F3 0 -5 0 0 -5 -8 F = 580 El proceso se considera terminado porque no existe ningn indicador positivo en la fila de los coeficientes de la funcional cj.

    321321 .0.0.0.8.6.20 sssxxxZ +++++= =)(5800.00.050.010.80.625.20 Max=+++++

    Solucin: Fabricaremos 25u. de producto 1 y 10u. del producto 3. En los procesos iterativos se parte de una solucin bsica factible y se la va mejorando. Ejemplo N 1. Resolucin por mtodo Solver.

    DEMANDA DE HRS POR ART. X1 X2 X3 CANT FRESADORA 8 2 3 280 MENOR TORNO 4 3 0 100 MENOR RECTIFICADORA 2 1 1 60 MENOR BENEFICIOS UNITARIOS $20,00 $6,00 $8,00

    FUNCION OBJETIVO Z=20*X1+6*X2+8*X3

    DEMANDA DE HRS POR ART.

    X1 X2 X3 CANT. REF. REAL DIF. REAL

  • Inv. Operativa U.T.N. Fac. Reg. Haedo Docente: Ing. Muntaner Unidad II Apunte2 P.L. Simplex Pg. 8 de 8 Rev.02

    Consideraciones Generales 1ero. Las inecuaciones planteadas hasta ahora representan restricciones que poseen un limite mximo de disponibilidades (). Pero nada impide que puedan presentarse inecuaciones con un limite mnimo de consumo ().

    Ejemplo de esto ltimo lo representara la inecuacin bxaxaxa ++ 332211 ... con b > 0, en un problema de dieta donde la necesidad mnima de cierta vitamina (b > 0) debe ser cubierta mediante la ingestin de ciertas cantidades de alimentos (x1, x2, x3) que aportan, de la misma, determinadas cantidades por unidad de peso (a1, a2, a3).

    2do. Recordar que en todo problema de programacin lineal se deben cumplir condiciones de no negatividad de las variables reales. 3ro. La utilizacin del mtodo grfico, con el polgono convexo, es cmodo y sencillo hasta dos variables reales, pero resulta imposible para ms variables. Es por ello que se recurre al mtodo algebraico (Simplex). 4to. La funcin a optimizar representa una familia monoparamtrica de hiperplanos. Si la

    funcional es )(..11

    cteCxcxcfn

    iii

    n

    iii ==

    ==se busca que valor debe tomar el

    parmetro C para que f sea ptimo, es decir mximo mnimo segn el problema. 5to. Si las restricciones del problema estn representadas por inecuaciones de menor o igual a las disponibilidades, se incorporan las variables Slack para transformar el sistema planteado de inecuaciones en un sistema de ecuaciones lineales. Las variables slack que igualan las ecuaciones, representan la capacidad ociosa o disponible de las disponibilidades mximas 6to. Dentro del mtodo algebraico, el Simplex provee un sistema rpido y efectivo para la resolucin de los problemas de programacin lineal. 7mo. Cuando se presentan restricciones de mayor o igual o limite mnimo se incorpora un nuevo tipo de variables artificiales. Podemos analizar esta necesidad a partir del siguiente ejemplo.

    Sea el sistema

    ++

    40.30.10

    10.8

    21

    21

    xx

    xx con funcional a maximizar f(x1,x2) = 10. x1 + 15. x2.

    Si incorporamos las variables Slack no negativas, S1 y S2, se presentaran las siguientes ecuaciones f(x1,x2) = 10. x1 + 15. x2+0. s1 + 0. s2

    -+-+

    40.30.10

    10.8

    221

    121

    Sxx

    Sxx

  • Inv. Operativa U.T.N. Fac. Reg. Haedo Docente: Ing. Muntaner Unidad II Apunte2 P.L. Simplex Pg. 9 de 9 Rev.02

    la primera solucin bsica factible sera (x1, x2, s1, s2)=(0,0,-10,-40) la cual no cumple con la condicin de no negatividad de las variables slack. Para superar este inconveniente, se

    incorpora al sistema, sumando, una variable l, llamada artificial para cada condicin de , quedando el sistema de la siguiente forma

    8vo. Ya estn definidas en la funcional los coeficientes cj que tienen asignados las variables reales (en el ejemplo c1 = 10, c2 = 15 ) y los definidos para las variables slacks que son todos nulos.

    Cuando las inecuaciones son del tipo menor e igual, para transformarlas en ecuaciones solo se incorporan las variables slack (S) junto a las variables reales (xi), figurando en la funcional con un valor positivo y costo cero no incidiendo en el valor do dicha funcional. Las variables artificiales se emplean, con los reales y las slack, en las inecuaciones de mayor o igual correspondindoles en la funcional un coeficiente de costo igual a M si se minimiza la funcional e igual a -M si se maximiza el funcional, donde M es considerado un valor positivo muy grande. Nota: En la prctica en lugar de M o M utilizaremos cifras. Nota: Maximizar: Zj-Cj y busco el valor ms negativo. Minimizar : CjZj y busco el valor ms negativo. 9no. Construccin del diagrama simplex completo, agregado zj. Para simplificar, suponemos que tenemos un sistema de inecuaciones de menor o igual, es decir que para transformarlas en inecuaciones, slo se incorporan las variables slack. Expresamos primero la matriz ampliada del sistema de ecuaciones de, por Ej., el problema , constituido por las submatrices: una de 4*2 de las variables reales, otra de 4*4 con los vectores columnas unitarios de las variables slack, y otra do 4*1 vector columna B. Variables

    Reales Variables Slack

    P1 P2 P3 P4 P5 P6 X1 X2 S1 S2 S3 S4 bi Solucin xk Ck 1 3 1 0 0 0 15000 S1=15000 0 2 1 0 1 0 0 10000 S2=10000 0 2 2 0 0 1 0 12000 S3=12000 0 1 1 0 0 0 1 10000 S4=10000 0

    Cj 4 3 0 0 0 0 Zj 0 0 0 0 0 0

    Zj-Cj -4 -3 0 0 0 0 F (Valor de la funcional)

    Como vemos est adicionado un vector columna con las variables que intervienen en la solucin factible y, a continuacin, una columna ck de los coeficientes de beneficio o de

    +-++-+

    40.30.10

    10.8

    2221

    1121

    ll

    Sxx

    Sxx

  • Inv. Operativa U.T.N. Fac. Reg. Haedo Docente: Ing. Muntaner Unidad II Apunte2 P.L. Simplex Pg. 10 de 10 Rev.02

    costo asociados a las variables que pertenecen a la solucin xk. Tambin aparece un vector fila cj de los coeficientes asociados a las variables en la funcional.

    Incorporamos ahora, el vector fila zj correspondiente al producto escalar de cada una de las columnas de la matriz ampliada por el vector columna ck. Por ejemplo:

    Z1 =( ck)T * P1=(0 0 0 0)*

    122

    1

    = 0*1+0*2+0*2+0*1= 0

    Como ya sabemos, la primer solucin bsica factible es:

    )10000,12000,10000,15000,0,0(),,,,,( 332121 === ssssxxZZT

    con f = 4.x1+4.x2+0.s1 + 0.s2 + 0.s3 + 0.s4 = 0. Si queremos mejorar el valor de la funcional, introduciremos la variable x1 (correspondiente al indicador positivo mximo de los cj) cuyos coeficientes corresponden a la columna P1. Dicha columna no figura en la base del subespacio de soluciones, formado hasta ahora por {P3, P4, P4, P5}. Si deseamos introducir P1 en la base, ser necesario reducir las cantidades de los productos P3, P4, P5, y P6, en la proporcin indicada por los coeficientes de P1. Como la columna de P1 est formada por los coeficientes 1,2,2,1, deber disminuir una unidad de P3, 2 de P4,, 2 de P5 y 1 de P6 Queda por conocer la incidencia de introducir P1 y de quitar unidades de P3, P4, P5 y P6 en la funcional. El beneficio de introducir una unidad de P1 es 4 (valor dado por su coeficiente de beneficio c1= 4), y el beneficio de eliminar unidades de P3, P4, P5, y P6, est dado por Z1 =( ck)

    T*P1 = 0 quedando una ganancia neta en el cambio Cj - Zj = C1 Z1 = 4 - 0 = 4. Esto valor (Cj - Zj), se denomina costo de oportunidad y representa lo que se perdera si no se introduce P1, en la base , lo que es lo mismo, si no se introduce x1 en la solucin. Por razones prcticas se opera con (Zj-Cj), (que en este caso vale -4), valor que en definitiva indica un balance econmico el cual analiza la mejora potencial al introducir xj en la solucin. En resumen Zj es lo que se perdera al introducir xj y cj lo que se ganara al introducirlo. Cuando se maximiza una funcional, puede mejorarse la solucin siempre que exista un valor positivo de cj, mas general, un valor negativo de (Zj-Cj), Si Zj- Cj = 0, indicara que no se produce cambio en la funcional al introducir dicho vector Pj, en la base. La introduccin de la nueva fila Zj, adquiere importancia ante la presencia de las variables artificiales ?j, con un costo M.

  • Inv. Operativa U.T.N. Fac. Reg. Haedo Docente: Ing. Muntaner Unidad II Apunte2 P.L. Simplex Pg. 11 de 11 Rev.02

    Mtodo de las penalizaciones. Resolver con el mtodo de las penalizaciones, tambin llamado de la variable artificial o de la M grande, los programas lineales

    a) Maximizar

    +

    ++=

    0,22

    4

    21

    21

    21

    21

    xxxx

    xxxxZ

    Solucin a) Transformamos el sistema al formato estndar de maximizacin aadiendo variables de holgura (S3, S5) y una variable artificial (?4). Bajo la forma de maximizacin, el mtodo de las penalizaciones incorpora las variables artificiales a la funcin objetivo del problema transformado con coeficiente - M, donde M representa un nmero grande, en comparacin con el resto de los coeficientes del programa. El problema transformado queda

    54321 .0..0 SMSxxZ +-++= l

    =++=+-+

    0,,,,

    224

    54321

    521

    4321

    SSxx

    SxxSxx

    l

    l

    Construimos la tabla inicial del mtodo del simplex Variables

    Reales Variables Slack Variables Artificial

    X1 X2 S3 S5 ?4 bi Solucin xk Ck 1 1 -1 0 1 4 ?4=-M -M 1 2 0 1 0 2 S5=2 0

    Cj 1 1 0 0 -M Zj -M -M M 0 -M

    Zj-Cj -M-1 -M-1 M 0 0 F = - 4.M

    Hay indicadores negativos en la fila Zj-Cj , con sus vectores interiores P1=(1,1) y P2(1,2), con al menos un elemento positivo. En consecuencia es posible la mejora de la solucin y tomamos como variable de entrada la base (columna) de X1. Aplicamos la regla de la mnima razn (cociente), por lo que obtendremos como variable de salida a S5 . El pivote es entonces y =(2,1). La nueva tabla simplex es:

    3,2,13,

    min=

    ii

    i

    ab 2}2,4min{

    12

    ,14

    min ==

    =

    Variables Reales Variables Slack

    Variables Artificial

    X1 X2 S3 S5 ?4 bi Solucin xk Ck F1=F1-F2 0 -1 -1 -1 1 2 ?4=-M -M 1 2 0 1 0 2 X1=2 1

    Cj 1 1 0 0 -M Zj 1 M+2 M M -M

    Zj-Cj 0 M+1 M M 0 F = - 2.M + 2

  • Inv. Operativa U.T.N. Fac. Reg. Haedo Docente: Ing. Muntaner Unidad II Apunte2 P.L. Simplex Pg. 12 de 12 Rev.02

    Observando la funcional vemos que F = - 2.M + 2 es mayor que 4M por lo que observamos que hemos mejorado la solucin. ste es el paso final porque todos los indicadores Cj son no negativos. Como la base tiene una variable artificial con valor positivo, ?4=2, el problema es infactible.

    b) Minimizar

    +--+

    +-=0,,

    629.3.2

    .3.2

    2321

    321

    321

    321

    xxx

    xxxxxx

    xxxZ

    Transformamos el programa al formato estndar

    =+-+-=+--+

    0,,,,,

    629.3.2

    432121

    42321

    31321

    ll

    ll

    SSxx

    SxxxSxxx

    Variables Reales Variables Slack Variables Artificial

    X1 X2 X3 S1 S2 ?3 ? 4 bi Solucin xk Ck 2 3 -1 -1 0 1 0 9 ? 3=9 M 1 -2 1 0 -1 0 1 6 ? 4=6 M

    Cj 2 -1 3 0 0 M M Zj 3M M 0 -M -M M M

    Cj-Zj 2-3M -1-M 3 M M 0 0 F = 15.M

    3,2,13,

    min=

    ii

    i

    ab 5.4}6;5.4min{

    16

    ,29

    min ==

    =

    En la fila Cj-Zj buscamos el trmino ms negativo. Luego buscamos el cociente mnimo de la columna bi y X1. Al pvot y =(1,1) lo hacemos unitario, multiplicando la fila por y luego operando entre filas, hacemos el resto de la columna X1 igual a cero, excepto Cj.

    Variables Reales Variables Slack Variables Artificial

    X1 X2 X3 S1 S2 ?3 ? 4 bi Solucin xk Ck F1*1/2 1 1.5 -0.5 -0.5 0 0.5 0 4.5 X1=4.5 2 F2= F2- F1 0 -3.5 1.5 0.5 -1 -0.5 1 1.5 ? 4=1.5 M

    Cj 2 -1 3 0 0 M M Zj 2 3-3.5M -1+1.5M -1+0.5M -M 1-0.5M M

    Cj-Zj 0 -4+3.5M 4-1.5M 1-0.5M M -1+1.5M 0 F = 9+1,5*M

    Observemos que se ha modificado el valor de Ck, en consecuencia se obtuvo una mejora de la funcional que queremos minimizar.

    3,2,13,

    min=

    ii

    i

    ab 0.1}1;min{

    5.15.1

    ,5.0

    5.4min =-=

    -=

    4321321 ...0.0.3.2 ll MMSSxxxZ ++--+-=

  • Inv. Operativa U.T.N. Fac. Reg. Haedo Docente: Ing. Muntaner Unidad II Apunte2 P.L. Simplex Pg. 13 de 13 Rev.02

    Variables Reales Variables Slack Variables Artificial

    X1 X2 X3 S1 S2 ?3 ? 4 bi Solucin xk Ck F1+1/2 F2 1 1/3 0 -1/3 -1/3 1/3 1/3 5 X1=5 2 F2= F2 / 1.5 0 -7/3 1 1/3 -2/3 -1/3 2/3 1 X 3=1 3

    Cj 2 -1 3 0 0 M M Zj 2 -19/3 3 1/3 -7/3 4/3 8/3

    Cj-Zj 0 16/3 0 -1/3 7/3 M-4/3 M-8/3 F = 13

    Volvemos a buscar el menor Cj-Zj que es -14/3, luego buscamos el mnimo cociente.

    3,2,13,

    min=

    ii

    i

    ab

    3}3;min{3/1

    1,

    3/15

    min =-=

    -=

    Variables Reales Variables Slack Variables Artificial

    X1 X2 X3 S1 S2 ?3 ? 4 bi Solucin xk Ck F1+1/3 F2 1 -2 1 0 -1 0 1 6 X1=6 2 F2= F2 *3 0 -7 3 1 -2 -1 2 3 S 1=3 0

    Cj 2 -1 3 0 0 M M Zj 2 -4 2 0 -2 0 2

    Cj-Zj 0 3 1 0 2 M M-2 F = 12

    Al ser todas las Cj-Zj positivas no se puede mejorar la funcional, por lo que hemos encontrado la solucin ptima.

    Mnimo 4321321 ...0.0.3.2 ll MMSSxxxZ ++--+-= = Resumiendo. El ejemplo 1 se refiere a la maximizacin. En la minimizacin, la seleccin de las variables de salida es la misma que en el caso de la maximizacin. Para la variable de entrada, dado que mx. z = - min. (-z), el caso de la minimizacin selecciona la variable de entrada como la variable no bsica con el coeficiente objetivo ms positivo; el mnimo z se obtiene cuando todos los coeficientes del rengln -z son no positivos. Las reglas para seleccionar las variables de entrada y de salida se conocen como condiciones de optimalidad y de factibiIidad. Por sencillez, resumimos estas condiciones y despus los pasos del mtodo simplex. Condicin de optimalidad. La variable de entrada en un problema de maximizacin (minimizacin) es la variable no bsica que tiene el coeficiente mas negativo (positivo) en el ren-gln z. Los empates se rompen arbitrariamente. Se llega a la ptima en la iteracin donde todos los coeficientes de los renglones z de las variables no bsicas son no negativos (no positivos). Condicin de Factibilidad Tanto para los problemas de maximizacin como de minimizacin la variable de salida es la variable bsica asociada con la razn no negativa mas pequea. Los empates se rompen arbitrariamente. Los pasos del mtodo simplex son

    120*0*0*03*00*30*16*2 =++--+- MM

  • Inv. Operativa U.T.N. Fac. Reg. Haedo Docente: Ing. Muntaner Unidad II Apunte2 P.L. Simplex Pg. 14 de 14 Rev.02

    Paso 0. Determine una solucin bsica factible inicial. Paso 1. Seleccione una variable de entrada empleando la condicin de factibilidad.

    Detngase si no hay una variable de entrada. Paso 2. Seleccione una variable de salida utilizando la condicin de factibilidad. Paso 3. Determine las nuevas soluciones bsicas empleando los clculos apropiados

    de Gauss-Jordan. Vaya al paso 1. Los clculos del mtodo simplex son iterativos en el sentido de que se aplican condiciones y clculos fijos a la tabla simplex actual para producir la siguiente tabla. Por tanto, nos referimos a las sucesivas tablas simplex como iteraciones. Ejemplos a resolver

    a)

    ++

    =+

    +=

    0,

    6.28.3.4

    5.3

    .4

    21

    21

    21

    21

    21

    xx

    xxxx

    xx

    xxZ

    b)

    ++

    +

    +=

    0,

    6.28.3.4

    5.3

    .4

    21

    21

    21

    21

    21

    xx

    xxxx

    xx

    xxZ

    c)

    ++

    +

    +=

    0,

    6.28.3.4

    5.3

    .4

    21

    21

    21

    21

    21

    xx

    xxxx

    xx

    xxZ

  • Inv. Operativa U.T.N. Fac. Reg. Haedo Docente: Ing. Muntaner Unidad II Apunte2 P.L. Simplex Pg. 15 de 15 Rev.02

    Programacin Lineal: Modelo Dual Hemos visto como la P.L. puede ser usada para resolver una extensa variedad de problemas propios de los negocios, ya sea para maximizar utilidades o minimizar costos. Las variables de decisin en tales problemas fueron, por ejemplo, el numero de mesas a producir, la cantidad de dlares a emplear en diferentes medios publicitarios, y muchas mas. En cada caso la solucin ptima nos explic como podran ser asignados los recursos (Ej. Materia Prima, capacidades de las mquinas, el dinero) para obtener un objetivo establecido. Ahora veremos que a cada problema de P.L. se le asocia otro problema de Programacin Lineal, llamado el problema de programacin dual. La solucin ptima del problema de programacin dual, proporciona la siguiente informacin respecto del problema de programacin original: La solucin ptima del problema dual proporciona los precios en el mercado o los beneficios de los recursos escasos asignados en el problema original. La solucin ptima del problema dual aporta la solucin ptima del problema original y viceversa. La informacin adicional proveda por la solucin ptima de un problema de programacin dual, cae sobre lo que podra llamarse la programacin dual. A cada problema de programacin lineal se le asocia lo que es llamado un problema de programacin dual. Normalmente llamamos al problema de programacin lineal original el problema de programacin primal. Para ilustrar la programacin dual, consideremos el siguiente ejemplo: Ejemplo. La National Business Machines. La National Business Machines. (NBM) produce y vende dos tipos de mquinas de escribir: manual y elctrica. Cada mquina de escribir manual es vendida con un ingreso de $40 y cada mquina de escribir elctrica produce un ingreso de $60. Ambas mquinas tienen que ser procesadas (ensambladas y embaladas) a travs de dos operaciones diferentes: O1 y O2. La NBM tiene las siguientes capacidades mensuales (para todas las plantas del pas): 2000 hrs. de O1. 1000 hrs. de O2. El nmero de hrs. de O1 y O2 requeridas para producir un modelo terminado se da en la siguiente tabla:

    Horas requeridas Operacin Manual Elctrica

    Capacidades mensuales (hrs.)

    O1 3 2 2000 O2 1 2 1000

    Para producir una mquina manual se requieren 3 hrs. De o1 y una hora de O2. Para producir una mquina elctrica se requieren 2 hrs. De O1 y 2 hrs. de O2. Sea X1= nmero de mquinas de escribir manuales a producir cada mes. X2= nmero de mquinas de escribir elctricas a producir cada mes.

  • Inv. Operativa U.T.N. Fac. Reg. Haedo Docente: Ing. Muntaner Unidad II Apunte2 P.L. Simplex Pg. 16 de 16 Rev.02

    Modelo de programacin lineal. Problema Primal.

    Maximizar

    ++

    +=0,

    1000.22000.2.3

    .60.40

    21

    21

    21

    21

    xxxxxx

    xxZ

    El modelo Primal, puede ser utilizado para encontrar el nmero ptimo de cada tipo de mquina de escribir a producir mensualmente. Aplicando el mtodo simplex al problema, encontraremos que la solucin ptima, es producir 500 mquinas de escribir manuales por mes (x1=500) y 250 mquinas de escribir elctricas por mes (x2=250). El ingreso mximo es Z = $35000 por mes. Se adjunta resolucin por mtodo Solver.

    DEMANDA DE HRS POR ART.

    X1 X2 CANT O1 3 2 2000 MENOR O2 1 2 1000 MENOR BENEFICIOS UNITARIOS

    $40,00 $60,00

    FUNCION OBJETIVO Z = 40* X1+ 60* X2

    DEMANDA DE HRS POR ART.

    X1 X2 CANT. REF. REAL DIF. REAL

  • Inv. Operativa U.T.N. Fac. Reg. Haedo Docente: Ing. Muntaner Unidad II Apunte2 P.L. Simplex Pg. 17 de 17 Rev.02

    Dado el marco del problema primal, ahora deseamos enfocar sobre el problema dual, un problema de precio. Nuestro propsito es determinar los precios a los cuales la NBM debera valorar sus recursos de tal manera que puedan determinar el mnimo valor total al cual estaran dispuestos a alquilar o vender los recursos, como algo pertinente. La NBM se muestra complaciente en alquilar las horas de la capacidad de su lnea de ensamble y empaque para las operaciones O1 y O2, respectivamente. Sean y1 y y2 las rentas percibidas por hora para las operaciones O1 y O2 respectivamente. Dada la disponibilidad de los recursos (capacidades mensuales O1 y O2), la renta total por mes es:

    21 .1000.2000 yyC += Se desea como objetivo encontrar el mnimo valor de C de modo que la NBM pueda de una manera inteligente, analizar algunas propuestas de alquiler o compra de todos los recursos como un paquete total. En consecuencia, la NBM lo que quiere es minimizar la suma de las rentas. Considere las siguientes restricciones. Los precios (usaremos el trmino precio tanto para las rentas como los precios de los productos) todos debern ser mayores o iguales a cero. Obviamente un recurso no puede tener un precio negativo ya que cualquier recurso vendido (usaremos vender queriendo decir vender o alquilar) a un un precio negativo podra haber sido mas provechoso dejarlo ocioso. Por consiguiente, las siguientes restricciones tienen que ser satisfechas

    0;0 21 yy En las otras restricciones tienen que ser satisfechas las condiciones de que los precios y1 y y2 deben ser competitivos con las alternativas disponibles. La NBM tiene como alternativas disponibles producir maquinas elctricas y manuales usando O1 y O2. Por ejemplo, ya que 3 horas de O1 mas 1 hora de O2 son necesarias para producir una maquina de escribir manual, el valor en trmino de precios por recursos para dicha mquina es

    21 .1.3 yy + . Este precio debe ser al menos tan grande la contribucin obtenida cuando una mquina de escribir manual es producida (contribucin de $40). Esto es

    40.1.3 21 + yy la siguiente desigualdad tambin debe ser satisfecha:

    60.2.2 21 + yy

    Modelo de programacin lineal. Problema Dual.

    Minimizar

    +

    ++=

    0,60.2.2

    40.3.1000.2000

    21

    21

    21

    21

    yyyy

    yyyyC

  • Inv. Operativa U.T.N. Fac. Reg. Haedo Docente: Ing. Muntaner Unidad II Apunte2 P.L. Simplex Pg. 18 de 18 Rev.02

    Soluciones ptimas del Primal y el Dual. Ahora daremos las soluciones ptimas para ambos casos

    Modelo de programacin lineal. Problema Primal.

    Maximizar

    ++

    +=0,

    1000.22000.2.3

    .60.40

    21

    21

    21

    21

    xxxxxx

    xxZ

    Verificacin por Solver

    Y1 Y2 CANT O1 3 1 40 Mayor O2 2 2 60 Mayor BENEFICIOS UNITARIOS

    $2.000 $1.000

    FUNCION OBJETIVO

    Minimizar C = 2000* y1 +1000 * y2 DEMANDA DE HRS POR ART.

    X1 X2 CANT. REF. REAL DIF.

    O1 15,0 25,0 40 40 1E-06 O2 10,0 50,0 60 60 1E-06 CANTIDADES 5,0 25,0 TOTAL $10.000 $25.000 $35.000

    Verificacin por Mtodo Simplex PASO 1 (MAXIMIZAR) Mtodo Primal

    X1 X2 S1 S2 Valor SOL Ck xi Rel bi/xi Min 3 2 1 0 2000 s1 0 2 1000 1 2 0 1 1000 s2 0 2 500

    500

    Cj 40 60 0 0 Z 0 BUSCO EL Mayor Cj 60 X1 X2 S1 S2 Valor SOL Ck xi Rel bi/xi Min

    2 0 1 -1 1000 s1 0 2 500 0,5 1 0 0,5 500 X2 60 0,5 1000

    500

    Cj 10 0 0 -30 Z 30000 BUSCO EL Mayor Cj 10 X1 X2 S1 S2 Valor SOL Ck 1 0 0,5 -0,5 500 X1 40 0 1 -0,25 0,75 250 X2 60

    Cj 0 0 -5 -25 Z 35000 BUSCO EL Mayor Cj 0 Solucin ptima para el modelo primal: Mximo ingreso: Z: $35000 Variables bsicas: x1=500 , x2=250. No hay holgura.

  • Inv. Operativa U.T.N. Fac. Reg. Haedo Docente: Ing. Muntaner Unidad II Apunte2 P.L. Simplex Pg. 19 de 19 Rev.02

    Variables no bsicas: S1=0 S2=0 (Variables de holgura).

    Modelo de programacin lineal. Problema Dual.

    Minimizar

    +

    ++=

    0,60.2.2

    40.3.1000.2000

    21

    21

    21

    21

    yyyy

    yyyyC

    Dual Standard +++++= 212121 ...0.0.1000.2000 ll MMssyyC

    =+-+

    =+-+

    0,60..0.2.2

    40..0.3

    21

    2221

    1121

    yyMsyy

    Msyyl

    l

    Solver Y1 Y2 CANT O1 3 1 40 Mayor O2 2 2 60 Mayor BENEFICIOS UNITARIOS

    $2.000 $1.000

    FUNCION OBJETIVO Minimizar C=2000 * y1+1000 * y2

    DEMANDA DE HRS POR ART.

    X1 X2 CANT. REF. REAL DIF.

    O1 15,0 25,0 40 40 1E-06 O2 10,0 50,0 60 60 1E-06 CANTIDADES 5,0 25,0 TOTAL $10.000 $25.000 $35.000

    Anlisis Simplex PASO 1 (MAXIMIZAR) Mtodo Primal

    X1 X2 S1 S2 H1 H2 Valor SOL Ck xi Rel bi/xi Min 3 1 -1 0 1 0 40 H1 10000 3 13,33 2 2 0 -1 0 1 60 H2 10000 2 30,00

    13,333

    Cj 2000 1000 0 0 10000 10000 f 1000000 Zj 50000 30000 -10000 -10000 10000 10000

    Cj-Zj -48000 -29000 10000 10000 0 0 Busco el Minimo Cj-Zj -48000

    X1 X2 S1 S2 H1 H2 Valor SOL Ck xi Rel bi/xi Min 1 0,33333 -0,333333 0 0,3333 0 13,33 x1 2000 0,33 40,00 0 1,33333 0,666667 -1 -0,667 1 33,33 H2 10000 1,33 25,00

    25

    Cj 2000 1000 0 0 10000 10000 f 360000 Zj 2000 14000 6000 -10000 -6000 10000

    Cj-Zj 0 -13000 -6000 10000 16000 0 Busco el Mnimo Cj-Zj -13000

    X1 X2 S1 S2 H1 H2 Valor SOL Ck 1 0 -0,5 0,25 0,5 -0,25 5 x1 2000 0 1 0,5 -0,75 -0,5 0,75 25 x2 1000

    Cj 2000 1000 0 0 10000 10000 f 35000 Zj 2000 1000 -500 -250 500 250

    Cj-Zj 0 0 500 250 9500 9750 Busco el Minimo Cj-Zj 0

  • Inv. Operativa U.T.N. Fac. Reg. Haedo Docente: Ing. Muntaner Unidad II Apunte2 P.L. Simplex Pg. 20 de 20 Rev.02

    Solucin ptima para el modelo Dual: Mnimo Costo: C: $35000 Variables bsicas: y1=5 , x2=25 Variables no bsicas: S1=0 S2=0 l1=0 , l2=0 (Variables de holgura y artificial). Observacin 1 Del cuadro ptimo del modelo dual vemos que el precio ptimo de O1 (capacidad de empaque) es y1=$5 por hora y el precio ptimo de O2 (capacidad de ensamble) es y2=$25 por hora. Tambin observamos que el mnimo valor mensual de los recursos O1 y O2 es C = 35000, el cual es exactamente lo mismo que la utilidad mxima alcanzada , produciendo mquinas de escribir elctricas y manuales. Por qu es cierto que el valor mnimo en el modelo dual es igual al mximo ingreso en el modelo Primal? La respuesta es que la relacin entre el modelo primal y su dual es tan fuerte que ellos en cierto sentido son dos formas de resolver el mismo problema. En efecto, cuando cualquiera de los dos problema es resuelto por el mtodo simplex, el otro se obtiene como subproducto. Observacin 2 Refirindose a la fila de utilidad en la solucin ptima del modelo primal, observe que el costo de s1 es $5 por hora. Ahora, s1 es la cantidad no usada de capacidad en O1 y $5 es el valor marginal (o algunas veces llamado precio sombra) de 01, correspondiente a la variable dual y1. Similarmente, el costo ptimo de S2 es $25 por hora correspondiente a la variable dual y2. Esta relacin es ilustrada grficamente en la Figura. Tablero ptimo del modelo primal Tablero ptimo del modelo Dual

    En resumen, los valores ptimos de las variables dual, y1, y2, son iguales a los coeficientes de las variables de holgura s1 y s2, respectivamente, en la funcin objetivo dada en el tablero ptimo del modelo primal. La solucin ptima del primal puede ser obtenida exactamente de la misma manera. Esto es, observe que el ingreso de S1 en la fila C del modelo dual es $500 por mquina de escribir manual, lo cual corresponde a la variable primal x. En forma similar, el ingreso de S2 en el modelo dual es $250 por mquina de escribir elctrica, lo cual corresponde a la variable primal x2.

    X1 X2 S1 S2 Valor SOL

    Cj 0 0 -5 -25 Z 35000

    Valor SOL Ck 5 x1 2000

    25 x2 1000 f 35000

  • Inv. Operativa U.T.N. Fac. Reg. Haedo Docente: Ing. Muntaner Unidad II Apunte2 P.L. Simplex Pg. 21 de 21 Rev.02

    Valor SOL

    500 X1

    250 X2

    Z 35000

    X1 X2 S1 S2 H1 H2 Valor SOL Cj-Zj 0 0 500 250 9500 9750 f 35000

    En resumen, los valores ptimos de las variables primal x1 y x2 son iguales a los coeficientes de las variables de exceso S1 y S2, respectivamente, en la funcin de costos C dada en el tablero del modelo dual. Es importante sealar otros comentarios acerca de los precios del dual ptimo. Primero los precios ptimos del dual indican cules unidades de recursos (01: capacidad de ensamble y 02: capacidad de empaque) podran ser compradas o vendidas; Si estos precios mnimos, y1 = $5 por hora de 01 y y2 = $25 por hora de 02, existen en el mercado, entonces para la NBM podra ser indiferente escoger entre las alternativas de producir mquinas o vender recursos. Si en el mercado los precios fuesen ms altos que los precios mnimos del dual, entonces la NBM preferira vender los recursos (o vender el tiempo de 01 y O2) y si en el mercado los precios fuesen ms bajos, entonces la NBM preferira comprar recursos (e incrementar las capacidades de 01 y 02). Es decir, los precios minimos del dual dan una medida para la evaluacin del valor marginal por adicin en la capacidad de los recursos. Para ilustrar esto, suponga que la NBM puede vender 01 (tiempo de ensamble) a $7 la hora, diga a un competidor cercano, y puede incrementar el tiempo de 02 (capacidad de empaque) a $20 la hora. Entonces la NBM estara dispuesta a vender algunas horas de capacidad de 01 ya que puede ganar $2 por cada hora del tiempo de 01 vendida ($7 por hora menos y = $5 por hora es el valor marginal). Similarmente, la NBM podra estar dispuesta a incrementar la capacidad de 02, ya que puede ganar $6 por cada unidad que incremente en la capacidad de O2 (y2= $25 por hora incrementada menos $20 por hora de costo en el mercado). Desde luego, que vender o incrementar la capacidad requerir un cambio en el programa aportado por la solucin ptima.. Los precios mnimos del dual y1 y Y2 son vlidos, Y1= $5 por hora y Y2= $25 por hora, solamente si las cantidades completas de 01 y 02 son vendidas a estos precios. Si los recursos (capacidad de 01 y capacidad de 02) son vendidos parcialmente, Los, precios mnimos son vlidos solamente para algunos rangos los cuales pueden ser pequeos o grandes, dependiendo de la estructura del problema.