You are on page 1of 20

Problema de Construccin de Viviendas resuelto Grficamente

Por GEO Tutoriales el 30/08/2011 en Programacin Lineal El siguiente problema fue enviado por uno de nuestros usuarios de la ciudad de Bogota, Colombia: En la ciudad de Armenia se va a demoler un barrio de 10 acres y la alcalda debe decidir sobre el nuevo plan de desarrollo. Se van a considerar dos proyectos habitacionales: viviendas a bajo costo y viviendas a medio costo. Se pueden construir 20 y 15 unidades de cada vivienda por acre, respectivamente. Los costos por unidad de las viviendas a bajo y medio costo son $13.000 y $18.000, respectivamente. Los lmites inferior y superior establecidos por la alcalda sobre el nmero de viviendas de bajo costo son 60 y 100 respectivamente. De igual manera, el nmero de viviendas de costo medio debe estar entre 30 y 70. Se estima que el mercado potencial combinado mximo para las viviendas es de 150 (que es menor que la suma de los lmites de los mercados individuales debido al translapo entre los dos mercados). Se desea que la hipoteca total comprometida al nuevo plan de desarrollo no exceda los $2 millones. Finalmente, el asesor de la obra sugiri que el nmero de viviendas de bajo costo sea por lo menos de 50 unidades mayor que la mitad del nmero de viviendas de costo medio. Formule como un Programa Lineal el problema del nuevo plan de desarrollo a costo mnimo y resulvalo grficamente. A continuacin detallamos la resolucin de este problema de Programacin Lineal: 1. Variables de Decisin:

X1: Viviendas de bajo costo a construir X2: Viviendas de costo medio a construir

2. Funcin Objetivo: Minimizar 13.000X1 + 18.000X2 3. Restricciones:


Disponibilidad de acres: (X1/20) + (X2/15) <= 10 Lmites de viviendas de bajo costo: 60 <= X1 <= 100 Lmites de viviendas de costo medio: 30 <= X2 <= 70 Lmite mercado combinado: X1 + X2 <= 150 Lmite hipoteca total: 13.000X1 + 18.000X2 <= 2.000.0000 Sugerencia asesor de obra: X1 >= 50 + (X2/2) No Negatividad: X1>=0 X2>=0

La resolucin grfica del modelo de programacin lineal anterior se muestra a continuacin utilizando el software Geogebra:

Solucin ptima: X1=65 X2=30 Valor ptimo: V(P)=$1.385.000

2013

Mtodo Simplex

El Mtodo Simplex publicado por George Dantzig en 1947 consiste en un algoritmo iterativo que secuencialmente a travs de iteraciones se va aproximando al ptimo del problema de Programacin Lineal en caso de existir esta ltima. La primera implementacin computacional del Mtodo Simplex es el ano 1952 para un problema de 71 variables y 48 ecuaciones. Su resolucin tarda 18 horas. Luego, en 1956, un cdigo llamado RSLP1, implementado en un IBM con 4Kb en RAM, admite la resolucin de modelos con 255 restricciones. El Mtodo Simplex hace uso de la propiedad de que la solucin ptima de un problema de Programacin Lineal se encuentra en un vrtice o frontera del dominio de puntos factibles (esto ltimo en casos muy especiales), por lo cual, la bsqueda secuencial del algoritmo se basa en la evaluacin progresiva de estos vrtices hasta encontrar el ptimo. Cabe destacar que para aplicar el Mtodo Simplex a un modelo lineal, este debe estar en un formato especial conocido como formato estndar el cual definiremos a continuacin. FORMA ESTNDAR DE UN MODELO DE PROGRAMACIN LINEAL Consideremos un modelo de Programacin Lineal en su forma estandar, que denotaremos en lo que sigue por:

Min sa

c1x1 + c2x2 + ... + cnxn a11x1 + a12x2 + ... + a1nxn = b1 a21x1 + a22x2 + ... + a2nxn = b2 ... ... ... am1x1 + am2x2 + ... + amnxn = bm xi >= 0, i = 1, 2, ..., n y m <= n

