Herramientas para Resolver Problemas PL. 1

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 47

UNIVERSIDAD DE ORIENTE

FACULTAD DE INGENIERIA Y ARQUITECTURA


INGENIERIA INDUSTRIAL
OPERCIONES DE DECISIÓN
Tema:
Aplicación de herramientas computacionales para resolver problemas de PL.
Catedrático:
(……)
Estudiante:
(….)

CICLO II/2019

UNIVO, (fecha) DE (mes) DE (año)


Índice

INTRODUCCIÓN..................................................................................................................................1
OBJETIVOS..........................................................................................................................................2
Objetivo general.............................................................................................................................2
Objetivos específicos......................................................................................................................2
MARCO TEÓRICO................................................................................................................................3
Programación en PHPSimplex........................................................................................................4
PROGRAMACIÓN LINEAL EN WINQSB..........................................................................................10
Solución de un problema de programación lineal con WINQSB...............................................10
El problema..............................................................................................................................10
PROGRAMACIÓN LINEAL CON TORA............................................................................................18
Solución de un problema de programación lineal con TORA...................................................18
El problema..............................................................................................................................18
PROGRAMACIÓN LINEAL CON LINGO...........................................................................................23
Solución de un problema de programación lineal con LINGO..................................................23
El problema..............................................................................................................................23
PROGRAMACIÓN LINEAL EN SOLVER...........................................................................................27
Algoritmos y métodos utilizados por SOLVER...........................................................................27
¿cómo habilitar el complemento SOLVER de Excel?................................................................28
Solución de un problema de programación lineal con SOLVER................................................30
HERRAMIENTA DESTACADA.............................................................................................................38
TORA............................................................................................................................................38
CONCLUSIONES................................................................................................................................43
FUENTES DE INFORMACIÓN.............................................................................................................44
INTRODUCCIÓN

La programación lineal es el campo de la programación matemática dedicado a


maximizar o minimizar (optimizar) una función lineal, denominada función objetivo,
de tal forma que las variables de dicha función estén sujetas a una serie de
restricciones expresadas mediante un sistema de ecuaciones
o inecuaciones también lineales, corresponde a un algoritmo a través del cual se
resuelven situaciones reales en las que se pretende identificar y resolver
dificultades para aumentar la productividad respecto a los recursos (principalmente
los limitados y costosos), aumentando así los beneficios. El objetivo primordial de
la Programación Lineal es optimizar, es decir, maximizar o minimizar funciones
lineales en varias variables reales con restricciones lineales (sistemas de
inecuaciones lineales), optimizando una función objetivo también lineal.

Hoy en día las herramientas tecnológicas nos facilitan muchas actividades en


nuestra vida personal, estudiantil y profesional; y los métodos de solución de
problemas de programación lineal no son la excepción, existe una variedad de
herramientas tecnológicas para la resolución de problemas de Programación
Lineal unas herramientas más fáciles de usar que otras y también más completas
en la resolución de problemas; Es por ello que en el presente reporte
presentaremos una serie de herramientas utilizadas en el día a día para resolver
problemas de programación lineal mostrando los pasos a seguir de cada una de
ellas para resolver un problema así como también explicar la resolución de un
ejercicio práctico paso a paso usando la herramienta que como equipo de trabajo
consideramos la mejor entre las herramientas presentadas en este documento con
el fin de dejar un claro aprendizaje al momento de utilizarla. Además hablaremos
un poco de la historia de la programación lineal para entender sus orígenes y
como a través del tiempo esta ha venido evolucionando hasta convertirse en un
útil método para resolución de problemas reales mediante el uso de la
computadora.

1
OBJETIVOS

Objetivo general.
 Utilizar una herramienta para resolver un problema de programación lineal.

Objetivos específicos.
 Seleccionar 6 herramientas para resolver problemas de programación
lineal.

 Describir los pasos a seguir de cada herramienta de programación lineal.

 Solucionar un problema de programación lineal utilizando una de las


herramientas siguiendo los pasos.

2
MARCO TEÓRICO

La Programación Lineal es un procedimiento o algoritmo matemático mediante el


