OptimizaciÃ_n - ProgramaciÃ_n Lineal (PEP 1)

78
UNIVERSIDAD DE SANTIAGO DE CHILE DEPARTAMENTO DE INGENIERÍA EN MINAS AYUDANTÍA DE OPTIMIZACIÓN APUNTES DE OPTIMIZACIÓN Teoría y Ejercicios – Parte 1 Autor: Felipe Quezada Castañeda

description

.

Transcript of OptimizaciÃ_n - ProgramaciÃ_n Lineal (PEP 1)

  • UNIVERSIDAD DE SANTIAGO DE CHILE DEPARTAMENTO DE INGENIERA EN MINAS AYUDANTA DE OPTIMIZACIN

    APUNTES DE OPTIMIZACIN Teora y Ejercicios Parte 1

    Autor: Felipe Quezada Castaeda

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    1

    Programacin Lineal

    PROBLEMAS DE OPTIMIZACIN. Un Problema de Optimizacin es uno tal que, bajo ciertas condiciones en particular, se desea maximizar o minimizar una funcin dada. Si dicha funcin a optimizar es lineal, el problema anterior ser llamado Problema de Programacin Lineal (PPL), siempre y cuando el espacio de soluciones factible que define a dicho problema pueda ser construido mediante un sistema lineal de ecuaciones de dimensin rectangular, digamos de , siendo . El Modelo de Programacin Lineal se define en base a tres elementos constitutivos: las

    variables del problema, tales que ; las restricciones a las que est sujeto el problema, que pueden ser de tres tipos:

    - Tipo 1:

    - Tipo 2:

    - Tipo 3:

    En las expresiones anteriores: : Valor conocido, que tiene que ser respetado estrictamente

    : Valor conocido, que puede ser respetado o superado

    : Valor conocido, que no debe ser superado En las restricciones anteriores, es el nmero de la ecuacin. Si en total hay restricciones asociadas al problema, puede variar de a . Adems , y son constantes conocidas, y las son las variables del problema, digamos de ellas. As, el espacio de soluciones factible (ESF) del problema es un sistema lineal de ecuaciones, de dimensin . El ltimo elemento constitutivo del Modelo de Programacin Lineal es la llamada funcin objetivo, la cual puede ser del tipo:

    Donde son constantes conocidas. Esta funcin debe optimizarse, cumpliendo las restricciones anteriores, para as poder darle una solucin al problema. MODELO DE PROGRAMACIN LINEAL. Las definiciones anteriores suelen ser confusas, por lo que es mejor ejemplificarlas de forma ms concreta. Vamos a suponer entonces que la Compaa Metalrgica DIMIN

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    2

    (Chile) dispone de dos procesos de reaccin mediante los cuales debe producir dos tipos de surfactantes, que sern utilizados en procesos de flotacin. Con el primer proceso se producen 2 [kg/hr] del surfactante 1 y 1 [kg/hr] del surfactante 2. Mientras que el segundo proceso produce 3 [kg/hr] del surfactante 1 y 1 [kg/hr] del surfactante 2. La gerencia ha determinado las siguientes condiciones:

    - La cantidad de surfactante 1 no puede sobrepasar los 30 [kg/da] - La cantidad de surfactante 2 debe ser mayor a los 7 [kg/da] - Las horas en que se ejecuta el primer proceso no deben ser mayor que 5 horas en

    el da en que se ejecuta el proceso 2. El mximo tiempo en que se corre cada proceso es de 9 horas.

    - El surfactante 1 se vende a 20 USD/kg, mientras que el surfactante 2 se vende a 60 USD/kg

    Para el problema anterior, se requiere determinar la mejor forma de correr ambos procesos, de tal forma que se maximicen las utilidades de la compaa. As, las variables del modelo se expresan de la siguiente manera: : Cantidad de horas diarias en que se corre el proceso 1 : Cantidad de horas diarias en que se corre el proceso 2 Ahora debemos construir la funcin objetivo para este modelo. La compaa desea aumentar sus utilidades todo lo posible. Si representa la utilidad diaria total, el objetivo de la empresa se puede representar de la siguiente forma:

    ( ) ( ) ( ) A continuacin definiremos las restricciones que limitan las horas en que se ejecuta cada proceso y la demanda. Para la demanda de ambos surfactantes, las restricciones respectivas se pueden expresar verbalmente como sigue:

    (

    ) (

    )

    (

    ) (

    )

    Se tiene entonces:

    - Cantidad de surfactante 1 obtenido en ambos procesos:

    - Cantidad de surfactante 2 obtenido en ambos procesos:

    Por lo tanto, las restricciones pueden expresarse matemticamente como sigue:

    - Demanda de Gerencia para el surfactante 1:

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    3

    - Demanda de Gerencia para el surfactante 2:

    Adems, como la diferencia entre las horas en que se corre el proceso 1 y el proceso 2 no debe ser superior a 5 horas diarias, se tiene que

    Finalmente, como la cantidad mxima de horas en que se corre cada proceso es de 9 horas para cada uno, ambas variables estarn acotadas superiormente por 9. Vale decir: y . Una restriccin implcita (o que se sobreentiende), es que las variables y no pueden asumir valores negativos. Las restricciones de no negatividad, y , expresan este requisito. Por lo que el modelo de programacin lineal representativo del problema planteado con anterioridad es el siguiente:

    ( ) ( ) ( ) Sujeta a las restricciones:

    Cualquier valor de y que satisfaga todas las restricciones del modelo es una solucin factible del problema. Sin embargo, a nosotros nos interesa determinar la

    solucin ptima factible, que maximice , y que, al mismo tiempo, satisfaga todas las restricciones del problema. No se acepta enumerar las soluciones factibles, porque el modelo tiene una cantidad infinita de ellas, por lo que se hace patente desarrollar un mtodo que, de forma sencilla, sea capaz de determinar tal solucin ptima a partir de los datos del problema. El modelo de programacin lineal debe cumplir con dos condiciones fundamentales:

    1. La proporcionalidad, requiere que la contribucin de cada variable de decisin en la funcin objetivo, y sus requerimientos en las restricciones, sea directamente proporcional al valor de la variable

    2. La aditividad estipula que la contribucin total de todas las variables en la funcin objetivo y sus requerimientos en las restricciones sean la suma directa de las contribuciones o requerimientos individuales de cada variable

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    4

    SOLUCIN GRFICA DE LA PROGRAMACIN LINEAL. El procedimiento de la solucin grfica comprende dos pasos:

    - Determinacin del espacio de soluciones factibles (ESF) del modelo - Determinacin de la solucin ptima factible (SOF) del modelo

    Dividiremos el estudio en dos partes: a) Solucin de un problema de maximizacin: Resolveremos el modelo de la

    Compaa DIMIN, por lo que el primer paso es determinar el ESF. Primero consideraremos las restricciones de no negatividad del modelo, lo que permite delimitar este espacio mediante dos ejes perpendiculares entre s, y . A continuacin, debemos determinar las dems restricciones. Para ello, primero se sustituye cada desigualdad con una ecuacin, y posteriormente se grafica la recta resultante. Luego consideramos el efecto de la desigualdad, que es bsicamente dividir el plano ( ) en dos semiplanos, uno a cada lado de la recta graficada. Slo una de estas mitades satisface la desigualdad. Para determinar cul es el lado correcto, se elige un punto de referencia en el primer cuadrante. Si satisface la desigualdad, el lado en que se encuentra el punto es el semiplano factible. En caso contrario, quiere decir que es el otro lado. Desde el punto de vista de los clculos, es cmodo seleccionar a ( ) como el punto de referencia, a menos que la recta pase por el origen; si as fuera, se deber elegir otro punto. Con la aplicacin de este mtodo, se obtiene el ESF graficado en la Figura 1. Para determinar la solucin ptima factible, primero observamos que el ESF est delimitado por los segmentos de recta que unen a los vrtices C, D, E y G. Todo punto dentro o en la frontera del polgono CDEG es factible, porque satisface todas las restricciones del problema. Ya que el polgono CDEG est formado por una cantidad infinita de puntos, es obvio que se necesita un procedimiento sistemtico para identificar la solucin ptima. Para ello, se requiere identificar la direccin en la que aumenta la funcin utilidad ( ) ( ). Como se trata de una recta con coeficientes positivos, es natural pensar que su sentido de crecimiento corresponde a la direccin positiva de ambos ejes. Por lo tanto, la solucin ptima se encuentra en el vrtice C del polgono CDEG, que es el punto en el ESF, ms all del cual cualquier aumento de nos deja fuera de la frontera de CDEG. Los valores de y que corresponden al punto ptimo C se calculan resolviendo el sistema de ecuaciones asociado a las rectas que se intersectan en dicho punto:

    {

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    5

    Figura 1: ESF del problema de la Compaa DIMIN

    El valor ptimo de es de 1380 USD. Por lo tanto, el proceso 1 debe correrse durante 9 horas y el proceso 2 debe correrse 4 horas, para as maximizar las utilidades de la compaa. No es casualidad que la solucin ptima se encuentre en un punto esquina del ESF. En realidad, si se cambia la pendiente de la funcin objetivo (cambiando sus coeficientes), se ver que la solucin ptima factible siempre se encuentra en esos puntos esquina. Esta observacin es la clave en el desarrollo de un mtodo algebraico general para resolver este tipo de problemas, llamado Algoritmo Smplex, y que veremos ms adelante.

    b) Solucin de un problema de maximizacin: Vamos a ejemplificar este caso con otro problema, llamado comunmente el problema de la dieta. Supongamos que en la Granja Educativa se usa diariamente un mnimo de 800 libras de un alimento especial, que es una mezcla de maz y soya, con las composiciones indicadas en la siguiente tabla:

    Componentes del alimento Libra x libra de alimento Costo

    (USD/lb) Protenas Fibra

    Maz 0,09 0,02 0,30

    Soya 0,60 0,06 0,90

    Las necesidades dietticas del alimento especial son un mnimo de 30% de protenas y un mximo de un 5% de fibras. La Granja Educativa desea determinar las proporciones de alimento que produzcan un costo diario mnimo. Sean entonces:

    : libras de maz en la mezcla diaria : libras de soya en la mezcla diaria

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    6

    La funcin objetivo trata de minimizar el costo (en dlares) diario total de la mezcla de alimentos, por lo cual se expresa como sigue:

    Las restricciones del modelo representan la cantidad diaria necesaria y los requerimientos dietticos. Como la Granja Educativa necesita un mnimo de 800 libras diarias de alimento, la restriccin correspondiente puede expresarse de la siguiente manera:

    En cuanto a la restriccin diettica de necesidades de protena que contienen libras de maz y libras de soya, es igual a ( ) libras. Esta cantidad debe ser cuando menos igual al 30% de la mezcla total de alimentos, ( ) libras. Luego:

    ( ) De manera similar para la fibra, tenemos:

    ( ) El modelo completo es entonces:

    ( )

    El ESF se muestra, marcado en verde, en Figura 2.

    Figura 2: ESF del problema de la dieta

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    7

    Se debe notar que, a diferencia del ejemplo de maximizacin, la segunda y tercera restricciones pasan por el origen. Ya que en el modelo se busca minimizar la funcin objetivo, necesitamos reducir todo lo posible el valor de en la direccin que se muestra en la grfica; la solucin ptima factible es la interseccin de las dos rectas, y . As, se obtienen libras y libras. Esto nos da un costo mnimo de USD diarios.

    ALGORITMO SMPLEX La solucin grfica del modelo de programacin lineal indica que la solucin ptima factible del modelo siempre est asociada a un punto esquina del ESF. Este resultado es la clave del mtodo smplex, el cual es un procedimiento algebraico e iterativo para resolver cualquier modelo de programacin lineal. La idea del mtodo smplex es sencilla: se busca un punto esquina del ESF, y se verifica si ste cumple con ser la solucin ptima del problema. Si no es as, saltamos a un nuevo punto esquina. El mtodo termina cuando ya no es posible optimizar la funcin objetivo en otro punto, lo que indica que hemos llegado al ptimo.

    VARIABLES DE HOLGURA Y EXCEDENCIA: para estandarizar, la representacin grfica del ESF de un modelo de programacin lineal se forma bajo dos condiciones: 1. Todas las restricciones (excepto las de no negatividad) son ecuaciones cuyo lado

    derecho es no negativo

    2. Todas las variables son no negativas En las restricciones del tipo , el lado derecho se puede imaginar como la representacin del lmite de disponibilidad de un recurso, y en ese caso, el lado izquierdo representara el uso de este recurso limitado por parte de las actividades (variables) del modelo. La diferencia entre el lado derecho y el lado izquierdo de la restriccin representa, por consiguiente, la cantidad no usada u holgura del recurso. Para convertir una desigualdad del tipo en ecuacin, se agrega una variable de holgura al lado izquierdo de la ecuacin. Por ejemplo, en el modelo de la compaa DIMIN (ejemplo de maximizacin), la restriccin asociada a la demanda de Gerencia para el surfactante 1, con respecto a la mxima cantidad diaria a fabricar, est dada por la desigualdad:

    Si definimos a como la holgura o cantidad no usada de este recurso (que se traduce como la cantidad no fabricada de surfactante 1, en este caso), la restriccin anterior puede convertirse en la siguiente ecuacin:

    OmarResaltado

    OmarResaltado

    OmarResaltado

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    8

    Prosigamos. Una restriccin del tipo establece, normalmente, un lmite inferior para las actividades (variables) del modelo de programacin lineal. Como tal, la cantidad por la cual el lado izquierdo es mayor que el lmite mnimo (lado derecho) representa un excedente. La conversin de una desigualdad del tipo a una ecuacin se logra restando una variable de excedencia, del lado izquierdo de la desigualdad. Por ejemplo, en el problema de la dieta (ejemplo de minimizacin), la restriccin que representa los requisitos mnimos de alimento est dada por:

    Si definimos a como una variable de excedencia, es posible convertir la restriccin en la siguiente ecuacin:

    Es importante sealar que el lado derecho de las ecuaciones convertidas debe ser siempre no negativo. Esta condicin se puede satisfacer siempre, si es necesario, multiplicando ambos miembros de la ecuacin por -1. VARIABLES NO RESTRINGIDAS: en los modelos que hemos visto (compaa DIMIN y el problema de la dieta) slo manejamos variables no negativas. Sin embargo, hay casos en los que una variable puede asumir cualquier valor real. Como el modelo de programacin lineal est definido slo para variables no negativas, la aparicin de variables no restringidas sugiere un cambio de variable en el problema. Si es una variable no restringida ( ), debe hacerse la siguiente sustitucin:

    Donde

    y son ambas no negativas. Notemos que, a partir de la misma definicin

    del PPL, una de estas variables necesariamente debe ser cero.

    La condicin puede cumplirse siempre. Si , basta con hacer el cambio de variable

    , con lo cual obtenemos una nueva variable, , que cumple con esta

    condicin. DESARROLLO DEL ALGORITMO SMPLEX: Haciendo una analoga con la solucin grfica de la programacin lineal, es posible establecer un punto de partida para el algoritmo smplex. Como bien sabemos, la solucin ptima de un modelo de programacin lineal se encuentra siempre en un punto esquina del ESF. De forma algebraica, el ESF puede representarse siempre mediante un sistema lineal m-ecuaciones con n-variables, restringiendo los valores de dichas variables a valores no negativos, con

    . De esta forma, el sistema lineal de ecuaciones (ESF) tiene infinitas soluciones factibles.

    OmarResaltado

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    9

    Las variables necesarias para poder determinar la cantidad de puntos esquina en el ESF son llamadas variables no bsicas (VNB). Las variables restantes, en caso de tener una solucin nica, son llamadas variables bsicas (VB), y su solucin (al resolver

    las ecuaciones), se llama solucin bsica. Por ejemplo, consideremos el siguiente PPL:

    ( )

    Si queremos construir el ESF de forma algebraica, debemos reescribir el problema utilizando las variables de holgura respectivas:

    ( )

    En el ejemplo anterior, y son las variables de holgura. El sistema tiene ecuaciones y variables. As, segn lo anterior, se pueden determinar algebraicamente los puntos esquina igualando a cero las variables no bsicas respectivas (que, en este caso en particular, pueden ser cualquiera de las variables del modelo), y resolviendo las ecuaciones para encontrar los 2 restantes. Por ejemplo, si y se igualan a cero, las ecuaciones generan la solucin:

    Esta solucin corresponde al punto O en Figura 3. Se puede determinar otro punto

    esquina si se hacen y , obtenindose y , que definen al punto C en Figura 3, y que corresponde a la solucin ptima. En resumen, tenemos lo siguiente:

    Variables no bsicas (cero)

    Variables bsicas

    Solucin bsica

    Punto esquina asociado

    Factible? Valor

    objetivo de z

    ( ) ( ) (5 , 4) O S 0 ( ) ( ) (4 , -3) A No - ( ) ( ) (2.5 , 1.5) D S 7.5 ( ) ( ) (2 , 3) B S 4 ( ) ( ) (5 , -6) E No - ( ) ( ) (1 , 2) C S 8

    Tabla 1: Variables no bsicas y variables bsicas del ejemplo anterior. Notemos que el

    ptimo se encuentra en C, ya que es en este punto donde el valor objetivo de Z es mximo

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    10

    Figura 3: Solucin grfica del ejemplo anterior

    El algoritmo smplex es un mtodo iterativo, que selecciona un punto esquina del ESF, verificando los valores de las variables no bsicas y de la funcin objetivo. Si stos no son ptimos, el proceso de resolucin salta al punto esquina siguiente, generando un intercambio de variables dependiendo de las condiciones del problema. Por lo tanto, el algoritmo smplex se rige por el siguiente esquema:

    Figura 4: Diagrama de flujo que explica el funcionamiento del algoritmo smplex

    Paso inicial

    Paso iterativo

    Prueba de

    optimalidad

    Fin

    ptima

    No ptima

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    11

    Para entender mejor la aplicacin del algoritmo smplex, vamos a utilizarlo para resolver el siguiente PPL:

    ( )

    PASO 1: OBTENCIN DEL MODELO LINEAL ESTNDAR (MLE) DEL PROBLEMA: Lo primero es aadir las correspondientes variables de holgura. El problema entonces se reescribe de la siguiente forma:

    ( )

    El primer paso del algoritmo smplex es la generacin del llamado modelo lineal estndar (MLE) del problema. En dicho modelo, la funcin a optimizar siempre debe minimizarse, y las restricciones deben ser todas del tipo . Esto ltimo es lo mismo que decir que todas las restricciones deben presentar holguras, o bien, variables que cumplan el papel de holguras. Esta condicin puede cumplirse siempre, incluso cuando se presentan variables de excedencia en las restricciones. Como ste no es el caso, dejaremos ese tipo de problemas para despus. La condicin de minimizacin se logra con el siguiente cambio de signos:

    ( ) ( ) Por tanto, el MLE de este problema es el siguiente:

    ( )

    PASO 2: CONSTRUCCIN DEL TABLEAU SMPLEX: El tableau smplex no es ms que una tabla en la cual se agrupan, de forma ordenada, las variables bsicas, los coeficientes de todas las variables para cada una de las restricciones y la funcin objetivo, y los

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    12

    limitantes de cada restriccin junto a la solucin bsica del problema. Para nuestro caso, el tableau smplex de inicio es el siguiente:

    V.B. x1 x2 s1 s2 s3 s4 b

    s1 6 4 1 0 0 0 24 s2 1 2 0 1 0 0 6 s3 -1 1 0 0 1 0 1 s4 0 1 0 0 0 1 2

    -z* -5 -4 0 0 0 0 0 En el diseo del tableau se especifican el conjunto de variables bsicas (las que aparecen en la columna V.B.) y las variables no bsicas (las que no aparecen en la columna V.B.), y tambin se muestra la solucin bsica asociada con la iteracin de inicio (la cual es z = 0, y corresponde al elemento inferior de la columna b, que es la columna de las limitantes de las restricciones; la fila z es llamada comunmente la fila objetivo), la cual es llamada solucin bsica inicial. Por comodidad, siempre que sea posible, las iteraciones smplex comienzan en el origen, ( ) ( ). As, el conjunto asociado de variables bsicas y variables no bsicas puede definirse como sigue:

    V.B: ( ) V.N.B: ( ) las variables no bsicas son siempre nulas

    Al respecto, debe observarse lo siguiente: Los coeficientes de las variables de holgura en la tabla de inicio siempre deben conformar una matriz cannica (matriz tal que sus

    elementos diagonales son siempre unitarios, siendo para todo ), tal y como puede observarse en nuestro tableau. PASO 3: CONDICIONES DE FACTIBILIDAD Y OPTIMALIDAD: Es ptima la solucin de inicio? La respuesta se obtiene verificando la llamada condicin de optimalidad del problema de programacin lineal. Dicha condicin establece que el ptimo se logra cuando, en la fila z, los coeficientes de todas las variables son no negativos. Como

    y tienen valores negativos en sus coeficientes en la fila z (-5 y -4, respectivamente), la solucin bsica inicial (z = 0) no es ptima, y por tanto, debe generarse un intercambio de variables en la columna V.B. (variables bsicas) con el fin de encontrar la solucin ptima del problema. En este intercambio, agregaremos una variable no bsica al conjunto de variables bsicas, por lo que, a su vez, sacaremos una variable bsica de ese conjunto, la cual pasar a ser una variable no bsica (igual a cero) en la siguiente iteracin. Este juego de variables introduce las llamadas variables de entrada y de salida a partir de la condicin de optimalidad, y se pueden determinar mediante el siguiente mtodo. Por un asunto de lgica, la VNB con el coeficiente ms negativo en la funcin objetivo a minimizar se selecciona para entrar a la solucin bsica; como en el

    tableau se tiene que , la variable de entrada es , porque tiene el coeficiente ms negativo en la fila objetivo (la fila z). Si hubiera empate, ste se rompe en forma arbitraria. Para determinar la variable de salida, en forma directa con la tabla, se deben calcular los elementos definidos por la razn entre los elementos de la columna b y los

    respectivos elementos que corresponden a la columna de la variable de entrada. En

    (*) El uso de z en la tabla smplex responde a que la funcin objetivo ingresa al tableau escribindose de la forma

    OmarResaltado

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    13

    este caso, la columna correspondiente a . La variable de salida queda definida por el valor mnimo de los calculados, tales que . Para nuestro ejemplo, el clculo de los se muestra a continuacin:

    V.B. x1 b s1 6 24 24/6 = 4 Mnimo s2 1 6 6/1 = 6

    s3 -1 1 1/-1 -1 Ignorar s4 0 2 2/0 = Ignorar

    Tabla 2: Clculo de los elementos para la iteracin de inicio de nuestro ejemplo

    De los resultados obtenidos en Tabla 2, se tiene que la variable de salida es , porque el mnimo valor de se obtiene para dicha fila. Si hubiera empate entre dos variables de salida, se debe romper en forma arbitraria. La condicin que define la obtencin de la variable de salida del PPL es llamada condicin de factibilidad del problema de programacin lineal. Y puede resumirse de la siguiente forma:

    ( ) {

    }

    La condicin nos asegura que los obtenidos sean siempre no negativos,

    porque, como ya definimos con anterioridad, los deben ser siempre no negativos. En resumen, el ( ) corresponde a bsica, y quiere decir que es la variable de salida (su valor es nulo en la siguiente iteracin, porque pasa a ser no bsica). El valor de

    la variable de entrada en la nueva solucin es igual al obtenido para dicha variable ( ). La disminucin correspondiente del valor de la funcin objetivo z, que llamamos , es igual al producto entre el coeficiente de la variable que entra en la fila z (que es -5, en esta caso) y el valor del obtenido (que es 4). Luego, . PASO 4: OBTENCIN DE LOS NUEVOS COEFICIENTES EN LA SIGUIENTE ITERACIN: El resultado final de intercambiar las variables de entrada y de salida es que las variables bsicas y las variables no bsicas en la siguiente iteracin son:

    V.B: ( ) V.N.B: ( ) las variables no bsicas son siempre nulas Ahora se deben manipular los coeficientes de nuestro tableau de inicio, de modo que las columnas ahora identifiquen la nueva solucin bsica en esta nueva iteracin (que corresponde a otro punto esquina). Para ello, lo ms comn es tratar al tableau como una matriz, y aplicar el mtodo de eliminacin gaussiana, construyendo as el nuevo tableau para esta iteracin. El pvot para comenzar a trabajar con la eliminacin gaussiana es aquel que es producto de la interseccin entre la fila que se corresponde con la variable de salida y la columna que se corresponde con la variable de entrada. En el siguiente tableau se detalla la ubicacin de dicho pvot.

    OmarResaltado

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    14

    V.B. x1 x2 s1 s2 s3 s4 b

    s1 6 4 1 0 0 0 24 s2 1 2 0 1 0 0 6 s3 -1 1 0 0 1 0 1 s4 0 1 0 0 0 1 2

    -z -5 -4 0 0 0 0 0 Por tanto, el pvot es el elemento A modo de recordatorio, se adjuntan los pasos de la eliminacin gaussiana; ntese que esta es una forma de generar la eliminacin. Existen otras, igualmente vlidas: 1. Primero se genera un pvot unitario. Esto se logra dividiendo la fila correspondiente al

    pvot por elemento pvot

    2. Luego procedemos a generar los ceros en las siguientes filas, justo debajo del pvot. Si la matriz tiene un pvot distinto de cero, y queremos eliminar los elementos ( ) o ( ), debemos restarle a las filas

    respectivas el producto entra la fila del pvot por los elementos y/o , definidos

    para cada fila como

    , o

    . Los elementos y son llamados

    multiplicadores de la matriz. Utilizando el mtodo anterior, se tiene, para nuestro tableau:

    Pvot

    Por lo tanto, el tableau correspondiente a esta nueva iteracin es el siguiente:

    V.B. x1 x2 s1 s2 s3 s4 b

    x1 1 2/3 1/6 0 0 0 4 s2 0 4/3 -1/6 1 0 0 2 s3 0 5/3 1/6 0 1 0 5 s4 0 1 0 0 0 1 2

    -z 0 -2/3 5/6 0 0 0 -20 La solucin bsica para esta iteracin es , con - . Notemos que, en este tableau, la solucin tampoco es ptima, ya que el coeficiente de la variable en la fila objetivo es negativo. Por tanto, aplicando el criterio de optimalidad, se

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    15

    tiene que es la variable de entrada. Asimismo, aplicando el criterio de factibilidad, se obtiene que es la variable de salida, ya que el valor del elemento para la fila es mnimo, tal y como se puede ver en Tabla 3:

    V.B. x1 b x1 2/3 4 4:(2/3) = 6

    s2 4/3 2 2:(4/3) = 1.5 Mnimo s3 5/3 5 5:(5/3) = 3

    s4 1 2 2:1 = 2

    Tabla 3: Clculo de los elementos para la segunda iteracin de nuestro ejemplo

    Notemos que, a partir de lo anterior, en la siguiente iteracin, con

    , lo que nos da . Con el nuevo pvot definido, volvemos a aplicar la eliminacin gaussiana para obtener el siguiente tableau;

    V.B. x1 x2 s1 s2 s3 s4 b

    x1 1 0 1/4 -1/2 0 0 3 x2 0 1 -1/8 3/4 0 0 3/2 s3 0 0 3/8 -5/4 1 0 5/2 s4 0 0 1/8 -3/4 0 1 1/2

    -z 0 0 3/4 1/2 0 0 21 Como ninguno de los coeficientes de la fila z es negativo, podemos concluir, a partir del criterio de optimalidad, que hemos llegado al ptimo. La tabla smplex nos muestra una gran cantidad de informacin adicional, la cual comprende lo siguiente: 1. El estado de los recursos (ya que si una holgura es nula, hablamos de un recurso que

    es escaso, porque no nos sobran unidades adicionales; por otro lado, holguras positivas implican recursos abundantes)

    2. El precio o valor por unidad adicional de cada recurso (tambin llamados valores duales, o precios sombra, y que corresponden a los coeficientes que tienen las holguras, o las variables que cumplen el papel de holguras, en la tabla ptima)

    3. Datos necesarios para efectuar un anlisis de sensibilidad Al respecto, se debe considerar lo siguiente: el modelo lineal estndar es un mtodo de estandarizacin de problemas de programacin lineal, de tal forma que las reglas que gobiernan el desarrollo del algoritmo smplex sean siempre las mismas. Asimismo, el criterio de optimalidad no es completamente rgido, ya que es posible optar por cualquier variable para que entre a la solucin bsica. El hecho de optar siempre por la de coeficiente ms negativo en la fila z nos asegura que lleguemos ms rpido al ptimo. SOLUCIN ARTIFICIAL DE INICIO: Como vimos en nuestro ejemplo anterior, los problemas de programacin lineal en los que todas las restricciones son del tipo , con lados derechos no negativos, ofrecen una cmoda solucin bsica de inicio con todas las

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    16

    holguras (la que se obtiene haciendo que las variables del problema tomen valores nulos en la tabla de inicio). Los modelos donde intervienen restricciones del tipo = o no poseen esta propiedad, porque sus ESF no contienen al origen del sistema de coordenadas donde est definido. El problema de la dieta, explicado al principio, es un PPL de este tipo. El procedimiento para iniciar programas lineales de mal comportamiento con tales restricciones es permitir que variables artificiales desempeen el papel de holguras, para despus, en alguna iteracin posterior, desecharlas de forma legtima. a) El mtodo de la gran M: Este mtodo comienza con la programacin lineal en forma

    de ecuacin. Una ecuacin i que no tenga asociada una holgura se aumenta con una variable artificial, digamos , para formar una solucin de inicio parecida a la solucin bsica con todas las holguras. Sin embargo, como las variables artificiales son ajenas al modelo de programacin lineal original, se usa un mecanismo de retroalimentacin en el que el proceso de optimizacin trata automticamente de hacer que estas variables sean nulas. En otras palabras, la solucin final ser tal y como si nunca hubieran existido las variables artificiales en primer lugar. El resultado se obtiene penalizando las variables artificiales en la funcin objetivo.

    Dado , tal que (llamada la gran M), el coeficiente objetivo de una variable artificial representa una penalizacin adecuada s:

    {

    Al usar esta penalizacin, el proceso de optimizacin forzar en forma automtica a las variables artificiales para que se anulen. Ejemplo: Resolver el siguiente problema de programacin lineal

    ( )

    Solucin: Si usamos las variables como excedente en la segunda restriccin, y como holgura en la tercera restriccin, el problema puede escribirse en forma de ecuacin de la siguiente forma:

    ( )

    La primera y segunda ecuaciones no tienen variables que puedan desempear el papel de holguras, pero la tercera s, porque tiene la holgura . As, se agregan las

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    17

    variables artificiales y en las dos primeras ecuaciones, y se penalizan en la funcin objetivo con . Resulta entonces lo siguiente:

    ( )

    En el nuevo modelo (que es modelo lineal estndar de este problema) se pueden usar ahora , y como solucin bsica inicial. La tabla de inicio para este problema es entonces la siguiente:

    V.B. x1 x2 a1 a2 s2 s1 b

    a1 3 1 1 0 0 0 3 a2 4 3 0 1 0 -1 6 s2 1 2 0 0 1 0 4

    -z 4 1 M M 0 0 0 Antes de proseguir con los clculos del mtodo smplex, se necesita hacer que la fila objetivo (la fila z) sea consistente con el resto de la tabla. En forma especfica, en la tabla, , lo cual produce la solucin bsica inicial (que se ve en la columna b de la tabla) . Esta solucin indica que el valor de z debe ser , en lugar de 0, como se ve en la fila z. Esta inconsistencia se debe a que y tienen coeficientes distintos de cero ( ) en la fila z. Esta inconsistencia se puede eliminar sustituyendo a y en la fila z usando las ecuaciones adecuadas de restriccin para eliminarlas. En particular, observamos los

    elementos marcados en la fila y . Si se multiplica cada fila, y , por , y se restan estos resultados a la fila z, y saldrn de la fila objetivo, esto es:

    ( ) La tabla modificada se muestra a continuacin. Observe que es la misma que antes, slo que dicha fila modificada ha sido agregada al final de esta tabla. Se tiene entonces:

    V.B. x1 x2 a1 a2 s2 s1 b

    a1 3 1 1 0 0 0 3 a2 4 3 0 1 0 -1 6 s2 1 2 0 0 1 0 4

    -z 4 1 M M 0 0 0 -z 4 7M 1 4M 0 0 0 M -9M

    Esta ltima tabla queda lista para aplicarse el mtodo smplex; notemos que, como ya habamos comentado, se han dispuesto las holguras de tal forma que stas formen una matriz cannica, marcada con celeste en la tabla. Aplicando el criterio de optimalidad, debemos seleccionar la variable cuyo coeficiente sea el ms negativo en

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    18

    la fila z. Sin embargo, es posible establecer la siguiente conjetura: existe empate entre y , porque si , ambos coeficientes son infinitamente grandes y por ende son equivalentes. Sin embargo, debe destacarse que este mtodo se ide pensando en que ordenadores con capacidades de procesamiento significativas computaran los resultados de problemas de optimizacin de mal comportamiento. Nosotros somos seres humanos, pero bajo este marco, debe sealarse que, para estos efectos, no es posible programar una cantidad infinitamente grande para generar una solucin, puesto que los software que resuelven este tipo de problemas suelen tener complicaciones cuando trabajan con nmeros muy pequeos y muy grandes a la vez, por lo cual, asumiremos que es un nmero muy grande, y no infinitamente grande. As, la variable de entrada es , porque la sustitucin de en la expresin produce un nmero menor que si lo sustituimos en la expresin . La condicin de factibilidad indica que la variable de salida es (comprubelo!). Por lo tanto, la tabla smplex correspondiente a la segunda iteracin, una vez se han efectuado las operaciones de eliminacin respectiva (comprubelo tambin!), es la siguiente:

    V.B. x1 x2 a1 a2 s2 s1 b

    x1 1 1/3 1/3 0 0 0 1 a2 0 5/3 -4/3 1 0 -1 2 s2 0 5/3 -1/3 0 1 0 3

    -z 0 (-1 - 5M)/3 (-4 + 7M)/3 0 0 M -4 - 2M Se le deja al lector comprobar que, a partir de esta ltima tabla, las variables de

    entrada y de salida son y , respectivamente. As, si continuamos con los clculos smplex, podremos hallar la solucin ptima de este problema, la cual est dada por

    , lo que da un valor objetivo ptimo de

    b) Mtodo de las dos fases: Es otro mtodo, ms prctico que el anterior. Tal y como su nombre lo indica, el mtodo resuelve la programacin lineal en dos fases: la fase 1 trata de determinar una solucin bsica factible de inicio y, si se encuentra, se invoca la fase 2 para resolver el problema original. FASE 1: El problema se reescribe en forma estndar (en forma de ecuacin),

    agregndose a las restricciones las variables artificiales necesarias (exactamente como en el mtodo de la gran M) para asegurar una solucin bsica inicial. A continuacin se determina una solucin bsica de las ecuaciones resultantes, que minimice la suma de las variables artificiales. Si el valor mnimo de la suma es positivo, el PPL no tiene solucin factible y termina el proceso. En caso contrario, se pone fin a la fase 1, y se prosigue a la fase 2.

    FASE 2: Se usa la solucin factible de la fase 1 como solucin bsica de inicio para el problema original:

    Ejemplo: Consideremos el problema de programacin lineal:

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    19

    ( )

    Reescribiendo este problema en forma estndar, con todas las holguras y variables artificiales (sin penalizarlas en la funcin objetivo), y haciendo el cambio de variable

    para asegurarnos que todas las variables del PPL sean no negativas. obtenemos:

    ( )

    Notemos que hemos multiplicado la tercera restriccin por -1, ya que como dijimos con anterioridad, el lado derecho de las restricciones debe ser siempre no negativo. Procedemos primero con la fase 1. Como bien dijimos, la fase 1 minimiza la suma de las variables artificiales, estando esta nueva funcin objetivo sujeta a las mismas restricciones que el problema de programacin lineal original. De lo anterior, se tendr entonces lo siguiente:

    ( )

    La tabla smplex de inicio es la siguiente:

    V.B. x1 x2 x3 s1 a1 a2 s2 s3 b

    s1 1 1 1 1 0 0 0 0 4 a1 -1 -1 1 0 1 0 -1 0 3 a2 2 1 2 0 0 1 0 -1 1

    -z -1 -2 -1 0 0 0 0 0 0 -w 0 0 0 0 -1 -1 0 0 0 -w -1 0 -3 0 0 0 1 1 -4

    Al respecto, aclaremos algunas cosas antes de empezar. Lo primero es que, al igual que en el mtodo M, la nueva funcin objetivo se debe ajustar para que sea consistente con la tabla, ya que la solucin bsica de inicio indica que y , lo que implica que . Esto se ha llevado acabo automticamente en la tabla anterior. La primera fila w nos muestra los coeficientes originales de la funcin objetivo en fase 1, ( )

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    20

    . La segunda fila w nos muestra los coeficientes ajustados para as darle consistencia la tabla smplex, lo que se logra restndole a la primera fila w las filas y . Adems, notemos que la fila z se ha incluido de todas formas en la tabla. La razn de esto es la siguiente: una vez que se ha determinado una solucin bsica inicial en la fase 1 (si es que sta existe), la fase 2 llevar a cabo el proceso de optimizacin para la funcin objetivo original, que es , sujeta a las restricciones resultantes que se correspondan con las filas de las variables bsicas al finalizar la fase 1. Claramente, la funcin objetivo no puede ser la misma, ya que el problema de programacin lineal est sujeto a restricciones distintas una vez que se termina la fase 1, por lo cual la funcin

    objetivo debe modificarse a fin de tener un problema equivalente al original, y as encontrar su solucin. La tabla ptima que corresponde al fin de la fase 1, o dicho de otra forma, a la solucin ptima para la funcin objetivo ( ) es la siguiente (comprubelo!):

    V.B. x1 x2 x3 s1 a1 a2 s2 s3 b

    s1 2 2 0 1 -1 0 1 0 1 a1 -4 -3 0 0 2 -1 -2 1 5 a2 -1 -1 1 0 1 0 -1 0 3

    -z -2 -3 0 0 1 0 -1 0 3 -w 0 0 0 0 1 1 0 0 0

    Esta tabla es ptima, porque todos los coeficientes de la fila w (la fila objetivo para la fase 1) son no negativos. La solucin ptima es entonces ( ) , con . Concluimos, a partir de esto, que existe una solucin bsica factible de inicio para el PPL

    original en la fase 2, porque ( ) no es positivo. Se procede entonces a la fase 2, a partir de esta misma tabla. La nica diferencia es que desecharemos la fila w, porque sta ya no nos es til en la fase 2, y la fila z pasar a ser la fila objetivo, resolvindose el problema de forma idntica a como ya sabemos hacerlo, mediante el algoritmo smplex.

    V.B. x1 x2 x3 s1 a1 a2 s2 s3 b

    s1 2 2 0 1 -1 0 1 0 1 a1 -4 -3 0 0 2 -1 -2 1 5 a2 -1 -1 1 0 1 0 -1 0 3

    -z -2 -3 0 0 1 0 -1 0 3 A partir de la tabla anterior, se le deja como ejercicio al lector el comprobar que la solucin ptima del PPL al fin de la fase 2 es ( ) , con

    . Recordando que

    , y que ( ) ( ) obtenemos y ( ) . CASOS ESPECIALES DEL ALGORITMO SMPLEX Cuando se resuelve un PPL mediante el algoritmo smplex, pueden presentarse ciertos problemas o situaciones particulares que requieren de una atencin especial. Estos casos se tratan detalladamente en el siguiente apartado.

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    21

    SOLUCIN DEGENERADA: Al aplicar la condicin de factibilidad del mtodo smplex, se

    puede romper un empate en los ( ) en forma arbitraria. Cuando se presenta un empate, al menos una variable bsica ser nula en la siguiente iteracin, y se dice que la nueva solucin es degenerada. Desde el punto de vista prctico, la condicin de degeneracin indica que el modelo tiene al menos una restriccin redundante, lo que quiere decir que no influye en la solucin ptima del problema. Ejemplo: Resolver el siguiente PPL

    ( )

    Solucin: Sean y las correspondientes variables de holgura. El problema se establece en forma estndar como sigue:

    ( )

    La tabla siguiente muestra las iteraciones realizadas mediante el algoritmo smplex:

    Iteracin V.B. 0 1 4 1 0 8

    Entra 1 2 0 1 4 Sale -3 -9 0 0 0

    1 1/4 1 1/4 0 2 Entra 1/2 0 -1/2 1 0 Sale -3/4 0 9/4 0 18

    2 0 1 1/2 -1/2 2 ptimo 1 0 -1 2 0

    0 0 3/2 3/2 18 En la iteracin de inicio empatan y como variable de salida. Es la razn por la que la variable bsica es nula en la primera iteracin, y se obtiene as una solucin bsica degenerada. Se alcanza el ptimo despus de una iteracin. En la prctica, la degeneracin implica que al menos una restriccin es redundante. En otras palabras, pasan dos o ms restricciones por un mismo punto esquina que puede o no ser el ptimo, o bien, una de las restricciones puede ser combinacin lineal de la otra. Esto se puede ver en el grfico del ESF del problema, que se puede ver en Figura 5.

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    22

    Figura 5: ESF del ejemplo de solucin degenerada. El ptimo se encuentra en el punto esquina A.

    La existencia de una solucin bsica degenerada puede ser un punto interesante de discutir. El slo conocer que algunos recursos son superfluos puede ser valioso durante la implementacin de la solucin. Esta informacin tambin puede conducir a descubrir irregularidades en la construccin del modelo, lo que es muy importante. PTIMOS ALTERNATIVOS: Cuando la funcin objetivo es paralela a una restriccin obligatoria (es decir, una restriccin que se satisface como ecuacin en la solucin ptima), la funcin objetivo asumir el mismo valor ptimo, los cuales son llamados valores ptimos alternativos. Ejemplo: Resolver el siguiente PPL:

    ( )

    Solucin: La solucin grfica de este PPL se puede ver en Figura 6; adems, la tabla siguiente muestra las iteraciones smplex que resuelven la programacin lineal:

    Iteracin V.B. 0 1 2 1 0 5

    Entra 1 1 0 1 4 Sale -2 -4 0 0 0

    1 (ptimo) 1/2 1 1/2 0 5/2 Entra 1/2 0 -1/2 1 3/2 Sale 0 0 2 0 10

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    23

    2 0 1 1 -1 1 (ptimo 1 0 -1 2 3

    alternativo) 0 0 2 0 10

    Figura 6: ESF del ejemplo anterior. La funcin objetivo es paralela a la restriccin dada por la semirrecta AC. Esta recta define infinitos ptimos alternativos

    La iteracin 1 llega al ptimo, , con , que coincide con el punto A de Figura 6 Cmo saber en esta iteracin que existen ptimos alternativos? Examinemos los coeficientes de las variables no bsicas en la fila z, en la primera iteracin. El coeficiente de no bsica es cero, lo que indica que puede entrar a la solucin bsica sin cambiar el valor de , pero causando un cambio en la solucin bsica, con lo que obliga a que salga . Esto da como resultado un nuevo punto de solucin en C ( con ). El mtodo smplex slo determina los dos puntos esquina, A y C. Se pueden determinar matemticamente todos los puntos ( ) en el segmento de recta AC como promedio ponderado no negativo de los puntos A y C. As, dado , tal que , y adems:

    A:

    C: Todos los puntos de la semirrecta AC se expresan como:

    ( ) ( ) ( ) ( )

    ( ) ( ) ( )

    ( )

    SOLUCIN NO ACOTADA: En algunos modelos de programacin lineal, los valores de las variables pueden aumentar en forma indefinida sin violar alguna de las restricciones del problema, y eso significa que el ESF es no acotado en al menos una direccin. El

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    24

    resultado es que el valor objetivo puede aumentar (en caso de una maximizacin) o disminuir (si se trata de una minimizacin) en forma indefinida. En ese caso, tanto el ESF como el valor ptimo objetivo no estn acotados. La no acotacin apunta hacia la posibilidad de que el modelo est mal construido. Las irregularidades ms probables en estos modelos son que no se hayan tomado en cuenta una o ms restricciones no redundantes, y que los parmetros (constantes) de algunas restricciones puedan no haberse estimado en forma correcta. Ejemplo: Resolver el siguiente PPL:

    ( )

    Solucin: la iteracin smplex de inicio para este PPL se muestra en la tabla siguiente:

    V.B. x1 x2 s1 s2 b

    s1 1 -1 1 0 10 s2 2 0 0 1 40

    -z -2 -1 0 0 0

    En la tabla de inicio, tanto como son candidatos para entrar a la solucin. Como tiene el coeficiente ms negativo, se selecciona, normalmente, como la variable de

    entrada. Sin embargo, todos los coeficientes de restriccin bajo son negativos o cero, y eso indica que puede aumentar en forma indefinida sin violar cualquiera de las restricciones (comprese con la interpretacin grfica de la condicin de factibilidad en Figura 7). Como cada aumento de una unidad de aumentar 1 a , un aumento infinito de tambin dar como resultado un aumento infinito de . As, el problema no tiene solucin acotada. El ESF no est acotado en la direccin de , por lo que cuando .

    Figura 7: ESF del ejemplo anterior. Ntese que no se encuentra acotado superiormente

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    25

    La regla para reconocer la no acotacin es que si, en cualquier iteracin, todos los coeficientes de restriccin de toda variable no bsica son negativos o cero, entonces el ESF no est acotado en esa direccin. Si, adems, el coeficiente objetivo de esa variable es negativo en caso de maximizacin, o positivo en caso de minimizacin, entonces tambin el valor objetivo es no acotado. SOLUCIN NO FACTIBLE: Los modelos de programacin lineal con restricciones inconsistentes no tienen solucin factible. Estos casos nunca suceden si todas las restricciones son del tipo (suponiendo lados derechos no negativos), porque las holguras permiten tener una solucin factible. Para otros tipos de restricciones se usan variables artificiales. Aunque esas variables artificiales se penalizan en la funcin objetivo, para obligarlas a ser cero en el ptimo, eso slo puede suceder si el modelo, en efecto, tiene un ESF. En caso contrario, al menos una variable artificial ser positiva en la iteracin ptima. Desde el punto de vista prctico, un ESF no factible indica la posibilidad de que el modelo est mal construido. Ejemplo: Resolver el siguiente PPL:

    ( )

    Solucin: El ESF de este modelo se observa en Figura 8.

    Figura 8: ESF del ejemplo anterior. No hay solucin factible, porque las restricciones apuntan hacia semiplanos que no tienen puntos en comn

    La regla para determinar la no factibilidad es obvia. Si la condicin de factibilidad no se cumple, o dicho de otra forma, no es capaz de determinar una variable de salida

    (porque todos los elementos son negativos o cero), entonces el problema no tiene

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    26

    solucin factible. Lo anterior tambin se da cuando, al asignar variables artificiales al modelo, stas tienen un valor positivo en el ptimo. MTODO SMPLEX REVISADO. Lo estudiado con anterioridad nos permite, con mayores o menores dificultades, resolver cualquier problema de programacin lineal. Sin embargo, la utilizacin del algoritmo smplex es computacionalmente costosa, porque se calculan valores que, o bien son intiles desde el punto de vista prctico, o bien, no necesitan conocerse para llegar a la solucin. Tal es el caso de los coeficientes de las restricciones para cada iteracin, que no se encuentren en la fila (columna) que se corresponda con la variable de entrada (variable de salida). Por lo tanto, es posible establecer otro mtodo, que slo trabaje con los elementos necesarios de la tabla smplex, desechando los dems, o calculndolos slo cuando se necesiten. Esta es la idea del mtodo smplex revisado, el cual establece elementos matriciales para resolver un modelo. De lo anterior, se hace patente reconocer ciertos elementos matriciales de la tabla smplex, los cuales son siempre imprescindibles para resolver un PPL. El modelo lineal estndar ms comn de una tabla smplex, para un problema de programacin lineal de variables con restricciones (y por ende holguras), es el siguiente: Modelo lineal estndar:

    ( )

    Siendo las holguras asociadas a las restricciones del problema. Tabla smplex de este problema:

    V.B. ( )

    Tabla 4: Tabla smplex generalizada

    Los componentes de la tabla se han rellenado con colores distintos para explicar los elementos matriciales que conforman esta tabla y que son imprescindibles en la implementacin del mtodo smplex revisado. Estas definiciones son algo complicadas,

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    27

    pero el ejemplo de ms abajo es bastante claro al respecto, ilustrando la aplicacin de este mtodo. Matriz inversa: Definimos la matriz inversa como la matriz conformada por los coeficientes de las holguras en cada una de las restricciones para la correspondiente

    iteracin. Para una tabla de inicio, esta matriz siempre es cannica, y su notacin es .

    La matriz inversa para la ( ) iteracin en el mtodo smplex revisado est definida por la siguiente expresin:

    Donde es una matriz identidad, de orden equivalente a la matriz inversa del problema, y con una nica columna definida de la siguiente manera:

    (

    )

    Esta columna se corresponde con la variable de salida del problema en la respectiva iteracin. Vale decir, se ubica bajo la variable de salida, y sus elementos estn definidos

    por

    , siendo los elementos de la columna que se corresponde con la variable de

    entrada en la iteracin respectiva, y el elemento pvot de dicha iteracin. Hay un nico

    elemento,

    , el cual se ubica en la misma fila donde se encuentre el elemento pvot.

    Matriz de columnas de restriccin: Definimos la matriz de coeficientes de restriccin como aquella conformada por los coeficientes de las variables del PPL en cada una de las

    restricciones del problema. Su notacin, para la -sima iteracin, es .

    Definimos esta matriz mediante la siguiente expresin:

    Siendo la matriz de coeficientes de restriccin para la tabla de inicio del problema.

    Matriz de valores duales: Definimos la matriz de valores duales (tambin llamada matriz de precios sombra) como el vector fila cuyos elementos estn conformados por los coeficientes de las holguras en la fila correspondiente a la funcin objetivo para la

    iteracin respectiva. Su notacin es .

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    28

    La matriz , para la -sima iteracin, est definida por la siguiente expresin:

    ( )

    Donde ( ) corresponde a la matriz cuyos elementos son los coeficientes originales de las variables bsicas en la funcin objetivo, en el orden en que stas se encuentran en la tabla smplex. Matriz de coeficientes reducidos: Definimos la matriz de coeficientes reducidos como el vector fila cuyos elementos son los coeficientes de las variables del PPL en la funcin

    objetivo para la iteracin respectiva. Su notacin es . Tambin suele hacerse referencia a esta matriz como la matriz de costos reducidos. La matriz de coeficientes de reducidos para la -sima iteracin est definida por la siguiente expresin:

    Donde corresponde a la matriz de coeficientes originales de las variables del problema en la funcin objetivo (aquellos que se corresponden con la tabla de inicio). Matriz de recursos: Definimos la matriz de recursos como el vector columna conformado por los lados derechos de las restricciones del problema. Su notacin es . Adems, como bien sabemos, todos sus elementos son positivos o cero.

    La matriz de recursos para la -sima iteracin se define como:

    Donde corresponde a la matriz de recursos original del problema (aquella que se corresponde con la tabla de inicio). Las matrices anteriores nos permiten, siempre que se pueda, obtener todos los elementos de la tabla smplex. Todas estas matrices se relacionan mediante expresiones algebraicas sencillas, siendo el

    parmetro de entrada ms importante la matriz inversa del problema . La condicin

    que establece que las componentes de la matriz sean los coeficientes de restriccin

    para las holguras del problema deja de manifiesto que los excedentes quedan fuera de dicha matriz. Esto sucede porque, como se dijo en un principio, esta matriz es cannica

    para una tabla de inicio. As, la matriz puede estar conformada por componentes de

    las holguras del problema, y tambin de las variables artificiales, pero nunca por coeficientes de excedentes, porque si as fuera, en la tabla de inicio no habra una matriz inversa cannica. Lo anterior es algo complicado de explicar. Lo mejor, en virtud de un buen entendimiento de este mtodo, es aplicarlo directamente. El siguiente ejemplo pone de manifiesto, con todo detalle, como se aplica el mtodo smplex revisado. Ejemplo: Resolver el siguiente problema utilizando el mtodo smplex revisado o matricial:

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    29

    ( )

    Solucin: El PPL se reescribe en forma estndar como sigue (aadiendo variables de holgura, excedencia y artificiales):

    ( )

    Como hemos utilizado variables artificiales para que cumplan el papel de holguras, el PPL debe resolverse utilizando el mtodo smplex de dos fases, pero para este ejemplo, lo adaptaremos al mtodo smplex revisado. La tabla smplex de inicio para este problema es la siguiente:

    V.B. x1 x2 x3 s1 a1 s2 b

    s1 2 0 1 1 0 0 8 a1 -1 1 1 0 1 -1 13

    -z -3 2 2 0 0 0 0 -w 0 0 0 0 1 0 0 -w 1 -1 -1 0 0 1 -13

    La funcin a minimizar en la fase 1 es ( ) . En la tabla, se han coloreado los elementos matriciales que definimos con anterioridad para el mtodo smplex revisado. Lo

    primero es identificar la matriz inversa , que como bien sabemos, es aquella

    conformada por los coeficientes de las holguras (o las variables que cumplen el papel de holguras, como las artificiales) para cada una de las restricciones. Como esta es la tabla

    de inicio, la matriz es cannica:

    (

    )

    PASO 1 Obtencin de la matriz inversa para la primera iteracin: Utilizando la

    frmula descrita con anterioridad, definimos:

    La construccin de la matriz requiere saber cules son las variables de entrada y de salida del problema, para as poder reconocer el elemento pvot de esta tabla en la presente iteracin. La variable de entrada es porque tiene el coeficiente ms negativo en la fila objetivo (la fila w). Notemos que esto mismo es vlido para , que tambin tiene coeficiente -1 en la fila objetivo. El empate se rompe en forma arbitraria; en este caso, elegimos .

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    30

    Aplicando la condicin de factibilidad, determinamos que la variable de salida es (comprubelo!). Por lo tanto, la matriz se escribe de la siguiente manera:

    (

    ) (

    )

    La primera columna de esta matriz corresponde a la variable de holgura . La segunda columna se corresponde con la variable artificial , que es la variable de salida. Esta columna es la que cambia. El primer elemento de la segunda columna es igual al primer elemento de la columna que se corresponde con la variable de entrada de esta iteracin, que es 0, dividido por el elemento pvot de esta iteracin, que es 1. Todo esto se multiplica luego por -1. El segundo elemento, que se ubica en la misma fila que el pivote, es igual a 1 dividido por el elemento pvot, que es 1. Por lo tanto:

    (

    ) (

    ) (

    )

    PASO 2 Obtencin de la matriz de valores duales para la primera iteracin: Utilizando la frmula que describimos con anterioridad, se tiene:

    ( )

    Las variables bsicas para la primera iteracin son y . Por lo tanto, la matriz ( ) es igual a ( ) ( ), porque el coeficiente de en la fila objetivo es 0, y el de es -1. El orden en el cual estn definidas las variables bsicas en el PPL debe respetarse (el primer elemento de la matriz corresponde al coeficiente de , el segundo al coeficiente de , y no al revs). Esto suele facilitarse utilizando la siguiente tabla de valores:

    V.B. ( )

    (

    )

    En esta tabla puede apreciarse el orden de las variables bsicas, y por ende, la forma correcta de escribir la matriz ( ). Por lo tanto, se tiene que:

    ( ) (

    ) ( )

    PASO 3 Obtencin de la matriz de coeficientes reducidos para la primera iteracin: Utilizando la frmula descrita con anterioridad, se tiene:

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    31

    La matriz es aquella cuyos elementos son los coeficientes originales de la funcin objetivo para las variables del problema (se excluyen las variables de holgura y artificiales); en este caso, y . Vale decir:

    ( )

    La matriz es aquella cuyos elementos son los coeficientes originales de las variables

    para cada una de las restricciones del problema (se excluyen las variables de holgura y

    artificiales); en este caso, y . Vale decir:

    (

    )

    Por lo tanto, se tiene:

    ( ) ( ) (

    ) ( )

    Esta ltima matriz corresponde a los coeficientes de las variables del problema (que no sean holguras y artificiales) en la funcin objetivo para la primera iteracin. Consecuentemente con lo que realizamos en el mtodo smplex ordinario, a esta matriz se le debe aplicar la condicin de optimalidad. En particular, para este caso, como ningn coeficiente es negativo, estamos en el ptimo (para la fase 1, cuya funcin objetivo es w). Por lo tanto, debemos ahora calcular la solucin ptima para este PPL en la fase 1, lo que implica calcular la matriz y el valor de ( ). PASO 4 Obtencin de la solucin ptima para la fase 1 con el clculo de : Utilizando la frmula descrita con anterioridad, se tiene:

    es la matriz de recursos original del problema, cuyos elementos corresponden a los lados derechos de las restricciones:

    (

    )

    Por lo tanto:

    (

    ) (

    ) (

    )

    Luego, la solucin ptima del problema en la fase 1 es y . Todas las dems variables son no bsicas (nulas!!!), por lo que el valor de ( ) es 0.

    Concluimos entonces que, como ( ) , con , existe un espacio de soluciones factibles para el problema en la fase 2.

    PASO 5 Obtencin de la matriz de valores duales para z: Naturalmente, se utiliza la misma frmula que utilizamos antes:

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    32

    ( )

    La diferencia es que ahora la matriz ( ) est conformada por los coeficientes originales de las variables bsicas en la fila z, en el orden en que stas aparecen. Por lo tanto, utilizando una tabla similar a la que se utiliz para la fase 1, se tiene:

    V.B. ( )

    (

    )

    Luego:

    ( ) (

    ) ( )

    PASO 6 Obtencin de la matriz de coeficientes reducidos para z en la fase 2: Utilizando la misma frmula que se vio en la fase 1:

    Lo nico que cambia, al igual que en el paso 5, es que la matriz est conformada por los coeficientes originales de las variables del PPL (exceptuando las holguras y artificiales) en la fila z. Por lo tanto:

    ( ) Por lo tanto, obtenemos:

    ( ) ( ) (

    ) ( )

    Notemos que uno de los coeficientes reducidos es negativo para esta iteracin, lo que indica que la solucin no es ptima para la fase 2. La variable que se corresponde con

    dicho coeficiente es , por lo que, aplicando el criterio de optimalidad, sta pasa a ser la variable de entrada para la siguiente iteracin. PASO 7 Obtencin de la columna pvot para la segunda iteracin: Como ya hemos definido la variable que entra a la base en la segunda iteracin, debemos determinar cul es la variable que sale. Como ya hemos calculado la matriz de recursos para la primera iteracin (la matriz ), debemos calcular los elementos y aplicar el criterio de factibilidad para determinar cul variable saldr de la base. Sin embargo, esto requiere la obtencin de la columna que corresponde a la variable de entrada en la primera iteracin (la que se corresponde con ). Dicha columna, llamada columna pvot, se calcula utilizando la siguiente frmula:

    ( )

    ( )

    Siendo ( ) la columna original correspondiente a la variable :

    ( ) (

    )

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    33

    Por lo tanto:

    ( )

    ( ) (

    ) (

    ) (

    )

    Calculamos los elementos dividiendo fila a fila los elementos de la matriz por los

    elementos de la matriz ( ), con lo cual se obtiene lo siguiente:

    V.B. ( )

    8 2 8/2 = 4 Mnimo 13 -1 13/-1 = -13 Ignorar

    Luego, la variable que sale es , porque tiene el mnimo .

    PASO 8 Obtencin de la matriz inversa para la segunda iteracin en la fase 2:

    Utilizando la frmula descrita con anterioridad, definimos:

    Debemos calcular . Como la variable de salida es , la matriz ser una matriz cannica, igual que

    , pero con la columna que se corresponde a la variable de salida

    cambiada con la columna que se corresponde con la variable de entrada , haciendo uso de la frmula respectiva. Por lo tanto:

    (

    )

    Por lo tanto:

    (

    ) (

    ) (

    )

    PASO 9 Obtencin de la matriz de valores duales para z: Naturalmente, se utiliza la misma frmula que utilizamos antes:

    ( )

    Construyendo la respectiva tabla de valores:

    V.B. ( )

    (

    )

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    34

    Se tiene entonces:

    ( ) ( ) (

    ) ( )

    PASO 10 Obtencin de la matriz de coeficientes reducidos para z en la iteracin 2: Utilizando la respectiva frmula:

    Se tiene entonces:

    ( ) (

    ) (

    ) ( )

    Notemos que el resultado anterior indica que ya hemos llegado al ptimo, porque los coeficientes de las variables del PPL son positivas o nulas en la funcin objetivo. PASO 11 Obtencin de la solucin ptima y su valor: Finalmente, se deben obtener los valores de y que conforman la solucin ptima, as como el valor objetivo de dicha solucin, ( ). Se calcula, en primera instancia, el valor de la matriz para la segunda iteracin:

    (

    ) (

    ) (

    )

    Por lo tanto, la solucin ptima es y . Todas las dems variables son no bsicas, por lo que su valor es cero. Remplazando estos valores en la funcin objetivo

    ( ) , se obtiene ( ) .

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    35

    Modelo Primal Dual

    DEFINICIN DEL PROBLEMA DUAL. El problema dual es una programacin lineal definida en forma directa y sistemtica a partir del modelo original, que llamamos problema primal, de programacin lineal. Los dos problemas estn relacionados de forma tan estrecha, que la resolucin ptima de un problema produce automticamente la solucin del otro. Para formar el problema dual, definimos el primal en forma de ecuacin como sigue:

    ( )

    Las variables incluyen las variables de excedencia, holguras y artificiales, si las hay. El problema dual se obtiene de la siguiente forma:

    ( )

    De lo anterior, observamos: a) Se define una variable dual por cada restriccin primal b) Se define una restriccin dual por cada variable primal

    c) Los coeficientes de restriccin (columnas) de una variable primal definen los coeficientes en el lado izquierdo de la respectiva restriccin dual, y su coeficiente define el lado derecho

    d) Los coeficientes objetivo del dual son iguales al lado derecho de las ecuaciones de restriccin primal

    Las reglas para determinar el sentido de la optimizacin (maximizacin o minimizacin), el tipo de restriccin (, o =), y el signo de las variables duales (siempre no restringidas) se determinar siguiendo la siguiente convencin:

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    36

    Lema de optimizacin para el modelo primal dual: La funcin objetivo del problema primal siempre debe cambiarse a la forma estndar antes de construir el correspondiente problema dual. Como consecuencia de este lema, se tiene que el problema primal ser de minimizacin, ( ), con todas sus restricciones del tipo o =, mientras que el problema dual ser de maximizacin, ( ), con todas sus restricciones del tipo o =. La condicin para las restricciones del problema primal (deben ser del tipo ) puede satisfacerse siempre, si se da el caso, multiplicando la inecuacin respectiva por -1. Notemos que, para este caso, no es necesario que el lado derecho de las restricciones sea positivo. Esta forma de escribir el primal se conoce como forma cannica o formal de primal simtrico del problema primal. Los siguientes ejemplos ilustran el como se obtiene el dual a partir del primal. Ejemplo: Determinar el problema dual para el siguiente PPL:

    ( )

    Solucin: Lo primero es reescribir el problema primal de tal forma que la funcin objetivo sea de minimizacin, y que las restricciones sean del tipo o = (o sea, en forma cannica). Lo primero se logra haciendo la sustitucin ( ) ( ), mientras que lo segundo se logra multiplicando la primera restriccin por -1. Por lo tanto, se obtiene:

    ( )

    Agregando las variables de holgura, excedencia o artificiales, segn corresponda (y penalizando las artificiales en la funcin objetivo, segn lo aprendido en el mtodo de la gran M):

    ( )

    Ahora podemos construir el problema dual. Utilizando la definicin dada con anterioridad, podemos deducir que el problema dual presenta dos variables, ya que se tienen dos restricciones primales. Adems, tendr tres restricciones, porque hay tres variables primales. Por lo tanto, se obtiene lo siguiente:

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    37

    ( )

    Detengmonos un momento No habamos dicho que el problema dual tena tantas restricciones como variables tenga el primal? Por qu entonces hay, al parecer, 6 restricciones? Pues bien, esto no contradice, bajo ninguna circunstancia, lo establecido en la definicin del problema dual. Resulta que las tres ltimas restricciones determinan la naturaleza de las variables duales, puesto que stas pueden ser positivas o no restringidas. Esto se determina utilizando las variables de holgura, excedencia y artificiales en el primal, obteniendo las respectivas ecuaciones de restriccin en el dual que acotan los valores que las variables duales pueden tener. En este caso, la cuarta restriccin dice que , o lo que es lo mismo, . La quinta establece que . Si recordamos lo aprendido en el mtodo de la gran M, establecimos que, por definicin, el valor de tiende a . Por ende, se obtiene que . Luego, combinando ambos resultados, determinamos la naturaleza de la variable dual , la que es tal que ), o dicho de otra forma, La ltima restriccin establece que . De manera anloga, se tiene entonces que . Como no hay ms desigualdades referidas nicamente a , establecemos entonces que es una variable no restringida, porque puede tomar valores tanto positivos como negativos. Por lo tanto, el problema dual es el siguiente:

    ( )

    Lo anterior nos permite establecer lo siguiente:

    Tipo de restriccin primal Naturaleza de la variable dual

    Positiva o nula = No restringida

    Tabla 5: Naturaleza de las variables duales en funcin del tipo de las restricciones

    primales

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    38

    Esta simple, pero til tabla, nos permite obviar el escribir las holguras, excedentes o variables artificiales en el primal cuando queramos construir el dual, simplemente verificando el tipo de restriccin primal para determinar la naturaleza de la

    correspondiente variable dual. Recordemos que la variable dual se corresponde con la -sima restriccin primal. Ejemplo: Construir el problema dual para el siguiente PPL:

    ( )

    Solucin: Aprendida la tabla anterior, obviaremos el escribir las holguras del primal. Simplemente lo rescribiremos de forma tal que la funcin objetivo sea de minimizacin, y cuidando que todas las restricciones sean del tipo o =. Se tiene entonces:

    ( )

    Notemos que este PPL tiene una particularidad que el del ejemplo anterior no tena: una de las variables es no restringida. Utilizando el cambio de variable

    , con

    y

    , se tiene:

    ( )

    Construimos entonces el problema dual; del primal, ya sabemos que el dual tendr 3 variables y 2 restricciones. Adems, utilizando la Tabla 4, sabemos que las variables

    duales y son positivas o nulas, mientras que la variable dual es no restringida. Se obtiene entonces:

    ( )

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    39

    Detengmonos nuevamente por un momento No deberamos tener 2 restricciones en lugar de 3? Pues, en efecto, debera ser as. Resulta que el haber considerado el cambio de variable en el primal para la variable , que era no restringida, ha provocado que sta se fragmente en dos variables. Sin embargo, si observamos las primeras dos restricciones duales, que se corresponden con las variables primales

    y , podemos

    notar lo siguiente: Restriccin 1: Restriccin 2:

    Multiplicando la restriccin 2 por -1, obtenemos . Comparando entonces ambas restricciones podemos observar que stas pueden combinarse en una

    nica restriccin, dada por . Por lo tanto, el problema dual es el siguiente:

    ( )

    Al final, el dual s tena dos restricciones. Es un alivio Se ha respetado nuestra definicin de problema dual! Pero lo ms importante, es que hemos demostrado que la Tabla 4 funciona en ambas direcciones: si una variable primal es no restringida, significa que la correspondiente restriccin dual es del tipo =. RELACIONES PRIMAL DUAL. Los cambios que se hacen en el modelo original de programacin lineal afectan a los elementos de la tabla ptima actual (y el que se tenga en el momento), que a su vez puede afectar la optimalidad y/o factibilidad de la solucin actual. Si recordamos lo aprendido en el estudio del mtodo smplex revisado, se haba definido con anterioridad que uno de los elementos matriciales de la tabla smplex era precisamente una matriz de valores duales, que para la iteracin k est definida como:

    ( )

    Cotejando esto con lo aprendido acerca del problema dual concluimos lo siguiente: esta matriz representa los valores de las variables del problema dual para la k-sima iteracin. Esto confirma lo dicho en primera instancia: el problema primal y el problema dual estn tan estrechamente relacionados, que la solucin bsica que obtengamos para uno, automticamente conduce a la solucin bsica del otro. La frmula anterior prueba esta afirmacin (ya veremos el porqu del signo negativo en esta frmula). Recapitulando, se tiene entonces que las relaciones existentes entre los problemas primal y dual son las siguientes: El dual tiene tantas variables como restricciones tiene el primal

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    40

    El dual tiene tantas restricciones como variables tiene el primal Los coeficientes de la funcin objetivo del primal son los trminos independientes de

    las restricciones en el dual Los trminos independientes de las restricciones del primal son los coeficientes de la

    funcin objetivo en el dual La matriz de coeficientes de las restricciones del dual es igual a la transpuesta del

    primal Esta ltima aseveracin puede ser ms explicita si escribimos la formulacin de ambos problemas en forma matricial. Si el problema primal est definido como:

    ( )

    El dual queda definido como:

    ( )

    Notemos que, a partir de lo anterior, es posible demostrar que el dual del dual es igual al primal. Esto se le deja como ejercicio al lector. SOLUCIN DUAL PTIMA. Las soluciones primal y dual estn tan estrechamente relacionadas, que la solucin ptima del primal produce en forma directa, con un simple clculo adicional, la solucin ptima del dual. Para ello contamos con dos mtodos. Ambos igualmente vlidos. Mtodo 1: Formulismo del mtodo smplex revisado. Tal y como vimos con anterioridad, uno de los elementos matriciales de la tabla smplex es la matriz de valores duales, que corresponde a los valores de las variables duales para la correspondiente iteracin. Si la k-sima iteracin resulta ser la ptima en el primal, la solucin ptima del problema dual est dada por la siguiente expresin:

    ( )

    Por qu esta expresin tiene un signo negativo que la precede, cuando en el mtodo smplex revisado no lo haba? Esto sucede porque, desde un principio, nos hemos forzado a resolver problemas de minimizacin, inclusive cundo stos no estn definidos de esta forma, utilizando el cambio de variable ( ) ( ). Por lo tanto, este cambio de signo implica que antepongamos un signo negativo a la frmula de la matriz de valores duales.

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    41

    Mtodo 2: Teorema de holguras complementarias. Este mtodo es consecuencia de la misma definicin del problema dual. Definimos el teorema de holguras complementarias de la siguiente forma: TEOREMA DE HOLGURAS COMPLEMENTARIAS (THC) Consideremos el planteamiento del siguiente par de problemas, primal y dual, de programacin lineal:

    ( )

    ( )

    Supongamos que representa los elementos constituyentes de la matriz y admitimos

    que el problema primal tiene restricciones y variables asociadas, y sean y

    las

    soluciones ptimas de los problemas primal y dual, respectivamente. Se tiene entonces lo siguiente:

    [

    ]

    [

    ]

    Donde corresponde a los trminos independientes para las m restricciones del primal, y mientras que corresponde a los coeficientes de las variables en la funcin objetivo del primal.

    En el teorema anterior, podemos notar que las expresiones [

    ] y [

    ] corresponden a las variables de holgura de los problemas primal y dual, respectivamente, y que son denominadas holguras complementarias para cada PPL. Visto de esta forma, podemos interpretar el teorema de holguras complementarias de la siguiente forma: Dos soluciones posibles del primal y del dual son, respectivamente ptimas, si y slo si toda variable asociada a una restriccin con holgura distinta de cero es nula. Ejemplo: Establecer el problema dual y las condiciones de holguras complementarias para el siguiente problema de programacin lineal:

    ( )

    Solucin: Reescribiendo este problema en forma cannica:

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    42

    ( )

    Construimos ahora el problema dual. Del primal, observamos que el dual tiene 3 variables y 4 restricciones. Adems, la variable dual es no restringida, mientras que el resto son no negativas. Por lo tanto, el problema dual es el siguiente:

    ( )

    A merced del THC, establecemos las holguras complementarias respectivas. Para el primal:

    ( )] ( )] ( )]

    Para el dual:

    ( )] ( )] ( )] ( )]

    CONDICIONES DE BORDE DEL MODELO PRIMAL DUAL: El modelo primal dual presenta cuatro condiciones de borde que demuestran que la naturaleza de un problema tiene una consecuencia directa en el otro. 1. Para todo par de problemas primal y dual, se tendr que:

    ( ) ( )

    Donde las funciones z y v corresponden a las funciones objetivo para los problemas primal y dual, respectivamente. La igualdad de la expresin anterior se cumple si y slo si estamos en el ptimo.

    2. Si el primal no est acotado, y la funcin objetivo tiende a , entonces el dual tendr solucin factible.

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    43

    3. Si el primal no est acotado, y la funcin objetivo tiende a , entonces el dual tambin tendr una funcin objetivo no acotada, tal que

    En trminos de factibilidad de ambos problemas, estas condiciones se pueden resumir en los siguientes cuatro puntos: Si ambos problemas primal y dual son factibles, entonces ambos tendrn una

    solucin ptima finita, con valores objetivos finitos Si el primal no es factible y el dual es factible, entonces el problema dual tendr un

    ESF no acotado Si el primal es factible y el dual no es factible, entonces el problema primal tendr un

    ESF no acotado Si ambos problemas primal y dual no son factibles, ambos poseen valores objetivos

    infinitos INTERPRETACIN ECONMICA DE LA DUALIDAD. El problema de programacin lineal se puede considerar como un modelo de asignacin de recursos, en que el objetivo es maximizar los ingresos o las utilidades, sujetos a recursos que naturalmente son limitados. Si se aprecia el problema desde este punto de vista, el problema dual asociado ofrece interpretaciones econmica interesantes del modelo de programacin lineal de asignacin de recursos. Para formalizar la descripcin se considerar la siguiente representacin de los problemas generales primal y dual, en donde el primal asume el papel de un modelo de asignacin de recursos:

    PRIMAL DUAL

    ( )

    ( )

    Desde el punto de vista del modelo de asignacin de recursos, el problema primal tiene actividades econmicas y recursos. El coeficiente del primal representa la utilidad por

    unidad de actividad . El recurso , cuya disponibilidad mxima es , se consume con la tasa de unidades por unidad de actividad . INTERPRETACIN ECONMICA DE LAS VARIABLES DUALES: Anteriormente, se indic que para dos soluciones factibles primal y dual cualquiera, los valores de las funciones objetivo, cuando son finitos, deben satisfacer la siguiente desigualdad:

    ( )

    ( )

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    44

    La igualdad estricta, ( ) ( ), es vlida cuando las soluciones primal y dual son ptimas. Examinaremos primero la condicin ptima, ( ) ( ). Como el problema primal representa un modelo de asignacin de recursos, podemos imaginar que representa la utilidad monetaria. Como representa la cantidad disponible de unidades del recurso , la ecuacin ( ) ( ) se puede expresar en forma dimensional como sigue:

    ( )

    ( )

    Eso quiere decir que las variables duales representan el valor por unidad de recurso . Con la misma lgica, la desigualdad ( ) ( ) relativa a dos soluciones asociadas, primal y dual, se interpreta como sigue:

    Segn esta relacin, siempre que los ingresos totales por todas las actividades sean menores que el valor de los recursos, las soluciones primal y dual correspondientes no son ptimas. La optimalidad slo se alcanza cuando se han explotado los recursos por completo, lo que slo puede suceder cuando los datos (valor de los recursos) son iguales a los resultados ($ de utilidad). En trminos econmicos se dice que el sistema permanece inestable (no ptimo) cuando los datos (valor de los recursos) son mayores que el resultado (ingreso). La estabilidad se da slo cuando estas dos cantidades son iguales. INTERPRETACIN ECONMICA DE LAS RESTRICCIONES DUALES: Del teorema de holguras complementarias, sabemos que:

    Esta frmula nos permite interpretar las restricciones duales. La utilidad por unidad de actividad est en $ por unidad. En consecuencia, para tener consistencia, la cantidad

    , que aparece en la ecuacin con signo contrario, tambin debe estar en $ por

    unidad. Adems, como representa una utilidad, la cantidad , que aparece en

    la ecuacin con signo contrario, debe representar un costo. Al mismo tiempo, como es

    la cantidad del recurso que usa la actividad , las variables duales deben representar al costo imputado de todos los recursos necesarios para producir una unidad de actividad . La condicin de optimalidad de maximizacin del mtodo smplex indica que un aumento en la cantidad de una actividad no usada (no bsica) puede mejorar la utilidad slo en caso de que su coeficiente objetivo

    sea no negativo (que es al revs de la

    condicin de minimizacin estndar). En funcin de la interpretacin anterior, esta condicin establece que:

  • Universidad de Santiago de Chile

    Departamento de Ingeniera en Minas

    Ayudanta de Optimizacin

    45

    (

    ) (

    )

    As, la condicin de optimalidad de maximizacin indica que es econmicamente bueno aumentar una actividad a un valor positivo si su utilidad unitaria es mayor que su costo imputado unitario. Por lo tanto, en sntesis, las variables duales