INDICE GENERAL... 1 INDICE DE FIGURAS... 3

Tamaño: px
Comenzar la demostración a partir de la página:

Download "INDICE GENERAL... 1 INDICE DE FIGURAS... 3"

Transcripción

1 INDICE GENERAL INDICE GENERAL... 1 INDICE DE FIGURAS Introducción y Discusión Bibliográfica Discusión Bibliográfica Motivación Estructura de la tesis Análisis de Objetivos y Metodología Objetivo General Objetivos Específicos Hipótesis Metodología Estado del Arte El Curriculum de Estudios en la Educación Superior Información sobre el currículo Organización del currículo El sistema de créditos Problemas de Satisfacción de Restricciones Conceptos Básicos de CSP Notación de CSP Consistencia en un CSP Niveles de Consistencia Local Consistencia Global Colaboración de Técnicas Ramificación Informada Búsqueda Local Restringida Heurísticas de selección de variables y selección de valores Colaboración de Técnicas para resolver el Problema de Diseño de Mallas Curriculares Formulación del Problema Estrategias de Enumeración Búsqueda Local Utilizando Métodos de Mejora (Improvement Methods) para guiar el proceso de resolución Representación Función de Evaluación Modificación del Programa Optimizando Programas por Mejoras Iterativas Grafos Disyuntivos Profundización Iterativa Tabu Search Simulated Annealing Algoritmos Genéticos Propiedades deseables de la Metaheurística de resolución Un Algoritmo de Mejora Iterativa Estocástica para resolver el Problema de Diseño de Mallas Curriculares Solución Inicial Estructura del Vecindario El Algoritmo

2 5.4 La Heurística Constructiva Esquema de Solución Propuesto para BACP Representación Diseño de Prototipo Descripción del Prototipo Modificaciones al modelo clásico Análisis Funcional Formato de Archivos de Entrada Arquitectura del Prototipo Definición de propagadores y estrategia de enumeración en GecodeJ Resultados Computacionales Restricciones Suaves versus Restricciones Duras Conclusiones y Trabajo Futuro REFERENCIAS

3 INDICE DE FIGURAS Fig. 1 Función de distribución de soluciones en un espacio completo... 6 Fig. 2 Un algoritmo de búsqueda local genérico Fig. 3. Un algoritmo general de mejora iterativa Fig. 4. Grafo Disyuntivo representando un problema de asignación de trabajos con 3 trabajos y 3 maquinas Fig. 5. Seudo-código dfor the randomised iterative improvement algorithm for course timetabling Fig. 6. Esquema de Solución Propuesto Fig. 7. Cada evento (curso) es asignado según una lista de timeslots (períodos), y para cada timeslot t T, se elige un conjunto de eventos e E que se colocará en este timeslot Fig. 8. Matriz binaria, donde cada evento tiene que ser puesto exactamente una vez en un timeslot; x ij = j= 1 Fig. 9. Visualización de malla curricular mediante la opción Visualizar Malla Fig. 10. Modelo Conceptual del Prototipo Fig. 11. Espacio (Gecode Space) Fig. 12. Resumen de Resultados Computaciones Fig. 13. Resultados Computaciones Primera Solución Fig. 14. Resultados Computaciones Mejor Solución Fig. 15. Comparación Resultados Computacionales de la búsqueda de la primera v/s la mejor Solución n 3

4 Capítulo 1 Introducción y Discusión Bibliográfica Un factor clave a considerar cuando se evalúa el éxito académico de los estudiantes es la carga académica que tienen en cada semestre. La manera usual de medir esta carga es asignar, para cada curso, un número de créditos que representan la cantidad de esfuerzo requerido para aprobar el curso. De este modo, la carga académica de cada periodo esta dada por la suma de los créditos de cada curso inscrito en el periodo. Generalmente, se imponen explícitamente varias restricciones cuando se desarrolla el currículo. Por ejemplo, se debe definir una carga máxima por periodo para prevenir sobrecarga, y se deben establecer varias relaciones de precedencia sobre algunos cursos. Asumiendo que una carga académica balanceada favorece las actividades académicas y facilita el éxito de los estudiantes, se propone el desarrollo de un modelo para el diseño de currículos académicos balanceados. El problema de diseñar un currículo académico balanceado consiste en la asignación de cursos a periodos de tal forma que la carga académica de cada periodo sea balanceada, es decir, lo más similar posible entre un semestre y otro. En esta tesis, se considera como carga académica balanceada la noción de crédito que representa el esfuerzo en tiempo necesario para seguir exitosamente el curso. El proyecto se concentra en las carreras de informática ofrecidas por la Pontificia Universidad Católica de Valparaíso, esto es, carreras de 4 y 6 años (8 y 12 periodos académicos respectivamente). Sin embargo, en un primer acercamiento, se consideran además currículos para carreras de 5 años (10 periodos académicos). 1.1 Discusión Bibliográfica En la literatura se pueden encontrar diversos esfuerzos y propuestas para lograr una solución óptima al problema de diseñar un currículo balanceado. El año 2001, en [Castro01] se presenta el primer acercamiento, mediante un enfoque comparativo entre técnicas de programación lineal entera y estrategias (o heurísticas) de selección de variables y de valor, basadas en la programación con restricciones. En [Hnich02] se presenta otro acercamiento, este se centra en la comparación entre programación lineal entera y programación con restricciones, aquí se coloca especial énfasis en el modelado del problema como CSP (Constraint Satisfaction Problem), en [Flener02] también se presenta una propuesta desde el modelado, utilizando técnicas de modelado matricial. La primera propuesta de hibridación entre técnicas completas e incompletas surge el año 2006 en [Lambert06] donde se propone la utilización de algoritmos genéticos para guiar la búsqueda de soluciones al problema mediante propagación de restricciones. En Chile, además de [Castro01], se puede referenciar el trabajo presentado en [Solar06] donde se muestra una propuesta de balanceo de carga académica para un currículo basado en 4

5 competencias, se modela el problema como un problema de balanceo del tipo SALBP (Simple Assembly Line Balancing Problem)-1 y se utiliza un programa computacional que implementa la heurística RPW (Ranked Positional Weight). Por otra parte, se han desarrollado numerosos estudios acerca de las estrategias de enumeración. Varios trabajos se han centrado en la determinación de estrategias específicas de enumeración para cierta clase de problemas. Para un problema dado, algunos estudios también tratan de determinar la mejor estrategia basándose en algún criterio estático ([Beck04] por ordenación de variables, [Filipic93], [Flener01] por la mejor heurística, [Gebruers04] por el mejor solver). Sin embargo, ya que sus efectos son bastante impredecibles, decidir a priori sobre una buena estrategia de enumeración es muy difícil (generalmente casi imposible). Para determinar una estrategia se puede utilizar información acerca del proceso de resolución [Monfroy07] (ver [Canzi93], [Carchrae04] para un algoritmo de control). 1.2 Motivación En la literatura existen numerosas propuestas que consideran la utilización de técnicas incompletas (también denominadas técnicas de búsqueda local) para guiar el proceso de solución de problemas combinatorios difíciles modelados como CSP (ver [Monfroy06] para un ejemplo). Considerando el éxito de estos acercamientos, se esta interesado en utilizar este tipo de modelado como alternativa para la modelación y resolución del problema de BACP. Con el fin de mejorar la eficiencia de los algoritmos, actualmente se ha concentrado gran interés en la colaboración entre la Programación con Restricciones y la Búsqueda Local [Francois03]. La idea principal es beneficiarse de la eficiencia de la Búsqueda Local y la flexibilidad de la Programación con Restricciones, ambos aspectos tan necesarios para resolver los problemas que demanda el mundo real. Las técnicas de resolución completas realizan primero una búsqueda en profundidad buscando mediante la alternación entre propagación de restricciones y enumeración. La propagación de restricciones poda el árbol de búsqueda eliminando valores que no pueden estar en ninguna solución. La enumeración crea una rama por instanciación de una variable (ejemplo, x = v) y otra distinta (ejemplo, x v) por backtracking cuando se prueba que la primera rama no satisface. Todas las estrategias de enumeración que conservan soluciones son válidas, pero esto tiene un tremendo impacto sobre la eficiencia. Además, ninguna estrategia es la mejor para todos los problemas. Existen distintas formas de hacer colaborar ambas técnicas, las cuales se pueden clasificar en dos grandes clases: Integración de la Programación con Restricciones en la Búsqueda Local. Por ejemplo: utilizando la Programación con Restricciones para la búsqueda de vecinos en la Búsqueda Local [Pesant96, Pesant97] o para buscar solo vecinos factibles (ver figura 1). Integrar la búsqueda local dentro de la Programación con Restricciones. En donde la búsqueda local se usa en 5

6 partes del árbol de búsqueda o dentro de cada nodo. En esta tesis se propone un esquema de colaboración, para la resolución del problema de diseño de un currículo académico. 1.3 Estructura de la tesis La tesis comienza con el análisis de objetivos y una breve descripción de la metodología de desarrollo para la investigación, luego se plantea la hipótesis. Continúa con el estado del arte donde se definen el origen del problema a resolver y los principales conceptos utilizados en el desarrollo de la solución propuesta. En el capitulo 4 se presenta el diseño de la solución, aquí se incluye un esquema de colaboración entre programación con restricciones y búsqueda local estocástica, además se presentan detalles de la implementación del prototipo de sistema para la solución propuesta. La tesis sigue con la presentación y análisis de los resultados empíricos obtenidos. Finalmente, en el capitulo 7, se resume y concluye la tesis. Fig. 1 Función de distribución de soluciones en un espacio completo 6

7 Capítulo 2 Análisis de Objetivos y Metodología Durante la última década, la colaboración entre las dos grandes familias de algoritmos de resolución de problemas combinatorios difíciles; las técnicas completas que recorren todo el espacio de búsqueda, con lo cual se puede estar interesado en encontrar una solución, todas las soluciones o comprobar que el problema no tiene solución, y las técnicas incompletas, que recorren ciertos sectores del espacio de búsqueda, intentando pasar por los sectores más auspiciosos y encontrando sólo algunas soluciones, han despertado el interés de la comunidad científica debido a su capacidad para explotar y explorar eficientemente grandes espacios de soluciones. En este ámbito, esta tesis aborda el desarrollo, análisis y puesta a punto de un esquema de colaboración entre técnicas completas e incompletas, específicamente basadas en Programación con Restricciones y Búsqueda Local. La implementación y validación del esquema de colaboración se realiza considerando como problema de referencia la optimización en el diseño de mallas curriculares balanceadas para carreras universitarias. 2.1 Objetivo General Diseñar, implementar y evaluar un esquema de colaboración entre técnicas completas e incompletas y un prototipo de sistema para la generación de mallas curriculares balanceadas. 2.2 Objetivos Específicos Investigar y proponer el fundamento teórico para el desarrollo de un modelo de generación de mallas curriculares basado en satisfacción con restricciones. Diseñar e implementar un modelo de generación de mallas curriculares inspirado en heurísticas de búsqueda local y técnicas de programación con restricciones. Evaluar el rendimiento del modelo propuesto según variables, restricciones y dominios, mediante la utilización de Benchmarks reconocidos por la academia. Implementar un prototipo de sistema de generación de mallas curriculares balanceadas para la Escuela de Ingeniería Informática de la Pontificia Universidad Católica de Valparaíso. 7

8 2.3 Hipótesis El desarrollo de la investigación asociada a esta tesis de Magíster se sustenta en la validación de la siguiente hipótesis: Si se utiliza un esquema de colaboración entre técnicas completas e incompletas de resolución de problemas combinatorios difícil se puede resolver el problema de diseño de mallas curriculares balanceadas para carreras universitarias. 2.4 Metodología Para el desarrollo de esta tesis y de la investigación a asociada a la misma se utilizaran básicamente dos metodologías de trabajo, las cuales son: Metodología Bibliográfica: según la cual se obtiene información de búsquedas realizadas en Internet, encontrando páginas y documentos de índole académico respecto a la temática del proyecto. Proporcionando una base sólida para crear las referencias bibliográficas respectivas. Metodología Descriptiva-Cualitativa: a partir de la metodología anterior se obtiene la información necesaria para extraer, como el nombre de la metodología lo indica, las descripciones y cualidades de los temas que conciernen a este proyecto para lograr un trabajo que explicite los aspectos más relevantes relacionados con los conceptos de interés (CSP, Métodos de Búsqueda Local y el BACP; Balanced Academic Curriculum Problem). 8

9 Capítulo 3 Estado del Arte 3.1 El Curriculum de Estudios en la Educación Superior. Tradicionalmente se ha designado al plan de estudios como un conjunto de asignaturas y actividades graduadas, sistematizadas y armonizadas, de manera que concurran a la obtención de un objetivo o grupo de objetivos, correspondientes a un nivel educativo. Dentro de los esquemas de la pedagogía, el plan de estudios es denominado curriculum, y se le define como "El conjunto de enseñanzas, teorías y prácticas, que han de realizar para ser promovidos los alumnos, como el orden de ellos dentro de una institución docente" [Canudas72]. Todos los procedimientos modernos para organizar la materia de enseñanza aspiran a que el curriculum sea orgánico y funcional. Un plan orgánico de enseñanza enlaza de un modo natural y múltiple las asignaturas o temas concretos, mediante una red de comunicaciones que permite aproximar los contenidos más diversos del saber y de la técnica, evitando la dispersión mental de los alumnos y logrando un efecto total. Como el verdadero aprender implica una transformación graduada y valiosa de las aptitudes humanas, el curriculum orgánico concibe de peculiar modo las materias de enseñanza: Estas dejan de ser meros signos de erudición e información, y se convierten en medios eficientes para la realización de la vida presente y futura, de los aspirantes a profesionales. La materia de enseñanza se selecciona y ordena para crear en el alumno la mejor habilidad en las situaciones de la profesión, y el aprendizaje queda así articulado en función del círculo de experiencias actuales y posibles del alumno. Los nuevos curriculum de estudio son al mismo tiempo planes de formación y planes de materias, ofrecen cuadros de experiencias, métodos de trabajo y orientación para evaluar los resultados del aprendizaje. Indican en una unidad diferenciada que materia puede y debe ser asimilada por el educando y cómo puede ello realizarse Información sobre el currículo. El curriculum flexible es una forma de organización de los estudios universitarios que permite la máxima adecuación de ellos a las aptitudes y a los intereses de los estudiantes, mediante una selección de matices de especialización dentro de una pauta general. No es, por cierto, un sistema caótico, sino una mejora ordenada e inteligente de realizar un propósito educacional concreto y bien definido. Por eso es extremadamente importante que al aplicar un 9

10 curriculum flexible en la universidad, exista en todos los profesores y alumnos un claro y consciente entendimiento de su naturaleza, de su justificación y de los medios y procedimientos por los cuales es posible llevarlo a la práctica con éxito. La palabra curriculum designa todo el conjunto de esfuerzos que despliega la universidad para la realización de sus fines. Ellos comprenden: un programa de cursos; un programa de investigaciones; un programa de actividades culturales, físicas y recreativas; un programa de prácticas; un conjunto de normas escritas o tácitas, que establecen un sistema de trabajo del que se desprende una atmósfera de dignidad académica y de respeto personal entre los integrantes de la universidad, y expresa, además, de manera práctica su filosofía y sus objetivos. Hay muchas maneras posibles de organizar el curriculum de una universidad, y hay numerosos factores que influyen, en cada caso, en la decisión final sobre cómo debe quedar organizado. Sus rasgos esenciales se van depurando y estableciendo con el tiempo en forma de tradiciones que determinan una fisonomía propia en la universidad y tipifican su influencia en la vida del país. Sin embargo, cuando el curriculum se establece en forma rígida alrededor de ciertos conceptos inmóviles, se corre el riesgo de llegar al estancamiento de la situación y de cerrar las puertas al progreso científico y a la capacidad individual. Sobre todo, en una época como la actual en que los conocimientos científicos y tecnológicos se desarrollan tan rápida y ampliamente, determinando el surgimiento de nuevas disciplinas o la reestructuración interna de ellas, la universidad, como generadora de este dinámico proceso de creación, debe, por consiguiente, adoptar una estructura y régimen académico especialmente flexibles que le permita organizar rápidamente los cambios que llevan implícitos la creación e incorporación de nuevos conocimientos. El campo de los conocimientos humanos es cada vez más amplio y exige mayor especialización. Pero al mismo tiempo la especialización no debe hacer perder de vista la perspectiva cultural y social en la cual ha sido posible que se den esos conocimientos y la condición esencial del hombre que los adquiere y los aplica. Dicho en otras palabras: la formación como profesional es inseparable de su formación como hombre y como miembro de una cultura, y la responsabilidad de la universidad es atender a esa formación de manera integral. La aplicación del curriculum flexible, si bien favorece la acentuación de los estudios de acuerdo con el interés o la inclinación del alumno, le demanda al mismo tiempo un mayor sentido de responsabilidad, y a los profesores una más estrecha orientación y consejo. Todo esto, que es consecuencia del establecimiento de un sistema flexible en el régimen de estudios, representa a la vez pasos decisivos hacia el fortalecimiento del ambiente universitario y de la relación académica y personal profesor-alumno, que es otra parte importantísima del curriculum total de la universidad.: 10

11 3.1.2 Organización del currículo. Las asignaturas que se dictan en la universidad corresponden en general a los siguientes grupos: Cursos básicos a nivel general: Se designa así al grupo de cursos seleccionados por la universidad, con el fin de proporcionar al estudiante una cultura básica universitaria en las ciencias y humanidades, orientación psicológica y vocacional, que le permita seguir una especialización posterior u orientarse a otra actividad con una formación más efectiva. Los cursos básicos o de nivel general no se dictan, por lo tanto, en función de ninguna profesión o especialidad en particular, sino como núcleo y fundamento de toda formación universitaria. Este grupo de cursos es común a todos los programas. Estos cursos no se dictan necesariamente como un bloque previo a los estudios profesionales, sino más bien pueden distribuirse a lo largo de los primeros semestres de estudios, constituyendo una de las partes del curriculum balanceado. De estos cursos, los que corresponden a humanidades son ofrecidos por los departamentos respectivos y los que corresponden a ciencias básicas, por los departamentos de física, matemáticas y química, pero se matriculan en ellos todos los alumnos de la universidad, según sus requisitos. Cursos requisitos del programa académico: Se denomina así al grupo de cursos que debe ser estudiado y aprobado por todos los estudiantes que siguen un determinado programa académico. El título profesional o grado académico que otorga la universidad al término de los estudios está avalado por un cierto bagaje de conocimientos y habilidades que definen básicamente la profesión o especialidad. Estos conocimientos y habilidades se enseñan y desarrollan en los cursos que constituyen los requisitos del programa académico. Los cursos requisitos del programa académico son seleccionados, coordinados y evaluados por la dirección del programa académico respectivo, y constituyen el núcleo básico de cursos de la profesión o de la especialidad. Es necesario observar, sin embargo, que estas dos partes del curriculum que hemos descrito hasta ahora, formado por los cursos básicos o de nivel general y los cursos requisitos del programa académico, constituyen un todo indivisible. No se puede ser profesional, u optar un grado académico, sin antes haber completado los cursos del nivel general y los requisitos del programa académico seleccionado. Sin embargo, esto no quiere decir en forma absoluta que sea necesario completar primero todos los cursos de nivel general para empezar a estudiar los cursos requisitos del programa académico o de especialización. Dentro de ciertos límites, impuestos por la estructura de cada programa académico, es posible llevar cursos del programa de especialización desde el comienzo de los estudios de nivel general, siempre que no tengan prerrequisitos que hagan necesario postergarlos. Los cursos electivos: Deliberadamente se ha dejado los cursos electivos fuera de los dos grupos -cursos de nivel general y cursos del programa académico profesional- en que se ha considerado dividido el curriculum, porque en cada uno de estos dos grupos puede haber cursos electivos. Es decir, que los cursos electivos no constituyen una categoría especial por el hecho de ser electivos. La condición de electivos es adicional y depende de las circunstancias en que se encuentre cada curso dentro del curriculum. En principio, todos los cursos son electivos. Esto quiere decir que de un conjunto de cursos que ofrece la universidad, el estudiante sólo está obligado a escoger 11