cual se resuelve un problema indeterminado, formulado a través de ecuaciones
lineales, optimizando la función objetivo, también lineal.
La programación lineal trata la planeación de las actividades para obtener un
resultado óptimo, esto es, el resultado que mejor alcance la meta especificada
entre todas las alternativas de solución.
La programación lineal constituye un importante campo de la optimización por
varias razones, muchos problemas prácticos de la investigación de operaciones
pueden plantearse como problemas de programación lineal.
La programación lineal es muy usada en las empresas, ya sea para aumentar al
máximo los ingresos o reducir al mínimo los costos de un sistema de producción.

3
Programación en PHPSimplex
Características
Es una herramienta online para resolver problemas de programación lineal.
Su uso es libre y gratuito. PHPSimplex es capaz de resolver problemas
mediante el método Simplex, el método de las Dos Fases, y el método
Gráfico, y no cuenta con limitaciones en el número de variables de decisión
ni en las restricciones de los problemas.

Ventajas
No solo muestra los resultados finales sino también las operaciones
intermedias. También ofrece la solución directa para uso de profesionales.
Otras de sus ventajas son que no precisa de ningún lenguaje para enunciar
el problema, ofrece una interfaz amigable, es cercano al usuario, de manejo
fácil e intuitivo, no es necesario instalar nada para poder usarlo, y está
disponible en varios idiomas

Desventajas
En el método gráfico no específica la región factible.

4
Metodología
Al ingresar nos encontramos con una pantalla que nos pide elegir el método de
resolución, las variables de decisión y las restricciones involucradas. El
programa ofrece dos métodos de resolución, Método Simplex y Método de las
Dos Fases, para una demostración se deja en el Método Simplex/Dos Fases.

Luego nos encontramos con dos cuadros de diálogos.


1- ¿Cuántas variables de decisión tiene el problema? En este campo se
ingresa el número de variables que contenga el problema a plantear.
2- ¿Cuántas restricciones? Determinar el número de restricciones según el
modelo matemático a resolver.

5
A continuación, aparece otra pantalla donde se debe definir si estamos
maximizando o minimizando el funcional. Además, debemos agregar el
coeficiente que corresponde en cada término. Luego hay que escribir las
restricciones. Prestar especial atención no solo a los números sino también a las
desigualdades.

Luego de hacer clic en Continuar, aparecerá una pantalla donde se verá un


resumen de los datos que se han introducido. Si se presta atención a la parte de la
derecha, se verá que el programa ya agrega las llamadas variables slack.

6
Ahora hay dos opciones: ir directo a la tabla óptima (Solución directa) o seguir el
método tabla por tabla (Continuar). Esto dependerá de lo que necesitemos. Si se
necesita ver detalle por detalle el procedimiento, conviene ir viendo tabla por tabla.
En caso contrario, quizás resulte más rápido ir directo a la tabla final.
La primera tabla se muestra de la siguiente manera:

7
Se nota que se pinta el pivote, para saber qué variable entra y cuál sale en cada
tabla. Si hacemos clic nuevamente en Continuar se pasará a la siguiente tabla y
así sucesivamente. En un momento se llega a la tabla óptima o a un mensaje que
explique que el sistema es incompatible y que, por ende, no hay una solución
óptima.

8
A continuación, se muestra la tabla actualizada e iniciar la fase dos:

En la tabla óptima, PHPSimplex muestra un resumen de los resultados debajo.

Determinando la solución óptima.

9
PROGRAMACIÓN LINEAL EN WINQSB
WINQSB es un paquete de herramientas muy versátil que permite el análisis y
resolución de modelos matemáticos, problemas administrativos, de producción,
proyectos, inventarios, transporte, entre muchos otros.

Solución de un problema de programación lineal con WINQSB

El primer paso para resolver un problema de programación lineal (PL) consiste en


el modelamiento matemático.

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  

Declaración de variables

X1 = Cantidad de bicicletas de paseo a producir


x2 = Cantidad de bicicletas de montaña a producir

Restricciones de capacidad

Aluminio:
x1 + 2x2 <= 80

10
Acero:
3x1 + 2x2 <= 120

Función Objetivo

Max Z= 20000x1 + 15000x2

 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:

11
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 (x1, x2)