Matricialmente escrito como: Min cTx s.a Ax = b x >= 0 No existe prdida de generalidad en asumir que un modelo de PL viene dado en su forma estndar:

EJEMPLO P) Max sa

9u + 2v + 5z 4u + 3v + 6z <= 50 u + 2v - 3z >= 8 2u - 4v + z = 5 u,v >= 0 z e IR

1. Siempre es posible llevar un problema de maximizacin a uno de minimizacin. Si f(x) es la funcin objetivo a maximizar y x* es la solucin ptima f(x*) >= f(x), para todo x factible. -f(x*) <= - f(x), para todo x factible. En consecuencia: x* es tambin mnimo de -f(x) 2. Cada restriccin del tipo <= puede ser llevada a una ecuacin de igualdad usando una (nueva) variable de holgura no negativa, con coeficiente nulo en la funcin objetivo. 3. Cada restriccin del tipo >= puede ser llevada a una ecuacin de igualdad usando una (nueva) variable de exceso no negativa, con coeficiente nulo en la funcin objetivo. 4. Siempre es posible escribir una variable libre de signo como la diferencia de dos variables no negativas.

Considerando la siguiente notacin: u = x1, v = x2, z = x3 - x4, s1 = x5 (holgura), s2 = x6 (exceso), el problema P) puede ser escrito en forma equivalente como:

Min sa:

- 9x1 - 2x2 - 5x3 + 5x4 + 0x5 + 0x6 4x1 + 3x2 + 6x3 - 6x4 + x5 = 50 x1 + 2x2 - 3x3 + 3x4 - x6 = 8 2x1 - 4x2 + x3 - x4 = 5 xi >= 0, i=1,2,3,4,5,6.

EJEMPLO: Resolver el siguiente problema de Programacin Lineal utilizando el Mtodo Simplex:


Max 40*X1 + 60*X2 s.a. 2*X1 + 1*X2 <= 70 1*X1 + 1*X2 <= 40 1*X1 + 3*X2 <= 90 X1 >= 0 X2 >= 0

Para poder aplicar el Mtodo Simplex, es necesario llevar el modelo a su formato estndar, para lo cual definimos X3, X4, X5 >= 0 como las respectivas variables de holgura para la restriccin 1, 2 y 3. De esta forma queda definida la tabla inicial del mtodo de la siguiente forma:
X1 2 1 X2 1 1 X3 1 0 X4 0 1 X5 0 0 70 40

1 -40

3 -60

0 0

0 0

1 0

90 0

En esta situacin, las variables de holgura definen una solucin bsica factible inicial, condicin necesaria para la aplicacin del mtodo. Luego, se verifican los costos reducidos de las variables no bsicas (X1 y X2 en la tabla inicial) y se escoge como variable que entra a la base aquella con el costo reducido "ms negativo". En este caso, X2. Luego, para escoger que variable bsica deja la base debemos buscar el mnimo cuociente entre el lado derecho y los coeficientes asociados a la variable entrante en cada fila (para aquellos coeficientes > 0 marcados en rojo en la tabla anterior). El mnimo se alcanza en Min {70/1, 40/1, 90/3} = 30 asociado a la tercera fila, el cual corresponde a la variable bsica actual X5, en consecuencia, X5 deja la base. En la posicin que se alcanza el mnimo cuociente lo llamaremos "Pivote" (marcado con rojo) el cual nos servir para realizar las respectivas operaciones filas, logrando la siguiente tabla al cabo de una iteracin:
X1 5/3 2/3 1/3 -20 X2 0 0 1 0 X3 1 0 0 0 X4 0 1 0 0 X5 -1/3 -1/3 1/3 20 40 10 30 1800

