53
UNIDAD 3 "PROGRAMACIÓN LINEAL MÉTODO SIMPLEX" OBJETIVO: EL ALUMNO APLICARÁ EL MÉTODO SIMPLEX PARA RESOLVER PROBLEMAS EN TODO TIPO DE INDUSTRIAS ALIMENTARIAS PROGRAMACION LINEAL MÉTODO SIMPLEX Los problemas reales de programación lineal generalmente tienen variables de decisión y muchas restricciones. Tales problemas no pueden ser resueltos gráficamente. Se usan algoritmos tales como el simplex. El método simplex es un procedimiento iterativo que progresivamente permite obtener una solución óptima para los problemas de programación lineal. Existen numerosos programas tanto para computadoras centrales como para personales. Aunque el método simplex es especialmente útil en problemas de gran escala (resueltos con una computadora), en seguida se practicará en el caso del mismo problema que fue resuelto gráficamente en el ejemplo sobre la empresa química “Chemical”. Procedimiento general del simplex 1. Establézcase la tabla inicial de simples. Formular la función objetivo y las restricciones e introducir las variables de decisión, variable en la solución, valor en solución (LD), C (contribución de la variable), Z (costo de introducir la variable), C Z (contribución neta de la variable). 2. Selecciónese la columna pivote. Ésta es la columna con el número positivo más grande en el renglón inferior (C - Z). Esta se convierte en la nueva variable de la solución. 3. Selecciónese el renglón pivote. Éste es el renglón con la razón más pequeña del valor LD dividido por el valor de la columna pivote. Úsense sólo números positivos. Esto identifica la variable que deja la solución. 4. Enciérrese en un círculo el elemento pivote. Ésta es la intersección del renglón y la columna pivotes. 5. Conviértase al elemento pivote en un 1. Hágase esto dividiendo cada valor del renglón pivote entre el valor pivote. Métase este renglón en una tabla nueva. 6. Genérense los demás renglones de la nueva tabla con ceros en la columna pivote. Esto se hace multiplicando el nuevo renglón (del paso 5) por el negativo del elemento en la columna pivote. El resultado será sumado al antiguo renglón. Introdúzcase este renglón revisado en la nueva tabla, y

Unidad3 metodo simplex

Embed Size (px)

Citation preview

UNIDAD 3

"PROGRAMACIÓN LINEAL MÉTODO SIMPLEX"

OBJETIVO:

EL ALUMNO APLICARÁ EL MÉTODO SIMPLEX PARA RESOLVER

PROBLEMAS EN TODO TIPO DE INDUSTRIAS ALIMENTARIAS

PROGRAMACION LINEAL MÉTODO SIMPLEX

Los problemas reales de programación lineal generalmente tienen variables de

decisión y muchas restricciones. Tales problemas no pueden ser resueltos

gráficamente. Se usan algoritmos tales como el simplex. El método simplex es un

procedimiento iterativo que progresivamente permite obtener una solución óptima

para los problemas de programación lineal. Existen numerosos programas tanto

para computadoras centrales como para personales. Aunque el método simplex es

especialmente útil en problemas de gran escala (resueltos con una computadora),

en seguida se practicará en el caso del mismo problema que fue resuelto

gráficamente en el ejemplo sobre la empresa química “Chemical”. Procedimiento

general del simplex

1. Establézcase la tabla inicial de simples. Formular la función objetivo y las restricciones e introducir las variables de decisión, variable en la solución, valor en solución (LD), C (contribución de la variable), Z (costo de introducir la variable), C – Z (contribución neta de la variable).

2. Selecciónese la columna pivote. Ésta es la columna con el número positivo más grande en el renglón inferior (C - Z). Esta se convierte en la nueva variable de la solución.

3. Selecciónese el renglón pivote. Éste es el renglón con la razón más pequeña del valor LD dividido por el valor de la columna pivote. Úsense sólo números positivos. Esto identifica la variable que deja la solución.

4. Enciérrese en un círculo el elemento pivote. Ésta es la intersección del renglón y la columna pivotes.

5. Conviértase al elemento pivote en un 1. Hágase esto dividiendo cada valor del renglón pivote entre el valor pivote. Métase este renglón en una tabla nueva.

6. Genérense los demás renglones de la nueva tabla con ceros en la columna pivote. Esto se hace multiplicando el nuevo renglón (del paso 5) por el negativo del elemento en la columna pivote. El resultado será sumado al antiguo renglón. Introdúzcase este renglón revisado en la nueva tabla, y

continúese este procedimiento en cada renglón de la sección central de la tabla.

7. Prueba de optimización. Calcúlense los valores de Z y C – Z. Los valores de Z de cada columna son (elementos de la columna) ( C ). Si todos los valores de C – Z son ≤ 0, la solución es óptima. Léanse los valores de las variables en la solución de la columna de LD y el valor de la función objetivo del renglón de Z en la columna de LD. Si la solución no es óptima, regrese al paso 2.

3.1 TEORIA Y FUNDAMENTOS DEL MÉTODO SIMPLEX

Este método busca la solución, en cada paso, de forma mejorada hasta que no pueda seguir mejorando dicha solución. Al comienzo el vértice principal es un vértice cualquiera, hasta que va mejorando, comparándolo con el vértice anterior, en los pasos de la ecuación. El método Simplex se basa en la siguiente propiedad: si la función objetivo, f, no toma su valor máximo en el vértice A, entonces hay una arista que parte de A, a lo largo de la cual f aumenta. Deberá tenerse en cuenta que este método sólo trabaja para restricciones que tengan un tipo de desigualdad "≤" y coeficientes independientes mayores o iguales a 0, y habrá que estandarizar las mismas para el algoritmo. En caso de que después de éste proceso, aparezcan (o no varíen) restricciones del tipo "≥" o "=" habrá que emplear otros métodos, siendo el más común el método de las Dos Fases.

Se considera el programa lineal en su forma canónica Máx Z = cX Sujeto a

Donde A es de orden m por n; cX son vectores renglón y columna respectivamente con n componentes y b es un vector columna con m componentes. Se denotan a las columnas de A por a1,a2,...,an con m < n. Se considera a la matriz A partida en dos matrices, una B con m vectores linealmente independientes y otra n con n-m vectores linealmente dependientes:

Am,n = (Bm,m Nm,n-m)

La matriz B se le llamará la base y cualquier vector aj en A que no está en B, puede escribirse como una combinación de los vectores de b. Es decir dado

Este puede escribirse como

donde

i=1,...,m. Se hace

Por lo que y como B tiene inversa B-1, Yj = B-1 aj Considerando las restricciones originales del programa lineal

AX = b Se tiene que

(B|N) (XB/XN) = b donde

Entonces desarrollando se tiene

BXB+NXN = b Si se hace uso de la definición de solución básica factible se tiene que

Y la desarrollada anteriormente se convierte en

Que es una solución básica de . El vector se le denomina vector

básico y a , vector no básico. Si se parte el vector de costos o precios unitarios c en

Se tiene que la función objetivo puede escribirse

porque

3.1.1 ALGEBRA DEL MÉTODO SIMPLEX

Paso 1 Convertir el LP a suma forma estándar. Paso 2 Encontrar una solución básica factible. Si todas las restricciones son de tipo =<se pueden usar las variables de holgura si para cada la i. Paso 3 Si todas las variables no básicas tienen un coeficiente no negativo en la 0, la bfs actuales óptima. Si hay variables en la 0 con coeficientes negativos, se debe escoger la que acompañe al coeficiente más negativo en la 0 para entrar a la base. Esta variable se denomina la variable entrante. Paso 4 Emplear el pivoteo para hacer que la variable entrante ingrese a la base en la que restringido su valor. Una vez obtenida la base, volver al paso 3, empleando la forma canoníca actual. Solución factible Una solución basal de (2.3) en el cual todas las variables son no negativas es una Solución basal factible o bfs. Los siguientes dos teoremas explican la importancia de concepto de solución basal factible en LP. Teorema 1 La región factible para cualquier problema de programación lineal es un conjunto convexo. Además, si un LP tiene solución óptima, el óptimo debe ser un punto extremo de la región factible. La justificación del Teorema 1 fue discutida intuitivamente cuando se estudió la resolución grafica de LP de dos variables, además en dos variables también se vio que el ¶optimo corresponde un punto extremo. Teorema 2 Para cualquier LP, existe un único punto extremo de la región factible correspondiente a cada solución basal factible. Además, existe a los menos una bfs correspondiente a cada punto extremo de la región factible.

