Algoritmo de simulación para resolver el problema de ...

63
;;n- 11

Transcript of Algoritmo de simulación para resolver el problema de ...

Page 1: Algoritmo de simulación para resolver el problema de ...

;;n- 11

Page 2: Algoritmo de simulación para resolver el problema de ...

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

Page 3: Algoritmo de simulación para resolver el problema de ...

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 CIENCIAS­ESPECIALIDAD EN INGENIERIA INDUSTRIAL

MIGUEL GUADALUPE DIAZ SANCHEZ

Diciembre de 1994

Page 4: Algoritmo de simulación para resolver el problema de ...

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

Page 5: Algoritmo de simulación para resolver el problema de ...

DEDICATORIA

,4 UiJi, CM1, ~ mi, Cl/TTIM,, fW" ~

~, ~ C1ITTWI, t ~ e/TI, ~ ~- fP~ ~ eJ,q, ~ r¡M,

~ (1 wrnÍ>M.

Page 6: Algoritmo de simulación para resolver el problema de ...

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.

Page 7: Algoritmo de simulación para resolver el problema de ...

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

Page 8: Algoritmo de simulación para resolver el problema de ...

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

Page 9: Algoritmo de simulación para resolver el problema de ...

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

Page 10: Algoritmo de simulación para resolver el problema de ...

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

Page 11: Algoritmo de simulación para resolver el problema de ...

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

Page 12: Algoritmo de simulación para resolver el problema de ...

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

Page 13: Algoritmo de simulación para resolver el problema de ...

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

Page 14: Algoritmo de simulación para resolver el problema de ...

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

Page 15: Algoritmo de simulación para resolver el problema de ...

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

Page 16: Algoritmo de simulación para resolver el problema de ...

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

Page 17: Algoritmo de simulación para resolver el problema de ...

~ = 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

Page 18: Algoritmo de simulación para resolver el problema de ...

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

Page 19: Algoritmo de simulación para resolver el problema de ...

( 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

Page 20: Algoritmo de simulación para resolver el problema de ...

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

Page 21: Algoritmo de simulación para resolver el problema de ...

14

Page 22: Algoritmo de simulación para resolver el problema de ...

~ ~

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

Page 23: Algoritmo de simulación para resolver el problema de ...

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

Page 24: Algoritmo de simulación para resolver el problema de ...

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

Page 25: Algoritmo de simulación para resolver el problema de ...

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

Page 26: Algoritmo de simulación para resolver el problema de ...

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

Page 27: Algoritmo de simulación para resolver el problema de ...

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

Page 28: Algoritmo de simulación para resolver el problema de ...

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

Page 29: Algoritmo de simulación para resolver el problema de ...

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

Page 30: Algoritmo de simulación para resolver el problema de ...

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

Page 31: Algoritmo de simulación para resolver el problema de ...

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

Page 32: Algoritmo de simulación para resolver el problema de ...

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

Page 33: Algoritmo de simulación para resolver el problema de ...

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

Page 34: Algoritmo de simulación para resolver el problema de ...

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

Page 35: Algoritmo de simulación para resolver el problema de ...

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

Page 36: Algoritmo de simulación para resolver el problema de ...

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

Page 37: Algoritmo de simulación para resolver el problema de ...

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

Page 38: Algoritmo de simulación para resolver el problema de ...

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

Page 39: Algoritmo de simulación para resolver el problema de ...

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

Page 40: Algoritmo de simulación para resolver el problema de ...

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

Page 41: Algoritmo de simulación para resolver el problema de ...

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,

Page 42: Algoritmo de simulación para resolver el problema de ...

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

Page 43: Algoritmo de simulación para resolver el problema de ...

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

Page 44: Algoritmo de simulación para resolver el problema de ...

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

Page 45: Algoritmo de simulación para resolver el problema de ...

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

Page 46: Algoritmo de simulación para resolver el problema de ...

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

Page 47: Algoritmo de simulación para resolver el problema de ...

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

Page 48: Algoritmo de simulación para resolver el problema de ...

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

Page 49: Algoritmo de simulación para resolver el problema de ...

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

Page 50: Algoritmo de simulación para resolver el problema de ...

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

Page 51: Algoritmo de simulación para resolver el problema de ...

mayoría de las opciones de localización, sin

incrementar en gran medida el esfuerzo computacional.

Page 52: Algoritmo de simulación para resolver el problema de ...

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

Page 53: Algoritmo de simulación para resolver el problema de ...

46

Page 54: Algoritmo de simulación para resolver el problema de ...

~

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

Page 55: Algoritmo de simulación para resolver el problema de ...

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

Page 56: Algoritmo de simulación para resolver el problema de ...

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

Page 57: Algoritmo de simulación para resolver el problema de ...

19. Wilhem, Mickey y Thomas L. Ward, 1987.

'Solving Quadratic Assinment Problems by "Simulated

Annealing"'. IIE Transactions. (Marzo) 107 - 119.

50

Page 58: Algoritmo de simulación para resolver el problema de ...

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

Page 59: Algoritmo de simulación para resolver el problema de ...

(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

Page 60: Algoritmo de simulación para resolver el problema de ...

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

Page 61: Algoritmo de simulación para resolver el problema de ...

54

Page 62: Algoritmo de simulación para resolver el problema de ...

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

Page 63: Algoritmo de simulación para resolver el problema de ...

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