Metodo simplex

26
Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones 1 METODO SIMPLEX La programación lineal se puede resolver a través del algoritmo simplex; su importancia radica en que proporciona soluciones etapa por etapa, donde la solución básica factible está en consideración, y cada etapa nos da una mejor solución óptima. El álgebra matricial y el proceso de eliminación completa de Gauss-Jordan para resolver un sistema de ecuaciones simultáneas lineales son las raíces del método simplex de la PL. Para utilizar el método simplex, es necesario cambiar todas las desigualdades en igualdades. Para hacer esta transformación a igualdad, donde automáticamente aumentamos una matriz identidad a nuestro modelo, como requisitos para obtener la matriz A/I/B (A es la matriz de coeficientes tecnológicos, I es la matriz identidad y B es el vector de disponibilidad o vector columna de términos independientes) tenemos que utilizar variables de exceso y variables artificiales. Se dice de holgura pues toman la diferencia entre la parte derecha de la ecuación o los sobrantes de los recursos disponibles. Se utiliza variables de holgura (exceso) para convertir las desigualdades en igualdades y se utiliza variables artificiales cuando la variable de la holgura no proporciona coeficientes positivos en la matriz identidad. Es decir, las variables que están en la base; los coeficientes de la fila de la función objetivo correspondiente de la matriz identidad, deben ser positivos, así como la variable artificial tiene una función matemática, se tiene que asegurar que nunca aparezca en la solución final. Esta condición se puede cumplir dando un coeficiente de costo artificial a la función objetivo. 1. Forma canónica de un PPL Un PPL diremos que está escrito en la forma canónica de la siguiente manera: Maximizar (Minimizar) n n x c x c x c x c Z ........ 3 3 2 2 1 1 Sujeto a (s.a.): 0 , ........ ... .... ... ... .... ... ... .... ... ........ ........ ........ , 3 , 2 , 1 2 2 1 1 3 1 2 12 1 11 2 2 2 22 1 21 1 1 2 12 1 11 n m n mn m m n n n n n n x x x x b x a x a x a b x a x a x a b x a x a x a b x a x a x a 2. Forma Estándar de un PPL Un PPL diremos que está escrito en la forma estándar, si está escrito de la siguiente manera: Maximizar (Minimizar) n n x c x c x c x c Z ........ 3 3 2 2 1 1 Sujeto a (s.a.):

description

definiciondescripcion

Transcript of Metodo simplex

Page 1: Metodo simplex

Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones

1

METODO SIMPLEX

La programación lineal se puede resolver a través del algoritmo simplex; su importancia radica

en que proporciona soluciones etapa por etapa, donde la solución básica factible está en

consideración, y cada etapa nos da una mejor solución óptima.

El álgebra matricial y el proceso de eliminación completa de Gauss-Jordan para resolver un

sistema de ecuaciones simultáneas lineales son las raíces del método simplex de la PL.

Para utilizar el método simplex, es necesario cambiar todas las desigualdades en igualdades.

Para hacer esta transformación a igualdad, donde automáticamente aumentamos una matriz

identidad a nuestro modelo, como requisitos para obtener la matriz A/I/B (A es la matriz de

coeficientes tecnológicos, I es la matriz identidad y B es el vector de disponibilidad o vector

columna de términos independientes) tenemos que utilizar variables de exceso y variables

artificiales.

Se dice de holgura pues toman la diferencia entre la parte derecha de la ecuación o los

sobrantes de los recursos disponibles. Se utiliza variables de holgura (exceso) para convertir

las desigualdades en igualdades y se utiliza variables artificiales cuando la variable de la

holgura no proporciona coeficientes positivos en la matriz identidad. Es decir, las variables que

están en la base; los coeficientes de la fila de la función objetivo correspondiente de la matriz

identidad, deben ser positivos, así como la variable artificial tiene una función matemática, se

tiene que asegurar que nunca aparezca en la solución final. Esta condición se puede cumplir

dando un coeficiente de costo artificial a la función objetivo.

1. Forma canónica de un PPL

Un PPL diremos que está escrito en la forma canónica de la siguiente manera:

Maximizar (Minimizar) nn xcxcxcxcZ ........332211

Sujeto a (s.a.):

0,

........

..........

..........

..........

........

........

........

,3,2,1

2211

31212111

22222121

11212111

n

mnmnmm

nn

nn

nn

xxxx

bxaxaxa

bxaxaxa

bxaxaxa

bxaxaxa

2. Forma Estándar de un PPL

Un PPL diremos que está escrito en la forma estándar, si está escrito de la siguiente manera:

Maximizar (Minimizar) nn xcxcxcxcZ ........332211

Sujeto a (s.a.):

Page 2: Metodo simplex

Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones

2

0,

........

..........

..........

..........

........

........

........

,3,2,1

2211

31212111

22222121

11212111

n

mnmnmm

nn

nn

nn

xxxx

bxaxaxa

bxaxaxa

bxaxaxa

bxaxaxa

3. Reglas para convertir un PPL a la forma estándar El primer paso para resolver un PPL mediante el método simplex es escribir el PPL en la forma estándar; como no siempre el programa original está en esta forma, se hace necesario un conjunto de reglas; para convertirlo.

Conversión de una desigualdad en igualdad y solución de un PPL

Veremos dos casos:

a. El problema tiene todas sus restricciones de tipo “ ”:

Convertir toda desigualdad, de la forma:

11212111 ........ bxaxaxa nn …(1)

Se puede convertir en igualdad, mediante la adición de una nueva variable no negativa