12 los equivalentes a cierto número de créditos. Sin embargo, al elegir un determinado programa académico profesional o de especialización, el estudiante encuentra que para algunos cursos que necesita tomar más tarde se exige como prerrequisito ciertos cursos que corresponden al presente ciclo. Ello hace que automáticamente estos últimos cursos se transformen en obligatorios para él. Pero de todas maneras, siempre le quedará un margen para tomar cursos que no son prerrequisito de ninguno que deba tomar más adelante, y dentro de esos sí juega su libre elección. Estos son los que se denominan, por esa razón, "cursos electivos". Lo son en tanto que el estudiante puede elegir entre varias posibilidades sin restricciones, pero siempre debe tomarlos para completar el número total de créditos que le exige el curriculum de su programa académico El sistema de créditos. La flexibilidad del curriculum requiere un instrumento operativo que permita estimar el trabajo académico de los estudiantes y traducirlo en cifras que revelen en cualquier instante su situación y su progreso dentro de la universidad. Este instrumento es el sistema de créditos. El crédito es una unidad de evaluación del trabajo efectuado para aprobar una asignatura. Para fines prácticos, por ejemplo, se hace equivaler un crédito a una hora semanal de clase expositiva o a dos horas semanales de trabajos prácticos durante un semestre. Pero en realidad, cuando se dice que un curso tiene digamos, 3 créditos, no solamente se esta indicando que tiene 3 horas de clase o 2 horas de clase expositiva y 2 horas de práctica, sino que, para ganar los 3 créditos, el alumno debe cumplir satisfactoriamente con todos los requisitos de aprobación del curso. Estos comprenden no solamente la asistencia a las clases y a las prácticas, sino también pasos, exámenes, consultas bibliográficas, trabajos monográficos y cualesquiera otros que señale el profesor. Expresando en créditos el volumen de trabajo que representa cada curso, se facilita el establecimiento de pautas que regulan la distribución equilibrada (o balanceada) de asignaturas en el curriculum, el monto de la carga académica ponderada del rendimiento del estudiante en las diversas materias. El número total de créditos que un estudiante debe completar para graduarse no es un número indiscriminado. El total está repartido proporcionalmente entre las áreas en que es importante la formación de los estudiantes: cultura general y especialización profesional. La proporción de créditos asignada a cada una de estas áreas refleja la política académica general de la universidad o del programa respectivo, y se traduce en el carácter final del profesional que egresará de sus aulas. Un mayor número de créditos en cursos básicos indicará una cultura general más sólida; más créditos en cursos profesionales generales revelarán mayor amplitud en la formación profesional; mayor acento en cursos electivos podría significar una mayor profundización en el campo restringido de la especialidad. Al formular el curriculum, el programa establece estas proporciones, y ellas pueden ser variadas en modificaciones sucesivas. Pero bajo la vigencia de un determinado curriculum, el estudiante se mantiene dentro de los márgenes establecidos. Esto quiere decir que si un alumno tiene exceso de créditos en cursos electivos, por ejemplo, no podrá aplicarlos en sustitución de cursos que le faltan en el área de cursos de especialización profesional o en la de cursos básicos. 12

13 Como se ve, los créditos representan un procedimiento exacto y racional para dar significado a las calificaciones e interpretar en cifras la situación académica real de los estudiantes. El sistema permite establecer niveles mínimos de rendimiento y determinar cuando un alumno está encontrando dificultades en sus estudios y necesita mayor ayuda y superar sus dificultades. Un índice ponderado demasiado bajo es una señal de alarma sobre la situación académica del alumno y sus probabilidades de fracasar como estudiante. A veces, un reajuste oportuno en la orientación del curriculum, una reducción en la carga académica o el consejo amistoso del profesor pueden bastar para mejorar el rendimiento. Antes de terminar este análisis, es oportuno señalar que, además de la aplicación del curriculum señalada, puede éste adoptar diversas modalidades, según sean los objetivos que se pretenda alcanzar. 3.2 Problemas de Satisfacción de Restricciones. La Satisfacción de Restricciones (Constraint Satisfaction), es un paradigma usado para resolver diversos tipos de problemas, expresados como, encontrar las soluciones, los valores de un conjunto de variables en dominios específicos que satisfacen un conjunto de restricciones sobre estas variables. Muchos problemas de optimización combinatoria se pueden expresar de esta manera. En los últimos años ha tenido un desarrollo importante por la facilidad para modelar problemas complejos, así como por la flexibilidad en el tratamiento de las restricciones. Fruto de ello, es la generalización del paradigma en la modelación de problemas y en el tratamiento declarativo de su implementación, para la resolución de los mismos, denominado Programación con Restricciones (Constraint Programming) y los avances en entornos de desarrollo estandarizados. Las estrategias generales de solución en este paradigma pertenecen a dos categorías: las que razonan sobre las propias restricciones, procedimientos de propagación de restricciones o técnicas de consistencia y otra basada en la exploración del espacio de búsqueda con métodos de búsqueda constructiva, a partir de la asignación sistemática de valores parciales a las variables hasta completar la solución, con algoritmos conocidos de vuelta atrás (backtracking) y también algoritmos de ramificación y acotación (branch and bound) para los problemas de optimización, o también mediante exploraciones del espacio de soluciones mediante heurísticas de búsqueda local Conceptos Básicos de CSP. Asignación. Una asignación de variables, también llamado instanciación, (x, a) es un par variable-valor que representa la asignación del valor a a la variable x. Una instanciación de un conjunto de variables es una tupla de pares ordenados, donde cada par ordenado (x, a) asigna el valor a a la variable x. Una tupla ((x 1, a 1 ),, (x i, a i )) es localmente consistente si satisface todas las restricciones formadas por variables de la tupla. Para simplificar la notación, sustituiremos la tupla ((x 1, a 1 ),, (x i, a i )) por (a 1,, a i ). Solución. Una solución a un CSP es una asignación de valores a todas las variables de forma que se satisfagan todas las restricciones. Es decir, una solución es una tupla consistente que contiene todas las variables del problema. Una 13

14 solución parcial es una tupla consistente que contiene algunas de las variables del problema. Por lo tanto diremos que un problema es consistente, si existe al menos una solución, es decir una tupla consistente (a 1, a 2,, a n ) Notación de CSP General: El número de variables de un CSP lo denotaremos por n. La longitud del dominio de una variable x i lo denotamos por d i = D i. El número de restricciones totales lo denotaremos por c. La aridad máxima de una restricción la denotaremos por k. En el caso de problemas disyuntivos, al número máximo de disyunciones que tiene una restricción disyuntiva lo denotaremos por l. Variables: Para representar las variables utilizaremos las ultimas letras del alfabeto en cursiva, por ejemplo x, y, z, así como esas mismas letras con un subíndice, por ejemplo x 1, x i, x j. Estos subíndices son letras seleccionadas por mitad del alfabeto o números enteros. Al conjunto de variables x i,...., x j lo denotaremos por X i,..., j. Dominios/Valores: El dominio de una variable x i lo denotamos por D i. A los valores individuales de un dominio los representaremos mediante las primeras letras del alfabeto, por ejemplo, a, b, c, y al igual que en las variables también pueden ir seguidas de subíndices. La asignación de un valor a a una variable x la denotaremos mediante el par (x, a). Como ya mencionamos en la definición una tupla de asignación de variables ((x 1, a 1 ),..., (x i, a i )) la denotaremos por (a 1,..., a i ). Restricciones: Una restricción k-aria entre las variables {x 1,..., x k } la denotaremos por C 1..k.. De esta manera, una restricción binaria entre las variables x i y x j la denotaremos por C ij. Cuando los índices de las variables en una restricción no son relevantes, lo denotaremos simplemente por C. El conjunto de variables involucrados en una restricción C i..k lo representaremos por X Ci..k. 3.3 Consistencia en un CSP Los algoritmos de búsqueda sistemática para la resolución de CSPs tienen como base la búsqueda basada en backtracking. Sin embargo, esta búsqueda sufre con frecuencia una explosión combinatoria en el espacio de búsqueda, y por lo tanto no es por si solo un método suficientemente eficiente para resolver CSPs. Una de las principales dificultades con las que nos encontramos en los algoritmos de búsqueda es la aparición de inconsistencias locales que van apareciendo continuamente. Las inconsistencias locales son valores individuales o combinación de valores de las variables que no pueden participar en la solución porque no satisfacen alguna propiedad de consistencia Niveles de Consistencia Local Consistencia de Nodo: La consistencia local más simple de todas es la consistencia de nodo o nodo-consistencia. Forzar este nivel de consistencia nos asegura que todos los valores en el dominio de una variable satisfacen todas las 14

15 restricciones unarias sobre esa variable. Así, un problema es nodo-consistente si y solo si todas sus variables son nodo-consistentes: Consistencia de Arco: Un problema binario es arco-consistente si para cualquier par de variables restringidas x i y x j, para cada valor a en D i hay al menos un valor b en D j tal que las asignaciones (x i, a) y (x j, b) satisfacen la restricción entre x i y x j. Cualquier valor en el dominio D i de la variable x i que no es arco-consistente puede ser eliminado de D i ya que no puede formar parte de ninguna solución. El dominio de una variable es arco-consistente si todos sus valores son arco-consistentes. Así, un problema es arco-consistente si y solo si todos sus arcos son arco-consistentes: Consistencia de Caminos: La consistencia de caminos (path-consistencia) es un nivel más alto de consistencia local que la arco-consistencia. La consistencia de caminos requiere para cada par de valores a y b de dos variables x i y x j, que la asignación de a a x i y de b a x j satisfaga la restricción entre x i y x j, y que además exista un valor para cada variable a lo largo del camino entre x i y x j de forma que todas las restricciones a lo largo del camino se satisfagan. Un CSP satisface la consistencia de caminos si y solo si todos los caminos de longitud dos cumplen la consistencia de caminos. Así, un problema satisface la consistencia de caminos si y solo si todo par de variables (x i, x j ) es pathconsistente Consistencia Global A veces es deseable una noción más fuerte que la consistencia local. Decimos que un etiquetado, construido mediante un algoritmo de consistencia, es globalmente consistente si contiene solamente aquellas combinaciones de valores que forman parte de al menos una solución. Un etiquetado globalmente consistente es una representación compacta y conservadora de todas las soluciones admitidas por un CSP. Es correcto en el sentido de que el etiquetado nunca admite una combinación de valores que no desemboque en una solución. Es completo en el sentido de que todas las soluciones están representadas en él. En una red de restricciones globalmente consistente la búsqueda puede llevarse a cabo sin backtracking. En general, un etiquetado globalmente consistente puede requerir de forma explícita representar restricciones para todas las variables del problema, es decir, generar etiquetas n-1-dimensionales para un problema de talla n forzando la n-consistencia. Esta tarea tiene una complejidad exponencial en el peor caso. Para clases especiales de problemas, niveles bajos de consistencia son equivalentes a la consistencia global [Barták01]. Para mayor información acerca de algoritmos y heurísticas de búsqueda sistemática para resolución de CSPs ver [Manyá03]. 15

16 3.4 Colaboración de Técnicas Mientras todos los esquemas propuestos en la literatura comparten el común denominador de integrar técnicas completas con incompletas, es necesario hacer una separación. Esta separación viene dada por las distintas características, objetivos y motivaciones que plantea cada esquema. Para ello, se han separado los esquemas propuestos en dos familias, la primera familia se denomina Ramificación Informada y la segunda familia se denomina Búsqueda Local Restringida y está compuesta por un esquema de colaboración. Si bien ambas familias se benefician de la colaboración, se distinguen en sus fundamentos, en su concepción y en la necesidad que las hizo nacer. A continuación se explican las motivaciones que han llevado a los investigadores a explorar cada familia Ramificación Informada. En el contexto de la Programación con Restricciones, a pesar de que todas las estrategias de ramificación que preservan todas las soluciones que son válidas, ellas tienen un gran impacto en la eficiencia del proceso de búsqueda de una solución. El efecto de estas estrategias es difícil de predecir y en la mayoría de los casos imposible. Además, no existe una estrategia que sea la mejor para todos los problemas. Muchos estudios han definido algunos criterios, por ejemplo, elegir la variable con el dominio más pequeño, para el caso de selección de variable, elegir el valor mínimo, para el caso de selección de valor. Por otro lado, para algunos problemas se han propuesto estrategias específicas. Algunos han focalizado los esfuerzos en determinar la mejor estrategia estáticamente sólo una vez, antes de comenzar a buscar la solución. Sin embargo, es bien conocido que para las decisiones a priori con respecto a la selección de variable y valor es muy difícil obtener buenos resultados (en la mayoría de los casos imposible), porque los efectos de las estrategias son impredecibles. Esto produce que, dado un problema, una estrategia puede encontrar una solución en segundos, mientras que otra puede requerir horas. Con el fin de aminorar ese nivel de incertidumbre, han habido intentos de obtener información del proceso de búsqueda para ayudar a la estrategia de ramificación, ver por ejemplo [Monfroy07]. La idea es obtener buenos resultados sin depender del conocimiento de un experto, permitiendo el uso de la Programación con Restricciones a un rango más amplio de personas Búsqueda Local Restringida. Son muchos los que se han preguntado cual es la diferencia esencial entre la Búsqueda Local y la Programación con Restricciones, que hace que la Búsqueda Local escale tan bien con respecto a la otra técnica. Prestwich se hizo esa pregunta [Prestwich01a] y llegó a la conclusión de que la principal diferencia es que la Búsqueda Local nunca se compromete con alguna asignación de una variable. La Programación con Restricciones en cambio, prácticamente no modifica las asignaciones que se hacen al inicio de la búsqueda, esto es, las zonas altas del árbol. 16

17 Específicamente, en la Programación con Restricciones se comienza con un conjunto vacío de asignaciones y paulatinamente se van agregando asignaciones de valores a variables hasta que se completa el conjunto, con una asignación por variable, que satisface todas las restricciones del problema, o sea, una solución. El principal problema es que si las primeras asignaciones son erróneas, estas causan que se exploren ramas completas del árbol de búsqueda sin éxito alguno, perjudicando enormemente la eficiencia del algoritmo, esto se denominaría como asignación errónea temprana. Por otra parte, la Búsqueda Local hace una exploración incompleta del espacio de búsqueda, reparando asignaciones completas, eventualmente infactibles. Para ello se trabaja con un conjunto compuesto por una asignación por variable y se toleran asignaciones infactibles, iterativamente se repararan las asignaciones hasta obtener una solución. Esto permite que no se sufra del problema de la asignación errónea temprana, como en la Programación con Restricciones. Luego de identificar uno de los principales problemas de la Programación con Restricciones, la asignación errónea temprana, Prestwich propuso el algoritmo híbrido Búsqueda local restringida (CLS) [Prestwich00, Prestwich01b]. Este algoritmo, básicamente, es un Backtracking que permite hacer el backtrack a cualquier variable, a diferencia del algoritmo clásico que sólo permite hacer el backtrack a la última variable instanciada. A esto se le agregan fases de propagación de restricciones en cada nodo del árbol, con el fin de reducir el espacio de búsqueda. El objetivo es mezclar la principal característica de la Búsqueda Local, no comprometerse con ninguna asignación en particular, con la reducción del espacio de búsqueda de la Programación con Restricciones. La idea es simple, pero tiene serios problemas de implementación, porque cuando se usan algoritmos de propagación de restricciones, que filtran valores de los dominios de las variables, es sumamente complicado hacer un backtrack a una variable aleatoria en forma eficiente. Para hacer un backtrack en forma eficiente, lo ideal es sólo deshacer los valores filtrados por la asignación que se desea deshacer, pero es sumamente costoso mantener la información de cuales valores se han filtrado producto de cual asignación, por lo que en la practica no se hace, y volver a filtrar todo de nuevo tiene un muy alto costo. Existe bastante trabajo con respecto a este último punto, cuales asignaciones filtraron cuales valores en la fase de propagación. Formalmente esta información se conoce como explicaciones [Pesant96, Schiex94], cuya idea es mantener toda la información necesaria para lograr hacer los backtrack de igual forma que la operación deshacer (haciendo la analogía con los editores de texto), usando las explicaciones y sin incurrir en recomputación. En la práctica, esto ha sido sumamente costoso y hasta el momento no se han hecho implementaciones eficientes, salvo para problemas muy específicos. En un intento por mejorar este enfoque, en esta tesis, se propone un mecanismo para implementar, en forma eficiente, la Búsqueda Local Restringida, siguiendo un esquema basado en una heurística constructiva, en conjunto 17

18 con un sistema de Programación con Restricciones basado en propagación para resolver diversas instancias del BACP. 3.5 Heurísticas de selección de variables y selección de valores. Un algoritmo de búsqueda para la satisfacción de restricciones requiere el orden en el cual se van a estudiar las variables, así como el orden en el que se van a instanciar los valores de cada una de las variables. Seleccionar el orden correcto de las variables y de los valores puede mejorar notablemente la eficiencia de resolución. También puede resultar importante una ordenación adecuada de las restricciones del problema [Monfroy07]. A continuación se explica en que consisten estas heurísticas: Ordenación de Variables: Experimentos y análisis de muchos investigadores han demostrado que el orden en el cual las variables son asignadas durante la búsqueda puede tener un impacto significativo en el tamaño del espacio de búsqueda explorado. Generalmente las heurísticas de ordenación de variables tratan de seleccionar lo antes posible las variables que más restringen a las demás. La intuición es tratar de asignar lo antes posible las variables más restringidas y de esa manera identificar las situaciones sin salida lo antes posible y así reducir el número de vueltas atrás. La ordenación de variables puede ser estática y dinámica. a) Las heurísticas de ordenación de variables estáticas generan un orden fijo de las variables antes de iniciar la búsqueda, basado en información global derivada del grafo de restricciones inicial. b) Las heurísticas de ordenación de variables dinámicas pueden cambiar el orden de las variables dinámicamente basándose en información local que se genera durante la búsqueda. El problema de los algoritmos de ordenación estáticos es que ellos no tienen en cuenta los cambios en los dominios de las variables causados por la propagación de las restricciones durante la búsqueda, o por la densidad de las restricciones. Esto es porque estas heurísticas generalmente se utilizan en algoritmos de comprobación hacia atrás donde no se lleva a cabo la propagación de restricciones. Ordenación de Valores: En comparación, se ha realizado poco trabajo sobre heurísticas para la ordenación de valores. La idea básica que hay detrás de las heurísticas de ordenación de valores es seleccionar el valor de la variable actual que más probabilidad tenga de llevarnos a una solución, es decir identificar la rama del árbol de búsqueda que sea más probable que obtenga una solución. La mayoría de las heurísticas propuestas tratan de seleccionar el valor menos restringido de la variable actual, es decir, el valor que menos reduce el número de valores útiles. Resulta de suma importancia, entonces, el desarrollo de modelos de resolución guiados desde el punto de vista tanto de estrategias de ordenación de variables como también de valores, que permitan la generalización del modelo de resolución y su aplicación a diversos problemas del mismo tipo. Tradicionalmente la programación de restricciones ha tratado el estudio para un problema dado, de un modelo y una estrategia de resolución que generen 18

