Você está na página 1de 12

Sesi

Software de Aplicacin

1
I
OBJETIVOS

Conocer y aplicar el Lindo, WinQsb y PomQm, como herramientas computacionales de


solucin de problemas de programacin lineal.
Plantear problemas de programacin lineal.

II
TEMAS A TRATAR
Significado de Lindo, WinQsb y PomQm.
Uso del software Lindo, WinQsb y PomQm para solucionar problemas de Programacin
Lineal.
Planteamiento de problemas.

III
MARCO TEORICO
INVESTIGACIN OPERATIVA
Algunas definiciones por diferentes autores:
TAHA.
La Investigacin de Operaciones aspira a determinar el mejor curso de accin ptimo de un
problema de decisin con la restriccin de recursos limitados, aplicando tcnicas matemticas
para representarlo por medio de un modelo y analizar problemas de decisin.
PRAWDA.

Es la aplicacin por grupos interdisciplinarios de Mtodo Cientfico a problemas relacionados


con el control de las organizaciones o de sistemas en relacin al hombre-mquina, con el fin de
producir soluciones ptimas para dichas organizaciones.
THIERAUF Y GROSSE.
La Investigacin de Operaciones utiliza el enfoque planeado (Mtodo Cientfico) y un grupo
interdisciplinario a fin de representar las complicadas relaciones funcionales como modelos
matemticos para suministrar una base cuantitativa en la toma de decisiones y descubrir nuevos
problemas para un anlisis cuantitativo.
SOCIEDAD AMERICANA DE INVESTIGACIN DE OPERACIONES (ORSA).
La Investigacin de Operaciones est relacionada con el mejor diseo y operacin del sistema
(hombre-mquina) usualmente bajo ciertas condiciones y requiriendo la asignacin de recursos
escasos.
PROGRAMACIN LINEAL
Tomado de www.sites.upiicsa.ipn.mx/polilibros/portal/.../P.../UNIDAD113.htm
Sin duda alguna uno de los mtodos analticos ms viables econmicamente para la solucin de
problemas de administracin es el de la Programacin Lineal, el cual tiene diversas aplicaciones
y ha sido aplicado exitosamente en las industrias petrolera, automotriz, qumica, forestal,
metalrgica, agrcola, militar, etc. Incluso en mercadotecnia, se le ha empleado para seleccionar
los medios de publicidad y los canales adecuados de distribucin.
Para comprender lo que es la Programacin Lineal es importante entender los siguientes
conceptos bsicos:
a. Variables de Decisin: Con las variables de decisin nos referimos al conjunto de
variables cuya magnitud deseamos determinar resolviendo el modelo de programacin
lineal.
b. Restricciones: Estn constituidas por el conjunto de desigualdades que limitan los
valores que puedan tomar las variables de decisin en la solucin.
c. Funcin Objetivo: Es la funcin matemtica que relaciona las variables de decisin.
d. Linealidad: Se refiere a que las relaciones entre las variables, tanto en la funcin
objetivo como en las restricciones deben ser lineales.
e. Desigualdades: Las desigualdades utilizadas para representar las restricciones deben ser
cerradas o flexibles, es decir, menor - igual (<=) o mayor igual (>=). No se permiten
desigualdades de los tipos menor- estrictamente o mayor estrictamente, o abiertas.
f.

Condicin de no negatividad: En la programacin lineal las variables de decisin


slo pueden tomar valores de cero a positivos. No se permiten valores negativos.

Modelo General de la Programacin Lineal.


La estructura matemtica general de la programacin lineal es la siguiente:

Como podemos ver en el modelo la funcin que se va maximizar o minimizares la funcin


objetivo, sujeta a (s.a.) las restricciones. Xj >= 0, es la condicin de no negatividad.
Las Xj son las variables de decisin cuyo valor se desea conocer. aij, bi, cj son parmetros.
El vector Cj [ C1, C2,...Cn] se llama vector de costos o vector de precios.

HERRAMIENTAS DE SOFTWARE:
WinQsb: Quantitative Systems for Business for Windows (Sistema Cuantitativo para
Negocios para Windows)

