• No se han encontrado resultados

Teórica IV. Modelos y Optimización I. Temario Empezamos a trabajar con problemas combinatorios: Problema de coloreo de grafos. Problema de la mochila

N/A
N/A
Protected

Academic year: 2021

Share "Teórica IV. Modelos y Optimización I. Temario Empezamos a trabajar con problemas combinatorios: Problema de coloreo de grafos. Problema de la mochila"

Copied!
17
0
0

Texto completo

(1)

Teórica IV

Nuevamente recordamos que este material es de apoyo a las clases teóricas. Si no asistieron a la clase, les faltarán varias cosas que tienen que ver con el trabajo en clase y con las explicaciones que dimos en el aula.

Temario

Empezamos a trabajar con problemas combinatorios:

Problema de coloreo de grafos

Problema de la mochila

Problema de Calendarización (Scheduling)

P

P

r

r

o

o

b

b

l

l

e

e

m

m

a

a

d

d

e

e

c

c

o

o

l

l

o

o

r

r

e

e

o

o

d

d

e

e

g

g

r

r

a

a

f

f

o

o

s

s

Un Poco de Historia1

Hay problemas de la física, química, genética e informática, que pueden ser modelados como problemas en grafos. Sin embargo, este concepto tiene su origen en una anécdota pueblerina. Debemos remontarnos al siglo XVIII para encontrar la noción de grafo como un modelo matemático que permite analizar y resolver muchos problemas de la vida real.

La ciudad de Königsberg, Prusia, está atravesada por el río Pregel. En su curso, se encuentra una isla a partir de la cual el río se ramifica en dos. Existían 7

puentes que permitían pasar de una partea otra. Los habitantes de Königsberg se preguntaban si sería posible realizar un paseo atravesando cada uno de los puentes una única vez. Fallidos intentos hacían pensar que esto no era posible pero no se tenía certeza que así fuera. Fue en 1736 cuando el famoso matemático Leonhard Euler pudo asegurar que no era posible tal recorrido. El modelo

matemático usado asociaba a cada zona de tierra firme un punto (vértice) y a cada puente una línea (arista) que unía los correspondientes puntos. El problema se tradujo en encontrar un recorrido por los vértices que pase una y sólo una vez por cada arista. Cualquier configuración de vértices y aristas es lo que conocemos hoy como grafo. Euler fue más allá del problema de los puentes de Könisberg y dio condiciones sobre la estructura de un grafo para que exista tal tipo de recorrido. Tal vez el problema que más contribuyó al crecimiento de la teoría de grafos fue el

problema de los 4 colores. En el año 1852, Francis Guthrie observó al colorear un

mapa de Inglaterra que le bastaban 4 colores aún en el caso que dos regiones vecinas no pudieran ser coloreadas con el mismo color. Intrigado, escribe una carta a su hermano Frederick, discípulo del matemático De Morgan, planteándole

(2)

la inquietud de si cualquier mapa dibujado en una hoja de papel tendría esta propiedad. Fredrick y De Morgan intentaron dar una respuesta matemática al problema. Pero, si bien no pudieron dibujar un mapa que requiriera al menos 5 colores, tampoco pudieron demostrar que 4 colores bastaban. El 23 de Octubre de 1852, De Morgan escribe una carta a Hamilton explicando el problema que

termina diciendo:

If you return with some very simple case which makes me out a stupid animal, I think I must do as the sphynx did...

De Morgan no logró despertar el interés de Hamilton quien respondió que no disponía de tiempo para dedicarse al tema.

A fines del siglo XIX, la comunidad matemática comenzó a tratar el problema. En 1878 apareció la primera referencia escrita debida a Cayley en The Royal

Geographical Society, quien también explicó ante la London Mathematical Society

las dificultades encontradas hasta el momento para el tratamiento del problema. En 1879, Alfred Kempe [52] publica en American Journal of Mathematics la primera demostración del problema que fue considerada correcta. Sin embargo, en 1890 Percy John Heawod [44] encuentra un error en los argumentos usados por Kempe y contribuye con el resultado que 5 colores son suficientes para colorear un mapa.

Durante muchos años diversos investigadores abordaron el tema. Hubo