19 un árbol de búsqueda computacionalmente factible. Sin embargo, generalmente, estas estrategias aplicadas a problemas distintos ofrecen resultados muy pobres. 19

20 Capítulo 4 Colaboración de Técnicas para resolver el Problema de Diseño de Mallas Curriculares 4.1 Formulación del Problema. El BACP, propuesto inicialmente en [Castro01], consiste en diseñar un currículo académico balanceado mediante la asignación de periodos a cursos de una manera en que la carga académica de cada periodo sea balanceada, es decir, lo más similar posible. El currículum debe respetar las siguientes regulaciones administrativas y académicas: Currículo Académico: un currículo académico esta definido por un conjunto de cursos y un conjunto de prerrequisitos relacionados con estos. Número de periodos: los cursos deben ser asignados dentro de un número máximo de periodos académicos. Carga Académica: cada curso tiene asociado un número de créditos o unidades que representa el esfuerzo académico requerido para el éxito de este. Prerrequisitos: varios cursos tienen otros cursos como prerrequisitos. Carga Académica Mínima: se requiere un número mínimo de créditos por periodo para considerar a un estudiante de tiempo completo. Carga Académica Máxima: un número máximo de créditos por periodo que no debe ser sobrepasado. El objetivo es asignar un periodo para todos los cursos de modo que se satisfacen las restricciones de número mínimo y máximo de cursos para cada periodo, y las relaciones de prerrequisitos. Un currículo balanceado óptimo minimiza la carga académica máxima de todos los periodos. Se pueden considerar otros tipos de criterio de balanceo como minimizar la suma de la carga académica de todos los periodos. Se asume que una carga académica balanceada favorece los hábitos académicos y facilita el éxito de los estudiantes. A continuación, se presenta un modelo de Programación Entera para el problema de balanceo de un currículo académico [Castro01, Hnich02]: Parámetros: Sean i) m: Número de cursos ii) n: Número de períodos académicos. iii) α i : Número de créditos del curso i; i = 1,,m. iv) β: Carga académica mínima permitida por periodo. v) γ: Carga académica máxima permitida por periodo. 20

21 vi) δ: Cantidad mínima de cursos por periodo. vii) ε: Cantidad máxima de cursos por periodo. Variables de decisión: Sean 1 si el cursoi es asignadoal periodo j i = 1,... m j = 1,..., n i) x ij = 0 en otrocaso ii) c j : la carga académica del periodo j iii) c: la máxima carga académica para todos los periodos c = Max{ c,..., } iv) La carga académica del periodo j esta definida por: c j = m i= 1 α x i = 1,..., m i ij 1 c n Función Objetivo: Min c Restricciones: i) Todos los cursos i deben ser asignados a un periodo j: n j= 1 x ij = 1 i = 1,..., m ii) El curso b tiene un curso a como prerrequisito: x bj j 1 xar r= 1 j = 2,..., n iii) La carga académica máxima esta definida por: { c } c = Max,..., Esto puede ser representado por el siguiente conjunto de restricciones lineales 1 c n c j c j = 1,..., n iv) La carga académica del periodo j debe ser mayor o igual que el mínimo requerido: c j β j = 1,..., n v) La carga académica del periodo j debe ser menor o igual que el máximo requerido: c j γ j = 1,..., n vi) El número de cursos del periodo j debe ser mayor o igual que el mínimo requerido: 21

22 m i= 1 x ij δ j = 1,..., n vii) El número de cursos del periodo j debe ser menor o igual que el máximo requerido: m i= 1 x ij ε j = 1,..., n 4.2 Estrategias de Enumeración. En [Monfroy07] se consideran 12 estrategias estáticas básicas de enumeración (estrategias que generalmente son utilizadas para todo el proceso de resolución, pero que aquí son parte de la estrategia híbrida) basadas en 3 criterios de selección de variables: Min selecciona la variable con el dominio más pequeño (según el orden de declaración de las variables en el problemas si existen 2 con el mismo tamaño de dominio) Mcon es la selección de la más restringida, es decir, selecciona la (primera) variable que aparece en el mayor número de restricciones. Ran selecciona aleatoriamente una variable que no ha sido instanciada. Los criterios de selección de variables son combinados con criterios de selección de valores (Min, Mid, Max y Ran) seleccionando respectivamente el valor mínimo, el mediano, el máximo y un valor aleatorio para la variable seleccionada. Por combinación de los criterios de selección de variables y valores, se obtienen 12 estrategias de enumeración llamadas Var seleccion Val seleccion. Por ejemplo, MinRan es la estrategia de enumeración que selecciona aleatoriamente un valor en la variable con el dominio más pequeño. La propuesta en este trabajo es diferente, basándose en las estrategias de selección de variables mencionadas antes, se quiere guiar el proceso de resolución mediante una estrategia de selección de valores inspirada en búsqueda local considerando como referencias los resultados de la investigación en este campo en [Solnon02, Khichane06, Monfroy06]. En el caso de selección de variables estas se instanciarán según el orden en el que aparecen Búsqueda Local. El término local se emplea con bastante frecuencia en los estudios teóricos y prácticos del campo de las metaheurísticas de búsqueda. Las estructuras de entorno suelen reflejar algún concepto de proximidad o vecindad entre las soluciones alternativas del problema. Por tanto, el análisis del entorno de la solución actual en el recorrido de búsqueda para decidir como continuarla, representa un estudio local del espacio de Búsqueda. Las metaheurísticas 22

23 de búsqueda local establecen pautas de selección de la solución del entorno a la solución actual, dando lugar a búsquedas locales heurísticas con alto rendimiento. Las búsquedas locales no informadas sólo tienen en cuenta la estructura de entornos para guiar la búsqueda. Las búsquedas monótonas utilizan la evaluación de la función objetivo para admitir sólo cambios en la solución actual que supongan una mejora. Por tanto, las búsquedas locales monótonas quedan atrapadas al llegar a una solución que no admite mejora dentro de su entorno. Las búsquedas globales emplean diversos métodos para escapar de esta situación. Mientras que los métodos completos pueden demostrar que un problema no tiene solución (la exploración exhaustiva del espacio de búsqueda), los métodos incompletos serán ineficaces en aquel caso. Sin embargo, se adaptan muy bien a grandes aplicaciones ya que se basan principalmente en aquellas heurísticas que proporcionan una exploración más eficiente de las áreas interesantes del espacio de búsqueda. Esta clase de métodos (antes mencionados como metaheurísticas) cubre una amplia gama de algoritmos evolutivos para búsqueda local. Las técnicas locales de búsqueda, por lo general, apuntan a la solución de problemas de optimización. En el contexto de satisfacción de restricciones, estos métodos reducen al mínimo el número de restricciones violadas para encontrar una solución del CSP. Un algoritmo local de búsqueda (ver Figura 2), comenzando de una configuración inicial, explora el espacio de búsqueda mediante una secuencia de movimientos. En cada iteración, el siguiente movimiento corresponde a la elección de uno de los supuestos vecinos. Esta vecindad a menudo corresponde a pequeños cambios en la configuración actual. Los movimientos son dirigidos por una función objetivo (función de fitness, f sobre la figura) que evalúa sus beneficios desde el punto de vista de optimización, para alcanzar un grado óptimo local. El algoritmo se detiene cuando se encuentra una solución o cuando se alcanza un número máximo de iteraciones. Selecciona s Є S (una configuración inicial) opt s (registra la mejor configuración) MIENTRAS no termine HACER Selecciona s un vecindario de s s s (mover a s ) opt s si f(s) > f(opt) (en caso de maximizar) Fig. 2 Un algoritmo de búsqueda local genérico. 4.3 Utilizando Métodos de Mejora (Improvement Methods) para guiar el proceso de resolución. Un Método de Mejora Iterativa (iterative improvement method 1 ) es un método de búsqueda que comienza con una solución inicial y trata de mejorar esta solución mediante modificaciones locales. Hay muchos tipos de problemas, principalmente problemas de optimización como el vendedor viajero, la mochila, o problemas de 1 Iterative improvement method aún no es un concepto estandarizado y otros nombres para este concepto en la literatura son: stochastic technique, repair-based approach, local search, o perturbation technique. 23

24 planificación (a esta familia pertenece el problema de balanceo de mallas curriculares) que pueden resolverse con métodos de mejora iterativa. Para problemas de planificación, la planificación inicial se puede construir al azar o con algún otro método constructivo simple. También puede ser construido por un humano u otro proceso de planificación. Se ha utilizado mejora iterativa para reaccionar a los acontecimientos imprevistos en una tienda [Dom93a]. Aquí, el evento provoca una nueva violación de una restricción que conduce a un deterioro de la evaluación de la planificación. Luego, las búsquedas locales reparan la planificación. En [Dom94a] se han descrito sistemas de planificación de diferentes plantas, que tienen que cooperar. En este sentido, un sistema genera una planificación y el segundo sistema aplica el método de mejora iterativa en esta planificación para la construcción de una nueva planificación que se ajuste mejor a sus restricciones propias. Además, tal método de mejora iterativa puede ser usado para hacer más flexible la interacción con el usuario, porque el usuario puede manipular la planificación actual mediante la publicación de nuevas restricciones [Dom94b]. Para modificar los horarios deben ser definidos los operadores. La aplicación de un operador resulta en una planificación vecina. Si existen varios operadores, algún procedimiento debe decidir qué operador se aplicará para lograr una modificación. Esta decisión puede ser por casualidad o con algún método look ahead que permite la selección de los mejores vecinos. Para decidir si se consigue una mejora mediante una modificación, debe ser posible la comparación de las planificaciones mediante una función de evaluación. Un algoritmo simple de hill climbing aceptará sólo las planificaciones que tienen una mejor evaluación. Lamentablemente, por lo general los problemas de planificación tienen muchas soluciones que difieren en su calidad y las buenas soluciones no son vecinos directos. Por lo tanto, un método de búsqueda que se basa en mejoras locales puede quedar fácilmente atrapado en un óptimo local. Una característica importante de todos los métodos de mejora iterativa es, por lo tanto, la capacidad de escapar de esos óptimos locales. Sin embargo, esta capacidad, con la probabilidad de búsqueda en ciclos, plantea la necesidad de algún tipo de control para evitar los ciclos. Los componentes de un método de mejora iterativa son un esquema de representación para el problema dado, una función de evaluación que asigna un valor a cada solución, un conjunto de los operadores que se pueden aplicar para modificar una solución y, por último, un algoritmo de control para la búsqueda de mejoras. El boceto del siguiente algoritmo representa, muy cercanamente la estructura general de un algoritmo para un método de mejora iterativa 2. El algoritmo se compone de dos bucles: El bucle exterior describe la búsqueda de la mejor solución y el bucle interior la búsqueda para la próxima mejora. Las principales diferencias entre los diferentes 2 Algunas veces los métodos de mejora iterativa se basan en sólo un bucle (interior). Entonces, el algoritmo no entregará siempre la mejor solución encontrada hasta el momento. Además, algunos algoritmos (como los genéticos) mantienen un conjunto de soluciones. Por lo tanto, el esquema dado es muy abstracto. 24

25 algoritmos, que se presentarán en el próximo capítulo son los procedimientos de modificación y la función de aceptación de soluciones. iterative_improvement; s := initialsolution(); repeat {iterative improvement} sbest := s; repeat {improvement} s' := modify(s); if acceptable(s', s) then s := s'; until better(s, sbest); until stopping_criteria Fig. 3. Un algoritmo general de mejora iterativa. Una importante decisión de diseño para la eficiencia de un método de mejora iterativa es el equilibrio adecuado entre la dirección de la búsqueda del óptimo global y la cantidad de trabajo invertido para seleccionar un operador. El número de pasos (mejoras y también modificaciones) desde la solución inicial a la mejor solución que se puede encontrar será menor si más información se utiliza para modificar una solución. Esta información debe ser adquirida por inferencias simples, porque una técnica de look ahead exhaustiva toma demasiado tiempo para los problemas de tamaño real. Además, la mejor mejora local puede conducir a un óptimo local. En la completa falta de conocimiento a menudo se aplican técnicas estocásticas. Entonces es necesario poco tiempo para seleccionar un operador de modificación, pero esto conduce a la desventaja de que la búsqueda puede tomar más tiempo, porque también se aceptan modificaciones que no conducen directamente a la solución óptima. Con el aumento de la aleatoriedad se debe tratar de hacer que las partes deterministas como la modificación de las soluciones y su evaluación sean lo más simple posible para permitir examinar más soluciones. La segunda cuestión importante es la capacidad para escapar de óptimos locales. Se pueden observar en los métodos existentes dos estrategias generales. Algunos métodos realizan hill climbing hasta que la búsqueda es atrapada. Luego, se utilizan los métodos que permiten un escape. La segunda estrategia primero soporta la diversidad para buscar, más aleatoriamente, en todo el espacio las buenas soluciones y, a continuación, se intensifica la búsqueda para encontrar una solución óptima. Métodos más elaborados intentan cambiar entre búsqueda intensiva y diversificada, lo que puede lograrse con algunos modelos probabilísticos o con conocimientos adicionales Representación. Los problemas de planificación simples consideran sólo secuencias de operaciones en una máquina. Estos se pueden representar mejor como una lista ordenada o, más eficazmente, para las modificaciones como un conjunto de operaciones. Ambas estructuras de datos también pueden contener horas de inicio, duración, etc. Para problemas 25

26 complejos con más máquinas y otros recursos, se han hecho diferentes propuestas para representar la planificación. En investigación de operaciones a menudo se utilizan Grafos Disyuntivos [Balas69], [Roy64] como un formalismo para representar la información necesaria temporal de un problema de planificación con diferentes máquinas diferentes. Un Grafo Disyuntivo D = (N, Z, W) consta de un conjunto de N nodos en representación de las operaciones que vayan ser realizadas, un conjunto de arcos dirigidos Z para describir las restricciones de precedencia entre las operaciones y un conjunto de bordes disyuntivo W para restringir las operaciones que no se deben superponer. Normalmente, los bordes disyuntivos se utilizan para representar los conflictos de recursos, también se utilizan para describir que entre dos operaciones de un trabajo no existe secuencia. El siguiente grafo es un pequeño ejemplo. En el ejemplo de tres trabajos J 1, J 2 y J 3 se han planificado en tres máquinas M 1, M 2, M 3 que sólo pueden procesar una operación a la vez. El grafo contiene dos nodos adicionales un fuente y un sumidero que son requeridos por el algoritmo para determinar el camino crítico. Fig. 4. Grafo Disyuntivo representando un problema de asignación de trabajos con 3 trabajos y 3 maquinas. En enfoques de IA, muchos investigadores siguen las ideas de Fox [Fox87] de utilizar algún tipo de representación orientada a objetos con la capacidad de heredar propiedades de una superclase a una subclase (por ejemplo, la representación de todos los recursos puede ser descrita en una superclase y cada subclase describe sólo las propiedades de las máquinas que las distinguen de otros recursos). Se debe distinguir objetos del dominio como una máquina y los objetos que se utilizan para resolver el problema de planificación como el programa, es decir, la asignación de las máquinas en el tiempo. La representación de objetos del dominio mediante la orientación a objetos parece ser muy natural. Interesante, pero muy complejo es la realización de la idea de definir una asignación de un recurso como un objeto que es básicamente una tripleta de recursos, funcionamiento, e intervalo temporal. Por ejemplo, esto fue aplicado en el proyecto CRONOS [Canzi93]. Para un método de planificación donde muchas modificaciones se realizan en un programa, esto significa que son necesarias muchas creaciones y eliminaciones de objetos en el tiempo. Si tal representación es elegida para un método de mejora iterativa, los operadores deben ser sofisticados para reducir el número de creaciones de objetos. 26

27 Dado que el objeto jerarquía no suele ser importante para los problemas de asignación y secuenciación, una representación plana basada en restricciones parece ser más adecuada para los aspectos dinámicos de un problema de planificación. Básicamente, las restricciones son relaciones entre objetos o atributos de objetos que definen propiedades deseables o requeridas. A pesar de que las restricciones y los atributos restringidos pueden ser modelados como objetos en una representación orientada a objetos, la más eficiente representación parece ser un grafo de restricciones almacenadas en una estructura de memoria dinámica. La herencia y la encapsulación de estos enlaces dinámicos es una sobrecarga que puede evitarse. Como fue definido en la sección 3.2, un problema de satisfacción de restricciones (CSP) es generalmente modelado por un conjunto de variables donde cada variable tiene asignado un dominio de valores posibles. Una variable típica en un problema de planificación es la hora de inicio y la duración de una operación. Si la operación tiene una fecha de liberación y de vencimiento, el dominio de esta variable será restringido por dos restricciones unarias. A menudo restricciones adicionales de precedencia demandan que la hora de término de una operación sea anterior a la hora de inicio de otra operación. Esto puede ser fácilmente expresado con una restricción binaria. A veces también son necesarias restricciones n-arias. Por ejemplo, se podría restringir el consumo de energía de n operaciones a ser menor que algún valor e. Una solución a un problema de satisfacción de restricciones es una asignación de un valor a cada variable tal que las restricciones no son violadas. Meseguer [Meseguer89] da una visión de un conjunto de algoritmos para encontrar solución a un CSP. Prosser [Prosser93] ha examinado varias de estas técnicas para resolver problemas de planificación. Por lo general, técnicas de pre-procesamiento como ordenación de variables, forward checking o propagación de restricciones se aplican para mejorar los algoritmos. Sin embargo, en la literatura sólo se proponen técnicas para restricciones binarias y como se dijo por Prosser, problemas de tamaño real siguen siendo demasiado complejos para ser resueltos por estos métodos. Algoritmos más específicos se han desarrollado para restricciones temporales [Dom92], [Dom94b]. Estas técnicas pueden usarse para comprobar la factibilidad de horarios [Dom93b], pero son todavía demasiado complejas para problemas de secuenciación. Además, se tiene que ver que la planificación no es usualmente tanto un problema de encontrar un programa factible (es decir, un programa sin violación de restricciones), sino un problema de optimización de uno o más criterios. A veces se propone para modelar esta optimización varias llamadas a un solver de problemas de satisfacción de restricciones con diferentes restricciones para la función de optimización [Nuijten93]. A la luz de la complejidad del CSP, no parece buena solución y una asunción implícita es el supuesto de que existe sólo una función de optimización discreta. A menudo, sin embargo, existen objetivos conflictivos de valor real en las aplicaciones industriales. Otra propuesta fue hecha por Bakker [Bakker93]. Se propone un exceso de restricciones al problema y luego aplicar técnicas de modelado basadas en diagnosis para encontrar una relajación tal que el problema se puede resolver. Lamentablemente, encontrar una diagnosis mínima esperada, en este caso, es un problema NP-completo. 27

