You are on page 1of 31

Instituto Tecnolgico de Toluca

Nombre del trabajo:

Manuales de Programacin Lineal

Materia:

Investigacin de Operaciones

Carrera:

Ingeniera Qumica

Alumnos:

Garca Carbajal Alma Delia 11281011


Blas Carmona Perla Edith 13280537
Domnguez Martnez Medardo Kristaldy 12010593

PROFESORA
Erandi Gonzlez La.
NDICE
1. Manual de resolucin de algoritmo simplex por medio del software LINDO...3
1.1. Introduccin............................................................................3
1.2. Pasos a seguir.........................................................................3
1.2.1. Abrir el entorno.....................................................................3
1.2.2. Funcin objetivo....................................................................4
1.2.3. Restricciones........................................................................4
1.2.4. Guardado del archivo..............................................................4
1.2.5. Ejecucin de la solucin..........................................................5
1.2.6. Anlisis de resultados.............................................................7
2. Manual para la solucin de un modelo con DUAL SIMPLEX en Excel..........7
2.1. Pasos a Seguir...........................................................................7
3. Manual de anlisis de sensibilidad en Excel.......................................14
3.1. Pasos a seguir.......................................................................14
4. Aadir una nueva restriccin en un anlisis de sensibilidad.....................24
4.1. Pasos a Seguir..........................................................................24
4.2. Proceso...............................................................................24
Bibliografa........................................................................... 29

2
1. Manual de resolucin de algoritmo simplex por medio del software LINDO.

1.1. Introduccin.
LINDO (Linear Interactive and Discrete Optimizer), es un software de fcil manejo,
creado por Linus Schrage en 1986, el cual es utilizado para resolver problemas de
programacin lineal, por enteros o cuadrtica. A continuacin, se explicar paso a
paso como resolver nicamente problemas del caso simplex, as como tambin, el
anlisis de los resultados arrojados por el software.

1.2. Pasos a seguir.


Teniendo el siguiente problema de programacin lineal (Winston, 2004).

Min z=4 x 1x 2 S.A 2 x1 + x2 8 x2 5 x 1x 2 4 x1 , x2 0

1.2.1. Abrir el entorno.


Para introducir un problema en el software LINDO, asegrese que el entorno
tenga una ventana o rea de trabajo, vaca, con United como titular.
Ejecute el software lindo y espere a que este cargue el entorno inicial como se
muestra en la figura 1.1, si el entorno no se carga adecuadamente proceda a abrir
una nueva ventana de trabajo dando clic en el icono , o bien, mediante la
seleccin de New (Nuevo) en el men File (Archivo).

Figura 1.1 Entorno inicial del software LINDO.

1.2.2. Funcin objetivo.