infructuosos intentos de demostración, pero muchos de ellos aportaron resultados parciales o formulaciones equivalentes que enriquecieron la teoría. Recién en 1976, Wolfgang Haken y Kenneth Appel [2, 3] logran demostrarla conjetura con la ayuda de una computadora. Su demostración está basada en conceptos que ya habían sido utilizados por Kempe, Heawod y Heesch en sus fallidas

demostraciones: reductibilidad y descarte. Esencialmente, si la conjetura fuera falsa ninguna configuración entre 1478 posibles podría aparecer en el mapa contraejemplo (reductibilidad). Sin embargo, se demuestra que el mapa contiene alguna de las 1478 configuraciones (descarte) llegando a una contradicción. El procedimiento de reductibilidad y descarte de los 1478 casos fue efectuado con una computadora. Esta metodología no fue aceptada universalmente como una demostración ante la dificultad de verificar la validez del razonamiento de la computadora. En 1997, Robertson, Sanders, Seymour y Thomas [69] logran reducir a 633 las configuraciones a tener en cuenta y utilizan un procedimiento computacional más transparente que es aceptado como una demostración formal de la conjetura.

De la misma manera que el problema de los puentes de Könisberg, el problema de

los 4 colores puede ser modelado como un problema de grafos. Basta asignar un

vértice a cada país y una arista entre vértices que correspondan a países

fronterizos.

Pero la historia no termina con la coloración de un mapa. Además de la conjetura de los 4 colores que despertó durante muchos años el interés de los

investigadores, paralelamente se desarrolló el área de teoría de grafos. Entre los muchos problemas estudiados surgió una natural extensión del problema de los 4

(3)

colores: el coloreo de un grafo. Un coloreo de un grafo es cualquier asignación decolores a los vértices de tal manera que vértices conectados por una arista no comparten el mismo color. Es inmediato plantearse la pregunta: ¿cuál es la cantidad mínima de colores necesarios para colorear un grafo y cómo colorear el

grafo con esa cantidad de colores? Este es el conocido problema de coloreo de

grafos.

No se ha encontrado aún una respuesta teórica a esta pregunta para cualquier configuración de un grafo. Los resultados teóricos de la literatura podemos

encuadrarlos en dos tipos. Por un lado, aquellos que han caracterizado familias de

grafos para las cuales se puede establecer la cantidad mínima de colores y, en

algunos casos, cómo colorear con esa cantidad de colores. Por otro lado,

resultados que brindan cotas superiores e inferiores para grafos generales o con algunas propiedades particulares.

Más allá del interés teórico que puedan tener los problemas en grafos, muchos de ellos y en particular el problema de coloreo de grafos tienen una significativa importancia práctica.

Aplicaciones del Problema de Coloreo de Grafos1

Son numerosas las situaciones de la vida real en las cuales surgen problemas que pueden ser modelados como un problema de coloreo de grafos. A continuación mencionaremos algunas.

Asignación de horarios

Supongamos que queremos asignar turnos para el dictado de un conjunto de materias. Claramente deberá considerarse que dos materias dictadas por el mismo profesor no podrán ser asignadas a turnos que se superpongan. El mismo argumento es aplicable a materias dictadas a un mismo grupo de estudiantes. El problema de determinar el mínimo número de turnos para dictar todas las materias es equivalente al problema de coloreo en el grafo que resulta de considerar un

vértice por cada posible materia-turno y una arista por cada incompatibilidad

horaria. Asociando los turnos a colores, es inmediata la equivalencia de los

problemas. Este problema se encuadra dentro de una clase más general que es el de programación de actividades que deban ser ejecutadas por máquinas y/o personas. El objetivo es encontrar la cantidad mínima de máquinas y/o personas necesarias para realizar un conjunto de tareas. El caso más sencillo es cuando cualquier tarea puede ser realizada por cualquier máquina/persona y existen ciertas incompatibilidades entre las tareas que impiden que éstas sean realizadas en la misma máquina. Por ejemplo, si dos tareas deben ser realizadas en el mismo horario.

(4)

Asignación de Frecuencias Radiales