28 Como conclusión se puede decir que la representación de problemas industriales complejos de planificación por un formalismo de restricciones es prometedora debido a su expresividad, pero no se puede esperar una solución al problema. La secuenciación de las operaciones debería ser objeto de, por ejemplo, un método de mejora iterativa. Las técnicas de consistencia, como son conocidas en la literatura de CSP, pueden entonces ser de apoyo al método de mejora iterativa para el control de la factibilidad del nuevo programa Función de Evaluación. Una función de evaluación asigna costo a una planificación determinada. Por lo general, la función se expresa de manera que el objetivo es reducir al mínimo la misma. Por lo tanto, se trata de encontrar un programa que termina todas las operaciones tan pronto como sea posible o con el menor monto posible de capital. En teoría, una diferencia regular e irregular de funciones de evaluación [French82]. La mayoría de las veces se utilizan las funciones regulares que implican que el retraso de una operación nunca puede disminuir la evaluación. Una típica evaluación regular es la makespan, es decir, el tiempo necesario para llevar a cabo todas las operaciones. En este caso, el objetivo es encontrar un programa que tenga el mínimo makespan. Si se modifica la secuencia de las operaciones en el programa en virtud de este criterio de optimización, cada operación puede ser desplazada a la izquierda en la medida de lo posible mientras la función de evaluación sea regular. El valor de makespan de la nueva secuencia se puede calcular localmente. Una función irregular de evaluación implica que el cambio hacia la izquierda no llevará necesariamente al mejor programa para la secuencia dada. Por ejemplo, Sadeh y Nakakuki [Sadeh94] minimizan los costos de inventario y la lentitud. El costo de inventario se define como la diferencia entre la hora de vencimiento y la hora de inicio de la primera operación de un trabajo. Esta combinación de objetivos es irregular porque los costos a veces se reducen si la hora de inicio de un trabajo se retrasa. A veces los efectos de una modificación no puede limitarse al entorno local y la función de evaluación debe ser calculada totalmente de nuevo. Si en una fase de post-procesamiento una nueva serie de intervalos de configuraciones o de mantenimiento deben ser determinados, la evaluación debe ser calculada siempre de nuevo [Dom94c]. En algunos proyectos en la industria del acero, se tiene más conciencia de que a menudo los expertos no pueden dar restricciones exactas. Entregan por lo general muy fuerte límites, porque tienen miedo de que si entregan estas restricciones relajadas el sistema que se construirá siempre tomará estos límites más bajos. Sin embargo, con estos fuertes límites, el problema esta sobre restringido. Cuando se relaciona como resuelven el problema, a menudo se puede ver una fuerte relajación de las restricciones. Normalmente se hace sin importar si la fecha de vencimiento es violada por algunos minutos. Con frecuencia, la penalización por violar una fecha de vencimiento es proporcional al tiempo de retraso. Una posibilidad para modelar el grado de violación de estas restricciones es por conjuntos difusos [Dom94d]. Con este modelo no binario es necesaria la decisión de si una restricción se cumple. 28

29 Otros dos objetivos importantes con la planificación reactiva son la robustez y la reducción al mínimo de modificaciones. La primera es una medida de cómo el programa permanece robusto bajo potenciales perturbaciones en la base de la planificación. Un programa que no debe ser cambiado si ocurre algún evento inesperado es más robusto que uno que debe ser cambiado. Una minimización de modificaciones se convierte en importante si la planificación reactiva se hace necesaria. Si hay otras plantas de relevo en el programa, el programa debe ser reparado con tan pocas modificaciones como sea posible. En [Dom93a] se muestra cómo estos objetivos se pueden incorporar en una función de evaluación. La minimización de las modificaciones es también un objetivo en el sistema de GERRY [Zweben92]. A menudo, la planificación es un proceso dinámico: nuevos trabajos se introducen y algunos trabajos finalizan. A veces no todos los trabajos son previstos, pero existe una lista de trabajos restantes no planificados. Si un sistema de planificación no tiene que programar todos los trabajos, esto se traduce muy probablemente en que varios trabajos difíciles restan en la lista de trabajos no planificados. Para evitar esto, podemos asignar una penalización a los trabajos que no están programados. Por lo tanto, la evaluación de la planificación no será tan buena si los trabajos difíciles no son planificados. Del mismo modo se puede modelar la importancia de los trabajos. Para encontrar una función de evaluación realista para un problema multi-criterio, deben ser introducidos coeficientes de ponderación para diferentes restricciones y objetivos. Por lo general, restricciones de fecha de vencimiento son de peso no tan importante como aspectos que conducen a una mala calidad de los productos. Además, se tiene que decidir si se destacaron grandes violaciones o no. A veces el lugar de la demora de los trabajos se agrega como una función de costos. Esto significa que se prefiere un programa con muchos pequeños retrasos. A veces esto puede favorecer un programa que tiene un trabajo muy tarde, pero todos los demás trabajos en el tiempo. Especialmente para la toma de decisiones difusa, un lote de tales funciones de agregado que también fueron examinadas para planificación se define en [Slany94] Modificación del Programa. Para buscar un programa mejorado se tiene que modificar el programa existente. Dado que el principal problema en la planificación es el problema de secuenciación, la mayoría de los operadores influyen en la secuencia de los trabajos o de las operaciones. Se pueden interpretar todos los programas que pueden ser generados a partir de una planificación S como un conjunto de vecindarios N(s) que puede ser alcanzado mediante la aplicación de un operador o de un conjunto de posibles operadores O s : N(s) = {s' o O s : S' = s o} 29

30 Uno de los más sencillos operadores en planificación es el intercambio de trabajos u operaciones adyacentes en un programa. Si hay n ítems programados, esto significa que se pueden construir n - 1 vecinos. Si se permite el intercambio de dos elementos existen n * (n - 1) / 2 vecinos. Para problemas de planificación dinámica, es posible también un intercambio de trabajos, en el programa, que aún no se han planificado. Otro operador muy sencillo es tomar un ítem desde una posición p 1 de la lista y colocarlo entre otros dos ítems en un lugar p 2 y el intercambio de todos los ítems entre P 1 y P 2. Estos son todos los operadores que se pueden encontrar en la literatura. El dilema en el diseño de los operadores es que, por un lado, los operadores deben ser tan sofisticados como sea posible y, por otro lado, no deberían ser tantos los vecinos que pueden ser generados a partir de los operadores, porque de otro modo existen muchas alternativas. Se deben diseñar operadores tal que se pueda alcanzar una mejora en un paso, pero esto puede significar que se deben evaluar muchos operadores candidatos. También se ha experimentado con operadores que mueven varios trabajos al mismo tiempo. Dado que el número de operadores de tales grupos es exponencial y no se pueden generar todos los vecinos, esto no puede ser un acercamiento general. Se han logrado buenos resultados al reducir los operadores utilizando la heurística de reparación del mayor conflicto [Dom94d]. Una modificación de un programa factible por un operador puede resultar en un programa infactible en el caso de que sean violadas varias restricciones duras. Hay tres posibilidades de reaccionar sobre esta modificación: dar una evaluación baja a un programa inviable, eliminar este tipo de operadores del conjunto de los posibles operadores, o generar a partir de un programa inviable uno factible con una técnica de post-procesamiento. La primera posibilidad puede ser costosa si se generan muchos programas inviables. Teóricamente, sería posible que el mejor programa encontrado todavía viole restricciones duras difíciles. La asignación de costos muy elevados a la violación de restricciones duras puede bloquear el camino a la solución óptima. Por lo tanto, se tiene que diseñar una función de evaluación muy cuidadosamente a fin de que las violaciones a restricciones duras no permanezcan en la solución óptima, pero puedan ocurrir en el camino hacia la solución. El esfuerzo de la segunda posibilidad depende de si se puede decidir la infactibilidad de un vecino sin construirlo explícitamente. Si se puede decidir sólo mirando el operador los costos serán bajos. Sin embargo, hay instancias de problemas donde la prohibición de soluciones inviables bloquearía el camino a la solución óptima. El esfuerzo de la tercera posibilidad depende de la técnica que sea necesaria para la construcción de un programa factible. Por ejemplo, en un programa semi-activo, la hora de inicio de las operaciones puede ser determinada por un algoritmo del camino crítico [French82]. A menudo, este esfuerzo de post-procesamiento es lineal, pero a veces también es polinómico. A veces, pueden existir varias posibilidades para construir una solución factible. Si se aplica 30

31 un algoritmo determinista entonces algunas soluciones nunca se alcanzarán. Sadeh y Nakakuki [Sadeh94], por lo tanto, utilizan un operador adicional que cambia las operaciones en lugar de cambiar el orden. La decisión final por una de estas posibilidades dependerá de la aplicación y los operadores que se definan. Si es probable que sean generados muchos programas inviables, el esfuerzo para evaluar un nuevo programa es alto, y hay un método para construir un programa factible a partir de uno inviable y, a continuación, entonces parece ser prometedor ajustar el programa. En [Dom94c] las operaciones de configuración y mantenimiento se añaden nuevamente después de cada modificación de la secuencia de operaciones. Por otra parte, no siempre es posible lograr un programa factible sin cambiar el orden de los trabajos. En la aplicación descrita en [Dom94d], donde las restricciones de compatibilidad desempeñan un papel dominante en muchas secuencias, esto no está permitido. Cuando hay muchos programas inviables en la aplicación, un método de mejora iterativa debe aceptar también los programas inviables, porque de otro modo podría ser que no hay camino para la solución óptima. El número de vecinos de un programa depende del tamaño del problema de planificación y del número de operadores definido. Para un pequeño número de vecinos es posible evaluar todos los vecinos y continuar entonces con el mejor. Para problemas más grandes, esto será ineficientes, Zweben [Zweben92] ha evaluado los costos de aplicación de tales procedimientos look ahead y ha reportado una degradación del rendimiento. El método usual ahora es seleccionar en forma aleatoria los operadores y entonces decidir si esta modificación es aceptable. Las técnicas de mejora se consideran ineficiencias en el programa actual para decidir esto. La "reparación" de tales ineficiencias se puede considerar como una meta-heurística para métodos de mejora iterativa que se focalizan sólo en subconjuntos de los operadores evaluados. La heurística min-conflicts [Minton90] es un tipo de estrategia de reparación que reasigna la variable en un problema de satisfacción de restricciones que está involucrada en la mayoría de las restricciones violadas. La heurística trata entonces de seleccionar una asignación con menos violaciones que la original. Esta heurística se ha combinado con un hill-climbing simple para hallar una solución para el problema del Telescopio Espacial Hubble. Zweben [Zweben90] adopta un enfoque similar, pero aplica con cada reparación un algoritmo de arco-consistencia para las restricciones temporales. Sadeh y Nakakuki [Sadeh94] inflan los costos asociados con las mayores ineficiencias de un determinado programa. Por lo tanto, se hace más probable que estos algoritmos modifiquen el programa en estos lugares. 4.4 Optimizando Programas por Mejoras Iterativas. Hay varios algoritmos que pueden utilizarse para mejorar iterativamente un programa. Las principales diferencias entre ellos son la selección de los operadores y los criterios de aceptación. Los algoritmos pueden ser ordenados por la cantidad de aleatoriedad que está involucrada en estos aspectos. Para el propósito de comparación 31

32 se plantea la aplicación de un algoritmo que selecciona los operadores puramente aleatorios [Dom94c]. Si bien este tipo de algoritmo optimiza mucho el programa, otros algoritmos que aplican más conocimiento tienen un mejor rendimiento. Por el contrario, uno también puede aplicar algoritmos de búsqueda deteterministicos para una mejora. El primer método que será descrito a continuación es un algoritmo que se limita a clases de problemas muy específicos. Sin embargo, su ventaja es que garantiza una solución óptima si se agota el tiempo. El segundo algoritmo busca exhaustivamente una mejora por profundización iterativa. En teoría, este algoritmo también puede encontrar la solución óptima, pero esto es prácticamente imposible. En 1988, algunos investigadores de la comunidad de IO habían identificado los siguientes tres métodos de optimización como los más prometedores para aplicaciones prácticas [Com88]. Tabu Search, el tercer método, aunque principalmente determinista, también puede ser enriquecido con algunas técnicas estocásticas. El cuarto método que se describe es Simulated Annealing que selecciona al azar un operador y la posibilidad de aceptar una modificación se decide con un modelo de probabilidad, también. Por último, se presentan los algoritmos genéticos como un método de optimización. Este método es ligeramente diferente a los otros métodos porque siempre se mantienen un número de soluciones al mismo tiempo Grafos Disyuntivos. Uno de los primeros algoritmos que pueden clasificarse como método de mejora iterativa, es el que se describe por Balas [Balas69]. Él usa un grafo disyuntivo para representar el problema de planificación y optimiza el makespan por inversión de bordes con un algoritmo de enumeración implícita. Un programa factible contiene sólo los bordes y no tiene ciclos. Es creado un primer programa seleccionando para cada borde disyuntivo una dirección. El conjunto de todos los bordes elegidos se llama selección. Para obtener un primer programa factible, todas las operaciones están ordenadas aleatoriamente, y siempre se elige la dirección que conduce desde la primera operación a la segunda. Una modificación de dicho programa es la inversión de uno de estos bordes elegidos. El algoritmo se basa en la idea de que un borde en el camino crítico debe ser invertido para encontrar un programa que tiene un makespan más corto que un programa dado. Evidentemente, el camino crítico (la más larga cadena de operaciones) es en cierto sentido, el conjunto de restricciones violadas que causa un largo makespan. Además, si un borde en el camino crítico se invierte se demuestra que el nuevo grafo no tiene ciclos. Si se crea un nuevo programa, se debe determinar la nueva ruta crítica. Esta nueva ruta crítica, y también su duración, puede ser fácilmente calculada a partir de la transformación de Balas; almacena en cada nodo el camino más largo (crítico) hacia la fuente y al sumidero. Para cada borde en el camino crítico ahora se pueden examinar los costos de un vecino con un pequeño esfuerzo. El algoritmo de búsqueda usa un árbol con los programas como nodos. Un nodo es expandido si un mejor programa 32

33 se puede construir invirtiendo un borde disyuntivo. Se puede elegir el mejor vecindario y Balas ha demostrado también un criterio para cortar algunas ramas del árbol de búsqueda. La búsqueda puede ser interrumpida en cualquier momento y siempre ofrecer una solución viable para lograr así las características de un algoritmo en cualquier momento [Boddy89]. En un artículo posterior [Adams88], en el procedimiento de cambio de cuello de botella se presentan las secuencias de primeras máquinas que son reconocidas como cuello de botella. Las máquinas son secuenciadas en un momento, consecutivamente. Para cada máquina, que todavía no se ha secuenciado se resuelve el problema de secuenciación de una única máquina por consistencia de las restricciones procedentes de las máquinas que ya están programadas y las operaciones que se han programado en esta máquina. Debido a que este algoritmo tiene muy buen rendimiento sobre problemas con muchas máquinas, es a menudo utilizado como un estándar de comparación. La ventaja del algoritmo frente a otros, que se presentarán más tarde, es que finalmente encuentra la solución óptima si hay suficiente tiempo disponible. Sin embargo, hay que destacar que este algoritmo es sólo aplicable a problemas donde el flujo del tiempo o makespan se minimizará Profundización Iterativa. El primer intento para un método general de mejora iterativa que no es tan restringido como el enfoque anterior y es capaz de escapar del óptimo local, podría ser un enfoque que busca en forma exhaustiva, en cada paso, una mejora. Se ha aplicado la estrategia de profundización iterativa primero en profundidad (depth-first iterative deepening) [Korf85] en algunos experimentos. La idea de esta estrategia es combinar las ventajas de la búsqueda primero en amplitud (el camino más corto a una mejora) y vuelta a atrás (backtracking) (no se almacenan en árbol de búsqueda). En un primer intento se hace una búsqueda hasta profundidad uno y si no se encuentra una mejora, se lleva a cabo una búsqueda con backtrack de profundidad dos. Este límite de profundidad iterativa se aumenta hasta que se encuentra una mejora. Por supuesto, cada estrategia exhaustiva de búsqueda tiene sus límites. Si existen demasiados operadores que se pueden aplicar, el esfuerzo de búsqueda es intratable. Se ha aplicado este método para compararlo con otros métodos con tal enfoque determinista y es sorprendente que se hayan obtenido muy buenos resultados. Desde que se ha combinado el método con heurísticas para reparar siempre la mayor violación de restricción, el número de operadores no ha sido tan grande y ha superado, por ejemplo, el enfoque de algoritmos genéticos. Además, parece prometedor combinar esta estrategia de búsqueda más fuerte con la función de evaluación. Con IDA* [Korf85] también existe un algoritmo que combina las ventajas del algoritmo A* y backtracking. Si se aplica como combinación se permite primero hacer una búsqueda en una dirección en que parece ser más probable una mejora. 33

34 4.4.3 Tabu Search. Tabu Search es un método de búsqueda inspirado en gran medida en la investigación en ciencia cognitiva [Glover89] y [Glover90]. Una de las principales ideas es un proceso dinámico de memoria que almacena los atributos de las anteriores soluciones del proceso de búsqueda. En una memoria de corto plazo son almacenadas las características de las soluciones recientes a fin de evitar retrocesos o ciclos en la búsqueda. Una memoria de largo plazo se utiliza para definir las fases de intensificación y diversificación de la búsqueda. Por lo tanto, si una región del espacio de búsqueda se examinó intensivamente sin encontrar soluciones mejores, la memoria a largo plazo puede cambiar los parámetros para orientar el proceso de búsqueda a regiones distintas. Se requieren varios conceptos para cumplir con este comportamiento. Una amplia gama de problemas de planificación ya se han resuelto con búsqueda Tabú. Barnes [Barnes93] entrega una visión general de algunas de estas soluciones y [Glover93] contiene una colección de artículos sobre problemas de planificación que se resolvieron con búsqueda Tabú. Los primeros acercamientos de búsqueda Tabú han investigado todo el vecindario [Widmer89], sin embargo, en aplicaciones industriales reales esto no es posible. En consecuencia, más tarde se aconsejó formar primero muestras de operadores y luego examinar la totalidad de la muestra para seleccionar la mejor modificación [dewerra89]. Laguna [Laguna91], aplica por ejemplo intercambio de operadores y limita la distancia entre dos trabajos que se intercambian para que sea más pequeña que algún valor d. Se ha utilizado la estrategia para reparar el conflicto más grande en una planificación para formar una muestra [Dom94c]. Si, por ejemplo, un trabajo es tarde, sólo se intentan operadores que mueven ese trabajo a otro lugar. Para escapar del óptimo local es también posible seleccionar un operador que lleve a una planificación con una peor evaluación. Para evitar los ciclos de búsqueda, se introduce una lista tabú que contiene los atributos de las anteriores soluciones. Si una nueva planificación se considera que coincide con uno de estos elementos de la lista tabú, este movimiento es tabú y se busca el siguiente mejor vecino. Teóricamente, se podría almacenar un conjunto de planificaciones en la lista tabú para que sea tabú. Dado que esto consumiría demasiado espacio y tiempo, sólo se almacenan algunos atributos de una antigua planificación. Ahora puede ocurrir que sea generada una nueva planificación de la cual se ha almacenado atributos, pero que además sea diferente a la antigua. Para permitir en determinadas condiciones, el reescribir el estado tabú de un atributo, se puede introducir una condición de nivel de aspiración. Una condición típica es que sea encontrada una nueva mejor solución. Los atributos almacenados deben caracterizar la solución lo mejor que sea posible. Por lo tanto, parecen ser adecuados diferentes atributos para aplicaciones específicas. Por otra parte, Glover [Glover90] propone almacenar 34

