Está en la página 1de 12

El Problema de la Programacin de Horarios

con Coloreo de Grafos*


M.C. Cruz Reyes Laura
lcruzr@avantel.net

I.S.C. Alonso Pecina Federico


federicoalonsopecina@hotmail.com

Ramrez Gmez Luis Alberto


lynxman79@hotmail.com
Departamento de Sistemas y Computacin
Instituto Tecnolgico de Ciudad Madero
Av. 1 de Mayo y Sor Juana Ins de la Cruz S/N Col. Los Mangos
(833) 2100415 Conmutador, (833) 2102902 Centro de Cmputo
Resumen
El problema de la programacin de horarios
en muchas Instituciones de enseanza
superior consiste en fijar un conjunto de
sesiones entre maestros y alumnos a una
periodo prefijado de tiempo (usualmente una
semana) y satisfacer un conjunto de
restricciones. En este artculo se propone
resolver un caso particularmente complejo de
programacin de horarios mediante su
modelado como coloreo de grafos y su
resolucin mediante algoritmos previamente
desarrollados para este tipo de problema.
1. Introduccin
El problema de la asignacin de horarios
consiste en fijar un conjunto de sesiones entre
maestros y alumnos a una periodo prefijado
de tiempo (usualmente una semana) y
satisfacer un conjunto de restricciones. La
programacin de horarios manual an con
algunas pocas sesiones, puede tomar una
cantidad significativa de tiempo con solo
algunas restricciones sencillas. Para una gran
cantidad de cursos con un conjunto complejo
de restricciones esto es muy poco prctico.
Esto hace deseable encontrar una forma de
generar automticamente una programacin
de horarios a partir de una descripcin inicial

de los maestros, alumnos, salones y las


sesiones requeridas.
El problema del la programacin de horarios
puede manifestarse en variadas formas todo
dependiendo del entorno o Institucin en el
que se vaya aplicar, por ejemplo existe la
programacin de horarios escolar (nivel
medio) en cual la mayora de los alumnos
tendrn sus horas corridas sin periodos libres,
la programacin de horarios por curso que es
similar a la programacin de horarios escolar,
la diferencia entre estos dos radica en que los
cursos pueden tener estudiantes en comn
mientras que la escolar tiene usualmente
grupos disjuntos de estudiantes.
Significativas
indagaciones
han
sido
dedicadas a este campo de investigacin
comenzando con Gotlieb en 1963 [10]. La
primera generacin de programas de
computadora para la programacin de
horarios en la temprana dcada de los 60s
fue en su mayor parte un intento para reducir
los trabajos administrativos que estaban
asociados. A corto plazo algunos programas
fueron presentados con la meta de ajustar las
clases y profesores a perodos. En 1964
Broder y Cole presentaron estrategias
heursticas para la programacin de horarios.
* Proyecto parcialmente apoyado por COSNET.

En este artculo se propone resolver el


problema de la programacin de horarios
mediante su modelado como coloreo de
grafos y su resolucin mediante algoritmos
previamente desarrollados para este tipo de
problema.
Se aborda el problema dividindolo en dos
partes (o fases) tambin complejas.
La primera de estas partes asigna a cada
maestro una o ms materias, este problema
puede ser resuelto utilizando un modelo de
programacin lineal el cual trata de acomodar
a cada maestro con materias afines a sus
habilidades, maximizando el grado de
dominio de las materias impartidas por cada
maestro; debido a que este modelo contiene
un nmero elevado de variables se aplican
tcnicas heursticas de tal manera que el
proceso de asignacin de materias a maestro
se agilice y a la vez sea eficaz. La siguiente
fase trata de la generacin de la programacin
de horarios utilizando un grafo G en el cual
cada vrtice representa la relacin materiamaestro y las aristas representan los
conflictos que pueda haber entre cada par de
vrtices, a este grafo se le aplica un algoritmo
heurstico basado en coloreo de grafos el cual
es usado con la finalidad de obtener la
programacin de horarios definitiva.
El desarrollo de este artculo comienza con
una breve generalizacin de las diversas
estrategias para solucionar el problema de la
programacin de horarios, de ah se sigue con
una breve explicacin acerca de lo que es el
coloreo de grafos pasando entonces a definir
el mtodo de solucin de programacin de
horarios
especficamente
para
el
Departamento de Ingeniera en Sistemas del
Instituto Tecnolgico de Cd. Madero la cual
es compleja; asemejndose a la mayora de
los Institutos Tecnolgicos del pas, lo cual
nos abre la posibilidad de tener una amplia
aplicacin en diversas instituciones de
educacin superior.

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.

