Vous êtes sur la page 1sur 50

1001000101001010010101011000111010 ISSN N 1390 - 3802

1010011001000101010100010100100010101001010110100101
0010100100010010010111100101010010010100100100100101
1010010001111001010100100101010010001001001001001010
0100100100100100010010010010010100010100100101001001
0101000100100100100100100101001001001001001010010010
0100100100010010010001001010010010010001001010010010
0010100100100100100101001010010100101001010100100101
UNA PUBLICACIN DEL ICM - ESPOL
1010110101001001001010010101010101010010011001010010
Volumen 8 Nmero 1 Abril 2010
0101010010010100101010010100100100101001001001010010
0100101001010101001001001010101100101010010010010010
1001011001010101100100101010110101010100100110010100
1100100101001010010001010100100100101001001010101010
Z
0110010100110010101010100010010100101010001010010100
1001010011010010100100101001010010100101010010100100
0101000100100100010100100100101010100100100101001011
0100110101101010010010010100101001001001010010011110
1001001001010010010010010010110110010100101010010100
1010010101010101010010101001001100101001010110101011
1100100101010010100101010111010010101001110010101010
0101001010010100101100101001010101001111001010010101
0010101001010010100101010011010101010110100101010100
Y
1010101001001010010111010100101011100101000101010000
1111010101001011001011110101001001101000010010101111
0100111010101010100011010101001011101010110101010110
0101010110100100100111100110110101011101010010010111
1110101001000100100100100100100100100001001001001000
X
1010100010100111001011101010101011101101101001011100
1001111100101001010011001010010010110101000101001101
0010100100101001010010100101010010100100100010100101
0010101011000111010100010100101001100100010101010001
0100100010101001010110100101001010010001001001011110
0101010010010100100100100101101001000111100101010010
Escuela Superior Politcnica del Litoral - ESPOL
0101010010001001001001001010010010010010010001001001
Instituto de Ciencias Matemticas - ICM
0010010100010100100101001001010100010010010010010010
0101001000101001010010100101010010100100100010100101
0010101011001000101001010010101011000111010100010100
1010011001000101010100010100100010101001010110100101

matemtica

INSTITUTO DE CIENCIAS MATEMTICAS


El Instituto de Ciencias Matemticas (ICM) es una unidad acadmica de la ESPOL.
Desde el inicio la funcin del ICM ha sido la docencia en Matemticas, Ciencias
Grficas e Informtica, para la formacin de profesionales en ingeniera, tecnologa
y ciencias, habiendo tenido a su cargo en los albores de la ESPOL, el dictado de 10
materias. Con el transcurso del tiempo y acorde con la era de la informacin, el ICM
cre en mayo de 1995 la carrera de Ingeniera en Estadstica Informtica, como
alternativa en ingeniera en informacin y servicios. Posteriormente, con el fin de
garantizar la eficiencia en el control y gestin empresarial con profesionales
capacitados y de excelencia se cre la carrera de Auditora y Control de Gestin
en mayo de 2000. Tambin el Instituto ha incursionado en una de las ms
importantes ramas de la matemtica aplicada que tiene grandes aplicaciones en el
mundo moderno, esto es la Investigacin de Operaciones, la Teora de Optimizacin,
y particularmente las aplicaciones logsticas, a travs del ofrecimiento de programas
de pre-grado y post-grado en estas reas. As es como desde el ao 2005 se
viene ofreciendo la maestra en Control de Operaciones y Gestin Logstica y desde
el ao 2006 la carrera de Ingeniera en Logstica y Transporte.
El ICM tambin cuenta con el CENTRO DE INVESTIGACIONES ESTADSTICAS, a
travs del cual, se realizan: estudios de prediccin, estudios actuariales, estudios de
mercado, diseos de experimentos, planificacin y direccin de censos, anlisis
financieros, bases de datos estadsticos, formulacin de proyectos, ingeniera de la
calidad, etc.
Entre otras actividades que desarrolla el ICM anualmente estn: las JORNADAS EN
ESTADSTICA E INFORMTICA que actualmente est en su dcimoquinta versin, el
CONCURSO INTERCOLEGIAL DE MATEMTICAS que se viene realizando en forma
contina desde 1988.
.

Ms informacin: www.icm.espol.edu.ec o escribirnos al e-mail: icm@espol.edu.ec, warmas@espol.edu.ec,


erivaden@espol.edu.ec, 30 va Perimetral: Edificios 25 B Planta alta (rea de Institutos) Telfs.: (593-4)
2269525 2269526, fax: (5934) 853138.
Guayaquil Ecuador

matemtica
UNA PUBLICACIN DEL ICM ESPOL
Volumen 8

Nmero 1

Abril 2010

Rector ESPOL:
Vicerrector General ESPOL:

Ph.D. Moiss Tacle Galrraga


M.Sc. Armando Altamirano Chvez

Director ICM:
Subdirector ICM:
Editor de publicaciones del ICM:

M.Sc. Washington Armas


M.Sc. Luis Rodrguez Ojeda
M.Sc. Eduardo Rivadeneira

Consejo Editorial ICM:

M.Sc. Efrn Jaramillo Carrin


M.Sc. Jorge Fernndez Ronquillo
M.Sc. Luis Rodrguez Ojeda

Redaccin y estilo:

M.Sc. Janet Valdiviezo


M.Sc. Gaudencio Zurita Herrera

Edicin:

Ing. Eva Mara Mera Intriago


Srta. Carolina Carrasco Salas

matemtica es una publicacin del Instituto de Ciencias Matemticas de


la Escuela Superior Politcnica del Litoral, y pretende constituirse en un rgano
de difusin cientfico tecnolgico, con el fin de incentivar y motivar el
desarrollo y avance de la matemtica y sus aplicaciones.
matemtica publica artculos tericos y de tipo experimental tales como
ensayos, resmenes de tesis de grado y trabajos de investigacin
relacionados con la aplicacin de la matemtica en los diferentes mbitos de
la realidad.

CONTENIDO

EDITORIAL.....................................................................................................

UN ALGORITMO EVOLUTIVO PARA RESOLVER EL PROBLEMA DE


CALENDARIZACIN PARA UNIVERSIDADES

Cabezas Xavier, Sandoya Fernando......................... 7


PROPUESTA DE UN MODELO MATEMTICO PARA
LA
SECUENCIACIN PTIMA DE LA COSECHA DE LA CAA DE AZCAR
INTERVALOS DE CONFIANZA E INTERVALOS DE CREDIBILIDAD PARA
UNA PROPORCIN. ESTUDIO COMPRATIVO

Daz Rosa Mara, Tisher Irene................. 19


A SHORT INTRODUCTION TO DYNAMICAL SYSTEMS

Pez Chvez Joseph...................... 28


DISEO DE UN SISTEMA DE SOPORTE DE DECISIONES PARA
RESOLVER EL PROBLEMA DE RUTEO EN UN SERVICIO DE COURIER

Pincay Johnny, Tomal James, Polo Vaca

USO DE METAHEURSTICAS PARA LA OPTIMIZACIN DE LA


SECUENCIA DE PRODUCCIN Y LA ASIGNACIN DE MANO DE OBRA
EN UNA EMPRESA MANUFACTURERA

34

Sandoya Fernando, Sevilla Vincio, Zurita Carlos................... 42

EDITORIAL

Uno de los mayores retos de la ciencia es tratar de comprender el entorno


fsico que nos rodea, el cual es escenario de muchos fenmenos complejos
y fascinantes. Como un todo, es casi imposible entender y explicar cmo
los diversos componentes de nuestro entorno interactan, por este motivo
es necesario enfocarse en el estudio de (sub)sistemas aislados. Una vez
que hemos identificado un sistema de inters, el siguiente paso es
descubrir las leyes que gobiernan su evolucin.
Estas leyes se pueden clasificar en trminos generales en dos tipos:
determinsticas y estocsticas. Si el problema en cuestin encaja dentro del
primer grupo, entonces podemos construir modelos matemticos que
describan, al menos aproximadamente, el comportamiento del sistema.
Para este fin el estudio de las ecuaciones diferenciales y de diferencias es
fundamental. Si por el contrario el sistema en cuestin involucra variables
cuyo comportamiento obedece a leyes probabilsticas, estaremos entonces
en el campo del anlisis estocstico, para lo cual el desarrollo de tan
importantes ramas como la estadstica, series de tiempo, matemtica
actuarial, entre otras, ha sido eje fundamental del modelaje matemtico no
determinstico.
En la revista Matemtica ponemos a disposicin de la comunidad
diversos trabajos de investigacin y difusin cientfica, en los cuales se
tratan variados temas que involucran tanto matemtica aplicada como pura,
de tal forma que el lector tenga a su alcance una amplia gama de
resultados segn su inters y ocupacin.
Agradecemos a los investigadores de la ESPOL por su permanente apoyo
a este esfuerzo que es la revista Matemtica.

matemtica:Una publicacin del ICM ESPOL


2010, Vol. 8, No. 1

UN ALGORITMO EVOLUTIVO PARA RESOLVER EL PROBLEMA DE


CALENDARIZACIN PARA UNIVERSIDADES
1

Cabezas Xavier, 2Sandoya Fernando

Resumen. En esta investigacin se realiz el diseo y la implementacin de un Algoritmo Evolutivo para resolver el problema de
Calendarizacin de Materias Basado en Plan de Estudio (CB-CTT), el cual es un caso particular de la Calendarizacin Educacional para
Universidades. Se consideran nueve restricciones, cuatro que no deben infringirse bajo ningn motivo (duras), como la asignacin de dos
recursos en un mismo lugar al mismo tiempo, y cinco cuyo no cumplimiento se obliga a minimizarse (suaves). Se disea un Algoritmo
Gentico y se lo implementa en Matlab con aportes en el diseo de la representacin de una solucin y en los procedimientos de Cruce,
Mutacin y Seleccin, obteniendo buenos resultados con los problemas de prueba propuesto por SaTT (Scheduling and Timetabling Group)
de la Universidad de Udine, Italia.
Palabras Claves: Calendarizacin, Metaheursticas, Algoritmos Genticos, Matlab.
Abstract. In this research is designed and implemented an Evolutionary Algorithm to the Curriculum-Based Course Timetabling Problem
(CB-CTT), which is a particular case of the Scheduling Education for Universities. Nine restrictions were considered, four have not infringed
by any reason (hard), including the allocation of two resources in one place at the same time, and five that are required to be minimize (soft).
A Genetic Algorithm is designed and implemented it in Matlab with contributions into the design of the representation of a solution and in
procedures for crossing, mutation and selection, obtaining good results with test problems proposed by SaTT (Scheduling and Timetabling
Group), University of Udine, Italy.
Keywords: Timetabling, Metaheuristics, Genetic Algorithm, Matlab.

Recibido: Febrero, 2010


Aceptado: Marzo, 2010

1. INTRODUCCIN
El Problema de Calendarizacin TTP (por sus siglas
en ingls Timetabling Problem) es un tipo particular
de la clase amplia de problemas simplemente de
Programacin (Scheduling) [5] y se puede definir de
forma muy simple: Definicin 1.1 (Calendarizacin,
Zhipeng Lu and Jin-Kao Hao [3]). Asignar un
nmero de eventos, cada uno con ciertas
caractersticas, a un nmero limitado de recursos
sujeto a restricciones.
Para poder interpretar lo que en la definicin 1.1
significan los trminos: eventos, recursos y
restricciones, se debe estudiar las caractersticas de
un problema particular. Para este trabajo, se
considera una clase de los TTPs denominada
Educacional, que consiste en la programacin de
clases de un conjunto de materias con un nmero
dado de aulas y periodos de tiempo disponibles que
satisfacen varias restricciones [1]. Las restricciones
pueden ser clasificadas en duras y suaves. Las
restricciones de tipo duras son utilizadas para
encontrar soluciones factibles al problema y no
__________________________
1
Cabezas G. Xavier, MSc. en Investigacin de Operaciones,
Escuela Politcnica Nacional. Master en Control de
Operaciones
y
Gestin
Logstica,
ESPOL.
(e_mail: xavier.cabezas@stat-eeio.com)
2
Sandoya Fernando, M.Sc., Profesor de la Escuela Superior
Politcnica del Litoral (ESPOL); Coordinador de la carrera
Ingeniera en Logstica y Transporte ICM ESPOL.
(e_mail: fsandoya@espol.edu.ec)

pueden ser infringidas, por otro lado las


restricciones suaves pueden relajarse de tal forma de
buscar soluciones cercanas al ptimo que sern
cotas (inferiores o superiores) para buscar nuevas
alternativas de solucin.
El caso Educacional es solo una de las variaciones
de los TTPs, tambin existen otras aplicaciones en
reas muy distintas, tales como transporte
(programacin de salidas de buses), TV (Calendario
de Programas de TV) o deportes (programacin de
calendarios de juegos), un ejemplo de ste ltimo
tipo de problema se encuentra en [7], donde se
muestra un mtodo de solucin que utiliza una
aproximacin con programacin lineal entera (ILP,
por las siglas en ingls de Integer Linear
Programming) para la determinacin de horarios de
la Liga Italiana de Ftbol.
Para el caso Educacional se pueden clasificar en dos
grupos: Calendarizacin para Exmenes (ETT,
Exam Timetabling) y Calendarizacin para Materias
(Clases Regulares) (CTT, Course Timetabling), este
ltimo a su vez puede ser subdividido en
Calendarizacin por Materias Basado en
Inscripciones (EB-CTT, Enrollment-Based Course
Timetabling) y Calendarizacin por Materias
Basado en Plan de Estudios (CB-CTT, CurriculumBased Course Timetabling), ver Tabla I.
Cuando se intenta resolver el TTP, pueden
presentarse una serie de conflictos entre las

UN ALGORITMO EVOLUTIVO PARA RESOLVER EL PROBLEMA DE CALENDARIZACIN PARA UNIVERSIDADES

restricciones que se plantean, pero stas para el caso


del EB-CTT se debern a la decisin que tomen los
estudiantes sobre las materias que desean tomar, un
cruce podra ocurrir si la eleccin no ha sido buena;
por otro lado los problemas que se podrn presentar
en el CB-CTT resultarn de una programacin no
tan buena del plan de estudios por parte de la
institucin educativa. Los conflictos ocurren cuando
una programacin requiera que cualquiera de los
recursos este en dos lugares al mismo tiempo. En
realidad todo depende del tamao de la institucin o
del departamento que ofrece sus cursos y del tiempo
requerido para producir la solucin.

un mismo profesor deben programarse en


diferentes periodos. Una violacin ocurre si dos
sesiones de clases estn en conflicto.
Disponibilidad (availabilities): Si un profesor
de una materia no est disponible para dictarla
en un periodo dado, entonces ninguna sesin de
clase de esta materia debe ubicarse en ese
periodo. Cada sesin de clase en un periodo no
disponible para esa materia se cuenta como una
violacin.
Restricciones Suaves (SOFT constraints)
Capacidad de Aulas (Room Capacity): Para
cada sesin de clase el nmero de estudiantes
que asisten a las materias debe ser menor o
igual al nmero de lugares disponibles de todas
las aulas que acogen a las sesiones de clases. Se
cuenta como una violacin a cada alumno por
encima de la capacidad del aula.
Das de Trabajo Mnimo (Minimum
Working Days): Las sesiones de clases de
cada materia deben ser dictadas en un nmero
mnimo de das. Cada da por debajo del
mnimo se consideran 5 puntos de penalidad.
Curriculum
Compacto
(Curriculum
Compactnees): Sesiones de clase que
pertenecen a un mismo curriculum debern
estar juntas unas con otras (periodos
consecutivos). Para un curriculum dado se
considera una violacin cada vez que una
sesin de clase no sea adyacente a otra en el
mismo da.
Curriculum
Compacto
version
2
(Curriculum Compactnees ver 2): Sesiones
de clases programadas en un mismo da no
deben tener sesiones de clases de otras materias
entre ellas.
Estabilizacin de Aulas (Room Stability):
Todas las sesiones de clases de una materia
deben ser dictadas en una sola aula.

TABLA I
Un algoritmo evolutivo para resolver el problema de calendarizacin
para universidades

Clasificacin de Problemas de Calendarizacin Educacional

Calendarizacin
Exmenes
ETT
Basado en
Materias
Educacional
Inscripciones
CTT
EB-CTT
Materias Basado en Plan de
Estudios CB-CTT
CTT
2. RESTRICCIONES CONSIDERADAS
PARA EL CB-CTT
Cuando se realiza una revisin de la literatura del
CB-CTT se pueden encontrar una serie de
documentos que presentan formulaciones novedosas
pero que no siempre consideran las previamente
definidas por otros autores, lo cual es debido a que
no es posible escribir una que contenga todos los
casos posibles que pueden presentarse en la vida
real, cada institucin educativa posee caractersticas
diferentes que hacen que el problema se vuelva muy
particular.
Las restricciones que se han considerado para esta
investigacin, son las mismas que se proponen en
Di Gaspero [8].
Restricciones Duras (HARD constraints)
Sesiones de clases (lectures): Todas las
sesiones de clases de las materias deben
programarse y asignarse a diferentes periodos.
Si la sesin de clase no est programada, se
considera una violacin.
Aulas Ocupadas (room occupancy): Dos
lecturas no pueden ser programas en la misma
aula en el mismo periodo. Se cuenta como una
violacin adicional cualquier sesin de clase
extra en una misma aula y periodo.
Conflictos (conflicts): Sesiones de clases de las
materias del mismo curriculum o dictadas por

2.1. UN EJEMPLO PARA RESOLVER


Unos datos de ejemplo que sirven de prueba para
analizar
la
eficiencia
de
heursticas
y
metaheursticas para problemas de Calendarizacin
(scheduling) y en particular para problemas de tipo
CB-CTT se pueden encontrar en la pgina web del
SaTT: Scheduling and Timetabling Group3, aqu se
define un formato de datos para inicio al que llaman
ECTT (Extended Curriculum-based Course
TimeTabling format), justamente para el CB-CTT,
que contiene tablas con informacin especfica que
guardan relacin con el formato requerido para la
competicin
mundialmente
conocida ITC
__________________________________
Diegm-University of Udine (Italy), main contacts: Prof. Andrea
Schaerf y Dr. Luca Di Gaspero; http://tabu.diegm.uniud.it/
3

X. CABEZAS & F. SANDOYA

Tabla: Materias Nombre de identificacin para las


materias.
Nombre de los profesores que dictan las
materias.
Nmero de clases de cada materia.
Mnimo nmero de das para programar a las
materias.
Nmero de estudiantes que toman una materia.
Valor binario 0-1 que indica si se requiere o no
que dos lecturas programadas en el mismo da
deban ser asignadas a periodos consecutivo
(algo que ocurre en la mayora de los casos).
Tabla: Aulas
Nombre de identificacin de las aulas.
Capacidad de las aulas.
Identificador que define la ubicacin (en un
bloque de edificio por ejemplo) de cada aula.
Tabla: Curriculums
Nombre de identificacin del curriculums
(semestre).
Nmero de cursos de los curriculums.
Nombres de identificacin de las materias en
cada curriculum.
Tabla: Restricciones de no disponibilidad
Nombre de identificacin para las materias.
Das en que las materias no pueden ser
programadas.
Periodos del da (Timeslots) en que las materias
no pueden ser programadas.
Tabla: Restricciones de aulas
Nombre de identificacin para las materias.
Nombre de identificacin del aula donde no
pueden ser programadas las materias.
El archivo toy.txt se llama directamente desde la
implementacin, y cada componente se guarda en
matrices de nmeros cuyos nombres se resumen en
la Tabla III.

(International Timetabling Competition).


De Cesco [1], donde los participantes deben
remitirse a esta forma de ingreso, porque entre otras
cosas, permite hacer ejecuciones de prueba para
algunos ejemplos generados para este fin y
compartir experiencia entre investigadores de forma
estandarizada. All consta un pequeo ejemplo
denominado Toy que tiene valor de la funcin de
evaluacin igual a cero. Toy se presenta en un
archivo plano txt y se detalla en la Tabla II.
TABLA II
Un algoritmo evolutivo para resolver el problema de calendarizacin
para universidades

Contenido del archivo toy.txt

TABLA III
Un algoritmo evolutivo para resolver el problema de calendarizacin
para universidades

Nombres y cdigos de los archivos txt