35 distintos atributos para lograr una mayor flexibilidad. Atributos prometedores para la aplicación de una planificación son: Si se intercambian dos trabajos en un plan, se almacenan estos trabajos y sus antiguas posiciones en el plan, para permitir la prohibición de que en un futuro próximo estos trabajos se colocan de nuevo en sus lugares originales. Si dos trabajos no se ajustan cada uno después del otro y uno de ellos se mueve, se puede almacenar la antigua secuencia de ambos como una constelación tabú. Se almacena un tipo de función hash para todo el plan. La lista tabú simulando una memoria a corto plazo humana tiene una duración limitada y generalmente es implementada como un espacio de anillo. Glover recomienda limitar este a siete entradas. Con esta restricción de longitud será posible para el caso de almacenar la posición original de los trabajos que, después de siete modificaciones, vuelvan a su posición original en el plan. Se pueden definir listas tabú con diferentes longitudes para los tres atributos: valor de hash, antigua secuencia de trabajos y antigua posición de los trabajos. La lista tabú para los valores de hash debe ser la más larga para prohibir por un largo tiempo el retorno a una solución antigua. En contraste, la lista con las antiguas posiciones deben ser relativamente corta, porque esto puede provocar repeticiones de las mejores soluciones. Una posibilidad para tener una diversificación de la búsqueda es cambiar la longitud de la lista tabú dinámicamente. Con una lista más larga más operadores serán tabú y como resultado habrá una búsqueda en diferentes regiones, por lo tanto, así se logra una diversificación. Si se encuentra alguna otra buena solución que difiere considerablemente de las antiguas buenas soluciones, la longitud de la lista tabú puede reducirse de nuevo. Otra posibilidad es cambiar entre los diferentes operadores. Por ejemplo, un operador intercambio intercambiando sólo operaciones adyacentes conduce a una intensificación de la búsqueda más que los operadores que producen estructuras con grandes vecindarios que apuntan a una diversificación. Para forzar la diversificación también pueden aplicarse técnicas probabilísticas. Laguna y Glover [Laguna92] han desarrollado una técnica de análisis objetivo para controlar las dos fases de diversificación e intensificación y las primeras aplicaciones han aplicado con éxito esta técnica Simulated Annealing. Recocido simulado es un método de optimización basado en las ideas de la física estadística, donde es simulado el enfriamiento de un sólido a su estado terreno (es decir, el estado con energía mínima). Kirkpatrick [Kirkpatrick83] lo utilizan como un método de optimización para el diseño VLSI. En el recocido simulado se selecciona al azar un operador de modificación y se decide si el plan resultante puede ser aceptado como un nuevo candidato para continuar la búsqueda. Para escapar del óptimo local se permite una disminución de la evaluación por una probabilidad que baja durante la búsqueda. Si la evaluación de un plan s i es c i y, a continuación, entonces el algoritmo acepta un vecino s j con una evaluación de c j, con una probabilidad de: 35

36 P = min 1, e ci c j t donde t (la temperatura) es un parámetro de control positivo que disminuye durante la ejecución del algoritmo. La probabilidad de aceptar un nuevo plan es baja si la diferencia entre ambas evaluaciones es grande. En el comienzo cuando la temperatura es alta, es más probable que una gran diferencia sea aceptada. La estrategia global es buscar primero al azar sobre todo el espacio de búsqueda de planes. Luego la búsqueda se limita más fuerte para encontrar una solución cercana al óptimo. La decisión de la rapidez con que la "temperatura" disminuye influye en el tiempo que el algoritmo necesita para resolver un problema y también en que tan buena será la solución. Las diferentes temperaturas de recocido se pueden dar explícitamente por un conjunto fijo de constantes o por una función implícita. Asimismo, la duración el tiempo que la búsqueda utiliza una cierta temperatura se puede ajustar. A menudo, estos ajustes se conocen como el plan de recocido. Van Laarhoven [vanlaarhoven92] ha aplicado recocido simulado sobre grafos disyuntivos y ha definido el vecindario de la misma manera que en [Balas69]. Comparaciones experimentales con el "procedimiento de cambio cuello de botella [Adams88] han demostrado que puede competir con este enfoque. Zweben [Zweben90], [Zweben92] ha combinado recocido simulado con una representación basada en restricciones. Aquí se reparan violaciones a las restricciones con algunas heurísticas, aplicando un algoritmo de consistencia temporal en el nuevo programa y, por último, evaluando con el modelo de recocido simulado si este nuevo programa puede ser aceptado. Dado que los operadores no son seleccionados al azar, se podría hablar de una versión de recocido simulado basado en conocimiento. Sadeh y Nakakuki [Sadeh94] han aplicado recocido simulado a un problema de planificación y mejorado el algoritmo haciendo hincapié en la eficiencia de la planificación. Su heurística "focalizada en recocido simulado" incrementa los costos de los subproblemas por lo tanto, guía la búsqueda más fuertemente. Esta parece ser la misma motivación de la heurística min-conflicts [Minton90] o la heurística de reparación [Dom94d] o [Zweben90]. El problema de Recocido Simulado es que las soluciones difieren considerablemente entre ejecuciones distintas. Por esto, Nakakuki y Sadeh [Nakakuki94], proponen técnicas para detener ejecuciones poco promisorias y reiniciar el Recocido Simulado según algunos criterios que pueden ser adquiridos a través de múltiples ejecuciones. Otra posibilidad de reducir esta diferencia es hacer más determinista el Recocido Simulado. En Threshold Accepting [Dueck90], el modelo probabilístico se omite y sólo se utiliza un valor umbral durante la búsqueda para reducir la temperatura como en Recocido Simulado. En [Dueck90] y [Dueck93] se hicieron varios experimentos con el problema del vendedor viajero para comparar su rendimiento con Recocido Simulado. Los autores afirman que sus algoritmos tienen un rendimiento más rápido que Recocido Simulado y ofrecen resultados similares. Aunque la idea detrás de Threshold Accepting es evidente, en [List94] se reportan diferentes resultados. Para problemas de 36

37 planificación montados en aplicaciones, Recocido Simulado ha encontrado soluciones con un menor tiempo de flujo que Threshold Acceptingr. Lamentablemente, sólo se reportan las modificaciones requeridas y no el tiempo requerido Algoritmos Genéticos. Los Algoritmos Genéticos fueron propuestos por primera vez por Holland [Holland75], son una clase de algoritmos que imitan la selección natural y la genética. Los algoritmos genéticos difieren de los otros métodos de búsqueda descritos en el sentido de que mantienen siempre un conjunto de soluciones llamadas población. Los miembros de la población son los cromosomas que están representados originalmente por cadenas de bits. La primera población se inicializa al azar y evoluciona en generaciones. En cada generación la población es afectada por los operadores genéticos y mecanismos de selección. Los operadores genéticos, tales como los operadores de cruzamiento y mutación proporcionan el flujo de información entre los cromosomas, mientras que la selección promueve la supervivencia de los cromosomas más aptos. Una función de calidad evalúa los cromosomas individuales. El mecanismo de selección suele ser una combinación de la función de calidad con cierta probabilidad A partir de Davis [Davis85] se hicieron muchas propuestas para la aplicación de algoritmos genéticos en planificación. Normalmente, es dirigido hacia el problema de secuenciación de un conjunto de puestos de trabajo debido a que este es un problema difícil en la planificación y este tipo de problema puede ser fácilmente representado con algoritmos genéticos. Sin embargo, hay acercamientos para hacer frente también al problema de asignación. Bagchi [Bagchi91] clasifica la representación de las planificaciones con los cromosomas en acercamientos directos e indirectos. En una representación directa todos los conocimientos necesarios para evaluar una planificación existen en un cromosoma. La representación directa tiene por supuesto ventajas, pero entonces el algoritmo genético debe ser muy especializado y no puede ser reutilizado en otro problema. Por lo tanto, a menudo la representación indirecta es favorable donde un constructor de planificaciones construye una planificación valida desde un cromosoma. En este caso, sólo tiene que ser modificado el constructor de planificaciones para una nueva aplicación. Los algoritmos genéticos no siempre pertenecen a uno de estos extremos, también hay planteamientos que toman conocimientos más dependientes del dominio en un cromosoma, pero que aún requieren un constructor de planificaciones, porque no todo el conocimiento está representado en el cromosoma. Bruns [Bruns93] llama a estos acercamientos problemspecific indirect representation. La mayoría de los enfoques para planificación usan la representación indirecta y codifican una planificación en un cromosoma. Dado que los algoritmos genéticos no trabajan sobre una planificación, se realiza una transición de un cromosoma a una planificación valida cada vez que un nuevo cromosoma tiene que ser evaluado. La planificación puede ser representada por cadenas de bits donde cada bit determina cual de las dos órdenes se ejecuta primero [Fox91], [Nakano91]. Más a menudo los trabajos de un problema de planificación son representados 37

38 como una lista de números enteros [Cleveland89], [Filipic93], [Kanet], [Syswerda91]. Los operadores genéticos aplicados en estos acercamientos deben estar diseñados de tal manera que las órdenes o trabajos no existan dos veces en un nuevo cromosoma. Aunque el problema de planificación se reduce en un problema de secuenciación, para algunas aplicaciones, este enfoque parece suficiente sin constructor de planificación porque sólo la secuencia es importante. Sistemas más complejos de cromosomas representan también un proceso para un plan de trabajo o los recursos que se utilizarán para una operación, [Bagchi91] y [Bruns93]. Varios operadores genéticos específicos para planificación son propuestos en la literatura. Fox y McMahon [Fox91] han examinado varios de ellos para planificación. Dos clases de operadores se distinguen usualmente: los operadores de mutación que operan en un único cromosoma y los operadores de cruzamiento que combinan dos cromosomas para generar uno, dos, o incluso más hijos. El problema en planificación es el diseño de estos operadores a fin de que puedan ser producidas planificaciones validas. Si la planificación se representa como una lista de números enteros se debe verificar que el nuevo cromosoma no contiene dos veces un trabajo. Los operadores de mutación se pueden diseñar fácilmente porque es más sencillo establecer que el nuevo cromosoma forme otra vez una planificación valida. El más primitivo es un operador de cambio de dos trabajos adyacentes. Por lo tanto, se selecciona una posición en la lista aleatoriamente y el trabajo en esta posición y su sucesor se intercambian. Por supuesto se puede realizar más de un intercambio también. La mutación basada en la posición selecciona aleatoriamente dos posiciones e intercambia los trabajos en estas posiciones. La mutación basada en el orden selecciona dos posiciones y pone el trabajo de la segunda posición en el lugar del trabajo de la primera posición. Se puede diseñar un gran número de estos operadores de mutación. Se han hecho también experimentos exitosos con el intercambio de grupos de trabajos en una planificación. Además, se ha diseñado un operador de mutación que selecciona las posiciones con alguna probabilidad donde la probabilidad de seleccionar una posición en la que existe una violación a alguna restricción es mayor que el de otras posiciones [Dom94e]. Los operadores de cruzamiento son más sofisticados y deben ajustarse más aspectos a un determinado problema. Por lo tanto, para planificación, se debe poner en el diseño de estos operadores algún esfuerzo para generar planificaciones sólo validas. Fox y McMahon por ejemplo, usan matrices adyacentes booleanas para comprobar con un simple algoritmo la validez. Diferentes operadores son propuestos para planificación. Por ejemplo, el cruzamiento basado en orden toma algunos genes de uno de los padres y los pone en las mismas posiciones en la descendencia y llena los puestos restantes con los genes del segundo padre, mientras que preservan el orden del segundo padre. El operador de intersección de Fox y McMahon encuentra predecesores / sucesores comunes en ambos padres y estos hereda en el hijo. Luego, el hijo será completado. Una vez más, son posibles un montón de diferentes operadores. Parece ser que para cada tipo de problema se tienen que diseñar nuevos operadores para tener modificadores de planificación eficientes. 38

39 Un algoritmo genético puede ser controlado por diferentes parámetros. Por lo tanto, el tamaño de la población tiene una gran influencia sobre el desempeño del algoritmo. Una población demasiado grande requiere más esfuerzo computacional y una población demasiado pequeña no garantiza diversidad para encontrar buenas soluciones. Elitismo es un principio que garantiza que el mejor cromosoma de una población siempre debe sobrevivir. Asimismo, el con qué frecuencia las tasas en que se aplicaran los operadores de mutación y cruzamiento influyen en el comportamiento del algoritmo. Syswerda [Syswerda91] ha reconocido, para su problema de planificación, que el rendimiento fue mejor cuando la tasa de la mutación basada en orden poco a poco fue aumentada, mientras que la tasa de mutación basada en la posición se redujo. En algunas comparaciones realizadas en [Dom94c] de diferentes métodos de mejora iterativa, algoritmos genéticos se ha comportado peor que búsqueda tabú y profundización iterativa. Esta no debe ser la última palabra al respecto: pero, el problema con algoritmos genéticos, parece ser que hay muchas decisiones de diseño que tienen influencia en el rendimiento. Aunque los algoritmos genéticos son, en principio, un muy buen acercamiento para optimización general, se requiere de mucho trabajo para adaptarlos a una aplicación específica, especialmente si se refiere a problemas de planificación. 4.5 Propiedades deseables de la Metaheurística de resolución. En esta sección analizamos un conjunto de propiedades deseables de las metaheurísticas. Son propiedades deseables todas aquellas que favorezcan el interés práctico y teórico de las metaheurísticas. Indicaran direcciones a las que dirigir los esfuerzos para la contribución al desarrollo científico e ingenieril de este proyecto, pero no será posible mejorar todas las propiedades a la vez, dado que algunas son parcialmente contrapuestas. Una relación de tales propiedades debe incluir las siguientes: Simple. La metaheurística debe estar basada en un principio sencillo y claro; fácil de comprender. Precisa. Los pasos y fases de la metaheurística deben estar formulados en términos concretos. Coherente. Los elementos de la metaheurística deben deducirse naturalmente de sus principios. Efectiva. Los algoritmos derivados de la metaheurística deben proporcionar soluciones de muy alta calidad; optimas o muy cercanas a las óptimas. Eficaz. La probabilidad de alcanzar soluciones optimas de casos realistas con la metaheurística debe ser alta. Eficiente. La metaheurística debe realizar un buen aprovechamiento de recursos computacionales; tiempo de ejecución y espacio de memoria. General. La metaheurística debe ser utilizable con buen rendimiento en una amplia variedad de problemas. Adaptable. La metaheurística debe ser capaz de adaptarse a diferentes contextos de aplicación o modificaciones importantes del modelo. Robusta. El comportamiento de la metaheurística debe ser poco sensible a pequeñas alteraciones del modelo o contexto de aplicación. 39

40 Interactiva. La metaheurística debe permitir que el usuario pueda aplicar sus conocimientos para mejorar el rendimiento del procedimiento. Múltiple. La metaheurística debe suministrar diferentes soluciones alternativas de alta calidad entre las que el usuario pueda elegir. Autónoma. La metaheurística debe permitir un funcionamiento autónomo, libre de parámetros o que se puedan establecer automáticamente. Flexible. La metaheurística debe permitir el ajuste flexible de sus parámetros y criterios, así como el manejo flexible de las restricciones del problema. Equilibrada. La metaheurística debe mantener un equilibrio permanente entre la búsqueda de soluciones de calidad y el uso de recursos computacionales. Modelable. La metaheurística debe permitir con el menor esfuerzo su modelización, diseño e implementación a la hora de resolver problemas reales y concretos como para facilitar su aplicación e integración en entornos de desarrollo mas generales. Varias de estas propiedades están muy relacionadas y apuntan en la misma dirección, como la simplicidad, la precisión y la coherencia. La simplicidad de la metaheurística facilita su uso y contribuye a dotarla de amplia aplicabilidad. La descripción formal de las operaciones debe liberarse de la analogía física o biológica que haya sido la fuente inicial de inspiración para permitir mejoras que no respeten la analogía. La precisión en la descripción de los elementos que componen la metaheurística es crucial para concretar un procedimiento de alta calidad; fácil de implementar. Los pasos de los procedimientos básicos de los algoritmos deben traducirse coherentemente de los principios en que se inspira. Debe huirse de sentencias sin sentido o vagas. Frecuentemente se presentan como extensiones de una metaheurística la incorporación de herramientas o recursos computacionales estándares, o de pautas de otras metaheurísticas cuando en realidad deben calificarse como hibridaciones de las mismas. La evaluación del rendimiento de una metaheurística debe atender tanto a la eficiencia como a la efectividad y eficacia de los procedimientos heurísticos obtenidos. Para validar la efectividad y eficacia de una metaheurística, estas deben afrontar con éxito problemas de un banco de casos reales para los que se conozcan las soluciones. Si no se dispone de estos casos, se deben construir recurriendo a procesos de simulación que se aproximen a tales circunstancias. La eficiencia del método se contrasta experimentalmente en el empleo de un tiempo computacional moderado (o al menos razonable) para alcanzar éxito en los problemas considerados. El tamaño de los problemas considerados en las aplicaciones prácticas de los métodos de optimización se limita por las herramientas disponibles para resolverlos más que por la necesidad de los potenciales usuarios. Cuando las metaheurísticas se aplican a instancias realmente grandes, sus fortalezas y debilidades aparecen más claramente. Las metaheurísticas pueden mejorar su rendimiento extendiéndose en varias direcciones y, posiblemente, hibridizandose. Los procedimientos heurísticos resultantes se complican y usan muchos parámetros. Con ello se puede mejorar su eficiencia, pero 40