Lindo: Linear INteractive and Discrete Optimization (Optimizacin Lineal Interactiva y discreta).
PomQm: Quantitative Methods and Production and Operations Management (Mtodos Cuantitativos
y Produccin y Administracin de Operaciones)

1. Solucin mediante el Software WinQSB.


El paquete WinQSB es una herramienta de Aprendizaje asistido por el computador para ganar
una experiencia prctica" slida de los conceptos y tcnicas usadas en el curso de Investigacin
Operativa.
El QSB (Quantitative Systems for Business Sistemas Cuantitativo para Negocios) es
desarrollado y mantenido por Yih-Long Chang. Este paquete de software contiene los
algoritmos de solucin de problemas de Investigacin de Operaciones y Gerencia (OR/MS) ms
ampliamente usados.
WinQSB es un sistema interactivo de ayuda a la toma de decisiones que contiene herramientas
muy tiles para resolver distintos tipos de problemas en el campo de la investigacin operativa.
El sistema est formado por distintos mdulos, uno para cada tipo de modelo o problema. Entre
ellos destacaremos los siguientes:

Linear programming (LP) and integer linear programming (ILP): este mdulo incluye
los programas necesarios para resolver el problema de programacin lineal grficamente o
utilizando el algoritmo del Simplex; tambin permite resolver los problemas de
programacin lineal entera utilizando el procedimiento de Ramificacin y Acotacin
(Branch&Bound).

Linear goal programming (GP) and integer linear goal programming (IGP): resuelve
modelos de programacin multiobjetivo con restricciones lineales.

Quadratic programming (QP) and integer quadratic programming (IQP): resuelve el


problema de programacin cuadrtica, es decir, problemas con funcin objetivo cuadrtica y
restricciones lineales. Utiliza un mtodo Simplex adaptado. Los modelos de IQP los
resuelve utilizando algoritmos de ramificacin y acotacin.

Network modeling (NET): incluye programas especficos para resolver el problema del
transbordo, el problema del transporte, el de asignacin, el problema del camino ms corto,
flujo mximo, rbol generador, y problema del agente viajero.

Nonlinear programming (NLP): permite resolver problemas no lineales irrestringidos


utilizando mtodos de bsqueda lineal, y problemas no lineales con restricciones utilizando
el mtodo SUMT (funcin objetivo con penalizaciones sobre el incumplimiento de las
restricciones).

PERT/CPM: mdulo de gestin de proyectos en los que hay que realizar varias actividades
con relaciones de precedencia.

A cada uno de estos mdulos se accede directamente desde la entrada a WinQSB en el men
principal, seleccionando respectivamente la opcin respectiva.

1.1 CREANDO UN NUEVO PROBLEMA DE PROGRAMACIN LINEAL O ENTERA


Para resolver problemas de programacin Lineal o Entera seleccionamos la siguiente opcin:

Luego la opcin Nuevo Problema (New Problem) genera una plantilla en el cual se introducirn
las caractersticas de nuestro problema:

A continuacin se describirn cada una de las casillas de esta ventana:

Ttulo del problema (Problem Title): Se escribe el ttulo con que identificamos el
problema.
Nmero de variables (Number of Variables): Se escribe la cantidad de variables con
que cuenta el sistema en el modelo original.
Nmero de restricciones (Number of Constraints): Se anotan la cantidad de
restricciones con que cuenta el modelo (no se debe contar la restriccin de no negatividad).
Objetivo (Objective Criterion): Los problemas de programacin lineal y entera se
clasifican en dos: problemas de Maximizacin (Maximization) y Minimizacin
(Minimization).
Formato de entrada de datos (Data Entry Format): Permite elegir entre dos plantillas
distintas para introducir los datos del modelo. La primera alternativa se asemeja a una hoja de
clculo, mientras que la segunda, es una plantilla diseada especialmente para este fin.
Tipo de variable (Default Variable Type): En esta parte se indica las caractersticas del
modelo:
Continuas no negativas (Nonnegative continuous): Indica que el modelo lo
componen variables continuas no negativas (iguales o mayores a cero).
Enteras no negativas (Nonnegative Integer): Variables enteras no negativas.
Binarias (Binary): Variables cuyo valor solo sern 0 o 1.
Sin asignar / Irrestrictas (Unsigned/unrestricted): Variables irrestrictas.
1.2 UN PROBLEMA EJEMPLO
Mediante un ejemplo demostraremos como se introducen los datos para la creacin de un nuevo
problema de programacin lineal.
ENUNCIADO
Una Empresa industrial produce 4 modelos de Teclados cada uno de los cuales es tratado en los
departamentos de ensamblado y acabado. El nmero de horas hombre de mano de obra
necesaria, por teclado en cada departamento es:

Ensamblado
Acabado

Modelo1 Modelo2 Modelo3 Modelo4


4
10
7
10
1
1
3
4

Se dispone de 6000 horas hombre en el departamento de ensamblado y de 4000 en el de


acabado en los prximos 6 meses. Las utilidades en dlares para cada modelo de teclado son:
2.2, 5, 3 y 4 respectivamente para los teclados 1, 2, 3 y 4.
Existen restricciones de producir al menos 100 unidades del modelo 2, a lo ms 200 unidades
del modelo 3 y a lo ms 250 unidades del modelo 4. La produccin del modelo 1 es irrestricta.
Sea X1, X2, X3 y X4 las variables del problema que representan el nmero de teclados modelo
1, 2, 3 y 4 respectivamente a producir los prximos 6 meses.
Determine la cantidad debe producir el fabricante de cada modelo, de manera que las utilidades
sean las mximas.
Una vez analizado el enunciado el lector proceder a crear el modelo matemtico.
MODELO MATEMTICO
Funcin Objetivo:
Max Z = $2.2X1+$5X2+$3X3+$4X4
Restricciones (St)
4X1+10X2+7X3+10X4<=6000 Hrs. Hombre de Ensamblado
X1+X2+3X3+4X4<=4000 Hrs. Hombre de Acabado
X2>=100 Demanda mnima del producto 2
X3<=200 Demanda Mxima del producto 3
X4<=250 Demanda Mxima del producto 4
X1,X2,X3,X4>=0
Podemos ver claramente que estamos ante un problema de Maximizacin, con cinco
restricciones y cuatro variables (las cuales trabajaremos como variables continuas de tipo No
Negativas).
Teniendo claro esto, se alimenta el programa desde la ventana Nuevo Problema (New
Problem):

Una vez llenados todos los campos pulsamos el botn OK, generando nuevas opciones dentro
del programa.
1.3 INGRESANDO EL MODELO
Si se escogi por la plantilla tipo hoja de calculo (Spreadsheet Matrix Form), se mostrar una
nueva ventana dentro de la ZONA DE TRABAJO, la cual servir para introducir el modelo
matemtico.

La primera fila (Variable -->) corresponde a los encabezados de las variables (en gris) definidas
automticamente por el sistema como X1, X2, X3 y X4 (son las tres variables del ejemplo),
seguido por el operador de relacin (Direction) y la solucin de las restricciones o Lado de la
mano derecha (Right Hand Side -R.H.S.). El nombre de las variables se puede cambiar
accediendo al submen Nombre de variables (Variables Names) del men Editar (Edit).

La segunda fila (Maximize) permite introducir los coeficientes de la funcin objetivo. Luego
aparecen una serie de filas identificadas por la letra C y un consecutivo, las cuales corresponden
a la cantidad de restricciones con que cuenta el modelo:

Por ltimo aparecen tres filas donde definimos el valor mnimo aceptado por cada variable
(Lower Bound), el valor mximo (Upper Bound) y el tipo de variable (Variable Type). En el
caso del valor mximo, M significa que la variable podr recibir valores muy grandes
(tendientes a infinito).
1.4 EL MODELO DE EJEMPLO
Para ingresar nuestro modelo propuesto en el ejemplo, el primer paso es llenar la segunda fila
con los coeficientes de la funcin objetivo:

Se sigue con las restricciones C1, C2, C3, C4 y C5:

Usted podr cambiar los operadores de relacin pulsando dos veces seguidas sobre ellos con el
botn izquierdo del Mouse. Las otras filas se mantienen iguales.
1.5 RESOLVIENDO UN PROBLEMA
Cuando haya terminado de ingresar el modelo en la plantilla, podr utilizar las herramientas que
provee el men Resolver y Analizar (Solve and Analyze).
Este men cuenta con las siguientes opciones:

Resolver el problema (Solve the Problem): Resuelve el problema mediante el mtodo


Simplex Primal. Muestra la solucin final completa.
Resolver y mostrar los pasos (Solve and Display Steps): Muestra cada uno de los pasos
o las interacciones realizadas por el Simplex hasta llegar a la solucin ptima.
Mtodo Grfico (Graphic Method): Resuelve el problema de programacin lineal
mediante el mtodo grfico (para problemas que trabajan con dos variables).

1.6 RESOLVIENDO EL PROBLEMA EJEMPLO


Seleccionamos la primera opcin del men Resolver y Analizar (Solve and Analyze), donde se
mostrar una pequea ventana con el mensaje El problema ha sido resuelto. La solucin
ptima ha sido lograda.

Pulsamos el botn ACEPTAR y automticamente el programa generar la solucin optima.

1.7 ENTENDIENDO LA MATRIZ FINAL

Esta matriz presenta suficiente informacin sobre el modelo resuelto. La primera parte
(Solution Summary) corresponde al anlisis de las variables definidas (X1, X2, X3 y X4).

La columna Valores de la solucin (Solution Value) presenta los valores ptimos encontrados.
En este ejemplo se tiene que X1 es 1250 unidades, X2 es 100 unidades X3 y X4 es 0 unidades.
La columna Costo o Utilidad Unitaria (Unit Cost or Profit) muestra los coeficientes de la
funcin objetivo para cada variable.
La columna Contribucin Total (Total Contribution) representa el costo o utilidad generado por
cada variable. Por ejemplo, si el valor de la variable X2 es 100 unidades y la utilidad unitaria es
$5, el beneficio total resultar de la multiplicacin de ambos valores dando como resultado
$500. Justo debajo de la ltima contribucin aparece el valor de Z ptimo ($3250).
La columna Costo Reducido (Reduced Cost) identifica el costo que genera incrementar una
unidad para cada variable no bsica. La siguiente columna llamada Estatus de la Variable
(Basis Status) muestra si una variable es bsica (Basic) o no (at bound).
La siguiente parte de la matriz final (Constraint Summary), presenta las variables de holgura
del sistema (C1, C2, C3, C4 y C5).

La columna Lado de la mano derecha (Left Hand Side) muestra el valor alcanzado al
reemplazar los valores de X1, X2, X3 y X4 en cada restriccin (recuerde que cada restriccin se
identifica con su variable de holgura).
Las dos columnas siguientes (Direction y Right Hand Side) muestran las especificaciones
dadas a las restricciones en cuanto al operador de relacin ( o ) y los valores originales de las
restricciones (6000, 4000, 100, 200 y 250).
La columna Dficit o Supervit (Slack or Surplus) muestran los valores de las variables de
holgura y la columna Precios Sombras (Shadow Price) corresponde a los precios sombras o
precios duales; cunto se estara dispuesto a pagar por una unidad adicional de cada recurso.
1.8 LA OPCIN IMPRIMIR
Cada ventana mostrada puede ser impresa mediante la opcin Imprimir (Print) que se encuentra
en el men Archivo (File) o mediante el botn

desplegado en la barra de herramientas.

1.9 GUARDANDO UN PROBLEMA


Si quiere acceder a un problema posteriormente simplemente seleccione la opcin Salvar como
(Save As) o pulsando sobre el botn

2. Solucin mediante el Software LINDO 6.0