Solución básica factible Siempre se debe incorporar una variable entrante en la que controla su valor máximo. En el ejemplo, para hacer que x1 sea la variable basal en la 3 se debe emplear operaciones las elementales para conseguir que x1 tenga coeficiente 1 en dicha la y 0 en las otras las. El procedimiento se denomina pivoteo en la 3. El resultado es que x1 reemplace a s3 como variable básica de la 3. Los pasos a seguir son los siguientes: Paso 1 Se crea un coeficiente 1 para x1 en la 3 multiplicando la completa por ½. El resultante de la operación es: x1 + 0;75x2 + 0;25x3 + 0;5s3 = 4 Paso 2 Se crea un coeficiente 0 para la variables x1 en la 0. Para ello basta multiplicar por 60 (3.12) y sumarla a la 0 actual: z + 15x2 ¡ 5x3 + 30s3 = 240 Paso 3 Para fabricar un coeficiente 0 para la variables x1 en la 1 se multiplica por ¡8 (3.12) y se suma a la 1 actual: ¡x3 + s1 ¡ 4s3 = 16 Paso 4 Creamos un coeficiente 0 para la variables x1 en la ¯la 2 multiplicando por ¡4 (3.12) y sumándosela a la ¯la 2 actual: ¡x2 + 0;5x3 + s2 ¡ 2s3 = 4 Debido a que en la 4 no aparece la variable x1, no es necesario aplicar operaciones las para eliminar x1 de la. Luego, la 4 queda igual que antes: x2 + s4 = 5 Efectuando todas las medicaciones descritas se completa el Cuadro 3.3. Las variables basales y no basales en este caso definen los siguientes conjuntos: BV = fz; s1; s2; x1; s4g NBV = fs3; x2; x3g Variable entrante: Se puede comenzar a desarrollar con cualquier variable solo que según la que tome se realizaran más o menos iteraciones. Se recomienda usar las variables básicas, ya que estas serán la base en la solución en estos métodos. Variable saliente

Igualmente se puede comenzar con cualquiera de ellas, aunque se puede dar el

caso corrido de caer en un ciclo repetitivo. Para que no ocurran estos casos de

repetición no se tomaran en cuenta las variables básicas haciendo que siempre

estén en la base. En caso de igualdad de las variables se, en el segundo método,

se tomara las variables artificiales.

3.1.2 VARIABLES BÁSICAS, NO BÁSICAS E INDICADORES

OBTENCIÓN DE UNA SOLUCIÓN BÁSICA FACTIBLE.

Recuérdese que el objetivo general del método símplex es obtener una

sucesión de soluciones básicas factibles mejoradas hasta alcanzar la solución

optima.

La solución básica que resulta es la solución de m ecuaciones

[A , I] SX

X = b,

en las que n variables no básicas del conjunto de (n + m) elementos de SX

X

se igualan a cero. Cuando se eliminan estas n variables igualadas a cero queda un

conjunto de m ecuaciones con m incógnitas ( las variables básicas). Este sistema

de ecuaciones se puede denotar por B XB = b, donde el vector de variables básicas

XB =

Bm

B

B

X

X

X

2

1

Se obtiene al eliminar las variables no básicas de SX

X y la matriz básica

B =

MNMM

N

N

BBB

BBB

BBB

21

22221

11211

se obtiene al eliminar las columnas correspondientes a los coeficientes de las

variables no básicas de [A , I].

Para resolver B XB = b , ambos lados se multiplicaran por B-1:

B-1 B XB = B-1 b

Como B-1 B = 1, la solución deseada para las variables básicas es XB = B-1 b. Sea

CB el vector obtenido al eliminar los coeficientes de las variables no básicas de [ C

, 0 ] y al reordenar los elementos para que coincidan con los de XB , entonces el

valor de la función objetivo para esta solución básica es.

Z = CB XB = CB B-1 b

Ejemplo Wyndor Glass.

C = 53 , IA =

10023

01020

00101

, b =

18

12

4

X = 2

1

X

X, XS =

5

4

3

X

X

X

Iteración 0

XB =

5

4

3

X

X

X

, B =

100

010

001

= B-1, así

5

4

3

X

X

X

=

100

010

001

18

12

4

=

18

12

4

CB = 000 así Z = 000

18

12

4

= 0

Iteración 1

XB =

5

2

3

X

X

X

, B =

120

020

001

, B-1 =

110

02

10

001

Así

5

2

3

X

X

X

=

110

02

10

001

18

12

4

=

6

6

4

CB = 050 así Z = 050

6

6

4

= 30

Iteración 2

XB =

1

2

3

X

X

X

, B =

320

020

001

, B-1 =

3

1

3

1

2

1

3

1

3

1

0

00

1

Así

1

2

3

X

X

X

=

3

1

3

1

2

1

3

1

3

1

0

00

1

18

12

4

=

2

6

2

CB = 350 así Z = 350

2

6

2

= 36

FORMA MATRICIAL DEL CONJUNTO DE ECUACIONES ACTUALES

Para el conjunto original de ecuaciones, la forma matricial es

IA

c

0

01

SX

X

Z

= b

0

Después de cualquier iteración, XB = B-1 b y Z = CB B-1 b, por lo que el lado derecho

de las ecuaciones se ha convertido en

BX

Z = 10

1 1

B

BCB

b

0 =

bB

bBCB

1

1

Entonces, las operaciones algebraicas en ambos lados del conjunto de

ecuaciones original resultaron equivalentes al premultiplicarlos por esta misma

matriz. Como la forma matricial que se busca

10

1 1

B

BCB

IA

c

0

01 =

11

11

0

1

BAB

BCcABC BB

para el conjunto de ecuaciones después de cualquier iteración es

11

11

0

1

BAB

BCcABC BB

SX

X

Z

= bB

bBCB

1

1

Tabla inicial y final del símplex en forma matricial

Iteración

Variable

básica

Ec.

núm.

Coeficiente de Lado

Derecho Z Variables

original

Variable

de holgura

0

Z 0 1 -C 0 0

XB 1-m 0 A I b

Cualquier

a

Z 0 1 CBB-1 A -C CBB-1 CBB-1b

XB 1-m 0 B-1 A B-1 B-1b

3.1.3 MAXIMIZACIÓN Y Minimización

EJEMPLO DE MAXIMIZACIÓN UTILIZANDO EL MÉTODO SIMPLEX

Continuando con el problema anterior los pasos para resolver el problema por el método simplex son: 1. Expresar el problema en forma estándar Max 40F + 30S + S1 + S2 + S3

0.4F +0.5S + S1 = 20 0.2S + S2 = 5 0.6F +0.3S +S3 = 21 F,S,S1,S2,S3 >= 0 2. Obtener el renglón z que consiste en convertir al función objetivo en valores negativos. Max z = 40F+30S+S1+S2+S3 z = -40F-30S = O 3. Resumir la forma estándar en una tabla simplex

4. Se encuentran las intersecciones de la primera variable (la más negativa) para determinar el renglón pivote. En este caso se toma la columna donde se encuentra el -40 y cada uno de los valores de la solución se divide dentro de los valores de dicha columna, escogiendo el menor valor y toda esa fila se convertirá en la fila pivote como se puede observar en la siguiente tabla:

5. Se hacen los cálculos correspondientes a. La nueva fila pivote es la S3 el objetivo es convertir el valor de 0.6 en 1 para lo cual se divide toda la fila dentro de 0.6 y se coloca en la nueva tabla. b. El resto de valores que se encuentran arriba o abajo de 0.6 deben convertirse en 0. Para este caso se desea convertir el 0.4 en 0 por lo cual se convierte el 0.4 en negativo se multiplica por el valor correspondiente en la nueva fila pivote que es 1 y se le suma el valor de esa posición en la tabla antigua que en este caso es 0.4 en resumen (-0.4*1+0.4 = 0) y asi sucesivamente con cada una de las filas:

6. Como no se tienen todavía las variables de z en positivo, entonces hay que repetir los pasos 4 y 5 hasta que todos los valores de z sean positivos:

Como se puede observar en la tabla anterior todos los valores de z son positivos, lo cual quiere decir se ha llegado a encontrar la solución óptima del problema que es producir 20 toneladas de aditivo para combustible y 25 toneladas de base para solvente para obtener una ganancia máxima de $ 1,600*. * Si observa se obtuvieron los mismos resultados que el método gráfico y algebraico anteriormente descritos EJEMPLO DE UN PROBLEMA DE MINIMIZACIÓN

Consideremos un modelo de Programación Lineal en su forma estandar, que denotaremos en lo que sigue por:

Min c1x1 + c2x2 + … + cnxn

sa 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

sa Ax = b

x >= 0

No existe pérdida de generalidad en asumir que un modelo de PL viene dado en su forma estándar.

