Está en la página 1de 54

1

Universidad Autnoma de Nuevo Len


Facultad de Ingeniera Mecnica y Elctrica

Investigacin de Operaciones

Clase 3
Dra. Jania Astrid Saucedo Martnez
2

Herramientas Computacionales

Lindo
3

: Linear Interactive and Discrete Optimizer

Se especializa en software de Optimizacin Lineal, no lineal, entero


y cuadrtico.

LINDO es uno de los software de Optimizacin ms populares en la


educacin e investigacin.

Versin Restricciones Variables Enteras


Super 500 2,000 200
Hyper 4,000 8,000 800
Industrial 16,000 32,000 3,200
Extended 32,000 200,000 20,000
4

El nombre de cada variable debe comenzar con una letra y puede contener
hasta 8 caracteres alfanumricos.

Trminos variables a la izquierda y termino independiente a la derecha.

El compilador de LINDO no distingue entre maysculas y minsculas.

Como no se pueden utilizar desigualdades estrictas LINDO admite uso de


estos signos en vez de los que incluyen igualdad (< es igual a y >a ).

El estado (Status) se puede clasificar como: Optimal (ptima), Feasible


(Factible), Infeasible (no factible), Unbounded (Ilimitado o no acotado).
5

Nombre de las ecuaciones siguiendo las reglas de los nombres


de las variables finalizando con un parntesis de cierre()).

Comentarios (!).

LINDO solo reconoce 5 operadores: +, -, >, <,=. No se aceptan


parntesis para indicar precedencias y se toman las operaciones de
izquierda a derecha.

El valor de las variables por defecto en un modelo de LINDO


son no-negativo y continuas.
6

FREE <Variable> remueve todos los lmites en <Variable>,


permitiendo a al <Variable> tomar cualquier valor real positivo o
negativo.

GIN <Variable> hace la<Variable>una entera (restricta a un


conjunto de enteros no negativos).

INT <Variable> hace la <Variable> binaria (restricta a 0 1).

SLB(SUB) <Variable> <Value> pone un lmite inferior


(superior) en <Variable> de <Value>.

TITLE <Title> hace <Title> el ttulo del modelo.


7

LINDO
8

Al darle click en SOLVE se despliega lo


siguiente

Damos click en
SOLVE
9

Damos click en SI y
desplegar la siguiente
pantalla.

La siguiente tabla se desplegar. Esta nos


dice que tipo de solucin es, en este caso
es ptima (en la pgina 7 se muestran los
distintos tipos de soluciones) y cuanto
tiempo tarda.
10

Valor de la funcin
objetivo
Valor de las variables
11

Tipos de Solucin
Cuando tenemos una solucin infactible (el problema no tiene solucin, es decir,
no se cumple algunas restricciones al mismo tiempo) se desplegarn las siguientes
pantallas y no nos dar algn valor de la funcin objetivo ni valores de variables.
12

Cuando la solucin es no acotada (la funcin objetivo crece indefinidamente


cuando estamos maximizando y decrece indefinidamente cuando estamos
minimizando). Se desplegarn las siguientes pantallas y no nos dar un valor muy
grande (maximizando) de la funcin objetivo o muy pequeo (minimizando).
13

El nico tipo de solucin que falta es la solucin ptima mltiple,


este tipo de solucin no lo detecta LINDO, pero podemos darnos
cuenta que es una solucin mltiple cuando solucionamos varias veces
el mismo problema, obtenemos el mismo valor de la funcin objetivo,
pero obtenemos varios valores distintos para las variables.
14

Excel

Seleccionamos el botn de
Instalar el Solver de Excel office

Opciones de excel, al darle


click aparecer la siguiente
pantalla
15

Seleccionamos la opcin
complementos

Despus seleccionamos
la opcin administrar
complementos de
excel.

Posteriormente damos
click en ir.
16

Seleccionar Solver u
dar click en el botn
aceptar.
17
Para calcular el valor de la FO,

Ejemplo de Excel empleamos la funcin de excel


sumaproducto de los coeficientes por
las variables.

max 10x1 + 6x2


s. a: 4x1 + 8x2 800
4x1 + 3x2 600
6x1 + 2x3 600
x 1, x 2 0

Se copian los datos de la


FO.

Celdas donde van las


variables, no se
llenan se dejan
vacas.
18
Para cada una de las celdas, es la suma
producto de las variables por los
coeficientes de las restricciones.