El primer enunciado en el software LINDO es siempre la funcin objetivo
De clic en la pestaa denominada United, a continuacin, ingrese la funcin
objetivo (El software reconoce la minimizacin y maximizacin con las
abreviaturas max y min respectivamente de la misma manera como se

3
acostumbra, de un espacio seguido de las variables y su numeracin de cada una
de ellas tal como se muestra en la figura 1.2.
Con esto usted le dice al software que maximice o minimice la funcin objetivo.

Figura 1.2. Declaracin de la funcin objetivo en el software LINDO.

1.2.3. Restricciones.
El software entiende la diferencia entre la funcin objetivo y las restricciones
utilizando las palabras en ingls subject to (sujeto a) lo que normalmente se
escribe como S.A, adems de esto cabe mencionar que los signos, mayor o igual
y menor o igual son escritos y comprendidos por el software de la siguiente forma
<= y >=.
El software supone que todas las variables son no negativas, por lo que las
restricciones de no negatividad no se tienen que introducir en el mismo.
De un enter y prosiga a escribir las restricciones como normalmente las escribira
tal y como se muestra en la figura 1.3.

Figura 1.3. Declaracin de las restricciones en el software LINDO.

1.2.4. Guardado del archivo.


Para guardar el archivo y poder usar despus, seleccione Save (Guardar) en el
men File (Archivo) y cuando pregunte un nombre del archivo remplace el smbolo
* por un nombre que usted escoja (en el ejemplo se escogi el nombre de
LINDO1). No escriba sobre los caracteres LTX as como se muestra en la figura
1.4 y 1.5.

4
Figura 1.4. Ventana de guardado en el software LINDO.

Figura 1.5. Ventana de guardado en el software LINDO modificando el nombre del


archivo.

1.2.5. Ejecucin de la solucin.


Seleccione la orden Solve en el men Solve (Resolver) o de clic en el botn .
Cuando pregunte si usted desea un intervalo (anlisis de sensibilidad) (figura 1.6),
escoja No ya que por el momento solo nos interesa la solucin del problema.
Despus en la siguiente ventana (figura1.7) que aparece seleccione Close (cerrar)
A continuacin, la solucin se mostrar en una nueva ventana llamada Reports
Window, de clic en cualquier parte de esa ventana, y sus datos del problema
original desaparecern del primer plano.
Desplace la parte superior de la ventana usando la flecha nica de la parte
derecha de la ventana teniendo algo como la figura 1.8, si desea regresar a la
pgina del problema puede simplemente minimizar o cerrar esta con los botones
respectivamenre.

5
Figura 1.6. Ventana de decisin para realizar anlisis de sensibilidad.

Figura 1.7. Ventana de resumen.

Figura 1.8. Ventana de resultados.

6
1.2.6. Anlisis de resultados.
Los resultados del software en la figura 1.8 nos indica:
LP OPTIMUM FOUN AT STEP 0
Lo que seala que le software encontr la solucin ptima despus de 0
iteraciones o tambin conocido como pivoteos.

OBJECTIVE FUNCTION VALUE

Indicia que el valor de Z ptimo es 5.

VALUE

Da el valor de la variable en la solucin ptima de las variables X 1 y X2 siendo 0 y


5 respectivamente.

SLACK OR SURPLUS

Proporciona el valor de las variables de holgura o excedentes en la solucin


ptima, por lo tanto:
S 1=3
S 2=0
S 3=9 REDUCED COST

Se refiere al costo reducido de cada variable siendo estos 4 y 0 para X 1 y X2


respectivamente

DUAL PRICES.

Este seran los resultados del dual de nuestro problema.

2. Manual para la solucin de un modelo con DUAL SIMPLEX en Excel

Este mtodo se aplica cuando al menos se tiene una restriccin del tipo
Aplicable generalmente en modelos de minimizacin, el cual parte de una solucin
ptima, pero no factible que a diferencia del mtodo simplex para su solucin se
aplican criterios contrarios al mtodo simplex en la determinacin de variables
entrantes y salientes

2.1. Pasos a Seguir

Se tiene el problema:
Max z= -2x1-x3
S.A.
X1+X2-X35
X1-2x2+4x3 8
X1, X2, X3 0

7
Como primer paso se pasa el problema Max a Min, se debe igualar la funcin
objetivo a 0 de modo que tengamos restricciones del tipo y tambin anexamos
variables de holgura al modelo para su forma aumentada quedando de la
siguiente manera:

Min z+2x1+x3=0
S.A.
-X1-X2+X3 +S1 =-5
-X1+2X2-4X3 +S2=-8

Iniciamos abriendo el software Excel y en el colocamos una tabla en la cual


podemos visualizar una columna para las variables bsicas en este caso z, s1 y
s2; la ecuacin o rengln segn las restricciones de nuestro modelo y una
columna para cada variable involucrada en la forma aumentada de la Funcin
Objetivo z, x1, x2, x3, s1, s2; as como tambin la columna correspondiente a la
solucin que se ira obteniendo segn la figura 2.1:

Figura 2. 1. Vista previa de tabla de iteracin para un modelo de programacin


lineal en EXCEL

Posteriormente se llena la PRIMER tabla segn los respectivos coeficientes y su


signo, en la funcin objetivo que minimiza; el coeficiente de z es 1 para x1 es 2
para x3 es 1 y para x2, s1 y s2 es 0 en su forma aumentada e igualada a cero; as
como los coeficientes de cada restriccin dada en el programa considerando las
variables de holgura segn la figura 2.2.

8
Figura 2. 2. Colocacin de coeficientes para primera iteracin del mtodo dual
simplex

Para iniciar el mtodo dual simplex se aplican criterios contrarios al mtodo


simplex en la determinacin de variables entrantes y salientes estos criterios son:

Criterio de Factibilidad

En este mtodo se utiliza dicho criterio, para determinar la variable bsica que sale
eligiendo aquella que corresponda al valor ms negativo en la columna de
solucin de la tabla auxiliar

Criterio de Optimalizad

Se aplica en el Dual simplex para determinar de entre las variables no bsicas,


una que entre a la columna de variables bsicas sustituyendo la variable de salida
PASOS
Primero haciendo uso del primer criterio escogemos de la columna de solucin el
valor ms negativo, este valor ser nuestra VARIABLE DE SALIDA como podemos
visualizarlo en la figura 3 corresponde al -8, una vez hecho esto se consideraran
todos los coeficientes de ese rengln para efectuar pruebas de coeficiente mnimo
entre el rengln z y este :
Ci/ai
De entre estos valores se escoger el de valor ms chico y diferente de 0 que
corresponder a nuestro pivote para comenzar a iterar nuestro problema y
encontrar su solucin ver figura 2.3

9
Figura 2. 3. Seleccin de variable de salida y valores para obtencin de pivote

Es aqu donde hacemos uso de nuestro software en el cual se nos facilita la


realizacin de operaciones de forma ms rpida a la manual, se selecciona una
nueva celda para realizar otra columna en ella Excel arrojara el valor obtenido de
la operacin para cada coeficiente ci/ai y escogeremos el menor tal y como
podemos percibirlo en la figura 2.4, obtenido el menor nmero la variable no
bsica correspondiente a esa columna a la cual pertenece dicho nmero, ser
nuestra variable de entrada y ser sustituida por la variable bsica del rengln en
amarillo:

Figura 2. 4. Determinacin de variable de salida y entrada

El rengln x5 pasa a ser x3 y el coeficiente sobre este en la columna H (-4)


forzosamente debe dejarse en 1 y todos los dems coeficientes de esa columna a

10
diferencia de este debern ser 0 llevando a cabo las operaciones
correspondientes
Se ubica uno en la tabla 2, rengln 15, columna E y se divide el valor en la celda
entre -4, luego se arrastra la formula hasta las columnas E, F, G, H, I, J y K del
mismo rengln 15, para as todas queden divididas entre -4 segn se percibe en la
figura 2.5 y 2.6:

Figura 2.5. Visualizacin de como insertar datos en tabla 2

Figura 2.6. Arrastre de celda para aplicacin de formula a mas columnas

Los datos obtenidos son los descritos en la figura 2.7 y cmo podemos observar el
-4 ahora tiene el valor de 1 y queda aplicar ms operaciones entre el rengln x3 y

11
los renglones x4 y z como en la figura 2.8. Hasta que los valores del rengln x4 y z
en la columna H sean 0 segn la figura 2.9

Figura 2.7. Obtencin de 1er pivote primera iteracin

Figura 2.8. Operacin entre rengln x3 y renglones x4 y z

12
Figura 2.9. Obtencin de resultados primera iteracin

Como an existen nmeros con signo negativo en la solucin de variables


bsicas, se repite el procedimiento descrito anteriormente hasta obtener solo
valores positivos en la columna de solucin para las variables bsicas, que ser la
solucin de nuestro modelo como lo muestra la figura 2.10 y figura 2.11 siguientes:

Figura 2.10. Segunda iteracin del modelo de programacin lineal

13
Figura 2.11. Solucin Dual Simplex al modelo de programacin lineal

3. Manual de anlisis de sensibilidad en Excel.


3.1. Pasos a seguir.
3.1.1. Ingresar a software (Excel) Figura 3.1.

Figura 3.1. Pgina de inicio Excel.


3.1.2. Ingresar frmulas para la resolucin de ejercicios de sensibilidad
Figura 3.2.

14
Figura 3.2. Frmulas de anlisis de sensibilidad.

3.1.3. Para el ejercicio (Hillier, 2010):


Max z =3 x 1 + x 2+ 4 x 3
S . A . 6 x 1+3 x 2 +5 x3 25
3 x1 + 4 x 2+5 x 3 20 x1 , x2 , x3 0
z3 x 1x 24 x 30 S 10 S 20 S3
3.1.4. Aadir variables de holgura en las restricciones.
6 x 1+3 x 2 +5 x 3 + S1=25
3 x1 + 4 x 2+5 x 3 +S 2=20
3.1.5. Pase datos de funcin objetivo y restricciones a matriz Figura 3.3. y
Figura 3.4.

Figura 3.3 Matriz de datos de problema de sensibilidad

15
Figura 3.4. Distribucin de datos en la matriz de la funcin problema

3.1.6. Resolver matriz con mtodo simplex.

3.1.6.1. Elija el valor ms negativo del rengln z Figura 3.5.

Figura 3.5. Resolucin de matriz, eleccin de valor negativo.

3.1.6.2. Se divide el valor de las soluciones del rengln 2 y 3 entre


valores de columna X3. Elija como pivote el nmero ms cercano
a cero Figura 3.6.

16
Figura 3.6. Seleccin del pivote.

3.1.6.3. Hacer 1 el nmero que se escogi como pivote Figura 3.7.

Figura 3.7. Eleccin de nmero pivote.

3.1.6.4. Dividir todo el rengln en que se hizo pivote entre la celda que
se eligi en el paso antepasado. Para ello seleccione la celda
correspondiente y se divide entre el valor pivote Figura 3.8.

Figura 3.8. Divisin del rengln.

17
3.1.6.5. Hacer 0 la columna del nmero que se hizo pivote. Se
introduce la formula en el programa, en la celda correspondiente
de la columna tres Figura 3.9.
R 1=R 1+ 4 R 3
R 2=R 25 R 3

Figura 3.9. Columna 0.

Para el rengln 1: En cada celda del rengln 1, ingrese la frmula correspondiente,


utilizando los valores de la matriz anterior Figura 3.10.

Figura 3.10. Con rengln 1.

Para el rengln 2: En cada celda del rengln 2, ingrese la frmula correspondiente,


utilizando los valores de la matriz anterior Figura 3.11.

18
Figura 3.11. Con rengln 2.

3.1.6.6. Si en el rengln de la variable bsica z an hay valor negativo,


se sigue el procedimiento anterior. Se elige el valor ms negativo
del rengln z Figura 3.12.

Figura 3.12. Eleccin del valor ms negativo de la matriz.

3.1.6.7. Se divide las soluciones del rengln 2 y 3 entre valores de


columna X1. Elegir como pivote el nmero ms cercano a cero
Figura 3.13.

19
Figura 3.13. Eleccin del nmero pivote.

3.1.6.8. Hacer 1 el nmero que se escogi como pivote Figura 3.14.

Figura 3.14 Transformando pivote.

3.1.6.9. Dividir todo el rengln en que se hizo pivote entre la celda que
se eligi en el paso pasado Figura 3.15.

20
Figura 3.15. Divisin del pivote.

3.1.6.10. Hacer 0 la columna del nmero que se hizo pivote Figura 3.16.

Figura 3.16. Columna 0.

Para hacer 0, se introduce la formula en el programa, en la celda correspondiente.


3
R 1=R 1+ R 2
5
3
R 3=R 3 R 2
5
Para el rengln 1: En cada celda del rengln 1, ingrese la frmula correspondiente,
utilizando los valores de la matriz anterior Figura 3.17.

Figura 3.17. Rengln 1.

21
Para el rengln 3: En cada celda del rengln 3, ingrese la frmula correspondiente,
utilizando los valores de la matriz anterior Figura 3.18.

Figura 3.18. Rengln 3.

La solucin del problema esta dad en la Figura 3.19:

Figura 3.19. Solucin optima de la matriz.

Para anlisis de sensibilidad.


Si se cambia b.

[ ]
b= 25 =[ 25 20 ]
20 b=
20[ ]
40 [
= 40 20 ]
3.1.7. Observar en la tabla de frmulas ingresadas en Excel cuales son las
variables que cambian al modificarse b Figura 3.20.

Figura 3.20. Frmulas de anlisis de sensibilidad.

22
3.1.8. Ingresar en Excel, segn la ltima matriz los datos de las formulas
necesarios Figura 3.21.

Figura 3.21. Datos de la ltima matriz.

3.1.9. Realizar operacin para calcular b* Figura 3.22.

Figura 3.22. Resultados de b.

3.1.10. Realizar operacin para calcular z* Figura 3.23.

23
Figura 3.23. Resultados de z.

4. Aadir una nueva restriccin en un anlisis de sensibilidad


4.1. Pasos a Seguir

Se tiene el siguiente modelo de programacion lineal (GEO Tutoriales, 2013):

Consideremos que se desea incorporar una nueva restriccin definida por la


siguiente expresin: 3X+Y<=600.

Cambiara la actual solucin ptima y valor ptimo conocidos?

4.2. Proceso
i. Se ingresa al sofware lindo y se coloca el problema con la
respectiva funcion objetivo y las restricciones a las que esta
sujeta segn la figura 4.1:

24
Figura 4.1. Visualizacin de la ventana principal de sofware LINDO.

ii. Posteriormente se da solucion al modelo por as decirlo


original sin modificar dato alguno se desplegara dos cuadros
de dialogo como lo muestra la figura 4.2

Figura 4.2. Visualizacin de la Opcin de ejecucin de anlisis de sensibilidad.

25
iii. Para nuestro modelo la solucin es segn lo mostrado en la
figura 4.3:

Iteraciones
realizadas para

Solucin ptima

Figura 4.3. Cuadro de Dialogo con resumen de la solucin del modelo de


programacin lineal.
iv. Podemos tambin visualizar un desglose ms completo en
una ventana que el mismo software despliega detrs de la
ventana principal y para ms comodidad podemos tener
ambas ventanas desde la barra de men en opcin: WINDOW
y dando clic en la opcin TILE segn se muestra en la figura
4.4:

26
Figura 4.4. Visualizacin de dos ventanas en la misma consola.

v. Una vez que realizamos lo anterior podemos percibir las dos


ventanas de trabajo en el escritorio segn la figura 4.5 y de
este modo visualizar el desglose detallado de nuestro ejercicio
problema

Figura 4.5. Percepcin de las dos ventanas en la misma consola.

En el desglose podemos observar segn la figura 4.6 valores numricos tiles


para la interpretacin de nuestro anlisis y comprender que pasa con nuestra
funcin objetivo la solucin ptima de z, el valor de las variables de holgura de
nuestras restricciones y el valor de nuestras variables bsicas:

27
Figura 4.6. Esquema de apartados arrojados por el software LINDO para la
solucin de modelos de programacin lineal.

Para responder a la pregunta anterior se recomienda evaluar la actual solucin


ptima encontrada por el software en la nueva restriccin definida; si sta se
cumple entonces el modelo conservara su solucin ptima y valor ptimo

vi. Al evaluar obtenemos: 3(100)+(350)<=<=600, es decir, la


solucin ptima actual es infactible al incorporarse esta nueva
restriccin.
vii. Para incorporar esta modificacin en la tabla final del Mtodo
Simplex agregamos una nueva fila y una nueva columna
asociada a una variable s4>=0 que ser la holgura de la
nueva restriccin y damos solucin a ambos problemas en el
software LINDO usando tanto el problema original como
agregando la restriccin, de este modo se obtiene lo descrito
en la figura 4.7.

28
Figura 4.7. Visualizacin de la consola solucin al Problema con restriccin
aadida y sin ella.

viii. En caso contrario la solucin ptima actual ser infactible y


se debe incorporar esta situacin en el modelo original para
encontrar la nueva solucin del mismo.

ix. Al agregar una nueva restriccin que no satisface la solucin


actual el problema podra resultar ser infactible como
podemos visualizarlo en la figura 4.8 al tener un dominio de
soluciones factibles vaco.

29
Figura 4.8. Visualizacin de problema con nueva restriccin que no satisface la
solucin actual.
x. Para poder ver la tabla de iteracin en un problema de
programacin lineal basta dirigirse al men en la opcin
reports y eligiendo la opcin de TABLEAUT y dando clic esta
se desglosara y ser visible en la ventana segn la figura 4.9.

Figura 4.9. Desglose de tabla de iteracin en consola

Como podemos visualizar el uso de herramientas como un software, es


de gran ayuda a la hora de resolver problemas de programacin lineal y
software como LINDO, permiten un anlisis ms detallado de cmo
resolver estos modelos mediante un anlisis de sensibilidad incluido en
el cdigo de este programa. En conclusin la aportacin de cdigos que
permiten la solucin de modelos lineales facilita y reduce tiempo para su
solucin y mejora la iteracin del modelo a travs de la computadora
que puede ser fcilmente manipulada por el usuario y poder mejorarla.

Bibliografa
GEO Tutoriales. (15 de 05 de 2013). Gestin de Operaciones .
Recuperado el 27 de 04 de 2017, de Incorporar Nueva Restriccin
(Anlisis Postoptimal Programacin Lineal) :
http://www.gestiondeoperaciones.net/programacion_lineal/incorpor
ar-nueva-restriccion-en-un-modelo-analisis-de-sensibilidad-en-
programacion-lineal/
Hillier, F. S. (2010). Introduccin a la Investigacin de Operaciones. En
Introduccin a la Investigacin de Operaciones. (pgs. 244-245).
McGraw-Hill.
Winston, W. L. (2004). Investigacin de operacines aplicaciones y
algoritmos . En W. L. Winston, Investigacin de operacines

30
aplicaciones y algoritmos (4 edicin ed., pg. 151). Indiana,
Estados Unidos: Thomson.

31

You might also like