Consideremos un conjunto de usuarios (radios o particulares) del espectro electromagnético a los cuales hay que asignar frecuencias. Para evitar interferencias, las zonas geográficamente cercanas deberán tener distintas

frecuencias mientras que aquellas que se encuentren suficientemente lejos podrán compartirlas. Determinar cómo asignar el mínimo número de frecuencias

necesarias para suplir los requerimientos de todos es equivalente al problema de

coloreo de grafos. Basta considerar un vértice por cada usuario y una arista entre

dos vértices cuando la distancia geográfica entre los usuarios es inferior a una

distancia establecida para evitar interferencias. Si cada frecuencia es identificada con un color, encontrar la mínima cantidad de colores para colorear el grafo

resuelve el problema. En la práctica pueden surgir algunos otros requerimientos y/u objetivos. Por ejemplo, los usuarios pueden tener restricciones sobre el uso de las frecuencias. Por otro lado, ante una situación en la que sea imposible evitar interferencias, es de utilidad saber cuál es aquella asignación que minimiza la probabilidad global de que se produzca una interferencia.

Asignación de Registros

Durante la ejecución de un programa, las variables que se encuentran en los registros de memoria pueden ser accedidas más rápidamente que aquellas que no se encuentran en los mismos. En la mayoría de los casos, la cantidad de variables supera el número de registros disponibles, por lo cual un registro deberá ser usado en distintos tiempos de ejecución por diferentes variables. Con el objetivo de

minimizar el tiempo de ejecución, es fundamental que aquellas variables a las cuales deba accederse dentro de un mismo período corto de tiempo estén accesibles en los registros de memoria. Es decir, es necesario minimizar los accesos a memoria fuera de los registros. Se puede crear un grafo con un vértice

por cada variable del programa y aristas entre vértices que correspondan a variables necesarias en un mismo período de tiempo. Si identificamos cada registro con un color, cualquier coloreo del grafo brinda una posible relación variable-registro que no asigna un mismo registro a variables requeridas en igual período. Si el mínimo número de colores necesario para colorear el grafo es inferior a la cantidad de registros disponibles, se optimiza el uso de la memoria. Debido al interés práctico de esta aplicación, hay numerosos trabajos así como variaciones del problema.

1

Material extraído de la Tesis Doctoral: Problema de coloreo de grafos “Un estudio poliedral para un algoritmo Branch-and-cut” Isabel Méndez Díaz, Departamento de Computación, Facultad de Ciencias Exactas y Naturales, Universidad de Buenos Aires

(5)

Modelización

Modelo Clásico

Xij = 1  el vértice i se colorea con color j

Funcional: El modelo clásico minimiza la cantidad de colores.

Sumatoria igualada a 1: Cada vértice debe estar coloreado con exactamente un color

Restricción:

Si dos vértices son adyacentes no pueden tener el mismo color

Si algún vértice usa el color j se fuerza wj a valer 1 (notar que no se fuerza el cero, esto agrega soluciones no óptimas)

Modelo por conjuntos independientes

Colorear es determinar a qué conjunto independiente pertenece cada vértice, cada conjunto luego se colorea con un mismo color.

(6)

Muchísimas variables, enumerar los conjuntos independientes toma mucho tiempo Funcional: utilizar la menor cantidad de conjuntos independientes

Sumatoria: Cada vértice debe pertenecer a un conjunto independiente

Modelo por conjuntos independientes maximales

Para reducir la cantidad de variables solo se modelas los conjuntos

independientes maximales (conjuntos independientes a los que no se les puede agregar ningún vértice y que sigan siendo independientes), se permite que un vértice pertenezca a más de un conjunto (después es arbitrario el color de cual se le asigna).

(7)

Funcional: utilizar la menor cantidad de conjuntos independientesmaximales Sumatoria: Cada vértice debe pertenecer a un conjunto independiente o más Este modelo tiene menos variables que el de conjuntos independientes, igual es muy grande, enumerar los conjuntos maximales también toma mucho tiempo (no es polinomial).

Resolución

El problema de coloreo de grafos pertenece a la categoría de problemas NP-Difícil, por esta razón es importante distinguir si buscamos una solución exacta (algo que en muchos casos no podremos lograr) o una aproximada.

