Post on 02-Jul-2022
;;n- 11
INSTITUTO TECNOLOGICO Y DE ESTUDIOS
SUPERIORES DE MONTERREY CAMPUS MONTEIUtEY.
DI VISJON 01 GltADU~ E INYESTIGACION
PK(XiltAMA DE GRADUAD0.5 EN lNGENIERIA
AJ.GOIUTIIO D! 51MU1.Al.JON PAJtA ~VE.K tL
PKOll.l.DtA DE ~l.lZACION DlNAM.ILA DE PLANTA
LON CAPAODAD flNITA Y DEMANDA fi.STOCASTICA
SENSIBLE AL PJUOO
TESIS
PRESENTADA COMO REQUISITO PARCIAL PARA
OBTENER EL GRADO ACADEMICO DE
MAESTRO EN CIENCIAS
ESPECJALJDAD EN INGENlERJA INDl.'STHlAL
MIGUEL GUADALUPE DIAZ SANCHEZ
DICIEMBRE DE 1994
INSTITUTO TECNOLOGICO Y DE ESTUDIOS SUPERIORES DE
MONTERREY
CAMPUS MONTERREY
PROGRAMA DE GRADUADOS EN INGENIERIA
ALGORITMO DE SIMULACION PARA RESOL VER EL PROBLEMA DE LOCALIZACION DIN AMI CA DE PLANTA
CON CAPACIDAD FINITA Y DEMANDA ESTOCASTICA SENSIBLE AL PRECIO
S. T·L - C. C. 7',f. RTBT.JOTECA I.T.E. ·- ...... , . .,, , \T\ n\nrcoo~
Col g:.rnf1~0 ,,._ · · ; ; ,_.,,.. ·· 11
l \., i., ~ •J '.; : . .
TESIS
PRESENTADA COMO REQllSITO PARCIAL PARA OBTENER
EL GRADO ACADEMICO DE
MAESTRO EN CIENCIASESPECIALIDAD EN INGENIERIA INDUSTRIAL
MIGUEL GUADALUPE DIAZ SANCHEZ
Diciembre de 1994
INSTITUTO TECNOLOGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY
CAMPUS MONTERREY
DMSION DE GRADUADOS E INVESTIGACION PROGRAMA DE GRADUADOS EN INGENIERIA
Los miembros del comité de tesis recomendamos que la presente tesis del Ingeniero en Pesquerías Miguel Guadalupe Díaz Sánchez sea aceptada como requisito parcial para obtener el grado académico de Maestro en Ciencias especialidad en:
INGENIERIA INDUSTRIAL
Comité de tesis:
, Mohammad Reza Azarang, M. C.
Asesor Sinodal Sinodal
APROBADO
Director del Programa de Graduados en Ingeniería
Diciembre de 1994
DEDICATORIA
,4 UiJi, CM1, ~ mi, Cl/TTIM,, fW" ~
~, ~ C1ITTWI, t ~ e/TI, ~ ~- fP~ ~ eJ,q, ~ r¡M,
~ (1 wrnÍ>M.
AGRADECIMIENTOS
Mi agradecimiento y reconocimiento al pueblo de
México quien por medio del Consejo Nacional de Ciencia y
Tecnología (CONACYT), me dio la oportunidad de realizar
mis estudios de maestría.
Al ITESM campus Monterrey, a sus profesores y
directivos, a mis compañeros y a todos aquellos que de
alguna forma contribuyeron en la realización de mis
estudios de maestría en esta gran institución.
Mi sincero agradecimiento al profesor Juan J.
Hinojosa C. por su valiosa aportación en la asesoría de
esta tesis.
A los profesores Eduardo García y Mohammad Reza por
sus comentarios en la realización de este trabajo.
A los profesores José, Lil ián, Daniel, Dino,
Francisco y Emmanuel del campus ciudad de México del
ITESM por su apoyo en la etapa final de está tesis.
A mi madre mi amor y eterno agradecimiento por su
cariño y apoyo durante toda la vida.
A mis queridos hermanos por su ayuda y palabras de
aliento, muy especialmente a Jesús por su valioso apoyo
en la realización de este trabajo.
Un reconocimiento muy especial a Manuel Alderete por
su invaluable ayuda en la programación del algoritmo.
INDICE
CAPITULO 1. INTRODUCCIÓN
CAPITULO 2. DESARROLLO DEL MODELO
1.1 Conceptos Básicos 2.2.1 Capacidad Finita 2.1.2 Demanda Estocástica 2.1.3 Sensibilidad de la Demanda al Precio (Elasticidad de la Demanda)
1.2 El Modelo 2.2.1 Nomenclatura: 2.2.2. Formulación:
1.3 Simplificación y Modelo Revisado:
CAPITULO 3. MÉTODO DE SOLUCIÓN
3.1 Métodos Exactos Vs. Simulación
3.2 Algoritmo de Recocimiento Simulado
3.3 Algoritmo de Solución para el Problema de Localización Dinámica de Planta con Capacidad
1
7
7 7 7 8
9 9
10
11
15
15
21
Finita y Demanda Estocástica Sensible al Precio. 31
3.4 Generación de Datos para Prueba del Algoritmo
CAPITULO 4. RESULTADOS
CAPITULO 5. CONCLUSIONES
RESUMEN
BIBLIOGRAFÍA.
ANEXOS
l. Instructivo de Uso del Programa
35
37
43
45
47
51
51
CAPITULO 1. --INTRODUCCI ON
La localización de plantas es un factor de gran
importancia en el desempeño de cualquier industria,
dado que una adecuada localización permite una
operación eficiente de la misma, gracias a la
oportunidad con que puede recibir todos sus insumos y
hacer llegar sus productos a los mercados, ambas
actividades con el mínimo costo. Así mismo, una buena
ubicación permite tener acceso a mano de obra en
cantidad y calidad suficiente y prever problemas
derivados de los cambios que pueden tener los factores
locacionales más importantes a lo largo de la vida de
la industria. En forma contraria una mala decisión en
la ubicación de una planta, puede provocar tener costos
de producción tan altos que dejen fuera de competencia
a la empresa en el mercado, o simplemente puede no
permitirle tener en forma eficiente y/o suficiente el
flujo de insumos desde su origen hasta la planta y el
flujo de productos terminados de la planta a los
mercados, de tal forma que sus tiempos de _entrega sean
poco competitivos.
Existen modelos de localización de varios tipos,
dentro de los cuales se pueden mencionar los
heurísticos y los analíticos entre otros, los cuales
han venido experimentando múltiples mejoras para
hacerlos más eficientes y representativos, sin embargo,
la gran mayoría siguen siendo modelos estáticos en su
naturaleza, lo que significa que no son capaces de
proporcionar la localización óptima a lo largo del
horizonte de planeación, corriendo el riesgo de que una
localización que es óptima en este momento, deje de
serlo en el futuro bajo otras condiciones económicas
que afecten principalmente el comportamiento de la
demanda, la oferta y/o los costos.
Lo que se pretende con este trabajo es estudiar el
problema de localización dinámica de facilidades en un
ambiente competitivo, considerando la sensibilidad de
la demanda a las variaciones del precio, con el
objetivo de desarrollar un algoritmo de simulación para
dar solución a dicho problema, considerando el
horizonte de planeación del proyecto, es decir, se
quiere contar con un modelo que simule el
comportamiento de una industria a través del tiempo con
respecto a la variabilidad de la demanda, desde el
punto de vista de su ubicación, esperando con esto
hacer una contribución a facilitar el trabajo de
decidir sobre la mejor opción de las diferentes
alternativas de localización.
Definición del problema de localización. "El
problema de localización es un problema de distribución
de recursos en el espacio" (Brandeau, 1989), lo que
significa que, una o más entidades de servicio
(plantas) sirven a grupos de demanda espacialmente
distribuidos (clientes) . El objetivo es localizar las
2
entidades de servicio de tal forma que se optimicen
objetivos dependientes de la localización, como pueden
ser los costos de servicio, las distancias recorridas o
las utilidades generadas.
Existen múltiples modelos de localización de
planta persiguiendo diferentes objetivos (Brandeau,
1989), que van desde la minimización de costos hasta
minimizar los tiempos de entrega de los productos o las
distancias a los mercados y fuentes de materias primas.
Brandeau (1989) menciona que fue en 1909 cuando se
introdujo fonnalmente la teoría de localización de
planta por Alfred Webe, quien consideró el problema de
localización de un almacén, con el objetivo de
minimizar la distancia recorrida entre el almacén y los
diferentes puntos donde se concentraba la demanda.
Muchos otros trabajos sobre localización de plantas
fueron publicados posteriormente por diferentes
autores, pero la gran mayoría de ellos incluye modelos
que se han desarrollado para problemas estáticos según
afirma Luss (1982, cit. Shulman, 1991), es decir que
únicamente consideran las condiciones prevalecientes en
un periodo de tiempo simple. Ejemplos de modelos
estáticos de localización pueden ser encontrados en
Francis, McGinnis y White (1992), donde se presentan
metodologías basadas tanto en flujo en redes como en
distancias euclidianas y rectilíneas, utilizando
técnicas de solución exactas, tales como programación
3
entera, convexa, etc. y técnicas de solución basada en
métodos heurísticos.
Existen también algunos
desarrollado en el área
trabajos
de los
que se han
Problemas de
Localización Dinámica de Planta con Capacidad Infinita
(DUPLP), donde se han utilizado como métodos de
solución técnicas heurísticas según afirma Shulman
(1991). Un ejemplo puede ser encontrado en Erlenkotter
(1981).
Shulman trabajó recientemente en el Problema de
Localización Dinámica de Planta con Capacidad Finita
(DCPLP), donde desarrolla un algoritmo para la solución
del DCPLP con expansión discreta del tamaño, quien
además marca como línea de investigación futura entre
otras, el DCPLP considerándolo dentro de un ambiente
competitivo, el cual puede ser visto como una
generalización del problema para el caso de la demanda
elástica.
En el DCPLP, el objetivo según Shulman (1991) es
seleccionar el momento de instalar facilidades en
diferentes ubicaciones de tal forma que se minimice el
costo total para abastecer la demanda sobre el
horizonte de planeación. Los costos incluyen el
establecimiento de facilidades, costos de operación y
costos de transportación para la distribución hacia los
centros de demanda. Shulman utiliza la palabra
facilidad para referirse a pequeñas entidades que
4
pueden ser instaladas o removidas en un periodo de
tiempo dado. En ese sentido, una planta es un conjunto
de facilidades ubicadas en la misma localización.
Por su parte Logendran y Palmer
problema de Localización-Distribución
(1991) tratan el
de Planta con
Capacidad Finita, considerando demanda estocástica
sensible al precio, problema que queda clasificado como
de un solo producto y un solo periodo (no dinámico), es
decir, no contempla el comportamiento de la demanda a
lo largo del horizonte de planeación, lo cual es objeto
de estudio en este trabajo.
Sin duda, en la medida en que se agregan variables
a un modelo su solución se complica, sin embargo, con
el uso de las herramientas computacionales existentes
en la actualidad, es posible tener un mejor tratamiento
de problemas que involucren una cantidad considerable
de variables, es por el lo que para la realización de
este trabajo, el algoritmo desarrollado se basa en
técnicas de optimización por simulación, haciendo uso
del algoritmo de Recocimiento Simulado (Simulated
Annealing), desarrollado por Metropolis, et al. (1953).
Así mismo, dicho algoritmo es codificado en un lenguaje
de programación computacional, el cual permite dar
solución al problema planteado, considerando el efecto
de la variación de la demanda en el tiempo de las
diferentes alternativas de localización.
5
La simulación es una herramienta que sirve para
anal izar sistemas dinámicos, es decir, sistemas que
experimentan cambios a través del tiempo, cuando las
variables involucradas se comportan en forma
probabilística y por ende se pueden representar por
medio de una función de distribución (Law, 1991) . El
algoritmo de Recocimiento Simulado (RS), además de
ofrecer las ventajas de la simulación, es un algoritmo
que permite llegar a obtener soluciones óptimas o muy
cercanas al óptimo, para problemas que involucran
arriba de 1000 variables.
Por lo anterior, en un problema de localización de
planta cuando la demanda es estocástica y se conoce su
función de distribución, es posible dar solución a
dicho problema mediante el uso del RS, lo que nos
permite analizar el comportamiento de la industria
desde el punto de vista de su ubicación durante todo el
horizonte de planeación, el cual normalmente es de por
lo menos 10 años para proyectos que contemplan la
instalación de una nueva planta industrial.
6
CAPITULO 2. DESARROLLO DEL MODELO
2.1 Conceptos Básicos
2.2.1 Capacidad Finita
Hablar de capacidad finita es reconocer las
limitaciones de producción de cualquier planta
industrial debido a la capacidad de sus instalaciones y
equipos según el diseño original. Existen modelos de
localización de planta que no consideran este factor
fijando como supuesto que la capacidad de producción es
infinita, por lo cual, siempre se podrá abastecer el
total de la demanda del mercado, lo que en la práctica
no siempre sucede.
2.1.2 Demanda Estocástica
La demanda es una de las variables económicas más
difíciles de predecir, sin embargo por comodidad esta
puede ser tratada como una variable aleatoria si no es
conocida con certeza (Logendran y Palmer, 1991). En
problemas de la vida real es difícil encontrar
estimaciones de demanda determinística a diferentes
niveles de precio, por lo que se busca una solución a
este problema mediante el uso de variables aleatorias.
En base a la información histórica del comportamiento
de dicha demanda, es posible conocer a que tipo de
función de distribución se ajusta mediante la
realización de pruebas estadísticas de bondad y ajuste.
Para fines de este trabajo se asume que la demanda
7
sigue una función de distribución conocida con media y
varianza dadas y que la demanda generada por un centro
de consumo es independientemente distribuida de los
restantes centros de consumo. La media y la varianza de
la demanda varían dependiendo del nivel de precios que
se tengan en cada centro de consumo, los cuales pueden
ser diferentes en cada uno de ellos. Así mismo, se
asume que la única variable aleatoria en la formulación
de este problema es la demanda.
2 .1. 3 Sensibilidad de la Demanda al Precio
(Elasticidad de la Demanda)
La elasticidad de la demanda es un fenómeno
que sucede en una gran económico
cantidad
muy importante
de productos manufacturados, tales como
Este fenómeno aparatos electrónicos, automóviles, etc.
consiste en una disminución en los niveles de la
demanda de los productos al incrementarse su precio, el
cual guarda una relación directa con los costos
variables de los productos. El costo variable total
unitario de los productos recibidos en un centro de
consumo varía dependiendo de la planta en que fueron
embarcados, y los precios se fijan también dependiendo
del lugar de embarque, por lo que la localización de la
planta juega un papel importante en los niveles de
ganancias generados.
8
2.2 El Modelo
2.2.1 Nomenclatura:
q; = Número de unidades demandadas aleatoriamente
por el centro J cuando son abastecidas por la planta i
en el periodo t.
~ = Precio unitario recibido en el centro de
demanda j cuando es abastecido por la planta i en el
periodo t.
~=Número de unidades de producto embarcados por
la planta i al centro de demanda j en el periodo t.
,; = Costo variable total unitario de productos
fabricados en la planta i y enviados al centro de
demanda j en el periodo t.
µ = Media de la distribución descriptiva de la
" demanda del número de unidades demandadas por el centro
j cuando son abastecidas por la planta i en el periodo
t.
~=Límite superior de la distribución descriptiva
de la demanda del número de unidades demandadas por el
centro j cuando son abastecidas por la planta i en el
periodo t.
A~)= Función de densidad que describe la demanda
1 . 1 a eatoria % .
Ji'= Costo fijo de la planta i en el periodo t.
si planta i abastece al centro de demanda j en el tiempo t
si planta i no abastece al centro de demanda j en el tiempo t
si la planta se localiza en el sitio i
sila planta no se localiza en el sitio i
9
~ = Capacidad de producción de la planta i.
T = Número de periodos de planeación.
m = Número de posibilidades de localización.
n = Número de centros de demanda.
2.2.2. Formulación:
Representando este caso como un problema de
optimización, se tiene el siguiente modelo:
El ingreso recibido en el centro de demanda j si
el producto fue embarcado en la planta i en el periodo
tes
[ " si 1 t
qijplj q/J <xtj
1 1 si q' > x' xlip/J lj - 11
Entonces la ganancia esperada debido al
abastecimiento del centro de demanda ' J por los
productos embarcados en la planta i en el periodo tes:
( 1)
Así la formulación del valor esperado para el
modelo es:
10
n m T m T
Maximizar Z= ¿¿¿ y;L(x;)-¿¿/i' z, ( 2)
J=l 1=1 t=I l=l t=I
Sujeto a:
( 3)
( 4)
O~z;-y¿~I ;'t/i=l,2, .. ,m, )=1,2, ... n y t=l,2, ... ,T
( 5)
;rl i = 1,2, .... ,m y r/ t = 1,2, ..... ,T ( 6)
( 7)
2.3 Simplificación y Modelo Revisado:
Elmaghraby (1960) estableció la condición de
optimalidad para un problema de transporte estocástico
con función de distribución de la demanda continua. El
objetivo fue minimizar el costo total esperado de
producción. A pesar de que el objetivo de este estudio
es maximizar la ganancia total esperada, la misma
condición puede ser fácilmente modificada para
determinar las cantidades óptimas a abastecer, de
acuerdo a lo presentado por Logendran y Palmer (1991).
Considerando que x; puede tomar valores positivos
únicamente, las cantidades óptimas a abastecer ( x;°)
está determinada por:
11
( 8)
Para cada cantidad óptima a abastecer, la
contribución de la ganancia óptima (L(~)), debido a la
celda (i, j, t) puede obtenerse sustituyendo x; = x;· en
la ecuación ( 1) . El modelo revisado se enfoca a la
localización de planta, distribuyendo las cantidades
óptimas calculadas, sin violar la limitación de
capacidad de la planta. De esta forma, el modelo
presentado anteriormente se transforma a:
n m T • m T
Maximizar Z = ¿¿¿ y;L(x; )-¿¿J;' z1
J=l l=l l=l l=l l=l
Sujeto a: m
¿z; =1 l=l
o:::;;z;-y;:::;;1 ;'r:/i=l,2, .. ,m, j=l,2, ... n y t=l,2, ... ,T n • ""''' <A .\-l·-12 \-lt 12 T L.JyiJxiJ _ 1 , v z - , , .... ,m y v = , , ..... , J=I
y; y Z¡=Oól
( 9)
(10)
(11)
(12)
(13)
En la formulación anterior, la restricción ( 10)
busca que la planta se local ice únicamente en una de
las opciones de localización y que cada centro de
demanda, por lo tanto, sea abastecido por una sola
planta en cada periodo. Por su parte, la restricción
(11) limita que el abasto de los centros de consumo
sea realizado exclusivamente por la planta a partir de
la localización seleccionada y por último, y; en la
12
restricción ( 12) muestra que únicamente aquellas
cantidades abastecidas con y;= 1 son incluidas en la
suma, la cual debe ser menor que la capacidad de la
planta.
13
14
~ ~
CAPITULO 3. METODO DE SOLUCION
3.1 Métodos Exactos Vs. Simulación
Conviene en este momento, hacer la aclaración de
que aunque la simulación puede ser un método que
encuentre soluciones exactas, cuando el número de
replicas tiende a infinito, o mediante la aplicación
de técnicas como el Recocimiento Simulado, el cual se
explica ampliamente más adelante, para fines de
diferenciarla de otros métodos de análisis, como son
los diferentes modelos de programación matemática, en
lo sucesiva se hará referencia a estos últimos como
métodos analíticos o exactos y a la simulación
simplemente como simulación.
Cuando se hace el planteamiento de un problema
complejo es necesario seleccionar un método adecuado
de solución. En el caso particular que se presenta, el
lector se podrá preguntar, por qué no usar un método
de solución exacto cuando el problema se plantea como
un modelo de programación entera. Existen argumentos
en contra y a favor tanto de los métodos de solución
exactos como de los modelos de simulación lo cual se
discute en los siguientes párrafos.
Law y Kelton (1991) recomiendan que siempre que
sea posible representar un problema del mundo real con
elementos estocásticos, en forma precisa mediante un
modelo matemático que pueda ser evaluado en forma
analítica, se prefiera éste, ya que proporciona
15
soluciones exactas, sin embargo los algoritmos
existentes para la solución exacta de problemas de
programación matemática y en particular para
programación lineal y entera, son limitados en su uso
para problemas relativamente pequeños (que involucran
una cantidad limitada de variables), según señala
Gerson y Maffer ( 1963) , además de Wilhelm y Ward
(1987). Estos últimos han encontrado que es
computacionalmente factible usar técnicas exactas para
problemas den$ 17 en asignación cuadrática (QAP).
El poder de la simulación en este tipo de
aplicaciones
proporciona
radica, en
para probar
la factibilidad
varios escenarios
que
o
alternativas, lo cual es de gran utilidad en un
análisis de sensibilidad, donde se responde a la
pregunta: ¿Qué pasa si ... ? (Shycon y Richard B.,
1960).
Existen diferentes modelos para localización de
planta y problemas de distribución que pueden ser
agrupados en modelos analíticos o de simulación. Los
modelos analíticos buscan optimizar un objetivo
particular, tal como costos o utilidades. Estos
modelos como ya se ha mencionado, tienen algunas
1 imitan tes en el número de variables que se pueden
manejar (número de centros de demanda, número de
opciones de localización y tamaño del horizonte de
planeación) . Es deseable obtener soluciones óptimas,
16
pero los modelos analíticos son además limitados en
cuanto a la facilidad de comprender el sistema total
(Bowersox, 1972) . En contraste, los modelos
tradicionales de simulación representan
matemáticamente al sistema, pero no garantizan una
solución óptima. Los modelos analíticos sacrifican
tratamiento comprensivo (facilidad de entender por el
usuario) de las componentes del sistema, mientras la
simulación permite la construcción de modelos menos
difíciles de entender.
Law y Kelton (1991) enlistan una serie de ventajas
y desventajas en el uso de la simulación dentro de las
cuales se pueden destacar las siguientes:
Ventajas
• Los sistemas más complejos del mundo real con
elementos estocásticos no pueden ser descritos por
un modelo matemático que pueda ser evaluado
analíticamente, mientras una simulación es
fundamentalmente el único tipo de investigación
posible.
• La simulación permite estimar el desempeño de un
sistema existente bajo algunas condiciones de
operación proyectadas.
• Por medio de la simulación pueden ser comparados
sistemas alternativos (o políticas de operación
17
al terna ti va), para ver cual es el mejor bajo las
condiciones específicas.
• En una simulación se puede tener mucho mejor control
de las condiciones experimentales, que cuando se
experimenta con el sistema mismo.
• La simulación permite estudiar un sistema con un
horizonte de planeación grande en poco tiempo (por
ejemplo, un sistema económico), o alternativamente
estudiar el trabajo detallado de un sistema en
expansión del tiempo.
Desventajas
• Cada corrida de un modelo de simulación estocástica
produce únicamente estimaciones de las
características del modelo real, para un particular
grupo de parámetros de entrada.
• Los modelos de simulación son frecuentemente caros y
consumen tiempo para su desarrollo.
En particular, el DCPLP con demanda estocástica
sensible al precio, pertenece al tipo de problemas que
a medida que los parámetros n, m y T aumentan su
valor, el problema aumenta en su tamaño en forma
exponencial. Para un problema con 5 centros de
demanda, 5 opciones de localización y un horizonte de
planeación de 5 años (n=S, m=S y T=S), tenemos que el
número de variables involucradas en la función
objetivo es de 130, mientras para n=lO, m=lO y T=lO,
18
el número de variables aumenta a 1,010 y por último si
consideramos un problema en el que n=SO, m=SO y T=lO,
el número de variables dentro de la función objetivo
es de 25, OSO. Cabe destacar que en la práctica se
pueden tener casos en forma muy común, en que los
parámetros n, m y T tengan valores superiores a los
mostrados anteriormente.
Para la solución de problemas similares al que se
estudia en este trabajo se han desarrollado algoritmos
heurísticos que obtienen soluciones cercanas al
óptimo, mediante el uso de modelos de programación
matemática, tal es el caso de los presentados por
Shulman (1991) y por Logendran y Palmer (1991), sin
embargo, dichos problemas involucran una menor
cantidad de variables, además de que el método de
solución presentado no es fácilmente entendible por
los usuarios.
En 1984, Karmarkar publicó un artículo ( "A new
polynomial-time algorithm far linear programing"), que
presenta un algoritmo de gran poder para dar solución
a problemas de programación lineal muy grandes,
siguiendo un método de punto interior, obteniéndose
resultados aceptables en cuanto a eficiencia
computacional y tiempo de solución. Sin embargo, a
pesar de que existe una cantidad considerable de
trabajos de investigación que se han hecho en torno a
este nuevo algoritmo, no existe en la actualidad un
19
algoritmo general que se aplique a problemas de
programación entera. En este tema se han hecho algunos
esfuerzos recientes que se han aplicado ha casos
específicos, como son los presentados por Kamath et
al. { 1990) , Karmarkar, et al. { 1991) , además de
Mitchell y Todd {1992), obteniendo no siempre los
resultados esperados.
Existen planteamientos de investigación tendientes
a obtener métodos para la solución de problemas de
programación entera mediante algoritmos de punto
interior, como es el caso de la propuesta de
disertación doctoral que presentó Roger z. Ríos
Mercado ( 1993) , quien plantea como uno de sus
objetivos, el desarrollar e implantar un algoritmo
para resolver problemas de programación entera, basado
en técnicas de punto interior, sin embargo, la
obtención de resultados llevará tiempo y dichos
resultados serán sujetos a prueba en sus aplicaciones.
En base a lo anterior se decide utilizar un método
de simulación para la solución de este problema, para
lo que se recurre a la técnica de "Recocimiento
Simulado", la cual es un herramienta de mejoramiento
por simulación utilizada para optimización y que ha
sido suficientemente probada en un gran número de
problemas, tales como el de Asignación Cuadrática, el
del Agente Viajero, diseño de Layout, etc. En el
siguiente apartado se presentan los fundamentos
20
teóricos y el algoritmo general de Recocimiento
Simulado y posteriormente se desarrolla el algoritmo
específico para la solución del presente problema,
basado en la técnica mencionada.
3.2 Algoritmo de Recocimiento Simulado
Recocimiento Simulado es un procedimiento de
mejoramiento, el cual recibe este nombre por su uso
analógico entre Mecánica Estadística y optimización
combinatoria, siendo una herramienta de gran utilidad
en optimización por simulación.
El propósito de la optimización por simulación es
determinar las variables o parámetros de entrada, que
optimizan los valores de salida (resultados) o medida
de desempeño del experimento de simulación.
El método de RS es una técnica de registro
estocástico iterativo, análogo a los procesos físicos
de cristalización donde un material es enfriado
gradualmente, de tal forma que se alcanza su estado de
mínima energía. Este método produce una secuencia de
valores de la función evaluada con una tendencia
general a decrecer, aunque se pueden tener secuencias
de valores con crecimientos ocasionales. En está
forma, este proceso puede llevar a obtener un valor
mínimo local o quizás un mínimo global,
está metodología puede ser aplicada
sin embargo,
fácilmente a
problemas de maximización como se verá más adelante.
21
El primero en introducir el concepto de RS es
Metropol is et al. ( 1953) , pero fue Kirkpatrick et al.
(1983) quien aplicó el enfoque a problemas de
optimización determínistica. A continuación se
desarrollan los aspectos fundamentales en que se basa
RS, de acuerdo al desarrollo presentado por
Kirkpatrick et al. (1983).
La mecánica estadística es una disciplina central
de la física, que proporciona métodos para el análisis
de las propiedades de agregación de un gran número de
átomos, que han sido encontrados en muestras de
líquidos o sólidos. La razón por la que se le da el
término de mecánica "estadística", es por que, un
sistema formado por un gran número de átomos
(aproximadamente 1023 por centímetro cúbico) , se
caracteriza por experimentar fluctuaciones aleatorias
sobre su conducta más probable (promedio) a una
temperatura específica (Golden y Skiscim, 1984, cit.
Wilhelm y Ward, 1987). Una pregunta fundamental en
mecánica estadística es: ¿Qué le pasa al sistema
cuando la temperatura se acerca al límite inferior?,
por ejemplo,
solidificado?
¿permanece en estado líquido o ha
El estado de mínima energía y la configuración
atómica de los cuerpos macroscópicos, se relacionan
directamente y son extremadamente raros a temperaturas
elevadas, y por el contrario, estás propiedades son
22
predominantes o comunes a bajas temperaturas. Sin
embargo, no basta tener bajas temperaturas para
encontrar el estado de mínima energía de la materia
( Kirkpatrick et al., 1983) . En la práctica, se han
desarrollado experimentos para encontrar el estado de
mínima energía por medio de un cuidadoso "programa de
recocido": Primero fundiendo el sistema a una alta
temperatura, luego bajando la temperatura lentamente
(de acuerdo a un programa que consta de la combinación
de un grupo de temperaturas y el tiempo que debe
mantenerse cada una de ellas) y finalmente manteniendo
por mucho tiempo la temperatura muy cerca del punto de
congelación o solidificación. El tiempo que se consume
en cada temperatura debe ser suficientemente grande
para asegurar que el sistema alcance el equilibrio
térmico (estado estable). Si no se tiene el cuidado de
apegarse al programa de temperaturas, se pueden
presentar fluctuaciones aleatorias indeseables, de tal
forma que quizás solidifique el material sin que se
haya alcanzado el ~stado de mínima energía.
El algoritmo desarrollado por Metropolis et al.
( 1953) para simular el comportamiento de un conjunto
de átomos en equilibrio térmico a una temperatura
dada, puede ser resumido como sigue:
Dada una configuración de elementos del sistema,
desplácelos aleatoriamente, uno a la vez, en una
cantidad pequeña y calcule los cambios resultan tes en
23
la energía ( ó. E) • Si ó. E < O entonces se acepta el
desplazamiento y se usa la configuración resultan te
como el punto inicial para la siguiente iteración. Si
.1 E ~ O, entonces se acepta el desplazamiento con una
probabilidad P(ó.E) = e(-MtKbr), donde T es la temperatura
y Kb la constante de Boltzmann, la cual no se requiere
cuando se aplica el algoritmo a problemas de
optimización combinatoria.
Se incorporan aspectos de muestreo Monte Carla a
la simulación, por medio de una comparación de P ( ó. E)
con una variable aleatoria ajustada a una distribución
uniforme (0,1), si el número seleccionado es menor que
P ( ó. E), la nueva configuración es retenida, si no, la
configuración original es usada para la siguiente
iteración. Este proceso se continua hasta lograr el
equilibrio, entonces la temperatura se baja de acuerdo
al programa de temperaturas y el procedimiento se
repite hasta la congelación del sistema. En cada
temperatura se debe permitir que la simulación proceda
el tiempo suficiente para permitir que el sistema
alcance el estado estable.
En problemas de optimización se utiliza la función
objetivo en lugar de la energía y se definen las
configuraciones por un grupo de parámetros (Xi) , que
podrán ser evaluados a una temperatura dada, donde la
temperatura es solamente un parámetro de control en
las mismas unidades de la función objetivo.
24
La conducta del algoritmo es fuertemente
dependiente de la temperatura. En un problema de
maximización, la probabilidad de aceptar el punto
adyacente Xa (configuración aleatoria alterna a la
actual), es cercana a 1/2 en temperaturas altas
(Haddock y Mittenthal, 1992), en esta forma se
permiten aceptar movimientos en descenso durante el
largo camino de moverse en ascenso. A pesar de que la
decrece, la probabilidad de aceptar temperatura
movimientos en descenso decrece, mientras la
probabilidad de aceptar crecimiento aumenta.
Un conjunto de temperaturas {T(J)};.1
, donde T(j) es
la temperatura durante la j-ésima iteración, define un
programa de temperaturas. Geman et al. (1984, cit.
Haddock y Mittenthal, 1992), demostró que el algoritmo
RS cuando T(J') satisface T(1.)> C converge - log(l + j) para
alguna constante e independiente de j . Entonces para
asegurar que se converja en un óptimo global la
temperatura debe decrecer muy lentamente.
El principal inconveniente de aplicar este tipo de
programas de temperaturas, es que una temperatura
disminuye el valor de la función objetivo en muchos
puntos y esto es indeseable en una optimización por
simulación, ya que cada evaluación corresponde a una
corrida de simulación, lo que encarece el proceso
desde el punto de vista computacional. Para hacer
25
pocas evaluaciones, se emplea un descenso de la
temperatura más rápido en el programa de temperaturas
tal como lo sugiere Ackley (1987, cit. Haddock y
Mittenthal, 1992), utilizando otras cantidades.
Este programa está determinado por un conjunto de
cuatro parámetros {i;,T1 ,r,k}, donde Ti > Tf > O, re (O, 1)
y k es algún entero positivo, teniendo lo siguiente:
T• 1
T(j)=rTi
j=l,2, ..... ,k
j =k+l, ..... , 2k
j= (n-1) k+l, ... ,nk
donde n es el entero más pequeño mayor o igual que
(log T1 - log J;J
log r
donde:
y debe satisfacer rºTi
•Ti= Temperatura inicial
• Tf = Temperatura Final
• r = Taza de descenso de la temperatura
<
• k = Número de iteraciones en una temperatura dada.
Un contador (PASO) del algoritmo se inicializa en
cero a una temperatura inicial. La temperatura actual
Tnow se mantiene para k iteraciones y entonces decrece
a una taza r, tal que la nueva temperatura
Tnew = rTnow. El algoritmo para después de que la
temperatura actual paso por el valor Tf. El algoritmo
continúa mientras el contador PASO sea menor que la
26
variable FINAL (Entero positivo que denota el número
de veces en repetir el algoritmo RS con una nueva
configuración inicial seleccionada aleatoriamente). A
continuación se presenta el algoritmo:
Algoritmo general
• PASO O:
• PASO 1:
• PASO 2a:
• PASO 2b:
• PASO 3:
Inicializar PASO en O
Fijar T = Ti. Seleccionar un punto Zi
aleatoriamente y evaluarlo (Obja). Haz
que PASO= PASO+ l.
Comenzar ciclo.
Para el ciclo de j =l, .... ,k.
Seleccionar un punto adyacente
aleatoriamente y evaluarlo (Objb).
Z· l.
~ Obj = Obja Objb. Seleccionar una
variable aleatoria x--u ( o t l) • Si
X < P ( ~ Obj) = e (- ~ Obj /T) , entonces ir
al paso 2b; de otra forma: fin de
ciclo_.
Aceptar el cambio de esa pareja,
Obja = Objb. Fin de ciclo.
Actualizar temperatura T = Tr. Si
T ~ Tf, ir al paso 2a, de otra forma,
si PASO< FINAL, ir al paso 1; de otro
modo parar.
27
Los principales factores que afectan la
efectividad del algoritmo en valores cercanos a 1 en
la variable FINAL, son los valores de la configuración
de parámetros que componen el programa de
temperaturas, el punto de arranque seleccionado
aleatoriamente y las características de la función
objetivo. Si el punto inicial de arranque está cercano
a un máximo global, entonces, ni las características
de la función ni los parámetros del programa tienen
influencia importante en la consecución de la solución
óptima. Sin embargo, cuando el punto de arranque
inicial está lejano al máximo global, los otros
factores juegan un papel más importante. Para el caso
cuando la temperatura decrece lentamente y la función
objetivo es relativamente estable (poca variación ante
cambios externos) , el máximo global se alcanzará por
medio de un considerable número de evaluaciones de la
función. En contraste, cuando la temperatura decrece
rápidamente y la función objetivo es poco estable,
entonces la solución obtenida puede ser un máximo
local. Por lo anterior, es preferible usar un programa
de temperaturas que descienda rápidamente, que podrá
ser compensado posteriormente con descensos de
temperatura más lentos, ejecutando múltiples pasos del
algoritmo, o quizá una combinación de ambos (Haddock y
Mittenthal, 1992).
28
Una temperatura inicial alta, implica una
probabilidad de aproximadamente 1/2 de aceptar
movimientos en descenso al iniciar un registro,
mientras una temperatura inicial baja implica una baja
probabilidad. A su vez, utilizando una temperatura
inicial relativamente alta, implica en consecuencia
una probabilidad relativamente alta de aceptar
movimientos en descenso al final de un registro,
mientras usando una temperatura final baja se tiene
una probabilidad baja de aceptar esos movimientos en
descenso y por lo tanto, se aumenta la probabilidad de
encontrar un máximo local o global (Haddock y
Mittenthal, 1992).
Tasas de descenso de la temperatura (r) cercanas a
1, causa que la temperatura decrezca lentamente, por
lo tanto, el uso de estos valores son preferidos
solamente cuando la función objetivo es poco estable,
cuando el óptimo global puede estar cercano al punto
actual. Usar tasas de descenso cercanos a cero puede
ser apropiado para funciones objetivos más estables,
donde se requieren pocos movimientos en descenso para
explorar el espacio (Haddock y Mittenthal, 1992).
En cuanto
ejecutadas en
incrementa, más
al número de iteraciones a
cada
puntos
temperatura,
son evaluados
cuando k
y pueden
registradas áreas más grandes. Esto aumenta
29
ser
se
ser
la
probabilidad de localizar un óptimo global (Haddock y
Mittenthal, 1992).
Haddock y Mittenthal (1991) proponen los
siguientes valores para los parámetros del programa de
temperaturas:
•Ti= 100
• Tf = 5 ó 10
• r = 0.4, 0.6 ó 0.8
• k = 3,4, .. ,8.
El conocimiento de las características de la
función objetivo es importante al momento de
seleccionar los valores de los parámetros del programa
de temperaturas. En esta forma, el uso de un grupo de
parámetros puede producir una solución sensible al
punto inicial. Este problema puede ser superado según
recomienda Haddock y Mittenthal (1992), seleccionando
un valor del parámetro FINAL que sea estrictamente
mayor que l. Así cada paso siguiente del algoritmo se
inicializa con un punto de arranque seleccionado
aleatoriamente,_ ampliando el rango de todos los
registros y reduciendo la sensibilidad del resultado a
la selección del punto inicial en el primer paso del
algoritmo.
30
3. 3 Algoritmo de Solución para el Problema de
Localización Dinámica de Planta con Capacidad Finita y Demanda Estocástica Sensible al Precio.
Para dar solución al problema de localización de
planta que se presenta en este trabajo, se desarrolla a
continuación un algoritmo de solución específico para
este caso, a partir de la aplicación del algoritmo
general de Recocimiento Simulado:
• Paso O. Inicializar la variable PASO= O.
• Paso l. Hacer que T = Ti.
• Paso 2. Seleccionar en forma aleatoria un número i
entero en el intervalo [1,m], que corresponderá al
subíndice de la variable Zi que tomará el valor de 1,
lo que representa la mejor localización actual. Este
paso relaja el modelo en la forma siguiente: n T • T
Maximizar Z = ¿¿y;L(x; )-¿//z, para el i seleccionado
Sujeto a:
J=l t=l
n • ~ , , < A .t,_¡YyXlj - 1
J=l
t=l
; V t = 1,2, ..... ,T para el i seleccionado
(14)
( 15)
• Paso 3. Fijar las variables y; en 1 para el i
seleccionado. Probar que no se viole la restricción
( 15) .
• Paso 4. Si al probar la restricción (15), se tiene que n •
¿y~x~ >A,, entonces, hacer que el y~ correspondiente a J=l
la menor ganancia esperada (L ( x~·) ) sea igual a cero.
Repetir este procedimiento para las siguientes menores
31
ganancias esperadas, hasta que la condición de
capacidad se satisfaga.
• Paso 5. Evaluar la función objetivo para la i
seleccionada y llamarle Obj1
• Paso 6. Hacer que PASO= PASO+ l.
• Paso 7. Comenzar ciclo de j = 1, 2, . . ,k. Seleccionar en
forma aleatoria un número i entero adyacente al
anterior en el intervalo [1, m], que corresponderá al
subíndice de la variable Zi que tomará el valor de l.
Repetir los pasos 3 y 4 para el nuevo Zi, de tal forma
que la nueva evaluación de z se denomine Obj2.
~Obj = Obj1 - Obj2 .Seleccionar una variable aleatoria
X-U(0,1). Si X< P(~Z)= e(-tJ.ObJID, entonces ir al paso
8, de otra forma, fin de ciclo.
• Paso 8. Aceptar el cambio de esa pareja, Obj1 = Obj2.
Fin de ciclo.
• Paso 9. T = rT. Si T ~ Tf, ir al paso 7, de otra forma,
si PASO< FINAL, ir al paso 1, de otra forma parar.
Nótese que antes de poder correr el algoritmo,
anteriormente descrito, es necesario calcular las
cantidades óptimas a abastecer desde la planta i, hasta
el centro de consumo j en el periodo t (xr), de acuerdo a
la ecuación (8), para posteriormente calcular la ganancia
esperada de acuerdo a la ecuación (1) presentadas en el
capítulo 2. Para tal efecto, el primer paso es resolver
la ecuación ( 8) para la función de distribución
correspondiente (normal ó uniforme).
32
Cuando la demanda se comporta de acuerdo a una
distribución normal, el procedimiento consiste en
calcular la relación ,; / p;, e igualar a la probabilidad
la cual se puede estandarizar en la siguiente
forma: permitiendo obtener el valor
de Z en tablas de la distribución normal estándar, las
cuales fueron cargadas en un archivo de datos de donde el
programa busca el valor de z, de acuerdo al
correspondiente valor de ,; / p; . Posteriormente se calcula ,. z
xtt = u 'Ív + µ efu •
El siguiente paso por realizar es calcular la
ganancia esperada mediante la ecuación (1), para lo cual
es necesario resolver la integral
misma que no tiene solución
por métodos analíticos, por lo que se resuelve empleando
Simulación Monte Carla. El método consiste en generar
aleatoriamente n veces (n = 300 en este caso) la variable
para [tfv-µ •· J 2
, - ( t ) ( q~ - x~·) -112 ª "1 ~ evaluar la función g qu = ~ e
v21ru qf¡ donde
n
¿g(q~) (
/ ,. ) i=l uij-xij ---
n para n lo
suficientemente grande.
Para determinar un valor de n adecuado para la
Simulación Monte Carlo, se probaron varios valores
33
mediante un programa hecho en Microsoft Excel, en el cual
se da solución a la integral de una distribución normal
con media de 220 y desviación estándar de 10, el
resultado de esta integral de acuerdo a las tablas de la
distribución normal estándar así como la integral son los
siguientes:
( )
2 ,fu-220
í260 1 e-1/2 -l-O d(l )= 0.3084 Jm .Ji;* 10 !J
Los resultados de las pruebas se resumen en la
siguiente forma:
n resultado
• so 0.2755
• 100 0.2638
• 150 0.3648
• 200 0.2987
• 250 0.2925
• 300 0.3045
Por lo anterior se considera que n = 300 permite una
adecuada aproximación al valor real de la integral.
En el caso en que la demanda se comporta de acuerdo
a una distribución uniforme, el problema de calcular x; y
L ( x;·) se resuelve mediante el cálculo de las integrales
correspondientes
respectivamente,
en
como
las
se
considerando que q; - U(o,u;):
34
ecuaciones ( 8) y ( 1)
ilustra a continuación,
1
_1 uJij d(q' )=-1-q, 1~- = (u; -x;·) = 1_ x~· = ,; U, iJ u' 11 :r¡¡ u' u' p'
tJ :rr tJ tJ tJ !i
r' donde: x;· = u; (1-~)
pij
además,
3.4 Algoritmo
Generación de Datos para Prueba del
No se disponen de datos reales para un problema de
localización de planta con las características que se
muestran aquí, por lo que, tanto el algoritmo como el
modelo revisado fueron probados y validados usando datos
de prueba generados aleatoriamente, de los parámetros
siguientes:
//' ,;, I pij, µ ,J' 'IIJ
Y u; Los datos de prueba fueron generados utilizando el
generador de números aleatorios con distribución uniforme
entre O y 1, del paquete de programación Visual Basic
3.0. Posteriormente se convirtieron a los límites
35
apropiados para cada parámetro mediante un programa en
Visual Basic de acuerdo a lo siguiente:
Datos Tipo 1: Demanda Normalmente Distribuida
// es uniforme sobre (200,300)
t
'11 es uniforme sobre (0.5,2.5)
/4 es uniforme sobre (1000,3000)
t P11 es uniforme sobre ( 3 / 6)
µ "1 = 600/ p~
a ,/¡¡ = 10
ui es uniforme sobre (210,250)
Datos Tipo 2: Demanda Uniformemente Distribuida
// es uniforme sobre (200,300)
1'.' fl es uniforme sobre (0.5,2.5)
A, es uniforme sobre (1000,3000)
t P11 es uniforme sobre (50,300)
µe/u = 600/ p~
ui es uniforme sobre (210,250)
Los límites utilizados en los diferentes parámetros
son fijados en base a lo presentado en el trabajo de
Logendran y Palmer (1991).
36
CAPITULO 4. RESULTADOS
El algoritmo de solución presentado en el capítulo
precedente, fue codificado en un programa de computación
en lenguaje Visual Basic 3.0, del cual se anexa una copia
junto con su instructivo de uso al final de este trabajo.
Para la validación del algoritmo y del programa de
computo, se consideraron dos casos de prueba; primero que
la demanda sigue un comportamiento de acuerdo a una
distribución de probabilidad normal con media y
distribución estándar conocidas y en segundo lugar se
considera un comportamiento de la demanda de acuerdo a
una distribución uniforme con parámetros a=0 y b=u; como
límites inferior y superior respectivamente.
Los problemas de localización de planta que fueron
resueltos mediante el algoritmo desarrollado, se
clasifican de acuerdo a su tamaño (m x n x T) , en la
siguiente forma:
• Problemas pequeños
• Problemas medianos
• Problemas grandes
Las tabla 1 y
De 2 x 2 x 10 a 8 x 10 x 10
De 10 x 15 x 10 a 20 x 25 x 10
Arriba de 30 x 40 x 10
2, resumen los resultados
computacionales que dan solución a problemas de diferente
tamaño, para comportamiento de la demanda normal y
uniforme respectivamente. En dichas tablas se presenta el
valor óptimo de la función objetivo, así como la
localización que arroja dicho resultado, para problemas
pequeños de hasta 2 x 3 x 10. Estos resultados fueron
37
encontrados mediante la solución del modelo revisado
original, con la utilización del paquete de programación
lineal y entera LINDO, el cual fue corrido en una
computadora personal con procesador 486 de 33 Mhz.
TABLA l. RESULTADOS PARA PROBLEMAS PEQUEÑOS, MEDIANOS Y
GRANDES CON DEMANDA NORMALMENTE DISTRIBUIDA
m x n x T Optimo Tiempo CPU Resultado Tiempo CPU Localización
LINDO (seg.) RS (seg.)
2 X 2 X 10 5,599.27 4 5,599.27 menos de 1 Zl=l
2 X 3 X 10 9,589.18 8 9,589.18 menos de 1 Z2=1
3 X 4 X 10 13,053.83 menos de 1 Z3=1
4 X 5 X 10 18,147.30 menos de 1 Z2=1
5 X 6 X 10 23,051.41 1 Z3=1
6 X 9 X 10 32,853.52 1 Zl=l
8 X 10 X 10 37,290.98 2 Z7=1
10 X 15 X 10 56,109.89 4 Z4=1
15 X 20 X 10 72,270.98 15 Z6=1
20 X 25 X 10 87,702.77 60 Zl=l
-30 X 40 X 10 98,650.84 227 Z17=1
50 X 50 X 10 95,474.25 340 Z24=1
En forma comparativa, las tablas muestran también, los
resultados obtenidos por medio del programa de
Recocimiento Simulado, para problemas de tamaño pequeño,
mediano y grande, hasta de SO x SO x 10. Este último
38
programa también fue corrido en una computadora con las
especificaciones antes mencionadas.
TABLA 2. RESULTADOS PARA PROBLEMAS PEQUEÑOS, MEDIANOS Y
GRANDES CON DEMANDA UNIFORMEMENTE DISTRIBUIDA
m x n x T Optimo Tiempo CPU Resultado Tiempo CPU Localización
LINDO (seg.) RS (seg.)
2 X 2 X 10 2,475.42 4 2,475.42 menos de 1 Zl=l
2 X 3 X 10 5,628.21 7 5,628.21 menos de 1 Z2=1
3 X 4 X 10 8,003.49 menos de 1 Z2=1
4 X 5 X 10 10,682.00 menos de 1 Z3=1
5 X 6 X 10 13,982.69 1 Z2=1
6 X 9 X 10 23,148.89 1 Z6=1
8 X 10 X 10 24,456.23 3 Z7=1
10 X 15 X 10 34,346.30 12 Zl=l
15 X 20 X 10 34,176.85 46 Z3=1
20 X 25 X 10 44,731.97 93 Z15=1
30 X 40 X 10 50,872.93 258 Z28=1
50 X 50 X 10 50,999.34 700 Zl0=l
Como se puede observar, los resultados obtenidos por
medio de ambos programas para problemas pequeños, son en
los dos casos soluciones óptimas, pero con un menor
esfuerzo computacional en el caso de Recocimiento
Simulado, lo que se refleja en el tiempo de CPU que lleva
39
encontrar la solución en cada problema por ambos métodos.
Por ejemplo, para el problema de 2 x 2 x 10, el paquete
LINDO, tarda 4 segundos, mientras el programa de RS tarda
menos de un segundo. Es conveniente aclarar que la
capacidad del mencionado programa (LINDO), se limita a la
solución de problemas de 200 variables y 100
restricciones, por lo que no fue posible dar solución a
problemas de mayor tamaño.
Durante la ejecución del programa de RS, se
experimentaron diferentes valores para los parámetros del
programa de temperaturas (Ti, Tf, r y k), de acuerdo a lo
recomendado por Haddock y Mittenthal (1991) y que se
presentó en el apartado 3.2 del capítulo 3. De acuerdo a
los resultados de dicha experimentación, con una
temperatura Ti = SO y un valor de s para Tf se obtiene
una solución óptima,
por lo menos el 90
para problemas medianos y grandes,
% de las veces y las restantes
ocasiones, se obtienen óptimos locales cercanos al óptimo
global. Además de los parámetros Ti y Tf, se debe tener
cuidado en la selección de los valores de los parámetros
r y k, los cuales dependen en gran medida de las
características del problema que se vaya a resolver. Por
ejemplo, para un problema de 15 x 20 x 10, se debe
seleccionar un valor de r = 0.4 y de k entre 3 y 4, lo
que permite explorar la mayoría de las posibilidades de
localización y por tanto aumentar la probabilidad de
obtener un máximo global. Para un problema de SO x 50 x
40
10, r = 0.6 y k = 8, arroja muy buenos resultados, o bien
r = 0.8 y k = 4, lo que permite una exploración de mayor
cantidad de opciones, pero recuérdese que esto se logra
en base a un mayor esfuerzo computacional.
Para el caso de problemas pequeños, dado que las
alternativas de localización son limitadas, mediante una
adecuada selección de los valores de los parámetros del
programa de temperaturas, se pueden explorar con
facilidad la totalidad de las opciones de localización,
de tal forma que se asegura prácticamente el logro de un
máximo global. Considérese el ejemplo de un problema de 5
x 6 x 10, en el que se tienen únicamente 5 posibilidades
de localización, con valores de Ti= 50, Tf = 10, r = 0.4
" y k = 2, se exploran el total de las posibilidades, dado
que la razón de descenso de 0.4 permite probar dos
posibilidades para cada una de las iteraciones k, durante
el descenso de 50 a 10, lo que se suma a la selección de
la localización inicial aleatoria con la que inicia el
algoritmo. De la misma forma para un problema de 2 x 3 x
10, dado que sólo tiene dos alteFnativas de localización,
se deberá seleccionar una Ti= 50, Tf > 20, r = 0.4 y
k = 1, para que se explore únicamente una posibilidad, la
cual se suma a la localización inicial con la que se
inicia el algoritmo. Nótese entonces que el parámetro k
debe tomar valores menores a m (número de posibilidades
de localización).
41
Por su parte, la variable FINAL, que permite repetir
el algoritmo principiando con una localización inicial
aleatoria diferente, un número de veces de acuerdo a su
valor, mostró tener muy buenos resultados con un valor de
2, lo que permite dos repeticiones del algoritmo de
solución, sin un esfuerzo computacional considerable.
42
CAPITULO 5. CONCLUSIONES
Este trabajo presenta un algoritmo para dar
solución a problemas de tamaño considerable de
Localización Dinámica de Planta con Capacidad Finita y
Demanda Estocástica Sensible al Precio, obteniéndose
resultados halagadores en el sentido de que se logra
dar solución a problemas que involucran a un gran
número de variables, como es el caso, por ejemplo, de
un problema de 50 x 50 x 10, el cual consta de 25,050
variables y es resuelto en un tiempo relativamente
corto de 450 a 600 segundos de CPU.
La técnica de Recocimiento Simulado ha sido muy
utilizada en los últimos años, en la solución de
problemas considerablemente grandes de optimización,
obteniéndose en buena proporción resultados aceptables;
aunque en algunos casos, con esfuerzos computacionales
considerables (ver por ejemplo Wilhelm y Ward, 1987).
Sin embargo, debe tenerse cuidado en su aplicación,
debido a que dependiendo del tipo de problema al que se
aplique se pueden tener resultados aceptables en
algunos casos, mientras en otros los resultados pueden
ser francamente malos, lo que depende básicamente de
las características del problema a resolver. En el caso
particular de este trabajo, RS permite una buena
relajación del modelo original lo que contribuye a la
obtención de buenos resultados mediante el uso de esta
técnica, ya que se tiene la posibilidad de explorar la
43
mayoría de las opciones de localización, sin
incrementar en gran medida el esfuerzo computacional.
RESUMEN
El presente trabajo presenta un modelo del Problema
de Localización Dinámica de Planta, con el objetivo de
maximizar la ganancia total esperada, incluyendo demanda
estocástica con sensibilidad a las variaciones del
precio. Se propone como método de solución un algoritmo
basado en la aplicación del algoritmo Metrópolis
(Recocirniento Simulado), el cual es una técnica de
optimización por simulación mediante mejoramiento
iterativo. Se consideran dos casos de comportamiento de
la demanda, el primero es de acuerdo a una distribución
normal y el segundo de acuerdo a una distribución
uniforme.
El algoritmo de solución es programado en Visual
Basic 3.0 y permite dar solución a problemas hasta de 50
opciones de localización, 50 mercados a abastecer y 10
periodos de planeación, lo que involucra 25,050
variables. Los resul tactos obtenidos son óptimos por lo
menos el 90 % de las ocasiones para problemas grandes,
mientras en problemas pequefios ~ medianos se obtiene el
óptimo prácticamente en la totalidad de las ocasiones. Lo
anterior es logrado con un esfuerzo computacional
aceptable teniendo corno máximo un tiempo de 700 segundos
para el problema de 50 X 50 X 10, con distribución
uniforme de la demanda.
45
46
~
BIBLIOGRAFIA.
1. Bowersox, Donald J. , 1972. 'Planning Physical
Distribution Operations With Dynamic Simulation' .
Journa1 of Marketing. 36(Enero) 17 - 25.
2. Brandeau, Margaret y Samuel Chiu, 1989. 'An
Overview of Representative Problems in Location
Research'. Management Science. 35(6) 645 - 667.
3. Erlenkotter, D., 1981. 'A Comparative Study of
Approaches to Dynamic Location Problems'. Eur. Jou.
Opns. Res. 6, 133 - 143.
4. Francis, Richard L., Leon F. McGinnis y John A.
White, 1992. Facility Layout and Location, an
Anali ti cal Approach. 2da. edición. Prentice Hall. New
Jersey.
5. Gerson, Martin L. y Richard B. Maffei, 1963.
'Technical Characteristics of Distribution Simulators'.
Management Science. 10(1) 62 - 69.
6. Haddock, Jorge y
Simulated
John Mittenthal, 1992.
'Simulation Using Anneal ing' . Computers
Industrial Engineering. 22(4) 387 - 395.
47
7. Kamath, A. P., N. K. Karmarkar, K. G.
Ramakrishnan y M. G. e. Resende, 1990. 'Computacional
Experince with an Interior Point Approach to the
Satisfiability Problem'. Annals of Operations Research.
25.
8. Karmarkar, N. K., M. G. C. Resende, I. Adler y
G. Veiga, 1989. 'Datastructures and Programming
Techniques for the Implementation of Karmarkar's
Algorithm'. ORSA Journal on Computing. 1(2) 84 - 106.
9. Kirkpatrick, s., Gelatt, C. D. Jr. y Vecchi, M.
P., 1983. 'Optimization by Simulated Annealing' .
Science. 220 (4598) 671 - 680.
10. Law, H. Averill
Simulation Modeling and
Singapur.
y W. David Kelton, 1991.
Analysis. Me Graw-Hill.
11. Logendran, Rasaratnam y M. Palmer Terrell,
1991. 'Capaci tated Plant Location-Allocation Problems
with Price Sensitive Stochastic Demands'. Logistics and
Transportation Review. 27. 23 - 53.
12. N. Metropolis, A. Rosenbluth, A. Teller y E.
Teller, 1953. 'Ecuation of Sta te Calculation by Fast
48
Computing Machines' . Journal of Chemical Physics. 21.
1087 - 1092.
13. Mitchel, J. E. y M. J. Todd, 1992. 'Solving
Combinatorial Optimization Problems Using Karmarkar ... s
Algorithm'. Mathematical Programming. 56(3) 245 - 284.
14. Oudheusden, Dirk y Kashi Singh, 1988. 'Dinamic
Lot Sizing and Facility Location' . Engineering Costs
and Production Economics. 14. 267 - 273.
15. Ríos M., Roger Z., 1993. Combinatorial
Optimization: An Interior Point Approach. Ph D.
Propuesta de disertación. Departamento de Ingeniería
Mecánica. Universidad de Austin, Texas.
16. Ronald H. Ballou, 1991. Logística Empresarial
Control y Planificación. Díaz de Santos, S.A. Madrid.
17. Shycon, Harvey N. y Richa~d B. Maffei, 1960.
'Simulation - Tool far Better Distribution' . Harvard
Business Review. (Nov-Dic) 65 - 75.
18. Shulman, Alexander, 1991. 'An Algorithm far
solving Dynamic Capacitated Plant Location Problems
With Discrete Expansion Size'. Operations Research.
39(3) 423 - 436.
49
19. Wilhem, Mickey y Thomas L. Ward, 1987.
'Solving Quadratic Assinment Problems by "Simulated
Annealing"'. IIE Transactions. (Marzo) 107 - 119.
50
ANEXOS
l. Instructivo de Uso del Programa
Para correr el programa de Recocimiento Simulado
para resol ver el Problema de Localización Dinámica de
Planta con Capacidad Finita y Demanda Estocástica
Sensible al Precio, se requiere de una computadora PC con
Windows y Visual Basic 3.0 instalados. Si se cuenta con
lo anterior realice los siguientes pasos:
• Se debe crear un directorio en disco duro con el nombre
de "Trabajo" y copiar los archivos del disco que se
anexa al disco duro de su computadora.
• Ejecute desde Windows el programa Visual Basic y el
VBAssist.
• Posteriormente en la opción de Archivo (File), abrir el
archivo: MAEST.MAK.
• Una vez cargado el archivo se debe correr el programa
dando un clic con el ratón en la opción 1 >I, de la
barra de herramientas horizontal superior.
• Aparecerá en su pantalla una ventana con el título:
Programa De RS Para Localización De Planta, donde usted
deberá dar valor a las variables I, J y T en las
casillas que se indican, lo cual corresponde al número
de opciones de localización, número de mercados a
abastecer y horizonte de planeación respectivamente.
• Posteriormente seleccione el tipo de distribución del
comportamiento de la demanda con que va a trabajar
51
(normal o estándar) en la ventanilla correspondiente,
selección que se realiza con el ratón.
• Para ejecutar la generación aleatoria de las variables .,, t
J 1 ' 'IJ' y u; t haga el ic en la opción de la
barra de herramientas que muestra el dibujo de un
archivero abierto. Los valores generados de las
variables, se podrán observar en la ventana que
aparecerá en su pantalla, la cual mostrará una tabla
del tipo de hoja de cálculo para cada una de las
variables.
• El siguiente paso es calcular las cantidades óptimas a
enviar de la planta i, al mercado j en el tiempo t y la
ganancia esperada correspondiente, para lo cual basta
se haga clic en la opción de la barra de herramientas
que presenta una mano sosteniendo una hoja. Los
resultados también se mostrarán en una nueva ventana en
forma tabular.
• Por último para dar solución al problema planteado, se
hace clic en la opción de la barra de herramientas que
presenta una computadora. Aparecerá una nueva ventana
en donde se deben dar los valores a los parámetros del
programa de temperaturas y a la variable FINAL para
indicar el número de veces que se repetirá el
algoritmo. Después hacer clic en la opción, Continuar.
o Los resul tactos aparecerán en una ventana, que muestra
una tabla para los valores resultantes de Zi, otra para
los correspondientes a ½ y una ventanilla donde se
52
muestra el valor resultan te de la función objetivo.
Además se proporciona la hora de inicio y terminación
del cálculo.
•Sise desea realizar otro cálculo a partir de datos ya
existentes o de datos nuevos, basta con cerrar las
ventanas con
repetir los
resultados.
información que ya
pasos restantes hasta
53
no se requiere, y
obtener nuevamente
54
VITA
Datos escolares
• Ingeniero en Pesquerías de la Universidad Autónoma de
Baja California Sur.
• Tesis profesional: Proyecto Técnico para la Instalación
de una Planta Procesadora de Mariscos, en San Ignacio
B. C. S.
• Con este trabajo se obtiene el grado de Maestro en
Ciencias, especialidad en Ingeniería Industrial del
ITESM, campus Monterrey.
Experiencia Laboral
• Ayudante Académico en la Universidad Autónoma de Baja
California Sur (2 años).
• Profesor de asignatura en el área de ingeniería
industrial aplicada a las pesquerías (UABCS, 3 años).
• Jefe de producción en la empresa PROAL S. A. de C. V.
en La Paz B. S. (2 años).
• Profesor Investigador de tiempo completo en el
departamento de Ingeniería en Pesquer~as de la
Universidad Autónoma de Baja California Sur (1.5 años).
• Asesor externo de las Sociedades Cooperativas de
Producción Pesquera "Puerto Chale" y "19 de Septiembre"
de Baja California Sur.
~ Actualmente Profesor del departamento de Ingeniería
Industrial del ITESM, campus ciudad de México.
55
Afiliación a agrupaciones científicas
• Miembro del Instituto de Ingeniería Industrial con cede
en Atlanta, EUA.
• Miembro de la Sociedad Americana de Control de Calidad
con cede en Wisconsin, EUA.
Tel. 6 - 32 - 1 O - 28 de la ciudad de México.
S6