iS ; llamada variable Slack u Holgura; de esta manera (1) se convierte en:

111212111 ........ bSxaxaxa nn … (2)

Ejemplo:

252 21 xx Equivale a 252 321 Sxx

b. El problema tiene restricciones: “ ”

Convertir toda desigualdad, de la forma:

11212111 ........ bxaxaxa nn … (3)

Se puede convertir en igualdad, mediante la sustracción de una nueva variable iS no

negativa llamada variable de Exceso o Surplus y la adición de una variable iR no

negativa llamada variable Artificial; de esta manera (3) se convierte en:

1111212111 ........ bRSxaxaxa nn … (4)

Ejemplos:

2452 321 xxx es equivalente a 2452 54321 RSxxx

4753 321 xxx es equivalente a 4753 54321 RSxxx

Page 3: Metodo simplex

Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones

3

c. El problema tiene restricciones: “ ”.

Convertir toda desigualdad, de la forma:

11212111 ........ bxaxaxa nn … (3)

Se puede convertir a igualdad, mediante la adición de una nueva variable iR no negativa

llamada variable Artificial; de esta manera (3) se convierte en:

111212111 ........ bRxaxaxa nn … (4)

Ejemplos:

266 321 xxx es equivalente a 266 1321 Rxxx

4. Pasos para el desarrollo del problema mediante el Algoritmo Simplex:

Sea el siguiente PPL:

Maximizar (Minimizar) nn xcxcxcxcZ ........332211

Sujeto a (s.a.):

0,

........

..........

..........

..........

........

........

........

,3,2,1

2211

31212111

22222121

11212111

n

mnmnmm

nn

nn

nn

xxxx

bxaxaxa

bxaxaxa

bxaxaxa

bxaxaxa

Paso 1: Convertir el problema de su forma canónica, a su forma estándar.

Maximizar (Minimizar) nn xcxcxcxcZ ........332211

Sujeto a (s.a.):

Page 4: Metodo simplex

Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones

4

0,

........

..........

..........

..........

........

........

........

,3,2,1

2211

31212111

22222121

11212111

n

mnmnmm

nn

nn

nn

xxxx

bxaxaxa

bxaxaxa

bxaxaxa

bxaxaxa