3.1.4 FILAS Y COLUMNAS PIVOTANTES

Encontrar la variable de decisión que entra en la base y la variable de holgura que sale de la base

A. Para escoger la variable de decisión que entra en la base, nos fijamos en la última fila, la de los coeficientes de la función objetivo y escogemos la variable con el coeficiente negativo mayor (en valor absoluto). En nuestro caso, la variable x de coeficiente - 3.

Si existiesen dos o más coeficientes iguales que cumplan la condición anterior, entonces se elige uno cualquiera de ellos.

Si en la última fila no existiese ningún coeficiente negativo, significa que se ha alcanzado la solución óptima. Por tanto, lo que va a determinar el final del proceso de aplicación del método del simplex, es que en la última fila no haya elementos negativos.

La columna de la variable que entra en la base se llama columna pivote (En color azulado).

B. Para encontrar la variable de holgura que tiene que salir de la base, se divide cada término de la última columna (valores solución) por el término correspondiente de la columna pivote, siempre que estos últimos sean mayores que cero. En nuestro caso: 18/2 [=9] , 42/2 [=21] y 24/3 [=8]

Si hubiese algún elemento menor o igual que cero no se hace dicho cociente. En el caso de que todos los elementos fuesen menores o iguales a cero, entonces tendríamos una solución no acotada y no se puede seguir.

El término de la columna pivote que en la división anterior dé lugar al menor cociente positivo, el 3, ya 8 es el menor, indica la fila de la variable de holgura que sale de la base, d. Esta fila se llama fila pivote (En color azulado).

Si al calcular los cocientes, dos o más son iguales, indica que cualquiera de las variables correspondientes pueden salir de la base.

C. En la intersección de la fila pivote y columna pivote tenemos el elemento pivote operacional,

3.2 SOLUCIÓN DE PROBLEMAS POR EL MÉTODO SIMPLEX

En la solución gráfica observamos que la solución óptima está asociada siempre con un punto extremo del espacio de soluciones. El método simplex está basado fundamentalmente en este concepto.

Careciendo de la ventaja visual asociada con la representación gráfica del espacio de soluciones, el método simplex emplea un proceso interativo que principia en un punto extremo factible, normalmente el origen, y se desplaza sistemáticamente de un punto extremo factible a otro, hasta que se llega por último al punto óptimo.

Existen reglas que rigen la selección del siguiente punto extremo del método simplex: 1. El siguiente punto extremo debe ser adyacente al actual. 2. La solución no puede regresar nunca a un punto extremo considerado con la anterioridad.

El algoritmo simplex da inicio en el origen, que suele llamarse solución inicial. Después se desplaza a un punto extremo adyacente. La elección específica de uno a otro punto depende de los coeficientes de la función objetivo hasta encontrar el punto óptimo. Al aplicar la condición de optimidad a la tabla inicial seleccionamos a Xi como la variable que entra. En este punto la variable que sale debe ser una de las variables artificiales.

Los pasos del algoritmo simplex son ( 10 ) :

1. Determinar una solución básica factible inicial. 2. Prueba de optimidad: determinar si la solución básica factible inicial es óptima y sólo si todos los coeficientes de la ecuación son no negativos ( >= 0 ). Si es así, el proceso termina; de otra manera se lleva a cabo otra interacción para obtener la nueva solución básica factible inicial. 3. Condición de factibilidad.- Para todos los problemas de maximización y minimización, variable que sale es la variable básica que tiene la razón más pequeña (positiva). Una coincidencia se anula arbitrariamente. 4. Seleccionar las variables de holgura como las variables básicas de inicio. 5. Selecciona una variable que entra de entre las variables no básicas actuales que, cuando se incrementan arriba de cero, pueden mejorar el valor de la función objetivo. Si no existe la solución básica es la óptima, si existe pasar al paso siguiente. 6. Realizar el paso iterativo. a) Se determina la variable básica entrante mediante la elección de la variable con el coeficiente negativo que tiene el valor mayor valor absoluto en la ecuación. Se enmarca la columna correspondiente a este coeficiente y se le da el nombre de columna pivote. b) Se determina la variable básica que sale; para esta, se toma cada coeficiente positivo (>0) de la columna enmarcada, se divide el lado derecho de cada renglón entre estos coeficientes, se identifica la ecuación con el menor cociente y se selecciona la variable básica para esta ecuación. c) Se determina la nueva solución básica factible construyendo una nueva tabla en la forma apropiada de eliminación de Gauss, abajo de la que se tiene. Para cambiar el coeficiente de la nueva variable básica en el renglón pivote a 1, se divide todo el renglón entre el número pivote, entonces

renglón pivote nuevo = renglón pivote antiguo número pivote

para completar la primera iteración es necesario seguir usando la eliminación de Gauss para obtener coeficientes de 0 para la nueva variable básica Xj en los otros renglones, para realizar este cambio se utiliza la siguiente fórmula:

renglón nuevo = renglón antiguo - ( coeficiente de la columna pivote X renglón pivote nuevo)

cuando el coeficiente es negativo se utiliza la fórmula:

renglón nuevo = renglón antiguo + (coeficiente de la columna pivote X renglón pivote nuevo) TABLA SIMPLEX como se capturaría la solución básica factible inicial en el siguiente ejemplo:

sea:

Maximizar Z = 2X1+4X2 sujeto a:

2X1+ X2<= 230 X1+ 2X2<= 250 X2<= 120 todas las X1,X2>=0

BASE Z X1 X2 S1 S2 S3 SOLUCIÓN RAZÓN

Z 0 -2 -4 0 0 0 0 0

S1 0 2 1 1 0 0 230 230/1

S2 0 1 2 0 1 0 250 250/2

S3 0 0 1 0 0 1 120 120/1

Seleccione la variable que entra y la variable que sale de la base:

Entra X2 y sale S3, se desarrolla la nueva tabla solución y se continua el proceso iterativo hasta encontrar la solución optima si es que está existe.

Tabla Optima:

BASE Z X1 X2 S1 S2 S3 SOLUCIÓN RAZÓN

Z 0 0 0 0 2 0 500

S1 0 0 0 1 -2 3 90

X1 0 1 0 0 1 -2 10

X2 0 0 1 0 0 1 120

Solución: Z = $500 fabricando X1=10 X2=120 Sobrante de S1 = 90 Tipo de solución: Optima Múltiple Solución de problemas en donde la solución continua no sea aplicable

Interpretación de los resultados: Veamos la salida de un modelo que involucra la planeación de la producción, en donde se desean construir mesas y sillas el recurso disponible es 30 m2 de madera por semana, 48 horas por semana; la demanda de las sillas es de 5 unidades y la de mesas de 10 unidades, la utilidad que se obtiene por las mesas es de $10 y por las sillas de $8, ademas para construir la mesa se ocupa lo siguiente: 4.5 m2 de madera por unidad, 6 horas por unidad. Para la silla se ocupan: 1.5 m2 de madera por unidad y 3 horas por cada unidad fabricada. Con esta información se desarrolla el modelo siguiente:

Max Z = 10X1+8X2 s.a. 4.5X1+1.5X2 <= 30 6.0X1+3.0X2 <= 48 toda X1,X2 >=0

El reporte final de este modelo es el siguiente (por WinQsb)

Decisión Variable

Solution Value

Unit Cost or Profit cj

Total Contributio

n

Reduced

Cost

Basis Status

Allowable Min cj

Allowable

Max cj

X1 0 10.0000 0 -6.0000 at

bound -M 16.0000

X2 16.0000 8.0000 128.0000 0 basic 5.0000 M

Objetive Functio

n (Max) = 128.0000

Constraint

Left Hand Side

Direction

Rigth Hand Side

Slack or Surplas

Shadow

Price

Allowable

Min. RHS

Allowable

Max. RHS

C1 24.0000 <= 30.0000 6.0000 0 24.0000 M

C2 48.0000 <= 48.0000 0 2.6667 0 60.0000

INTERPRETACIÓN DE LA SALIDA:

Información de la Función Objetivo:

Decision Variable (Variable de Decisión): Son las variables que se han definido en la formulación del problema en este caso representan al producto X1 = mesas y X2= sillas.

Solution Value (Valor de la solución): Cantidad de mesas y sillas a fabricar, el problema se resuelve y nos indica que para obtener la mejor solución en términos de la utilidad, se necesitan fabricar 16 sillas y no fabricar mesas.