Nombre de la tabla
Toy se resolver con nuestro algoritmo. Se explica a
continuacin los componentes de este archivo txt.
Tabla: Datos generales
Nombre para el problema a ejecutar.
Nmero de aulas.
Nmero de das para calendizar.
Nmero de periodos por das.
Nmero de curriculums.
Min-Max clases diarias.
Nmero de restricciones de no disponibilidad.
Nmero de restricciones de aulas.

Datos generales

Materias (courses)

Aulas (rooms)

Curriculums (curricula)
No disponibilidad (unavailability
constrains)
Restricciones de aulas (room
constrains)

Matrices

CR
UC
RC

UN ALGORITMO EVOLUTIVO PARA RESOLVER EL PROBLEMA DE CALENDARIZACIN PARA UNIVERSIDADES

principalmente por su fortaleza dentro del grupo al


que pertenecen. La bsqueda de la solucin se
consigue mediante la evaluacin de la funcin
objetivo f para cada cadena de la poblacin. A la
funcin de evaluacin se la conoce con el nombre
de fitness y el procedimiento requiere que la cadena
de genes con mayor valor de fitness pueda ser
identificado, para asignarle mayor probabilidad de
reproducirse. La recombinacin de soluciones es lo
que hemos llamado cruce.
Otra situacin que se vive en la naturaleza, es que
de generacin en generacin siempre se producen
cambios estructurales los cuales se esperan que sean
para bien, sin embargo con alguna probabilidad un
descendiente pudiera traer deformaciones genticas
que lo hagan o bien vulnerable al medio ambiente o
bien lo conviertan en una entidad superior, a esto se
lo suele llamar mutacin.
Poblacin Inicial
Antes de comenzar a buscar soluciones a un
problema particular, es necesario contar con un
conjunto de soluciones (Poblacin Inicial) el cual
pueda evolucionar generacin tras generacin. La
Poblacin Inicial puede ser construida de forma
aleatoria o mediante algn procedimiento
sistemtico. Es muy importante considerar que este
conjunto debe contener suficiente informacin para
que su transformacin procure una solucin final
ptima o al menos muy cerca del ptimo, una
poblacin muy homognea podra tener como
consecuencia una convergencia hacia una solucin
no necesariamente buena. Debera adems tener un
tamao adecuado para evitar un bajo rendimiento
del algoritmo, por otro lado un tamao de la
poblacin muy grande podra llevarnos a un tiempo
de proceso fuera de los lmites de lo esperado.
Seleccin para una Nueva Generacin
Cuando ya se tiene una poblacin inicial diversa y
de calidad se debe escoger los candidatos a quienes
se aplicarn los procedimientos de cruce y/o
mutacin, es claro que se requiere que estas
soluciones sean individuos fuertes, lo que simula la
eleccin natural de las especies. Existen varios
mtodos para seleccionar soluciones entre los que se
encuentran dos de las ms conocidas: Torneo y
Rueda de la Fortuna (Roulette Wheel ).
En el mtodo de seleccin por Torneo se eligen
aleatoriamente desde la poblacin dos individuos
(soluciones) y de estos dos se selecciona aquel que
al evaluarlo en la funcin objetivo obtenga el mejor
resultado deseado (maximiza o minimiza).
En la Rueda de la Fortuna los elementos de la nueva
generacin se obtienen por medio de la generacin
de una variable aleatoria discreta que se define de la
siguiente forma:

3. DISEO DE UN ALGORITMO GENTICO


PARA EL CB-CTT
3.1. EL ALGORITMO GENTICO
John Holland en su libro Adaptation in Natural and
Aritificial Systems del ao 1975 [4] fue el primero
en utilizar el trmino Algoritmo Gentico (al que
abreviaremos AG), y que como su nombre lo indica,
son procedimientos sistemticos basados en la
seleccin natural de los seres vivos y el paso de
informacin gentica generacin a generacin.
Holland bas su trabajo en la evolucin de las
especies, propuesta por Darwin.
Definicin 3.1 (Algoritmo Gentico [2]). Un
algoritmo Gentico es una estructura de control que
organiza o dirige un conjunto de transformaciones y
operaciones diseadas para simular los procesos de
evolucin.
Lgicamente los trminos utilizados por los AG en
sus implementaciones computacionales guardan
relacin con la evolucin natural y por este motivo
es necesario describir algunas caractersticas de este
proceso, ms an si lo que se requiere es un proceso
de evolucin simulado, por medio de un algoritmo
matemtico implementado computacionalmente [2]
(pg. 70).
Procesos de la evolucin
Todos los cambios ocurridos a lo largo del cambio
generacional ocurren en una unidad llamada
cromosoma, que identifica a cada miembro de una
poblacin de individuos, de los cuales nos interesa
la probabilidad que sus caractersticas genticas
sobrevivan en el futuro. La idea es que, al
transcurrir el tiempo, en la poblacin solo queden
los individuos ms fuertes, es decir aquellos que
producen buenas soluciones al problema que se
plantea. Los Genes constituyen la estructura ms
simple que forma un cromosoma, cada miembro de
una poblacin tiene el mismo nmero de genes. Los
primeros algoritmos AG representaban a los genes
por medio de valores binarios 1 - 0, sin embargo
esto no es aplicable en la mayora de los problemas
prcticos.
La principal caracterstica del proceso evolutivo es
la supervivencia, la eleccin natural del ms fuerte,
lo que anlogamente quiere decir en un problema de
optimizacin un individuo que procure un mejor
valor de una funcin objetivo (FO) a minimizar (o
maximizar, de acuerdo al contexto de trabajo), es
decir un individuo puede ser visto como una
solucin posible que puede mejorar o empeorar a
FO. Esto lleva a considerar una funcin que permita
medir que tan bueno o malo es un individuo
respecto a otro. El cruce de los miembros de una
poblacin, producen hijos con caractersticas que
heredan de sus padres, donde cada pareja se elige

10

X. CABEZAS & F. SANDOYA

1.

2.
3.

Se ordena la Poblacin Actual de mayor a


menor de acuerdo a la valoracin de cada
cromosoma en relacin a la funcin objetivo.
Se suman las evaluaciones de la funcin
objetiva de todos los cromosomas.
A cada cromosoma se le asigna una
probabilidad de ser seleccionada de forma
aleatoria, con:
Evaluacin (i )

Evaluacin =
Evaluacin ( Poblacin)

estructura compuesta al menos de cinco


componentes:
1. Da
2. Ranura de tiempo
3. Profesor
4. Clase (de alguna Materia)
5. Aula
El par (Da, Ranura de tiempo) forman un periodo.
Un ejemplo se ilustra en la Figura 2.
FIGURA 2
Un algoritmo evolutivo para resolver el problema de calendarizacin
para universidades

Representacin de un cromosoma para Calendarizacin

Se selecciona un padre y una madre segn el peso


dado por la funcin de evaluacin y la tabla de
frecuencias relativas que se construye.
3.1.1.

CRITERIO DE PARADA

Adems de los procesos de cruce y mutacin que


ya se han explicado, es necesario contar con algn
criterio de parada del algoritmo. Es claro, que
mientras avanza el tiempo de ejecucin del AG las
nuevas generaciones sern cada vez ms
homogneas, por este motivo un criterio natural de
parada es detener el procedimiento cuando un gran
nmero de cromosomas de la poblacin sean
iguales. Otro criterio podra ser definir un tiempo de
ejecucin fijo y luego de la ltima iteracin elegir
aquella solucin representada por un cromosoma
con mejor funcin de evaluacin (fitness).
Un seudocdigo clsico y simple del AG se muestra
a continuacin:

Representacin del Cromosoma en Matlab


Un calendario se ha representado en este trabajo
como una matriz de dimensin [(das)(ranuras de
tiempo por da)(curriculums) 8]. En este arreglo,
el nmero de filas corresponde a cada periodo
disponible para calendarizar multiplicado por el
nmero de curriculums considerados en un
problema particular, esto quiere decir que los
calendarios de cada curriculum se dispondrn uno
debajo del otro, ver Figura 3, donde los diferentes
colores rojo y azul determinan respectivamente un
calendario para el curriculum 1 y curriculum 2.. Por
otra parte, cada columna de la matriz representa
respectivamente:
1. Indicador del nmero de la fila 1, 2, 3,. . ., etc.
2. Da de la semana (laborables).
3. Ranura de tiempo (horas de clases disponibles).
4. Materia que se dictar en un periodo.
5. Profesor de la materia.
6. Aula a utilizar.
7. Capacidad del aula a utilizar.
8. Nmero de estudiantes registrados en la materia.

FIGURA 1
Un algoritmo evolutivo para resolver el problema de calendarizacin
para universidades

Simple Pseudocdigo para el AG

3.2. El AG EN EL CB-CTT Y SU
IMPLEMENTACIN EN MATLAB
Representacin del Cromosoma
Para el CB-CTT cada cromosoma, representa un
calendario completo y en este caso cada gen es una

11

UN ALGORITMO EVOLUTIVO PARA RESOLVER EL PROBLEMA DE CALENDARIZACIN PARA UNIVERSIDADES

FIGURA 3

La evaluacin en la poblacin se la realiza


utilizando la funcin evaluapoblacion. Este
procedimiento simplemente da el valor de fitness
para cada cromosoma, presentndolos en un vector
que se ha llamado fitnessp, ver Figura 5.

Un algoritmo evolutivo para resolver el problema de calendarizacin


para universidades

Representacin matricial de un cromosoma (calendario)

FIGURA 5
Un algoritmo evolutivo para resolver el problema de calendarizacin
para universidades

Ejemplo del vector fitnessp para una poblacin de tamao 5

Generacin de la poblacin inicial


Se ha programado una funcin a la que llamamos
gcrom para generar la representacin matricial de
un cromosoma ubicando aleatoriamente para cada
curriculum en algn periodo una materia, un
profesor y un aula, adems de su capacidad y del
nmero de estudiantes registrados, tomndolas
desde archivos planos previamente importados por
otra funcin denominada readfiles. La funcin tiene
cuidado de no ubicar ms de las materias definidas
para cada curriculum en el archivo CR.txt.
En este punto se aplica un procedimiento que trata
de mejorar el cromosoma inicial cambiando
aleatoriamente el aula antes asignada por otra,
siempre y cuando la funcin objetivo mejore en su
valor, para este caso esto quiere decir que la
restriccin suave llamada Capacidad de Aulas se
supere. Este procedimiento se ha nombrado
mejoraroom.
Evaluacin de un Cromosoma y de la Poblacin
Todas las restricciones consideradas en esta
investigacin se han programado dentro de la
funcin fitnees, que mide el nmero de violaciones
de cada restriccin de acuerdo al criterio de la
Seccin 2. Un ejemplo de la aplicacin de la
funcin de evaluacin en Matlab se presenta en la
Figura 4. La suma del vector fitnessv es la medida
de incumplimiento de restricciones.

El proceso de seleccin
Para poder pasar de generacin en generacin se ha
diseado un procedimiento de seleccin de
soluciones que permite elegir de entre todos los
cromosomas de una poblacin a los mejores,
aquellos cuya funcin de evaluacin sea la mejor
posible. El mtodo que se ha implementado es la
Rueda de la Fortuna (Roulette Wheel ).
El procedimiento de cruce
En la funcin cruce, se desarrolla un procedimiento
sistemtico, que transfiere informacin gentica de
un padre y una madre para generar un hijo y una
hija.
El proceso comienza buscando en el calendario del
padre y la madre el periodo donde cada una de las
materias ya hayan sido programadas. Luego se
genera un nmero aleatorio uniforme de parmetros
1 y 0 con el fin de determinar si es el gen del padre
que se transferir al hijo o el de la madre, y se
ubicarn los datos del ascendiente en el mismo
periodo encontrado, cuidando que esta ubicacin
est libre en el descendiente, caso contrario se
selecciona una ubicacin libre de forma aleatoria.
Cuando la eleccin se ha realizado, la informacin
que se transfiere al otro descendiente es
exactamente lo opuesto, siempre que sea posible.
Todo esto se lo realiza para cada calendario de cada
curriculum, ver Figura 6.

FIGURA 4
Un algoritmo evolutivo para resolver el problema de calendarizacin
para universidades

Ejemplo de aplicacin de la funcin fitness

12

X. CABEZAS & F. SANDOYA

FIGURA 6

FIGURA 7

Un algoritmo evolutivo para resolver el problema de calendarizacin


para universidades

Un algoritmo evolutivo para resolver el problema de calendarizacin


para universidades

Ejemplo de un proceso de cruce para la base de datos Toy

Ejemplo de un proceso de mutacin para la base de datos


Toy.

Con el propsito de asegurar que las futuras


generaciones posean miembros ms fuertes, se ha
decidido que al momento de cruzar dos individuos,
se elija entre el hijo y la hija, al de menor funcin de
evaluacin para que forme parte de la nueva
poblacin. La funcin fitness se aplica a ambos
cromosomas y se verifica quien sobrevive y quin
no. El padre y la madre se seleccionan de forma
aleatoria desde la poblacin luego del proceso de
seleccin descrito anteriormente. La funcin que
permite este procedimiento es crucepoblacin. Esta
funcin contiene el parmetro probcruce que
representa la probabilidad de que dos individuos se
crucen, y se ajusta luego de experimentos
computacionales.
El procedimiento de mutacin
La mutacin es un procedimiento que acta sobre
los genes. En esta implementacin se ha
considerado para cada fila de la representacin
cromosmica no vaca, ubicar el gen (la fila) en un
lugar disponible de forma aleatoria, pero en este
caso, este cambio se produce siempre que la funcin
de evaluacin mejore en su medida. Esto asegura
que si la mutacin en un gen ocurre, esto sea para
bien, ver Figura 7, donde el valor de la funcin de
evaluacin para Cromosoma es 97 y para
MUTACIN es 93.
La funcin mutacin produce estos cambios. Un
parmetro de entrada es probmutacion el cual sirve
para determinar si un gen es candidato a mutar. El
proceso de mutacin debe aplicarse a cada elemento
de la poblacin de acuerdo a una probabilidad que
se define en la funcin mutacinpoblacin como
probmutacion, esta es la misma probabilidad dada
en la funcin mutacin para decidir si un gen de un
cromosoma mutar o no. Esto significa que la
misma probabilidad servir para definir si un
cromosoma entra al proceso de mutacin adems de
decidir si un gen cambiar de posicin.

Criterio de Parada
En teora el AG podra ejecutarse en tiempo
indefinido, teniendo en consideracin que los
elementos de la poblacin luego de un tiempo t
grande se parecern entre s y se espera adems que
la funcin de evaluacin tenga un valor cercano a
cero (o cero en el mejor de los casos). Debido a esto
un criterio de parada del AG se ha definido en este
trabajo como:
1. Para si al menos una proporcin p de individuos
miembros de la poblacin tienen el mismo valor de
fitness,
2. Si en alguna iteracin algn elemento de la
poblacin tiene un valor de funcin de evaluacin
igual cero.
En el primer caso la solucin ser aquel cromosoma
con mnimo fitness, si existe ms de una solucin
encontrada, se elige una de forma aleatoria, y en el
segundo caso aquel que tenga el valor de cero. En la
funcin criterioparada se implementa el caso uno y
en el caso dos se considera en el programa general
del AG, ver Programa 1.
AG completo
Luego de tener todos los elementos necesarios para
la implantacin del AG se enlazan todas las rutinas
descritas anteriormente en un solo cdigo. A este
programa general se denomina agcbctt, ver
Programa 1. El cual guarda relacin estricta con el
cdigo clsico de un AG, ver Figura 1.

13

UN ALGORITMO EVOLUTIVO PARA RESOLVER EL PROBLEMA DE CALENDARIZACIN PARA UNIVERSIDADES

4.2. CALIBRACIN DE PARMETROS


Los valores de los parmetros de entrada del AG
se han ajustado mediante un proceso de ensayo y
error, es decir, se prob diferentes valores hasta que
consideramos estabilidad en la ejecucin del
algoritmo. Con estabilidad se quiere decir que el
programa ejecutado alcanza los objetivos deseados
en un tiempo razonablemente pequeo. Un resumen
de los parmetros de entrada se detalla a
continuacin:
1. Tamao de la poblacin.
2. Probabilidad de mutacin.
3. Probabilidad de cruce.
La Tabla V muestra valores medios de las
repeticiones de la funcin agcbctt para los valores
de n = 10,20, ... ,100. En la Figura 8 se puede
observar que cuando se fijan los valores de
probabilidad de cruce y mutacin el AG parece
encontrar soluciones ptimas. El nmero de
iteraciones que se necesitan para que el AG
encuentre una solucin (no necesariamente la
ptima) de acuerdo a la Figura 9 se vuelve estable,
entre 22 y 26, para valores de n igual a 30, pero
como se menciona antes, los cromosomas ptimos
se empiezan a encontrar a partir de n = 50.
La Figura 10 da una tendencia lineal de crecimiento
mientras el tamao de la poblacin crece. Las
pruebas para este ejemplo han mostrado que
tiempos aceptables del algoritmo podran estar entre
30 y 50 segundos, que en el grfico se muestran
para n entre 40 y 60. Los valores fijos de las
probabilidades de cruce y mutacin, se obtuvieron
luego de analizar de forma conjunta los grficos
para variaciones en estos parmetros. En la Tabla 6
se ha hecho variar la probabilidad de cruce en
valores de probcruce = 0,1, 0,2, . . . , 1, y se puede
observar en la Figura 11, que el ptimo se encuentra
a partir del valor de probabilidad de cruce de 0,5,
sin embargo, un anlisis mas detallado mostr que
el valor de este parmetro podra estar entre 0,6 y
0,8. Para estas probabilidades de cruce, el promedio
del nmero de iteraciones que se necesitaron, est
entre 23 y 27, ver Figura 12 y su tiempo de
ejecucin promedio entre 40 y 50 segundos como lo
presenta la Figura 13.

4. RESULTADOS NUMRICOS
4.1. RECURSOS COMPUTACIONALES
EMPLEADOS
En Rodrguez [6] se define a Matlab 4 como un
instrumento computacional simple, verstil y de
gran poder para aplicaciones numricas, simblicas
y grficas, que contiene una gran cantidad de
funciones predefinidas para aplicaciones en ciencias
e ingeniera. Esta descripcin de Matlab muestra
muy bien las razones por la cual se ha elegido este
lenguaje de programacin para la implementacin
computacional de un AG diseado especficamente
para el CB-CTT.
La versin de Matlab que se ha utilizado es
Matlab 7.6.0.324 (R2008a), y los recursos de
hardware y software se detallan en la Tabla IV.
TABLA IV
Un algoritmo evolutivo para resolver el problema de calendarizacin
para universidades

Recursos para implementacin computacional del AG


.

__________________________
4

Matlab es una marca registrada de The MathWorks TM.

14

X. CABEZAS & F. SANDOYA

TABLA V

FIGURA 10

Un algoritmo evolutivo para resolver el problema de calendarizacin


para universidades

Un algoritmo evolutivo para resolver el problema de calendarizacin


para universidades

Experimento computacional (Tamao de Poblacin)

Tamao de Poblacin vs Tiempo de Ejecucin, variacin de


poblacin

TABLA VI
Un algoritmo evolutivo para resolver el problema de calendarizacin
para universidades

Experimento computacional (Probabilidad de Cruce)


FIGURA 8
Un algoritmo evolutivo para resolver el problema de calendarizacin
para universidades

Tamao de Poblacin vs Fitness, variacin de poblacin

FIGURA 9
Un algoritmo evolutivo para resolver el problema de calendarizacin
para universidades

FIGURA 11
Un algoritmo evolutivo para resolver el problema de calendarizacin
para universidades

Tamao de Poblacin vs Nmero de Iteraciones, variacin de


poblacin

Probabilidad de Cruce vs Fitness, variacin de probabilidad


de cruce

15

UN ALGORITMO EVOLUTIVO PARA RESOLVER EL PROBLEMA DE CALENDARIZACIN PARA UNIVERSIDADES

FIGURA 12

FIGURA 14

Un algoritmo evolutivo para resolver el problema de calendarizacin


para universidades

Un algoritmo evolutivo para resolver el problema de calendarizacin


para universidades

Probabilidad de Cruce vs Nmero de Iteraciones, variacin


de probabilidad de cruce

Probabilidad de Mutacin vs Fitness, variacin de


probabilidad de mutacin

FIGURA 13
Un algoritmo evolutivo para resolver el problema de calendarizacin
para universidades