LINDO (Linear INteractive and Discrete Optimization)
Es un paquete para computadora de fcil uso, trabaja en entorno WINDOWS, y mediante el cual
se puede resolver problemas de programacin lineal, entera y binaria, fue creada en 1986 por
Linus Schrage.
Programacin lineal en LINDO
Para resolver un problema de programacin lineal en LINDO, asegrese que la pantalla tenga
una ventana, o rea de trabajo, vaca, con Untitled en la parte superior del rea de trabajo. Si
es necesario se abre una nueva ventana mediante la seleccin de New (nuevo) en el men File
(archivo), o presionando el botn de New File (Nuevo archivo).
Utilizamos el editor de texto del LINDO, para editar el modelo matemtico, de la siguiente
manera:

Para resolver el modelo se procede de la siguiente manera:


* Seleccione la opcin Solve en el men Solve (Resolver).
* Cuando pregunte si usted desea el anlisis de sensibilidad, escoja por ahora no. Esto se
explicar ms adelante.
* Cuando este terminada la solucin, aparecer una pantalla que muestra el estado del
comando del Solve. Despus de revisar la informacin mostrada, seleccione Close (Cerrar).
* Ahora debe usted ver la informacin que introdujo en una ventana que se llama Reports
Window. De un clic en cualquier parte de esta ventana, y sus datos desaparecern del
primer plano. Desplcese hasta la parte superior de la ventana usando la flecha nica de la
parte derecha de la pantalla, y enseguida esta se ver con los siguientes resultados:
* Si desea el anlisis de sensibilidad, al solucionar el problema aparece la siguiente consulta:

Slo debe darle SI y aparecer la siguiente salida:

Interpretacin:
LP OPTIMUN FOUND AT STEP 2
Lo que seala que LINDO encontr la solucin ptima despus de dos iteraciones del algoritmo
simple.
OBJECTIVE FUNCTION VALUE 3250.000000
Indica que el valor de Z ptimo es 3250.
VALUE
Da el valor de la variable en la solucin ptima del PL. Por lo tanto la solucin ptima le
recomienda producir 1250 unidades del modelo 1, 100 del modelo 2 y 0 unidades de los
modelos 3 y 4 (X1 = 1250, X2 = 100, X3 = 0 y X4 = 0)
SLACK OR SURPLUS
Proporciona el valor de holgura o excedente de los recursos en la solucin ptima. Por lo tanto,
representa el recurso no utilizado o excedente en la restriccin.
REDUCED COST
Proporciona el coeficiente de la variable en el regln cero del arreglo ptimo; el costo reducido
para las variables bsicas es cero. En el caso de una variable no bsica, el costo reducido es la

cantidad que decrece el valor de z ptimo. Esto quiere decir que si fuera forzado a producir una
unidad del modelo 3, la utilidad disminuira en 0.85 dlares y por una unidad del modelo 4, 1.5
dlares.
De igual forma nos muestra el anlisis de sensibilidad que lo interpretaremos posteriormente.

(La prctica tiene una duracin de 02 horas)

IV
ACTIVIDADES

Para responder las inquietudes de cada problema, utilice el software Lindo, WinQsb o
PomQm.

1.- Una empresa de produccin de muebles dispone de dos diferentes tipos de madera; tiene 1500 pies
tabla del tipo A y 1000 del tipo B, tambin dispone de 800 horas-hombre para efectuar el trabajo. La
demanda semanal que ha estimado es la siguiente: cuando menos 40 mesas, 130 sillas, 30 escritorios y no
ms de 10 libreros. Las cantidades de madera Ay B, las horas-hombre que requiere la elaboracin de cada
unidad de artculo y las utilidades unitarias, estn indicadas en el siguiente cuadro:
Madera Horas
Artculo
A
B Hombre
Mesa
5
2
3
Silla
1
3
2
Escritorio
9
4
5
Librero
12
1
10
Disponibilidad semanal 1500 1000
800

Demanda
Utilidades
Estimada
por unidad
no menos de 40
$ 12
no menos de 130
5
no menos de 30
15
no ms de 10
10

Tomado el modelo matemtico mostrado abajo, resuelva y responda las siguientes inquietudes:
a)

Cul es la utilidad mxima?

b) Cunto se produce de cada artculo?