41 enmascaran las razones de su éxito. En algunas ocasiones la alta especialización de una metaheurística lleva a un ajuste fino de parámetros sobre algún conjunto de entrenamiento concreto. La aplicabilidad de una metaheurística debe estar sustentada en la generalidad, pero también en su adaptabilidad y robustez. La robustez tiene que ser contrastada experimentalmente analizando el rendimiento frente a fluctuaciones de las características de los problemas. La robustez se refleja en que el número de parámetros que hay que fijar en las distintas aplicaciones se mantiene bajo. La generalidad de una metaheurística se refleja en la diversidad de los campos de aplicación para los que se han utilizado con éxito. La adaptabilidad permite que las conclusiones obtenidas al afrontar un tipo de problemas particular puedan ser aprovechadas en otros contextos. Las pautas proporcionadas por una metaheurística de búsqueda se aplican a descripciones asociadas a un problema, referidas simplemente a los movimientos posibles para transformar una solución en otra y la forma de evaluarlas. Para favorecer la utilidad de la metaheurística en la resolución de problemas reales, por ejemplo incorporándolo a Sistemas de Apoyo a la Toma de Decisiones, son importantes las propiedades que propicien una interfase amigable. La interactividad de los sistemas basados en las metaheurísticas favorece la colaboración con otros campos que proporcionan conocimientos especificos de los problemas para mejorar el rendimiento de la metaheurística. La posibilidad de ofrecer diversas soluciones de alta calidad, realmente diferentes, entre las que los decidores puedan optar contribuye a diseminar su uso. La relativa autónoma de implementaciones de la metaheurística permite ganarse la confianza de usuarios poco expertos en optimización o en los campos de aplicación. Una característica que contribuye a divulgar una metaheurística es la novedad a la que va asociada, en cuanto a la originalidad de los principios que la inspiran y a los campos de repercusión social a los que se aplica. Este aspecto se revela, por ejemplo, en la inspiración en fenómenos naturales de los algoritmos genéticos y otras metaheurísticas, en la aplicación a la demostración matemática de la metaheurística de entorno variable, y en la aplicación a la ingeniera genética de algunas técnicas. Sin embargo, en los entornos científicos, tecnológicos, ingenieril o empresarial, el aspecto mas relevante es el éxito asociado a la eficiencia y efectividad de los algoritmos derivados de cada metaheurística en la resolución de problemas de gran tamaño o surgidos en aplicaciones reales. 41

42 Capítulo 5 Un Algoritmo de Mejora Iterativa Estocástica para resolver el Problema de Diseño de Mallas Curriculares 5.1 Solución Inicial. La solución inicial se produce utilizando una heurística constructiva que parte de una malla curricular (planificación) vacía. Esta solución factible se obtiene mediante la adición o eliminación adecuada de cursos (trabajos) de la malla, basada en la disponibilidad de semestres (se trata de programar primero durante el proceso los cursos sin prerrequisitos), sin tener en cuenta ninguna de las restricciones suaves, hasta que las restricciones duras se cumplan (restricciones de precedencia). Esta heurística constructiva se comporta como un grado de saturación heurístico (ver [Carter96]). La planificación se hace factible antes de iniciar los algoritmos. 5.2 Estructura del Vecindario. Se implementaran las siguientes estructuras de vecindario para ser utilizadas en el algoritmo propuesto. Se presentan en primer lugar, N1-N8 que ya han sido publicadas en [Abdullah05] (donde fueron aplicados con éxito al UCTP), pero que se muestran nuevamente aquí (junto con tres estructuras extras para integridad y claridad): N1: Seleccione un curso al azar y encuentra otro curso al azar, que pueden intercambiar períodos. N2: Elije al azar sólo un curso y se desplaza a otro periodo posible de asignar. N3: Selecciona dos periodos al azar y simplemente intercambia todos los cursos de un periodo con todos los demás cursos en el otro periodo. N4: Mover un periodo. Toma 2 periodos (seleccionados al azar), por ejemplo t i y t j (donde j > i) y los periodos están ordenados t 1, t 2,..., t n. Toma todos los cursos en t i y los asigna a t j. Luego, tomar los cursos que se encontraban en t j y los asigna a t j-1. A continuación, asigna los cursos en t j-1 a t j-2 y así sucesivamente hasta que se asigne los cursos de t i-1 a t i y termine el proceso. N5: Mover el curso con la penalidad más alta, luego de una selección aleatoria del 10% de los cursos, a un periodo factible de forma aleatoria. N6: Mover el curso con la penalidad más alta, luego de una selección aleatoria del 20% de los cursos, a un periodo factible de forma aleatoria. 42

43 N7: Mover el curso con la penalidad más alta (es decir, el curso con el mayor número de violaciones a restricciones suaves. Tomar el 10% de los cursos al azar. A continuación, seleccionar el curso con el más alto costo de penalidad y asignarlo al periodo que genere la menor penalidad y que no crea infactibilidad. N8: Mover el curso con la penalidad más alta luego de una selección aleatoria del 20% de los cursos (como en (N7)). N9: Seleccionar un curso al azar, elegir un periodo al azar (distinto al que esta asignado el curso seleccionado) y luego aplicar la cadena de Kempe (descrita en [Thompson96]). N10: Este es el mismo que N9, pero aquí se selecciona el curso con la penalidad más alta luego de una selección del 5% de los cursos al azar. N11: Como N10, pero con el 20% de los cursos. A fin de mantener la factibilidad de la solución, la asignación de cursos en cada periodo de la malla curricular (después de una operación de cadena de Kempe) no puede exceder el espacio (número de periodos) disponible y, por supuesto, cada uno de los cursos debe ser programado en diferentes periodos. 5.3 El Algoritmo. Para el acercamiento presentado en esta tesis, se aplica un conjunto de estructuras de vecindario como en la subsección 5.2. Las restricciones duras nunca son violadas durante el proceso de asignación de cursos a la malla curricular. La figura 5 muestra una vista esquemática general de esta propuesta. El algoritmo comienza con una solución factible inicial generada por una heurística constructiva. Siendo K el número total de estructuras de vecindario que se utilizarán en la búsqueda y f(sol) es la medida de calidad de la solución Sol. Al principio, la mejor solución, Sol best y la solución anterior, Sol prev pueden ser Sol. En un bucle do-while cada vecindario i donde i (1,..., K) se aplica a Sol para obtener TempSol i. Se identifica la mejor solución en TempSol i, y se establece como la nueva solución de Sol*. Si Sol* es mejor que la mejor solución actual Sol best, entonces Sol* es aceptada. De lo contrario, se aplica el criterio de aceptación de la exponencial de Monte Carlo (véase [Ayob03]). La Exponencial de Monte Carlo se basa sólo en la calidad de la solución. Se acepta una peor solución con una cierta probabilidad. Por ejemplo, dadas una solución antigua y una nueva denotadas por Sol y Sol*, respectivamente. La nueva solución Sol* será aceptada si genera un número aleatorio entre [0,1] es inferior a exp δ donde δ = f(sol*)-f(sol). El aumento del valor de δ disminuirá la probabilidad de aceptar peores soluciones. Los detalles sobre la exponencial de Monte Carlo se pueden encontrar en [Ayob03]. 43

44 Set the initial solution Sol by employing a constructive heuristic; Calculate initial cost function f(sol); Set best solution Sol best Sol; do while (not termination criteria) for i = 1 to i= K where K is the total number of neighbourhood structures Apply neighbourhood structure on Sol, TempSoli; Calculate cost function f(tempsoli); Find the best solution among TempSoli where i {1,,K} call new solution Sol*; if (f(sol*) < f(sol best)) Sol Sol*; Sol best Sol*; else δ = f(sol*) f(sol)); Generate RandNum, a random number in [0,1]; if (RandNum < e ) then Sol Sol*; end do end for Fig. 5. Seudo-código dfor the randomised iterative improvement algorithm for course timetabling 5.4 La Heurística Constructiva. Se propone un enfoque inspirado en la programación con restricciones. Sin embargo, como se menciono en la sección 3.5, cuando se construye una asignación el orden en que las variables son asignadas por la heurística de ordenamiento es bastante importante, estas heurísticas han sido estudiadas extensamente. Cada vez que se asigna un valor a una variable, se debe invocar algún algoritmo de propagación. Este algoritmo acota los dominios de las variables que aún no son asignadas. Si el tamaño del dominio de una variable se hace 1, entonces se completa la asignación parcial de la variable de decisión X ij (según el modelo descrito en la sección 4.1) por la asignación de un valor a esta variable y el proceso de propagación continua. Al final del proceso de propagación, si el dominio de una variable se hace vacío o si se descubre alguna inconsistencia, entonces el algoritmo falla. Como se señalo en la sección 3.3, se pueden considerar algoritmos de propagación diferentes, que aseguran niveles de consistencia diferentes, por ejemplo, consistencia de nodo, consistencia de arco, o consistencia de caminos. En 44

45 este proyecto se pretenden utilizar algoritmos de propagación de consistencias integrados en algún solver Esquema de Solución Propuesto para BACP. Para la resolución de la problemática que da origen a esta tesis de grado, se ha recurrido a un conjunto de elementos computacionales que ayudan en el proceso de creación de soluciones para el BACP, algunos de estos elementos se han diseñado siguiendo la idea original para el problema de Timetabling presentada en [Johnson06]. De esta forma se tienen los módulos que se presentan a continuación. Un algoritmo de satisfacción de restricciones: Este algoritmo proporciona una correcta asignación de cursos a eventos asignados a un determinado timeslot (semestre). Una búsqueda local estocástica: esta búsqueda local permite mejorar la calidad de las soluciones generadas a lo largo del algoritmo, y ha sido descrita en la sección 5.3. El esquema de la figura 6, presenta los módulos utilizados para generar una solución optimizada, haciendo uso de la heurística constructiva para asignar eventos a determinados timeslot, el algoritmo de emparejamiento toma esta asociación evento-timeslot y realiza una asignación de asignatura para cada semestre. Esto genera una solución completa pero de baja calidad. Entonces pasa por un proceso de optimización a través de una búsqueda local, para generar una solución factible de mejor calidad (óptima). Instancia Heurística Constructiva Asociación de cada evento con un determinado timeslot. Emparejamiento eventos-timeslot Satisfacción de Restricciones Verifica restricciones duras Solución sin optimizar Búsqueda Local basada en Mejora Iterativa Estocástica Mejora la calidad de las soluciones Solución Fig. 6. Esquema de Solución Propuesto 3 Aquí se considera GECODEJ, interfaz Java para el desarrollo de soluciones basadas en GECODE (GEneric COnstraint Development Environment): conjunto de librerías C++ que provee un conjunto de algoritmos de propagación y estrategias de búsqueda para la resolución de problemas de satisfacción de restricciones. 45

46 5.5.1 Representación. Uno de los elementos principales del esquema de resolución propuesto es la representación matricial de cada una de las posibles soluciones al problema, de modo que una asignación de valores binarios en cada posición represente una solución al problema. En el problema del BACP se requieren asignar cada uno de los E eventos (cursos) a un T timeslots (períodos). En la mayoría de las representaciones directa la matriz de construcción tiene dimensiones de E T; dada esta matriz podemos entonces decidir si un curso será asignado a un período, colocando un 1, en caso de que sea asignado, en la fila correspondiente al curso y la columna correspondiente al periodo, o un 0 en caso contrario, la solución termina de ser construida cuando la matriz esta completa. La figura 7 y la figura 8 representan esta matriz de construcción. Fig. 7. Cada evento (curso) es asignado según una lista de timeslots (períodos), y para cada timeslot t T, se elige un conjunto de eventos e E que se colocará en este timeslot. Fig. 8. Matriz binaria, donde cada evento tiene que ser puesto exactamente una vez en un timeslot; j= n 1 x ij = 1. 46

47 La representación es bastante simple (la presentada en la figura 6), en donde se construye la solución caminando a lo largo de una lista de eventos, eligiendo un timeslot para cada uno, no requiere la complicación adicional de utilización de grafos y no parece tener ninguna desventajas obvia. De hecho, no se prohíbe la oportunidad de usar una lista ordenada de eventos heuristicamente (asignar primero los cursos sin prerrequisitos). Realizando un cierto se podría colocar en orden los eventos para poner los eventos de mayor dificultad primero en la malla, cuando todavía hay muchos timeslots con pocos o ningún curso asignado. Por estas razones se considera que esta forma de representar el problema es mejor para desarrollar una adecuada implementación del enfoque de solución propuesto. 47

48 Capítulo 6 Diseño de Prototipo 6.1 Descripción del Prototipo. La Pontificia Universidad Católica de Valparaíso, y en general cualquier institución de educación superior, considera como parte importante de su reglamento una serie de artículos con el fin de mantener cierto nivel de exigencia académica para sus estudiantes. Existe uno en particular que hace mención a la cantidad de créditos promedio por semestre que un estudiante debe tener aprobados a partir de cierto periodo, esta exigencia esta descrita en el artículo 28 del Reglamento General de Estudios. A continuación se presenta un extracto: El promedio acumulativo mínimo de créditos aprobados por semestre, exigible a contar del período académico lectivo indicado en la letra e. del artículo 22º, corresponderá al cuociente entre el total de créditos del Plan de Estudios y el número máximo de períodos académicos a que se refiere la letra d. del artículo 22º. Cuando un estudiante no cumple con la exigencia antes descrita incurre en causal de eliminación, sin embargo, el estudiante puede solicitar eximición de dicho artículo. Una vez aprobada esta solicitud debe acudir al Jefe de Docencia respectivo para que este reprograme su carga académica. Esta reprogramación consiste en reformular la malla curricular considerando los cursos reprobados, además de los aún no cursados, de tal forma que se mantenga el equilibrio de la malla, es decir, se mantenga el balanceo de la malla curricular propuesta según las restricciones definidas en el capitulo 4. A continuación se muestra un ejemplo de aplicación: Carrera: Ingeniería Ejecución en Informática Número de períodos que componen el currículo: 8 Número máximo de períodos académicos: 13 Total de créditos del plan de estudios: 145 En este caso el artículo 28 regirá a partir del quinto semestre (8/2 + 1), por lo tanto la cantidad de créditos exigidos a esa fecha se calcula como: Total Creditos 145 Pr omedio decreditos exigibles = = = 11 (6.1) Número Máximo Periodos Académi cos 13 Esto implica que al quinto semestre el alumno tendrá que contar con 44 (11 4) créditos aprobados. 48

49 6.1.1 Modificaciones al modelo clásico. Para adecuar el modelo clásico a esta situación se deben incorporar ciertas modificaciones adicionales, que satisfacen el objetivo de reformular una malla curricular y que potencian la utilidad del sistema final, sin embargo quedan fuera del alcance de esta tesis: Parámetros adicionales: Sean i) s: Semestre que el estudiante actualmente cursa. ii) 1 siel cursoi ha sido aprobado i = 1,... m j = 1,..., n x ij = 0enotrocaso Nueva Función Objetivo: Min c = Max{,..., } c s c n 6.2 Análisis Funcional. El prototipo desarrollado utilizando tecnología Java (NetBeans IDE 6.01 y JDK 1.6) considera las siguientes funcionalidades: 1. Crear Malla: en esta opción el usuario define las características de la malla curricular: (definidas en la sección 2.1) número de cursos, número de períodos académicos, número de créditos de cada curso, carga académica mínima y máxima permitida por periodo y cantidad mínima y máxima de cursos por periodo (Ver Figura 8). 2. Visualizar Malla: esta opción permite visualizar la malla curricular a partir de un archivo plano (que puede haber sido previamente generado mediante el Prototipo), durante este proceso de visualización se crea una propuesta inicial de malla no balanceada, pero que satisface las restricciones descritas en la sección 2.1 (Ver Figura 9) Formato de Archivos de Entrada. Los archivos planos utilizados para la implementación y evaluación de este primer prototipo corresponden a benchmarks disponibles en la literatura 4 [Gent99]. Estos consisten en archivos de texto con la siguiente información: Carga mínima permitida por periodo. Carga máxima permitida por periodo. Cantidad mínima de cursos por periodo Cantidad máxima de cursos por periodo Lista (arreglo) de cursos y sus siglas. Lista (arreglo) con la cantidad de créditos correspondientes a cada curso. Lista de prerrequisitos. 4 Ver Problema

50 Fig. 8. Interfaz de usuario opción Crear Malla Por otra parte el Prototipo esta configurado para, mediante la opción Crear Malla, generar archivos de texto plano con los antecedentes de las mallas curriculares creadas siguiendo el formato ya aceptado por la academia para este tipo de experimentos. Así se pretende contribuir de alguna manera a la generación y distribución de conocimiento respecto a la problemática que da origen a esta tesis de grado. 50

SECRETARÍA DE EDUCACIÓN PÚBLICA SUBSECRETARÍA DE EDUCACIÓN SUPERIOR COORDINACIÓN GENERAL DE UNIVERSIDADES TECNOLÓGICAS

SECRETARÍA DE EDUCACIÓN PÚBLICA SUBSECRETARÍA DE EDUCACIÓN SUPERIOR COORDINACIÓN GENERAL DE UNIVERSIDADES TECNOLÓGICAS SECRETARÍA DE EDUCACIÓN PÚBLICA SUBSECRETARÍA DE EDUCACIÓN SUPERIOR COORDINACIÓN GENERAL DE UNIVERSIDADES TECNOLÓGICAS CRITERIOS GENERALES PARA LA PLANEACIÓN, EL DESARROLLO Y LA EVALUACIÓN, EN LA IMPLANTACIÓN

Más detalles

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos. Apéndice C. Glosario A Actividades de coordinación entre grupos. Son dinámicas y canales de comunicación cuyo objetivo es facilitar el trabajo entre los distintos equipos del proyecto. Actividades integradas

Más detalles

PROCESO DE ASIGNACIÓN DE CRÉDITOS A LOS PLANES DE ESTUDIOS 1

PROCESO DE ASIGNACIÓN DE CRÉDITOS A LOS PLANES DE ESTUDIOS 1 PROCESO DE ASIGNACIÓN DE CRÉDITOS A LOS PLANES DE ESTUDIOS 1 Noción de crédito académico El crédito constituye una unidad de medida del trabajo académico del estudiante, que en su concepción más moderna,

Más detalles

Análisis y cuantificación del Riesgo

Análisis y cuantificación del Riesgo Análisis y cuantificación del Riesgo 1 Qué es el análisis del Riesgo? 2. Métodos M de Análisis de riesgos 3. Método M de Montecarlo 4. Modelo de Análisis de Riesgos 5. Qué pasos de deben seguir para el

Más detalles

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los

Más detalles

Por qué es importante la planificación?

Por qué es importante la planificación? Por qué es importante la planificación? La planificación ayuda a los empresarios a mejorar las probabilidades de que la empresa logre sus objetivos. Así como también a identificar problemas claves, oportunidades

Más detalles

Conclusiones. Particionado Consciente de los Datos

Conclusiones. Particionado Consciente de los Datos Capítulo 6 Conclusiones Una de las principales conclusiones que se extraen de esta tesis es que para que un algoritmo de ordenación sea el más rápido para cualquier conjunto de datos a ordenar, debe ser

Más detalles

RECOMENDACIONES DE INVESTIGACIÓN FUTURA.