Signos de desigualdad de
Coeficientes de las referencia, texto fijo
restricciones Lados derechos de las
restricciones
19
Despus de haber capturado el modelo en las celdas.
Seleccionamos el men datos, la opcin Solver.
20
Aparecer la siguiente pantalla. En la celda objetivo seleccionamos la
celda donde se encuentra la operacin
suma producto de los coeficientes de
la FO.
En la celda cambiando las celdas21
seleccionamos las celdas que
rellenamos.
En la seccin de sujeto a las22
restricciones, le damos click en agregar
y seleccionamos las restricciones.
Aparece la siguiente ventana y llenas23
los datos correspondientes.
24
Tomar en cuenta las siguientes
condiciones dependiendo de la versin
del office que tengan.

Verficar que el mtodo de solucin sea


Simplex LP

Y tener seleccionado la
opcin de convertir
variables sin
restricciones en no
negativas. Y por tlimo
dar resolver.
Si tienes esta versin del office, dar25
click en el botn Opciones. Dar click en
adaptar modelo lineal y no negatividad
de variables. Y por ltimo dar resolver.
26

Algoritmo
Simplex
27

Un poco de historia
El algoritmo smplex, descubierto por el matemtico
norteamericano George B. Dantzig en 1947, es una tcnica popular para
dar soluciones numricas del problema de la programacin lineal.

El mtodo del simplex se utiliza, sobre todo, para resolver problemas de


programacin lineal en los que intervienen tres o ms variables (aunque
tambin se aplica cuando se cuenta con 2 variables).

El proceso Gauss-Jordan constituye la base del mtodo simplex.


28

Es un procedimiento iterativo que permite ir mejorando la


solucin a cada paso. El proceso concluye cuando no es posible
seguir mejorando ms dicha solucin.

Se parte de un valor de la funcin objetivo en un vrtice


cualquiera, el mtodo consiste en buscar sucesivamente otro
vrtice que mejore al anterior. La bsqueda se hace siempre a
travs de los lados del polgono (la regin factible y por vrtices).
29

Cmo el nmero de vrtices (y de aristas) es finito, siempre se


podr encontrar la solucin.

El mtodo del simplex se basa en la siguiente propiedad: si la


funcin objetivo, f, no toma su valor mximo (mnimo) en un
vrtice cualquiera nombrado A, entonces hay una arista que parte
de A y llega a un mejor punto, el cual hace que f mejore (aumente
si es maximizar y disminuya si es minimizar)
30

aractersticas del Mtodo Simplex


Un vrtice es una interseccin de n restricciones.

Un punto que satisface todas las restricciones se dice que es


factible.

Un vrtice (en la grfica) se llama solucin bsica.

Un problema con n variables tendr sus vrtices en la interseccin


de n restricciones.

Si un vrtice es factible se llamar solucin bsica factible


(SBF).
31

El mtodo simplex requiere iniciar con una solucin bsica


factible.

El origen (cero) siempre es una solucin bsica, aunque no


siempre es factible Porque? (deduccin mediante la grafica).

Una variable bsica tiene en su columna un solo valor distinto


a cero.

Todas las variables no bsicas toman un valor de cero.


32

eparacin para el Mtodo Simplex


El procedimiento descrito es para problemas de minimizacin y
consiste en lo siguiente:

1. Poner el problema en forma estndar: minimizacin.


max f(x)=-min f(x)

2. Convertir las desigualdades en igualdades, agregando un termino de


penalizacin mediante una variable de holgura si es desigualdad , o
restando una variable de holgura si es desigualdad .

3. Tener todos los lados derechos positivos y las variables positivas.


33

Ejemplo 1
maximizar: z = x1 - x2 -minimizar: z = -x1 + x2 1
s. a: x1 + x2 -4 s. a: -x1 - x2 4
2x2 x3 2 2x2 x3+ + x3- 2
x1 - x2 = 3 x1 - x2 = 3
x1 0 x1 , x3- 0
x2 0 x3+ , x2 0
x3 irresctricta
2
Cuando una variable es
-minimizar: z = x1 + x2 Irrestricta hacemos
s. a: x1 - x2 - s1 = 4 x3 = x3+ - x3-
-x1 - x2 = 3 x3+ , x3- 0
2x2 x3+ + x3- -s2 = 2
x1, x2, x3+ , x3- 0
34

Ejemplo 2
minimizar: z = -3x1 - x2 minimizar: z = -3x1 - x2
s. a: x1 + 3x2 6 s. a: x1 + 3x2+s1 = 6
x1 - x2 4 x1 - x2+s2 = 4
x1, x2 0 x1, x2, s1, s2 0

