Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2. La Programacin de Horarios
Para resolver el problema de la programacin
de horarios se han diseado diversos
algoritmos y se han aplicado diversas
estrategias de solucin. Este artculo explica
el uso de las tcnicas basadas en el coloreo de
grafos, sin embargo, cabe mencionar algunas
de las diversas estrategias de solucin que se
han implantado. En esta seccin se hablar
brevemente de una visin general de las
principales tcnicas (algoritmos o conjuntos
de algoritmos) y estrategias (un esqueleto del
desarrollo de una solucin).
2.1 Heursticas
Las estrategias basadas en heursticas directas
involucran el poner, en una programacin de
horarios, todas las sesiones que sean posible
hasta que se originen conflictos. En este
punto, las sesiones son intercambiadas en un
intento de permitir la programacin de otra
sesin. Generalmente, la mejor estrategia es
programar las sesiones en orden, a partir de
aquella que est mas ajustada.
2.2 Reduccin a un coloreo de grafos
La tcnica del coloreo de grafos involucra la
reduccin a un problema de coloreo de grafos
El grafo es usado para representar la
asignacin de horarios cada vrtice
representa un sesin en la asignacin de
horarios y las aristas son creadas entre cada
par de vrtices de cursos que no pueden ser
programados a la misma hora. La
indisponibilidad y las preasignaciones son
manejados imponiendo alguna restriccin
externa sobre la viabilidad de coloreo de un
vrtice especifico. La coloracin del grafo
resultante puede fcilmente volverse una
asignacin de horarios prctica asociando
cada perodo con un color.
3. El Coloreo de Grafos
El coloreo de grafos es uno de los problemas
ms tiles en la teora de grafos. Tiene
mltiples aplicaciones, tales como la
optimizacin de micro cdigo [7], en la
calendarizacin [3], etc. Es bien conocido
que el problema de colorear los vrtices de un
grafo con un mnimo nmero de colores es
probablemente intratable [12; 9;
8]. No
solamente el problema general es NPcompleto
[13],
incluso
una
drstica
simplificacin del problema, tal como
determinar si el grafo es coloreable en tres
colores en un grafo regular plano permanece
como NP-completo [4]. Aunque existen
varias heursticas [11; 15; 5; 14], en este
artculo se presenta una variante del
Recursive Largest First (RLF por sus siglas
en ingls) el cual se puede utilizar para
resolver problemas como la asignacin de
horarios para maestros y alumnos en un
sistema de crditos, asignacin de los
registros de memoria de la computadora,
asignacin de frecuencias, y muchos otros.
Tantas aplicaciones alientan a encontrar un
algoritmo efectivo para resolver el problema
del coloreo de grafos. A pesar de esta
relevancia, hay relativamente pocos mtodos
disponibles para resolver de forma exacta los
problemas de coloreo de grafos. Los que
estn disponibles, estn limitados para
resolver problemas pequeos, pues el tiempo
requerido para resolver una instancia de este
problema crece exponencialmente conforme
crece el tamao de la instancia. Los enfoques
para resolver de forma exacta este problema
f 1 (x) =
a x
i1
i1
i =1
4. Mtodo de solucin
La programacin de horarios del Instituto
Tecnolgico de Cd. Madero como en muchas
Instituciones similares se realiza en forma
total o parcialmente manual.
Para resolver el problema se parte de la base
de que la Divisin de Estudios proporciona la
informacin acerca de las materias que se
impartirn en la Institucin este semestre y el
nmero de grupos necesarios.
Se pretende utilizar la siguiente metodologa
para su solucin.
isima
donde:
x i1 = Toma la decisin de cuantos grupos
de la materia i van a ser asignados al
maestro 1.
i =1
x i1 b1
a x
i =1 k =1
M: Nmero de Materias
donde:
Min z =
ik
ik
iN
bN
i =1
N: Nmero de Maestros
Ci: es el nmero de grupos para la asignatura
i.
Sujeto a:
Restricciones de demanda de grupos.
N
1K
= C1
k =1
N
2K
= C2
k =1
Ejemplo:
Mk
= CM
k =1
i1
b1
i =1
M
i =1
xi 2 b 2
Sujeto a:
Resolviendo el
siguiente solucin:
modelo
obtenemos
la
x11 = 1,
Capacidad
x12 = 2,
4
i=1
i1
i=1
i 2
= 3
i3
= 3
i 4
= 3
i=1
4
x21 = 1,
x32 = 1,
= 3
i=1
x43 = 1,
y las variables restantes son igual a cero.
4.2. Segundo Paso: Construir
programacin de horarios.
una
Demanda
Ejemplo :
4
i=1
x1i 3
x3i 1
i=1
4
i=1
2 i
i=1
4 i
( x, z(1,1), y1 )
( x, z(1,2), y1 )
( x, z(1, m1 ), y1 )
( x, z(i,1), yi)
( x, z(i,
mi )
, yi)
( x, z(n,
figura 1. Grafo de conflicto para 3 maestros
y 4 materias.
4.3 Algoritmo para el coloreo
Antes de abordar el algoritmo, daremos
algunas
definiciones
necesarias
para
comprenderlo.
Suponiendo que se tiene un grafo
conteniendo los vrtices x y y. G: xy es el
grafo obtenido de reemplazar x y y por un
solo nodo conectado a todos los vrtices
adyacentes a x o a y, o a ambos. Se dice que x
y y son fusionados juntos para producir x (o
y).
Similarmente, G {x} es el grafo obtenido
removiendo el vrtice x y todos las aristas
que incluyen x, del grafo G.
El Grafo nulo es definido como el grafo sin
ningn vrtice ni arista.
Tambin, para cualquier vrtice dado x,
nosotros podemos construir un conjunto de
tercias de vrtices como sigue:
mn )
, yn )
un
grafo
no
1. j = 1; H = G;
2. Dado v j un vrtice de grado maximal
en H.
3. Construir todas las tercias de nodos
como se explic anteriormente y
encontrar x . Si tal vrtice no existe
(mi = 0), se escoge un vrtice de grado
maximal no adyacente a v j.
4. Se fusionan v j y x en v j y se repite el
procedimiento desde el paso 3 hasta
que no es existe ms x , cuando
ningn nodo se puede elegir por ser
adyacente a v j. Entonces empezamos
desde el paso 2 con H = H { v j }, j =
j + 1.
S2
H1
MIIA
MIB
H2
MIIC
MIA
H3
MIIA
H4
MIIID
6. Conclusiones
Este articulo presenta un diseo para efectuar
la programacin de horarios con coloreo de
grafos de un Departamento del Instituto
Tecnolgico de Cd. Madero, se pretende
proporcionar una base para el desarrollo de
un sistema an ms complejo para la
programacin de horarios, por ejemplo, la
programacin de horarios de los profesores
de todos los Departamentos de esta
Institucin o de alguna otra.
7. Referencias
[1]
[12]
[13]
[14]
[15]
[16]
[17]