FIGURA 15

Probabilidad de Cruce vs Tiempos de Ejecucin, variacin de


probabilidad de cruce

Un algoritmo evolutivo para resolver el problema de calendarizacin


para universidades

Probabilidad de Mutacin vs Nmero de Iteraciones,


variacin de probabilidad de mutacin

Un anlisis similar a los dos anteriores se realiza en


la Tabla VII y en las Figuras 14, 15 y 16, donde se
establecen valores de probabilidad de mutacin
mayores de 0,5 para un nmero de iteraciones
promedio entre 0,3 y 0,7, y un tiempo de ejecucin
aproximado de 50 segundos.

Figura 16
Un algoritmo evolutivo para resolver el problema de calendarizacin
para universidades

Probabilidad de Mutacin vs Tiempos de Ejecucin,


variacin de probabilidad de mutacin

TABLA VII
Un algoritmo evolutivo para resolver el problema de calendarizacin
para universidades

Experimento computacional (Probabilidad de Mutacin)

4.3. UNA SOLUCIN PARA EL EJEMPLO DE


PRUEBA
Se ha ejecutado agcbctt para la base de datos Toy
del archivo toy.txt, ver Tabla 2, y se han obtenido

16

X. CABEZAS & F. SANDOYA

FIGURA 18

los calendarios de las Figuras 17 y 18 que cumplen


con todas las restricciones impuestas.
Lo parmetros utilizados para este ejemplo fueron:
Tamao de la poblacin: 60
Probabilidad de Cruce: 0.7
Probabilidad de Mutacin: 0.4

Un algoritmo evolutivo para resolver el problema de calendarizacin


para universidades

Calendario para el Curriculum 2, Toy

FIGURA 17
Un algoritmo evolutivo para resolver el problema de calendarizacin
para universidades

Calendario para el Curriculum 1, Toy

En la figura 19 se muestra la funcin de evaluacin


de la solucin presentada.
El nmero de iteraciones que le tom al AG
encontrar una solucin fue 22 y el tiempo de
ejecucin de 19 segundos.
FIGURA 19
Un algoritmo evolutivo para resolver el problema de calendarizacin
para universidades

Aplicacin de la funcin fitness a la base de datos Toy

17

UN ALGORITMO EVOLUTIVO PARA RESOLVER EL PROBLEMA DE CALENDARIZACIN PARA UNIVERSIDADES

REFERENCIAS BIBLIOGRFICAS Y ELECTRNICAS

[5]. Y-T LEUNG, J. (2004). Handbook of


Scheduling.
Algorithms,
Lodels
and
Perfomance Analysis. Chapman & Hall/CRC.
Computer and Information Science Series.

[1]. DE CESCO, F.; SCHAERF, A.;


DI
GASPERO, L. (2008). Benchmarking
curriculum-based
course
timetabling:
Formulations, data
formats, instances,
validation, and results.

[6]. RODRGUEZ OJEDA, L. (2007). Matlab R


Conceptos Bsicos y Programacin. Instituto
de Ciencias Matemticas, Escuela Superior
Politcnica del Litoral.

[2]. DAZ, A. (1996). Optimizacin Heurstica y


Redes Neuronales. Addison Wesley.
[3]. JIN-KAO HAO, ZHIPENG LU. (2008).
Adaptive tab search for course timetabling.
ELSEVIER.

[7]. OLIVERI, D.; DELLA CROCE, F. (2004).


Scheduling the italian football league: an ilpbased approach. ELSEVIER.

[4]. HOLLAND, J.H. (1992), (1975). Adaptation


in natural and artificial Systems. University
of Michigan Press, Ann Arbor, Michigan; reissued by MIT Press.

[8]. SCHAERF,
A.;
DE
CESCO,
F.;
MC- COLLUM, B. (2007). The second
international timetabling competition (itc2007): Curriculum-based course timetabling
(track 3). Technical Report.

18

matemtica: Una publicacin del ICM ESPOL


2010, Vol. 8, No. 1

PROPUESTA DE UN MODELO MATEMTICO PARA


LA SECUENCIACIN PTIMA DE LA COSECHA DE
LA CAA DE AZCAR
Daz Rosa Mara1, Tisher Irene2
Resumen. En este artculo se presenta la formulacin y desarrollo de un modelo matemtico para la secuenciacin ptima de la
cosecha de la caa de azcar, que considera el tiempo ms temprano y el tiempo ms tarde de cosecha (ventana de tiempo). El
problema consiste en encontrar una ruta ptima, donde la alzadora visite cada suerte exactamente una vez partiendo de una suerte fija,
el tiempo de desplazamiento sea mnimo y cumpla con las restricciones de la ventana de tiempo. Dada la semejanza que existe entre el
problema de las alzadoras y el agente viajero, se tom como base la aplicacin que realiz Christos Voudouris [VT99] de la tcnica
heurstica Guided Local Search al problema del agente viajero. Se realizaron los ajustes necesarios a este algoritmo incluyendo
ventanas de tiempo y solucin inicial factible teniendo en cuenta las restricciones de la ventana. Como resultado, tenemos el algoritmo
para el recorrido ptimo de las alzadoras, el cual ser utilizado en la programacin de la cosecha a mediano plazo (3 meses), corto
plazo (1 mes) y cada vez que hayan cambios en la programacin (por quemas accidentales, daos de equipos, etc.). Se realizaron las
pruebas para validar el modelo, utilizando datos tomados de una simulacin y con datos reales obtenidos del ingenio Incauca.
Palabras Claves: Modelacin matemtica, optimizacin combinatorial, heursticas.
Abstract. This article presents the design and development of a mathematical model for the optimal sequencing of harvest sugar cane,
which considers time earlier and later harvest time (time window). The problem is to find an optimal route, where the fate collator visit
exactly once each starting from a fixed fate, travel time is minimal and meet the restrictions of the time window. Given the similarity
between the problem of collating and traveling salesman, was made based on the application that made Christos Voudouris [VT99] of
Guided Local Search heuristic technique to traveling salesman problem. Necessary adjustments were made to this algorithm including
time frame and initial solution feasible considering the constraints of the window. As a result, we have the algorithm for optimal route of
lifters, which will be used in scheduling the harvest medium term (3 months), short term (1 month) and every time you have changes in
the schedule (for burning accidental, damage of equipment, etc.).. Testing was performed to validate the model using data from
simulated and real data obtained Incauca wit.
Keywords: mathematical modeling, combinatorial optimization, heuristics.

Recibido: Diciembre, 2009


Aceptado: Febrero, 2010

1.

INTRODUCCIN

Con la globalizacin de la economa, se empieza


un proceso de cambio basado en la liberacin de
los mercados y la modernizacin institucional,
presentndose elevados niveles de competitividad
en el mercado nacional e internacional. Ante este
panorama, la agro-industria azucarera colombiana
debe introducir herramientas tecnolgicas que
proporcionen alternativas eficientes para la toma
de decisiones, con el fin de mejorar la
competitividad en el mercado y poder obtener una
alta rentabilidad de sus productos.
La produccin de caa de azcar posee uno de los
procesos ms complejos pues involucra una serie
de actividades que exigen una gran coordinacin,
un control permanente y una alta eficiencia en su
ejecucin. De las tres actividades (agrcola,
cosecha, fabril) que intervienen en el proceso de
produccin del azcar, es en la cosecha donde
encontramos ms factores no controlables, lo que
_________________________________________________________________
1

Daz Palacios Rosa Mara, Analista de Sistemas, ESPOL;


Matemtica, Universidad del Valle, Cali Colombia.
(e_mail: rmdiazpala@hotmail.com)
2
Tisher Irene, Matemtica; Doctora en Ingeniera Industrial,
Universidad Politcnica de Valencia (Espaa), 2000. rea de
Trabajo: Bioinformtica, simulacin computacional y
optimizacin. (e_mail: irene.tischer@correounivalle.edu.co)

hace difcil la toma de las decisiones y la


realizacin de una programacin eficiente.
Irene Tisher, con un grupo de estudiantes: tres de
Ingeniera de Sistemas y uno de matemticas, se
propuso
desarrollar
una
herramienta
computacional que sirva de apoyo para la toma de
decisiones a nivel estratgico, gerencial y de
operacin en la cosecha de la caa de azcar,
incluyendo la sistematizacin y optimizacin de
las operaciones involucradas en la cosecha, las
cuales son: aplicacin madurante, quema, corte,
alce y transporte.
Dentro de este proyecto macro, se encuentran
varios subproyectos, uno de ellos es la
formulacin y desarrollo de un modelo
matemtico para la secuenciacin ptima de la
cosecha de la caa de azcar, el cual corresponde
a este artculo.
2.

ANLISIS Y DESCRIPCIN DEL


MODELO PROPUESTO

Se realiz un anlisis detallado de la informacin


recopilada en la investigacin preliminar para
identificar en que actividad de la cosecha
centrbamos nuestra atencin para desarrollar el
modelo de optimizacin.
Inicialmente, se pensaba que la optimizacin se
tena que realizar en el transporte. El transporte de

PROPUESTA DE UN MODELO MATEMTICO PARA LA SECUENCIACIN PTIMA DE LA COSECHA DE


LA CAA DE AZCAR

la caa de azcar desde las suertes hasta los patios


en la fbrica es uno de los aspectos ms crticos,
ya que est sujeto a una serie de parmetros
algunos de ellos no controlables (clima, daos
mecnicos, retraso por problemas en la va, etc.)
que hacen difcil su programacin. Adems, el
transporte es la actividad que ms altos costos
tiene dentro del proceso de la cosecha.
Disear y desarrollar un modelo matemtico
para maximizar la eficiencia del sistema de
transporte sera una herramienta que contribuira a
la optimizacin de los recursos en el proceso de
cosecha de la caa de azcar, como una
alternativa para reducir los costos de produccin,
que es lo que se persigue.
Pero, a medida que se avanzaba en el anlisis, nos
dimos cuenta que la programacin del transporte
dependa de la ubicacin de los equipos de alce.
Uno de los factores que influyen en la
programacin de la cosecha est dado por la
ubicacin del equipo que alza la caa, las
alzadoras. El desplazamiento de estos equipos
involucra tiempos improductivos que representan
costos para la empresa. Adems, si no se hace un
recorrido eficiente de las alzadoras, la
programacin de la cosecha no puede alcanzar su
objetivo principal que es cubrir los requerimientos
de molienda de la fbrica en el menor tiempo
posible y con la mejor calidad de caa.
Ahora ya tenemos claro el objetivo: determinar
la ruta ptima de las alzadoras. Esta decisin se
fundamenta en dos razones. Primero, los equipos
de alce deben trabajar al mismo ritmo que trabaja
la fbrica; es decir, existe una relacin continua
entre el alce y la fbrica. Segundo, la
programacin de aplicacin de madurante, quema,
corte, y sincronizacin alce y transporte depende
de la programacin de los alces a largo plazo
(recorrido e itinerario de las alzadoras).
3.

solo si Cij = Cji


desigualdad

i , j . El problema satisface la

triangular

si

solo

si

Cij + Cik C jk i , j , k . Un caso particular es el

problema euclidiano, donde los costos


corresponden a distancias euclidianas y el
problema satisface la desigualdad triangular.
Una variante del TSP es el Agente viajero con
ventanas de tiempo (Traveling Salesman with
Time Windows TSPTW). En este caso, cada
vrtice Vi debe ser visitado dentro de una ventana
de tiempo

ai , b j y cada vrtice tiene asociado

un tiempo de servicio. Se puede minimizar el


tiempo de llegada o el tiempo de desplazamiento
sobre la ruta.
El agente viajero pertenece a la clase de
problemas de optimizacin para el cual la funcin
objetivo tiene muchos mnimos locales, por lo que
es difcil encontrar el mnimo global. Tambin es
un problema de optimizacin combinatorial difcil
(NP- complete problema), no existe un algoritmo
en tiempo polinomial que lo resuelva, de ah la
dificultad en encontrar un algoritmo ptimo y
eficiente. El tiempo de ejecucin del mejor
algoritmo conocido para el problema crece en
forma exponencial.
Muchos autores han desarrollado algoritmos
exactos y heursticas para resolver el problema,
como veremos a continuacin. Dumas et al.
[DDGS95] describe un algoritmo exacto usando
programacin dinmica para el TSPTW. Ellos
desarrollaron pruebas de eliminacin, las cuales
mejoran grandemente la tcnica de programacin
dinmica usada en este problema. Las pruebas
toman ventaja de las restricciones de la ventana
de tiempo para reducir el espacio y el nmero de
transiciones de los estados. El algoritmo fue
exitoso al resolver problemas de hasta 200 nodos
con ventanas de tiempo pequeas. Para los
problemas de tamao grande con ventanas de
tiempo muy anchas, la ejecucin de este
algoritmo tiene problemas de memoria.
Gedrau et al. [GHLS98] desarrollaron una
heurstica de insercin generalizada para el
TSPTW. El algoritmo gradualmente construye
una ruta, insertando un vrtice sobre la ruta actual
y ejecutando una reoptimizacin local. Esto lo
hace mientras chequea la factibilidad de la parte
restante de la ruta. Cuando una ruta factible es
encontrada, se aplican fases de post-optimizacin
basadas en eliminaciones y reinserciones
sucesivas de todos los vrtices. Las pruebas
ejecutadas con esta heurstica dan como resultado
soluciones cercanas al ptimo dentro de un
tiempo computacional razonable. Las pruebas se
realizaron con problemas de hasta 100 nodos.
Mingozzi et al. [MBR97] presentaron un
algoritmo exacto basado en programacin
dinmica, para el TSPTW y Restricciones de

PROBLEMA DEL AGENTE


VIAJERO

El Agente Viajero (Traveling Salesman


Problem, TSP) es uno de los problemas ms
estudiados en optimizacin combinatorial. Se
define como sigue: Sea G = (V, A) un grafo,
donde V = {v1, v2,, vn} es el conjunto de
vrtices y A = {(vi,vj): vi, vj V, i j } es el
conjunto de arcos. Con cada arco (vi,vj) est
asociado un costo no negativo Cij (el costo puede
ser distancia o tiempo de desplazamiento). El TSP
consiste en encontrar el ciclo hamiltoniano
(incluye todos los vrtices) de menor costo
pasando a travs de cada vrtice exactamente una
vez. La interpretacin ms comn del TSP es el
del vendedor que busca la ruta con menor costo a
travs de N ciudades, pasando por cada ciudad
exactamente una vez y terminando en la ciudad
donde inici la ruta. El problema es simtrico si y

20

R. DAZ & I. TISHER

Precedencia (antes de visitar un vrtice i, el


viajero debe visitar cada vrtice de un conjunto de
vrtices dados). El algoritmo da buenos resultados
con problemas de hasta 120 nodos.
Cristos Voudoris y Edward Tsang (1998)
desarrollaron la Heurstica Guided Local Search,
para resolver el TSP. En comparacin con otras
heursticas que existen para el TSP como Tab
Search [VT99], Simulated Annealing [Ski98],
sta es la que encuentra, en menor tiempo y con
menor costo computacional, una solucin cercana
al ptimo.
4.

5.

Dentro del proyecto macro, el modelo est


ubicado en la programacin de la cosecha a
mediano (tres meses) y corto plazo (un mes). En
esta parte es donde se maximiza la eficiencia de
los alces. En la programacin de la cosecha se
considera la siguiente informacin: programacin
anual de la molienda, dada por fbrica; existencia
de caa en campo; capacidad de los recursos:
alzadoras, tracto mulas, tractores; clima
(pluviosidad, viento); y la programacin a largo
plazo. De la programacin a largo plazo se
obtienen las suertes en edad de corte ptima, para
el periodo de la programacin.
Los ingenios han dividido en zonas el rea
sembrada en caa de azcar. A cada zona le
corresponde un frente de cosecha (personal de
corte) y un alce (equipo y personal de alce). En
particular, el alce uno con el frente de cosecha
uno le corresponde la zona que se encuentra a
menos de 20 Km. del ingenio. El personal
correspondiente al alce y frente de cosecha vive
cerca o en la zona asignada al alce, esto hace que
el alce quede amarrado a la zona.
Por lo expuesto anteriormente, la distribucin de
las suertes a los alces no se incluye dentro de la
optimizacin, ya que sta depende de muchos
factores, no solo de la distancia de la suerte al
ingenio.
El personal del ingenio es el responsable de
distribuir, de una forma eficiente, las suertes a
cada uno de los alces, con base en los datos
histricos, experiencia y capacidad de las
alzadoras. Una vez distribuidos los alces, se
realiza la optimizacin de cada alce, para obtener
como resultado la ruta ptima de las alzadoras
para cada alce.

FORMULACIN DEL MODELO

El problema de la ruta de las alzadoras con


ventanas de tiempo est definido por un grafo
dirigido G = (V, A) donde V = {v1, v2,, vn} es el
conjunto
de
suertes
(nodos)
y
A = {(vi,vj): vi, vj V, i j } es el conjunto de
arcos dirigidos que representan las carreteras que
comunican dichas suertes.
Un tiempo de desplazamiento tdij est asociado a
cada arco (vi, vj), i j del grafo, ste representa el
coste para cada arco. Cada suerte vi tiene asignado
un tiempo de servicio tsi. La matriz TD= [tdij]
que corresponde a los tiempos de desplazamiento
es simtrica, tdij = tdji i , j S (conjunto de
suertes). El tiempo de llegada de la alzadora a
cada suerte para iniciar el servicio debe estar
dentro
de
un
intervalo
de
tiempo ai , b j llamado ventana de tiempo. A

cada suerte se le asigna una ventana de tiempo,


donde ai es el tiempo ms temprano de cosecha y
bj es el tiempo ms tarde de cosecha. Tiempo de
espera es posible si la alzadora llega a la suerte
antes que ai, no se permite que la alzadora llegue
a la suerte despus de bj.
El objetivo es encontrar una ruta ptima, donde
la alzadora visite cada suerte exactamente una vez
partiendo de una suerte fija, el tiempo de
desplazamiento sea mnimo y cumpla las
restricciones de la ventana de tiempo. En lugar de
tiempo de desplazamiento se puede usar la
distancia entre las suertes. La funcin de costos
para el problema de las alzadoras con ventanas de
tiempo es la siguiente:
G ( ruta )

6.

INFORMACIN REQUERIDA POR


EL MODELO

El modelo necesita como entrada los siguientes


datos:
Suertes en edad de corte de un alce
determinado.
o Identificacin de la suerte.
o Tiempo de servicio: tiempo que se
demora la alzadora en alzar la caa.
o Tiempo de inicio ms temprano de corte
de la caa en la suerte.
o Tiempo ms tarde de corte de la caa en
la suerte.
Tiempo de desplazamiento entre las suertes.
Identificacin de la suerte donde se encuentra
el alce actualmente.
Cada alce cuenta con un equipo de
mantenimiento, por lo que no es necesario que las

= i =1 j =1 tdij , l (vi , v j )(ruta )


N

DELIMITACIN DEL MODELO EN


LA PROGRAMACIN DE LA
COSECHA

Donde

1, (vi , v j ) ruta
l( vi ,v j ) ( ruta ) =
0, (vi , v j ) ruta
y N es el nmero de suertes.

21

PROPUESTA DE UN MODELO MATEMTICO PARA LA SECUENCIACIN PTIMA DE LA COSECHA DE


LA CAA DE AZCAR

alzadoras se desplacen al ingenio por


mantenimiento. Slo van al ingenio cuando el
dao es grave y no se lo puede arreglar en el
campo. Por eso, entre los datos de entrada no se
incluye tiempo de desplazamiento por
mantenimiento.

A continuacin describimos esta tcnica. Toda la


informacin sobre GLS y Local Search fue
tomada de [VT99], [Vou97] y [VY95].
Algunas de las aplicaciones de GLS son:
El problema del Agente Viajero (TSP).
Problema de asignacin de la longitud de la
frecuencia de radio.
Problema de itinerarios para el personal de
Telecom British.
El problema de asignacin cuadrtico.
F6, un problema de optimizacin artificial.
El problema de la ruta de vehculos.
GLS, fue desarrollada por Christos Voudouris y
Edward Tsang y es el resultado de un proyecto de
investigacin con el fin de extender la
arquitectura
GENET
basada en
Redes
Neuronales, la cual es aplicable a problemas de
satisfaccin con restricciones. GLS generaliza
algunos de los elementos presentes en GENET, de
tal forma que se puede aplicar a problemas de
optimizacin combinatorial en general.
Empezando con GENET, Voudouris y Tsang
desarrollaron algoritmos intermedios, tales como
el algoritmo Tunneling para concluir con GLS. En
contraste con sus predecesores GLS es una
tcnica de optimizacin general y compacta.

