Escolar Documentos
Profissional Documentos
Cultura Documentos
Resumen.
En este artculo se plantea la resolucin de un problema de Investigacin Operativa
utilizando PHPSimplex (herramienta online de resolucin de problemas de optimizacin
utilizando el mtodo Simplex), Solver de Microsoft Excel y un prototipo hbrido que
combina las teoras de los Algoritmos Genticos con una tcnica heurstica de bsqueda
local. La hibridacin de estas dos tcnicas es conocida como Algoritmo Memtico. Este
prototipo ser capaz de resolver problemas de Optimizacin con funcin de
maximizacin o minimizacin conocida, superando las restricciones que se planteen.
Los tres mtodos conseguirn buenos resultados ante problemas de Investigacin
Operativa.
El objetivo, adems de resolver el problema propuesto, es comparar cmo se comportan
los tres mtodos anteriormente citados ante el problema y cmo afrontan las dificultades
que ste presenta. Adems, este artculo pretende dar a conocer diferentes tcnicas de
apoyo a la toma de decisiones, con la intencin de que se utilicen cada vez ms en el
entorno empresarial sustentando, de esta manera, las decisiones mediante la matemtica
o la Inteligencia Artificial y no basndose nicamente en la experiencia.
Abstract.
This article tries to give solution to an Operational Research problem by using
PHPSimplex (online tool to solve optimization problems by using Simplex method),
Microsoft Excel Solver and a hybrid prototype which combines the theories of Genetic
Algorithms with a local search heuristic technique. Hybridization of these two
techniques is known as Memetic Algorithm. This prototype will be able to solve
optimization problems with known maximization or minimization function, overcoming
the arised constraints.
The three methods will get good results with problems of Operational Research.
The goal, besides solving the proposed problem, is to compare how the three methods
mentioned behave with the problem and how they face the difficulties it presents.
Additionally, this article tries to present different techniques to support decision-making
with the intention of being used increasingly in the business environment sustaining,
thus, decisions by mathematics or artificial intelligence and not only by experience.
Palabras clave: Simplex, Solver, Algoritmos Genticos, Investigacin Operativa,
Programacin Lineal, Heursticas, Mtodo Hbrido, Algoritmos Memticos, Mtodos
cuantitativos, Optimizacin, Restricciones.
Keywords: Simplex, Solver, Genetic Algorithms, Operational Research, Linear
Programming, Heuristics, Hybrid Methods, Memetic Algorithms, Quantitative
Methods, Optimization, Constraints.
1.
Introduccin
Tcnicas de optimizacin
Existen varias alternativas para dar solucin a un problema complejo que cumpla las
restricciones propuestas y optimice, maximizando o minimizando, una funcin
conocida. En este artculo utilizaremos tres, los cuales se describen a continuacin:
2.1. PHPSimplex
La web www.PHPSimplex.com permite resolver problemas de optimizacin utilizando
el mtodo Simplex.
El mtodo Simplex, descubierto por el matemtico norteamericano George Bernard
Dantzig en 1947, es una tcnica popular para dar soluciones numricas a problemas de
programacin lineal en los que intervienen tres o ms variables.
El lgebra matricial y el proceso de eliminacin de Gauss-Jordan para resolver un
sistema de ecuaciones lineales constituyen la base del mtodo simplex. La resolucin de
programas lineales mediante el mtodo Simplex implica la realizacin de gran cantidad
de clculos a travs de sucesivas tablas, sobre todo cuando el nmero de variables y/o
restricciones es relativamente elevado. En casos reales, la magnitud de los problemas
hace necesario recurrir al uso del computador.
PHPSimplex permite hacer la resolucin paso a paso viendo los cambios que se
producen en las tablas del Simplex.
2.2. Herramienta Solver de Microsoft Excel
Solver es una herramienta para resolver y optimizar ecuaciones mediante el uso de
mtodos numricos. Solver se puede utilizar para optimizar funciones de una o ms
variables, sin o con restricciones. La opcin Solver de EXCEL sirve para resolver
problemas de optimizacin lineal y no lineal; tambin se pueden indicar restricciones
enteras sobre las variables de decisin. Con Solver es posible resolver problemas que
tengan hasta 200 variables de decisin, 100 restricciones explcitas y 400 simples (cotas
superior e inferior o restricciones enteras sobre las variables de decisin). Para acceder a
Solver, seleccione Tools en el men principal y luego Solver.
La forma de usar la herramienta Solver se describe a continuacin. La ventana Solver
Parameters se utiliza para describir el problema de optimizacin a EXCEL. El campo
Set Target Cell contiene la celda donde se encuentra la funcin objetivo correspondiente
al problema en cuestin. Si desea hallar el mximo o el mnimo, seleccione Max o Min.
Si la casilla Value of est seleccionada, Solver tratar de hallar un valor de la celda
igual al valor del campo que se encuentra a la derecha de la seleccin. El cuadro de
dilogo By Changing Cells contendr la ubicacin de las variables de decisin para el
problema. Por ltimo, las restricciones se deben especificar en el campo Subject to the
Constraints haciendo clic en Add. El botn Change permite modificar las restricciones
recin introducidas y Delete sirve para borrar las restricciones precedentes. Reset All
borra el problema en curso y restablece todos los parmetros a sus valores por defecto.
2.3. Algoritmos Genticos, Heursticas y Algoritmos Memticos
En los aos 70, y basndose en la Teora de la Evolucin (Darwin, 1859), se desarrolla
una novedosa tcnica de bsqueda conocida como Algoritmos Genticos (Holland,
1975), la cual, va seleccionando las mejores soluciones posibles hasta llegar a la
solucin ptima a travs de distintos mtodos basados en la naturaleza, como son la
seleccin, el cruzamiento o la mutacin. De esta manera se produce una evolucin en
las soluciones hacia la solucin ptima. Los principios bsicos de los Algoritmos
Genticos
se encuentran bien descritos en numerosos textos, (Davis, 1991),
(Michalewicz, 1996), (Whitley, 1994).
Las heursticas son tcnicas basadas en la experiencia que ayudan a resolver un
problema. Son reglas, que surgen de la experiencia, las cuales se utilizan cuando se
quiere obtener una buena solucin en un tiempo razonable o cuando no existe un
mtodo capaz de alcanzar soluciones ptimas, bajo las restricciones del problema.
Puede encontrarse diversa informacin en distintos artculos, (Michalewicz and Fogel,
2004), (Pearl, 1984), (Chica, et al., 2009).
Los Algoritmos Memticos surgen como combinacin de los Algoritmos Genticos y
tcnicas heursticas, normalmente de bsqueda local. Los individuos creados por ambas
tcnicas compiten y cooperan de manera sinrgica (Moscato, 1989), obteniendo muy
buenos resultados. Aparecen bien descritos en el siguiente artculo, (Cotta, 2007).
3.
3.1. Enunciado
Una fbrica de cervezas produce tres tipos distintos denominados negra, rubia y de baja
graduacin. Para su obtencin son necesarios, adems de agua y lpulo para los cuales
no hay limitacin de disponibilidad, malta y levadura, que limitan la capacidad diaria de
produccin. La tabla siguiente da la cantidad necesaria de cada uno de estos recursos
para producir un litro de cada una de las respectivas cervezas, los kilos disponibles de
cada recurso y el beneficio en unidades monetarias (u.m.) por litro de cada cerveza
producida. El problema del fabricante consiste en decidir cunto debe fabricar de cada
cerveza para que el beneficio total diario sea mximo.
Tabla 1: Resumen del enunciado del problema del productor de cerveza
Negra
Rubia
Baja graduacin
Disponibilidad
Malta
30
Levadura
45
Beneficio
Restricciones:
2 X 1 + X 2 + 2 X 3 30
X 1 + 2 X 2 + 2 X 3 45
4.1. PHPSimplex
Como se ha comentado anteriormente, se va a utilizar el programa gratuito integrado en
la web www.PHPSimplex.com para buscar las soluciones, y es que PHPSimplex es una
herramienta online para resolver problemas de programacin lineal cuyo uso es libre y
gratuito.
Introducimos el modelo del problema para ver los resultados y comprobar si llega a la
misma solucin que hemos obtenido anteriormente con el Solver y el prototipo de
Algoritmos Genticos.
En primer lugar, elegimos el mtodo Simplex, e introducimos el nmero de variables y
restricciones, tres y dos respectivamente, para este problema, y pulsamos sobre el botn
de Continuar. Ver Figura 1.
Una vez comprobado que todos los datos son correctos pulsamos sobre el botn
Solucin directa para que nos de la decisin ptima que maximiza el beneficio para
los datos introducidos. Ver Figura 4.
Fig. 5: Modelo del problema en Excel y resultado obtenido a travs del Solver.
5.1. Enunciado
Una empresa de alimentacin produce zumos de pera, naranja, limn, tomate, manzana,
adems de otros dos tipos denominados H y G que son combinados de algunos de los
anteriores. La disponibilidad de fruta para el perodo prximo, as como los costes de
produccin y precios de venta para los zumos, vienen dados en la Tabla 1.
Tabla 1. Especificaciones de los zumos de fruta simples.
Fruta
Naranja (N)
Pera (P)
Limn (L)
Tomate (T)
Manzanas (M)
Disponibilidad
mxima (Kg)
32.000
25.000
21.000
18.000
27.000
Coste
(cnts de /Kg)
94
87
73
47
68
Precio de venta
(cnts de /Kg)
129
125
110
88
97
Combinado
Especificacin
No ms del 50% de M
No ms del 20% de P
No menos del 10% de L
40% de N
35% de L
25% de P
Precio de venta
(cnts de /Kg)
100
120
La demanda de los distintos zumos es grande por lo que se espera vender toda la
produccin. Por cada Kg de fruta se produce un litro del correspondiente zumo.
Formular un programa lineal para determinar los niveles de produccin de los siete
zumos de manera que se tenga beneficio mximo para el perodo entrante.
5.2. Modelo del problema
Se ha reducido el nmero de restricciones de 13 a 11, despareciendo los zumos
combinados, H y G, como variable y apareciendo nicamente como variable la cantidad
de cada zumo simple que forman un combinado, H = Hm + Hp + Hl y G = Gn + Gl +
Gp.
Las variables de decisin, por tanto, son: N (Naranja), P (Pera), L (Limn), T (Tomate),
M (Manzana), Gn (Parte de Naranja del combinado G), Gl (Parte de Limn del
combinado G), Gp (Parte de Pera del combinado G), Hm (Parte de Manzana del
combinado H), Hp (Parte de Pera del combinado H), Hl (Parte de Limn del combinado
H).
Las Restricciones son las siguientes:
N + Gn 32000
P + Hp + Gp 25000
L + Hl + Gl 21000
T 18000
M + Hm 27000
Gn = 0'4(Gn + Gl + Gp)
Gl = 0'35(Gn + Gl + Gp)
Gp = 0'25(Gn + Gl + Gp)
Hm 0'5( Hm + Hp + Hl )
Hp 0'2( Hm + Hp + Hl )
Hl 0'1( Hm + Hp + Hl )
La funcin de maximizacin del beneficio es:
Max z = 35 N + 38 P + 37 L + 41T + 29 M + 120(Gn + Gl + Gp ) 94Gn 73Gl 87Gp +
+ 100( Hm + Hp + Hl ) 68 Hm 87 Hp 73Hl
Simplificando:
Max z = 35 N + 38 P + 37 L + 41T + 29M + 26Gn + 47Gl + 33Gp + 32 Hm + 13Hp + 27 Hl
6.
Figura 10. Datos introducidos para resolver el problema mediante Simplex a travs de
www.PHPSimplex.com.
Una vez introducidos los datos, el programa nos muestra el modelo con las variables de
holgura y variables artificiales aadidas.
Una vez llegado a este punto, dando al botn de continuar o de Solucin Directa que
observamos en la Figura 3, el programa nos proporciona un resultado ptimo igual al
alcanzado por el Algoritmo Memtico propuesto en el punto 6.2 de este articulo.
6.2. Algoritmo Memtico o hibridacin entre Algoritmos Genticos y Tcnicas
Heursticas
Se ha implementado un prototipo de Algoritmo Gentico con las siguientes
caractersticas:
Generacin aleatoria de la poblacin inicial.
Nmero de individuos evaluados = 1000.
Probabilidad de mutacin = 20 %.
Tamao de la poblacin = 20.
Cruzamiento uniforme (cada variable o rasgo gentico de un nuevo individuo tiene
el 50% de posibilidades de pertenecer a un progenitor o al otro), Syswerda (1989).
El valor de fitness es el mximo valor de z (beneficio).
Seleccin por Ruleta, Michalewicz 1996.
Reemplazo por distancia para mantener la diversidad de la poblacin en la que dos
individuos muy parecidos (distancia eucldea entre ambos menor que 0.01 uds.) no
pueden coexistir en la poblacin (Worst Among Most Similar Replacement,
WAMS), Shuhei 2003, y mantenimiento del tamao de la poblacin reemplazando
Hm, Hp, Hl. La ltima, que en esta ocasin se encuentra en la siguiente lnea,
corresponde al beneficio que se obtendra con los valores asociados de las 11 variables.
7.
Conclusiones
NOTA ACLARATORIA
Por solicitud de D. Jess M Larraaga Lesaka, autor del artculo Algoritmos memticos
en problemas de Investigacin Operativa, publicado originalmente en el nmero 18
(diciembre de 2011) de la Revista de Direccin y Administracin de Empresas (ISSN 11352051), pginas. 189 208, se rectifica su artculo en los siguientes puntos.
En el punto de RESUMEN (pg.190) dice textualmente:
Los tres mtodos conseguirn buenos resultados ante problemas sencillos de Investigacin
Operativa, sin embargo, se propone otro problema en el cual el Algoritmo Memtico y la
herramienta Solver de Microsoft Excel, alcanzaran la solucin optima. La resolucin del
problema utilizando PHPSimplex resultar inviable.
Siendo rectificado por:
Los tres mtodos conseguirn buenos resultados ante problemas de Investigacin Operativa.
En el punto 6 de Resolucin del problema de la elaboracin de zumos (pgs. 202 y
siguientes), concretamente al final del punto 6.1 se dice textualmente:
Una vez llegado a este punto, tanto dando al botn de continuar o de Solucin Directa que
observamos en la Figura 2, el programa se bloquea y no es capaz de proporcionar ninguna
solucin
Siendo rectificado por:
Una vez llegado a este punto, dando al botn de continuar o de Solucin Directa que
observamos en la Figura 3, el programa nos proporciona un resultado ptimo igual al
alcanzado por el Algoritmo Memtico propuesto en el punto 6.2 de este articulo.
Se agradecen las aportaciones realizadas por D. Juan Jos Ruiz Ruiz CEO de PHPSimplex.