maximizar: z = x1 + x2 -minimizar: z = -x1 + x2


s. a: x1 - x2 -6 s. a: -x1 -x2 - s1 = 6
x1 + 2x2 4 x1 - 2x2 - s2 = 4
x1 0 x1, x2, s1, s2 0
x2 0
Mtodo Simplex
maximizar: z = 3x1 + x2 -minimizar: z = -3x1 - x2
s. a: x 1 - x2 4 s. a: x1 - x2 + s1 = 4
x1 + 3x2 6 x1 + 3x2 + s2 = 6
x1, x 2 0 x1, x2, s1, s2 0

Cj -3 -1 0 0

Bsicas x1 x2 s1 s2 Bi Cj

s1 1 -1 1 0 4 0
s2 1 3 0 1 6 0
Cr -3 -1 0 0 z= 0

35
36

Pasos del Mtodo Simplex


Paso 1. Elegir la variable entrante (la ms promisoria, es decir, la
que tiene menor su valor de costo reducido).

Paso 2. Elegir una variable saliente (aquella cuya razn del lado
derecho sea menor y cuyo coeficiente sea positivo).

Paso 3. con el elemento pivote, hacemos pivoteo (operaciones fila


y columna) para meter (a la base) la variable entrante y sacar
(de la base) la variable saliente.

Paso 4. Si todos los costos reducidos son no negativos, la solucin


actual es ptima. En caso contrario volver al paso 1.
37

Paso 1 del Mtodo Simplex


Encontrar la variable de decisin que entra en la base.
Para escoger la variable de decisin que entra en la base, nos
fijamos en la ltima fila, la de los coeficientes de la funcin objetivo
y escogemos la variable con el coeficiente negativo mayor (en valor
absoluto).

Bsicas x1 x2 s1 s2 Bi Cj
Cj -3 -1 0 0
s1 1 -1 1 0 4 0
s2 1 3 0 1 6 0
Cr -3 -1 0 0 z= 0

La columna de la variable que entra en la base se llama columna


pivote.
38

Paso 2 del Mtodo Simplex


Encontrar la variable de holgura que sale de la base.

Para encontrar la variable de holgura que tiene que salir de la base,


se divide cada trmino de la ltima columna (valores solucin) por
el trmino correspondiente de la columna pivote, siempre que estos
ltimos sean mayores que cero.

Bsicas x1 x2 s1 s2 bi
s1 1 -1 1 0 4 4/1=4
s2 1 3 0 1 6 6/1=6
F. O. -3 -1 0 0 0
39

En el caso de que todos los elementos fuesen menores o iguales


a cero, entonces tendramos una solucin no acotada y no se
puede seguir.

Si hubiese algn elemento menor o igual que cero en la columna


pivote, no se hace dicho cociente.

Esta fila se llama fila pivote.

Si al calcular los cocientes, dos o ms son iguales, indica que


cualquiera de las variables correspondientes pueden salir de la base.

En la interseccin de la fila pivote y columna pivote tenemos el


elemento pivote operacional.
40

Paso 3 del Mtodo Simplex


Operaciones fila, columna ( Gauss-Jordan) para meter (a la base) la
variable entrante y sacar (de la base) la variable saliente.

Cij

Bsicas x1 x2 s1 s2 bi Cij

CR.

Este proceso se sigue hasta que no aparezca algn valor negativo en la fila
CR Si no aparece ninguno, es que hemos llegado a la solucin ptima del
problema.
41

Cij

Bsicas x1 x2 s1 s2 bi Cij

F. O.

Cij

Bsicas x1 x2 s1 s2 bi Cij

F. O.
42

Criterio de Parada para maximizacin

Si en lugar de minimizar se trata de un problema de maximizar se


sigue el mismo proceso, pero cambiando el sentido del criterio, es decir,
para entrar en la base se elige la variable cuyo valor, en la fila de la
funcin objetivo, sea el mayor de los positivos y se finalizan las
iteraciones cuando todos los coeficientes de la fila de la funcin objetivo
son negativos.
43

Ejemplo 3
maximizar: z = 3x1 + 2x2 -minimizar: z = -3x1 - 2x2
s. a: 2x1 + x2 18 s. a: 2x1 + x2 + s1 = 18
2x1 + 3x2 42 2x1 + 3x2 + s2 = 42
3x1 + x2 24 3x1 + x2 + s3 = 24
x1, x 2 0 x1, x2, s1, s2, s3 0