7. DESARROLLO DEL MODELO


USANDO LA TCNICA GLS
Para desarrollar el modelo de optimizacin,
tomaremos como base la aplicacin que realiz
Christos Voudoris [VT99] de la tcnica GLS al
problema del agente viajero teniendo en cuenta
las siguientes diferencias:
El algoritmo implementado por Voudouris
para el agente viajero es sin ventanas de
tiempo. El problema de las alzadoras es con
ventanas de tiempo.
La ruta en el agente viajero es cerrada, es
decir el agente debe terminar su ruta en la
primera ciudad visitada. La ruta en el
problema de las alzadoras no es cerrada.
Al tener ventanas de tiempo en el problema
de las alzadoras, la solucin inicial debe
cumplir con las restricciones de la ventana.
Entonces hay que determinar una estrategia
para obtener una solucin inicial factible.
En el algoritmo del agente viajero, la funcin
de costos es entera. En el problema de las
alzadoras, la funcin de costos es real.
La ruta de las alzadoras debe iniciar en una
suerte fija, en cambio en agente viajero puede
iniciar su ruta en cualquier ciudad.

7.1.1 DESCRIPCIN DE LOCAL


SEARCH (LS) PARA LA RUTA DE LAS
ALZADORAS
A continuacin describimos esta tcnica. Toda la
informacin sobre GLS y Local Search fue
tomada de [VT99], [Vou97] y [VY95].
Para implementar Local Search5, se necesita un
operador de movimiento, el cual transforma una
solucin s en s. Este operador debe tener la
particularidad de poder definir estructuras de
vecindades, para poder aplicar el esquema de
bsqueda. Los operadores de movimiento que han
dado mejores resultados con el agente viajero son
el 2-Opt, 3-Opt6. Usaremos en la aplicacin
2-Opt, su estructura de vecindad es definida a
continuacin.
Operador de movimiento 2-Opt: Una solucin
vecina es obtenida, desde la solucin actual,
borrando dos arcos, invirtiendo una de las rutas
resultantes, reemplazando los dos arcos borrados
por otros dos y al final reconectando toda la ruta.
La complejidad del peor caso para buscar la
vecindad definida por 2-Opt es O(n2)7

7.1 HEURISTICA GUIDED LOCAL


SEARCH
GLS es una estrategia de bsqueda general
meta estocstica, utilizada para resolver
problemas de satisfaccin con restricciones
(constraint satisfaction problems) y de
optimizacin. Es una tcnica de control diseada
para ayudarle a los algoritmos hill climbing a
escapar de un ptimo local y distribuir el esfuerzo
de bsqueda. Ha sido aplicada a problemas no
triviales incluyendo problemas de optimizacin
artificial3, problemas de optimizacin estndar4 y
problemas de la vida real. Los resultados han sido
excelentes tanto en trminos de velocidad como
en calidad de soluciones.
Local Search es la base de muchos mtodos
heursticos para problemas de optimizacin
combinatorial, en particular para GLS.

_____________________________________________________________

5
Bsqueda Local, tambin conocida como Hill-climbing de
Vecindades, es una estrategia basada en optimizacin local.
Los algoritmos de bsqueda local constituyen una clase de
algoritmos aproximados basados en la exploracin de
vecinos. Estos presuponen que existe una funcin de costo y
una estructura de vecinos.
6
Operador de movimiento que transforma una solucin s en
s. Trabaja con estructura de vecindades.
7
O(g(n)) = f(n): existen constantes positivas c y no tal que
0 f(n) c g(n) para todo n no}

_____________________________________________________________
3

Problemas que se pueden resolver utilizando inteligencia


Artificial.
Problemas que se pueden resolver por mtodos de
optimizacin estndar lineales y no lineales.

22

R. DAZ & I. TISHER

FIGURA 1

7.1.2 FAST LOCAL SEARCH (FLS) Y SU


APLICACIN EN EL PROBLEMA DE LAS
ALZADORAS

Propuesta de un modelo matemtico para la secuenciacin ptima de


la cosecha de la caa de azcar

El operador de movimiento 2-Opt.

FLS puede ser combinado con la estructura de


vecindades de 2-Opt de la siguiente forma. Para
un problema con N suertes, la vecindad es
particionada en N subvecindades, una para cada
suerte. Una subvecindad es definida por una
suerte, la cual contiene todos los intercambios de
arcos originados desde uno de los arcos
adyacentes a la suerte. En nuestro caso, hay tantas
subvecindades como suertes tenga el problema.
Inicialmente, todas las subvecindades son activas.
La bsqueda de todas las subvecindades se realiza
en un orden esttico, desde I al nmero de suertes.
Cuando una subvecindad activa es encontrada, se
llama al procedimiento LS 2-Opt para que evale
todos los intercambios que se pueden realizar a
partir de la suerte activa y la suerte adyacente
(anterior o posterior) a ella.
Si LS 2-Opt no encuentra un movimiento que
mejore la funcin de costo y sea factible, entonces
la subvecindad es desactivada. De lo contrario, se
realizan los intercambios para obtener la nueva
ruta y todas las suertes involucradas en el
movimiento son activadas. El proceso contina
con la prxima subvecindad en el orden esttico.
Si se realiza una vuelta completa por todas las
subvecindades (desde 1 al nmero de suertes) y
no se encuentra un movimiento que mejore la
funcin de costo aumentada, el proceso termina,
retornando la ruta encontrada.

Revisemos cmo trabaja el procedimiento Local


Search con 2-Opt aplicado al problema de las
alzadoras. Se parte de una solucin S, la mejor
encontrada hasta el momento. LS evala todos los
intercambios posibles con el arco formado por las
suertes A y B, B es adyacente (suerte anterior o
siguiente) a A.
A continuacin, en un orden esttico
(1 .. Nmero de vecinos), se busca por los vecinos
de la suerte B para formar el otro arco que
necesitamos para el intercambio; C es un vecino
de B y D es la suerte adyacente (anterior o
siguiente) a B. Ahora con el arco formado por A y
B, C y D se evala el movimiento para determinar
si mejora la funcin costo y el intercambio
cumple con las restricciones de la ventana de
tiempo. Si esto se cumple el proceso termina, de
lo contrario el proceso contina con el siguiente
vecino de B. Los vecinos de una suerte son todas
las suertes (hasta el nmero total de vecinos de
una suerte) ordenadas por el tiempo de
desplazamiento en forma ascendente.
Un intercambio cumple con las restricciones de la
ventana de tiempo, si para una suerte si con

7.1.3 GLS APLICADO AL PROBLEMA DE


LAS ALZADORAS
En la implementacin de GLS, tenemos que
definir las siguientes partes:
Conjunto de Componentes F. Para el agente
viajero [VT99], los arcos fueron escogidos
como componentes de las soluciones.
Nosotros tambin usaremos arcos, pero arcos
dirigidos, ya que para problemas de rutas que
involucran tiempos, la direccin es
importante. El conjunto F est formado por
todas los posibles arcos dirigidos aij
(i=1,,NS; j=1, .., NS; i j) que pueden
aparecer en una ruta.
Costo de un Componente. El costo de un arco
dirigido aij est dado por el tiempo de
desplazamiento tdij. Los tiempos de
desplazamiento estn ubicados en la matriz
TD = [tdij]. Para el problema de las alzadoras
la matriz TD es simtrica. Pero puede darse
el caso de que esta matriz no sea simtrica
(por ejemplo, cuando el terreno no es plano el
tiempo de desplazamiento de ida no es igual
al tiempo de desplazamiento de regreso), lo
que no afecta al algoritmo.

ventana ai , b j el tiempo de llegada a si es


menor o igual que el tiempo ms tarde de
cosecha bi; donde el tiempo de llegada a

si = max(tiempo de llegadai-1+ tiempo de servicioi-1


+ tiempo de desplazamientoi-1, ai).

Un factor que limita la eficiencia de LS es el


tamao de la vecindad. Si hay muchos vecinos a
considerar, la bsqueda requiere muchos pasos
para alcanzar un ptimo local y cada evaluacin
de la funcin objetivo requiere una cantidad no
trivial de clculos, entonces la bsqueda puede ser
muy costosa. Para solucionar este problema, Chris
Voudouris [VT99] propone el mtodo Fast Local
Search (FLS) para restringir la vecindad. La
intencin es ignorar aquellos vecinos que no
ayudarn a LS a encontrar una mejor solucin,
con el fin de mejorar la eficiencia de la bsqueda.
A continuacin se describe esta tcnica.

23

PROPUESTA DE UN MODELO MATEMTICO PARA LA SECUENCIACIN PTIMA DE LA COSECHA DE


LA CAA DE AZCAR

end
s* P mejor solucin encontrada con respecto a
la funcin de costo g;
return s*;
end
Los parmetros de entrada del procedimiento
GLS son:
- s0: solucin Inicial Factible
- : parmetro de GLS
- Ind : funcin caracterstica para el arco ai,i+1
- NS : nmero de Suertes

Penalizacin de los componentes. Cada arco


aij, que conecta la suerte i con la suerte j,
tiene asignado una penalizacin pij. Los arcos
penalizados son ubicados en una matriz de
penalizaciones simtrica P = [pij ].
Funcin
de
costo
aumentada.
Las
penalizaciones se combinan con la funcin de
costo del problema para formar la funcin de
costo
aumentada,
que
puede
ser
definida
usando
la
matriz
de
tiempo
de
desplazamiento
auxiliar.
TD= TD + * P = [tdij + pij] Local Search
debe usar TD en lugar de TD para evaluar
los movimientos.
Funcin de utilidad: El criterio para
seleccionar los arcos a ser penalizados en un
mnimo local es de acuerdo a la funcin
utilidad

7.1.4 Cmo funciona GLS con el


problema de las Alzadoras
GLS inicia con una solucin inicial factible y las
penalizaciones pij inicializadas en cero. Llama al
procedimiento FLS2-Opt para que encuentre un
mnimo local. Usando la funcin de utilidad (1),
selecciona los arcos que pertenecen la mnimo
local para penalizarlos (pij = pij + 1). Las
subvecindades (suertes) que se encuentran al final
de los arcos penalizados son activadas. Se vuelve
a llamar a FLS2-Opt para que encuentre un nuevo
mnimo local a partir del mnimo local anterior.
GLS incrementa las penalizaciones cada vez que
un mnimo local es encontrado o cuando
FLS2-Opt no puede escapar desde un mnimo
local actual. El proceso termina cuando se cumple
la condicin de parada.
El criterio para la condicin de parada es:
. Nmero de iteraciones > Lmite de iteraciones o
. Tiempo de Ejecucin > Tiempo Lmite de
Ejecucin o
. Movimientos seguidos que no mejoran la
funcin objetivo > Lmite en los movimientos
que no mejoren la funcin objetivo.

tdij
(1 + pij ) (1)

til ( ruta , aij ) = Ind aij ( ruta ) *


Donde:
Ind aij ( ruta ) =

1, aij ruta

0, aij ruta

A continuacin presentamos el algoritmo para


GLS.
Procedure GLS (S0, ,Ind,NS)
Begin
/* Inicializa las penalizaciones en cero y active las
subvecindades */
For i 1 until NS do
begin
biti P V,
for j P 1 until j i do
pij P 0;
end
k P 1; sk P s0; Maxutil P 0;
while CriterioParada do
begin
hP lnd i ,i +1 (sk) * tdi+1 + , * lnd i ,i +1

7.1.5 Solucin Inicial Factible


Se construye una ruta de acuerdo al orden en que
son ingresadas las suertes. Se obtiene una ruta
inicial a partir de esta, ordenando las suertes de
acuerdo a la ventana de tiempo [a,b]. Primero de
ordenar por el tiempo ms tarde de cosecha (b) y
luego por el tiempo ms temprano de cosecha (a).
Los dos criterios son ordenados en forma
ascendente. Esta solucin inicial es transformada
en una solucin factible, minimizando la
desviacin de la ventana.
La desviacin de la ventana de tiempo
correspondiente a la suerte i es:

(sk) * pi,i+1;
Sk+1 = FLS2-Opt(sk, h, bit, NS);
K P k+l;
for i P 1 until NS do
begin
utilidad P Indi,i+1 (sk) * (tdi,i+1 / pi,i+1 + 1)
if (Utilidad > Maxutil) then
Maxutil P utilidad;
if (utilidad = Maxutil)
begin
pi,i+1 P pi,i+1 + 1;
biti,i+1 P 1;
end
end

1, Tiempo de llegada i bi ,

Desviacini = si el tiempo de llegada a la suerte i > b


0, en caso contrario

La funcin objetivo del problema es

24

R. DAZ & I. TISHER

Min

NS

i =1

La mejor solucin encontrada para los dos alces


fue con un valor de = 7. Como los dos alces
tomados para las pruebas son tan distintos (por su
capacidad, distancia al ingenio, distancia entre
suertes), podemos suponer que el valor de
encontrado sirve para todos los alces y que
corresponde a la situacin especfica del ingenio.
En la implementacin del algoritmo, se puede
verificar que en realidad este valor de se ajusta a
todos los alces. El criterio de parada fue 10.000
iteraciones, en la tabla 1, se encuentran los
resultados para el alce 1 y 7. Las filas contienen el
nombre del problema, el nmero total de suertes,
el tiempo de desplazamiento, tiempo de finalizar
el servicio en la ltima suerte de la ruta, tiempo de
espera, tiempo que se demor GLS en encontrar
la mejor solucin, tiempo de desplazamiento de la
ruta que siguieron los alces en la realidad, tiempo
de finalizar el servicio en la ltima suerte de la
ruta real.

desviacini

Donde NS el nmero de suertes.


Para encontrar la solucin factible, se utiliz el
mismo algoritmo que encuentra la ruta ptima,
GLS con FLS2-Opt. Con la diferencia, que
cuando encuentra un movimiento que mejora la
funcin de costo (en el procedimiento LS2-Opt),
se lo acepta slo si este movimiento disminuye la
desviacin de la ventana.

7.1.6 El parmetro
El nico parmetro de GLS, que requiere
calibracin es el parmetro . En [VT99], se
encuentra una expresin para calcular para el
caso del agente viajero.
= (g(mnimo local) / NS) (2)
Donde g(mnimo local) es el costo del primer
mnimo local antes que las penalizaciones son
aplicadas y NS es el nmero de suertes. Se
introduce el parmetro , el cual depende del
problema. En la aplicacin del agente viajero,
valores de entre 0.125 y 0.5 dieron buenos
resultados. Para el problema de las alzadoras con
ventanas de tiempo, la expresin (2) no nos dio el
mejor valor de . Por esta razn, se decidi ajustar
para la situacin especfica del ingenio donde se
realizaron las pruebas con datos reales.

TABLA I
Propuesta de un modelo matemtico para la secuenciacin ptima de
la cosecha de la caa de azcar

Resultados de GLS obtenidos con datos reales tomados del


Ingenio Incauca

Tiempo Tiempo Tiempo Tiempo Tiempo Tiempo


N de
Desplaz. Final
Espera
CPU Desplaz. Final
suertes
(das)
(das)
(das)
(seg.)
Real
Real
Alce
1
Alce
7

8. VALIDACIN DEL MODELO

41

3.43

27.93

53.69

31.69

51

7.08

29.4

0.33

57.86

31.36

Los resultados presentados en la tabla I reflejan


las ventajas del algoritmo de optimizacin. Para
los dos alces tenemos que el tiempo de
desplazamiento es menor a los tiempos de
desplazamiento que siguieron los alces en la
realidad. Tambin el tiempo final donde estn
incluidos los tiempos de desplazamiento, tiempo
de servicio y tiempo de espera, es menor que el
real. Para el caso del alce 1 termina su recorrido
3,7 das antes, lo que para el ingenio representa
poder aumentar la capacidad del alce y cosechar
ms suertes en un mes, poder decidir en un
momento dado que el alce no trabaje por la noche
lo que reduce costos. Para los problemas del alce
1 y 7, no se tiene la solucin ptima, ya que el
algoritmo exacto no resuelve problemas con
ventanas de tiempo anchas, para estos casos tiene
limitaciones de memoria.
En la figura 1, se muestran las fluctuaciones del
tiempo de desplazamiento durante las 1.300
iteraciones de GLS con FLS-2Opt con los datos
del alce 1. Como podemos apreciar en la figura,
despus del descenso inicial tan abrupto en el
costo, el algoritmo visita soluciones con costos
menores. Intuitivamente esto nos dice que
converge al ptimo. Tambin es de anotar que con
solo 76 iteraciones ya se tiene una buena solucin

Las pruebas para validar el modelo de


optimizacin para el problema de las alzadoras se
realiz en dos etapas:
Pruebas realizadas con el algoritmo con
ventanas de tiempo, con datos tomados desde
una simulacin.
Pruebas realizadas con el algoritmo con
ventanas de tiempo, con datos reales tomados
del Ingenio Incauca.
Los experimentos se realizaron en una
computadora Pentium (166 Mhz) con el algoritmo
desarrollado en Turbo C++ versin 3.0 (Borland
International, Inc)

8.1 RESULTADOS DE LAS PRUEBAS CON


DATOS REALES
Del informe mensual de cosecha del mes de
junio, se tomaron las suertes del alce 1 y del alce
7 y se calcularon los datos de entrada al modelo.
Se incluyeron las quemas accidentales de ese mes
para poder comparar la ruta que genera el
algoritmo con la ruta que siguieron los alces en la
realidad. El valor exacto de usado en las
pruebas fue ajustado manualmente, ejecutando el
algoritmo varias veces con valores distintos de .

25

PROPUESTA DE UN MODELO MATEMTICO PARA LA SECUENCIACIN PTIMA DE LA COSECHA DE


LA CAA DE AZCAR

con un costo de 3.69. El comportamiento con el


alce 7 es similar.

Esta tcnica es efectiva y eficiente, da


soluciones muy cercanas al ptimo en un
tiempo computacional razonable. Es fcil de
implementar y slo necesita el ajuste de un
solo parmetro.
El algoritmo desarrollado es aplicable a
muchas
reas
como
por
ejemplo
secuenciacin de la produccin, itinerarios,
rutas, etc.
Existen varios problemas abiertos para
futuras investigaciones. Un problema es la
convergencia del algoritmo, la tcnica GLS
es muy reciente y no existen estudios sobre
su convergencia.
Otra investigacin interesante es el ajuste
automtico del parmetro .
La secuenciacin ptima de los alces forma
parte de un Sistema de soporte para la toma
de decisiones a nivel estratgico, gerencial y
de operacin en la cosecha de la caa de
azcar.
La contribucin de este trabajo para los
Ingenios del Valle del Cauca es la reduccin
de los costos de produccin en la cosecha de
la caa de azcar. Al tener una secuenciacin
ptima de la cosecha se pueden disminuir
horas extras, tiempo de espera, tiempos de
parada de la fbrica. Tambin se puede
aumentar la capacidad de cada alce y
cosechar ms suertes en un mes.
Para la aplicacin del algoritmo en un
ingenio se deben ajustar los parmetros de
entrada al modelo. De la exactitud de estos
parmetros depende el buen funcionamiento
del algoritmo.

FIGURA 1
Propuesta de un modelo matemtico para la secuenciacin ptima de
la cosecha de la caa de azcar

El tiempo de desplazamiento de las soluciones generadas en


las primeras 1.300 iteraciones de GLS con FLS-20pt con
datos del alce 1

9. CONCLUSIONES Y
RECOMENDACIONES

En este trabajo, se logr formular y


desarrollar un modelo matemtico para la
secuenciacin ptima de la cosecha de la
caa de azcar. El modelo incluye ventanas
de tiempo (tiempo de inicio ms temprano y
ms tarde de cosecha). La funcin objetivo es
minimizar el tiempo de desplazamiento.
Para desarrollar el modelo, se utiliz la
tcnica heurstica GLS con FLS 2Opt., la
cual es superior a otras heursticas tales como
Simulated Annealing y Tabu Search.

26

R. DAZ & I. TISHER

REFERENCIAS BIBLIOGRFICAS Y ELECTRNICAS