Unit Cost or Profit (costo por unidad, Utilidad por unidad): Cantidad de pesos que vamos a ganar por cada mesa y por cada silla ($10 y $8 respectivamente.

Total Contribution (contribución total): Es la cantidad en pesos que resulta al multiplicar la utilidad de cada producto por la cantidad que se va a fabricar, ejemplo al fabricar 16 sillas y multiplicarlo por $/silla 8, la contribución es de $128.0000, así al sumar la contribución por concepto de las mesas nos arroja una aportación de $0.0000, esto resulta de hacer la operación de ($/mesa10) (0mesas)= $0.0000, finalmente la suma de 128.0000+0.0000 = $128.0000, esto es lo que se conoce como el valor de Objetive Function Max.

Reduced Cost (Costo reducido): esto nos indica el dinero que hemos dejado de ganar por cada unidad no fabricada. en este caso debemos de aumentar a mas de $6.0000 la utilidad de la mesa para que sea atractiva la fabricación de mesas.

Basis Status (estado de la base): Indica si la variable es básica o no básica, en este ejemplo la variable X1 (mesas) resulta ser no básica, esto es que no forma parte de la solución óptima, la variable X2 (sillas) es una variable básica, ya que forma parte de la solución.

Allowed Min cj (rango mínimo del cj): esta es la mínima utilidad que puedo obtener sin que la base actual cambie. (-M)

Allowed Max cj (rango mínimo del cj): esta es la máxima utilidad que puedo obtener sin que la base actual cambie. (16.0000)

los valores que aparecen son para el producto Mesa.

Interpretación de las Restricciones:

Constraint (Restricción): Son las restricciones que forman parte del problema, se tienen dos restricciones (C1 y C2) la restricción de la madera y la de horas hombre.

Left hand side (valor al lado izquierdo): esto nos indica el consumo de recurso, de 30.000 m2 de madera se consumieron 24.000 m2.

Direction (dirección): es la dirección de la restricción (<=,>= o =)

Rigth hand side (valor lado derecho): es el recurso disponible actualmente 30 m2

Slack or Surplas (holguras): nos indican un faltante o bien un sobrante

Shadow Price (precio sombra): nos indica la solución Dual, esto es que el 2.6667 indica que cada hra-hombre se debe ofrecer como mínimo en $/hr 2.6667.

Allowed Min RHS (rango mínimo del bj): esta es la mínima cantidad de recurso que se debe de mantener sin que la base actual cambie. (0 hrs-hombre)

Allowed Max RHS (rango mínimo del bj): esta es la máxima cantidad de recurso que se debe de mantener sin que la base actual cambie (60.0000 hrs-hombre)

3.2.1 Restricciones ESTÁNDAR: VARIABLES DE HOLGURA

Para la aplicación del algoritmo Símplex se transforma el modelo

de programación original, formado por restricciones funcionales de desigualdad, en

un modelo de forma estándar, integrado por restricciones de igualdad equivalentes.

Esta conversión se logra con la introducción de variables de holguras y/o superávit.

Variables de holgura. Aplica para las restricciones del tipo (<=), donde el lado

derecho de la desigualdad representa el limite sobre la disponibilidad de un recurso

y el lado izquierdo representa la utilización de ese recurso limitado que hacen las

variables del modelo. Esto quiere decir que una holgura representa la cantidad

disponible del recurso que excede a la utilización que se le da. En la conversión de

este tipo de desigualdad se añade una variable de ajuste (Xi o Hi) para convertirla

en igualdad. Por ejemplo, tenemos la siguiente restricción: 3X1 + 2X2 <= 6, su

equivalente seria, 3X1 + 2X2 + X3 = 6.

3.2.3. RESTRICCIONES NO ESTÁNDAR: VARIABLES ARTIFICIALES Y DE

SUPERÁVIT

Variables artificiales

En los problemas anteriores del método simplex hemos utilizado las variables de

holgura como una solución inicial factible. Sin embargo, si la restricción original es

una ecuación (“=”) o es del tipo ” , ya“ no tenemos una solución factible inicial

preparada.

Por lo que es necesario generar una solución inicial. La idea de utilizar Variables

Artificiales es muy simple. Es necesario sumar una variable no negativa a todas la

ecuaciones que no tengan variables básicas iniciales. Las variables agregadas

desempeñarán la misma función que una variable de holgura. Sin embargo, como

estas variables no tienen un significado físico desde el punto de vista del problema

original ( de aquí el nombre de “artificial”), el procedimiento será valido sólo si

hacemos que estas variables sean cero cuando se llegue a la tabla óptima.

Variables de superávit.

Aplica para las restricciones del tipo (>=), generalmente determinan los

requerimientos mínimos de especificaciones. Es decir, un superávit representa el

exceso minimo del lado izquierdo sobre el requerimiento mínimo de la restricción.

En la conversión de este tipo de desigualdad se resta una variable de ajuste (Xi o

Si) para convertirla en igualdad. Por ejemplo, tenemos la siguiente restricción: X1 +

3X2 >= 5, su equivalente seria, X1 + 3X2 - X3 = 5.

La solución del algoritmo Símplex se puede realizar de forma algebraica o de forma

tabular. Para los fines de este apartado se explicará el desarrollo del algoritmo en

su forma tabular. Antes de iniciar, se deben plantear algunos conceptos importantes:

variables básicas, variables no básicas, solución básica factible, variable de

entrada, variable de salida, iteración, condición de optimalidad (criterio de entrada)

y condición de factibilidad (criterio de salida).

La forma estándar de un problema de programación lineal se compone de m

ecuaciones lineales simultaneas en n incógnitas o variables, donde m es menor que

n (m < n). Este conjunto de variables se puede segmentar en dos grupos: (1) m - n

variables, a las cuales se le asigna un valor cero y (2) las restantes m variables,

cuyos valores se determinan resolviendo las m ecuaciones resultantes. Si la m

ecuaciones conducen a una única solución, estas variables se denominan

variables básicas y las n - m restantes variables se les llaman variables no básicas.

En el inicio de un algoritmo Símplex, se consideran todas las variables de holguras

y ficticias adicionadas en la forma estándar, con valores cero, procedimiento que se

denomina solución básica factible inicial. Se denomina una solución básica factible

si las m variables básicas son no negativas (>= 0). Si cualquiera de estas m

variables es igual a cero se considera un solución BF degenerada. Después se trata

de encontrar otra solución básica factible que mejorará el valor del objetivo, proceso

denominado iteraciones. Para que una variable cero actual se convierta en positiva,

debe eliminarse una de las variables basicas actuales, es decir, volver

esta última no básica a nivel cero. Esto introduce dos conceptos, la variable cero

seleccionada es la variable de entrada y la variable básica eliminada es la variable

de salida.

3.2.3 MÉTODOS DE DOBLE FASE Y DE PENALIZACIÓN

En esencia es igual al método de penalización, en que primero se introducen las variables artificiales al problema original

Sujeto a

Quedando como

Sujeto a

Donde W es el vector de variables artificiales con componentes . En la primera fase se resuelve el problema

Sujeto a

La solución óptima de esta fase debe ser . Si al obtener las condiciones de

optimalidad en esta fase, , el problema original no tiene solución.

Supóngase que la primera fase es óptima, y que la base asociada a la tabla es B. En la segunda fase se aplica el método Simplex para resolver el problema Min cX Sujeto a

La solución óptima a esta segunda fase, es la solución óptima al problema original. Es importante observar que al empezar la segunda fase, todos los vectores de la base óptima correspondientes a la primera fase permanezcan unitarios. Empléense operaciones matriciales elementales para restituir todos aquellos vectores que deben ser unitarios.

3.2.4 ANÁLISIS DE SENSIBILIDAD: MODIFICACIÓN DEL RHS Y DE LOS

COEFICIENTES DEL A FUNCIÓN

1. Revisión del modelo: se hacen los cambios deseados en el modelo que se va a investigar.

2. Revisión de la tabla simplex final: se emplea la idea fundamental para determinar los cambios que resultan en la tabla símplex final.

3. Conversión a la forma apropiada: se convierte esta tabla en la forma apropiada para identificar y evaluar la solución básica actual aplicando (según sea necesario) eliminación de Gauss.

4. Prueba de factibilidad: se prueba la factibilidad de esta solución verificando que todas las variables básicas sigan teniendo valores no negativos en la columna del lado derecho.

5. Prueba de optimalidad: se verifica si esta solución es óptima (si es factible), comprobando que todos los coeficientes de las variables no básicas en el renglón 0 sigan siendo no negativos.

6. Reoptimización: si esta solución no pasa cualquiera de las pruebas, se puede obtener (si se desea) la nueva solución óptima partiendo de la tabla actual como

tabla símplex inicial (haciendo las conversiones necesarias) para el método símplex primal o el símplex dual.

La rutina interactiva llamada Sensitivity Analysis (análisis de sensibilidad) en el OR Courseware le permite practicar la aplicación de este procedimiento. Además, se proporcionará una demostración (bajo el mismo nombre) con otro ejemplo.

A continuación se presentará e la aplicación de este procedimiento a cada una de las categorías más importantes de cambios al modelo original. Esto incluye, en parte, la extensión sobre el ejemplo que se introdujo en este trabajo para investigar cambios en el modelo de la Wyndor Glass Co. De hecho, se comenzará por verificar individualmente cada uno de los cambios anteriores. Al mismo tiempo, se integrarán al análisis de sensibilidad algunas de las aplicaciones de la teoría de dualidad.

El análisis de sensibilidad o postoptimal para los modelos de Programación Lineal, tiene por objetivo identificar el impacto que resulta en los resultados del problema original luego de determinadas variaciones en los parámetros, variables o restricciones del modelo, sin que esto pase por resolver el problema nuevamente.

Es decir, ya sea si resolvemos nuestro modelo gráficamente o utilizando el Método Simplex, lo que se busca es que estas variaciones o sensibilidad hagan uso de la solución y valor óptimo actual, sin tener la necesidad de resolver para cada variación un nuevo problema. En especial nos concentraremos en el análisis de sensibilidad o postoptimal que hace uso de la tabla final del Método Simplex.

TEORÍA

Siguiendo la notación utilizada en la sección dedicada al Método Simplex en nuestro sitio, éste opera para modelos de Programación Lineal en un formato estándar.

Min cTx s.a Ax = b x >= 0

Donde la tabla final del Método mantiene la siguiente estructura:

Donde:

I: Matriz Identidad 0: Costos reducidos asociados a las variables básicas B: Matriz de variables básicas D: Matriz de variables no básicas b: Lado derecho Cb: Coeficientes en la función objetivo asociados a las variables básicas Cd: Coeficientes en la función objetivo asociados a las variables no básicas

1. Cambio en el "lado derecho" de las restricciones: Lo que se busca identificar si las actuales variables básicas se mantienen luego de la modificación de uno o más parámetros asociados al "lado derecho" del modelo. Si calculamos:

y se cumple , Las mismas variables básicas lo son también de la

nueva solución óptima, calculada con el nuevo . Si lo anterior no se cumple, se puede aplicar el Método Simplex Dual.

EJEMPLO: Sin resolver nuevamente el problema, se desea saber si las actuales variables básicas óptimas del problema también lo son del mismo problema, donde los lados derechos corresponde al vector b=(20,30). (Observación: X4 y X5 son variables de holgura de la restricción 1 y 2 respectivamente)

Max 2x1 + 7x2 - 3x3 sa: x1 + 3x2 + 4x3 <= 30 x1 + 4x2 - x3 <= 10 x1,x2,x3 >= 0

X1 X2 X3 X4 X5

0 -1 5 1 -1 20

1 4 -1 0 1 10

0 1 1 0 2 20

Para analizar este escenario debemos calcular el vector de variables básicas y verificar si todos sus componentes son positivos definidos. Nótese que para esto necesitamosla matriz B inversa, la cual fácilmente podemos rescatar identificando los parametros asociados a X4 y X5 (variables de holgura de la restricción 1 y 2 respectivamente) en la tabla final del Método Simplex:

Luego, dado que al menos uno de los coeficientes del nuevo lado derecho tiene un valor negativo, cambia la actual base óptima. Cabe destacar que ante esta situación no es necesario resolver el nuevo escenario partiendo de cero, sino lo

que se debe hacer es utilizar la tabla final del simplex del escenario base, actualizando el lado derecho y valor de la función objetivo.

X1 X2 X3 X4 X5

0 -1 5 1 -1 -10

1 4 -1 0 1 30

0 1 1 0 2 60

Posteriormente, se continua iterando haciendo uso del Método Simplex Dual. (Ver referencia a la derecha).

2. Inclusión de una nueva variable: Debemos evaluar si la nueva variable es un aporte significativo a los resultados del modelo original. Luego, para decir si la actual solución básica es óptima para el nuevo problema, calculamos el costo reducido de la nueva variable como:

donde k es el índice de la nueva variable y Ak su respectiva columna en la matriz de coeficientes. Si se cumple que rk>=0 se conserva la actual solución óptima. En caso contrario, se puede seguir con el Simplex agregando a la tabla una nueva columna con entradas B-1Ak y rk y tomando como variable entrante a la nueva base la que acabamos de introducir al problema.

EJEMPLO: Se desea estudiar la posibilidad de elaborar un nuevo producto con beneficio neto igual a 8 y que requiere 4, 2 y 5 unidades de los recursos asociados a cada restricción. Sin resolver nuevamente el problema, ¿Conviene elaborar el producto?

Max 9x1 + 12x2 sa: 4x1 + 3x2 <= 180 2x1 + 3x2 <= 150 4x1 + 2x2 <= 160 x1,x2 >= 0

X1 X2 X3 X4 X5

1 0 1/2 -1/2 0 15

0 1 -1/3 2/3 0 40

0 0 -4/3 2/3 1 20

0 0 1/2 7/2 0 615

Se debe evaluar rk y determinar si este es >=0.

En este ejemplo rk=1>=0, por lo cual no conviene la incorporación de esta nueva variable al modelo, es decir, aun cuándo sea incorporada no obtendremos un valor óptimo que supere el actual V(P)=615. De todas formas mostraremos como se incluye en la tabla final del Simplex esta modificación de modo que el lector pueda entender su incorporación cuando es necesario:

X1 X2 X3 X4 X5 XNew

1 0 1/2 -1/2 0 1 15

0 1 -1/3 2/3 0 0 40

0 0 -4/3 2/3 1 1 20

0 0 1/2 7/2 0 1 615

Si el costo reducido de esta nueva variable hubiese sido cero, entonces el nuevo escenario tendría infinitas soluciones.

3. Cambio en los Coeficientes Función Objetivo: Se busca identificar qué ocurre con la actual solución óptima del escenario base si se cambian uno o varios de los coeficientes que definen la función objetivo. La solución óptima actual también lo será para el nuevo escenario siempre que los nuevos costos reducidos sean mayores o iguales a cero (notar que también cambia el valor de la función objetivo en la actual solución óptima). Es decir se debe cumplir que:

En caso contrario, se aplica el Simplex a partir de la tabla final del modelo original, con los nuevos costos reducidos y nuevo valor de la actual solución básica.

EJEMPLO: Sin resolver nuevamente el problema, se desea saber que sucede si se modifica los parámetros de la función objetivo, quedando éstos de la siguiente forma: Z = x1 + 5x2 - 2x3. (X4 y X5 son las variables de holgura de la restricción 1 y 2 respectivamente).

Max 2x1 + 7x2 - 3x3 sa: x1 + 3x2 + 4x3 <= 30 x1 + 4x2 - x3 <= 10 x1,x2,x3 >= 0

X1 X2 X3 X4 X5

0 -1 5 1 -1 20

1 4 -1 0 1 10

0 1 1 0 2 20

Debido a que los cambios en los parámetros de la función objetivo se producen en

más de una variable consideraremos la siguiente fórmula:

Debido a que al menos uno de los costos reducidos de las variables no básicas se

ha vuelto negativo, entonces cambia la actual solución y valor óptimo del problema.

Para incorporar esta modificación en la tabla final del Método Simplex se actualiza

los costos reducidos asociados a las variables no básicas, además del valor óptimo,

quedando como sigue:

X1

X2 X3 X4 X5

0 -1 5 1 -1 20

1 4 -1 0 1 10

0 -1 1 0 1 10

4. Inclusión de una nueva restricción: Para saber si la actual solución y valor

óptimo se mantendrá luego de incorporar una nueva restricción al problema se debe

evaluar la solución actual y verificar si satisface la nueva restricción. En caso

afirmativo, la actual solución también lo será del problema con la nueva restricción,

en caso contrario se incorpora la nueva restricción a la tabla final del Simplex del

escenario base.

EJEMPLO: Sin resolver nuevamente el problema, se desea saber que sucede si se considera una nueva restricción de la forma: 3x1 + 2x2 + 3x3 <= 25. (Observación: Considerar mismo modelo y tabla final del ejemplo anterior)

Se evalua la solución actual en la restricción: 3*(10) + 2*(0) + 3*(0) <= 25. No cumple. Por tanto se incorpora esta nueva restricción como fila a la tabla final del Simplex. Adicionalmente, se agrega X6 como variable de holgura asociada a esta nueva restricción:

X1 X2 X3 X4 X5 X6

0 -1 5 1 -1 0 20

1 4 -1 0 1 0 10

3 2 3 0 0 1 25

0 1 1 0 2 0 20

Una alternativa para encontrar el óptimo a través de esta tabla es formar la identidad (debemos hacer cero el parámetro asociado a X1 en la tercera fila) multiplicando la fila 2 por -3 y sumando dicho resultado a la fila 3. De esta forma se obtiene:

X1 X2 X3 X4 X5 X6

0 -1 5 1 -1 0 20

1 4 -1 0 1 0 10

0 -10 6 0 -3 1 -5

0 1 1 0 2 0 20

APLICACIONES ( EJEMPLOS)

EJEMPLO 1

4 -8 1 0 1/10 -1/100

6 8 0 1 -3/40 1/20

1) R1 1/4 R2