Los mejores resultados exactos hasta el momento se consiguen utilizando programación lineal entera y aplicando un algoritmo de Branch&Cut.

Si el tamaño o las características particulares del problema no permiten encontrar una solución exacta con los algoritmos conocidos (el tiempo de corrida es

inmanejable) se debe recurrir a heurísticas para encontrar una solución aproximada.

P

P

r

r

o

o

b

b

l

l

e

e

m

m

a

a

d

d

e

e

l

l

a

a

m

m

o

o

c

c

h

h

i

i

l

l

a

a

I

Innttrroodduucccciióónn

El problema de la mochila es un problema simple de entender: hay una persona que tiene una mochila con una cierta capacidad y tiene que elegir que elementos pondrá en ella. Cada uno de los elementos tiene un peso y aporta un beneficio. El objetivo de la persona es elegir los elementos que le permitan maximizar el

beneficio sin excederse de la capacidad permitida.

A la vez es un problema complejo, si por complejidad nos referimos a la computacional. Un problema se cataloga como inherentemente difícil si su solución requiere de una cantidad significativa de recursos computacionales, sin importar el algoritmo utilizado1. El problema de la mochila forma parte de una lista histórica de problemas NP Completos elaborada por Richard Karp en 19722. En el caso del problema de la mochila, si contáramos con 4 productos, para saber cuál es la mejor solución podríamos probar las 2^4=16 posibilidades. El 2 se desprende del hecho de que cada decisión es incluir o no al producto y el 4 de la cantidad de productos. 16 posibilidades es un número manejable, sin embargo, si la cantidad de elementos por ejemplo ascendiera a 20, tendríamos que analizar nada más y nada menos que 220=1048576 posibilidades

(8)

F

Foorrmmuullaacciióónnlliinneeaall

Una de las técnicas matemáticas que se puede utilizar para la resolución de este problema es la programación lineal. Definiendo a

c como la capacidad de la mochila

pi como el beneficio unitario obtenido por ingresar el producto i en la • mochila

wi como el peso del producto i.n como la cantidad de productos

c, pi y wi como valores enteros y positivos

se puede plantear el modelo como:

No obstante, el problema que tiene esta técnica es que no siempre se puede resolver el problema debido a la complejidad matemática del problema. En esas ocasiones, es necesario recurrir a heurísticas. Una heurística es un procedimiento que en la mayoría de las ocasiones nos permite obtener una buena solución pero que no necesariamente es la óptima.

H

Heeuurrííssttiiccaass

Una solución intuitiva pero que puede no ser óptima podría elaborarse ordenando los productos en forma descendente según la proporción

y metiendo elementos de esta lista ordenada hasta que no se pueda ingresar el siguiente elemento a la mochila. Desde este punto en adelante, siempre se asumirá que los elementos del conjunto se encuentran ordenados según esta proporción.

E

Ejjeemmpplloo11::

Considerando la siguiente instancia del problema de la mochila con capacidad c = 65

(9)

Aplicando la heurística mencionada, elegiríamos los productos A y B ya que al tratar de ingresar el producto C estaríamos excediendo la capacidad permitida. El resultado obtenido entonces sería

Es importante notar que los elementos en la tabla están ordenados según la

proporción ri. Si no estuvieran ordenados, el primer paso consistiría en ordenarlos.

E

Evvaalluuaacciióónnddeellaahheeuurrííssttiiccaa

Pese a que la heurística propuesta en el punto anterior tiende a funcionar adecuadamente en la mayoría de los casos, existen casos patológicos que pueden tener como consecuencia un rendimiento desastroso. Definiendo a

z como el valor de la solución óptima

• z' como el valor de la solución obtenido aplicando la heurística definida en

la sección anterior

z' /z como índice de performance de la heurística.(Mientras más cercano a

1, mejor)

se puede observar que pueden existir casos en el cual el índice de performance de la heurística sea tan cercano a 0 como se quiera.

D

Deemmoossttrraacciióónn

Considerando la siguiente instancia del problema de la mochila con capacidad c = k (con k > 1)

(10)