Número de restricciones: 2 (Disponibilidad de Aluminio y Acero)

12
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:

13
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

14
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.

15
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.

16
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.

17
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.

18
PROGRAMACIÓN LINEAL CON TORA
El software TORA de optimización es un programa basado en Windows® que
tiene por objeto usarse con muchas de las técnicas presentadas en el libro
Investigación de Operaciones de TAHA.

Solución de un problema de programación lineal con TORA

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.

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

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:

19
X1 + 2x2 <= 80

Acero:

3x1 + 2x2 <= 120

Función Objetivo

Max Z= 20000x1 + 15000x2

 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:

20
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:

21
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

22
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.

23
PROGRAMACIÓN LINEAL CON LINGO
LINGO es una herramienta diseñada para construir y resolver modelos de
optimización matemática. LINGO proporciona un paquete integrado que incluye un
potente lenguaje para expresar modelos de optimización, un ambiente con todas
las funciones para los problemas de construcción y edición, y un conjunto de
solucionadores rápidos incorporados, capaces de resolver de manera eficiente la
mayoría de las clases de modelos de optimización.
Resolver de manera eficiente la mayoría de las clases de modelos de
optimización. Aprender acerca del acceso a las herramientas más poderosas de
LINGO a través de su lenguaje es una tarea compleja, sin embargo, los modelos
que no precisan de un complejo uso de recursos pueden resolverse con una
sintaxis sumamente sencilla.

Solución de un problema de programación lineal con LINGO

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.
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?

24
 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

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

Función Objetivo

Z Max = 20000x + 15000y

25
 INGRESANDO LOS DATOS A LINGO
La interfaz de LINGO es quizá la más simple de todas las aplicaciones de
resolución de modelos matemáticos, y en el caso de los modelos de programación
lineal el ingreso de los datos es muy sencillo, en su ventana inicial es suficiente
con utilizar un comando de apertura "MODEL:" y uno de cierre "END", en medio
de estos comandos se escribe el modelo tal como mostramos a continuación:

Como podemos observar, el comando "MAX:" se utiliza para consignar la función


objetivo y su criterio (en caso de minimizar se utilizará MIN:). Para separar cada
línea de código es necesario utilizar el carácter ";". Una vez tenemos el código con
nuestras restricciones establecidas, procedemos a resolver, dando clic en el botón
Solve:

Al resolver obtendremos el reporte solución, con base en sus datos podremos


efectuar un análisis de sensibilidad, hay que tener en cuenta que los datos
expresados en el reporte se encuentran en función de la línea de código
ingresada, por lo tanto, hay que considerar en que línea se escribió cada
restricción y función objetivo para hacer un adecuado análisis.
26
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.
 
Value: Es el valor que toman las variables de decisión en la función objetivo.
Slack or 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.

Dual 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.

27
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.

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 Leon 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.

28
¿cómo habilitar el complemento SOLVER de Excel?

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":

29
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".

30
Solución de un problema de programación lineal con SOLVER

 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

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:

X1 + 2x2 <= 80

Acero:

3x1 + 2x2 <= 120

Función Objetivo

Max Z= 20000x1 + 15000x2

31
 INGRESANDO LOS DATOS A EXCEL
Tal 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


con los datos que tenemos en el problema:

32
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:

33
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:

34
El siguiente paso consiste en asignarle las restricciones a las que el modelo está
sujeto, las cuales son restricciones de disponibilidad de recursos:

35
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.

36
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:

37
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.

38
HERRAMIENTA DESTACADA

TORA
Tora al ser un programa simple, abarca todos los elementos que se necesita para
resolver un problema de programación. Contiene la mayoría de los métodos a
resolver un problema de programación lineal, como lo es método gráfico, el
método tabular, el método de la gran M y el método de las dos fases. Quizá su
única desventaja es que hay que ajustar la configuración de la pantalla como se
planteo anteriormente, pero que tiene fácil solución, así que no es un problema tan
destacable para no usarlo.
A continuación, se planteará un problema para destacar la utilización del programa
tora en la solución un problema de PL.

 Problema
La empresa de juguetes “El niño feliz” fabrica dos tipos de juguetes: El camioncito
de Bomberos y la Super Grúa, para poder producirlos utiliza dos materias primas.