El valor de la funcin objetivo luego de una iteracin ha pasado de 0 a 1.800. Se recomienda al lector hacer una representacin grfica del problema y notar como las soluciones factibles del mtodo corresponden a vrtices del dominio de puntos factibles. La actual tabla no corresponde a la solucin ptima del problema P) debido a que existe una variable no bsica con costo reducido negativo, por tanto X1 entra a la base. Posteriormente, mediante el criterio del mnimo cuociente calculamos la variable que debe dejar la base: Min {40/(5/3), 10/(2/3), 30/(1/3)} = 15, asociado a la fila 2 (variable bsica actual X4), por tanto X4 deja la base. Obtenido lo anterior se aplica una iteracin del mtodo:
X1 0 X2 0 X3 1 X4 -5/2 X5 1/2 15

1 0 0

0 1 0

0 0 0

3/2 -1/2 30

-1/2 1/2 10

15 25 2100

Finalmente se alcanza la solucin ptima del problema P) y se verifica que los costos reducidos asociados a las variables no bsicas (X4 y X5 son mayores o iguals que cero). Notse que la existencia de un costo reducido igual a cero para una variable no bsica en esta etapa define un problema con "infinitas soluciones". La solucin alcanzada es X1* = 15, X2* = 25 con V(P*) = 2.100. Adicionalmente, los costos reducidos asociados a las variables no bsicas definen el precio sombra asociado a las restricciones 1, 2 y 3, respectivamente, lo cual es equivalente a la obtencin del precio sombra mediante el mtodo grfico. Dejaremos para una posterior presentacin, la forma de calcular el intervalo de variacin para el lado derecho que permite la validez del precio sombra, utilizando la tabla final del Mtodo Simplex. MTODO SIMPLEX DE 2 FASES Esta estrategia se utiliza cuando no es inmediata una solucin bsica factible inicial en las variables originales del modelo. FASE 1: Se considera un problema auxiliar que resulta de agregar tantas variables auxiliares a las restricciones del problema, de modo de obtener una solucin bsica factible. Resolver por Simplex un problema que considera como funcin objetivo la suma de las variables auxiliares. Si el valor ptimo es cero, seguir a la Fase II, en caso contrario, no existe solucin factible. FASE 2: Resolver por Simplex el problema original a partir de la solucin bsica factible inicial hallada en la Fase I.

P)

Max sa

2X1 + X2 10X1 + 10X2 <= 9 10X1 + 5X2 >= 1 X1, X2 >= 0

Se debe agregar X3 como variable de holgura de la restriccin 1, X4 como variable de exceso de la restriccin 2 y X5 variable auxiliar para poder comenzar la Fase 1. (Ntese que solo agregando X3 como variable de holgura a la restriccin 1 y X4 como variable de exceso a las segunda restriccin no se obtiene una solucin bsica factible inicial, en particular X4<0).

F1) sa

Min X5 ...............10X1 + 10X2 + X3 = 9 10X1 + 5X2 - X4 + X5 = 1 X1, X2, X3, X4, X5 >= 0

La tabla inicial asociada a la Fase I queda en consecuencia definida de la siguiente forma:


X1 10 10 0 X2 10 5 0 X3 1 0 0 X4 0 -1 0 X5 0 1 1 9 1 0

Luego, se debe hacer 0 el costo reducido de X5, obteniendo la siguiente tabla inicial para hacer el uso de Simplex:
X1 10 10 -10 X2 10 5 -5 X3 1 0 0 X4 0 -1 1 X5 0 1 0 9 1 -1

Se escoge X1 como variable que entra a la base al tener el costo reducido ms negativo. Posteriormente, mediante el criterio del mnimo cuociente se selecciona la variable que sale de la base: Min {9/10; 1/10} = 1/10, X5 sale de la base:
X1 0 1 0 X2 5 1/2 0 X3 1 0 0 X4 1 -1/10 0 X5 -1 1/10 1 8 1/10 0

