• No se han encontrado resultados

Tal como ya se ha mencionado, se implement´o un prototipo de software que se utiliza para probar los problemas propuestos. El prototipo se esquematiza en la figura 3.2. Est´a compuesto por

un solucionador de problemas de asignaci´on de eventos de transporte de carga terrestre a camiones de carga y un generador de problemas propios de la investigaci´on. El solucionador adem´as resuelve problemas de empacado de objetos de la literatura utilizando un algoritmo gen´etico de agrupaci´on o la heur´ıstica DJD, que b´asicamente consiste en llenar un tercio del contenedor para despu´es encontrar una combinaci´on de uno, dos o tres objetos que llenen el contenedor al cien por ciento, si esto no sucede el problema se relaja disminuyendo en uno el tama˜no del contenedor; el proceso se repite hasta que se tiene ´exito [12].

Los problemas espec´ıficos de estudio se crean por medio de un generador de problemas que

Figura 3.2: Estructura del prototipo de software desarrollado.

toma en cuenta varias probabilidades. Este generador se describe a detalle en el cap´ıtulo cuatro. Los problemas de empacado de objetos de la literatura, se tomaron, unos de la biblioteca OR de Beasley [8] y otros, de la Biblioteca de Investigaci´on de Operaciones [7]. Tambi´en en el cap´ıtulo cuatro se habla m´as acerca de las caracter´ısticas de estos problemas. Se pasa entonces el nombre del archivo que contiene el problema al solucionador y se le indica si es uno de empacado de objetos o si es uno propio del caso de estudio, se ajustan los par´ametros del algoritmo gen´etico y se inicia la ejecuci´on. Cada vez que el algoritmo gen´etico genera un nuevo individuo le pide al simulador que lo eval´ue. El simulador interpreta el cromosoma y le asigna un valor de aptitud. Los problemas alternativamente pueden resolverse usando la heur´ıstica DJD [12]. El algoritmo termina mostrando el arreglo resultante, su valor de aptitud y el n´umero de contenedores o camiones requeridos. Si se desea, el prototipo cuenta con un m´odulo para mostrar de manera gr´afica el arreglo obtenido y visualizar el calendario con los eventos marcados en ´el.

3.10

Resumen

En este cap´ıtulo se describi´o a detalle el problema del uso de veh´ıculos como parte del problema de ruteo. Se coment´o tambi´en la situaci´on de algunas empresas dedicadas al transporte de mercanc´ıas terrestre, conocida a trav´es de una peque˜na investigaci´on de campo realizada. Se propuso una simpli- ficaci´on del problema bas´andonos en los temas estudiados y en los requerimientos y necesidades que se conocieron en las empresas visitadas. Este problema particular es el que se tratar´a de resolver a lo

largo del presente trabajo. Se present´o detalladamente el algoritmo gen´etico de agrupaci´on desarrol- lado por Falkenauer [4] y que ser´a la base para la soluci´on del problema. Ah´ı mismo se destacaron las diferencias de este algoritmo con el algoritmo gen´etico tradicional y las desventajas de ´este ´ultimo para resolver problemas de agrupaci´on. Finalmente se plante´o la modelaci´on del problema que queremos atacar as´ı como la forma en que se implement´o.

Cap´ıtulo 4

Experimentaci´on y resultados

En este cap´ıtulo se reportan los experimentos realizados con el fin de responder a las preguntas planteadas en la hip´otesis, ´estas mismas son las que determinan el tipo y cantidad de experimentos que se realizan. Primeramente se define c´omo ser´an los experimentos, luego se describen las caracter´ısticas de los problemas y c´omo se obtuvieron; se da una descripci´on detallada del generador de problemas creado. Posteriormente se establecen los par´ametros con los que se ejecutar´an los algoritmos. Se muestran los resultados para los problemas de empacado de objetos de la literatura obtenidos utilizando las dos t´ecnicas, de igual forma se presentan los resultados para los problemas particualres, finalmente se concluye con una discusi´on sobre estos resultados.

4.1

Definici´on de los experimentos

Una vez definido el problema en el cap´ıtulo anterior y el modelo con el cu´al intentaremos dar soluci´on al problema, se proponen ahora un grupo de experimentos con los cuales se pretende contestar algunas de las preguntas planteadas en el primer cap´ıtulo que b´asicamente tienen que ver con si el algoritmo gen´etico de agrupaci´on propuesto por Falkenauer [4] y la heurs´ıtica DJD de Djang y Finch [12] son adecuados para resolver instancias de nuestro problema y de qu´e tama˜no pueden resolverlos. Algunas de las preguntas que se pretenden contestar a partir de los experimentos que se presentan en este cap´ıtulo parten de la hip´otesis, definida en el cap´ıtulo uno y son:

1. El algoritmo gen´etico de agrupaci´on, ¿es ´util para resolver este problema? ¿Qu´e tama˜no de problema es posible resolver con tiempo limitado?

2. La heur´ıstica DJD, ¿es ´util para resolver este problema?

3. ¿Cu´al es la estrategia para manejar las restricciones en este problema?

4. ¿Qu´e tan factible es utilizar este modelo para otras aplicaciones que necesitan resolver problemas similares?

5. ¿El algoritmo gen´etico de agrupaci´on [4], es ´util para resolver problemas de empacado de objetos? 6. ¿La heur´ıstica DJD [12] es ´util para resolver problemas de empacado de objetos?

7. ¿Se puede decir que una t´ecnica es mejor que otra al resolver este tipo de problemas?

Los experimentos se dividen en dos grupos, aquellos que corresponden al problema espec´ıfico y aquellos que corresponden al problema de empacado de objetos. Del primer grupo de experimentos, los que corresponden a nuestro problema, se hacen 60 problemas; 20 problemas peque˜nos, 20 problemas

Tabla 4.1: Primer grupo de experimentos.

Peque˜no Mediano Grande

Alta probabilidad de enlace 10 10 10

Baja probabilidad de enlace 10 10 10

Total 20 problemas 20 problemas 20 problemas

medianos y 20 m´as grandes. En el primer grupo de experimentos, de cada conjunto de 20 problemas se hacen 10 con una probabilidad de enlace muy baja y los otros 10 con una probabilidad de enlace no muy baja, como puede verse en la tabla 4.1.

Cada problema que se pasa al algoritmo gen´etico se resuelve diez veces con diferentes semillas obteniendo luego el promedio del mejor individuo contra el n´umero de evaluaciones, as´ı como su desviaci´on est´andar. Este primer grupo de experimentos tambi´en se resuelve usando la heur´ıstica DJD adaptada. Primeramente se resuelven los problemas sin considerar la satisfacci´on de las restricciones suaves, despu´es se resuelven los problemas tomando en cuenta estas restricciones. Como ya se mencion´o anteriormente, para manejar las restricciones suaves en la heur´ıstica DJD adaptada, se implement´o un mecanismo que contabiliza el n´umero de restricciones que se cumplen para cada combinaci´on de eventos que la heur´ıstica DJD genera en la segunda parte de su proceso. Este n´umero debe ser igual al que se estableza al iniciar la ejecuci´on del proceso. As´ı, al resolver los problemas del primer grupo, se tomaron en cuenta las restricciones suaves exigiendo que por lo menos se cumpliera una, dos, tres y cuatro por cada combinaci´on generada.

Del segundo grupo de experimentos, los que corresponden al problema de empacado de objetos, se hacen 90 problemas, diez de los cuales corresponden a los problemas dif´ıciles. En la tabla 4.2 se muestran las caracter´ısticas de estos problemas.

Tabla 4.2: Segundo grupo de experimentos.

n´umero de tama˜no rango n´umero objetos (N) del contenedor (t) de tama˜nos de problemas

120 150 20-100 20 250 150 20-100 20 500 150 20-100 20 1000 150 20-100 20 200 100 000 20 000-35 000 10 Total 90

Para realizar la comparaci´on entre el algoritmo gen´etico de agrupaci´on y la heur´ıstica DJD es necesario medir qu´e tan r´apido es uno con respecto al otro. Dada la diferencia existente entre la forma en que opera cada t´ecnica, puesto que el algoritmo gen´etico eval´ua la soluci´on cada vez que crea una nueva y revisa si ha alcanzado su condici´on de terminaci´on; y la heur´ıstica DJD no hace ning´un tipo de evaluaci´on de la soluci´on sino que termina hasta que todos los objetos han sido empacados; procedimos a compararlos midiendo el tiempo que tardan en resolver el problema y la calidad de la soluci´on que brindan. La optimalidad de la soluci´on se mide usando la funci´on de aptitud. Para medir el tama˜no

del problema se utiliza el n´umero de objetos que se agrupar´an.