4 -8 1 0

6 8 0 1

1/4(4) = 1

1/4(-8) = -2 1 -2 1/4 0

1/4(4) = 1/4 6 8 0 1

1/4(0) = 0

2) R2 R2-6 R1

1 -2 1/4 0

6 8 0 1

-6(4) = -6 R2-6 R1

-6(-8) = 12 - 6 12 -3/2 0

-6(1/4) = - 3/2 6 8 0 1

-6(0) = 0 0 20 -3/2 1 = R2

A-1

A-1

A-1 =

A-1

R2-6R1 =

1 -2 1/4 0

0 20 -2/3 1

3) R1 1/20 R2

1/20(0) = 0

1/20(20) = 1 1 -2 1/4 0

1/20(-3/2) = -3/40 0 1 -3/40 1/20

1/20(1) = 1/20 R2 = 0 1 -3/40 1/20

4) R1 -2 R2 R1

1 -2 1/4 0

0 1 -3/40 1/20

2(0) = 0

2(1) = 2

2(-3/40) = -3/20

2(1/20) = 1/10

R2 R1

1 -2 1/4 0

0 2 -3/20 1/10

1 0 -1/10 1/10

A-1

A-1

A-1

RESULTADO

4 -8 1 0 1/10 -1/10

6 8 0 1 -3/40 1/20

