Documente Academic
Documente Profesional
Documente Cultură
martincho412@gmail.com; frantz.dmc@gmail.com
La fabrica cuenta con cuatro maquinas para realizar los trabajos: Una maquina cortadora, una
mquina perforadora, una mquina de coser y una maquina de engomado.
La empresa consta de un nico camin, con capacidad para 60 cajas de calzado. Cuando se
terminan tres lotes de calzado, se meten en cajas, se cargan en el camin y se despachan a depsito
(20 minutos).
1
Lgica y optimizacin Aplicadas
1 enum Tasks ={cortaZ, cortaB, cortaO, perfB, perfO, costZ, costB, engoZ, engoB,
despacho};
2 scheduleHorizon = 121;
3 int duration[Tasks] = [10, 14, 5, 10, 2, 15, 15, 10, 20, 20];
5 UnaryResource Cortadora;
6 UnaryResource Perforadora;
7 UnaryResource Maq_Coser;
8 UnaryResource Maq_Engomar;
En esta primera seccin del cdigo, se definen los principales elementos del problema con los que se
va a trabajar, incluyendo:
* Las tareas que se han de realizar (con enum Tasks en la linea 1) que incluyen cortar,
perforar, coser y engomar cada tipo de calzado y el despacho en el camin.
* Los recursos de los que se dispone para realizar las tareas (en los UnaryResource de las
lneas 5 a 8) formados por las cuatro maquinas de las que dispone la fabrica.
En la lnea 2, se define el horizonte de planificacin o scheduleHorizon que marca la cota superior del
tiempo de trabajo, que para este ejemplo, se define como la suma de la duracin de todas las tareas
(121).
9 minimize
10 a[despacho].end
Las lneas 9 y 10 indican a OPL las actividades sobre las que debe trabajar y el tipo de tarea que
debe realizar (en este caso, minimizar).
2
Lgica y optimizacin Aplicadas
11 subject to {
30 };
En la lnea 11 se define un bloque que se extiende hasta la lnea 30, que contiene las restricciones
impuestas sobre las actividades a minimizar.
# Por ejemplo, en la lnea 12, a[cortaZ] precedes a[costZ] nos indica que no se puede realizar
la costura de las zapatillas sin antes haber cortado la tela.
* En las lneas 21 a 29, de definen mediante la palabra reservada requires los recursos que
necesita cada actividad para realizarse.
# En la lnea 24, por ejemplo, a[cortaB] requires Cortadora indica que la actividad de cortar el
cuero para las botas requiere el uso de la Cortadora, y por lo tanto, no se puede realizar esta
actividad mientras la maquina est ocupada.
3
Lgica y optimizacin Aplicadas
4
Lgica y optimizacin Aplicadas
Conclusiones
Mediante este sencillo ejemplo hemos podido observar el funcionamiento y la utilidad de OPL Studio
como herramienta para la optimizacin en problemas de scheduling de tareas con restricciones de
precedencia y recursos limitados.
En el resultado final de la ejecucin del programa podemos ver que hay tareas que pueden realizarse
de manera concurrente, logrando as un menor tiempo de trabajo del que hubiramos obtenido con
una ejecucin lineal simple.
Material Utilizado
ILOG OPL Studio 3.7 Lenguaje Manual
https://en.wikipedia.org/wiki/Scheduling_(production_processes)