Escolar Documentos
Profissional Documentos
Cultura Documentos
APLICADAS
Proyecto IOP
Capacidades
2
Índice de Contenidos
Introducción......................................................................................................................................4
7 Pruebas...................................................................................................................................22
8 Archivos fuentes.....................................................................................................................24
Glosario...........................................................................................................................................30
Siglario............................................................................................................................................30
Bibliografía......................................................................................................................................31
3
Introducción
Como colegio de alto nivel académico, San Silvestre (SSS) brinda a cada una
de sus alumnas la oportunidad de lograr sus metas personales dentro de un
entorno alegre, amigable y solidario.
4
1. Análisis y determinación del problema
Se identificó que para lograr cumplir con la resolución de todas las incidencias
en el tiempo mínimo se debe asignar los recursos en base a sus capacidades
(velocidad para resolución de una determinada incidencia).
Por esta razón se ha hecho un trabajo de análisis para identificar los tipos de
incidencia que llegan normalmente al área de soporte, y en base a dichos tipos,
se ha evaluado la velocidad que tiene cada recurso para su resolución.
5
Además, se han obtenido también las capacidades que cada uno de los
recursos tiene por tipo de incidencia:
En esta ocasión, se está aterrizando dicha realidad dentro del área de soporte
de un colegio, buscando la óptima distribución de tareas (incidencias) entre los
recursos de soporte.
6
3. Consideraciones y supuestos de implementación usados
Además, por el giro del negocio actual, se está considerando que los tipos de
incidencia no van a variar en el tiempo.
También, se debe considerar que el modelo creado está diseñado para ser
ejecutado de manera diaria, ya que realiza la distribución de tareas para 8 horas
(un día normal de trabajo).
RECURSO
7
TIPO_INCIDENCIA
HORA
Esta variable se utilizo para almacenar las horas sobre las que se
distribuirán las tareas. Estos datos se extraen de base de datos,
específicamente de la tabla TB_HORA. Adicionalmente a esta variable se
ha declarado 1 atributo “VALOR_HORA” el que corresponde al valor
numérico de la hora que se está evaluando.
INCIDENCIA
8
4.2 Variables Derivadas
CAPACIDAD
Esta variable se utilizo para almacenar la velocidad que tiene cada recurso
para resolver un determinado tipo de incidencia. Estos datos se extraen de
base de datos, específicamente de la tabla TB_CAPACIDAD.
Adicionalmente a esta variable se ha declarado 1 atributo “VELOCIDAD” el
que corresponde al valor numérico de la velocidad para resolver una
incidencia de cada recurso por tipo de incidencia.
TAREA
GANTT
Esta variable se utilizo para almacenar la asignación de las tareas por cada
recurso para resolver una determinada incidencia. Estos datos se calculan
con el modelo matemático. Estos datos se almacenan en base de datos,
específicamente de la tabla TB_GANTT. Para realizar esto se ha declarado
una variable binaria “B” que se prendera cuando una incidencia sea
asignada a un recurso en una determinada hora.
4.3 Restricciones
9
Para la implementación del proyecto fue necesario el uso de 4 restricciones.
A continuación se detalla cada una de estas:
10
4.3.3 Una Incidencia se hace por 1 solo recurso
11
se uso la variable binaria “B” y se obligo a que la suma de los
binarios de una hora x sea mayor o igual que una hora x+1.
12
4.5 Definición de la función objetivo
13
4.6 Lectura de Variables y envió de respuesta
14
15
16
6. Diseño de la base de datos y descripción de formularios
17
Descripción de tablas:
CAMPO DESCRIPCION
CAMPO DESCRIPCION
18
TB_TIPO_INCIDENCIA: Tabla que almacena la información del tipo de
incidencia
CAMPO DESCRIPCION
CAMPO DESCRIPCION
19
TB_HORA: Tabla que almacena las horas de trabajo durante el día
CAMPO DESCRIPCION
CAMPO DESCRIPCION
20
6.2 Descripción de formularios
6.2.1 FrmMDIContenedor
21
6.2.2 Registro de Incidencias
22
7. Pruebas
23
Con los registros mostrados, se obtuvo el siguiente cuadro de distribución:
8. Archivos fuentes
try
{
// 2. Open the connection
conn.Open();
Gant objGant;
List<Gant> lstGant = new List<Gant>();
while (rdr.Read())
{
objGant = new Gant();
objGant.RECURSO = rdr[1].ToString();
objGant.HORA = rdr[2].ToString();
objGant.INCIDENCIA = rdr[3].ToString();
objGant.ASIGNADA = (rdr[4] == DBNull.Value) ? false : Convert.ToBoolean(rdr[4]);
lstGant.Add(objGant);
}
return lstGant;
25
}
finally
{
// 5. Close the reader
if (rdr != null)
{
rdr.Close();
}
if (!lstIncidenciasAsignadas[index].RECURSO.Equals(strRecurso))
{
dataRow = dtIncidenciasAsignadas.NewRow();
dataRow[0] = lstIncidenciasAsignadas[index].RECURSO;
strRecurso = lstIncidenciasAsignadas[index + 1].RECURSO;
indexRow++;
}
List<Gant> lstGantTemp;
for (indexColumm = 1; indexColumm < dtIncidenciasAsignadas.Columns.Count;
indexColumm++)
{
lstGantTemp = lstIncidenciasAsignadas.FindAll(delegate(Gant objGantTemp) { return
(objGantTemp.RECURSO.Equals(dataRow[0].ToString()) && objGantTemp.HORA.Equals("H"
+ indexColumm)); });
dtIncidenciasAsignadas.Rows.Add(dataRow);
}
dataGridView1.DataSource = dtIncidenciasAsignadas;
this.dataGridView1.AllowUserToAddRows = false;
}
dtCabecera.Columns.Add("RECURSOS");
27
MessageBox.Show("Se distribuyeron las tareas correctamente", "Administrar Incidencias",
MessageBoxButons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show("Lo sentimos, el Lingo no soporta esta cantidad de incidencias, contacte
con su profesor", "Asignar Tareas", MessageBoxButons.OK, MessageBoxIcon.Error);
}
}
// Any problems?
if (nError != 0)
{
// Had a problem
Console.WriteLine("Unable to solve!");
MessageBox.Show("Unable to solve!");
}
else
{
// Everything went OK ... print results
Console.WriteLine("Solved");
// Close the log file
lingo.LScloseLogFileLng(pLingoEnv);
}
goto NormalExit;
ErrorExit:
Console.WriteLine("LINGO Error Code: {0}\n", nError);
NormalExit:
// Free Lingo's envvironment to avoid a memory leak
lingo.LSdeleteEnvLng(pLingoEnv);
FinalExit:
Console.WriteLine("press enter...");
String sTemp = Console.ReadLine();
}
catch (Exception e)
{
throw new Exception();
}
}
29
9. Posibilidades de mejoras e innovaciones del Proyecto
30
Glosario
Tiempo Límite: Tiempo máximo del cual se puede disponer para cumplir con
la resolución de una incidencia (en horas).
Siglario
31
Bibliografía
AULA VIRTUAL UPC (2011) (http://moodle.upc.edu.pe/) Sitio web del material de
consulta del curso de Investigación Operacional.
ULFE VEGA, Luis (2011) Consultas para definición del modelo en Lingo.
32