RECOMENDACIONES DE INVESTIGACIÓN FUTURA. Capítulo 6 CONCLUSIONES Y RECOMENDACIONES DE INVESTIGACIÓN FUTURA. 212 METODOLOGÍA PARA LA DETECCIÓN DE REQUERIMIENTOS SUBJETIVOS EN EL DISEÑO DE PRODUCTO. CAPÍTULO 6. CONCLUSIONES, APORTACIONES Y RECOMENDACIONES.

Más detalles

Sistemas de evaluación alternativos (experiencia piloto EEES-Derecho-UCA) 1

Sistemas de evaluación alternativos (experiencia piloto EEES-Derecho-UCA) 1 Sistemas de evaluación alternativos (experiencia piloto EEES-Derecho-UCA) 1 Julio V. Gavidia Sánchez Coordinador EEES Facultad de Derecho Universidad de Cádiz 1 Ponencia presentada al II Congreso de innovación

Más detalles

Segmentos de Operación

Segmentos de Operación NIIF 8 Norma Internacional de Información Financiera 8 Segmentos de Operación Esta versión incluye las modificaciones resultantes de las NIIF emitidas hasta el 17 de enero de 2008. La NIC 14 Información

Más detalles

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1 Fundamentos de Investigación de Operaciones Investigación de Operaciones 1 1 de agosto de 2003 1. Introducción Cualquier modelo de una situación es una simplificación de la situación real. Por lo tanto,

Más detalles

Programa de Criminología UOC

Programa de Criminología UOC Programa de Criminología UOC Trabajo Final de Grado Presentación Descripción La asignatura en el conjunto del plan de estudios Campos profesionales en que se proyecta Conocimientos previos Objetivos y

Más detalles

Los estados financieros proporcionan a sus usuarios información útil para la toma de decisiones

Los estados financieros proporcionan a sus usuarios información útil para la toma de decisiones El ABC de los estados financieros Importancia de los estados financieros: Aunque no lo creas, existen muchas personas relacionadas con tu empresa que necesitan de esta información para tomar decisiones

Más detalles

Su éxito se mide por la pertinencia y la oportunidad de la solución, su eficacia y eficiencia.

Su éxito se mide por la pertinencia y la oportunidad de la solución, su eficacia y eficiencia. APUNTES PARA EL CURSO PROCESOS COGNITIVOS: RESOLUCIÓN DE PROBLEMAS Y TOMA DE DECISIONES Elaborado por Vicente Sisto Campos. Se trata de la confluencia de la capacidad analítica del equipo de identificar

Más detalles

Créditos académicos. Ignacio Vélez. Facultad de Ingeniería Industrial. Politécnico Grancolombiano

Créditos académicos. Ignacio Vélez. Facultad de Ingeniería Industrial. Politécnico Grancolombiano Créditos académicos Ignacio Vélez Facultad de Ingeniería Industrial Politécnico Grancolombiano 11 de noviembre de 2003 Introducción Cuando se habla del sistema de créditos muchas personas consideran que

Más detalles

Licenciatura en Computación

Licenciatura en Computación Res. CFI 21/06/2012 Res. CDC 25/09/2012 Pub. DO 31/10/2012 Plan de Estudios Licenciatura en Computación Facultad de Ingeniería 1 Antecedentes y fundamentos 1.1 Antecedentes En la Facultad de Ingeniería,

Más detalles

Centro de Capacitación en Informática

Centro de Capacitación en Informática Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.

Más detalles

Los Ambientes Virtuales de Aprendizaje

Los Ambientes Virtuales de Aprendizaje Unidad V. Mi práctica docente - Entornos virtuales de aprendizaje Los Ambientes Virtuales de Aprendizaje Documento utilizado con fines exclusivamente educativos por la Universidad Autónoma Metropolitana

Más detalles

Como lo expresamos cuando describimos el problema objeto de

Como lo expresamos cuando describimos el problema objeto de Como lo expresamos cuando describimos el problema objeto de esta investigación, durante su desarrollo buscamos aproximarnos a las características y las condiciones de posibilidad de las prácticas académicas

Más detalles

2002 Emerson Process Management. Todos los derechos reservados. Vea este y otros cursos en línea en www.plantwebuniversity.com.

2002 Emerson Process Management. Todos los derechos reservados. Vea este y otros cursos en línea en www.plantwebuniversity.com. 2002 Emerson Process Management. Todos los derechos reservados. Vea este y otros cursos en línea en www.plantwebuniversity.com. Fieldbus 404 Diseño de segmento Generalidades Diseño para criticidad de lazo

Más detalles

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES Tema: Cartas de Servicios Primera versión: 2008 Datos de contacto: Evaluación y Calidad. Gobierno de Navarra. evaluacionycalidad@navarra.es

Más detalles

GUÍAS. Módulo de Diseño de software SABER PRO 2013-2

GUÍAS. Módulo de Diseño de software SABER PRO 2013-2 GUÍAS Módulo de Diseño de software SABER PRO 2013-2 GUÍAS Módulo de diseño en ingeniería El diseño de productos tecnológicos (artefactos, procesos, sistemas e infraestructura) está en el centro de la naturaleza

Más detalles

C A P I T U L O I P L A N T E A M I E N T O D E L P R O B L E M A

C A P I T U L O I P L A N T E A M I E N T O D E L P R O B L E M A 1 C A P I T U L O I P L A N T E A M I E N T O D E L P R O B L E M A 1.1 S I T U A C I Ó N P R O B L E M A T I C A En El Salvador el sistema educativo presenta algunas deficiencias típicas de países del

Más detalles

INDICADORES. PROBLEMAS ASOCIADOS A SU SELECCIÓN PARA MEDIR SUSTENTABILIDAD Y EFICIENCIA AMBIENTAL

INDICADORES. PROBLEMAS ASOCIADOS A SU SELECCIÓN PARA MEDIR SUSTENTABILIDAD Y EFICIENCIA AMBIENTAL FUNDACION NEXUS ciencias sociales medio ambiente salud INDICADORES. PROBLEMAS ASOCIADOS A SU SELECCIÓN PARA MEDIR SUSTENTABILIDAD Y EFICIENCIA AMBIENTAL Por Daniel Fernández Dillon Ingeniería Sanitaria

Más detalles

Capitulo V Administración de memoria

Capitulo V Administración de memoria Capitulo V Administración de memoria Introducción. Una de las tareas más importantes y complejas de un sistema operativo es la gestión de memoria. La gestión de memoria implica tratar la memoria principal

Más detalles

ACUERDO DE ACREDITACIÓN Nº 328 CARRERA DE PEDAGOGÍA EN ARTES VISUALES UNIVERSIDAD DE VIÑA DEL MAR VIÑA DEL MAR

ACUERDO DE ACREDITACIÓN Nº 328 CARRERA DE PEDAGOGÍA EN ARTES VISUALES UNIVERSIDAD DE VIÑA DEL MAR VIÑA DEL MAR ACUERDO DE ACREDITACIÓN Nº 328 CARRERA DE PEDAGOGÍA EN ARTES VISUALES UNIVERSIDAD DE VIÑA DEL MAR VIÑA DEL MAR ABRIL 2015 ACUERDO DE ACREDITACIÓN Nº 328 Carrera de Pedagogía en Artes Visuales Universidad

Más detalles

1. Introducción al evaluación de proyectos

1. Introducción al evaluación de proyectos Objetivo general de la asignatura: El alumno analizará las técnicas de evaluación de proyectos de inversión para la utilización óptima de los recursos financieros; así como aplicar las técnicas que le

Más detalles

UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA FORMULACIÓN Y EVALUACIÓN DEL PROYECTO: BLUMEN: CENTRO DE ESTIMULACIÓN TEMPRANA Y PROBLEMAS DE APRENDIZAJE

UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA FORMULACIÓN Y EVALUACIÓN DEL PROYECTO: BLUMEN: CENTRO DE ESTIMULACIÓN TEMPRANA Y PROBLEMAS DE APRENDIZAJE UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA FORMULACIÓN Y EVALUACIÓN DEL PROYECTO: BLUMEN: CENTRO DE ESTIMULACIÓN TEMPRANA Y PROBLEMAS DE APRENDIZAJE TESINA Previa a la obtención del: DIPLOMADO EN GESTIÓN EN

Más detalles

Para llegar a conseguir este objetivo hay una serie de líneas a seguir:

Para llegar a conseguir este objetivo hay una serie de líneas a seguir: INTRODUCCIÓN La Gestión de la Calidad Total se puede definir como la gestión integral de la empresa centrada en la calidad. Por lo tanto, el adjetivo total debería aplicarse a la gestión antes que a la

Más detalles

4 Teoría de diseño de Experimentos

4 Teoría de diseño de Experimentos 4 Teoría de diseño de Experimentos 4.1 Introducción En los capítulos anteriores se habló de PLC y de ruido, debido a la inquietud por saber si en una instalación eléctrica casera que cuente con el servicio

Más detalles

Caso práctico de Cuadro de Mando con Tablas Dinámicas

Caso práctico de Cuadro de Mando con Tablas Dinámicas 1 Caso práctico de Cuadro de Mando con Tablas Dinámicas Luis Muñiz Socio Director de SisConGes & Estrategia Introducción Hay una frase célebre que nos permite decir que: Lo que no se mide no se puede controlar

Más detalles

ANÁLISIS FINANCIERO VERTICAL

ANÁLISIS FINANCIERO VERTICAL ANÁLISIS FINANCIERO VERTICAL El Análisis Vertical de los estados financieros es una de las técnicas más simple y se la considera como una evaluación estática, puesto que no analiza los cambios ocurridos

Más detalles

10. La organización de las niñas y de los niños. 10.1 Criterios para la organización de las niñas y de los niños

10. La organización de las niñas y de los niños. 10.1 Criterios para la organización de las niñas y de los niños 10. La organización de las niñas y de los niños Las investigaciones sociales han comprobado que a medida que crecen las niñas y los niños aumenta el interés por tener amigos y disminuyen significativamente

Más detalles

IE UNIVERSIDAD REGLAMENTO DE RECONOCIMIENTO Y TRANSFERENCIA DE CRÉDITOS EN LOS TÍTULOS DE GRADO JULIO 2013*

IE UNIVERSIDAD REGLAMENTO DE RECONOCIMIENTO Y TRANSFERENCIA DE CRÉDITOS EN LOS TÍTULOS DE GRADO JULIO 2013* IE UNIVERSIDAD REGLAMENTO DE RECONOCIMIENTO Y TRANSFERENCIA DE CRÉDITOS EN LOS TÍTULOS DE GRADO JULIO 2013* * Revisión aprobada por el Comité Rectoral del 16 de junio de 2014 ÍNDICE PREÁMBULO I. TÍTULO

Más detalles

Interpretación CINIIF 12 Acuerdos de Concesión de Servicios

Interpretación CINIIF 12 Acuerdos de Concesión de Servicios Interpretación CINIIF 12 Acuerdos de Concesión de Servicios Referencias Marco Conceptual para la Preparación y Presentación de Estados Financieros NIIF 1 Adopción por Primera vez de las Normas Internacionales

Más detalles

6. LOS PROCEDIMIENTOS Y CRITERIOS DE EVALUACIÓN, PROMOCIÓN DEL ALUMNADO Y TITULACIÓN DEL ALUMNADO.

6. LOS PROCEDIMIENTOS Y CRITERIOS DE EVALUACIÓN, PROMOCIÓN DEL ALUMNADO Y TITULACIÓN DEL ALUMNADO. 6. LOS PROCEDIMIENTOS Y CRITERIOS DE EVALUACIÓN, PROMOCIÓN DEL ALUMNADO Y TITULACIÓN DEL ALUMNADO. Los criterios de evaluación en las distintas enseñanzas que se imparten en el centro están recogidos en

Más detalles

HACIA LA EMPRESA INNOVADORA

HACIA LA EMPRESA INNOVADORA HACIA LA EMPRESA INNOVADORA Resumen: Las turbulencias y rápidos cambios en los mercados así como la creciente dificultad para alcanzar ventajas competitivas en costes, han hecho que factores como la investigación,

Más detalles

Manual básico de gestión económica de las Asociaciones

Manual básico de gestión económica de las Asociaciones Manual básico de gestión económica de las Asociaciones El control económico de una Asociación se puede ver desde dos perspectivas: Necesidades internas de información económica para: * Toma de decisiones

Más detalles

RECONOCIMIENTO Y TRANSFERENCIA DE CREDITOS XXVI JORNADAS DE GERENCIA UNIVERSITARIA

RECONOCIMIENTO Y TRANSFERENCIA DE CREDITOS XXVI JORNADAS DE GERENCIA UNIVERSITARIA RECONOCIMIENTO Y TRANSFERENCIA DE CREDITOS XXVI JORNADAS DE GERENCIA UNIVERSITARIA RECONOCIMIENTO Y TRANSFERENCIA DE CREDITOS RESITUACION PREVIA REGULACION LEGAL RECONOCIMIENTO DE CREDITOS DEFINICION se

Más detalles

RESPUESTAS A LAS DUDAS MANIFESTADAS POR EL COLEGIO DE PROFESORES RESPECTO AL PROYECTO DE POLÍTICA NACIONAL DOCENTE

RESPUESTAS A LAS DUDAS MANIFESTADAS POR EL COLEGIO DE PROFESORES RESPECTO AL PROYECTO DE POLÍTICA NACIONAL DOCENTE RESPUESTAS A LAS DUDAS MANIFESTADAS POR EL COLEGIO DE PROFESORES RESPECTO AL PROYECTO DE POLÍTICA NACIONAL DOCENTE 1. La certificación está basada en competencias individuales y promueve la competencia

Más detalles

Ejercicios de Programación Lineal

Ejercicios de Programación Lineal Ejercicios de Programación Lineal Investigación Operativa Ingeniería Informática, UCM Curso 8/9 Una compañía de transporte dispone de camiones con capacidad de 4 libras y de 5 camiones con capacidad de

Más detalles

Curso: Arquitectura Empresarial basado en TOGAF

Curso: Arquitectura Empresarial basado en TOGAF Metodología para desarrollo de Arquitecturas (ADM) El ADM TOGAF es el resultado de las contribuciones continuas de un gran número de practicantes de arquitectura. Este describe un método para el desarrollo

Más detalles

[PROYECTO] DOCUMENTO DE PRACTICA DE LAS NIIF. Aplicación de la Materialidad o Importancia Relativa en los Estados Financieros

[PROYECTO] DOCUMENTO DE PRACTICA DE LAS NIIF. Aplicación de la Materialidad o Importancia Relativa en los Estados Financieros [PROYECTO] DOCUMENTO DE PRACTICA DE LAS NIIF Aplicación de la Materialidad o Importancia Relativa en los Estados Financieros Objetivo Proporcionar guías para ayudar a la gerencia a aplicar el concepto

Más detalles

EJEMPLO DE REPORTE DE LIBERTAD FINANCIERA

EJEMPLO DE REPORTE DE LIBERTAD FINANCIERA EJEMPLO DE REPORTE DE LIBERTAD FINANCIERA 1. Introduccio n El propósito de este reporte es describir de manera detallada un diagnóstico de su habilidad para generar ingresos pasivos, es decir, ingresos

Más detalles

Operación 8 Claves para la ISO 9001-2015

Operación 8 Claves para la ISO 9001-2015 Operación 8Claves para la ISO 9001-2015 BLOQUE 8: Operación A grandes rasgos, se puede decir que este bloque se corresponde con el capítulo 7 de la antigua norma ISO 9001:2008 de Realización del Producto,

Más detalles

Inter American Accreditation Cooperation. Grupo de prácticas de auditoría de acreditación Directriz sobre:

Inter American Accreditation Cooperation. Grupo de prácticas de auditoría de acreditación Directriz sobre: Grupo de prácticas de auditoría de acreditación Directriz sobre: Auditando la competencia de los auditores y equipos de auditores de organismos de certificación / registro de Sistemas de Gestión de Calidad

Más detalles

GESTIÓN Y CONTROL DEL DESARROLLO E IMPLANTACIÓN DE APLICACIONES

GESTIÓN Y CONTROL DEL DESARROLLO E IMPLANTACIÓN DE APLICACIONES Ciclo Formativo: Módulo: Desarrollo de Aplicaciones Informáticas Análisis y Diseño Detallado de Aplicaciones Informáticas de Gestión Unidad de Trabajo 10: GESTIÓN Y CONTROL DEL DESARROLLO E IMPLANTACIÓN

Más detalles

CAPÍTULO III MARCO TEÓRICO. Cada día cambian las condiciones de los mercados debido a diferentes factores como: el

CAPÍTULO III MARCO TEÓRICO. Cada día cambian las condiciones de los mercados debido a diferentes factores como: el CAPÍTULO III MARCO TEÓRICO 3.1 Introducción Cada día cambian las condiciones de los mercados debido a diferentes factores como: el incremento de la competencia, la globalización, la dinámica de la economía,

Más detalles

REGLAMENTO DE TRABAJOS FIN DE GRADO EN LA UNIVERSIDAD POLITÉCNICA DE CARTAGENA.

REGLAMENTO DE TRABAJOS FIN DE GRADO EN LA UNIVERSIDAD POLITÉCNICA DE CARTAGENA. REGLAMENTO DE TRABAJOS FIN DE GRADO EN LA UNIVERSIDAD POLITÉCNICA DE CARTAGENA. Artículo 1. Definición 1) El Trabajo Fin de Grado (TFG) es un trabajo personal y autónomo del estudiante cuya elaboración

Más detalles

Construcción de Escenarios

Construcción de Escenarios Construcción de Escenarios Consiste en observar los diferentes resultados de un modelo, cuando se introducen diferentes valores en las variables de entrada. Por ejemplo: Ventas, crecimiento de ventas,

Más detalles

Análisis de propuestas de evaluación en las aulas de América Latina

Análisis de propuestas de evaluación en las aulas de América Latina Esta propuesta tiene como objetivo la operatoria con fracciones. Se espera del alumno la aplicación de un algoritmo para resolver las operaciones. Estas actividades comúnmente presentan numerosos ejercicios

Más detalles

MICROECONOMÍA MICROECONOMÍA

MICROECONOMÍA MICROECONOMÍA MICROECONOMÍA MICROECONOMÍA INTRODUCCIÓN A LA MICROECONOMÍA. OBJETIVOS El alumno deberá ser capaz de comprender cómo se realiza el proceso de satisfacción de necesidades utilizando eficientemente sus recursos

Más detalles

Informe final de evaluación del seguimiento de la implantación de títulos oficiales GRADO EN DERECHO. Facultad de Ciencias Sociales UNEB

Informe final de evaluación del seguimiento de la implantación de títulos oficiales GRADO EN DERECHO. Facultad de Ciencias Sociales UNEB Informe final de evaluación del seguimiento de la implantación de títulos oficiales 2013 GRADO EN DERECHO UNEB INFORMACIÓN PUBLICA Valoración Final Uno de los compromisos esenciales que las universidades

Más detalles

INFORME DE SÍNTESIS N 08- PROGRAMA BECA MINEDUC Y JUAN GOMEZ MILLAS DE EDUCACION SUPERIOR MINEDUC / DIVISION DE EDUCACION SUPERIOR.