2.3 Algoritmos Genticos

2.6 Mtodos Hbridos

Los algoritmos genticos pueden ser


usados en un problema de optimizacin como
tcnica de solucin. Un algoritmo gentico
comienza con un conjunto inicial de
soluciones tomadas al azar { n 10 . . . n 0n }
llamado poblacin. El algoritmo entonces
comienza un ciclo que crea una nueva
poblacin basado en la poblacin previa,
{ n 1i+1 . . . n in+1 }. Este conjunto ha sido
seleccionado basado en un valor aleatorio de
la funcin objetivo. Esto permite mejores
soluciones para continuar y ganar ms y
mejores copias en el conjunto y permitir que
los peores se reduzcan en nmero y
eventualmente mueran.

Muchos de los algoritmos y tcnicas descritas


arriba tienen, todas, cualidades nicas.
Algunas investigaciones han estado hechas
indagando la combinacin de tcnicas. Una
tcnica puede ser usada para generar una
asignacin de horarios y otra tcnica puede
ser usada para refinar esta solucin.

En esta fase, las soluciones son seleccionadas


por la combinacin (basado en una
probabilidad dada {p n }). Por ejemplo, dos
soluciones pueden ser mezcladas por el
intercambio de segmentos correspondientes.
Un punto fijo de cruzamiento selecciona un
nmero fijo de puntos de cruza para
soluciones. Mutando aleatoriamente altera
alguna parte de alguna de las soluciones.
2.4. Estrategias de Programacin Lgica
Una estrategia lgica a la solucin del
problema de la asignacin de horarios
tambin ha sido propuesto. El uso de Prolog
permite a las restricciones ser enunciadas en
forma declarativa. Las capacidad del
retroceso de Prolog es usado pero se previene
de hacer demasiados reasignaciones en la
asignacin de horarios cuando se intentan
resolver conflictos.
2.5. Estrategia Basada en Restricciones
Las tcnicas basadas en restricciones asignan
una penalizacin dada a cada restriccin.
Herramientas de software son entonces
usadas para encontrar una solucin que
minimice cada restriccin.

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

son los siguientes: mximos conjuntos


independientes, bsqueda dicotmica
y
numeracin implcita (vuelta atrs) [13].

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.

x i1 : decisin de asignar la materia i al


Maestro 1 (xi1 = 0 si no se asigna; en
otro caso xi1 = No. de asignaciones).
x i1 : {0,1,2,3,4,5,6} para la
asignatura del maestro 1.

isima

donde:
x i1 = Toma la decisin de cuantos grupos
de la materia i van a ser asignados al
maestro 1.

1. Asignar Materias a Maestros


2. Construir una Programacin de
Horarios respetando las restricciones
de espacio (nmero de salones),
horario de los maestros y necesidades
de los alumnos.
4.1. Primer Paso: Asignacin de Materias
a Maestros.
En este paso se deben tomar en cuenta las
restricciones de capacidad de los maestros, ya
que existe una carga diferente de materias
entre los docentes de tiempo parcial, de ,
de tiempo y de tiempo completo. Adems, se
tomarn en cuenta las preferencias de los
catedrticos por ciertas asignaturas.
Para lograr este fin, se tendr una base de
datos de las materias que cada profesor haya
impartido y su grado de dominio de la
materia. Para cada maestro se tendr una
funcin objetivo a minimizar.
Para el maestro I (MI) la funcin objetivo
quedara como sigue:
f 1 (x)= a11 x 11 +a21 x 21+a31 x 31+.........+aM1 x M1

ai1 = Es el grado de dominio del maestro 1


de la asignatura i.
Sujeto a capacidad del catedrtico:
M

i =1

x i1 b1

Si el profesor k tiene un dominio aceptable de