Aplicando el algoritmo de la sección anterior, elegiríamos al producto A y en consecuencia nuestro funcional sería igual a 1. En cambio, el valor de la solución óptima sería k.

En este caso, el índice de performance de la heurística en consecuencia sería:

Para valores elevados de k:

Ejemplo 2

Considerando la siguiente instancia del problema de la mochila con capacidad c =

100,

Se puede observar que la solución óptima estaría dada por la selección del

elemento B, en consecuencia z=100. En cambio, utilizando la heurística descripta, el valor obtenido es z'=2. El índice de performance de la heurística en este caso particular resulta 2/100.

M

Meejjoorraammiieennttooaattrraavvééssddeellaaccoommppaarraacciióónnccoonneelleelleemmeennttooccrrííttiiccoo..

Se puede realizar una pequeña modificación al algoritmo para asegurar que el índice de calidad de la heurística en ningún caso sea tan pequeño.

En primer lugar es necesario definir al elemento crítico s. El elemento crítico es el primer elemento que, en caso de incluirlo, se excede la capacidad permitida. La heurística se puede mejorar agregando un paso posterior que consiste en

comparar al resultado obtenido con el beneficio del elemento crítico, ps. Es decir, en definitiva, el resultado obtenido sería:

Esto permitiría que por ejemplo en el caso descripto en el ejemplo 2, el valor obtenido aplicando esta heurística mejorado sea de k y en consecuencia, iguale la solución óptima.

P

(11)

Considerando la siguiente instancia del problema de la mochila con capacidad

c=2k (con k > 1)

Aplicando el algoritmo mejorado, elegiríamos a los productos A y B obteniendo un valor de funcional z'' = 1 + d + k en comparación a z=2k. En consecuencia el peor índice de performance sería igual a:

E

Ejjeemmpplloo33

Considerando la siguiente instancia del problema de la mochila con capacidad

c=200

Se puede observar que la solución óptima estaría dada por la selección de los elementos B y C, en consecuencia z=200. En cambio, utilizando la heurística descripta, el valor obtenido es z''=102. El índice de performance de la heurística en este caso particular resulta cal=102/200

V

Vaarriiaanntteess

Existen distintas variaciones3 que se han realizado al problema de la mochila estándar. A continuación se presenta una breve introducción a algunas de ellas.

A

Accoottaaddoo::

En esta variante, en vez de contar con solamente un elemento de cada tipo, se cuenta con una cantidad limitada y conocida de cada uno de los elementos (que no necesariamente es la misma). Es decir, el modelo pasa a ser:

(12)

N

Nooaaccoottaaddoo::

El problema de la mochila no acotado es una instancia particular del problema de la mochila acotado en el cual cada bi = 1

S

Suummaaddeessuubbccoonnjjuunnttooss::

Existe una variante en la cual el beneficio es igual al peso para cada uno de los elementos. Esto no implica que el beneficio (o peso) sea el mismo para cada uno de los elementos

P

Prroobblleemmaaddeellccaammbbiioo::

Hay un caso particular que aparece cuando se exige cumplir exactamente con la restricción de capacidad. En este caso además se plantea que pi=1 ya que se intenta reconstruir la situación de un cajero que debe maximizar o minimizar la cantidad de monedas que entrega de cambio.

M

Múúllttiipplleessmmoocchhiillaass::

Otra de las variantes conocidas surge de la generalización del problema estándar, cuando en vez de tener un solo contenedor (mochila), se tienen varios.

1

Teoría de la complejidad computacional. Wikipedia 2

KARP, Richard. Reducibility Among Combinatorial Problems. 1972 3

MARTELLO, S. and TOTH, P. Knapsack Problems: Algorithms and Computer Implementation. 1990

(13)

C

C

a

a

l

l

e

e

n

n

d

d

a

a

r

r

i

i

z

z

a

a

c

c

i

i

ó

ó

n

n

(

(

S

S

c

c

h

h

e

e

d

d

u

u

l

l

i

i

n

n

g

g

)

)

I

Innttrroodduucccciióónn