INFORME DE SÍNTESIS N 08- PROGRAMA BECA MINEDUC Y JUAN GOMEZ MILLAS DE EDUCACION SUPERIOR MINEDUC / DIVISION DE EDUCACION SUPERIOR. MINISTERIO DE HACIENDA DIRECCION DE PRESUPUESTOS INFORME DE SÍNTESIS N 08- PROGRAMA BECA MINEDUC Y JUAN GOMEZ MILLAS DE EDUCACION SUPERIOR MINEDUC / DIVISION DE EDUCACION SUPERIOR. PRESUPUESTO 1999: MM$

Más detalles

Plan de estudios Maestría en Sistemas de Información y Tecnologías de Gestión de Datos

Plan de estudios Maestría en Sistemas de Información y Tecnologías de Gestión de Datos Plan de estudios Maestría en Sistemas de Información y Tecnologías de Gestión de Datos Antecedentes y Fundamentación Un Sistema de Información es un conjunto de componentes que interactúan entre sí, orientado

Más detalles

Líneas de espera. Introducción.

Líneas de espera. Introducción. Líneas de espera. Introducción. En este capítulo se aplica la teoría de colas. Una Cola es una línea de espera y la teoría de colas es una colección de modelos matemáticos que describen sistemas de líneas

Más detalles

6. Gestión de proyectos

6. Gestión de proyectos 6. Gestión de proyectos Versión estudiante Introducción 1. El proceso de gestión de proyectos 2. Gestión del riesgo "La gestión de proyectos se basa en establecer objetivos claros, gestionar el tiempo,

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

Las razones financieras ayudan a determinar las relaciones existentes entre diferentes rubros de los estados financieros

Las razones financieras ayudan a determinar las relaciones existentes entre diferentes rubros de los estados financieros Razones financieras Uno de los métodos más útiles y más comunes dentro del análisis financiero es el conocido como método de razones financieras, también conocido como método de razones simples. Este método

Más detalles

Colegio Alexander von Humboldt - Lima. Tema: La enseñanza de la matemática está en un proceso de cambio

Colegio Alexander von Humboldt - Lima. Tema: La enseñanza de la matemática está en un proceso de cambio Refo 07 2004 15 al 19 de noviembre 2004 Colegio Alexander von Humboldt - Lima Tema: La enseñanza de la matemática está en un proceso de cambio La enseñanza de la matemática debe tener dos objetivos principales:

Más detalles

Propiedad Colectiva del Código y Estándares de Codificación.

Propiedad Colectiva del Código y Estándares de Codificación. Propiedad Colectiva del Código y Estándares de Codificación. Carlos R. Becerra Castro. Ing. Civil Informática UTFSM. Introducción. n. En este trabajo se presentan específicamente dos prácticas de XP: Collective

Más detalles

C E N T R O D E F O R M A C I Ó N T É C N I C A P R O F A S O C. Modelo Educativo

C E N T R O D E F O R M A C I Ó N T É C N I C A P R O F A S O C. Modelo Educativo Modelo Educativo 1 Modelo Educativo El Centro de Formación Técnica Profasoc, posee un Modelo Educativo de Formación Activo y Tradicional, acorde con una formación teórica importante, pero con las habilidades

Más detalles

DESARROLLO COMUNITARIO Y EDUCACIÓN

DESARROLLO COMUNITARIO Y EDUCACIÓN DESARROLLO COMUNITARIO Y EDUCACIÓN J. Ricardo González Alcocer Para empezar, lo primero que considero relevante es intentar definir el concepto de Desarrollo Comunitario, tarea difícil ya que es un concepto

Más detalles

Prácticas en empresa ÍNDICE

Prácticas en empresa ÍNDICE ÍNDICE Asignatura Presentación Objetivos y competencias Gestión del centro Asignación de centro de prácticas Recursos Evaluación Compromisos y funciones Asignatura Prácticas en empresa Denominación de

Más detalles

Guía para la elaboración de Proyectos de Formación Sindical Ambiental e Investigación en Trabajo y Desarrollo Sustentable

Guía para la elaboración de Proyectos de Formación Sindical Ambiental e Investigación en Trabajo y Desarrollo Sustentable Guía para la elaboración de Proyectos de Formación Sindical Ambiental e Investigación en Trabajo y Desarrollo Sustentable 1- Denominación del Proyecto Esto se hace indicando, de manera sintética y mediante

Más detalles

ECONOMÍA SOCIAL SOLIDARIA

ECONOMÍA SOCIAL SOLIDARIA ECONOMÍA SOCIAL SOLIDARIA Módulo básico de capacitación para las organizaciones afiliadas a StreetNet Internacional Objetivos de este módulo de capacitación StreetNet Internacional fue fundada en el 2002

Más detalles

OBJETIVOS GENERALES DEL AUDITOR INDEPENDIENTE Y CONDUCCIÓN DE UNA AUDITORÍA, DE ACUERDO CON LAS NORMAS INTERNACIONALES DE AUDITORÍA

OBJETIVOS GENERALES DEL AUDITOR INDEPENDIENTE Y CONDUCCIÓN DE UNA AUDITORÍA, DE ACUERDO CON LAS NORMAS INTERNACIONALES DE AUDITORÍA NORMA INTERNACIONAL DE AUDITORÍA 200 OBJETIVOS GENERALES DEL AUDITOR INDEPENDIENTE Y CONDUCCIÓN DE UNA AUDITORÍA, DE ACUERDO CON LAS NORMAS INTERNACIONALES DE AUDITORÍA (En vigor para auditorías de estados

Más detalles

El muestreo archivístico, que es una de las técnicas de la Valoración Documental, ha sido

El muestreo archivístico, que es una de las técnicas de la Valoración Documental, ha sido TECNICA DE VALORACIÓN DOCUMENTAL: EL MUESTREO: Aída Luz Mendoza Navarro Fundamentación El muestreo archivístico, que es una de las técnicas de la Valoración Documental, ha sido analizado desde varias décadas

Más detalles

7. EL TÍTULO DE BACHILLER Y EL ACCESO A LA EDUCACIÓN SUPERIOR

7. EL TÍTULO DE BACHILLER Y EL ACCESO A LA EDUCACIÓN SUPERIOR 7. El título de bachiller y el acceso a la educación superior 7. EL TÍTULO DE BACHILLER Y EL ACCESO A LA EDUCACIÓN SUPERIOR LAS PRUEBAS DE ACCESO A LA UNIVERSIDAD Desde la implantación de la Ley General

Más detalles

LINEAMIENTOS GENERALES PARA LA PLANIFICACIÓN DE AULA

LINEAMIENTOS GENERALES PARA LA PLANIFICACIÓN DE AULA Ministerio de Educación Dirección Nacional de Desarrollo Educativo Dirección de Desarrollo Curricular LINEAMIENTOS GENERALES PARA LA PLANIFICACIÓN DE AULA Diciembre 2003. 1 GENERALIDADES PARA EL PLANEAMIENTO

Más detalles

GERENCIA DE INTEGRACIÓN

GERENCIA DE INTEGRACIÓN GERENCIA DE INTEGRACIÓN CONTENIDO Desarrollo del plan Ejecución del plan Control de cambios INTRODUCCIÓN La gerencia de integración del proyecto incluye los procesos requeridos para asegurar que los diversos

Más detalles

Guía para la Capacitación en el Servicio y Educación de Preservicio Relativa al DIU

Guía para la Capacitación en el Servicio y Educación de Preservicio Relativa al DIU Guía para la Capacitación en el Servicio y Educación de Preservicio Relativa al DIU Directrices para la capacitación en el servicio La capacitación en el servicio puede usarse para transferir conocimientos

Más detalles

FASES DEL PROCESO DE RESOLUCIÓN DE PROBLEMAS

FASES DEL PROCESO DE RESOLUCIÓN DE PROBLEMAS FASES DEL PROCESO DE RESOLUCIÓN DE PROBLEMAS Varios autores han tratado de identificar y describir las distintas fases en el proceso de resolución de problemas. Polya (1945), en su modelo descriptivo,

Más detalles

Los números racionales

Los números racionales Los números racionales Los números racionales Los números fraccionarios o fracciones permiten representar aquellas situaciones en las que se obtiene o se debe una parte de un objeto. Todas las fracciones

Más detalles

Una experiencia en la enseñanza de los primeros cursos del área matemática.

Una experiencia en la enseñanza de los primeros cursos del área matemática. Una experiencia en la enseñanza de los primeros cursos del área matemática. Rodolfo Carvajal y Martín Matamala Departamento de Ingeniería Matemática, Facultad de Ciencias Físicas y Matemáticas, Universidad

Más detalles

MODELOS DE RECUPERACION

MODELOS DE RECUPERACION RECUPERACIÓN Y ORGANIZACIÓN DE LA INFORMACIÓN INGENIERÍA INFORMÁTICA RECUPERACIÓN Y ACCESO A LA INFORMACIÓN MODELOS DE RECUPERACION AUTOR: Rubén García Broncano NIA 100065530 grupo 81 1 INDICE 1- INTRODUCCIÓN

Más detalles

Evaluación de la capacidad óptima de medida y alcance de la acreditación de un laboratorio de calibración

Evaluación de la capacidad óptima de medida y alcance de la acreditación de un laboratorio de calibración Evaluación de la capacidad óptima de medida y alcance de la acreditación de un laboratorio de calibración Fernández Pareja, Mª Teresa te_fer@topografia.upm.es Departamento de Ingeniería Topográfica y Cartografía

Más detalles

MATERIAL 2 EXCEL 2007

MATERIAL 2 EXCEL 2007 INTRODUCCIÓN A EXCEL 2007 MATERIAL 2 EXCEL 2007 Excel 2007 es una planilla de cálculo, un programa que permite manejar datos de diferente tipo, realizar cálculos, hacer gráficos y tablas; una herramienta

Más detalles

Cuáles son las funciones y desempeño asociadas del equipo en su contexto operativo?, o un poco mas coloquialmente;

Cuáles son las funciones y desempeño asociadas del equipo en su contexto operativo?, o un poco mas coloquialmente; Desarrollando un Plan de Mantenimiento apoyados en RCM Vamos ahora a ver un poco hacia adentro las 7 preguntas fundamentales para el desarrollo del RCM y veamos como podemos hacerlo en una forma práctica

Más detalles

Protocolo de Funcionamiento del Departamento de Psicopedagogía

Protocolo de Funcionamiento del Departamento de Psicopedagogía Protocolo de Funcionamiento del Departamento de Psicopedagogía 89 Protocolo de Funcionamiento del Departamento de Psicopedagogía Protocolo de Funcionamiento del Departamento de Psicopedagogía 1. Objetivo

Más detalles

Dirección de Evaluación de la Calidad Educativa

Dirección de Evaluación de la Calidad Educativa Operaciones: Resolver problemas con dos operaciones Dentro del núcleo estructurante Operaciones, uno de los Saberes Básicos Fundamentales, donde se observa tienen más dificultades los alumnos es respecto

Más detalles

PROCESO DE EVALUACIÓN DEL DESEMPEÑO DOCENTE EDUCACIÓN BÁSICA

PROCESO DE EVALUACIÓN DEL DESEMPEÑO DOCENTE EDUCACIÓN BÁSICA CICLO ESCOLAR 2015-2016 E TAPAS, ASPECTOS, MÉTODOS E INSTRUMENTOS. PROCESO DE EVALUACIÓN DEL DESEMPEÑO DOCENTE EDUCACIÓN BÁSICA 24 de abril de 2015 SUBSECRETARÍA DE EDUCACIÓN BÁSICA COORDINACIÓN NACIONAL

Más detalles

Diseño curricular del programa formativo del máster. Asignaturas Carácter Créditos Semestre. Metodología de Investigación Obligatoria 6 1 y 2

Diseño curricular del programa formativo del máster. Asignaturas Carácter Créditos Semestre. Metodología de Investigación Obligatoria 6 1 y 2 Máster Universitario en Criminología PLAN DE ESTUDIOS Distribución del Plan de Estudios MATERIA Obligatorias Prácticas Externas Trabajo de Fin de Máster TOTAL ECTS ECTS 48 6 6 60 Explicación general del

Más detalles

Taller de observación entre profesores

Taller de observación entre profesores Taller de observación entre profesores Gabriel Chancel Valente Unitat d Assessorament Psicopedagógic Universitat Autònoma de Barcelona uap@uab.cat 1. Presentación A pesar de sus limitaciones, la clase

Más detalles

RESUMEN EJECUTIVO DEL INFORME DEL PROYECTO EMPRENDEDORES

RESUMEN EJECUTIVO DEL INFORME DEL PROYECTO EMPRENDEDORES RESUMEN EJECUTIVO DEL INFORME DEL PROYECTO EMPRENDEDORES 1. Por qué este documento? El Proyecto Educar el Talento Emprendedor se enmarca dentro del plan de actuación de la Fundación Príncipe de Girona

Más detalles

Contabilidad Orientada a los Negocios

Contabilidad Orientada a los Negocios Tema 5 Introducción Como todos sabemos, al pagar por alguna cosa, cualquiera que esta sea, que jamás haya sido utilizada, se debe desembolsar una cantidad de dinero, esto es porque, al igual que todas

Más detalles

Unidad de Innovación MOOC. Tema 1

Unidad de Innovación MOOC. Tema 1 Unidad de Innovación MOOC Tema 1 Contenido Introducción... 3 Requisitos para obtener la certificación PMP... 3 Acerca del MOOC... 4 Conceptos principales... 4 PMBOK... 7 Introducción Este MOOC está promovido

Más detalles

Manual de ayuda para crear y gestionar Tareas, como actividad evaluable

Manual de ayuda para crear y gestionar Tareas, como actividad evaluable Manual de ayuda para crear y gestionar Tareas, como actividad evaluable Contenido TAREAS.... 3 CONFIGURACIÓN.... 3 GESTIÓN Y CALIFICACIÓN DE TAREAS.... 8 TAREAS. Mediante esta herramienta podemos establecer

Más detalles

Ambas componentes del sistema tienen costos asociados que deben de considerarse.

Ambas componentes del sistema tienen costos asociados que deben de considerarse. 1. Introducción. En este trabajo se aplica la teoría de colas. Una Cola es una línea de espera y la teoría de colas es una colección de modelos matemáticos que describen sistemas de líneas de espera particulares

Más detalles

ÍNDICE. Introducción. Alcance de esta NIA Fecha de vigencia

ÍNDICE. Introducción. Alcance de esta NIA Fecha de vigencia NORMA INTERNACIONAL DE AUDITORÍA 706 PARRAFOS DE ÉNFASIS EN EL ASUNTO Y PARRAFOS DE OTROS ASUNTOS EN EL INFORME DEL AUDITOR INDEPENDIENTE (En vigencia para las auditorías de estados financieros por los

Más detalles

PARTICIPACION DE PADRES, MADRES Y APODERADOS EN EL SISTEMA EDUCATIVO Herramientas para mejorar la gestión

PARTICIPACION DE PADRES, MADRES Y APODERADOS EN EL SISTEMA EDUCATIVO Herramientas para mejorar la gestión AMDEPA PARTICIPACION DE PADRES, MADRES Y APODERADOS EN EL SISTEMA EDUCATIVO Herramientas para mejorar la gestión Por qué es importante que los padres participen en la educación escolar de sus hijos?. Tradicionalmente,

Más detalles

Resumen de las presentaciones del primer día sobre Municipalidades y DEL José Blanes

Resumen de las presentaciones del primer día sobre Municipalidades y DEL José Blanes Martes 27 de mayo 2014 Matagalpa CEBEM Resumen de las presentaciones del primer día sobre Municipalidades y DEL José Blanes El conjunto de las exposiciones de Las asociaciones de municipalidades y municipios

Más detalles

DISEÑO DE INDICADORES DE DESIGUALDAD SOCIAL EN LAS CIUDADES.-

DISEÑO DE INDICADORES DE DESIGUALDAD SOCIAL EN LAS CIUDADES.- DISEÑO DE INDICADORES DE DESIGUALDAD SOCIAL EN LAS CIUDADES.- 1. Introducción. El presente documento es el referente metodológico para la selección inicial de los barrios deprimidos. Se recoge una propuesta

Más detalles

Organización como función administrativa Resumen para Administración y Gestión Profesor: Gonzalo V.

Organización como función administrativa Resumen para Administración y Gestión Profesor: Gonzalo V. Organización como función administrativa Introducción: Organización rganización como función administrativa En las organizaciones que se caracterizan por estar orientadas al éxito, a la eficiencia y al

Más detalles

Sistema de Mensajería Empresarial para generación Masiva de DTE

Sistema de Mensajería Empresarial para generación Masiva de DTE Sistema de Mensajería Empresarial para generación Masiva de DTE TIPO DE DOCUMENTO: OFERTA TÉCNICA Y COMERCIAL VERSIÓN 1.0, 7 de Mayo de 2008 CONTENIDO 1 INTRODUCCIÓN 4 2 DESCRIPCIÓN DE ARQUITECTURA DE

Más detalles

Este documento ha sido generado para facilitar la impresión de los contenidos. Los enlaces a otras páginas no serán funcionales.

Este documento ha sido generado para facilitar la impresión de los contenidos. Los enlaces a otras páginas no serán funcionales. Este documento ha sido generado para facilitar la impresión de los contenidos. Los enlaces a otras páginas no serán funcionales. Introducción Por qué La Geometría? La Geometría tiene como objetivo fundamental

Más detalles

Unidad VI: Supervisión y Revisión del proyecto

Unidad VI: Supervisión y Revisión del proyecto Unidad VI: Supervisión y Revisión del proyecto 61. Administración de recursos La administración de recursos es el intento por determinar cuánto, dinero, esfuerzo, recursos y tiempo que tomará construir

Más detalles

------------------------------------------------------------------------------------------------------------------------ VISIÓN, MISIÓN, VALORES

------------------------------------------------------------------------------------------------------------------------ VISIÓN, MISIÓN, VALORES ------------------------------------------------------------------------------------------------------------------------ VISIÓN, MISIÓN, VALORES Se abrió este foro acerca de las primeras definiciones estratégicas,

Más detalles

LA IMPORTANCIA DE CONTROLAR LAS PÉRDIDAS DE ENERGÍA EN LAS EMPRESAS DISTRIBUIDORAS

LA IMPORTANCIA DE CONTROLAR LAS PÉRDIDAS DE ENERGÍA EN LAS EMPRESAS DISTRIBUIDORAS LA IMPORTANCIA DE CONTROLAR LAS PÉRDIDAS DE ENERGÍA EN LAS EMPRESAS DISTRIBUIDORAS Objetivo El presente informe se ha escrito con la finalidad de establecer un marco objetivo como punto de partida para

Más detalles

Capitulo VII. Editor de Mapa de Tareas. Como hemos hablado en los capítulos anteriores, sabemos que parte del éxito

Capitulo VII. Editor de Mapa de Tareas. Como hemos hablado en los capítulos anteriores, sabemos que parte del éxito Capitulo VII Editor de Mapa de Tareas. Como hemos hablado en los capítulos anteriores, sabemos que parte del éxito que puede tener un ambiente de aprendizaje, consiste en el impacto que de primera instancia

Más detalles