Se obtiene la solucin ptima de la Fase I, con valor ptimo cero. Luego iniciamos la Fase II del mtodo tomando X1 y X3 como variables bsicas iniciales. FASE 2: Resolver por Simplex el problema original a partir de la solucin bsica factible inicial hallada en la Fase I.
X1 X2 X3 X4

0 1 -2

5 1/2 -1

1 0 0

1 -1/10 0

8 1/10 0

Hacemos cero los costos reducidos de las variables bsicas:


X1 0 1 0 X2 5 1/2 0 X3 1 0 0 X4 1 -1/10 -1/5 8 1/10 1/5

X4 entra a la base. Por el criterio del mnimo cuociente, el pivote se encuentra en la fila 1, por tanto X3 sale de la base:
X1 0 1 0 X2 5 1 1 X3 1 1/10 1/5 X4 1 0 0 8 9/10 9/5

Donde la solucin ptima es: X1=9/10

X2=0

Con valor ptimo V(P) = 9/5.

MTODO SIMPLEX - CASOS ESPECIALES

Llevar un problema de Programacin Lineal a su forma estndar no siempre es inmediato. Un error frecuente es tratar de resolver por el Mtodo Simplex un modelo que no cumple con el diseo que exige el mtodo. A continuacin algunos ejemplos y casos especiales a tener en cuenta:

CAMBIO DE VARIABLES

Resuelva el siguiente problema de Programacin Lineal utilizando el Mtodo Simplex.

Max 2X1 + 2X2 + 4X3 S.A. X2 + 2X3 <= 240 (R1) X1 + X2 + X3 <= 400 (R2) 2X1 + X2 + X3 <= 360 (R3) X1>=100 (R4) X2>=60 (R5) X3>=60 (R6)

Si quisiramos resolver directamente este problema utilizando Simplex deberamos agregar variables de exceso para R4, R5 y R6 y luego variables artificiales para disponer de una solucin bsica factible de modo de utilizar el Mtodo Simplex de 2 Fases. Claramente esto es un trabajo tedioso por el gran tamao de la tabla resultante.

En consecuencia, lo ms eficiente es hacer un cambio de variables de modo que todas las restricciones queden del tipo "<=" y de esta forma se dispone de una solucin bsica factible inicial. Sea Y1=X1-100>=0; Y2=X2-60>=0; Y3=X3-60>=0. Reemplazamos en el modelo anterior, el cual queda de la siguiente forma:

Max 2Y1 + 2Y2 + 4Y3 + 560 S.A. Y2 + 2Y3 <= 60 (R1) Y1 + Y2 + Y3 <= 180 (R2) 2Y1 + Y2 + Y3 <= 40 (R3) Y1>=0 (R4) Y2>=0 (R5) Y3>=0 (R6)

Ntese que se podra obviar la restriccin 2 y obtener identicos resultados. De todos modos definimos la tabla inicial asociada a este nuevo problema:

Y1 Y2 Y3 S1 S2 S3 0 1 2 1 1 1 2 1 1 1 0 0 0 0 1 0 0 0 1 0 60 40 0 0 180

-2 -2 -4

Compruebe que Y1=5 (X1=105), Y2=0 (X2=60), Y3=30 (X3=90) con V(P)=690.

PROBLEMA INFACTIBLE

Esta situacin se detecta cuando el valor ptimo del problema de la fase 1 es distinto de cero.

Max 3x1 + 2x2 s.a: 2x1 + x2 <= 2 3x1 + 4x2 >= 12 x1,x2 >= 0

Llevamos el modelo a su forma estndar agregando X3 como variable de holgura de la restriccin 1, X4 como variable de exceso de la restriccin 2 y X5 como variable artificial de la restriccin 2 que nos permita formar la base. De esta forma el modelo de la fase 1 queda definido por:

Min s.a:

x5 2x1 + x2 + x3 = 2 3x1 + 4x2 -x4 + x5= 12 x1,x2,x3,x4,x5 >= 0

Con tabla inicial:

X1 X2 X3 X4 X5 2 3 0 1 4 0 1 0 0 0 -1 0 0 1 1 2 12 0

Y tabla final de la fase 1:

X1 X2 X3 X4 X5 2 -5 5 1 0 0 1 -4 4 0 -1 0 0 1 0 2 4 -4

EJEMPLO PROBLEMA NO ACOTADO:

Esta situacin se detecta cuando al realizar el clculo de la variable que deja la base, todos los elementos ykj de la columna j en la tabla, son negativos para j el ndice de una variable no bsica con costo reducido negativo.

Max 2x1 + x2 s.a: x1 - x2 <= 10 2x1 <= 40 x1,x2 >= 0

Donde la tabla inicial del mtodo simplex luego de agregar X3 y X4 como variables de holgura para las restricciones 1 y 2 respectivamente es:

X1 1 2

X2 -1 0

X3 1 0

X4 0 1

10 40

-2

-1

Cabe destacar que en esta instancia ya se puede constatar que el problema es no acotado. X2 siendo variable no bsica los elementos de la respectiva columna son negativos o cero. Sin embargo, si el usuario no se percata inmediatamente de esto, de todos modos llegar a la misma conclusin en la iteracin posterior, luego de hacer entrar X1 a la base como aquella variable no bsica con costo reducido ms negativo.

MLTIPLES SOLUCIONES PTIMAS

Esta situacin se detecta cuando existen costos reducidos iguales a cero en una o ms de las variables no bsicas ptimas.

Max 3x1 + 2x2 s.a: 5x1 + 2x2 <= 140 3x1 + 2x2 <= 120 x1,x2 >= 0

Con tabla final del Mtodo Simplex:

X1 X2 1 0 0 0 1 0

X3 1/2 -3/4 0

X4 -1/2 5/4 1

10 45 120

Ntese que se ha encontrado una de las infinitas soluciones ptimas para el problema (X1=10, X2=45, V(P)=120). Esto debido a que la variable no bsica X3 tiene costo reducido igual a cero en el ptimo. Cmo se puede obtener otro vrtice con similar valor ptimo?. Se debe forzar la entrada entonces de X3 a la base y sacar de la base una de las variables bsicas actuales (si sigue el clculo notar que esta corresponde a X1). Finalmente, el nuevo vrtice ptimo es X1=0, X2=60, V(P)=120. El resto de las infinitas soluciones ptimas esta contenida en tramo que une los 2 vrtices tal como se muestra en la figura:

Programacin lineal
La programacin lineal da respuesta a situaciones en las que se exige maximizar o minimizar funciones que se encuentran sujetas a determinadas limitaciones, que llamaremos restricciones. Su empleo es frecuente en aplicaciones de la industria, la economa, la estrategia militar, etc.
Funcin objetivo

En esencia la programacin lineal consiste en optimizar (maximizar o minimizar) una funcin objetivo, que es una funcin lineal de varias variables: f(x,y) = ax + by.
Restricciones

La funcin objetivo est sujeta a una serie de restricciones, expresadas por inecuaciones lineales:
a1x + b1y c1 a2x + b2y c2 ... ... ... anx + bny cn

Cada desigualdad del sistema de restricciones determina un semiplano.

Solucin factible

El conjunto interseccin, de todos los semiplanos formados por las restricciones, determina un recinto, acotado o no, que recibe el nombre de regin de validez o zona de soluciones factibles.

Solucin ptima

El conjunto de los vrtices del recinto se denomina conjunto de soluciones factibles bsicas y el vrtice donde se presenta la solucin ptima se llama solucin mxima (o mnima segn el caso).

Valor del programa lineal

El valor que toma la funcin objetivo en el vrtice de solucin ptima se llama valor del programa lineal.

Pasos para resolver un problema de programacin lineal