COMPROBACIÓN

1/10 = 0.1 X 40 = 4

-1/10 = -0.1 X 80 = -8

3/40 = 0.075 X 80 = 6

1/20 = 0.05 X 160 = 8

1/10 -1/10 4 -8 2/5 + 3/5 4/5 - 4/5 1 0

-3/40 1/20 6 8 3/10 - 3/10 3/5 + 2/5 0 1

EJEMPLO 2

8 -12 1 0 1/18 -1/18

10 12 0 1 -5/108 1/27

1) R1 1/8 R2

8 -12 1 0

10 12 0 1

A-1 =

= =

A-1

A-1 =

1/8(8) = 1

1/8(-12) = -3/2 1 -3/2 1/8 0

1/8(1) = 1/8 10 12 0 1

1/8(0) = 0

2) R2 R2-10R1

1 -3/2 1/8 0

10 12 0 1

-10(1) = -10 R2-6 R1

-10(-3/2) = 15 - 10 15 -5/4 0

-10(1/8) = - 5/4 10 12 0 1

-10(0) = 0 0 27 -5/4 1 = R2

1 -3/2 1/8 0

0 27 -5/4 1

3) R1 1/27 R2

1/27(0) = 0

1/27(27) = 1 1 -3/2 1/8 0

1/27(-5/4) = -5/108 0 1 -5/108 1/27

1/27(1) = 1/27 R2 = 0 1 -5/108 1/27

A-1

A-1

R2-10R1 =

A-1

A-1

4) R1 3/2R2 R1

1 -3/2 1/8 0

0 1 -5/108 1/27

3(0) = 0

3/2(1) = 3/2

3/2(-5/108) = -5/72

3/2(1/27) = 1/18

R2 R1

1 3/2 -5/72 1/18

0 -3/2 1/8 0

1 0 -1/18 1/18

RESULTADO

8 -12 1 0 1/18 -1/18

10 12 0 1 -5/108 1/27

COMPROBACIÓN

1/18 = 0.05555555556 X 144 = 8

-1/18 = -0.05555555556 X 216 = -12

5/108 = 0.0462962963 X 216 = 10

1/27 = 0.03703703704 X 324 = 12

A-1

A-1 =

1/18 -1/18 8 -12 4/9 + 5/9 2/3 - 2/3 1 0

-5/108 1/27 10 12 10/27 -10/27 5/9 + 4/9 0 1

MÉTODO SIMPLEX ( APLICACIONES )

*INTERNET

Una empresa química “Chemical” produce limpiadores para automóviles X y

pulidores Y y gana $10 en cada lote de X, y $30 en Y. Ambos productos requieren

procesarse en las mismas máquinas, A y B, pero X requiere cuatro horas en A y

ocho en B, mientras que Y requiere seis horas en A y cuatro en B. Durante la

semana entrante las máquinas A y B tienen 12 y 16 horas de capacidad

disponible, respectivamente. Suponiendo que existe demanda de ambos

productos, cuántos lotes de cada uno deben producirse para alcanzar la unidad

óptima Z?.

La función objetivo es:

Max Z = $10X + $30Y

Las restricciones son:

= =

h maquina A : 4X + 6Y = 12

h máquina B : 8X + 4Y =16

X,Y ≥ 0

Formato simplex

C 10 30 0 0 Valores de solución

Variables de la solución Variables de decisión

X Y S1 S2 (LD)

0 S1 4 6 1 0 12

0 S2 8 4 0 1 16

Z 0 0 0 0 0

C-Z 10 30 0 0 0

Elementos de la tabla simplex.

La parte central de la tabla simplex consta de los coeficientes de las restricciones

de:

4X + 6Y + 1S1 + 0S2 = 12

8X + 4Y + 0S1 + 1S2 =16

Nótese que se ha asignado un uno (1) a la variable de holgura asociada con su

propia restricción, y un cero (0) a la otra variable de holgura

La columna de variables en la solución indica cuáles variables están en la solución

(en este caso, sólo las de hoguera) y la columna de valores solución indica las

cantidades de solución. Los números vienen del lado derecho LD de las

restricciones (en este caso, 12 horas de holgura para la máquina A y 16 horas

para la B)

La C en la esquina superior izquierda encabeza a la vez un renglón y una

columna. Especifican la cantidad de contribución a la función objetivo de cada

unidad de las variables a que se refiere. Esto es, cada unidad de X (limpiador)

contribuye con $10 a las utilidades y cada unidad de Y (pulidor) lo hace con $30.

El tiempo de holgura de la maquina A y B proporciona $0 de contribución tanto de

S1 como de S2.

El renglón de Z en la tabla muestra el costo de oportunidad, o la cantidad de

contribución que debe ser introducida o (producida) por unidad (o por unidad

extra) de la variable en cada columna. Esto se calcula para cada columna

multiplicando los elementos de la columna por la contribución en la columna C y

sumándolos después

Esto es, el valor de Z para la columna X es (4 x 0) + (8 x 0) = 0.

Esto significa que para introducir una unidad de X (limpiador) en la solución, deben

darse cuatro horas de tiempo de holgura en la máquina A, con un costo de $0, y

ocho horas de holgura en la máquina B, también con un costo de $0.

El valor de Z para la columna LD representa la contribución total de las variables

en la solución, debido a que esta solución (inicial) es “producir” 12 horas de

holgura en la máquina A (con $0 de contribución) y 16 horas de holgura en la

máquina B con ($0 de contribución), la utilidad total de esta solución inicial es

cero. El renglón de Z en la solución inicial siempre tiene ceros, pero cambia al

progresar la solución.

Los valores del renglón inferior (C-Z) representan la contribución neta de introducir

una unidad de la columna variable en la solución. En la tabla inicial aparecen

simplemente los coeficientes de la función objetivo seguidos por ceros en las

columnas de las variables de holgura. Es decir, se puede incrementar el valor de

la función objetivo en un total de $10 por cada unidad de X producida y en $30 por

cada unidad de Y producida, y debido a que la holgura no tiene ningún valor

deben introducirse X o Y en esta etapa. Produciendo más holgura obviamente no

se incrementan las utilidades.

Metodología de cálculo

La metodología de solución de los problemas de maximización hace necesario

seleccionar una columna y un renglón pivotes y revisar los valores de la tabla

hasta que en el renglón inferior sean menores o iguales que cero.

- Úsense los pasos del procedimiento simplex –

C 10 30 0 0 Valores

de

solución

Variables

de la

solución

Variables de decisión

X Y S1 S2 (LD)

0 S1 4 6 1 0 12

0 S2 8 4 0 1 16

Z 0 0 0 0 0

C-Z 10 30 0 0 0

1. Seleccionar una columna y un renglón pivotes