[1]. ARBELAEZ, J., MEL A. (1998).
Propuesta para el mejoramiento de los
tiempos de alce y transporte de caa de
azcar en el rea de cosecha del Ingenio
Providencia S.A. Cali. Trabajo de grado
(Ingeniero Industrial). Universidad Javeriana.
Facultad de Ingeniera.

[9]. MONTGOMERY, D., PECK E. (1982).


Introduction
to
Linear
Regression
Analysis. Estados Unidos.
[10]. SHAFFER, C. (1997). Introduction to
Data Structures y Algorithm Analysis.
Estados Unidos. Prentice Hall.

[2]. DE BACKER, B. et al. (1997). Solving


Vehicle Routing Problems using constraint
programming and Metaheuristcs. Journal of
Heuristics, Vol. 21, No.1.

[11]. SKIENA S. (1998). The Algorithm


Design Manual. New York: Springer
Verlag.
[12]. UZURIAGA, V. (1998). Comprobacin
probabilstica de resultados de programas
para problemas de optimizacin en Teora
de Grafos. Cali. Tesis (Magister en
Matemticas). Universidad del Valle,
Facultad
de
Ciencias,
rea
de
Matemticas.

[3]. CORMEN,
T.,
LEISERSON,
C.,
RIVEST R. (1990). Introduction to
Algorithms. Estados Unidos: Mit Press.
[4]. DUMAS, Et al. (1995). An Optimal
Algorithm for the Traveling Salesman
Problem with Time Windows. Operations
Research, Vol. 43, No. 2 (March-April).

[13]. VOUDOURIS, C. (1997). Guided Local


Search for combinatorial optimization
problems. Colchester. Ph.D. Thesis.
University of Essex, Department of
Computer Science.

[5]. FOULDS, L. (1984). Combinatoria!


Optimization for Undergraduates. New
York:
Springer - Verlag.
[6]. GENDRAU, M., et al. A Generalized
Insertion Heuristic for the Traveling
Salesman Problem with Time Windows.
Operations Research, Vol. 43, No. 3 (MayJune 1998).

[14]. VOUDOURIS, C., TSANG E. (1999).


Guided Local Search and its application
to the traveling salesman problem.
Europan Journal of Operations Research,
Vol. 113.

[7]. HOLSTEIN, D., MOSCATO P. (1998).


Memetic Algorithms using Guided Local
Search: a case study. (Comunicacin
personal).

[15]. VOUDOURIS C., TSANG E. (1995).


Guided Local Search, Technical Report
CSM-247.
University
of
Essex,
Department
of
Computer
Science.
Colchester.

[8]. MINGOZZI,
A.,
BIANDO
L.,
RICCIARDELLI S. (1997). Dynamic
Programming Strategies for the Traveling
Salesman Problem with Time Window and
Precedence
Constraints.
Operations
Research, Vol. 45, No. 3 (May-June)

[16]. WALPOLE R., MYERS R. (1992).


Probabilidad y Estadstica. Cuarta
Edicin: Mc Graw Hill.

27

matemtica: Una publicacin del ICM ESPOL


2010, Vol. 8, No. 1

A SHORT INTRODUCTION TO DYNAMICAL SYSTEMS


Pez Chvez Joseph1
Abstract. In this manuscript the concept of dynamical systems is introduced. This definition is motivated and illustrated in detail by several
examples. A classification of dynamical systems is given too.
Keywords: Dynamical Systems, discrete-time systems, continuous-time systems, mathematical modeling.
Resumen. En este manuscrito se presenta el concepto de sistema dinmico. Esta definicin es motivada e ilustrada en detalle a travs de
algunos ejemplos. Tambin se presenta una clasificacin de los sistemas dinmicos.
Palabras claves: Sistemas dinmicos, sistemas de tiempo discreto, sistema de tiempo contnuo, modelaje matemtico.

RECIBIDO: Enero, 2010


ACEPTADO: Febrero, 2010

1.

INTRODUCTION

The notion of dynamical systems first appeared


when Newton combined the concept of ordinary
differential equations (ODEs) with mechanics.
However, the modern approach of dynamical
systems theory is due to Heinri Poincar. In 1890 he
analyzed the stability of the solar system and the
three-body problem by means of ODEs. In order to
simplify the analysis, Poincar introduced a surface
perpendicular to the orbits described by the planets,
in such a way that instead of considering the whole
trajectories, he studied their intersections with the
transversal surface. In that way the study of discrete
dynamical systems began. This approach gave later
rise to the well-known Poincar map.
Nowadays, dynamical systems play a central role in
many branches of applied sciences, such as:
physics, chemistry, biology, economy and even
social sciences, among others. One main reason for
this is that a dynamical system is nothing else but
the mathematical formalization of a deterministic
process. This allows us to study very (apparently)
different mathematical models under a compact
setting, such that a broader overview and a deeper
understanding of the process behind the models is
achieved. For instance, by means of the dynamical
systems theory we are able to understand that e.g.
ODEs, difference equations, and some types of
partial differential equations (PDEs) share abstract
properties which will enable us to study these
objects in the very same setting and in a compact
manner. Most of the material presented in this
manuscript can be found in the lectures notes of
Prof. Beyn, [3, 4]. Literature on this subject is
numerous. The reader may find an interesting
introduction, motivation and applications of
______________________________
1
Joseph Pez Chvez, Ph.D, Profesor del Instituto de Ciencias
Matemticas, ESPOL. (e_mail: jpaez@espol.edu.ec)

dynamical systems theory in the monographs


[1, 2, 5, 6, 8].
FIGURE 1
A short introduction to dynamical systems
Two-body system

2.

BASIC CONCEPTS

Let us first introduce the abstract definition of


dynamical systems. For this purpose, we will
motivate the reader by a very simple problem of
physics that is known from high school, namely, the
two-body problem. Consider an idealized piece of
the earths surface and a small body of mass
negligible with respect to the mass of the earth, see
Figure 1. In order to perform a mathematical
description of this two-body system, we need first,
as usual, to choose proper variables. In this physical
setting we have in principle three variables at hand,
namely, position, velocity and acceleration. It is

J. PEZ

DS1 reflects the fact that the system does not


change its state spontaneously, i.e., no time, no
evolution.
This means that T equipped with the operation + is
a commutative semigroup.

clear that the position (or the velocity) of the body


alone does not fully determine the state of the
system. On the other hand, in this idealized
problem, the acceleration is assumed to be constant
and equal to the gravity. Therefore, the variables we
must consider for the description of the system are
position and velocity. Of course we also need to
have a notion of time, which in our case is a real
number. Thus, the problem we are dealing with is
how to predict the behavior of the system knowing
its initial state at t = t0, i.e.: What will the state of
the system be at t = t0 + , 0 ? Note that we
allow negative values of , which means that we
want to know not only future states of the system
but also past states of the system, provided we are
given an initial state. These questions are answered
by a set of equations which models the motion of
the body. The underlying equations are given in
terms
of
the
following
function
()

() : \ \ \

FIGURE 2
A short introduction to dynamical systems
Illustration of DS2

( )

t y
0 = y0 + v0 t gt

2
v0
v0 gt

where y0, v0 represent the initial position and


velocity of the body, respectively, at t0 = 0 (see
Figure 1), and g is the gravity constant. In short, we
have illustrated three ingredients of a dynamical
system, which are:
time,
state set,
function that describes the evolution of the system.
Let us now present the formal definition of
dynamical systems:
Definition 1.1. A dynamical system is a triple

{ }tT }

T, X , t

DS2 means that the laws governing the system do


not change in time, i.e., the process is autonomous
and deterministic. This property is schematically
depicted in Figure 2. In this picture we illustrate two
ways of arriving at the same final state from an
initial state. The first one consists in letting the
system run from the tarting point x0 to the final
state

, where T is a time set, X is a

other one is first letting the system run from x0 to

state space, and : X X is a family of


operators parametrized by t T , such that:

the state

and then using this point as

t ( s ( x0 )) ,

after t units of time.


DS2 guarantees that this two procedures lead the
system to the same final state.
Let us show some examples to illustrate the concept
of dynamical systems:
Example 1. Consider the two body problem
introduced before (see Figure 1). We will verify that

DS2
u X , s, t T: t +s (u) = t ( s (u)), i.e., t o s = t +s
Some remarks about this definition are in order:
Throughout this manuscript, X stands for a metric
space2.

t is referred to as evolution operator.


The time set T has the following properties:
0 T,t T : t + 0 = t ,
t , s T : s + t T ,
t , s T: s + t = t + s .
________________________
2

s ( x0 ) ,

initial state to arrive at the final point

DS1 u X : (u ) = u , i.e., = Id x ,
o

t + s ( x0 ) , which takes t + s units of time. The

{ t }t\ }

\, \ ,

is a dynamical system. Let us

begin with DS1:

In general, it suces that X is a topological space.

29

()

()

()

y + v t 1 gt 2
y0
y
y
\2 : 0 0 = 0 0 2
= 0

v0
v0
v

v
gt
0

t =0
0

A SHORT INTRODUCTION TO DYNAMICAL SYSTEMS

quantity, e.g. angular velocity. Thus, such a

FIGURE 3
A short introduction to dynamical systems
Simple pendulum

( )

function may be given by () : \ \ \

(t ) = 0 sin(t )+0 cos(t )


t 0 =

0 (t ) 0 cos(t )0 sin(t )

where 0 , 0 represent the initial angle and angular


velocity of the pendulum, respectively, at t = 0. Let
us see whether

{ t }t\ } is a dynamical

\, \ ,

system. We begin with DS1:




0 \2 : 0 0 =

0
0
As for DS2, it holds that:


sin(t )+0 cos(t )

= 0

0 cos(t ) 0 sin(t ) t = 0 0

( ( ))

( )
(
(
(

y0
y
\ 2 , s , t \ : t s 0
v0
v0

2
1
= t y0 + v0 s 2 gs
v0 gs

= y0 + v0 s

1
2

For DS2 we have that:

gs 2 + (v0 gs )t
v0 gs gt

1
= y0 + v0 (t + s ) 2 g (t + s )
v0 g (t + s )

= t+s

( )
y0
v0

Therefore, the triple

1
2

gt 2

0 \ 2 , s, t \ :

{ }t\ }

\, \ ,

= t s

0 = t 0 sin ( s ) + 0 cos ( s )

cos ( s ) sin ( s )
0
0
0

sin ( ( t + s ) ) + 0 cos ( ( t + s ) )
=
cos ( ( t + s )) sin ( ( t + s ))
0
0

is a

dynamical system.
Example 2. Consider a pendulum of mass m
attached to a string of length L, which is displaced
by an angle from the vertical rest position, see
Figure 3. If we assume the amplitude of oscillation
to be sufficiently small, then the dynamics of the
pendulum is approximately described by the ODE
g
+ = 0
L
whose general solution is given by

g
(t ) = 0 sin( t ) + 0 cos( t ), =
, t\.

= t+s

0

0

Therefore, the triple

{\, \ , { } t\}
2

is a

dynamical system.
3.

CLASSIFICATION OF DYNAMICAL
SYSTEMS

As mentioned in the Introduction, dynamical


systems play an important role in many applied
sciences, and consequently a large variety of
dynamical systems has been developed. In order to
present the theory in a systematic manner, it is very
useful to introduce a classification of dynamical
systems. Common criteria used for classification
are: time, state space, and invertibility of the
evolution operator. Let us briefly discuss them.

As in the two-body problem, it is clear that knowing


the angle at certain value of time is not sufficient
to uniquely define the state of the system.
Therefore, the function that describes the evolution
of the system should provide another physical

30

J. PEZ

discrete-time system is completely defined by the

Classification with respect to the time


According to this criterion, dynamical systems can
be divided into two groups: continuous and
discrete-time dynamical systems. The first group is
characterized by one of the following conditions:
T=\

function 1 = g . This function is referred to as the


generator of the dynamical system.
Classification with respect to the state space
In this case we assume the state space X to be a
vector space. Thus, according to the state space,
dynamical systems are: finite-dimensional, if dim
X < , and infinite-dimensional, if dim X = . It is
easy to show that Examples 1, 2 correspond to
systems of the first type. Let us present a system of
the second type:

T = \ + U {0}

T = ( a ,b ) \, a < 0 < b
For continuous-time dynamical systems the family

{ t }tT is referred to as flow (resp. semiflow, see

below). It is readily seen that the systems presented


in the Examples 1, 2 are continuous-time systems.
As for the discrete-time systems, it holds that:
T = `U {0} =: ` 0

Example 4. Consider the following PDE


u ( x, t ) + x u ( x, t ) = 0
t
x

T=]
Let us illustrate this type of systems by the
following example:

u ( x, 0 ) = f ( x )

( )

() : ` 0 X X ,

such

k ` : k = g g ... g , 0 = Id x .

(3.2)

that

We

This

will

system

u ( x, t ) = f xe

k times

{ }k`0 }

u C1 \ 2 , \ , f C1 ( \ )

Example 3. Let X be a metric space and


g:X X
a
function.
Define
the

operator

( )

has

the

) , x, t \ .

() : \ C ( \ ) C ( \ ) ,

system. It is clear that DS1 holds. Let us work with


DS2. We must show that

a dynamical system? Note that

`0 , X , k

u X , m, n ` 0 :

m+n

(u ) =

( ( u ) ) .

f C1 ( \ ) : 0 ( f )

(u ) = g ( (u ) ) = ( (u ))

( (
t

u X ,

(u ) =

1+ ( n + m )

( u ) = g (

the

last

step,

{ }k`0 } is

`0 , X , k

(3.1)

m+n

was

used.

= 1 m n ( u ) = m +1 n ( u )

In

that

( u ) = m ( n ( u ) ) holds. Then

( m +1) + n

( f )) ) ( x) = (t ( g )) ( x) = g ( xet )

) = (

( f ) ) ( x)
t ( s ( f ) ) = t + s ( f ) .

( t + s )

= f xe

(3.1)

Now fix any m, n ` and assume that for all


m+n

) ( x) = f ( x) 0 ( f ) = f ,

( )

m=1 we have that

that

g ( x ) = f xe s , x \ . Then

On the other hand, for every u X , n ` 0 , and


1

such

f C1 ( \ ) and t , s \ . Let g := s ( f ) , i.e.

1+1 ( u ) = 2 ( u ) = g ( g ( u ) ) = 1 1 ( u ) holds.

Define the operator

which means that DS1 holds. Next, take any

For this purpose, we will apply mathematical


induction in two variables. For m = n = 1 and for all
u X we have that

1+ n

solution

( t ( f )) ( x ) = f ( xet ) . Is {\, C1 ( \ ) , { t }t\ }

general

is a dynamical

prove that

is,

{\, C ( \ ) , { } }
1

t\

(u ) )

t +s

Hence,

is an infinite-dimensional,

continuous-time dynamical system. Furthermore,


this system is invertible too (see below).
Classification with respect to invertibility
For this type of classification we are interested in
analyzing the invertibility of the evolution operator
of the system, in the following sense. Let

Hence,

a discrete-time dynamical

system. Note that we have also shown that any

31

A SHORT INTRODUCTION TO DYNAMICAL SYSTEMS

{T, X , { }tT }
t

We will show that

be a dynamical system with

( )

t 1

= .

Hence,

invertible

( (

and thereby,

i.e.

( )

5.

Consider the shift-operator () : ] X X ,

)i = ui + k ,

Note that X equipped with the metric d

defined as d (u , v )

: X X \,

= i = ui vi 2 i

CONCLUSIONS

ACKNOWLEDGEMENTS

The author is deeply indebted to Wolf-Jrgen


Beyn and Thorsten Hls for stimulating discussions
about the subject presented in this manuscript.

i ].

_____________________________
3

In this manuscript we presented a brief motivation


to the study of dynamical systems. Several
examples were given in order to emphasize the
advantage of having such a powerful concept at
hand, which allows us to consider different types of
mathematical models as a very same object. In a
forthcoming manuscript ([7]) we will present some
more robust connections between ODEs and
dynamical systems, so that the reader will realize
that the object here introduced did not arise
artificially but it is rather a natural generalization of
many already known dynamical processes.

X = u = ( ui )i] : ui [ N ] 3.

defined as k ( u )

))i

{], X ,{ }k] } is a discrete-time,


4.

[ ]

X := [ N ] ,

(u))i

invertible dynamical system.

Dynamics. Let N ` and N := {0,1,..., N } .


space

p+k

= ui +k + p = u( i +k )+ p = p k ( u )

non-invertible system, however, if g 1 exists, then


we could redefine the system in such a way that it
admits negative values of time. Moreover, if we
deal with continuous-time, invertible dynamical
systems, then the family of evolution operators is
called flow. Otherwise, the family is referred to as
semiflow.
Another important type of dynamical systems are
those that describe the so-called Symbolic

state

k , p ], u X , i ] :

dynamical systems are those that admit both


positive and negative values of time, otherwise they
are non-invertible. For example, the two-body
problem, the simple pendulum, and the system
defined by (3.2) are invertible. On the other hand,
Example 3 provides us, by its construction, with a

the

)i = ui+0 = ui 0 (u ) = u

Next, for DS2 it holds that

which implies that for all fixed t T, t is invertible

Consider

k]

u X , i ] : 0 ( u )

Observe that t T: t o t = t + ( t ) = 0 = Id x ,

further

dynamical system. To begin with, we verify DS1:

T = \ or ] .

and

{], X ,{ } } defines

becomes a complete metric space.

32

J. PEZ

REFERENCES AND ELECTRONIC

[1]. ARROWSMITH, D., AND PLACE, C. M.


(1990). An Introduction to Dynamical Systems.
Cambridge University Press.

[5]. HALE, J. K.; KOCAK, H. (1996). Dynamics


and Bifurcations, vol. 3 of Texts in Applied
Mathematics. Springer-Verlag.

[2]. ARROWSMITH, D., AND PLACE, C. M.


(1992). Dynamical Systems: Differential
Equations, Maps, and Chaotic Behaviour.
Chapman & Hall.

[6]. KUZNETSOV, Y. A. (2004). Elements of


Applied Bifurcation Theory, third ed., vol. 112
of Applied Mathematical Sciences. SpringerVerlag, New York.

[3]. BEYN, W.-J. (1991). Dynamische Systeme.


Vorlesungsskriptum, Bielefeld University.

[7]. PEZ CHVEZ, J. Dynamical Systems and


Differential Equations. In preparation.

[4]. BEYN, W.-J. (2009). Numerik dynamischer


Systeme.
Vorlesungsskriptum,
Bielefeld
University.

[8]. WIGGINS, S. (2003). Introduction to


Applied Nonlinear Dynamical Systems and
Chaos, second ed., vol. 2 of Texts in Applied
Mathematics. Springer-Verlag, New York.

33

matemtica: Una publicacin del ICM ESPOL


2010, Vol. 8, No. 1

DISEO DE UN SISTEMA DE SOPORTE DE DECISIONES PARA


RESOLVER EL PROBLEMA DE RUTEO EN UN SERVICIO DE
COURIER
Pincay Johnny1, Tomal James2, Polo Vaca3
Resumen. En este documento se propone un Sistema de Soporte de Decisiones (DSS) basado en un Algoritmo Gentico Hbrido y
codificado en Java, para resolver un problema de ruteo con las siguientes caractersticas: recoleccin de carga, un solo depsito, flota
homognea de vehculos, demanda y tiempo de servicio determinsticos y ventanas suaves de atencin, es decir un problema CVRPSTW.
La Metaheurstica propuesta tiene como objetivo planificar un conjunto de rutas al mnimo costo y cumpliendo las restricciones del
problema. La investigacin comienza con un contexto general de los problemas de ruteo, mtodos de solucin y el modelo matemtico;
profundiza en el desarrollo e implementacin de un algoritmo gentico de poblacin no estructurada, integrado con heursticas de
bsqueda local. Se muestran los resultados obtenidos en las instancias de Solomon. El problema planteado se basa en la situacin
actual de una empresa de courier ecuatoriana, para llevar a la prctica la investigacin acadmica; con sus datos, se prob la
Metaheurstica desarrollada y se demostr que se alcanzan los dos objetivos de la logstica integrada: costo eficiente y mejora del
servicio al cliente, al reducir la cantidad de vehculos, los tiempos en ruta y los atrasos en las visitas. El estudio tambin puede servir
para futuros trabajos sobre la planificacin de rutas e investigaciones de optimizacin combinatoria, relacionados con algoritmos
genticos.
Palabras Claves: Sistema de soporte de decisiones, Algoritmo Gentico Hbrido, CVRPTW, y problemas de ruteo.
Abstract. This paper proposes a Decision Support System based on a Hybrid Genetic Algorithm and codified on Java programming
language, to solve a routing problem with the following constraints: cargo picking, one depot, homogeneous fleet, deterministic demand
and service time and soft time windows, that is, a CVRPSTW. This Metaheuristic calls for a planning of the optimal set of routes with the
least cost and respecting all constraints. The investigation begins describing a general context of vehicle routing problems (VRP),
solution methods and mathematical models; makes deeper in the development and application of a Genetic Algorithm of non structured
population integrated with Local Search Methods. The Metaheuristic was tested on Solomon instances and we show the results. The
problem is based on the situation of an Ecuadorian Courier enterprise, because it is necessary to carry to the real world the academic
investigation; the algorithm was also proved with the data of this company and reached the integrated logistic objectives: efficient costs
and customer service improve, well then reduce the quantity of vehicles and visit delays. This paper will also offer a base for future
works about planning routes and investigations of combinatorial optimization problems, related with genetic algorithms.
Keywords: Decision Support System, Hybrid Genetic Algorithm and Vehicle Routing Problems.