1. Elegir las incgnitas. 2. Escribir la funcin objetivo en funcin de los datos del problema. 3. Escribir las restricciones en forma de sistema de inecuaciones. 4. Averiguar el conjunto de soluciones factibles representando grficamente las restricciones. 5. Calcular las coordenadas de los vrtices del recinto de soluciones factibles (si son pocos). 6. Calcular el valor de la funcin objetivo en cada uno de los vrtices para ver en cul de ellos presenta el valor mximo o mnimo segn nos pida el problema (hay que tener en cuenta aqu la posible no existencia de solucin si el recinto no est acotado).

Ejemplos de programacin lineal


Unos grandes almacenes encargan a un fabricante pantalones y chaquetas deportivas. El fabricante dispone para la confeccin de 750 m de tejido de algodn y 1000 m de tejido de polister. Cada pantaln precisa 1 m de algodn y 2 m de polister. Para cada chaqueta se necesitan 1.5 m de algodn y 1 m de polister. El precio del pantaln se fija en 50 y el de la chaqueta en 40 . Qu nmero de pantalones y chaquetas debe suministrar el fabricante a los almacenes para que stos consigan una venta mxima? 1Eleccin de las incgnitas. x = nmero de pantalones y = nmero de chaquetas 2Funcin objetivo f(x,y)= 50x + 40y

3Restricciones Para escribir las restricciones vamos a ayudarnos de una tabla:


pantalones chaquetas disponible algodn 1 polister 2 1,5 1 750 1000

x + 1.5y 750 2x + y 1000

2x+3y1500

Como el nmero de pantalones y chaquetas son nmeros naturales, tendremos dos restricciones ms: x0 y0 4 Hallar el conjunto de soluciones factibles Tenemos que representar grficamente las restricciones. Al ser x 0 e y 0, trabajaremos en el primer cuadrante. Representamos las rectas, a partir de sus puntos de corte con los ejes.

Resolvemos grficamente la inecuacin: 2x +3y 1500, para ello tomamos un punto del plano, por ejemplo el (0,0). 20 + 30 1 500 Como 0 1 500 entonces el punto (0,0) se encuentra en el semiplano donde se cumple la desigualdad. De modo anlogo resolvemos 2x + y 1000. 20 + 0 1 000 La zona de interseccin de las soluciones de las inecuaciones sera la solucin al sistema de inecuaciones, que constituye el conjunto de las soluciones factibles.

5 Calcular las coordenadas de los vrtices del recinto de las soluciones factibles. La solucin ptima, si es nica, se encuentra en un vrtice del recinto. Estas son las soluciones a los sistemas: 2x + 3y = 1500; x = 0 (0, 500) 2x + y = 1000; y = 0 (500, 0) 2x + 3y =1500; 2x + y = 1000 (375, 250)

6 Calcular el valor de la funcin objetivo En la funcin objetivo sustituimos cada uno de los vrtices. f(x, y) = 50x + 40y f(0, 500) = 500 + 40500 = 20000 f(500, 0) = 50500 + 400 = 25000 f(375, 250) = 50375 + 40250 = 28750 Mximo

La solucin ptima es fabricar 375 pantalones y 250 chaquetas para obtener un beneficio de 28750 .

La solucin no siempre es nica, tambin podemos encontrarnos con una solucin mltiple.
Ejemplo

Si la funcin objetivo del ejercicio anterior hubiese sido: f(x,y)= 20x + 30y f(0,500) = 200 + 30500 = 15000 f(500, 0) = 20500 + 300 = 10000 f(375, 250) = 20375 + 30250 = 15000 Mximo Mximo

En este caso todos los pares, con soluciones enteras, del segmento trazado en negro seran mximos.

f(300, 300)= 20300 + 30300 = 15000

Mximo

Link bueno http://www.ccebook.org/preview/9586484092/Algebra-Lineal-Y-Programacion-Lineal-ConAplicaciones-A-Ciencias-Administrativas

KLEIMAN A, DE KLEIMAN, Elena. Matrices, aplicaciones matematicas en economia y administracin. Limusa. Mexico 1973. Cap. 1 al 9

You might also like