














Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Material teorico de algrebra, catedra Fauring, Algoritmo simplex----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Tipo: Apuntes
1 / 22
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!















Ejemplo En la práctica anterior hemos aprendido a resolver problemas del tipo:
¨Hallar el MÁXIMO de z 3 x 1 2 x 2 sujeto a R
3 x 1 4 x 2 8 2 x 1 x 2 4 x 1 0 , x 2 0
En este caso, la región R es un polígono, y sabemos que el máximo se alcanza en uno de
sus vértices:
x
y
(^2) 8/3 4
2
Vértices (^) z(x,y)
(8/5,4/5)(8/5,4/5)
(0,0)
(2,0)
(0,2)
32/
0
6
4
El máximo se alcanza en (8/5,4/5) siendo z(8/5,4/5)=32/5.
¿Qué pasaría si el problema, en lugar de tener 2 variables, tuviera más? No sólo no lo
podríamos dibujar, sino que la cantidad de vértices puede ser un número muy grande, y
evaluar en todos para ver en dónde se alcanzaría el máximo valor sería extremadamente
costoso.
El método dado a continuación, conocido como MÉTODO SIMPLEX, desarrollado por
Dantzig (1947), es sumamente ingenioso.
El mismo recorre los vértices de manera que la función objetivo vaya incrementándose hasta que, no pudiendo aumentar más, se detiene habiendo encontrado el máximo valor.
Para hacerlo, basta con triangular cierta matriz siguiendo unos pasos muy sencillos.
Se tardó aproximadamente 40 años en aceptar por qué el método funciona tan bien como
lo hace. Recién en 1984 otro matemático propuso un método alternativo, pero el método de
Dantzig sigue funcionanado mejor en casos que tengan hasta 20000 variables!
El desarrollo del tema se basa en el capítulo "Programación Lineal" del libro
Aplicaciones de Álgebra lineal , de Grossman.
Definición El siguiente problema se llama problema estándar de maximización : “dada una función z c 1 x 1 ... cnxn
que llamaremos función objetivo ,
A Rmxn^ , B
b 1 b 2 bm
Rm^ tal que bi 0 para todo i 1,... , m , y un sistema de
restricciones
x 1 0,... , xn 0
se quiere hallar un vector X Rn^ que maximice z y satisfaga R ”.
La desigualdad AX B se interpreta coeficiente a coeficiente. Observar que entonces
podemos describir las restricciones como
Usaremos indistintamente la notación matricial o de sistemas de ecuaciones.
Primero transformaremos las desigualdades en igualdades, introduciendo nuevas
variables "de holgura": las nuevas variables indican cuánto le falta a cada desigualdad para
convertirse en igualdad. Se irán recorriendo los vértices de la región de factibilidad e
incrementando el valor de la función en cada paso, hasta encontrar el máximo. El método
permite realizar estos pasos de una manera sistemática y sencilla.
1. Se transforma el sistema con en uno con , introduciendo una variable de holgura para cada ecuación. Considerando el ejemplo anterior, pongamos s 1 8 3 x 1 4 x 2 , s 2 4 2 x 1 x 2 entonces s 1 0 , s 2 0. Ahora reescribimos el sistema utilizando igualdades en lugar de desigualdades, obteniendo el sistema
de 4 incógnitas R ^
3 x 1 4 x 2 s 1 8 2 x 1 x 2 s 2 4 xi 0 , sj 0
Planteamos z 3 x 1 2 x 2 0 s 1 0 s 2 y observemos que una solución de R ^ es tomar x 1 x 2 0 , s 1 8 , s 2 4 , siendo z 0, 0, 8, 4 0. Si no tomamos en cuenta las nuevas variables y consideramos sólo x 1 x 2 0 , obtenemos un vértice de R , y también es z 0, 0 0. Las si son inicialmente las variables básicas y las xi son las variables no
Si sólo consideramos z en las variables originales, también es z 2, 0 6.
6. Nos fijamos si quedan indicadores positivos. Como c 2 12 0 , la respuesta
es sí. Entonces, se debe repetir el procedimiento anterior.
a. Comparamos (^25) 2
2
4. Como 45 es el menor, el pivote es a 12 52.
b. Dividimos la primera fila por a 12 , obteniendo:
x 1 x 2 s 1 s 2 0 1 25 35 45 x 2 1 12 0 12 2 x 1
0 12 0 32 z 6
x 1 x 2 s 1 s 2 0 1 25 35 45 x 2
1 0 15 45 85 x 1 0 0 15 65 z (^325)
Las variables básicas son ahora x 2 45 , x 1 85 , y la solución factible asociada es z 8 5
Observemos que el hecho de comparar los cocientes (^) abiji garantiza que todos los bi se mantengan positivos. En el caso de habernos equivocado en la elección, alguno de los términos independientes (los bi ) se hará negativo al triangular, con lo que nos damos cuenta del error y rehacemos. Esta condición garantiza que el vector hallado pertenezca a la región R: la solución siempre tiene todas sus variables no básicas iguales a 0, y las básicas son iguales a los coeficientes independientes, que son positivos. (Observar que si se verifica el sistema R , como las variables de holgura son positivas, también se verifica R .)
7. Nos fijamos si queda algún indicador positivo. ¡No! Eso nos dice que el diagrama anterior es un diagrama terminal , y que la solución asociada al mismo nos da la solución del problema del máximo. El hecho de que no queden indicadores positivos significa que no se puede incrementar el valor de z. Veámoslo en este caso. De la última fila de la tabla inferimos que:
z 325 0 x 1 0 x 2 15 s 1 65 s 2.
Para incrementar el valor de z , las variables que no están multiplicadas por 0 deberían ser negativas, lo que no puede suceder en nuestra región.
La solución asociada a la tabla final es x 2 45 , x 1 85 y s 1 s 2 0 , siendo
z 325.
Observemos que alterar los valores de las variables básicas no cambiaría el valor de z , ya que sus coeficientes son 0 , y cambiar el de las no básicas disminuiría el valor de la función (recordar que son mayores o iguales a cero). Por lo tanto, se ha alcanzado el máximo.
1. MAXIMIZAR z x 1 2 x 2 sujeta a R
x 1 4 x 2 1 3 x 1 2 x 2 6 x 1 0 , x 2 0
Observemos que nuestra restricción es la región del plano:
x
y
R
1
3
z crece
Solución: Construimos primero
x 1 4 x 2 s 1 1 3 x 1 2 x 2 s 2 6 x 1 0 , x 2 0 s 1 0 , s 2 0
(Este paso se puede saltear si no nos equivocamos al construir la tabla inicial.) La tabla inicial es
x 1 x 2 s 1 s 2 1 4 1 0 1 s 1 3 2 0 1 6 s 2 1 2 0 0 z
Aplicando el método -elegiendo como indicador a c 1 - llegamos a la siguiente tabla
x 1 x 2 s 1 s 2 1 4 1 0 1 x 1 0 10 3 1 9 s 2 0 6 1 0 z 1
No es tabla final dado que queda un indicador positivo: c 2 6 0. Pero no se puede seguir aplicando el método pues no hay coeficientes positivos en la columna de este pivote. La solución factible asociada a esta tabla es z 1, 0 1. Observemos que z 1 6 x 2 s 1 , luego, si hacemos s 1 0 entonces z 1 6 x 2 ,
x 1 x 2 x 3 s 1 s 2 s 3 0 35 25 1 0 15 325 s 1
0 14 1 0 54 12 11 x 3
1 25 35 0 0 15 435 x 1 0 165 15 0 0 35 z (^1295)
x 1 x 2 x 3 s 1 s 2 s 3 0 12 0 1 12 0 2 s 1
0 14 1 0 54 12 11 x 3
1 14 0 0 34 12 2 x 1 0 134 0 0 14 12 z 28
Ahora, las variables básicas s 1 2 , x 3 11 , x 1 2 , las no básicas s 3 s 2 x 2 0 y z 28 Como no queda ningún indicador positivo, esta tabla es final y el valor obtenido de z es el máximo.
Luego, z alcanza su máximo valor en 2, 0, 11, siendo z 2, 0, 11 28.
3. Hallar el máximo de f x y z sujeta a
x z 5 x y 12 y z 8 x 2, y 3, z 0
Solución: Este no es un problema estándar de máximización, ya que tenemos las condiciones x 2 e y 3 en lugar de x 0 , y 0. Como es frecuente al resolver problemas, tratamos de ¨llevar ¨ un problema nuevo que no sabemos resolver, a otro que sí sabemos. Para esto, observamos que si x 2 , y 3 entonces x 2 0, y 3 0. Esto induce a hacer el cambio de variables x 1 x 2, y 1 y 3. Para unificar la notación, ponemos z 1 z. Debemos reescribir el sistema en función de las nuevas variables. Despejamos entonces: x 1 2 x , y 1 3 y y sustituimos en el sistema original, obteniendo:
x 1 2 z 1 5 x 1 2 y 1 3 12 y 1 3 z 1 8 x 1 0, y 1 3, z 1 0
el cual reescribimos:
x 1 z 1 3 x 1 y 1 7 y 1 z 1 5 x 1 0, y 1 0, z 1 0
La función a maximizar es f x y z x 1 2 y 1 3 z 1 x 1 y 1 z 1 1. Entonces: f 1 x 1 y 1 z 1. Armamos ahora la tabla inicial en función de las nuevas variables y pivoteamos:
x 1 y 1 z 1 s 1 s 2 s 3 1 0 1 1 0 0 3 s 1 1 1 0 0 1 0 7 s 2
0 1 1 0 0 1 5 s 3 1 1 1 0 0 0 f 1
x 1 y 1 z 1 s 1 s 2 s 3 1 0 1 1 0 0 3 s 1 1 0 1 0 1 1 2 s 2 0 1 1 0 0 1 5 y 1 1 0 0 0 0 1 f 6
obteniendo ya la tabla final. El máximo se alcanza en x 1 0 , y 1 5 , z 1 0 siendo f 6. Volviendo a las variables originales, x 2 0 , y 3 5 , z 0. Esto es, x 2 , y 8 , z 0. Observemos que efectivamente, como f x y z , resulta que el máximo de f es 2 8 0 6. Entonces,
f alcanza su máximo valor para x 2 , y 8 , z 0 , siendo f 6 el valor máximo.
4. Hallar el máximo de f 3 x 3 y en la región R :
x y 6 y 4 x 0, y 0
Solución: Como éste es un problema de dos variables, podemos resolverlo por el método gráfico. La región es acotada:
y
x
6
6
4
vertices 3x+3y (0,0) (6,0) (2,4) (0,4)
0 18 18 12
El valor máximo se alcanza en esta arista
Veamos ahora cómo nos damos cuenta, aplicando el método símplex, que la solución se alcanza en una arista. La tabla inicial y el pivoteo es muy sencillo:
x y s 1 s 2 1 1 1 0 6 s 1 0 1 0 1 4 s 2 3 3 0 0 f
x y s 1 s 2 1 1 1 0 6 x 0 1 0 1 4 s 2 0 0 3 0 f 18
De acá obtenemos que
f alcanza su máximo valor para x 6 e y 0 , siendo f 18 el valor máximo.
Las variables básicas son x y s 2. Observemos que, a pesar de que la tabla es final y ya hallamos el máximo, podríamos seguir pivotenando , y convertir la
sujeta a
x 3 z 0 x y z 0 x y z 600 x 0, y 0, z 0
. La tabla inicial es:
x y z s 1 s 2 s 3 1 0 3 1 0 0 0 s 1
1 1 1 0 1 0 0 s 2 1 1 1 0 0 1 600 s 3 2 3 4 0 0 0 G
Pivoteamos:
x y z s 1 s 2 s 3 2 3 0 1 3 0 0 s 1 1 1 1 0 1 0 0 z 2 0 0 0 1 1 600 s 3 6 1 0 0 4 0 f
x y z s 1 s 2 s 3 1 32 0 12 32 0 0 s 1
1 1 1 0 1 0 0 z 2 0 0 0 1 1 600 s 3 6 1 0 0 4 0 f
x y z s 1 s 2 s 3 1 32 0 12 32 0 0 x
0 12 1 12 12 0 0 z 0 3 0 1 2 1 600 s 3 0 8 0 3 5 0 G
x y z s 1 s 2 s 3 1 32 0 12 32 0 0 x 0 12 1 12 12 0 0 z
0 1 0 13 23 13 200 s 3
0 8 0 3 5 0 G
x y z s 1 s 2 s 3 1 32 0 12 32 0 0 x
0 12 1 12 12 0 0 z
0 1 0 13 23 13 200 s 3 0 8 0 3 5 0 G
x y z s 1 s 2 s 3 1 0 0 0 12 12 300 x
0 0 1 13 16 16 100 z 0 1 0 13 23 13 200 y
0 0 0 13 13 83 G 1600
donde obtenemos que la ganancia máxima posible es de $1600 , y
se consigue fabricando 300 remeras de tamaño P, 200 de M y 100 de G.
Ejemplo de un problema de mínimo Queremos ahora MINIMIZAR z 2 x 3 y 4 z (observar que z-G del ejemplo anterior)
sujeto a las mismas condiciones que el ejemplo anterior :
x 3 z 0 x y z 0 x y z 600 x 0, y 0, z 0
Buscar el mínimo de z es buscar a , b , c R tal que para todo x , y , z R se verifique:
m z a , b , c z x , y , z .
Pero esto equivale a buscar a , b , c R tal que para todo x , y , z R se verifique:
m z a , b , c z x , y , z .
Si consideramos la función z 2 x 3 y 4 z , el problema de hallar el mínimo de z en R
equivale a hallar el máximo de z en R , siendo
max z M m min z.
Luego,
z alcanza su valor mínimo en 300, 200, 100, siendo este valor: 1600.
Verificamos: z 300, 200, 100 2 300 3 200 4 100 1600.
Este procedimiento lo podemos aplicar en general:
MÉTODO : El problema:
“calcular el MÍNIMO de una función z en una región R del tipo
se puede resolver siguiendo los siguientes pasos:
1. Hallar el máximo M de z , obteniendo z a , b , c M.
z
z M
De aquí,
max z M
2. Deducimos que el mínimo de z es m M , siendo z a , b , c M m. Esto es,
min z M.
Solución
Planteamos el problema de MAXIMIZAR z 2 x y sujeta a
x y 4 x y 1 x 0, y 0
y lo resolvemos, .( no debemos olvidar que, aunque el problema planteado sea de
minimizar, para aplicar el método simplex primero debemos convertirlo en un problema
apropidado de maximización, y por último, debemos buscar la respuesta del problema
original).
Como es de dos variables, podemos elegir hacerlo gráficamente o por método simplex.
Eligimos la segunda opción, planteamos la tabla inicial y pivoteamos.
x 1 x 2 s 1 s 2 1 1 1 0 4 s 1 1 1 0 1 1 s 2 2 1 0 0 z
x 1 x 2 s 1 s 2 0 2 1 0 3 s 1 1 1 0 1 1 x 1 0 1 0 2 z 2
x 1 x 2 s 1 s 2 0 1 12 0 32 s 1 1 1 0 1 1 x 1 0 1 0 2 z 2
x 1 x 2 s 1 s 2 0 1 12 0 32 x 2
1 0 12 1 52 x 1
0 0 12 2 z (^72)
Entonces: z alcanza su máximo en x 1 52 y x 2 32 , siendo z 52.
La respuesta a nuestro problema es:
z alcanza su mínimo en x 1 52 y x 2 32 , siendo z 52.
-z=7/
-z=
En este vértice, -z alcanza su máximo y z alcanza su mínimo.
Problema dual.
Ejercicio
1. Un comerciante fabrica colchas Súper y Estándar, con cuero y gamuza. Cada colcha Súper lleva 4 rollos de cuero y 3 de gamuza, y cada colcha Estándar lleva 2 rollos de cuero y 1 de gamuza. El comerciante tiene un stock de 16 rollos de cuero y 9 de gamuza, y piensa vender cada colcha Súper a $42 y cada colcha Estándar a $18. ¿Cuántas colchas de cada tipo debe fabricar para maximizar los ingresos?
2. El mismo comerciante se cansó de fabricar colchas y le quiere vender todos los rollos de cuero y gamuza a un comprador. Pretende hacer su venta de manera que con el material que hubiera usado en cada colcha obtenga al menos lo mismo que si las hubiera fabricado. Se quiere saber cuál es el precio que debe fijar por rollo para que el comprador pague lo menos posible y que él pueda satisfacer sus pretenciones.
Solución
1. Llamemos x 1 a la cantidad de colchas Súper que debe fabricar, y x 2 a la cantidad de colchas Estándar. Las restricciones de stock son: para el cuero, 4 x 1 2 x 2 16 , y para la gamuza, 3 x 1 x 2 9. La función ganancia es f 42 x 1 18 x 2. El problema entonces es:
MAXIMIZAR f 42 x 1 18 x 2 sujeta a
4 x 1 2 x 2 16 3 x 1 x 2 9 x 1 0 x 2 0
(restricción de stock por el cuero) (restricción de stock por la gamuza)
La tabla inicial es:
x 1 x 2 s 1 s 2 4 2 1 0 16 s 1 3 1 0 1 9 s 2 42 18 0 0 f
Elegimos como pivote a 21 3 y pivoteamos:
x 1 x 2 s 1 s 2 4 2 1 0 16 s 1 1 13 0 13 3 s 2
42 18 0 0 f
x 1 x 2 s 1 s 2 0 23 1 34 4 s 1 1 13 0 13 3 x 1
0 4 0 14 f 126
Como queda un indicador positivo, debemos seguir pivoteando. Ahora el pivote es a 12 (^23) :
MINIMIZAR g 16, 9
y 1 y 2
sujeta a
y 1 y 2
y 1 y 2
Estos problemas son problemas duales : observemos primero cómo se puede construir uno
a partir del otro.
Los tipos de colchas y los materiales con que están construidas ¨han invertido roles¨.
En el primero, las restricciones son de stock (materiales), y las variables representan
colchas.
En el segundo, las restricciones hacen referencia a los precios de las colchas, y las
variables representan los precios de los materiales.
El teorema que viene a continuación muestra cómo son en general los problemas duales.
Más aún, muestra la relación entre las soluciones de ambos.
Teorema de Dualidad Si A Rmxn , X x 1 ,... , xn , Y y 1 ,... , ym , b b 1 ,... , bm , c c 1 ,... , cn los
problemas
MAXIMIZAR f c Xt^ sujeto a R
AXt^ b t X 0
MINIMIZAR g b Yt^ sujeto a R ^
AtYt^ c t Y 0
se llaman problemas duales y se verifica que
X 0 es solución óptima de f si y sólo si Y 0 es solución óptima de g
siendo:
f X 0 g Y 0 Notar que las regiones de factibilidad de ambos problemas no coinciden.
En general, suele llamarse R a la región del problema original -que puede ser tanto el de
máximo como el de mínimo- y R ^ a la región del problema dual; así mismo, si f es la
función del problema original, la del problema dual suele notarse f .
1. Hallar, por el método símplex, el MÍNIMO de g 3 y 1 2 y 2 sujeta a
5 y 1 y 2 10 2 y 1 2 y 2 12 y 1 4 y 2 12 y 1 0 , y 2 0
Solución: Usando la notación matricial, podemos poner:
g (^3 )
y 1 y 2
y 1 y 2
El problema dual es:
MAXIMIZAR f (^10 12 )
x 1 x 2 x 3
sujeto a R ^
x 1 x 2 x 3
o, equivalentemente, es:
MAXIMIZAR f 10 x 1 12 x 2 12 x 3 en la región R ^
5 x 1 2 x 2 x 3 3 x 1 2 x 2 4 x 3 2 x 1 0 , x 2 0 , x 3 0
Resolvemos este último problema.
x 1 x 2 x 3 s 1 s 2 5 2 1 1 0 3 s 1 1 2 4 0 1 2 s 2 10 12 12 0 0 f
x 1 x 2 x 3 s 1 s 2 1 25 15 15 0 35 s 1
1 2 4 0 1 2 s 2 10 12 12 0 0 f
x 1 x 2 x 3 s 1 s 2 1 25 15 15 0 35 x 1 0 85 195 15 1 75 s 2
0 8 10 2 0 f 6
x 1 x 2 x 3 s 1 s 2 1 25 15 15 0 35 x 1
0 1 198 18 58 78 s 2
0 8 10 2 0 f 6
x 1 x 2 s 1 s 2 s 3 0 34 1 1 0 6 s 1
1 14 0 1 0 4 x 1 0 14 0 1 1 2 s 3
0 54 0 3 0 f ^ 12
x 1 x 2 s 1 s 2 s 3 0 1 43 43 0 8 x 2 1 14 0 1 0 4 x 1
0 14 0 1 1 2 s 3 0 54 0 3 0 f ^ 12
x 1 x 2 s 1 s 2 s 3 0 1 43 43 0 8 x 2 1 0 13 43 0 2 x 1
0 0 13 23 1 0 s 3 0 0 53 43 0 f ^ 22
Luego,
minf 22 f( 53 , 43 ,0)
-chequear en la expresión de f. Observar que también: f(2,8)22.
2. Hallar la solución del problema dual de
" MAXIMIZAR f x y , sujeta a
x y 1 x 2 y 3 2 x y 3 x y 1 x 0 y 0
Solución: Primero planteamos la tabla inicial, y elegimos pivote:
x 1 x 2 s 1 s 2 s 3 s 4 1 1 1 0 0 0 1 s 1 1 2 0 1 0 0 3 s 2 2 1 0 0 1 0 3 s 3 1 1 0 0 0 1 1 s 4
1 1 0 0 0 0 f
x 1 x 2 s 1 s 2 s 3 s 4 0 0 1 0 0 1 2 s 1 0 1 0 1 0 1 4 s 2
0 1 0 0 1 2 1 s 3 1 1 0 0 0 1 1 x 1 0 2 0 0 0 1 f 1
x 1 x 2 s 1 s 2 s 3 s 4 0 0 1 0 0 1 2 s 1 0 0 0 1 1 3 3 s 2 0 1 0 0 1 2 1 x 2 1 0 0 0 1 1 2 x 1 0 0 0 0 2 3 f 3
x 1 x 2 s 1 s 2 s 3 s 4 0 0 1 0 0 1 2 s 1
0 0 0 13 31 1 1 s 2
0 1 0 0 1 1 1 x 2 1 0 0 0 1 2 2 x 1 0 0 0 0 2 3 f 3
Observemos que el coeficiente c 6 3 es positivo, por lo tanto, debemos seguir:
x 1 x 2 s 1 s 2 s 3 s 4 0 0 1 31 13 0 1 s 1
0 0 0 13 31 1 1 s 2 0 1 0 23 13 0 3 x 2
1 0 0 13 23 0 3 x 1 0 0 0 1 1 0 f 6
Ahora sí, es tabla final. La solución de MINIMIZAR
f y 1 , y 2 , y 3 , y 4 y 1 3 y 2 3 y 3 y 4 sujeta a R ^
y 1 y 2 2 y 3 y 4 1 y 1 2 y 2 y 3 y 4 1 y 1 0 y 2 0 y 3 0 y 4 0
es
f 0, 1, 1, 0 6.
3. Una señora quiere elaborar un programa mensual de actividades que incluya clases de idiomas: inglés y portugués, y artísticas: dibujo y música. El costo de las mismas es de $11, $10, $9 y $8 respectivamente. Quiere emplear en total por lo menos 40 horas al mes y planea dedicar a las clases de idiomas por