Recibido: Febrero, 2010


Aceptado: Marzo, 2010

1.

INTRODUCCIN

Los potenciales ahorros en las operaciones de


transporte, entre el 5 % y el 20 % de los costos
totales de transportacin y entre el 10 % y el 20 %
del costo final de los bienes, justifican el uso de
tcnicas de investigacin de operaciones (IO) [1]
[2]; concretamente, este tipo de problemas
corresponden a la Optimizacin Combinatoria
(OC), rama de la IO que estudia la optimizacin
sobre conjuntos factibles discretos de gran
cardinalidad, y que mediante las tcnicas
heursticas permite el acercamiento a soluciones
ptimas de problemas difciles de resolver por
mtodos exactos, explorando un espacio de
soluciones generalmente grande.
Uno de los problemas ms estudiados de OC es
el problema del agente viajero (TSP): consiste en
_________________________________________________________________

Pincay Villa Johnny, Master en Control de Operaciones y


Gestin Logstica,ESPOL. (e_mail: jr.johnnypv@gmail.com)
2
Tomal Robles James, Master en Control de Operaciones y
Gestin
Logstica,ESPOL.
(e_mail:
jamestomala@hotmal.com)
3
Vaca Arellano Polo, Director del Departamento de
Matemtica, Escuela Politcnica de Nacional. (e_mail:
polo.vaca@epn.edu.ec)

visitar una y solo una vez un conjunto de clientes,


partiendo de un punto inicial y finalmente
retornando a ste, siendo una ruta de menor costo.
Actualmente se resuelven estos problemas de
manera aproximada y de forma eficiente con
adaptaciones de algoritmos aplicados al TSP
mediante la incorporacin de metaheursticas
hbridas (unin y mezcla de algoritmos exactos y
aproximados). El CVRPSTW, es un problema de
ruteo con ventanas de tiempo suaves, es decir, las
horas de visitas a los clientes pueden incumplirse
a costo de una penalizacin.
Actualmente,
en
Ecuador
existen
aproximadamente 800 agencias de couriers, y
todas utilizan mtodos empricos para planificar
sus rutas lo cual no garantiza obtener rutas
ptimas, encareciendo sus costos de operacin y
disminuyendo la calidad del servicio a los
clientes. El presente estudio est basado en la
realidad de una de las empresas courier lder en el
mercado local, por su red de puntos de servicio y
cobertura nacional, ms de
1,000 clientes
corporativos, tambin se puede sumar una flota
aproximada de 100 vehculos entre camiones y
motos. Por lo descrito anteriormente, se define el

J. PINCAY, J. TOMAL & P. VACA

problema como la ausencia de un sistema de


soporte de decisiones que aplique procedimientos
heursticos para la planificacin de las
operaciones de transporte de una empresa courier.
El presente estudio se enfocar en encontrar una
alternativa de solucin para el problema de
planificacin de las rutas de recoleccin (picking)
del courier.

Sujeta a las siguientes restricciones:


a) Todos los clientes sern visitados una sola
vez:

kK v j ( vi )

b)

xijk = 1

vi Vc (2)

Cada vehculo parte del depsito:

xijk = 1

k K

(3)

v j ( v0 )

2.

FORMULACIN MATEMTICA
DE UN CVRPSTW

c)

A continuacin se expone la formulacin


matemtica del problema de ruteo a resolver, el
cual consiste en un problema de ruteo con
restriccin de capacidad y ventanas suaves de
tiempo, denotado por CVRPSTW (por sus siglas
en ingls).
Sea G = (V, A) un grafo dirigido, donde
V={v0,v1,,vn,vn+1} es el conjunto de vrtices y
A=

{( v , v ) ; v , v
i

V,i j

se

v j Vc

denomina

e)

k K ( vi , v j ) A

k K ( vi , v j ) A

xijk Q k K

f)

(5)

v j ( vi )

Se respetan las ventanas de tiempo y a lo


mucho se incurre en el atraso rvi :
i

vi V

(6)

Debe existir continuidad en el orden de


visitas:
hv hv sv + tij M (1 xijk ) ( vi , v j ) A, k K
j

(7)

g) Tipo de variables:
xijk {0,1} y hv , rv 0
i

(8)

En esta formulacin se considera:


+
( vi ) = v j Vc \ (vi , v j ) A , y

(vi ) = v j Vc \ ( v j , vi ) A

{
{

3.

}
}

LOS ALGORITMOS GENTICOS


APLICADOS AL VRPTW

Dado la dificultad prctica que representa


resolver un problema NP-Duro, se utilizan
metaheursticas
que
son
procedimientos
informticos que nos permiten obtener soluciones
factibles muy buenas; por lo general no consiguen
el ptimo pero s una aproximacin bastante
aceptable en un tiempo de clculo razonable. Uno
de estos mtodos es el enfoque evolutivo
desarrollado por los Algoritmos Genticos (AG)
[1] [8] [9]. Los AG son un tipo de Algoritmos
Evolutivos, fueron implementados de manera
bsica y por primera vez por Holland en 1975,
mientras que la aplicacin de los AG para
resolver problemas complejos fue realizada por
Jong en 1975 y Goldgerg en 1989. En un
problema de Optimizacin Combinatoria, cada
solucin posible tiene una representacin gentica

representa el tiempo de

cij xijk +

ev hv lv + rv

atraso en el servicio al cliente vi. Se considera


la
siguiente
funcin
objetivo

MinZ =

xijk = 0 k K , vi Vc

v j ( vi )

d) Se debe respetar la capacidad del vehculo:

hv = tiempo de inicio del servicio en vi


i

xijk

(4)

1 si el vehculo k se desplaza en (vi ,v j )


xijk =
0 si el vehculo k se desplaza en (vi ,v j )

rv = Max 0, hv lv

v j ( vi )

conjunto de arcos. Los vrtices v0 y vn+1


representan al depsito y cada vrtice vi al cliente
i el cual tiene asociado una demanda qi. Los
nodos de visita sin considerar el depsito se los
denota por el conjunto Vc={v1,vn}. Una ruta es
posible si comienza en el vrtice v0 y termina en
el vrtice vn+1. Se define cij el costo de viajar del
cliente vi al vj. Para el depsito v0 y vn+1 y para
cada cliente vi se fija una ventana horaria de
servicio [evi, lvi], dentro de la cual debe ser
visitado. Adems la demanda y el tiempo de
servicio en el depsito son iguales a cero. Otros
parmetros del modelo son:
svi :Tiempo de servicio en cliente i
K : Flota homognea de vehculos estacionada en
el depsito.
Q : Capacidad de los vehculos.
fk : Costo fijo de un vehculo k.
pvi: Penalizacin por retraso al atender el cliente
vi.
i : Costo por unidad de tiempo de retraso en vi.
Se definen las variables de decisin:

Cada ruta se realiza slo por un vehculo:

n +1

f k xijk + pvi
i =1

(1)

35

DISEO DE UN SISTEMA DE SOPORTE DE DECISIONES PARA RESOLVER EL PROBLEMA DE RUTEO EN UN SERVICIO


DE COURIER

llamada cromosoma o individuo, que es un


conjunto de elementos denominados genes. Los
diferentes valores que puede tomar un gen se
conocen como alelos. Un AG empieza con un
conjunto inicial de individuos P0. En cada
iteracin se genera una nueva poblacin Pt+1
aplicando dos operadores genticos: combinacin
(operacin con dos cromosomas) y mutacin
(operacin sobre un cromosoma); adems, se
evala la aptitud o fitness, que es una medida de
la calidad del individuo [12].
Joe L. Blanton Jr [10] fue el primero en usar
Algoritmos Genticos para resolver el problema
VRPTW en 1993; Luego, en 1995, Thangiagh
[13] us AG para implementar su mtodo
denominado GIDEON, el cual asigna primero
clientes a las rutas y luego define el orden de
visita en cada grupo
(Cluster first, route
second). En la primera dcada del 2000 se han
desarrollado algunas investigaciones al respecto
tales como la de Kenni Qili Zhu [14] donde
propone un algoritmo que prueba ser mejor a
GIDEON en todas las 56 instancias de Solomon.
Entre los principales referentes de este proyecto,
se encuentra la investigacin de Homberger y
Gehring [16] quienes proponen dos estrategias
evolutivas hbridas que aplican operadores de
mutacin y combinacin, y utilizan heursticas
clsicas de mejora, tales como el 2-Opt*,
modificadas para adaptarlas a las restricciones de
tiempo del VRPTW.
De lo revisado en estas publicaciones se puede
concluir que un AG bsico no logra buenas
aproximaciones a la solucin ptima. Toda
implementacin exitosa de un AG para resolver
problemas VRP se convierte en un Algoritmo
Gentico Hbrido porque requiere algn tipo de
adicin algortmica tales como modificacin de
los operadores genticos clsicos o el uso de
heursticas de bsqueda local; se puede expresar
que estas aplicaciones tienen en comn los
siguientes elementos:
a) Una representacin adecuada de los
cromosomas (cada cromosoma debe representar
una posible solucin al VRP).
b) Un mtodo para generar la poblacin inicial.
c) Una funcin para evaluar la aptitud de cada
individuo y un adecuado criterio de seleccin.
d) Rediseo de los operadores de mutacin y
cruce.
e) Inclusin de bsqueda local para la mejora de
las soluciones.
f) Definicin de los parmetros del algoritmo:
tamao de la poblacin, probabilidad del uso de
operadores, etc.

4.

HEURSTICAS PARA LA MEJORA


DE SOLUCIONES

Para que un AG resuelva un problema de tipo


VRP, y con el objetivo de mejorar una solucin,
se utilizan heursticas de bsqueda local [15],
tales como: Or-Opt, 2-Opt*, intercambio y
recolocacin. El operador Or-Opt se aplica a
una ruta y traslada una cadena de clientes de
longitud k de una ubicacin a otra; por lo general,
y debido al costo computacional, se aplica con
k=3, y luego con un nmero menor; este caso se
ilustra en la figura 1.
FIGURA 1
Diseo de un sistema de soporte de decisiones para resolver el
problema de ruteo en un servicio de courier

Intercambio Or-Opt con k=3

2-Opt* es un operador entre rutas, y consiste en


intercambiar un segmento de una con otro
segmento de otra ruta teniendo en consideracin
el orden; en la figura 2 se muestra su aplicacin,
donde bsicamente se intercambian los arcos
(xi, xi+1) y (yj, yj+1) por (xi, yj+1) y (yj, xi+1).
FIGURA 2
Diseo de un sistema de soporte de decisiones para resolver el
problema de ruteo en un servicio de courier

Ejemplo de aplicacin del operador 2-Opt*

Xi

Yj+1

Xi+1

Yj

La recolocacin (desplazamiento) consiste en


mover un cliente de una ruta a otra, mientras que
en el intercambio se procede a intercambiar dos
clientes de rutas diferentes.
5.

DESCRIPCIN DE LA
METAHEURSTICA
DESARROLLADA

El procedimiento propuesto para resolver el


CVRPSTW consiste en un Algoritmo Gentico
Hbrido de tipo secuencial, en otras palabras, no

36

J. PINCAY, J. TOMAL & P. VACA

Tanto en la mutacin y combinacin, se utilizan


bsicamente movimientos de eliminacin e
insercin; se elige como criterio de insercin el
definido por Homberger y Gehring [16] el cual
consiste bsicamente en insertar un cliente en la
posicin y ruta que menos atraso produzca.

usa ningn tipo de estructura en la poblacin. Se


utiliza una estrategia evolutiva de tipo (, )-EA,
donde a medida que se crea la nueva lite, el hijo
generado reemplaza a uno de los padres siempre y
cuando tenga una mejor aptitud. El pseudocdigo
general se expone en la tabla 1 y no muestra
mayor diferencia a un AG bsico, sin embargo
considera operadores genticos modificados,
estrategias que se describen a continuacin.

5.2 REPRESENTACIN CROMOSMICA

Se adopta la representacin de permutacin de


enteros, donde cada arreglo define el orden de
visita de los clientes; existe n clientes, los cuales
se permutan en un solo vector; se considera como
separador de rutas un enero mayor a n. En la
figura 3 se ilustra un ejemplo con tres rutas.

TABLA I
Diseo de un sistema de soporte de decisiones para resolver el
problema de ruteo en un servicio de courier

Algoritmo gentico propuesto para resolver el


problema CVRPSTW

INPUT
Matriz de datos del problema: coordenadas de
cada cliente y del depsito, ventanas de tiempo,
demanda.
OUTPUT
Mejor solucin encontrada
BEGIN /* Algoritmo Gentico hbrido */
cargar_datos()
t0
P0generacin_poblacin_incial()
/* Fase de reproduccin y generacin de
una nueva poblacin*/
WHILE (t NUM_ITERACIONES) DO
evaluacin_poblacin (Pt)
Pt mutacin_padres(Pt)
Ptgenerar_hijos(Pt)
tt+1
END
Entregar la mejor solucin
END

FIGURA 3
Diseo de un sistema de soporte de decisiones para resolver el
problema de ruteo en un servicio de courier

Ejemplo de representacin cromosmica

10

5.3 EVALUACIN Y SELECCIN

5.1 OPERADORES DE MUTACIN Y


COMBINACIN

Se definen: el conjunto de vrtices


V={v0,v1,,vn}, donde v0=0 representa el
depsito; el conjunto P={v1,,vn} comprende los
n clientes a ser visitados; la matriz de costos
Cnn = (cij) calcula la distancia o tiempo entre
cada par de vrtices (vi, vj); [ei, li] representa la
ventana horaria aceptada por el cliente i, y si, su
tiempo de servicio.
Dado el tiempo de arribo al nodo i, denotado por
ti, el atraso producido se calcula de la siguiente
manera:
+
0 para el depsito
i = max t 1, 0 para i 1 (9)
{i
}

El procedimiento de mutacin se basa en una de


las estrategias evolutivas propuestas por
Homberger y Gehring [16], y consiste en dos
fases: primero se realizan tres movimientos de
mejora, seleccionado en cada uno de ellos, y de
manera aleatoria, una de las heursticas del
conjunto {2-Opt*, recolocacin, intercambio};
luego se intenta minimizar el nmero de rutas,
para lo cual se elimina la que tenga mayor costo
por cliente y se reinsertan sus elementos en el
resto de rutas.
La estrategia de combinacin est basada en el
operador Uniform Crossover (UC) descrito por
slaug Sley Bjarnadttir [11], la cual consiste en
seleccionar las mejores rutas de los padres e
insertarlas en el hijo, siempre y cuando no entren
en conflicto, es decir, no se incluya un cliente en
ms de una ruta. Los elementos que no se
encuentren insertados, se ubican en la posicin
menos costosa en alguna ruta; de ser necesario se
crea un nuevo circuito siempre y cuando no se
supere al nmero de rutas mnimo de los padres.

Sea P1|P2|..|Pm una particin de P, entonces se


define
una
ruta
como
k

R k = { v 0 , v1
k
v0

k
v ( r + 1)

k
{ v1

, ..., v r , v ( r + 1 ) }

=0

,
k
vr

,..., } es

donde
una

permutacin del subconjunto Pk. Se calcula el


costo de una ruta Rk como:

Costo( Rk ) = j =0 (c j ,( j +1) + s j )
r

37

(10)

DISEO DE UN SISTEMA DE SOPORTE DE DECISIONES PARA RESOLVER EL PROBLEMA DE RUTEO EN UN SERVICIO


DE COURIER

componentes principales de la estrategia evolutiva


y comprende las clases: algoritmo gentico,
problema, poblacin, individuo, y ruta. La
segunda librera encierra los operadores
genticos, y las heursticas de bsqueda local y
construccin de rutas.
Para validar el programa desarrollado se
realizaron pruebas con las instancias de Solomon.
En la tabla II se resumen los resultados y se los
compara con el ptimo; se observa que el AG
propuesto produce excelentes resultados en las
instancias tipo C, es decir, donde los clientes
estn agrupados por zonas geogrficas; y se puede
concluir que en las instancias de tipo R y RC se
alcanzan resultados aceptables. Para todas las
pruebas realizadas, el algoritmo siempre consigue
un mnimo nmero de rutas en la solucin.

El costo por violacin de las ventanas de tiempo


se denota por pen_atraso(Rk) y se calcula por la
siguiente frmula, donde es una constante de
penalizacin:

pen _ atraso( Rk ) = a j =1 j
r +1

(11)

Asumiendo un costo fijo por ruta Ck, una


solucin compuesta de m rutas tiene el siguiente
costo:

Costo = k=1 (Ck + Costo(Rk ) + pen _ atraso(Rk ))


m

(12)
De esta manera, la aptitud de cada individuo
(fitness) se define como el costo de la solucin
respectiva. Para seleccionar al par de padres,
durante el proceso reproductivo, se intenta un
mtodo sencillo, el cual empieza ordenando a los
individuos de la poblacin de acuerdo a su
aptitud, es decir, de menor a mayor de costo, y se
selecciona de manera aleatoria entre los que se
ubican dentro del percentil 40.

TABLA II
Diseo de un sistema de soporte de decisiones para resolver
el problema de ruteo en un servicio de courier

Resultados de pruebas en instancias de Solomon

5.4 CONSTRUCCIN DE LA
POBLACIN INICIAL

ptimo
Instancia

Para lograr soluciones iniciales factibles, que no


produzcan sobre todo retraso en el servicio, se
incluye una heurstica de construccin, la cual se
usa para generar el 50% de la poblacin inicial, la
otra parte se genera de manera aleatoria. Este
mtodo se basa en un procedimiento del vecino
ms cercano con criterio de insercin de mximo
ahorro y sin incurrir en atrasos en el servicio; de
esta manera, para seleccionar el siguiente vrtice
a insertar en la ruta Rk, se inspeccionan los
clientes no incluidos en el ruteo, ordenados segn
la distancia al centroide de la ruta; es decir, se
trata de seleccionar entre los ms cercanos a la
ruta. Si no es posible encontrar una insercin
factible se crea una nueva ruta con cualquiera de
los vrtices no incluidos y el procedimiento se
repite hasta que todos los clientes sean visitados.
6.

C101
C102
R104
R111
RC103

Num
Costo
rutas
10
827.30
10
827.30
10 982.010
12 1,048.70
11 1,258.00

Solucin AG
propuesto
Num
Costo
rutas
10 828.94
10 828.94
10 1,174.84
11 1,316.00
11 1,424.34

7.
DSS PROPUESTO PARA
PLANIFICACIN DE PICKING EN
UN COURIER

Un Sistema de Informacin Geogrfica (SIG) es


uno de los principales componentes de un
software para la planificacin de rutas; una
alternativa a la implementacin de un SIG puede
ser el uso del servicio de mapas a travs de la
web, como el que ofrece Google Maps, que
consiste en un servidor de aplicaciones de mapas
en entorno web; esta tecnologa es ofrecida por
Google de manera gratuita y permite a los
propietarios de websites integrarla a sus pginas
web [19]. Este servicio no es un SIG, sino que
bsicamente se trata de una interfaz para el
desarrollo de aplicaciones (API) dirigida al
manejo de mapas en la web, de aqu que se
denomina la API Google Maps.
En la figura 4 se ilustra el esquema general del
sistema propuesto, consiste en una aplicacin web
que utiliza la Metaheurstica desarrollada y la API
Google Maps. Para modelar la red geogrfica
donde se encuentran los puntos de picking, es
decir abstraer este sistema a un grafo, se necesita
informacin georeferencial como coordenadas
GPS de la direccin de cada cliente, sentido de