El estudio formal de los problemas de calendarización se remonta a la década del 50'. En ese entonces, industrias de diferente índole intentaban resolver el problema de cómo llevar adelante la realización de múltiples tareas teniendo recursos (máquinas) limitados. Oliver Wight identifica dos conceptos clave en lo que refiere a los problemas de calendarización orientados a la producción: prioridades y capacidades. En definitiva, qué deberá hacerse primero y quién debería hacerlo. La respuesta a estas dos preguntas podía marcar la diferencia entre una empresa competitiva y una que no lo era.

El hecho de que sea un problema al que se le encontraban tantas aplicaciones prácticas, impulsó su estudio y la aplicación de distintas técnicas para resolverlo. En la década del 70' se demostró que ciertos problemas de calendarización, pertenecen al grupo de problemas NP-Hard. Debido al costo (y en algunos casos incluso la imposibilidad) de obtener soluciones óptimas, se prepararon heurísticas que aunque no conseguían la solución óptima, encontraban soluciones suficientemente buenas para lo que se necesitaba.

E

Ejjeemmppllooddeepprroobblleemmaaddeeccaalleennddaarriizzaacciióónn

Supongamos la existencia de N tareas a realizar, cada una con un tiempo de procesamiento que depende de la tarea. Cada una de las tareas se puede realizar en cualquiera de las M máquinas. No existen restricciones en lo que respecta a la precedencia de las tareas. El objetivo sería definir en qué momento se debe procesar cada tarea y en que máquina, para poder completar todas las tareas lo antes posible. Es decir, que la tarea que finaliza último, termine lo antes posible. Una de las técnicas matemáticas que se puede utilizar para la resolución de este problema es la programación lineal.

S

Siimmpplliiffiiccaacciióónnccoonnuunnaassoollaammááqquuiinnaa

Para armar el modelo, primero resulta conveniente pensar el problema con solamente una máquina. Obviamente, si se tiene solamente una máquina, el tiempo en el que se va a terminar la última tarea será siempre el mismo ya que solamente se puede modificar el orden de las tareas. No obstante, resulta más sencillo empezar por este caso para poder ir pensando el modelo en forma incremental.

Definiendo a:

N como la cantidad de tareas a procesar.

M como la cantidad de máquinas idénticas que pueden procesar la tarea. En esta primera aproximación M = 1.

proci como el tiempo que se tarda en procesar la tarea i en la máquina. Lo primero que podríamos plantear es el funcional. Como ya dijimos, queremos minimizar el momento de culminación de la última tarea. En consecuencia,

(14)

El momento de culminación de la última tarea se puede obtener analizando la culminación de cada una de las tareas.

En el objetivo, habíamos planteado la necesidad de obtener el momento de comienzo de cada una de las tareas. Podemos relacionarlo con el momento de culminación:

El problema que presentaría nuestro modelo en caso de terminar en este punto sería que permitiría la superposición de las tareas. Es decir, permite que la única máquina que tenemos realice más de una tarea a la vez. Para resolver este problema, es necesario agregar restricciones que lo impidan:

Con estos pares de ecuaciones se está obligando a que no pueda empezar una tarea si se está procesando otra. De esta manera, ya podríamos tener concluido el modelo con una sola máquina.

I

Inncclluussiióónnddeevvaarriiaassmmááqquuiinnaass

Al incluir nuevas máquinas, las ecuaciones que impedían la superposición de tareas se deben modificar. Ahora, es posible que dos tareas comiencen a procesarse en el mismo momento. Esto será posible siempre y cuando las tareas se procesen en máquinas diferentes. Entonces, ese par de ecuaciones que

(15)

impiden la superposición será necesario solamente cuando las tareas se procesen en la misma máquina. En consecuencia, es necesario liberar las ecuaciones cuando no se procesen las dos tareas en la misma máquina:

Para determinar si se procesan en la misma máquina será necesario plantear una variable que represente si una tarea i se procesa en una determinada máquina k,

YTareaEnMaqik.

Luego de analizar para cada una de las máquinas si las tareas se procesan en la misma (and), se plantea una variable (similar al or) para resolver si se están procesando en una misma máquina.

N

Noottaacciióónn