Bsicas x1 x2 s1 s2 s3 bi
s1 2 1 1 0 0 18
s2 2 3 0 1 0 42
s3 3 1 0 0 1 24
FO -3 -2 0 0 0 0
44

Cij

Bsicas x1 x2 s1 s2 s3 bi Cij

F. O.

Cij

Bsicas x1 x2 s1 s2 s3 bi Cij

F. O.
45

Ejemplo 4
maximizar: z = 40x1 + 60x2 -minimizar: z = -40x1 - 60x2
s. a: 2x1 + x2 70 s. a: 2x1 + x2 + s1 = 70
x1 + x2 40 x1 + x2 + s2 = 40
x1 + 3x2 90 x1 + 3x2 + s3 = 90
x1, x2, s1, s2, s3 0
x1, x 2 0
Cj -40 -60 0 0 0 0

Bsicas x1 x2 s1 s2 s3 bi

s1 2 1 1 0 0 70
s2 1 1 0 1 0 40
s3 1 3 0 0 1 90
CR -40 -60 0 0 0 0
46

Cij

Bsicas x1 x2 s1 s2 s3 bi Cij

F. O.

Cij

Bsicas x1 x2 s1 s2 s3 bi Cij

F. O.
47

Casos Especiales
del Mtodo Simplex
48

Ejemplo. D
eg
en
max z = 3x1 + 9x2 er
s. a: x1 + 4x2 8 ad
x1 + 2x2 4 a
x1, x 2 0
49

In
Ejemplo so fi
lu ni
Max z = 2x1 + 4x2 ci ta
s. a: x1 + 2x2 5
on s
x1 + x2 4
es
x1, x 2 0
50

N
Ejemplo o
Ac
Max z = 2x1 + x2 ot
s. a: x1 - x2 10 ad
2x1 40 a
x1, x 2 0
51

Degeneracin
Ocurre cuando existe un empate en la seleccin de la variable que sale este
empate se rompe arbitrariamente. El valor de la Funcin Objetivo no
mejora en dicha iteracin.

Iteracin Bsica x1 x2 x3 x4 bi
0 z -3 -9 0 0 0
x2 entra x3 1 4 1 0 8
x3 sale
x4 1 2 0 1 4
1 z -3/4 0 9/4 0 18
x1 entra x2 1 0 2
x4 sale
x4 0 - 1 0
2 z 0 0 3/2 3/2 18
ptima x2 0 1 - 2
x1 1 0 -1 2 0
52

Mltiples Soluciones ptimas


Cuando el CR de las variables no bsicas es = a 0, la variable no bsica
puede entrar a la base sin alterar el valor de z, provocando un cambio en el
valor de las variables.

Iteracin Bsica x1 x2 x3 x4 bi
0 z -2 -4 0 0 0
x2 entra x3 1 2 1 0 5
x3 sale
x4 1 1 0 1 4
1 z 0 0 2 0 10
x1 entra x2 1 0 5/2
x4 sale
x4 0 - 1 3/2
2 z 0 0 2 0 10
ptima x2 0 1 1 -1 1
x1 1 0 -1 2 3
53

Solucin Infactible
Cuando empleamos el uso de variables artificiales en el modelo
original, para ofrecer al diseo una solucin factible inicial y al lograr la
optimalidad estas variables se hacen cero para obtener una solucin
factible de no ser as la solucin es infactible al problema original.

Iteracin Bsica x1 x2 x4 x3 R bi
0 z -3-3M -2-4M M 0 0 -12M
x2 entra x3 2 1 0 1 0 2
x3 sale
R 3 4 -1 0 1 12
1 z 1+5M 0 M 2+4M 0 4-4M
(seudo- x2 2 1 0 1 0 2
ptima)
R -5 0 -1 -4 1 4
Variable artificial
dentro de la base
54

Solucin No Acotada
Cuando en la tabla del simplex en el rengln de la z existe una variable
no bsica que puede entrar pero al determinar la variable que sale nos
damos cuenta que en su columna existen solo valores de ceros o negativos
lo que significa que esa variable puede hacer crecer en forma indefinida a
z sin que se infrinja ninguna de las restricciones o cuando toda una
columna tiene valores negativos o iguales a 0.

Bsica x1 x2 x3 x4 bi
z -2 -1 0 0 0
x3 1 -1 1 0 10

x4 1 0 0 1 40

También podría gustarte