Paso2: Pase el lado derecho de la función objetivo, hacia la izquierda )0( CXZ , y

cree la matriz del algoritmo simplex:

Matriz del algoritmo Simplex

Variables Originales / Exceso Variables Artificiales / Holgura

Tabla - 1

TABLA SIMPEX

Valor de Criterio

Variables de Decisión Variables de

Holgura( exceso) Solución

Variables Z x1 x2.............. -xn X11 X2

1 Xm

1 b¡

F.O. 1 -c1 -c2.............. -cn O O.......... O O

1° Base

O a11 a12.............. a1n 1 O......... O bI

O

a21 a22.............. a2n O 1......... O b2

· · · · · · · ·

Z 1x 2x … nx 1nx 2nx … mnx

RHS

1 11 cz

22 cz

… nn cz

11 nn cz

22 nn cz

… mnmn cz

0Z

1nx 0 11a 12a … na1

I

1b

2nx 0 21a 22a … na2 2b

… … … … … … …

mnx

0 1ma 2ma … mna mb

Page 5: Metodo simplex

Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones

5

· · · · · · · ·

O am1 am2.............. amn O ...... 1 bm

Tabla - 2

Notas.-

1. Los coeficientes que están en la base, constituyen los elementos de una matriz

identidad en cada etapa del proceso Símplex.

2. No se debe tener signos negativos en la columna solución, ya que de acuerdo con los

principios de la programación lineal, no podríamos tener una producción por ejemplo de

- 5 unidades.

Se llega a la solución óptima cuando los coeficientes de la función objetivo en la tabla Símplex, son positivos o cero.

Paso 3: Seleccionar la variable decisión que ingresará a la base; en el caso de

maximización, seleccione como variable de entrada (a la nueva solución),

aquella cuyo costo reducido )( kk CZ , sea el más negativo (y en casos de

minimización, selecciones el más positivo). En este caso se habrá encontrado la

columna pivote. Ir al Paso – 4.

En el caso de maximización, la búsqueda de la columna pivote culminará, si no

existe ninguna candidata de entrada, es decir si los costos reducidos

)0( kCXZ , son no negativos o ceros, entonces la búsqueda ha

terminado y los valores óptimos de! programa )(**

BXyZ , han sido hallados.

Si el caso es de minimización, la búsqueda culmina cuando todos los costos

reducidos )0( kCXZ son negativos o ceros.

En caso de empate, entre varios vectores candidatos, para entrar a la base:

elíjase uno de ellos arbitrariamente. Ir al Paso 4

Paso 4: Una vez seleccionado la variable kx , que entrará a la nueva solución.

Seleccione la variable de salida mnx de la solución actual que saldrá de la

base; utilizando la siguiente regla:

0,/0 iii

i

i

i bXb

XMin

b

X

Ir al paso – 5. En caso de existir empate, entre varios vectores candidatos;

elíjase uno de ellos arbitrariamente. Ir al paso 5

Si ibi 0 ; se trata de un programa con dominio admisible no acotado y

valor óptimo no acotado (crece indefinidamente). La búsqueda finaliza. La mejor solución básica, ha sido encontrada.

Paso 5 La intersección en la tabla de la variable que entra y la variable que sale,

determina el elemento pivote en ib . Aplique operaciones matriciales

elementales, en el pivote ib , con el objeto de convertir la columna kX en el

Page 6: Metodo simplex

Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones

6

vector unitario ke , el cual tiene todas sus componentes ceros; excepto el

elemento pivote, cuyo valor fue convertido en “1”. Volver al paso (4).

Tabla de criterios para el Símplex

Tipo de restricción

Valor de la función Objetivo

Maximización Minimización

l. Menor o igual sumar una variable de holgura.

Variable de holgura toma coeficiente cero en FO

Variable de holgura toma coeficiente cero en FO

2. Mayor o igual : sumar una variable de holgura(exceso) negativa y una variable artificial positiva

Coeficiente cero para la variables de exceso y -M para la variable artificial

Coeficiente cero para Var. Exceso y +M para variable artificial

3. Igual , necesita variable Artificial positiva

Coeficiente -M en la FO para la variable artificial

Coeficiente +M en FO para la variable artificial

Observación. M debe ser un número positivo, relativamente grande. Los siguientes tableros

Símplex, son equivalentes

VARIANTES DEL MÉTODO SIMPLEX.-

1.- Degeneración: Ocurre cuando 2 variables pueden salir por tene la misma rezón mínima

Ejem:

Max 21 93 xxZ

s.a.

0,

42

84

21

21

21

xx

xx

xx

Z X1 X2 S1 S2 Sol

Z 1 -3 -9 0 0 0

S1 0 1 4 1 0 8 8/4=2

S2 0 1 2 0 1 4 8/4=2

2.- Solución no Acotada:

Max 21 21 xxZ

s.a.

0,

402

10

21

21

21

xx

xx

xx

Page 7: Metodo simplex

Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones

7

Z X1 X2 S1 S2 Sol

Z 1 -1 -2 0 0 0

S1 0 1 -1 1 0 10

S2 0 2 -1 0 1 40

Cuando todos los coeficientes son negativos y ceros, en cualquier iteración entre los candidatos que puedan ingresar a la base, nos indica que el problema tiene solución NO ACOTADA

3.- Soluciones Factibles no Existentes:

Max 21 23 xxZ

s.a.

0,

1243

22

21

21

21

xx

xx

xx

Al resolver el problema anterior, la iteración final se muestra como sigue:

Z X1 X2 S2 S1 R1 Sol

Z 1 1+5M 0 M 2+4M 0 4-4M

S1 0 2 1 0 1 0 2

R1 0 -5 0 -1 -4 1 4

Como R1 (variable artificial), tiene solución final diferente a cero (R1 = 4); se dice que el problema no tiene solución.

Page 8: Metodo simplex

Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones

8

MÉTODO DE LAS DOS FASES:

Este método se utiliza para solucionar problemas que contengan variables artificiales, a las cuales permite eliminarlas. El método de utlización se basa en dos fases, en la primera se realizan iteraciones que permitan eliminar las variables artificiales, mientras que la segunda permite continuar con la solución generada durante la primera fase y hallar la solución del problema. Fase I: Paso 1.- Formular un nuevo problema reemplazando la función objetivo original por la suma de

las variables artificiales y manteniendo las mismas restricciones del problema original. Paso 2.- La nueva función objetivo se minimizará y estará sujeto a las restricciones iniciales. Paso 3.- Solucionar el nuevo problema mediante el procedimiento del método simplex

conocido. Paso 4.- Si el problema tiene espacios factibles,, entonces el valor final encontrado será cero,

de otro modo si el valor mínimo es mayor a cero, el problema se termina, lo cual indica que el vacío es el conjunto solución de todo el problema inicial.

Fase II: Paso 5.- Si la solución de la Fase I indica que el problema tiene espacio factible, se usa la

última solución básica factible obtenida en la Fase I, como una solución inicial para el problema original, en este caso la función objetivo original debe ser expresado en términos de las variables no básicas usando el procedimiento usual de operaciones finas.

Ejemplos:

0,

32

634

33

..

2

21

21

21

21

21

xx

xx

xx

xx

as

xxZMax

Sol: Conversión a la forma estándar:

0,

32

634

33

..

2

21

221

2121

121

2121

xx

Sxx

RSxx

Rxx

as

MRMRxxZMax

Page 9: Metodo simplex

Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones

9

Fase I

0,

32

634

33

..

21

221

2121

121

21

xx

Sxx

RSxx

Rxx

as

RRrMin o

x1 x2 S1 R1 R2 S2 Sol.

ro 1 0 0 0 -1 -1 0 0 Convertir los a ceros los valores de R1 y R2

R1 0 3 1 0 1 0 0 3

R2 0 4 3 -1 0 1 0 6

S3 0 1 2 0 0 0 1 3

ro 1 7 4 -1 0 0 0 9

R1 0 3 1 0 1 0 0 3 3/3 =1

R2 0 4 3 -1 0 1 0 6 6/4 =1.5

S3 0 1 2 0 0 0 1 3 3/1 = 3

ro 1 0 1.67 -1 -2.33 0 0 2

x1 0 1 0.33 0 0.33 0 0 1 3.03

R2 0 0 1.67 -1 -1.33 1 0 2 1.20

S3 0 0 1.67 0 -0.33 0 1 2 1.20

ro 1 0 0 0 -1 -1 0 0

x1 0 1 0 0.2 0.6 -0.2 0 0.6

x2 0 0 1 -0.6 -0.8 0.6 0 1.2

S3 0 0 0 1 1 -1 1 0

Como ro = 0, entonces el problema tienes soluciones acotadas, entonces continuamos con la Fase II

Fase II: Armaremos el tablero simplex tomando en cuando la solución final de la Fase I, sin tomar en cuenta las columnas de las variables artificiales. Convertir en cero las variables que se encuentren dentro de la base, y encontrar la variable que entra y la variable que sale.

x1 x2 S1 S2 Sol.

Z 1 -2 -1 0 0 0

x1 0 1 0 0.2 0 0.6 0.60

x2 0 0 1 -0.6 0 1.2 #¡DIV/0!

S3 0 0 0 1 1 0 #¡DIV/0!

Z 1 0 0 -0.2 0 2.4

x1 0 1 0 0.2 0 0.6 3.00

x2 0 0 1 -0.6 0 1.2 -2.00

S3 0 0 0 1 1 0 0.00

Z 1 0 0 0 0.2 2.4

x1 0 1 0 0 -0.2 0.6 #¡DIV/0!

Page 10: Metodo simplex

Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones

10

x2 0 0 1 0 0.6 1.2 #¡DIV/0!

S3 0 0 0 1 1 0 0.00

PROBLEMA DUAL

Para Todo problema de programación lineal, existe otro problema denominado dual. Las relaciones entre el problema dual y el original (denominado primal) son extremadamente útiles en gran variedad de soluciones; por ejemplo se verá que la solución óptima del problema dual es la que proporciona los precios sombra ya descritos anteriormente.

Supongamos el problema primal de la forma que se muestra en la izquierda, su problema dual se representará en la forma que se muestra a su derecha:

Problema Primal Problema Dual

njparax

miparaibxaAS

xcZMaximizar

j

n

j

jij

n

j

jj

,...,2,1,0

,...,2,1..1

1

miparay

njparajcyaAS

ybyMinimizar

i

n

j

jij

m

i

ii

,...,2,1,0

,...,2,1..1

1

0

Ejemplos:

0,

30

2025

4532

609

..

65

21

2

21

21

21

210

xx

x

xx

xx

xx

as

xxxMax

0,,,

61239

552

..

30204560

4321

4321

321

43210

yyyy

yyyy

yyy

as

yyyyyMin

Problema Dual cuando el Primal está en forma estándar

Problema Primal estándar Problema Primal canónica

2222121

1212111

2211

..

bxaxa

bxaxa

as

xcxcZMax

22222121

11212111

11212111

2211

..

ybxaxa

ybxaxa

ybxaxa

as

xcxcZMax

Page 11: Metodo simplex

Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones

11

Entonces el problema dual será:

signoenairrestrictesyyyy

yyy

cyayaya

cyayaya

as

ybybybyMin

1111

211

2222112112

1221111111

2211110

;

0,,

..

signoenairrestrictesyyyy

yyy

cyayya

cyayya

as

ybybybyMin

1111

211

22221112

12211111

2211110

;

0,,

)(

)(

..

Por tanto, el problema dual queda de la siguiente manera:

signoenairrestrictesy

y

cyaya

cyaya

as

ybybybyMin

1

2

2222112

1221111

2211110

0

..

Reglas para la construcción de un problema dual:

1. EL número de variables del problema dual, es igual al número de restricciones del problema original y viceversa.

2. Los coeficientes de la FO en dual será el vector de disponibilidad de recursos del problema original.

3. Si el problema original es Máx, entonces el dual será Min; si el problema original es Min, entonces el dual será Máx.

4. Los coeficientes de la primera función de restricción del problema dual, serán los coeficientes de la variable en las restricciones del problema original, y en forma análoga para las otras restricciones.

5. Los segundos miembros de las restricciones duales, son los coeficientes del a función objetivo del problema primal.

6. El sentido de la i-ésima restricción dual, es igual, si y sólo si la ´-ésima variable del problema original no tiene restricción de signo.

7. Si el problema original es un problema de Máx (Min), entonces luego de aplicar la regla 6, asigne a las restricciones duales, el sentido opuesto a la variable correspondientes del problema original.

8. La i-ésima variable del problema original, no tendrá restricción de signo, si y sólo si, la i-ésima restricción del problema original es una igualdad.

9. Si el problema original es Máx (Min), entonces luego de aplicar la regla 8 asigne a las demás variables el signo contrario (el mismo signo) que la restricción correspondiente en el problema original.

Page 12: Metodo simplex

Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones

12

Problema Primal o Dual

Maximizar Z ó )( 0y

Problema Dual o Primal

Minimizar 0y ó Z

Restricción i

Forma

Forma

Forma

Variable iy ó )( ix

0iy

Irrestricta en signo

0iy

Variable jx ó )( jy

0jx

Irrestricta en signo

0jx

Restricción i

Forma

Forma

Forma

Ejemplo:

signoenairrestrictxxx

xxx

xxx

xxx

xxx

as

xxxZMax

321

321

321

321

321

321

;0,

10243

4065

632

123124

..

243

Solución:

1. N° variables del dual = N° restricciones del primal

2. 4321 1040612 yyyy

3. Máx Dual = Min

43210 1040612 yyyyyMin

4., 5.,6.y 7. Restricciones:

2263

44312

33524

4321

4321

4321

yyyy

yyyy

yyyy

8. 4y irrestricta en signo.

9.

signoenairrestrictyyyy 4321 ,0,0,0

La solución óptima Dual en la tabla simplex

Relación entre los valores óptimos del primal y dual:

Page 13: Metodo simplex

Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones

13

Propiedades: 1. Supongamos que los problemas Primal y Dual están en la forma canónica o en la forma estándar. Los

valores objetivos de estos problemas son 0x e 0y para el primal y dual respectivamente; entonces:

a. Para soluciones factibles cualesquiera, no necesariamente básicas, 00 yx

b. Si la solución óptima de ambos problemas es alcanzada los valores objetivos del primal y el dual

serán iguales: 00 yMinxMax

2. Consideremos el problema primal (maximización) en forma canónica, cuyas restricciones son:

ij

n

j

ij bxa 1

; multiplicamos ambos miembros por iy sumando sobre i :

0

111

)( yybxay i

m

i

ij

n

j

ij

n

i

i

… (1)

3. Consideremos el problema dual asociado (minimización) cuyas restricciones son: ji

m

i

i cya 1

;

multiplicamos por jx y sumamos sobre j :

0

11

)( xxcyax jji

m

i

i

n

j

j

… (2)

Por tanto de (1) y (2) tenemos: 00 yx

Reglas generales para determinar la solución óptima de un problema: 1. Si la variable dual corresponde a la variable de holgura inicial en el primal, su valor óptimo está dado

directamente por el coeficiente de esta variable de holgura en la ecuación )(Zxo óptimo.

2. Si la variable dual corresponde a una variable artificial inicial en el problema primal, su valor óptimo

está dado por el coeficiente de esta variable artificial en la ecuación oy óptimo después de eliminar la

constante M . Eliminar M equivale a añadir el coeficiente de costo original de la variable artificial al

coeficiente correspondiente de la función objetivo, este coeficiente de costo está dado por M para

maximización y por M para minimización; de lo cual se concluye lo siguiente:

a. Si cualquier variable es usada como variable inicial, y si su coeficiente en la función

objetivo original es jc entonces el valor óptimo de la variable dual correspondiente es

obtenida añadiendo jc correspondiente en la ecuación 0x .

b. Se observa que los coeficientes de holgura para los valores óptimos del Dual directamente,

desde que los coeficientes de la FO son ceros.

Page 14: Metodo simplex

Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones

14

Problema de Transporte

Frecuentemente se presentan al plantear la distribución de bienes y servicios de varias localizaciones de

suministro, hacia varias ubicaciones de la demanda. Típicamente la cantidad de los bienes disponibles en

cada localización de suministro (origen) es limitada, y la cantidad de los bienes necesarios de cada una de

las localizaciones de demanda (destino) es conocida. Por lo general en un problema de transporte, el

objetivo es minimizar el costo de embarcar los bienes desde los orígenes, hasta los destinos.

Ejemplo:

Sea la empresa REPSOL; este problema involucra el trasporte de un producto (gas) desde 3 plantas hasta

4 centros de distribución. REPSOL tiene plantas en la pampilla, el callao y conchan, la capacidad de

producción para el siguiente período de planificación es como sigue:

Origen Planta Capacidad de producción

de 3 meses / unidad

1 Pampilla 5,000

2 Callao 6,000

3 Conchán 2,500

Total 13,500

La empresa distribuye su producto a través de 4 centros regionales de producción, localizados en Lima,

Chiclayo, Huancayo y Arequipa, el pronóstico de la demanda de 3 meses de los centros de distribución es

como sigue:

Origen Planta Capacidad de producción

de 3 meses / unidad

1 Lima 6,000

2 Chiclayo 4,000

3 Huancayo 2,000

4 Arequipa 1,500

Total 13,500

La gerencia desearía determinar cuánto de su producción deberá embarcarse desde cada una de las

plantas hasta cada uno de los centros de distribución:

Plantas (nodos) Centros de distribución

de origen (nodos de destino)

1. La

Pampill

3.

Conchá

2.

Callao

1. Lima

2. Chiclayo

3.

Huancayo

4.

Arequipa

1,500

6,000

5,000

6,000

4,000

2,500

2,000

Page 15: Metodo simplex

Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones

15

Los bienes embarcados desde los orígenes, hacia los destinos, representan el flujo en la red, los círculos son los nodos y las líneas que los conectan son los arcos, la dirección del flujo (de origen a destino) queda representada por las flechas. Para el problema de transporte de REPSOL, el objetivo es determinar las rutas a usar y la cantidad a embarcar en cada uno de ellas, y que dé cómo resultado el costo mínimo de transporte total.

Origen Tabla de costos

Lima Chiclayo Huancayo Arequipa

La Pampilla 3 2 7 6 Callao 7 5 2 3

Conchán 2 5 4 5

Para resolver este problema, se puede utilizar un modelo de programación lineal; utilizaremos variables de decisión con dobles subíndices, indicando por ejemplo:

11x : Número de unidades que se embarca de la planta 1 hasta el destino 1

12x : Número de unidades que se embarca del origen 1 al destino 2 (la Pampilla – Chiclayo); así

respectivamente En general: Para un problema de transporte con “m” orígenes y “n” destinos, las variables de decisión se pueden escribir como:

"" ijx : Número de unidades embarcadas desde el origen “i” hasta el destino “j”

Donde: i = 1, 2,3,…, n j = 1, 2,3,…, m Como el objetivo del problema de transporte es minimizar el costo total de transportar; para el ejemplo tenemos:

Costo de transporte por unidad transportada desde la Pampilla:

14131211 6723 xxxx

Costo de transporte por unidad transportada desde el Callao:

24232221 3257 xxxx

Costo de transporte por unidad transportada desde Conchán:

34333231 5452 xxxx

La suma de estos costos nos da la función objetivo, que demuestra el costo total de transporte para REPSOL:

343332312423222114131211 545232576723 xxxxxxxxxxxxZMin

s.a. Restricciones de suministro:

000,514131211 xxxx

000,624232221 xxxx

500,234333231 xxxx

Page 16: Metodo simplex

Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones

16

Restricciones de demanda:

000,6312111 xxx

000,4322212 xxx

000,2332313 xxx

500,1342414 xxx

1,2,3,4j 1,2,3;i ;0 ijx

Resultados hallados mediante software especializado: 500,39Z

000,2

500,2

0

0

0

500,1

500,3

23

22

21

14

13

12

11

x

x

x

x

x

x

x

0

0

0

500,2

500,1

34

33

32

31

24

x

x

x

x

x

Ruta Unidades

embarcadas Costo

Unitario $ Costos

Totales $ desde hasta

Pampilla Lima 3,500 3 10,500 Pampilla Chiclayo 1,500 2 3,000 Callao Chiclayo 2,500 5 12,500 Callao Huancayo 2,000 2 4,000 Callao Arequipa 1,500 3 4,500

Conchán Lima 2,500 2 5,000

Totales 13,500 17 39,500

Variantes al problema de transportes Las variantes al problema de transportes pueden implicar una o más de las siguientes situaciones:

1. Oferta o suministro total no igual a la demanda total Se presenta muy seguido; si el suministro total es mayor a la demanda total, no es necesaria ninguna modificación a la formulación del problema lineal, aparecerá en el solución del P.L. un suministro excedente como una holgura. La holgura correspondiente a cualquier origen en particular se puede interpretar como suministro u oferta sin utilizar, es decir una cantidad que no se ha embarcado desde el origen. Si el suministro total es inferior a la demanda total, el modelo de P.L. de un problema de transporte, no tendrá una solución factible. En este caso, modificaremos la representación en red, agregando un origen ficticio, con un suministro igual a la diferencia entre la demanda total y el suministro total. Al agregar el origen ficticio a cada destino, el modelo de P.L. tendrá una solución factible. A cada uno de los arcos que salga del origen ficticio, se le asigna un costo unitario igual a “0”, de manera que el valor de la solución óptima del problema modificado, represente el costo de

Page 17: Metodo simplex

Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones

17

embarques correspondiente a unidades realmente embarcadas (ningún embarque realmente se hará desde el origen ficticio). Al poner en práctica la solución óptima, aquellos destinos que muestren embarques recibidos del origen ficticio, serán los que experimenten carencia o demanda insatisfecha.

2. Maximizar la F.O.

En algunos problemas de transporte, el objetivo que maximice la utilidad o los ingresos. Empleando valores de la utilidad o de ingresos unitarios como coeficientes de la F.O., simplemente resolveremos un problema lineal de Maximización en vez de Minimización. Este cambio no afecta a las restricciones.

3. Rutas con capacidad limitada

La formulación de P.L. de problemas de transporte, también puede tomar en consideración capacidades o cantidades mínimas para una o más de las rutas; por ejemplo, supongamos que en el ejemplo de REPSOL, la ruta Conchán – Lima (del origen 3 al destino 1), tenía un capacidad de 1,000 unidades debido a disponibilidad limitada de espacio en su modo de transporte normal.

4. Rutas no aceptables Quizás no pueda ser posible establecer una ruta desde cualquiera de los orígenes hasta cualquiera de los destinos a fin de manejar esta situación; simplemente hacemos desaparecer el arco correspondiente de la red y eliminamos la variable correspondiente de la formulación del PPL.

Supongamos que hay “m” máquinas y “n” destinos

n1,2,3,...,j destino el en variables, en demandada o requerida Cantidad

m , ... 1,2,3,i origen el en unidades en almacenada Cantidad

j

i

b

a

Sea ijc Costo de transporte por unidad del producto ijx

Variables de decisión:

:ijx Nº variables embarcadas desde el origen “i” hasta el destino “j”; con “i = 1,2,3,…,m” y “j = 1,2,3,…,n”

El problema de transportes tiene el siguiente planteamiento:

0

,...,2,1;

,...,2,1;

..

ij

m

i

jij

n

j

iij

m

i

n

j

ijij

x

mjbx

miax

as

xcZMin

demanda

suministro

Ejemplo: i = 2 orígenes; j = 3 destinos

Page 18: Metodo simplex

Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones

18

3,2,1;2,1

0

..

32313

22212

12111

2232221

1131211

232322222121131312121111

ji

x

bxx

bxx

bxx

axxx

axxx

as

xcxcxcxcxcxcZMin

ij

Origen 1 (variables) Origen 2 (variables)

Solución Z x11 x12. x13 x21 x22 x23

1 -c11 -c12 -c13 -c21 -c22 -c23 O

1 1 1 aI

1 1 1 a2

1 1 bI

1 1 b2

1 1 b3

Tabla de transporte:

1 2 3

1 x11 c11

x12. c12

x13 c13

2 x21 c21

x22 c22

x23 c23

Modelo de transporte Balanceado

n

j

j

m

i

i ba11

Un modelo de transporte balanceado indica que las unidades almacenadas en todos los orígenes deben ser igual en número a las demandas de todos los destinos.

Orígenes

j: D e s t i n o s

i

Page 19: Metodo simplex

Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones

19

Esta condición es impuesta pues es fundamental en el desarrollo de la técnica de transporte. Cualquier problema puede ser balanceado convirtiéndolo artificialmente a un problema con igual número de unidades almacenadas que demandadas. Si la demandas excede a lo almacenado, se agrega un origen ficticio, el cual almacena la cantidad excedente si hay almacenamiento sobrante, un destino ficticio es usado para absorber las cantidades excedentes. Los costos de transporte del origen ficticio a todos los destinos son “0”, esto es equivalente a no embarcar desde el origen ficticio. Similarmente los costos de transporte de todos los orígenes a un destino ficticio son ceros. La técnica de transporte: Los pasos básicos de la técnica de trasporte son: Paso 1: Determinar una solución factible inicial Paso 2: Determinar la variable entrante elegida entre las variables no básicas. Si todas las variables

satisfacen la condición de optimalidad, entonces el problema terminó, en caso contrario pasar al paso 3.

Paso 3: Determinar una variable saliente usando la condición de factibilidad seleccionada entre la variable de solución básica corriente, entonces encontrar la nueva solución.

Solución básica inicial La definición del modelo de transporte, requiere que el total de las unidades almacenadas, debe ser igual al total de las cantidades demandadas; este requerimiento resulta en una ecuación dependiente, lo cual significa que el modelo de transporte tiene “m+n-1” ecuaciones independientes, por lo tanto, una solución básica inicial factible debe incluir “m+n-1” variables básicas. Usando la tabla de transporte se puede obtener una solución básica inicial, por cualquiera de los siguientes métodos:

1.- Método de la esquina nor-oeste:

Se empieza en la casilla (1,1) calculando ),(min 1111 bax

Si 11 ba ; calculamos un nuevo 1b , que es igual a :

11

'

1 abb ; y se pasa a la casilla (2,1)

Si 11 ba ; calculamos un nuevo 1a , que es igual a :

11

'

1 baa ; y se pasa a la casilla (1,2)

Debemos hallar el número de ecuaciones independientes, y por ende, el número de variables básicas que debe tener nuestro problema: “m+n-1” Obs: Si x(i,j): i<j entonces x(i+1,j) i>j entonces x(i,j+1)

Page 20: Metodo simplex

Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones

20

j i

Ejemplo: 2.- Método de aproximación Vogel (MAV)

Para cada columna, es necesario buscar los dos costos ijc más bajos y calcular su diferencia, de

igual manera para cada fila; se tendrán entonces “m+n” diferencias. Se debe buscar la columna o

fila cuya diferencia sea mayor, e introducir a la base ijx correspondiente a la casilla de costos más

bajos (i, j). Eliminar la fila o columna, repetir el proceso para la tabla resultante, y se procede de esta forma hasta obtener la solución básica factible. Ejemplo:

1 2 3 4

1

10

0

20

11

15

2 12

7

9

20

25

3 0

14

16

18

5

5 15 15 10

1 2 3 4 5 ia

1

7

10

9

8

6

30

2 5

3

6

7

7

20

3 1

4

5

9

12

40

jb 15 25 5 20 25

Page 21: Metodo simplex

Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones

21

3.- Método de Salto de Piedras (Stepping Stone) Paso 1.- Se determina una solución inicial, utilizando cualquier método anterior. Paso 2.- Se determinan las variables entrante y saliente para la tabla utilizando las condiciones de

optimalidad y factibilidad.

Paso 3.- Se termina el proceso cuando todos los costos son mayores o iguales a cero 0ijc

Ejemplos: Iteración 1 Paso1:

Paso 2: Condiciones de optimalidad = La variable que ENTRA es de la menor costo : ijc menor

de todos

Variables no básicas

LOOP ijc

13x

1312222313 xxxxx 180792013 c

14x

1412222414 xxxxx 207201114 c

21x

2122121121 xxxxx 570101221 c

31x

31342422121131 xxxxxxx 1518207010031 c

32x

3234242232 xxxxx 9182071432 c

33x

3334242333 xxxxx 9182091613 c

Paso 3: Condiciones de factibilidad = La variable que SALE de la base se elije entra las V.B.

ubicadas entre las casillas negativas del loop al que pertenece la variable entrante, como aquella que tiene el menor valor.

555

31342422121131

xxxxxxx

1 2 3 4

1

5 10

10 0

20

11

15

2 12

5

7

15 9

5 20

25

3 0

14

16

5 18

5

5 15 15 10

Entra

Page 22: Metodo simplex

Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones

22

En caso de empate, se elige arbitrariamente cualquier variable. En esta caso, 34x sale.

Paso 4: Se reconstruye la nueva tabla, sumando o restando según el signo de cada una de las

variables del loop entrante, el valor de la variable saliente.

Se continúa hasta encontrar todos los ijc mayor o iguales a ceros.

Iteración 2: Paso1:

Paso2:

Variables no básicas

LOOP ijc

13x

1312222313 xxxxx 180792013 c

14x

1412222414 xxxxx 207201114 c

21x

2122121121 xxxxx 570101221 c

32x

3212113132 xxxxx 2401001432 c

33x

33311112222333 xxxxxxx 240100791633 c

34x

34242212113134 xxxxxxx 1520701001834 c

1 2 3 4

1

0

3411 xx

10 15

3412 xx

0

20

11

2

12 0

3422 xx

7

15 9 10

3424 xx

20

3 5

3431 xx

0

14

16 0

3434 xx

18

1 2 3 4

1

0 10

15 0

20

11

2

12

0 7

15 9

10 20

3 5 0

14

16

18

Entra

Page 23: Metodo simplex

Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones

23

Paso 3:

00

2122121121

xxxxx

Sale 011 x

Paso 4:

Iteración 3:

Paso1:

Paso2:

Variables no básicas

LOOP ijc

11x

1121221211 xxxxx 512701011 c

13x

1312222313 xxxxx 180792013 c

14x

1412222414 xxxxx 207201114 c

1 2 3 4

1

0

1111 xx

10 15

1112 xx

0

20

11

2 0

1121 xx

12 0

1122 xx

7

15 9

10

20

3 5

0

14

16 0

18

1 2 3 4

1

10

15 0

20

11

2 0

12

0 7

15 9

10 20

3 5 0

14

16

18

Entra

Page 24: Metodo simplex

Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones

24

32x

3222213132 xxxxx 1971201432 c

33x

3323213133 xxxxx 1991201633 c

34x

3424213134 xxxxx 10201201834 c

Paso 3:

1510

1412222414

xxxxx

Sale 1024 x

Paso 4:

Si realizamos la siguiente iteración, se mostrará que todos los ijc son mayores o iguales a cero, por tanto

el resultado final ya fue encontrado, donde:

3155*015*910*712*010*115*0

5

15

10

0

10

5

31

23

22

21

14

12

Z

x

x

x

x

x

x

1 2 3 4

1

10

5 0

20

10 11

2 0

12

10 7

15 9

20

3 5 0

14

16

18

Page 25: Metodo simplex

Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones

25

Problemas de Asignación Existen ciertas clases de problemas de transporte balanceados, llamados problemas de asignación, en el que todas las ofertas y las demandas son iguales a 1. Así, un problema de asignación se caracteriza por el conocimiento del costo de asignación de cada punto de oferta a cada punto de demanda. La matriz de costos del problema de asignación se llama matriz de costos. Sean las variables:

1 2 3

1 x11 c11

x12. c12

x13 c13

2 x21 c21

x22 c22

x23 c23

3 x31 c31 x32 c32 x33 c33

F.O.

3,2,1;2,1

10

1

1

1

1

1

..

2313

2212

2111

232221

131211

232322222121131312121111

ji

xox

xx

xx

xx

xxx

xxx

as

xcxcxcxcxcxcZMin

ijij

ijx = 1; si se asigna la oferta “i” para satisfacer la demanda del trabajo “j”

ijx = 0; si no se asigna la oferta “i” para satisfacer la demanda del trabajo “j”

Como todas las ofertas y las demandas del problema de asignación son números enteros, todas las variables en la solución óptima del problema debes ser valores enteros.

Como el lado derecho de toda restricción es igual a “1”, cada ijx debe ser un entero no negativo, no mayor

que 1 y, por lo tanto, cada ijx debe ser igual a “0” o “1”. Esto implica que se puede ignorar las restricciones

ijx =0 o ijx =1.

El Método Húngaro : Para resolver problemas de asignación (min), utilizaremos el método Húngaro:

Paso 1: Encuentre primero el elemento mas pequeño en cada renglón de la matriz m x m. Construya una matriz al restar de cada costo el costo mínimo de su renglón. Encuentre, para esta

Trabajo

Maquina

Page 26: Metodo simplex

Programación Lineal Lic. Mario E. Ninaquispe Soto Investigación de Operaciones

26

nueva matriz, el costo mínimo en cada columna; construya una nueva matriz (llamada matriz de costos reducidos) al restar de cada costo el costo mínimo de su columna. Paso 2: Dibuje el número mínimo de líneas (horizontales, verticales o ambas) que se necesitan para cubrir todos los ceros en la matriz de costos reducidos. Si se requieren m líneas para cubrir todos los ceros, se dispone de una solución óptima entre los ceros cubiertos de la matriz. Si se necesitan menos de m líneas para cubrir todos los ceros, siga con el Paso 3. Paso 3: Encuentre el menor elemento no cero (llámelo k) en la matriz de costos reducidos, que no está cubierto por las líneas dibujadas en el Paso 2. Ahora reste k de cada elemento no cubierto de la matriz de costos reducidos y sume k a cada elemento de la matriz de costos reducidos cubierto por dos líneas. Regrese al paso 2.

Ejemplos:

1. Una empresa tiene cuatro máquinas y tiene que terminar cuatro trabajos. Hay que asignar cada máquina para que termine un trabajo completo. El tiempo requerido para preparar cada máquina para terminar cada trabajo se muestra en la siguiente tabal:

Tiempo (Hrs.)

Trabajo 1 Trabajo 2 Trabajo 3 Trabajo 4

Máquina 1 14 5 8 7

Máquina 2 2 12 6 5

Máquina 3 7 8 3 9

Máquina 4 2 4 6 10

La empresa quiere minimizar el tiempo total de preparación que se requiere para terminar los cuatro trabajos. Utilice la programación lineal para resolver este problema.

2. Se cuenta con cinco empelados para realizar cuatro trabajos. En la tabla se da el tiempo que tarde cada persona en realizar cada trabajo. Determinar la asignación de los empelados a los trabajos que minimiza el tiempo total requerido para realizar los cuatro trabajos.

Tiempo (Hrs.)

Trabajo 1 Trabajo 2 Trabajo 3 Trabajo 4

Persona 1 22 18 30 18

Persona 2 18 - 27 22

Persona 3 26 20 28 28

Persona 4 16 22 - 14

Persona 5 21 - 25 28

3. Un federación deportiva de natación reúne un equipo de relevos para los 400 metros de nado

combinado; cada nadador debe nadar 100 metros de pecho, espalda, mariposa, o libres. La federación cree que cada nadador realizará los tiempos dados en la siguiente tabla:

Tiempo (seg.)

Libre Pecho Mariposa Espalda

Nadador 1 54 54 51 53

Nadador 2 51 57 52 52

Nadador 3 50 53 54 56

Nadador 4 56 54 55 53