IMPLEMENTACIN Y
VALIDACIN DE LA
METAHEURSTICA

A partir de la justificacin de Enrique Alba [9]


para utilizar Programacin Orientada a Objetos
(POO) en la implementacin de algoritmos
genticos, se selecciona el lenguaje de
programacin java para la codificacin de la
Metaheurstica; esto se debe por la sencillez de su
sintaxis, independencia del sistema operativo, y la
ventaja que brindan sus especificaciones, que
hacen extensible su uso a dispositivos mviles y
aplicaciones web. La implementacin de la
Metaheurstica parti de una revisin de otros
trabajos similares [17] [18], y consisti en el
desarrollo de dos libreras. La primera agrupa los

38

J. PINCAY, J. TOMAL & P. VACA

vas y estimacin de la velocidad promedio de los


vehculos. Toda esta informacin deber ser
procesada para estimar el tiempo de viaje ente
cada par de clientes; a su vez, estos datos
constituyen entradas en el sistema de
planificacin de rutas.

TABLA 3
Diseo de un sistema de soporte de decisiones para resolver
el problema de ruteo en un servicio de courier

Rutas obtenidas en el caso de estudio


FIGURA 4
Diseo de un sistema de soporte de decisiones para resolver
el problema de ruteo en un servicio de courier

RUTA

Esquema general del DSS para planificacin del picking


del courier

1
TPSOPERACINCOURIER

2
Informacin
georeferencial
yvial

BD:Clientes,
demanda

API
Google
Maps

Configuracindel
sistemayclculo
dedistancias

Internet
Planificacinde
rutas

4
AG
hbrido
(Metaheu
rstica)

0-5-33-66-39-20-45-2632-48-61-34-17-9-21-2710-56-4-12-29-0
0-7-38-37-23-57-24-3552-25-54-65-51-60-43-6236-63-55-15-49-0
0-14-44-18-47-22-13-1653-40-31-30-59-3-46-658-0
0-1-50-19-28-11-8-42-412-64-0

CLIENTE
S
20
20
16
10

Se evidencia que en uno de los 65 clientes se


incurre en un atraso (de apenas 0.0099 hrs)
durante la recoleccin, lo que equivale al 1.5%;
este resultado contrasta con el indicador real de
servicio de la empresa, dato obtenido en el primer
cuatrimestre del 2009, donde 12% de los clientes
(de estas zonas) no son atendidos a tiempo.
Para demostrar la factibilidad de la
implementacin de un DSS para la planificacin
de rutas, usando la API Google Maps, se
desarroll una interfaz web que muestra el detalle
de cada una de las rutas; una salida, a manera de
ejemplo, se ilustra en la figura 5.

APLICACIONWEB:
DSSparapickingdecourier

8.

ORDEN DE VISITAS

RESULTADOS DEL CASO DE


ESTUDIO

Se realiz un caso de estudio con los datos de


una de las empresas de Courier ms grandes que
operan en el pas. Se seleccionaron 65 clientes
ubicados principalmente en el centro de la ciudad
de Guayaquil, que forman parte de la operacin
de recoleccin que realiza en horas de la tarde. La
ubicacin (latitud y longitud) de cada punto de
picking se determin con la herramienta Google
Earth, la misma que ayud al clculo de la
distancia entre cada par de clientes, input
necesario para la aplicacin de la Metaheurstica
desarrollada.
Se realizaron 15 corridas del algoritmo,
considerando una flota con capacidad homognea
de 5.5 toneladas, que es el promedio de las
capacidades de los vehculos. La mejor solucin
encontrada tiene un costo de 15.21 hrs, donde el
tiempo total de espera es de 33:00 minutos (0.55
hrs), el tiempo total de atraso de 00:36 segundos
(0.0099 hrs) que corresponde a un solo cliente, y
utiliza en total 4 vehculos; los resultados se
exponen en la tabla 3.

FIGURA 5
Diseo de un sistema de soporte de decisiones para resolver
el problema de ruteo en un servicio de courier

Prototipo de una aplicacin DSS para planificacin de


rutas

Tal como se expone en la figura 5, se pudo


dibujar la ubicacin exacta de cada cliente y
mostrar toda la informacin de la planificacin de
rutas. Cabe recalcar que este tipo de soluciones
informticas son ms sencillas comparadas con

39

DISEO DE UN SISTEMA DE SOPORTE DE DECISIONES PARA RESOLVER EL PROBLEMA DE RUTEO EN UN SERVICIO


DE COURIER

las aplicaciones de escritorio, porque deben ser


instaladas en un solo equipo (el servidor), y son
independientes del sistema operativo de la
mquina cliente; adems, poseen la ubicuidad
facilitada por el internet, siendo incluso accesibles
desde dispositivos mviles.
9.

capacidad heterognea. Al optar por la API de


Google Maps como sustituto del SIG en el
desarrollo de un DSS para el problema de ruteo
del Courier, se deber realizar un levantamiento
de datos geogrficos y viales de la ciudad donde
se desee aplicarlo, en caso de que no exista dicha
informacin; lo anterior puede provocar dificultad
en la implementacin de este tipo de solucin.
Se deben realizar ms investigaciones de
problemas de ruteo, aplicados a casos
ecuatorianos; modelos ms cercanos a la realidad
permitirn mejorar la gestin logstica y los
niveles de servicio. Por ejemplo la presente
investigacin puede servir de base para crear un
modelo de ruteo dinmico con inclusin de
condiciones de trfico, accidentes e imprevistos
durante la entrega. Para estos fines, se requiere
un trabajo conjunto con la empresa privada, y
conocer sus problemas logsticos en la
transportacin.
Es urgente la creacin de asociaciones de
profesionales en logstica, con miembros
multidisciplinarios, de reconocida trayectoria
laboral en cadenas de abastecimiento e
investigadores acadmicos, que aseguren alcanzar
los objetivos cientficos y prcticos, a travs de la
investigacin y desarrollo, que puedan ofrecer al
mercado
soluciones
informticas-logsticas
eficientes y de menor costo. Es necesario que
estas agrupaciones integren la gestin logstica,
los problemas de optimizacin y las TICs en un
solo esfuerzo para resolver los problemas que se
plantee.

CONCLUSIONES Y
RECOMENDACIONES

La estrategia desarrollada para resolver el


problema CVRPSTW no requiere mayor esfuerzo
computacional cuando los datos estn agrupados
por zonas; se comprob que en estos casos, el
nmero de iteraciones necesarias para alcanzar
una buena solucin es menor a 40. Por otro lado,
se debe aumentar el nmero de iteraciones cuando
los clientes se encuentran distribuidos de manera
completamente aleatoria en una regin
geogrfica.
Segn los resultados obtenidos, se concluye que
para ampliar el espacio solucin es necesario
realizar ms de una corrida del algoritmo.
Este tipo de metaheursticas evolutivas, usadas
para resolver el CVRPTW, no slo deben reducir
el costo de desplazamiento; sino adems, y en
igual grado de importancia, debern minimizar el
nmero de rutas; por otro lado, reducir el nmero
de vehculos, puede provocar aumento de las
infactibilidades de tiempo (esperas y atrasos).
La Metaheurstica evolutiva, desarrollada en el
presente trabajo, considera un modelo de rutas
con flota de capacidad homognea, pero sta se
puede extender para resolver un problema con

40

J. PINCAY, J. TOMAL & P. VACA

REFERENCIAS BIBLOGRFICAS Y ELECTRNICAS

[1].

[2].

TOTH, P.; VIGO, D., The vehicle


routing
problem,
Universidad
de
Bologna, Italia.

[3].

IAONNOU, G.; KRITIKOS, M.;


PASTRACOS, G. (2002). A problem
generator-solver heuristic for vehicle
routing with soft time windows.
Universidad de Economa y negocios,
Atenas Grecia,

[4].

[5].

[6].

[7].

[8].

research/ Computer Science Interfaces.


Springer.

OLIVERA, A. (2004). Heursticas para


Problemas de Ruteo de Vehculos.
Instituto de Computacin, Facultad de
Ingeniera, Universidad de la Repblica,
Montevideo, Uruguay.

[9].

ALBA TORRES, E. (1999). Anlisis y


diseo de algoritmos genticos paralelos
distribuidos, Departamento de Lenguajes
y Ciencias de la Computacin. Universidad
de Mlaga.

[10]. BCK,
T.;
FOGEL,
D.B.;
MICHALEWICZ, Z. (1997). Handbook
of Evolutionary Computation, Oxford
University Press.
[11]. SLAUG SLEY BJARNADTTIR,
(2004). Solving the Vehicle Routing
Problem with Genetic Algorithms,
Informatics and Mathematical Modelling IMM, Technical University of Denmark,
DTU.

ROMERO YEZ, G. (2008). Diseo y


desarrollo de un sistema de apoyo a las
decisiones de ruteo martimo para un
proveedor de alimentos de la industria del
salmn, Universidad de Chile, facultad de
ciencias fsicas y matemticas.

[12]. NATYHELEM GIL LONDOO, (2006).


Algoritmos Genticos. Universidad
Nacional de Colombia.

DELGADO, E. (2007). El problema de la


recoleccin de desechos hospitalarios en la
ciudad de Guayaquil, modelacin y
resolucin por medio de una heurstica
basada en la bsqueda Tab, Escuela
Superior Politcnica del Litoral, Guayaquil
Ecuador.

[13]. THANGIAGH, SAM R. (1995) Vehicle


Routing with Time Windows using Genetic
Algorithms. Application Handbook of
Genetic Algorithms: New Frontiers,
Volume II. Lance Chambers.
[14]. KENNY QILI ZHU, (2000). A New
Genetic Algorithm for VRPTW, National
University of Singapore.

PINTO LPEZ, M. (2009). Teora de la


complejidad
algortmica.
Monografas.com. Revisado el 12 de
septiembre.
Disponible
en
http://www.monografias.com/trabajos27/co
mplejidad-algoritmica/complejidadalgoritmica.shtml.

[15]. JOAQUN
ANTONIO
PACHECO
BONROSTRO. Problemas de rutas con
ventanas
de
tiempo.
Universidad
Complutense de Madrid. Dpto. Estadstica
e Investigacin operativa. Facultad de
Ciencias Matemticas.

ALBA, E.; DORRONSORO, B. (2008).


Solving the Vehicle Routing Problem by
Using Cellular Genetic Algorithms,
Departamento de Ciencias de la
Computacin de la Universidad de Mlaga.

[16]. HOMBERGER, J.; GEHRING, H.


(1998). Two evolutionary metaheuristics
for the vehicle routing problem with time
windows. Femuniversitdt hagen, lehrstuhl
wirtschaftsinformatik, profustr. 8, D-58084
hagen, Bundesrepublik Deutscland.

ALBA, E.; DORRONSORO, B. (2008).


Cellular Genetic Algorithms. Operations

41

matemtica: Una publicacin del ICM ESPOL


2010, Vol. 8, No. 1

USO DE METAHEURSTICAS PARA LA OPTIMIZACIN DE LA


SECUENCIA DE PRODUCCIN Y LA ASIGNACIN DE MANO DE
OBRA EN UNA EMPRESA MANUFACTURERA
Sandoya Fernando1, Sevilla Vinicio2, Zurita Carlos3
Resumen. El problema de secuenciamiento de la produccin consiste en encontrar una secuencia ptima de ejecucin que satisfaga
todas las restricciones del problema de produccin analizado; y, dada su naturaleza combinatoria las metaheursticas son el
mecanismo ms utilizado actualmente para resolverlo, la eficiencia de estas tcnicas es determinada por el tiempo de ejecucin en la
computadora y el error obtenido. Las metaheursticas que se han desempeado mejor para resolver los problemas de secuenciamiento
son las de Bsqueda Variable Local y Algoritmos Hbridos, pero que han demostrado ser muy complejas y demandan muchos recursos
computacionales. En la presente investigacin se desarrolla un Algoritmo Gentico implementado en el lenguaje de propsito general
C++, que permite resolver el problema de secuenciamiento de rdenes de trabajo en una empresa manufacturera. Actualmente en esta
empresa el secuenciamiento de rdenes de trabajo se lo realiza de manera prcticamente manual y en aproximadamente dos das para
generar el secuenciamiento para un perodo de produccin de una semana, obtenindose un plan con mucho tiempo improductivo.
Gracias al algoritmo gentico propuesto se tiene una mejor secuenciacin en unos pocos segundos de procesamiento, en la cual el
tiempo improductivo se ha reducido a 18 minutos por cada da de produccin permitiendo tambin tener anlisis de escenarios.
Palabras Claves: Algoritmo Gentico, Job Shop Scheduling, Mano de Obra, Metaheursticas, Secuenciacin de la Produccin.
Abstract. The problem of production scheduling consists of finding an execution optimal sequence that satisfies all the restrictions with
the analyzed problem of production; and given to their combine nature, the metaheurstics are the most used mechanism at the moment
to solve this kind of problems, the efficiency of these techniques is determined by the run time in the computer and the obtained error.
The better metaheuristics to solve the sequence problems are variable local search and Hybrid Algorithms, but they have demonstrated
to be very complex and demand many computer resources. This present investigation had developed a Genetic Algorithm; it been
implemented in the general-purpose language C++, who allows solving the problem of sequence of work orders in a manufacturing
company. At the moment in this manufacturing company, the sequence of work orders are make practically manual and it takes two days
to generate the sequence for a production period of one week, obtaining also a plan that leaves long unproductive time. Thanks to the
genetic algorithm proposed, it takes a few seconds to have one better sequence of processing, in which the unproductive time has been
reduced to 18 minutes per day of production and also allowing having analysis of sceneries.
Keywords: Genetic algorithm, Job Shop Scheduling, labor, metaheuristics, production sequencing.

Recibido: Febrero, 2010


Aceptado: Marzo, 2010

1. INTRODUCCIN
La mejora de los procesos productivos en las
empresas manufactureras ha sido un factor clave
para el xito de los negocios. Estos procesos se
han vuelto muy complicados debido a que son
procesos sistmicos en los que el objetivo a
cumplir es fabricar una cierta cantidad
determinada de un mix de productos deseados al
menor costo posible con recursos limitados y en
un rango de fechas requeridas. En estos procesos
intervienen recursos limitados tales como
personal, mquinas, materia prima e insumos.
El objetivo es determinar el Plan de Produccin
y ejecutarlo en una secuencia tal que se
minimicen tiempos improductivos, tardanza en las
rdenes, u otros criterios deseados. Dentro del
rea del Scheduling, el problema del Job Shop
(JSSP por sus siglas en ingls) es el que ms

________________________
1
Sandoya Fernando, M.Sc., Profesor de la Escuela Superior
Politcnica del Litoral (ESPOL); Coordinador de la carrera
Ingeniera en Logstica y Transporte ICM ESPOL.
(e_mail: fsandoya@espol.edu.ec)
2
Sevilla Vinicio, Master en Control de Operaciones y Gestin
Logstica,ESPOL. (e_mail: vinicio.sevilla@yahoo.com)
3
Zurita Carlos, Master en Control de Operaciones y Gestin
Logstica,ESPOL. (e_mail: carloszurita77@hotmail.com)

aplicacin prctica ofrece, pues permite


incrementar la eficiencia de los procesos de
incrementar la eficiencia de los procesos de
manufactura. Desde los primeros aos de la
dcada de 1960, los problemas de Job Shop, han
sido de mucho inters para los investigadores en
mtodos de optimizacin, ya que son problemas
difciles del tipo NP-duro. En el pasado se han
desarrollado un sinnmero de heursticas
especficas para este problema. De stas, el
procedimiento de sustitucin del cuello de botella
(Shifting Bottleneck Procedure) se convirti en
uno de los ms usados, aunque con resultados no
tan satisfactorios. Hace pocos aos el desarrollo
de nuevas tcnicas universales de bsqueda,
denominadas metaheursticas, han tenido auge
gracias a los avances computacionales y se han
convertido en los mtodos recomendados para
resolver el JSSP: los Algoritmos Genticos, el
Recocido Simulado, Bsqueda TABU, Bsqueda
Variable Local Paralela entre otras son las nuevas
tcnicas que se estn utilizando para poder
resolver eficientemente este problema.

F. SANDOYA, V. SEVILLA & C. ZURITA

El objetivo principal de ste estudio es


desarrollar un algoritmo gentico que permita
encontrar una secuencia de produccin ptima en
una empresa manufacturera.

3. ALGORITMOS GENTICOS
Los algoritmos genticos, propuestos por
Holland en 1975, son metaheursticas que usan
estrategias de bsqueda general para resolver
problemas de naturaleza combinatoria. Los
algoritmos genticos simulan el proceso de
evolucin de los organismos vivos y estn
basados en el principio de supervivencia del ms
apto para formar la siguiente generacin de
posibles soluciones. Estas soluciones se
construyen utilizando operadores probabilsticos,
como el cruce gentico, mutacin y supervivencia
del ms apto (seleccin). A medida que avanza el
proceso evolutivo los individuos ms aptos
sobreviven, lo que representa las mejores
soluciones, mientras que los individuos menos
aptos desaparecen. La evolucin de dichas
soluciones hacia valores ptimos del problema
depende en buena medida de una adecuada
codificacin de stas. En la figura 1 se muestra la
ejecucin tpica de un algoritmo gentico.

2. NOTACIN Y CARACTERIZACIN DEL


PROBLEMA
El problema a resolver en la empresa
manufacturera se describe y formula a
continuacin.
2.1 DATOS DE ENTRADA

Se tiene un conjunto de 10 mquinas que


representan clulas de produccin de los
procesos existentes en la lnea de inters.
Se tiene un conjunto de artculos (tareas) con
cantidades determinadas a producir en esa
lnea en el da de inters. Cada artculo tiene
rutas
establecidas
con
operaciones
determinadas que dependen del producto a
fabricar.

FIGURA 1
Uso de metaheursticas para la optimizacin de la secuencia de
produccin y la asignacin de mano de obra en una empresa
manufacturera

2.2. OBJETIVO

Ejecucin general de un AG

Minimizar el tiempo total de proceso de una


secuencia factible. Donde el tiempo total del
proceso es el mximo tiempo necesario para
fabricar todos los artculos.

max{Cj}
N

Min Cmax =

j =1

Donde Cj es el tiempo total requerido para


completar la tarea j y se calcula as:
Cj = Snj,j + dnj,j
Snj,j: tiempo al que inicia la ltima operacin de
la tarea j.
dnj,j: tiempo de duracin de la ltima operacin
de la tarea j
2.3. RESTRICCIONES
Ohj O ij dij para todo (i,j)
(h,j) A
Cmax Oij dij para todo (i,j) N
Oij Oik dik o Oik Oij dij
Para todo (i,k) y (i,j), i = 1,,m
Oij 0
para todo (i,j) N
Ohj es la operacin de la tarea h realizada en la
mquina j. La primera restriccin asegura que una
mquina j pueda procesar solo una tarea a la vez.
La tercera restriccin se conoce como la
restriccin disjunta, asegura que se respete el
orden de diferentes tareas que se procesan en una
misma mquina.

43

USO DE METAHEURSTICAS PARA LA OPTIMIZACIN DE LA SECUENCIA DE PRODUCCIN Y LA ASIGNACIN DE


MANO DE OBRA EN UNA EMPRESA MANUFACTURERA

El algoritmo ha sido desarrollado en C++ usando


como base el framework de algoritmos genticos
GALIB desarrollado por Matthew Wall en el
Instituto Tecnolgico de Massachussets (MIT)
[1].
3.1. CODIFICACIN DE LOS GENES

3.2. NMERO DE GENERACIONES


Las generaciones permiten al algoritmo gentico
evolucionar obteniendo cada vez mejores
cromosomas, por lo tanto es importante fijar un
nmero adecuado de generaciones para conseguir
un buen resultado. De la bibliografa revisada se
obtiene que un nmero adecuado para ste tamao
de problema es 5000, de sta forma nos
aseguramos que el problema converja a la
solucin ptima.

