Download - Operaciones Tora
El PROBLEMA
Un herrero con 80 Kg. de acero y 120 Kg. de aluminio quiere hacer bicicletas
de paseo y de montaña que quiere vender, respectivamente a 20.000 y 15.000
pesos cada una para sacar el máximo beneficio. Para la de paseo empleará 1
Kg. De acero y 3 Kg. de aluminio, y para la de montaña 2 Kg. de ambos
metales. ¿Cuántas bicicletas de paseo y de montaña deberá fabricar para
maximizar las utilidades?
EL MODELO MATEMÁTICO
Acero Aluminio Precio de Venta
Bicicleta de paseo (x) 1 kg 3 kg $ 20.000
Bicicleta de montaña (y) 2 kg 2 kg $ 15.000
Disponibilidad 80 kg 120 kg
Función Objetivo
MAX Z= 20000x + 15000y
Declaración de variables
x = Cantidad de bicicletas de paseo a producir
y = Cantidad de bicicletas de montaña a producir
Restricciones de capacidad
Aluminio:
x + 2y <= 80
Acero:
3x + 2y <= 120
INGRESANDO LOS DATOS A TORA
Una vez iniciado TORA nos mostrará su menú principal de opciones, en él
seleccionamos la opción "Linear Programming":
Una vez seleccionada la opción de programación lineal, nos mostrará un menú
desde el cual podemos elegir si iniciar un nuevo modelo, o abrir un archivo
existente; además de seleccionar el formato de ingreso de datos, en el cual
recomendamos el formato decimal:
El siguiente paso consiste en completar la información solicitada en la nueva
ventana, correspondiente al nombre del problema, la cantidad de variables y
restricciones:
Una vez consignada la información anterior, y luego de teclear ENTER, nos
mostrará la siguiente interfaz, en la cual debemos consignar la información del
modelo, se trata de un formato tipo matricial muy similar al utilizado
por WinQSB:
Una vez completa la información de la matriz, procedemos a resolver el
modelo, presionando el botón SOLVE. Una vez hagamos esto nos mostrará un
menú en el que podemos modificar el formato numérico de la solución. Luego
de esto, nos mostrará un menú emergente en el que podemos elegir el tipo de
solución que queremos visualizar, se encuentra la solución gráfica y la
algebraica, elegimos la algebraica en este caso y seleccionamos que se nos
muestre el tabulado final:
En el tabulado solución podemos observar como la función objetivo toma el
mismo valor obtenido con los programas de solución de Solver y WinQSB. A
partir de este tabulado podemos efectuar un análisis de sensibilidad teniendo
en cuenta que:
Objective Value: Nos muestra el resultado de nuestra función objetivo, en este
caso la solución óptima tiene una función objetivo (utilidad) de $ 850.000.
Value: El valor que toman las variables de decisión.
Obj Val Contrib: Es la contribución unitaria de las variables de decisión en la
función objetivo.
Slack-/Surplus+: Cuando la restricción en cuestión tiene el operador <=,
corresponde a una holgura, es decir, se puede interpretar como el recurso no
utilizado. Cuando la restricción en cuestión tiene el operador >=, corresponde a
un exceso, es decir, se puede interpretar como el recurso utilizado por encima
de la restricción de mínimo uso.
Min and Max Obj Coeff: Para un coeficiente de la función objetivo en
particular. Este es el rango en que la base actual de la solución sigue siendo la
misma.
Dual price: Llamado en WinQSB como Shadow Price, y en Solver como
Multiplicador de Lagrange, corresponde al cambio marginal de la función
objetivo cuando el valor del lado derecho de la restricción aumenta en una
unidad. En nuestro ejemplo sería así: por cada kg de acero adicional que
tengamos disponible, la función objetivo aumentará en $1250.
El PROBLEMA
Un herrero con 80 Kg. de acero y 120 Kg. de aluminio quiere hacer bicicletas
de paseo y de montaña que quiere vender, respectivamente a 20.000 y 15.000
pesos cada una para sacar el máximo beneficio. Para la de paseo empleará 1
Kg. De acero y 3 Kg. de aluminio, y para la de montaña 2 Kg. de ambos
metales. ¿Cuántas bicicletas de paseo y de montaña deberá fabricar para
maximizar las utilidades?
EL MODELO MATEMÁTICO
Acero Aluminio Precio de Venta
Bicicleta de paseo (x) 1 kg 3 kg $ 20.000
Bicicleta de montaña (y) 2 kg 2 kg $ 15.000
Disponibilidad 80 kg 120 kg
Función Objetivo
MAX Z = 20000x + 15000y
Declaración de variables
x = Cantidad de bicicletas de paseo a producir
y = Cantidad de bicicletas de montaña a producir
Restricciones de capacidad
Aluminio:
x + 2y <= 80
Acero:
3x + 2y <= 120
INGRESANDO A LINEAR AND INTEGER PROGRAMMING (WINQSB)
Una vez se haya ingresado al módulo Linear and Integer Programming, se
abrirá una ventana de inicio del módulo, tal como se muestra a continuación:
En esta ventana podremos entonces crear un nuevo problema, o cargar uno
que ya hayamos desarrollado. Una vez demos clic en "Nuevo Problema (New
Problem)" se abrirá un menú emergente que nos permitirá ingresar los
parámetros básicos del problema:
El programa requiere que se definan las especificaciones del problema, que
incluye el nombre de problema, el número de variables, el número de
restricciones, el criterio de la función objetivo, los tipos de variable por
defecto, y el formato de entrada de datos, ya sea en forma de matriz o en forma
de modelo normal. El nombre de problema, los nombres de variables, nombres
de restricción, el número de variables, número de restricciones , el criterio de la
función objetivo, tipos de variables, y la entrada de datos formato se pueden
modificar mediante el menú Formato y menú Editar una vez se haya abierto el
modelo.
Para el problema que estamos abordando es necesario que ingresemos los
siguientes parámetros:
Número de variables: 2 (x, y)
Número de restricciones: 2 (Disponibilidad de Aluminio y Acero)
Función Objetivo: Maximizar (Utilidades)
Tipos de variables por defecto: Enteras no negativas (Serán bicicletas,
unidades enteras)
Formato de entrada: Matriz (Recomendado)
Una vez se registren los parámetros y al dar clic en el botón OK, se mostrará
la siguiente ventana, en aras de utilizar las mismas variables que en el modelo,
mostraremos el método de renombrar las variables:
Desde el menú EDIT, también podremos modificar el nombre de las
restricciones, tal como se aprecia en la siguiente imagen:
La interfaz para ingresar los valores que controlan el problema es la siguiente:
En ella hemos registrado los datos que controlan nuestro problema de estudio.
El siguiente paso, consiste en resolver el problema, para ello damos clic en el
botón "Solve and Analize": Este comando resuelve el problema . Si se
especifica alguna variable como un entero o binario, el programa utilizará
automáticamente el método de Branch and Bound (Rama y Cotas) para
resolver el problema. El método simplex modificado es utilizado
para resolver problemas de programación lineal continua.
Esta opción mostrará automáticamente un tabulado resumen de la solución si
el problema tiene una solución óptima, mostrará la inviabilidad de análisis si el
problema no es factible, o mostrará si el análisis no acotación si el problema no
está acotado en función objetivo o valores de las variables.
Este mensaje nos indica que el problema ha sido resuelto, y que existe una
solución óptima que ha sido encontrada. Al dar clic en Aceptar, nos llevará al
cuadro resumen de la solución:
Interpretar cada uno de los valores del cuadro solución, es cuan o más
importante que obtener la solución óptima, dado que de dicha interpretación
podremos extraer un buen análisis de sensibilidad:
Solution value: Valor solución, es el valor que toman las variables de decisión
en nuestra solución óptima, en este caso nos indica que se deberán producir
20 bicicletas tipo paseo y 30 bicicletas tipo montaña.
Unit Cost or Profit: El costo unitario o contribución es el valor que les fue
asignado a las variables por nosotros en la función objetivo.
Total Contribution: Es la contribución total a la solución objetivo, es el
producto del valor solución * costo unitario o contribución.
Basic Status: Después de que el problema se resuelve , esto representa si la
variable es una variable de base, en el límite inferior, o en el límite superior en
la tabla simplex final.
Allowable MIN, MAX C(j): Para un coeficiente de la función objetivo en
particular. Este es el rango en que la base actual de la solución sigue siendo la
misma.
Objective Function: Nos muestra el resultado de nuestra función objetivo, en
este caso la solución óptima tiene una función objetivo (utilidad) de $ 850.000
Left Hand Side: Del lado izquierdo, es el valor que toma la ecuación de cada
restricción luego de reemplazar las variables que la componen por los valores
solución. Por ejemplo, la ecuación de la restricción de Acero que es x + 2y <=
80, al reemplazar los valores solución quedará: (20) + 2(30) <= 80, el valor del
lado izquierdo será entonces 80.
Right Hand Side: Del lado derecho, es el valor asignado por nosotros a las
restricciones como máximo o mínimo recurso disponible.
Slack o Surplus: Cuando la restricción en cuestión tiene el operador <=,
corresponde a una holgura, es decir, se puede interpretar como el recurso no
utilizado. Cuando la restricción en cuestión tiene el operador >=, corresponde a
un exceso, es decir, se puede interpretar como el recurso utilizado por encima
de la restricción de mínimo uso.
Shadow Price: El precio sombra de una restricción, es el cambio marginal de
la función objetivo cuando el valor del lado derecho de la restricción aumenta
en una unidad. En nuestro ejemplo sería así: por cada kg de acero adicional
que tengamos disponible, la función objetivo aumentará en $ 1250.
PROGRAMACIÓN LINEAL EN SOLVER
Solver es una herramienta que forma parte de una serie de comandos a veces
denominados de "análisis Y si". Con Solver, puede buscarse el valor óptimo para
una fórmula de celda, denominada celda objetivo, en una hoja de cálculo. Solver
funciona en un grupo de celdas que estén relacionadas, directa o indirectamente, con
la fórmula de la celda objetivo. Solver ajusta los valores en las celdas cambiantes que
se especifiquen, denominadas
Celdas ajustables, para generar el resultado especificado en la fórmula de la
celda objetivo. Pueden aplicarse restricciones para restringir los valores que
puede utilizar Solver en el modelo y las restricciones pueden hacer referencia a
otras celdas a las que afecte la fórmula de la celda objetivo, lo cual lo
constituyen en una herramienta adecuada para solucionar problemas
de programación lineal, y programación lineal entera.
ALGORITMOS Y MÉTODOS UTILIZADOS POR SOLVER
La herramienta Microsoft Excel Solver utiliza el código de optimización no lineal
(GRG2) desarrollado por la Universidad León Lasdon de Austin (Texas) y la
Universidad Allan Waren (Cleveland).
Los problemas lineales y enteros utilizan el Método Simplex con límites en las
variables y el método de ramificación y límite (método de branch and bound),
implantado por John Watson y Dan Fylstra de Frontline Systems, Inc. El
método de branch and bound corresponde al mismo método utilizado
por WinQSB para la solución de problemas de programación lineal entera y/o
que utilicen variables binarias.
CÓMO HABILITAR EL COMPLEMENTO SOLVER DE EXCEL?
Aquí se encuentra la explicación acerca de cómo habilitar este complemento
para las versiones de Microsoft Excel 2007 (izquierda) y 2010 (derecha).
Método para Microsoft Excel 2007: El primer paso consiste en dirigirse al botón
de "Office", y seleccionar la opción "Opciones de Excel":
Luego, se abrirá una ventana emergente de "Opciones de Excel", en ella
vamos a la opción "Complementos" (ubicada en la barra lateral izquierda). Ya
en complementos, nos dirigimos a la opción "Administrar: Complementos de
Excel" y damos clic en botón "IR":
Luego se abrirá una pequeña ventana emergente, en ella se podrán observar
varios complementos junto con una casilla de verificación cada uno. Activamos
la casilla de verificación de Solver y damos clic en "Aceptar":
Método para Microsoft Excel 2010: El primer paso consiste en dirigirse a la
pestaña "Archivo", dirigirse a la opción "Ayuda" y seleccionar la opción
"Opciones":
Luego, se abrirá una ventana emergente de "Opciones de Excel", en ella
vamos a la opción "Complementos" (ubicada en la barra lateral izquierda). Ya
en complementos, nos dirigimos a la opción "Administrar: Complementos de
Excel" y damos clic en botón "IR":
Luego se abrirá una pequeña ventana emergente, en ella se podrán observar
varios complementos junto con una casilla de verificación cada uno. Activamos
la casilla de verificación de Solver y damos clic en "Aceptar":
Una vez se ha habilitado el complemento, para ambas versiones, Solver se
ubicará en la pestaña de "Datos".
SOLUCIÓN DE UN PROBLEMA DE PROGRAMACIÓN LINEAL CON SOLVER
Al igual que para cualquier otro método de resolución, el primer paso para
resolver un problema de programación lineal (PL) consiste en el modelamiento
matemático, y es en esta fase en la que el profesional de Ingeniería Industrial
debe desarrollar su mayor habilidad y destreza. Los pasos para resolver un
problema de PL se encuentran en el módulo de programación lineal. Sin
embargo, dada la interfaz de Excel, el modelamiento se hace más simple,
siempre y cuando nos caractericemos por organizar muy bien la información.
El PROBLEMAUn herrero con 80 Kg. de acero y 120 Kg. de aluminio quiere hacer bicicletas
de paseo y de montaña que quiere vender, respectivamente a 20.000 y 15.000
pesos cada una para sacar el máximo beneficio. Para la de paseo empleará 1
Kg. De acero y 3 Kg. de aluminio, y para la de montaña 2 Kg. de ambos
metales. ¿Cuántas bicicletas de paseo y de montaña deberá fabricar para
maximizar las utilidades?
EL MODELO MATEMÁTICOAcero Aluminio Precio de Venta
Bicicleta de paseo (x) 1 kg 3 kg $ 20.000
Bicicleta de montaña (y) 2 kg 2 kg $ 15.000
Disponibilidad 80 kg 120 kg
Función Objetivo
MAX Z = 20000x + 15000y
Declaración de variables
x = Cantidad de bicicletas de paseo a producir
y = Cantidad de bicicletas de montaña a producir
Restricciones de capacidad
Aluminio:
x + 2y <= 80
Acero:
3x + 2y <= 120
INGRESANDO LOS DATOS A EXCELTal cómo se mencionó, la importancia de una correcta organización de la
información es vital, proponemos la siguiente plantilla para ingresar los datos
de nuestro problema:
El siguiente paso corresponde a registrar la información en la plantilla, de
acuerdo a los datos que tenemos en el problema:
El siguiente paso consiste en formular la plantilla, para ello debemos considerar
¿qué pasaría si cambiaran las variables de decisión?... Pues, en caso tal de
que las variables sufrieran cambios se alteraría la contribución total, y el
inventario de recursos. Por ello, debemos formular en consecuencia:
Ahora que ya tenemos nuestra plantilla formulada, el siguiente paso consiste
en utilizar Solver para resolver el modelo, para ello, vamos a la pestaña Datos
(En cualquier versión de Office), y seleccionamos el complemento Solver:
Una vez iniciemos Solver se abrirá una ventana emergente llamada
"Parámetros de Solver", en ella como primera medida seleccionaremos nuestra
celda objetivo (Contribución Total) y seleccionaremos el criterio Maximizar:
El siguiente paso, es indicarle a Solver que debe alcanzar el máximo valor para
la celda objetivo mediante la variación de las siguientes celdas (Cambiando las
celdas), es decir, le indicaremos cuales son las variables de decisión:
El siguiente paso consiste en asignarle las restricciones a las que el modelo
está sujeto, las cuales son restricciones de disponibilidad de recursos:
Lo que nos muestra la imagen anterior es la forma de indicarle la restricción a
Solver, para que el inventario usado sea menor o igual al inventario disponible.
De igual forma debe hacerse para el recurso de Aluminio.
La siguiente restricción es la de no negatividad, es decir, que las variables de
decisión no puedan tomar valores menores que cero.
Si quisiéramos resolver el modelo tal cual como está pudiésemos hacerlo, y
obtendríamos quizá una respuesta que distaría de su aplicación práctica, dado
que es probable que la respuesta nos de variables continuas, y en la práctica
vender 0,6 bicicletas es un poco complicado. Por tal razón, agregaremos una
restricción que hace que el ejercicio se resuelva mediante programación lineal
entera, indicando que las variables de decisión deban ser enteras:
Hecho esto, damos clic en Aceptar y en Resolver... Podemos observar como
las variables de decisión, las restricciones (inventario usado) y la contribución
total (celda objetivo) han tomado valores, estos son los valores óptimos según
el modelo formulado. Ahora nos aparecerá un cuadro de diálogo que nos
preguntará si deseamos utilizar la solución de Solver y unos informes que
debemos seleccionar para obtener una tabla resumen de la respuesta y un
análisis de sensibilidad que se insertarán como hojas al archivo de Excel:
El informe de sensibilidad arrojado por Solver es mucho más básico que el que
nos puede proporcionar WinQSB, sin embargo destacamos la información
referente al "Multiplicador de Lagrange" que corresponde al "Shadow Price de
WinQSB" conocido como el precio sombra, es decir, el cambio marginal de la
función objetivo cuando el valor del lado derecho de la restricción aumenta en
una unidad, en este caso, por cada kg de Acero adicional que dispongamos, la
función objetivo aumentaría en $ 1250.