a) La columna pivote es la que tiene el número positivo más grande en el renglón inferior

C-Z 10 30 0 0 0

En este ejercicio es 30.

b) El renglón pivote es el que tiene la razón más pequeña, del renglón pivote

26

12 (mínimo) 4

4

16

C 10 30 0 0 Valores

de

solución

Variables

de la

solución

Variables de decisión

X Y S1 S2 (LD)

0 S1 4 6 1 0 12

0 S2 8 4 0 1 16

Z 0 0 0 0 0

C-Z 10 30 0 0 0

Por lo tanto el renglón 1 es el renglón pivote.

c) El elemento pivote es encerrado en un círculo 6

C 10 30 0 0 Valores

de

solución

Variables

de la

solución

Variables de decisión

X Y S1 S2 (LD)

0 S1 4 6 1 0 12

0 S2 8 4 0 1 16

Z 0 0 0 0 0

C-Z 10 30 0 0 0

2. Divídase cada valor del renglón pivote 1 entre el elemento pivote (6) y colóquense los valores en una nueva tabla.

C 10 30 0 0 Valores

de

solución

Variables

de la

solución

Variables de decisión

X Y S1 S2 (LD)

0 Y 2/3 1 1/6 0 2

a) Genérense los otros renglones para la siguiente tabla, de tal manera que los elementos de la columna pivote sean iguales a cero.

Se empieza con el renglón S2, el cual tiene 4 en la columna de Y. Se

multiplica el nuevo renglón (del paso 2) por el negativo del valor que se

desea convertir (-4), y se suma al anterior renglón de S2. Se multiplica el

nuevo renglón por -4. el resultado se muestra en la siguiente tabla.

X Y S1 S2 (LD)

El renglón del paso 2 se

multiplica por -4

-4(2/3) -4(1) -

4(1/6)

-4(0) -4(2)

Obtener el resultado -8/3 -4 -2/3 0 -8

Sumarlo al renglón de S2 8 4 0 1 16

Para obtener el nuevo

renglón

16/3 0 .2/3 1 8

El renglón obtenido se introduce a la nueva tabla del paso 2.

C 10 30 0 0 Valores

de

solución

Variables

de la

solución

Variables de decisión

X Y S1 S2 (LD)

30 Y 2/3 1 1/6 0 2

0 S2 16/3 0 .2/3 1 8

Z

Si hay más renglones que convertir, debe repetirse este paso en el

siguiente renglón. Dado que ahí no hay más, puede procederse a calcular el

renglón Z y C-Z.

Los valores en el renglón Z son ∑ (elementos de la columna) (C) Elementos

del renglón Z

Para X: Z = 2/3(30) + 16/3(0) = 20

Para Y: Z = 1(30) + 0(0) = 30

Para S1: Z = 1/6(30) – 2/3(30) = 5

Para S2: Z = 0(30) + 1(0) = 0

Para LD: 2(30) + 8(0) = 60

Después de que se introducen éste y los valores de C-Z en la siguiente

matriz, se tiene:

C 10 30 0 0 Valores

de

solución

Variables

de la

solución

Variables de decisión

X Y S1 S2 (LD)

30 Y 2/3 1 1/6 0 2

0 S2 16/3 0 .2/3 1 8

Z 20 30 5 0 60

C - Z -10 0 -5 0

Repetir los pasos anteriores hasta que todos los valores del renglón inferior

sean ≤ 0. Dado que todos los valores son ≤ 0, ha sido alcanzada la solución

óptima. Las variables en la solución son identificadas por las columnas en la

parte central de la tabla que tienen un 1, y el resto de los valores son cero.

Los valores solución son datos en la columna del lado derecho, como se ve

en la siguiente tabla.

X Y S1 S2 (LD)

- 1 - 0 2

- 0 - 1 8

Z - - - - 60

Por tanto,

X = no está en la solución

Y = 2 unidades

Z = $60

Nótese que la variable de holgura asociada con la restricción 2 también tiene un 1

y ceros, lo cual significa que tiene holgura en la solución y que la restricción no se

agotó. Entonces hay sólo una variable de decisión (no holgura) en la solución (Y) y

una restricción agotada (número 1). Esto concuerda con el teorema fundamental

de programación lineal, que establece que el número de variables de decisión (no

holgura) de la solución siempre será igual a número de restricciones que son

agotadas.

*SALÓN DE CLASES

MAXIMIZAR Z = 3Xe + 2X2 3 2 0

SUJETO A. Xe + 2X1 < 6 2 1 8

-2Xe + X1 < 8 1 2 6

-Xe + 2X1 < 1 -1 1 1

X1 < 2 1 0 2

-Xe > 0, X1 > 0

MAXIMIZAR Z = 3Xe + 2X2 3 2 0 0 0 0

SUJETO A. Xe + 2X1 + X2 < 6 1 2 1 0 0 0

-2Xe + X1 + X3 < 8 2 1 0 1 0 0

-Xe + X1 + X4 < 1 -1 1 0 0 1 0

X1 + X5 < 2 0 1 0 0 0 1

SU INVERSA

MAXIMIZAR Z = 3Xe + 2X2 3 2 0 0 0 0 0

SUJETO A. 1) Xe + 2X1 + X2 < 6 1 2 1 0 0 0 0

2) -2Xe + X1 + X3 < 8 2 1 0 1 0 0 8

3) -Xe + X1 + X4 < 1 -1 1 0 0 1 0 1

4) X1 + X5 < 2 0 1 0 0 0 1 2

FORMA TABULAR

TABLA SIMPLEX 1

Variables Ecu. C o e f i c i e n t e s d e l a s V a r i a b l e s Lado

Básicas Núm. Z Xe X1 X2 X3 X4 X5 Derecho

Z 0 0 -3 -2 0 0 0 0 0

X2 1 0 1 2 1 0 0 0 6

X3 2 0 2 1 0 0 0 0 8

X4 3 0 -1 1 0 0 1 0 1

X5 4 0 0 1 0 0 0 1 2

TABLA SIMPLEX 2

Variables Ecu. C o e f i c i e n t e s d e l a s V a r i a b l e s Lado

Básicas Núm. Z Xe X1 X2 X3 X4 X5 Derecho

Z 0 0 -3 -2 0 0 0 0 0

X2 1 0 1 2 1 0 0 0 6

X3 2 0 2 1 0 0 0 0 8

X4 3 0 -1 1 0 0 1 0 1

RESTRICCIONES

Val. Abs.M.

C.P.

X5 4 0 0 1 0 0 0 1 2

Val. Abs. M. = Valor Absoluto Mayor

C.P. = Columna Pivote

Lado Derecho

C.P.

6 8 1 2

1 2 -1 0

TABLA SIMPLEX 3

Variables Ecu. C o e f i c i e n t e s d e l a s V a r i a b l e s Lado

Básicas Núm. Z Xe X1 X2 X3 X4 X5 Derecho

Z 0 0 -3 -2 0 0 0 0 0

X2 1 0 1 2 1 0 0 0 6

X3 2 0 2 1 0 0 0 0 8

X4 3 0 -1 1 0 0 1 0 1

X5 4 0 0 1 0 0 0 1 2 El

RENGLÓN PIVOTE ANTIGUO

REGLA DE

OPTIMIDAD =

= 6 = 4 = -1 = 2

Se toma el val. abs., más pequeño

pero como como es negativo (-) se

toma el siguente valor más pequeño

El siguente valor abosluto

mas pequeño

RENGLÓN

PIVOTE NUEVO

=

RENGLÓN PIVOTE

NÚM. DE PIVOTE

2 1 0 0 0 0 8

2 2 2 2 2 2 2

TABLA SIMPLEX 4

Variables Ecu. C o e f i c i e n t e s d e l a s V a r i a b l e s Lado

Básicas Núm. Z Xe X1 X2 X3 X4 X5 Derecho

Z 0 0 -3 -2 0 0 0 0 0

X2 1 0 1 2 1 0 0 0 6

X3 2 0 1 1/2 0 1/2 0 0 4

X4 3 0 -1 1 0 0 1 0 1

X5 4 0 0 1 0 0 0 1 2

3 ( 1 1/2 0 1/2 0 0 4 ) = 3 3/2 0 3/2 0 0 12

-3 -2 0 0 0 0 0

3 3/2 0 3/2 0 0 12

= = 1 1/2 0 1/2 0 0 4

RENGLÓN O. NUEVO = RENGLÓN ANTIGUO -

COEFICIENTE DE LA

COLUMNA PIVOTE

RENGLÓN PIVOTE

NUEVO

ELIMINACIÓN

GAUSSIANA

=

0 -1/2 0 3/2 0 0 12