Tipo de Juguete Materia Prima Precio de venta


PVC/kg Polipropileno/kg $/unidad
Camioncitos de 5 2 50
Bomberos
Super Grúa 2 1 20
Disponibilidad 600 250

¿Cuál será la combinación de juguetes a producir en el próximo mes para que la


ganancia sea la máxima?

x1: cantidad de juguetes de camioncito de bomberos a fabricar a fin de maximizar


ganancias.
x2: cantidad de juguetes de super grúa a fabricar a fin de maximizar ganancias.

39
Función objetiva: Maximizar z= 50x1 + 20x2
S.A.: 5x1 + 2x2 ≤ 600
2x1 + x2 ≤ 250
xj ≥ 0

 Ingresando datos en TORA.


Ingresamos a la aplicación de TORA.

Una vez ingresamos en TORA nos mostrara su menú principal de opciones, en el


seleccionamos la opción “Linear Programming”.

40
Una vez seleccionada la opción de programación lineal, nos mostrara 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 nuestro caso
seleccionaremos un nuevo modelo y el formato decimal.

Posteriormente llenamos los cuadros de información, el nombre, el número de


variables, el número de restricciones. Y ENTER.

41
Una vez dando ENTER, nos muestra otro cuadro, en el cual ingresamos los datos
correspondientes del modelo matemático, la función objetiva y las restricciones. Y
luego damos ENTER en SOLVE Menú.

A continuación, nos mostrara un menú de opciones para poder resolver nuestro


problema.

42
Ahora nos situamos en Solve Problem, y se nos mostrara dos opciones Graphical
y Algebraic; seleccionamos Algebraic; luego se nos muestra dos opciones Final
solution, si seleccionamos esta opción nos mostrara la solucion de una sola vez
resuelto automáticamente por el método correspondiente; y Iterations, nos
mostrara los diferentes métodos para resolver el problema. En este caso
seleccionaremos Final solution. Y ENTER.

TORA nos muestra la solucion optima a nuestro problema de PL. Donde


Z=6000
X1=120
x2=0

En respuesta a nuestro problema planteado se determina que la Empresa de


juguetes El niño feliz, debería fabricar 120 juguetes de camioncito de bomberos y
0 de súper grúa para alcanzar la máxima ganancia de $6,000.00

43
CONCLUSIONES

Se puede concluir que las herramientas para problemas de programación lineal


son fundamentales pues nos facilita y nos ahorra tiempo para resolver los
problemas de PL. Aunque depende el tipo de problema a resolver. Pues se
necesita como fundamento la base teórica de lo que es programación lineal, los
diferentes métodos que existen para resolver y encontrar una solucion optima a
nuestro problema. Existen muchas programas y aplicaciones online para resolver.
Pero resulta déficit entender, pues algunos la metodología y la forma en mostrar
los datos son confusos. Pero siempre existe algún programa en el cual nos
podemos adecuar y entender. Como por ejemplo en nuestro caso, que fue TORA.

44
FUENTES DE INFORMACIÓN.

 LINGO. (s.f.). Obtenido de LINGO:


https://www.ingenieriaindustrialonline.com/herramientas-para-el-ingeniero-
industrial/investigación-de-operaciones/programación-lineal-en-lingo/
 PHP SIMPLEX. (s.f.). Obtenido de PHP SIMPLEX:
http://www.phpsimplex.com/simplex/page4.php?f=1&l=es
 SOLVER. (s.f.). Obtenido de SOLVER:
https://www.ingenieriaindustrialonline.com/herramientas-para-el-ingeniero-
industrial/investigación-de-operaciones/programación-lineal-en-solver/
 TORA. (s.f.). Obtenido de TORA:
https://www.ingenieriaindustrialonline.com/herramientas-para-el-ingeniero-
industrial/investigación-de-operaciones/programación-lineal-en-tora/
 WINQSB. (s.f.). Obtenido de WINQSB:
https://www.ingenieriaindustrialonline.com/herramientas-para-el-ingeniero-
industrial/investigación-de-operaciones/programación-lineal-en-winqsb/

45

También podría gustarte