la materia i, aik tendr el valor de uno; si la
materia i no ha sido impartida por el profesor
k pero esta relacionada con alguna materia j,
que si ha sido impartida por este profesor (ajk
= 1), entonces aik = 100; si la materia i no
tiene ninguna relacin con las materias en las
que el maestro k tiene dominio, aik = 10000.
De esta manera se pretende asegurar hasta
donde sea posible que cada maestro imparta
materias afines a sus habilidades.
Para cada maestro k, se minimizar fk de tal
forma que para el conjunto de maestros se
tendr:

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

bi: es el nmero de horas que el maestro i


puede atender
Para la resolucin de problemas de
programacin entera, como el modelo que
acabamos de ver, existen mtodos de
solucin exactos y heursticos, de estos, se
probar la bsqueda Tab (heurstica), y
ramificacin y acotamiento (exacto) para la
solucin.

Ejemplo:

Supongamos que tenemos cuatro maestros


(MI, MII, MII y MIV)
y adems una
demanda de 3 grupos de la Materia A, un
grupo de la Materia B, un grupo de la Materia
C y un grupo de la Materia D. MI ha dado la
Materia A y la B; MII ha dado la Materia A y
la C, MIII ha dado la Materia D y MIV no ha
impartido nunca ninguna de estas materias.
Por cuestiones de simplificacin se da por
hecho que todos los maestros pueden impartir
clases a no mas de 3 grupos. La Materia A y
B estn relacionadas entre s. Entonces el
modelo sera el siguiente:

Mk

= CM

k =1

Restricciones de capacidad de catedrticos.


M

i1

b1

i =1
M

i =1

xi 2 b 2

Min z = x11 + x12 + 10000x13 + 10000x14 +


x21 + 10000x21 + 10000x23 + 10000x24 +
100x31 + x32 + 10000x33 + 10000x34 +
10000x41 + 10000x42 + x43 + 10000x44

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

Cada relacin Maestro-Grupo se representa


como un nodo; cada par de nodo tendr una
arista que los une si:
a) El maestro es el mismo en los dos
nodos
b) La materia es la misma
c) El alumno deber tomar esas materias
en el mismo semestre

Demanda

Ejemplo :
4

i=1

x1i 3

x3i 1

i=1
4
i=1

2 i

i=1

4 i

El grafo de la figura 1 ilustra los conflictos


existentes generados por las relaciones
obtenidas a travs de la asignacin Maestro
Grupo, esto es, el Maestro I impartir un
grupo de la asignatura A y un grupo de la
asignatura B; el maestro II va a dar dos
grupos de la materia A y un grupo de la
asignatura C; el catedrtico III dar la materia
D; las materias A y D son tomadas por un
alumno en el mismo semestre.
Los alumnos deben cursar en el mismo
semestre las materias A y D, por lo que deben
programarse a diferente hora.

( 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 )

Donde el primer vrtice es adyacente al


segundo, y el segundo vrtice es adyacente al
tercero. (Esto significa que el tercer vrtice es
adyacente a un vrtice adyacente del primero)
Asumimos que este conjunto no contiene
ninguna tercia donde el primer vrtice es
adyacente a, o es el mismo que, el tercer
vrtice simplemente no incluimos tales
tercias. Buscamos i de tal forma que mi =
max(m1 , m2 , ..., mn ) y denotamos yi por x . La
cual no es necesariamente la nica, pero
podemos simplemente tomar como x la
primer yi en la lista tal que mi = max(m1 , m2 ,
..., mn ).
Un algoritmo para dar un coloreo razonable
para cualquier grafo dado es el siguiente, el
cual est basado en una combinacin de
Dutton y Brighams [6] y un algoritmo de
Tehrani [17] .
Supongamos que tenemos
dirigido G como entrada:

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.

mediante el algoritmo de coloreo de grafos


antes descrito. En los siguientes prrafos e
ilustraciones se describe el proceso que sigue
el algoritmo para poder colorear el grafo.
En la figura 1 los dos vrtices MIIA tienen
grado 4, as pues, empezamos con el vrtice
MIIA que esta al centro del grafo.
Solamente el vrtice MIB tiene algn
vrtice que es adyacente tanto a MIIA como
a l mismo, as pues, elegimos a MIB para
fusionarse con el vrtice MIIA dando origen
al vrtice V1 el cual se muestra en el grafo de
la figura 2.

5. Cuando no queda ningn vrtice, para