Para el caso especfico del problema JSSP,


existen dos diferentes tcnicas para representar el
problema; la primera es una representacin
indirecta la cual codifica las instrucciones a travs
de un constructor de secuencia; por ejemplo, la
permutacin del orden de trabajos y la
priorizacin de las reglas de secuenciamiento, en
estos casos el constructor de secuencia asegura la
validez del programa producido. La segunda
tcnica es la representacin directa la cual
codifica la secuencia propiamente dicha, como
ejemplo de sta tcnica se puede citar la
codificacin de los tiempos de finalizacin de
cada operacin o los tiempos de inicio de cada
operacin, en sta tcnica no toda la codificacin
representa una secuencia vlida.
La codificacin usada para resolver el problema
planteado en el presente proyecto de titulacin es
la permutacin ordenada de trabajos. A
continuacin se explica sta representacin
mediante un ejemplo didctico, en un problema
de 3 tareas con 4 recursos (mquinas) se tiene:

3.3. TAMAO DE LA POBLACIN


El tamao de la poblacin define el nmero de
cromosomas que existirn en cada generacin. Si
no existen suficientes cromosomas, el algoritmo
no evoluciona. De igual manera, si existen
muchos cromosomas, se llega a un punto en el
que los resultados no mejoran. Este tamao es
directamente proporcional al nmero de
operaciones. Debido a que en el problema de la
empresa de estudio el nmero de operaciones es
10 se us la relacin tamao de la poblacin es
igual al cuadrado del nmero de operaciones, por
lo tanto el tamao de la poblacin ser 100.
3.4. OPERADOR DE MUTACIN
Para el algoritmo propuesto en el presente
proyecto de titulacin se usan dos operadores de
mutacin.
Operador de mutacin simple
Operador de mutacin combinada
La mutacin simple consiste en seleccionar
aleatoriamente un nmero entre 0 (cero) y el
nmero total de genes del cromosoma el cual
identifica la posicin de mutacin.
La mutacin combinada consiste en:
Seleccionar al azar un nmero y verificar si el
nmero es menor a la probabilidad de
mutacin (%). Si es menor, continuar con el
siguiente paso, caso contrario no realizar la
mutacin.
Seleccionar al azar un nmero. Si es menor al
50%, realizar la mutacin simple, para ello se
seleccionan al azar dos posiciones del
cromosoma y se intercambian sus valores,
sino realizar una mutacin de desplazamiento
con inversin de genes o sin ella, para esto se
generan otros nmeros al azar. Para el
presente estudio en la implementacin del
algoritmo se utiliz ste mtodo de mutacin,
cuyo seudocdigo se presenta a continuacin:

Tareas = {J1 , J2 , J3}


J1 = {t11(R1), t12(R2), t13(R3)}
J2 = {t21(R2), t22(R4), t23(R3)}
J3 = {t31(R1), t32(R3) }
Recursos = {R1, R2, R3, R4}
Du1j = Du2j = 2, Du3j = 3
Tmin = 0, Tmax = 10
En la figura 2 se muestra un grafo disjunto que
representa grficamente el problema de ejemplo.
FIGURA 2
Uso de metaheursticas para la optimizacin de la secuencia de
produccin y la asignacin de mano de obra en una empresa
manufacturera

Grafo disjunto que representa al JSSP

44

F. SANDOYA, V. SEVILLA & C. ZURITA

Si nrandom <= probMutacin


Si nrandom < 50%
Intercambio(pos1,pos2)
Caso contrario
// Nmero de nodos para desplazarse
nNodos = Random
Seleccionar_nNodos(pos)
// Identifica si los nodos seleccionados se
insertan invertida su posicin
Invertir = Random (< 50% ; 0; 1)
Insertar_nNodos(pos, invertir)
Fin
Caso Contrario
Salir
Fin

Para encontrar el valor de ste parmetro se usa el


problema estndar FT10 y se usa el operador
PMX. Se realizaron 36 pruebas variando la
probabilidad de cruce en 0,01 desde 0,6 hasta 0,95
obteniendo para cada una el makespan obtenido.
El mejor valor de ste parmetro es 0,6 con un
makespan de 946 (2% de error).
3.8. PROBABILIDAD DE REEMPLAZO
La probabilidad de reemplazo es necesaria ya
que el algoritmo construido es del tipo STEADYSTATE, el cual utiliza el traslape de poblaciones.
Para cada generacin solamente una porcin de
sta es reemplazada por sus hijos. Cuando esta
probabilidad es de 1, solamente uno o dos genes
son reemplazados; mientras que si la probabilidad
es del 0, todos los individuos de la poblacin son
reemplazados. Para la calibracin de la
probabilidad de reemplazo se realizan 20
experimentos con el problema estndar FT10,
donde se mantiene constante la poblacin, el
nmero de generaciones, la probabilidad de
mutacin, la probabilidad de cruce y la semilla
para la generacin de los nmeros aleatorios. El
mejor valor de makespan manteniendo
inalterables los otros parmetros es de 946 para
una probabilidad de cruce de 0,6 por lo tanto se
trabajar con sta probabilidad para el resto de
calibraciones.

3.5. PROBABILIDAD DE MUTACIN


La probabilidad de mutacin es un parmetro
dado en el algoritmo que se encontrar mediante
una prueba experimental. Para fijar el rango
inicial de la probabilidad de mutacin se tendr en
cuenta el siguiente criterio:
La probabilidad de mutacin trata de impedir
que la bsqueda del algoritmo gentico caiga
en ptimos locales por eso es conveniente
que ocurra ocasionalmente. No es bueno sin
embargo,
que
la
mutacin
ocurra
continuamente, ya que la bsqueda del
gentico pasa de ser "inteligente" a bsqueda
aleatoria. Para el presente estudio se
comenzar con un valor de 1/L, donde L es la
longitud del cromosoma.
El menor valor del tiempo total de proceso o
makespan, manteniendo inalterables los otros
parmetros es de 946 para una probabilidad de
mutacin de 0,091 por lo tanto se trabajar con
sta probabilidad para el resto de calibraciones.

3.9. ARCHIVO DE PARMETROS


El programa desarrollado trabaja con un archivo
de parmetros, el mismo que contiene la
informacin con la que va a operar el algoritmo.
El nombre del archivo debe ser siempre
entrada_jss.txt; los datos que contiene son:
Probabilidad de cruce
Probabilidad de mutacin
Tamao de la poblacin
Nmero de generaciones
Probabilidad de reemplazo
Semilla de nmeros aleatorios

3.6 OPERADOR DE CRUCE


El algoritmo desarrollado tiene la posibilidad
de usar dos operadores de cruce: el PMX (Partial
Matched CrossOver) y JOX (Job Order
CrossOver). El primero se refiere a tomar dos
puntos de cruza en cada padre y el segundo se
refiere a mantener ciertos genes constantes en los
hijos y los otros se completan en funcin a un
intercambio entre los genes de los padres.

3.10. ARCHIVO DE RESULTADOS


El programa desarrollado genera un archivo de
resultados, el mismo que contiene la informacin
de la solucin del problema, el nombre del
archivo siempre es resultados_jss.txt; contiene
la siguiente informacin:
Makespan mnimo
Secuencia planificada
Estadstica de toda la ejecucin del algoritmo
como: nmero de cruces, nmero de
mutaciones, promedio de todos los makespan
obtenidos, entre otros.

3.7. PROBABILIDAD DE CRUCE


La probabilidad de cruce es un parmetro dado
en el algoritmo que se encontrar mediante una
prueba experimental. Para fijar el rango inicial de
la probabilidad de cruce se tendr en cuenta el
siguiente criterio:
La probabilidad de cruce debe estar entre 0,6
al 0,95; de sta forma se asegura que el
problema no llegue a convergencia de forma
lenta y algunos individuos pasen a la
siguiente generacin sin cruzarse.

45

USO DE METAHEURSTICAS PARA LA OPTIMIZACIN DE LA SECUENCIA DE PRODUCCIN Y LA ASIGNACIN DE


MANO DE OBRA EN UNA EMPRESA MANUFACTURERA

Se realizaron 400 ejecuciones para cada


instancia (problema estndar). En cada problema
estndar con los parmetros calibrados se evalu
las 4 combinaciones posibles de operador de
mutacin y operador de cruce:
Operador de cruce JOX y mutacin simple
Operador de cruce JOX y mutacin
combinada
Operador de cruce PMX y mutacin simple
Operador de cruce PMX y mutacin
combinada.
En la tabla 1 se presentan los resultados
obtenidos por el algoritmo en las instancias
evaluadas, donde la columna JSS se refiere al
algoritmo desarrollado.

3.11. DIAGRAMA DE FLUJO


En la siguiente figura se presenta el diagrama de
flujo del algoritmo propuesto para resolver el
problema de inters.
FIGURA 3
Uso de metaheursticas para la optimizacin de la secuencia de
produccin y la asignacin de mano de obra en una empresa
manufacturera

Diagrama de Flujo del AG


INICIO

Archivo
entrada_jss.txt

CARGAR
PARAMETROS

Archivo
problema_jss.txt

CARGAR
DATOS

TABLA I
Uso de metaheursticas para la optimizacin de la secuencia de
produccin y la asignacin de mano de obra en una empresa
manufacturera

INICALIZAR
POBLACION(0)

Resultados por Instancia


GENERACIONACTUAL
=
GENERACIONESTOTALES
NO

SELECCIONAR
PADRESMETODO
RULETA

SI

IMPRIMIR
RESULTADOS

Instancia Dimensin ptimo Conocido


FT20
20x5
1165
FT10
10x10
930
LA24
15x10
935
LA27
20x10
1235
FT6
6x6
54

FIN

Archivo
resultados_jss.txt

APLICAR
CRUCEPMX

JSS
1183
946
984
1333
55

Con los parmetros previamente calibrados se


ingresan los datos del problema de estudio. Se
realizan 26 pruebas y en la tabla II se presentan
los resultados.

APLICAR
MUTACION
REMPLAZAR
POBLACION
CONHIJOS
CREADOS
EVALUAR
POBLACION

4. RESULTADOS COMPUTACIONALES
Para la evaluacin del algoritmo desarrollado
durante el presente proyecto de titulacin, se ha
seleccionado 5 problemas estndar de estudio de
la comunidad cientfica sobre el JSSP disponibles
en Internet en la librera OR [2]. Los
experimentos han sido ejecutados en una
LAPTOP Core 2 DUO T5500, 1.66Ghz, con una
memoria RAM de 2.0 GB, bajo Windows XP
Service Pack 3.

46

F. SANDOYA, V. SEVILLA & C. ZURITA

TABLA II
Uso de metaheursticas para la optimizacin de la secuencia de produccin y la asignacin de mano de obra en una empresa manufacturera

Resultados del problema de estudio

No Reem. Pobl.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

0,86
0,86
0,86
0,86
0,86
0,86
0,86
0,86
0,86
0,86
0,86
0,86
0,86
0,86
0,86
0,86
0,86
0,86
0,86
0,86
0,86
0,86
0,86
0,86
0,86
0,86
0,86

100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100

#
Genera.
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000
5000

Mut. Cruce Seed MAKESPAN


0,091
0,091
0,091
0,091
0,091
0,091
0,091
0,091
0,091
0,091
0,091
0,091
0,091
0,091
0,091
0,091
0,091
0,091
0,091
0,091
0,091
0,091
0,091
0,091
0,091
0,091
0,091

0,6
0,6
0,6
0,6
0,6
0,6
0,6
0,6
0,6
0,6
0,6
0,6
0,6
0,6
0,6
0,6
0,6
0,6
0,6
0,6
0,6
0,6
0,6
0,6
0,6
0,6
0,6

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

599
587
599
599
588
584
573
590
574
606
601
589
579
614
615
592
582
596
601
592
608
591
603
596
590
603
572

aproximadamente por cada da de produccin;


mientras que anteriormente se tardaba dos das
para cada semana de produccin. Cabe recalcar
que ste valor es para uno de los casos propuestos
en los que se pudo comparar los resultados
obtenidos por los dos mtodos. La rpida
ejecucin del algoritmo permitir al planificador
de la produccin, analizar varios escenarios
factibles con las particularidades que ocurran cada
da, de forma que se pueda planificar sobre
escenarios reales.
Con la implementacin del algoritmo gentico se
espera obtener en la empresa un ahorro de 143000
USD al ao en reduccin de horas extras al
personal de la planta. Bsicamente se espera un
ahorro de 12000 USD mensuales debido al pago
de horas extras no productivas debido a errores en
la secuenciacin de la produccin.
Se recomienda continuar con el desarrollo del
programa para hacerlo ms amigable con el
usuario final.

El algoritmo desarrollado en el presente


proyecto de titulacin presenta un makespan de
572 minutos mientras que por el mtodo
tradicional de planificacin toma 917 minutos (es
decir un 60% adicional para ste caso especfico).
5. CONCLUSIONES Y
RECOMENDACIONES
El algoritmo desarrollado en sta Investigacin
cumple el objetivo propuesto inicialmente, el cual
era obtener un mejor plan finito de produccin en
un tiempo menor al que se requera en el mtodo
de planificacin tradicional y en un tiempo
razonable. En uno de los casos a resolver se pudo
comparar que el algoritmo propuesto disminuy
el makespan en 60% del valor que se obtena
mediante la forma tradicional de planificacin. El
tiempo de ejecucin del algoritmo gentico
propuesto oscila de dos a tres minutos, ms 15
minutos para elaborar la secuencia como un
diagrama de Gannt son 18 minutos

47

USO DE METAHEURSTICAS PARA LA OPTIMIZACIN DE LA SECUENCIA DE PRODUCCIN Y LA ASIGNACIN DE


MANO DE OBRA EN UNA EMPRESA MANUFACTURERA

REFERENCIAS BIBLIOGRFICAS Y ELECTRNICAS

Conference on Genetic Algorithms, pags.


100{107, 1991.

[1] WEB
SITE:
http://lancet.mit.edu/ga/.
(2009).
Instituto
tecnolgico
de
massachussets.

[7] BRUCKER,
P.
(2006).
Complex
scheduling. springer science and Business.
pags. 180-210, Media Inc. New York.

[2] WEB SITE: http://people.brunel.ac.uk/


mastjjb/jeb/orlib/jobshopinfo.html. (2009).
Or-library librera de investigacin de
operaciones.

[8] BRUCKER, P. (2007). Scheduling


algorithms fifht edition. springer science and
Business. pags. 170-190, Media Inc. New
York.

[3] BALAS, J. (1998). The shifting bottleneck


procedure for job shop scheduling. Pags.
394{401, Management Science Vol 34, USA.

[9] D. F. E.S. ROSCOE. (1971). Organization


for production. In fifth edition, Richard D.
Irwin Inc. Homewood Illinois, 15 pags.,

[4] BLUM, C. (2003). Meta-heuristics in


combinatorial optimization: Overview and
conceptual comparison. In Ann Discrete
Math., pags. 269{308, ACM Comput Surv,

[10] J. HERRMANN. (2006). Handbook of


production scheduling. In Handbook of
Production Scheduling, pags. 2-20, Springer
Science and Business Media Inc., New York.

[5] BLUM, C. (2008). Hybrid metaheuristics.


studies in computational intelligence. In vol
114, pags. 17{37.

[11] BLACKSTONE, C. J.F., SPENCER, J.H.


(2001). Apics dictionary. In American
Production and Inventory Control Society,
pags 17-35, Virginia.

[6] BRAMLETTE, M. (1991). Initialization,


mutation and selection methods in genetic
algorithms for function optimization. In
Proceedings of the Fourth International

48

FORMATO DE ARTCULOS

1.

ACERCA DE LA REVISTA Y SU
CONTENIDO

La

revista

tendr

como

nombre

matteem
mttiiccaa:

una publicacin
del ICM-ESPOL, la cual se publicar en
forma semestral. Su finalidad esencial ser
comunicar los resultados obtenidos por
investigadores,
profesores,
profesores
invitados y estudiantes, en trabajos de
investigacin, resmenes de tesis de grado,
trabajos de difusin, artculos de inters
cientfico y novedades matemticas.

2.

ACERCA DEL FORMATO DE LOS


ARTCULOS

Quienes presenten trabajos para publicacin


en la revista debern regirse por las
siguientes disposiciones:
El trabajo ser escrito en castellano.
Contendr un RESUMEN que se
presentar al comienzo del mismo, con no
ms de 100 palabras. Este resumen ser
conciso, impersonal e incluir de manera
sucinta los resultados y conclusiones de la
investigacin, luego de lo cual se
presentar una lista de no ms de cinco
PALABRAS CLAVES utilizadas en el
artculo, facilitando de esta manera la
indexacin.
A continuacin, ir la primera seccin del
trabajo denominada INTRODUCCIN,
las restantes secciones las titular el autor
de acuerdo a las caractersticas del trabajo.
La
seccin
final
se
denominar
CONCLUSIONES y en la misma se
discutirn los resultados a los que haya
llegado el autor.
La
seccin
REFERENCIAS
BIBLIOGRFICAS
Y
ELECTRNICAS ser numerada y
contendr a ms del nombre del autor(es)
del artculo o texto, la fecha y lugar de
publicacin. Se exhorta incluir como
referencias las publicaciones esenciales,
esto es, las que realmente sirven de
sustento al investigador en su trabajo.

3.

GENERALIDADES

Los manuscritos para publicacin en la


revista sern enviados al editor de la revista
en
un
CD
o
por
CORREO
ELECTRNICO, escritos en el procesador
de palabras WORD. Se entregarn adems
cuatro copias en papel A4; la longitud del
artculo no exceder las diez pginas, ser
escrito a espacio simple, en doble columna,
letra Times New Roman, tamao 10 para el
texto principal y tamao 8 para el resumen,
las palabras claves y las referencias
bibliogrficas. Los grficos, tablas y fotos
sern numerados de manera consecutiva en
su parte superior, utilizando nmeros
arbigos y respectivamente rotulados. Los
mrgenes superiores, inferiores, derecho e
izquierdo sern de 2.5 cm, 2.5 cm, 2 y 3.5 cm
respectivamente.
Las secciones y subsecciones sern
debidamente
numeradas
en
forma
consecutiva. Las secciones se rotularn
centradas en maysculas, mientras que las
subsecciones estarn alineadas a la derecha.
No habr espacios entre prrafos, cada uno
iniciar con una sangra de 2 espacios.
Las copias enviadas al editor no sern
devueltas pero s cinco separatas luego de
publicado el artculo. Si el trabajo es
publicado en la revista, el mismo no podr
ser reproducido total o parcialmente sin el
consentimiento del ICM.

Recepcin de manuscritos e Informacin:


ICM-ESPOL, Campus Gustavo Galindo
Telfono: 2269-525
Mat. Eduardo Rivadeneira
Director de Publicaciones del ICM.
(e_mail: erivaden@espol.edu.ec)

matemtica
UNA PUBLICACIN DEL ICM ESPOL

Abril 2010

Volumen 8

Nmero 1

CONTENIDO

EDITORIAL.....................................................................................................

UN ALGORITMO EVOLUTIVO PARA RESOLVER EL PROBLEMA DE


CALENDARIZACIN PARA UNIVERSIDADES

Cabezas Xavier, Sandoya Fernando......................... 7


PROPUESTA DE UN MODELO MATEMTICO PARA
LA
SECUENCIACIN PTIMA DE LA COSECHA DE LA CAA DE AZCAR
INTERVALOS DE CONFIANZA E INTERVALOS DE CREDIBILIDAD PARA
UNA PROPORCIN. ESTUDIO COMPRATIVO

Daz Rosa Mara, Tisher Irene................. 19


A SHORT INTRODUCTION TO DYNAMICAL SYSTEMS

Pez Chvez Joseph...................... 28


DISEO DE UN SISTEMA DE SOPORTE DE DECISIONES PARA
RESOLVER EL PROBLEMA DE RUTEO EN UN SERVICIO DE COURIER

Pincay Johnny, Tomal James, Polo Vaca


USO DE METAHEURSTICAS PARA LA OPTIMIZACIN DE LA
SECUENCIA DE PRODUCCIN Y LA ASIGNACIN DE MANO DE OBRA
EN UNA EMPRESA MANUFACTURERA

34

Sandoya Fernando, Sevilla Vincio, Zurita Carlos................... 42

UNA PUBLICACIN DEL ICM ESPOL

Vous aimerez peut-être aussi