Tan grande es el conjunto de problemas de calendarización, que incluso se desarrolló una notación para identificarlos. Los problemas de calendarización se pueden especificar de la forma

(16)

El término α representa el entorno de las máquinas. Por ejemplo, si existiera una sola máquina se indicaría con un 1. Si existieran 3 máquinas idénticas, se marcaría P3.

El segundo término, β, indica las características de las tareas. Si el trabajo en una tarea se pudiera interrumpir para que pueda ser continuado más adelante, agregaríamos pmtn en este término. Si existieran precedencias también serían detalladas en este campo. Es necesario mencionar que las características no son excluyentes. Es decir, podría armarse por ejemplo un problema de calendarización con precedencias y con interrupción de tareas.

Por último, en el término γ se incluye la función objetivo a resolver. La función objetivo no necesariamente será completar la última tarea lo antes posible (denominada Cmax). Constituyen otros ejemplos de funciones objetivo:

• Minimizar la finalización de todas las tareas ponderadas por un peso.

• Si se estableciera una fecha de finalización esperada para cada tarea, podría minimizarse la demora o la cantidad de tareas

La notación correspondiente al problema identificado en la sección 1 es:

Pm | | Cmax

A

Applliiccaacciioonneess

Ya se describió que la industria fue la que impulsó el estudio de los problemas de calendarización, aplicándolo principalmente para el caso en el cual los recursos eran máquinas. No obstante, con el tiempo el problema fue extendiéndose a nuevas áreas. El libro Handbook of Scheduling compila varias de estas aplicaciones[1].

Algunos de los ejemplos son:

• Asignación de horarios: El problema de asignar horarios a docentes que dan clases en un organismo educativo puede ser considerado como un problema de calendarización. Además de la complejidad intrínseca asociada al aspecto matemático del problema, existen temas que tienen que ver con el hecho de que los recursos, no son máquinas sino que son humanos. No siempre se podrá satisfacer a todos los docentes con los horarios que ellos soliciten. En consecuencia, el hecho de que puede ser necesario llevar adelante una especie de negociación es un factor que se debe tener en cuenta.

• Industria aérea: Varios de los problemas que tienen que resolver las aerolíneas podrían catalogarse dentro del mundo de scheduling. Lo que

(17)

distingue a esta industria es que muchas de las decisiones que debe tomar están interrelacionadas entre sí. Tiene que definir vuelos para satisfacer la demanda de pasajeros y asignar tripulaciones a estos vuelos, siempre teniendo en consideración las regulaciones legales y otras restricciones existentes. A diferencia del estudio de calendarización en máquinas donde se pudo por ejemplo definir una notación, el estudio en la industria de las aerolíneas esta menos estandarizado debido a la imposibilidad de generar un modelo común a estos problemas.

R

ReeffeerreenncciiaassSScchheedduulliinngg

1

1.. LEUNG, Joseph et al. Handbook of Scheduling. 2004.

2

2.. HERRMANNN, Jeffrey et al. Handbook of Production Scheduling. 2006.

3

3.. GRAHAM, Ronald et al. Optimization and approximation in deterministic sequencing and scheduling. 1979.

4

4.. SOTSKOV, Yu y SHAKHLEVICH N.V. NP-hardness of shop-scheduling problems with three jobs. 1989.

Referencias

Documento similar

dente: algunas decían que doña Leonor, "con muy grand rescelo e miedo que avía del rey don Pedro que nueva- mente regnaba, e de la reyna doña María, su madre del dicho rey,

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la

El concepto de soberanía, teóricamente independizado de los problemas de fundamen- tación política, sirvió en la teoría jurídica como instrumento adecuado para explicar el derecho

Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de

Las manifestaciones musicales y su organización institucional a lo largo de los siglos XVI al XVIII son aspectos poco conocidos de la cultura alicantina. Analizar el alcance y

Este acercamiento entre Roma y la Gran Bretaña lo atribuía Azara al Padre Ricci, general de los jesuítas (1758-73), quien, siempre ateniéndonos al juicio del agente, había

Tal vez merecería la pena realizar este trabajo de una manera sistemática y más formal precisando bien los criterios diagnósticos de la ciencia, enumerando y especificando mejor los