MODELO MATEMTCIO:
Variables:
Xi: Nmero de unidades a producir semanalmente del artculo i
i=1,2,3,4 (1: Mesas, 2: Sillas, 3: Escritorios, 4: Libreros)
Max 12x1+5x2+15x3+10x4
St
5x1+x2+9x3+12x4<=1500
2x1+3x2+4x3+x4<=1000
3x1+2x2+5x3+10x4<=800
X1>=40
X2>=130
X3>=30
X4<=10
Xi>=0

Pies de Madera A
Pies de Madera B
horas hombre
demanda mnima de mesas
demanda mnima de sillas
demanda mnima de escritorios
demanda mxima de libreros

2.- Lupita est preocupada por su sobrepeso y el costo de la comida diaria, ella sabe que para bajar de
peso, debe consumir a lo ms 1350 Kcaloras, pero requiere un mnimo de 500 mgr. de vitamina A, 350
mgr. de Calcio, 200 mgr. de protenas y 150 mgr de minerales. Con los alimentos de la tabla siguiente,
formule el Modelo de Programacin Lineal que resuelva la dieta de Lupita.

Alimento
Leche
Huevo
Espinacas
Chancho
Pescado
Pastel

Porcin
1 taza
2 unidades
1 racin
2 chuletas
2 trozos
2 rebanadas

Vitam. A
105
75
100
25
150
30

Calcio
75
80
10
50
5

Protenas Minerales
50
35
50
15
125
78
55
100
50
8

Costo
S/. 1.0
S/. 0.7
S/. 0.5
S/. 4.0
S/. 2.0
S/. 1.5

Kcaloras
80
50
175
150
200

Utilizando el modelo matemtico mostrado abajo, resuelva las siguientes inquietudes:


a) Cuntas porciones de cada alimento deber consumir Lupita de manera ptima?
b) Cul ser el costo de la dieta de Lupita.
MODELO MATEMTCIO:
Variables:
Xi: porcin a consumir del alimento i
i=1,2,3,4,5,6 (1:Leche, 2:Huevo, 3:Espinacas, 4:chancho, 5:pescado, 6:pastel)
Min x1+0.7x2+0.5x3+4x4+2x5+1.5x6
St
80x1+50x2+175x4+150x5+200x6<=1350
105x1+75x2+100x3+25x4+150x5+30x6>=500
75x1+80x2+10x4+50x5+5x6>=350
50x1+50x2+125x3+55x4+100x5+8x6>=200
35x1+15x2+78x3+50x5>=150
xi>=0

mximo de caloras
mnimo de mgr de vitamina A
mnimo de mgr de calcio
mnimo de mgr de protena
mnimo de mgr de minerales

3.- Ozark Farms utiliza diariamente por lo menos 800 libras de alimento especial. El alimento
especial es una mezcla de maz y semilla de soya, con las siguientes composiciones:
Alimento para ganado
Maz
Semilla de soya

Libra x libra de alimento para ganado


Protenas
Fibra
Costo x libra
0.09
0.02
0.30
0.60
0.06
0.90

Los requerimientos dietticos diarios del alimento especial estipula por lo menos un 30% de
protenas y cuando mucho un 5% de fibra. Ozark Farms desea determinar el costo mnimo
diario de la mezcla de alimento. (TAHA)
a) Formule el modelo matemtico respectivo.
b) Determine la mezcla de alimentos que permita obtener el menor costo. Cual es el
costo?

4.- Un agricultor cultiva trigo y maz en sus tierras de 45 acres. Es capaz de vender cuando ms
140 toneladas de trigo y 120 toneladas de maz. Cada acre sembrado con trigo rinde 5 toneladas,
y cada acre sembrado con maz produce 4 toneladas. El trigo se vende en 30 dlares la tonelada
y el maz se vende en 50 dlares la tonelada. La cosecha de un acre con trigo requiere de 6 horas
de mano de obra, y la de u acre con maz consume 10 horas. Se puede comprar hasta 350 horas
de mano de obra a 10 dlares la hora. Determine la cantidad de acres de trigo y maz que debe
cultivar el agricultor con la finalidad de maximizar sus ganancias.

Você também pode gostar