y
colorea
todos
los
vrtices
fusionados en v i ( 1 <= i <= j) con el
color i, esto nos dar un j-coloreo del
grafo G.
Este algoritmo recursivo encuentra cada
conjunto de vrtices del mismo color
sucesivamente removiendo todos los vrtices
coloreados del grafo y buscando un nuevo
conjunto en el grafo reducido. Para cada
color, el vrtice remanente con el grado ms
alto es elegido y uno por uno los vrtices con
un nmero maximal de vrtices adyacentes a
v j son fusionados.
Cuando todos los vrtices del actual
componente del grafo son coloreados, el
proceso se repite en los componentes
restantes, empezando de nuevo con el vrtice
de grado maximal. Ningn nodo del conjunto
de vrtices fusionados es adyacente a algn
otro nodo del mismo conjunto, por lo que
pueden ser considerados un conjunto de
color.
Ejemplo:
Retomamos el grafo de conflictos 1ue se
gener en la seccin 4.2 para darle solucin

figura 2. Grafo de conflictos de cursos con


vrtices MIIA y MIB fusionados en V1
Llegamos a un punto en el que no existe
ningn nodo que no sea adyacente a V1 ,
entonces procedemos a remover el vrtice V1
del grafo de conflictos.
El grafo resultante tiene slo cuatro vrtices
que no han sido coloreados, ste grafo se
muestra en la figura 3. El siguiente paso es
escoger el vrtice con grado maximal, siendo
ste el vrtice MIIA con tres aristas, dando
origen al vrtice V2 , el cual se muestra en la
figura 4. Ya que no existe ningn vrtice que

no sea adyacente a MIIA V2 es removido


del grafo de conflictos, dando como resultado
el grafo de la figura 5.

Continuando como hasta ahora, se puede ver


en la figura 6 el resto de los pasos realizados
para colorear los vrtices remanentes del
grafo, el grafo de conflictos mostrado en la
figura 7, es el grafo con el coloreo final,
dando eventualmente cuatro conjuntos de
colores donde:
Al conjunto de vrtices en V1 se le asign el
color verde, al conjunto unitario V2 se le
asign el color amarillo, a V3 el color azul y
por ltimo al conjunto de vrtices en V4 se le
asign el color Rojo.

figura 3. Grafo de conflictos el cual se le ha


removido el vrtice V1 .

figura 5. Grafo de conflictos el cual se le ha


removido el vrtice V2 .

figura 4. Grafo de conflicto con el vrtice


MIIA fusionado en V2 .

figura 6. Grafo de conflicto con el vrtice


MIA y MIIC fusionado en V3 .

Para elegir cuales clases son las que sern


asignadas primero, se tomar en cuenta la
factibilidad de que sea asignado en otra,
mientras ms baja sea esa factibilidad, mayor
ser la probabilidad de que sea asignado en
esa hora.
Como segundo criterio de desempate para
elegir los nodos que sern inmediatamente
asignados a salones se tomar en cuenta el
grado de conectividad, mientras mayor sea la
conectividad, mayor ser la probabilidad de
que sea seleccionado.

figura 7. Coloreo final del grafo de conflictos


Y si no tuviramos limitaciones de tiempo
(nmero de horas laborales) y espacio
(nmero de salones disponibles) esto sera
todo el trabajo que tendramos que realizar.
La programacin de los cursos sera en cuatro
periodos, un periodo por color. Puesto que
cada color se interpreta como una hora de
clases.
En resumen si asignamos colores al grafo de
tal forma que cada par de nodos adyacentes
tenga un color diferente, llegamos al
resultado de la figura 7, donde se requieren
cuatro horas diferentes para programar los
seis grupos, esto es porque grupos con el
mismo color se programan a la misma hora.
5. Restricciones de Espacio y Tiempo
Tomando en cuenta las restricciones de
espacio cada vez que el algoritmo colorea un
conjunto de nodos, estos son asignados a
salones, los que no fueron acomodados, son
colocados de nuevo en el grafo y el algoritmo
para colorear empieza por ellos.

Como en cada color el algoritmo encuentra