-1 ( 1 1/2 0 1/2 0 0 4 ) = -1 -1/2 0 -1/2 0 0 -4

1 2 1 0 0 0 6

-1 -1/2 0 -1/2 0 0 -4

0 3/2 1 -1/2 0 0 2

-1 ( 1 1/2 0 1/2 0 0 4 ) = 1 1/2 0 1/2 0 0 4

-1 1 0 0 0 1 1

1 1/2 0 1/2 0 0 4

0 3/2 0 1/2 0 0 5

TABLA SIMPLEX 5

Variables Ecu. C o e f i c i e n t e s d e l a s V a r i a b l e s Lado

Básicas Núm. Z Xe X1 X2 X3 X4 X5 Derecho

Z 0 0 0 -1/2 0 3/2 0 0 12

X2 1 0 0 3/2 1 -1/2 0 0 2

X3 2 0 1 1/2 0 1/2 0 0 4

X4 3 0 0 3/2 0 1/2 0 1 5

X5 4 0 0 1 0 0 0 1 2

ELIMINACIÓN

GAUSSIANA

=

ELIMINACIÓN

GAUSSIANA

=

RENGLÓN PIVOTE ANTIGUO

NÚM. DE PIVOTE

0 3/2 1 -1/2 0 0 2

3/2 3/2 3/2 3/2 3/2 3/2 3/2

1/2 ( 0 1 2/3 -1/3 0 0 4/3 ) = 0 1/2 1/3 -1/6 0 0 2/3

0 -1/2 0 3/2 0 0 12

0 1/2 1/3 -1/6 0 0 2/3

0 0 1/3 4/3 0 0 38/3

-3/2 ( 0 1 2/3 -1/3 0 0 4/3 ) = 0 -3/2 -1 1/2 0 0 -2

0 -3/2 0 1/2 1 0 5

0 -3/2 -1 1/2 0 0 -2

0 0 -1 1 1 0 3

-1 ( 0 1 2/3 -1/3 0 0 4/3 ) = 0 -1 - 2/3 1/3 0 0 -4/3

0 1 0 0 0 1 2

RENGLÓN

PIVOTE NUEVO

=

= = 0 1 2/3 -1/3 0 0 4/3

ELIMINACIÓN

GAUSSIANA

=

ELIMINACIÓN

GAUSSIANA

=

ELIMINACIÓN

GAUSSIANA

=

0 -1 - 2/3 1/3 0 0 -4/3

0 0 -2/3 1/3 0 1 2/3

TABLA SIMPLEX 6

Variables Ecu. C o e f i c i e n t e s d e l a s V a r i a b l e s Lado

Básicas Núm. Z Xe X1 X2 X3 X4 X5 Derecho

Z 0 0 0 0 1/3 4/3 0 0 38/3

X2 1 0 0 1 2/3 -1/3 0 0 4/3

X3 2 0 1 1/2 0 1/2 0 0 4

X4 3 0 0 0 -1 1 1 0 3

X5 4 0 0 0 -2/3 1/3 0 1 2/3

SOLUCIÓN :

Z = 12. 66666667

X2 = 1.333333333

X4 = 3

X5 = 0.6666666667

*MI EMPRESA

X1: Número de tortas de chocolate a preparar.

X2: Número de tortas de vainilla a preparar.

MAXIMIZAR Z = 4 X1 + 3.5 X2 4 3.5

SUJETO A 1/3 X1 + 2/3 X2 < = 8 1/3 2/3

4 X1 + 1 X2 < = 30 4 1

TIEMPO DE

COCCION

HUEVOS

PRECIO

CONCHA DE

CHOCOLATE

1/3 hora

4

4.00

CONCHA DE VAINILLA

2/3 hora

1

3.50

TOTAL

8 horas

30

SU INVERSA

MAXIMIZAR Z = 4X1 + 3.5X2 4 3.5 0 0

SUJETO A. 1/3X1 + 2/3X2 +X3 < 8 1/3 2 1 0

4X1 + 1X2 +X4 < 30 4 1 0 1

MAXIMIZAR Z = 4X1 - 3.5X2 4 3.5 0 0 0

SUJETO A. 1) 1/3X1 - 2/3X2 +X3 < 8 1/3 2 1 0 8

2) 4X1 + 1X2 +X4< 30 4 1 0 1 30

FORMA TABULAR

TABLA SIMPLEX 1

Variables Ecu. C o e f i c i e n t e s d e l a s V a r i a b l e s Lado

Básicas Núm. Z Xe X1 X2 X3 Derecho

Z 0 0 -4 -3.5 0 0 0

X3 2 0 1/3 2 1 0 8

X4 3 0 4 1 0 1 30

TABLA SIMPLEX 2

Variables Ecu. C o e f i c i e n t e s d e l a s V a r i a b l e s Lado

Básicas Núm. Z Xe X1 X2 X3 Derecho

Z 0 0 -4 -3.5 0 0 0

RESTRICCIONES

Val. Abs.M.

C.P.

X3 2 0 1/3 2 1 0 8

X4 3 0 4 1 0 1 30

Val. Abs. M. = Valor Absoluto Mayor

C.P. = Columna Pivote

Lado Derecho

C.P.

8 30

1/3 4

TABLA SIMPLEX 3

Variables Ecu. C o e f i c i e n t e s d e l a s V a r i a b l e s Lado

Básicas Núm. Z Xe X1 X2 X3 Derecho

Z 0 0 -4 -3.5 0 0 0

X3 2 0 1/3 2 1 0 8

X4 3 0 4 1 0 1 30

RENGLÓN PIVOTE ANTIGUO

REGLA DE

OPTIMIDAD =

= 24 = 8.5

RENGLÓN

PIVOTE NUEVO

=

Se toma el Valor Absoluto., más

pequeño

Val. Abs.M.

C.P. RENGLÓN PIVOTE

NÚM. DE PIVOTE

1/3 2 1 0 8

4 4 4 4 4

TABLA SIMPLEX 4

Variables Ecu. C o e f i c i e n t e s d e l a s V a r i a b l e s Lado

Básicas Núm. Z Xe X1 X2 X3 Derecho

Z 0 0 -4 -3.5 0 0 0

X3 2 0 1/12 2/4 1/4 0 4

X4 3 0 4 1 0 1 30

-4 ( 1/12 2/4 1/4 0 4 ) = -1/3 -2 -1 0 -1

-4 -3.5 0 0 0

-1/3 -2 -1 0 -1

= = 1/12 2/4 1/4 0 4

RENGLÓN O. NUEVO = RENGLÓN ANTIGUO -

COEFICIENTE DE LA

COLUMNA PIVOTE

RENGLÓN PIVOTE

NUEVO

ELIMINACIÓN

GAUSSIANA

=

11/3 1.5 -1 0 -1

4 ( 1/12 2/4 1/4 0 4 ) = 1/3 2 1 0 1

-4 1 0 1 30

1/3 2 1 0 1

-11/3 3 1 0 31

TABLA SIMPLEX 5

Variables Ecu. C o e f i c i e n t e s d e l a s V a r i a b l e s Lado

Básicas Núm. Z Xe X1 X2 X3 Derecho

Z 0 0 11/3 1.5 -1 0 -1

X3 2 0 1/12 2/4 1/4 0 4

X4 3 0 -11/3 3 1 0 31

RENGLÓN PIVOTE ANTIGUO

NÚM. DE PIVOTE

1/12 2/4 1/4 0 4

11/3 11/3 11/3 11/3 11/3

-11/3 ( 1/44 3/22 3/44 0 12/11 ) = -1/12 -2/4 -1/4 0 -4

RENGLÓN

PIVOTE NUEVO

=

= = 1/44 3/22 3/44 0 12/11

ELIMINACIÓN

GAUSSIANA

=

11/3 1.5 1 0 -1

-1/12 -2/4 -1/4 0 -4

19/6 1 -5/4 0 5

11/3 ( 1/44 3/22 3/44 0 12/11 ) = 1/12 2/4 1/4 0 4

-11/3 3 1 0 31

1/12 2/4 1/4 0 4

25/6 6 5/4 0 35

TABLA SIMPLEX 6

Variables Ecu. C o e f i c i e n t e s d e l a s V a r i a b l e s Lado

Básicas Núm. Z Xe X1 X2 X3 Derecho

Z 0 0 19/6 1 5/4 0 5

X3 2 0 1/44 3/22 3/44 0 12/11

X4 3 0 25/6 6 5/4 0 35

SOLUCIÓN :

Z = 5

X3 = 1.090909091

X4 = 35

ELIMINACIÓN

GAUSSIANA

=

ELIMINACIÓN

GAUSSIANA

=