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
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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