un conjunto de nodos que puede ser
etiquetado con el mismo color, stos son
acomodados en salones. Si el nmero de
clases excede a los salones, los restantes
sern devueltos al grafo como un nodo
fusionado, y el algoritmo seleccionar ese
nodo cuando empiece con el siguiente color;
de esta manera se pretende atacar el problema
de la programacin de horarios.
Partiendo de este grafo solucin debemos
entonces tomar en cuenta que la mayora de
los maestros tienes restricciones en sus
horarios ya que estn ocupados en ciertas
horas que se han especificado al
departamento pertinente, entonces cuando
vamos a colorear con el color i, que
representa
una
hora
en
particular,
utilizaremos un subgrafo en el cual se
encuentran los nodos que representan a los
maestros que pueden impartir a esa hora, por
ejemplo, cuando vamos a colorear la hora 1,
solo aparecern en el grafo los maestros que
puedan trabajar a esa hora, de esta manera se
toma en cuenta de forma implcita las
restricciones de horarios de los catedrticos.
Para aumentar la flexibilidad del sistema se
permitir una preasignacin en el cul se
podr especificar la relacin materia-maestrohora-saln, o cualquier combinacin de estos
cuatro elementos que sern fijos y que el

sistema no podr modificar, si no que se


ajustar a estas restricciones.
Si el usuario no le agrada la solucin
obtenida
podr
modificar
o
agregar
restricciones en un sistema con entorno
parecido a una hoja de clculo para encontrar
una solucin que le resulte ms satisfactoria.
Ejemplo:
Para el conjunto de materiamaestro de la
figura 7 se tienen disponibles dos salones, S1
y S2 ; cuatro horarios H1 , H2 , H3 y H4 .
Al acomodar los elementos de dicho conjunto
siguiendo el procedimiento antes citado, la
asignacin de salones y horarios quedara as:
Tabla 1. Asignacin de Salones y Horarios
para el grafo de conflicto de la figura 7.
S1

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]

BURKE E.K., ELLIMAN D.G.,


WEARE R., A University
Timetabling System based on Graph
Colouring and Constraint
Manipulation, University of
Nottingham, 1993.
[2] CARTER M. W. and JOHNSON D.
G., The Use of Cliques in
Examination Timetabling, Business
School Research Series, Paper
1999:9, ISBN 1 85901 155 1.
[3] D. GAJSKI, N. D., A. Wu, S. Lin,
High-Level Sintesis, Kluwer Ac.
Pub. 1992.
[4] DAILEY, D. P. Uniqueness of
colorability and colorability of
planar 4-regular graphs are NPcomplete. Discrete Math. 30 (1980),
289-293.
[5] DARKO K. Efficient Coloring of a
Large Spectrum of Graphs.
Computer Science Department,
University of California, Los
Angeles, 1998.
[6] DUTTON R.D. And BRIGHAM
R.C. A New Graph Coloring
Algorithm, 1981, Comp. Jrnl. 24,
85-86.
[7] MICHELI G. D., Synthesis and
Optimization of Digital Circuits,
McGraw-Hill, 1994.
[8] GAREY, M. R. And JOHNSON, D.
S. Computers and intractability: a
guide to the theory of NPcompleteness. W. H. Freeman, San
Francisco, CA, 1979.
[9] GAREY, M. R. And JOHNSON, D.
S. The complexity of near optimal
graph coloring. J. ACM 23 (Jan
1976), 43-49.
[10] GOTLIEB, C. C. The construction of
classteacher timetables. IFIP
congress 62, p. 7377.
[11] C. CULBERSSON J. Iterated greedy
graph coloring and the difficulty
Lanscape. University of Alberta,

[12]

[13]

[14]

[15]

[16]
[17]

Lanscape. University of Alberta,


June 1993
M. DYER and A. FRIEZE. The
solution of some random np-hard
problems in polynomial expected
time. Journal of Algorithms, 10:451489, 1989.
MARINO A., DAMPER I. R.
Breaking the Symmetry of the Graph
Coloring Problem with Genetic
Algorithms. University of
Southampton
KUBALE M., JACKOWSKI B. A
Generalized Implicit Enumeration
Algorithm for Graph Coloring,
Communications of ACM, April
1985 Volume 28, Number 4.
DORNE R. And JIN-KAO H.. Tabu
search for graph coloring, t-colorings
and set t-colorings. Parc Scienti_que
Georges Besse, F-30000 Nimes,
France
BOYATT R., Overview of the
Timetabling Problem
TEHRANI A. An Algorithme de
Coloration Cahiers du centre
detudes do Recherche
Operationnelle, 1975, 17, 395-398.

También podría gustarte