Exemplo n.º 1
0
        public void LeerData()
        {
            StreamReader file = new System.IO.StreamReader(ruta);
            String       linea;

            file.ReadLine(); //cabecera
            linea = file.ReadLine();
            String[] data = linea.Split(',');
            this.numTrabajadores = Convert.ToInt32(data[0]);
            this.numProcesos     = Convert.ToInt32(data[1]);
            this.alfa            = Convert.ToDouble(data[2]);
            this.tiempoTurno     = Convert.ToInt32(data[3]);

            file.ReadLine(); //newline
            file.ReadLine(); //cabecera de rotura

            // Leo indices de rotura, matriz de trabajador x proceso
            for (int i = 0; i < this.numTrabajadores; ++i)
            {
                Trabajador trabajador = new Trabajador(i, numProcesos);

                linea = file.ReadLine();
                String[] linea_rotura = linea.Split(',');
                for (int j = 1; j < this.numProcesos + 1; ++j)
                {
                    trabajador.roturaProceso.Add(Convert.ToDouble(linea_rotura[j]));
                }
                trabajadores.Add(trabajador);
            }

            linea = file.ReadLine(); //newline
            linea = file.ReadLine(); //cabecera de tiempo


            // Leo indices de tiempo, matriz de trabajador x proceso
            for (int i = 0; i < this.numTrabajadores; ++i)
            {
                linea = file.ReadLine();
                String[] linea_tiempo = linea.Split(',');
                for (int j = 1; j < this.numProcesos + 1; ++j)
                {
                    trabajadores[i].tiempoProceso.Add(Convert.ToInt32(linea_tiempo[j]));
                }
            }

            linea = file.ReadLine(); //newline

            linea = file.ReadLine();
            data  = linea.Split(',');
            for (int i = 1; i < this.numProcesos + 1; ++i)
            {
                Proceso proceso = new Proceso(i - 1, this.numTrabajadores);
                proceso.puestosDeTrabajo = Convert.ToInt32(data[i]);
                procesos.Add(proceso);
            }


            linea = file.ReadLine(); //newline

            linea = file.ReadLine();
            data  = linea.Split(',');
            for (int i = 1; i < this.numProcesos + 1; ++i)
            {
                procesos[i - 1].esConsiderado = (Convert.ToInt32(data[i]) == 1) ? true : false;
            }

            file.Close();
        }
Exemplo n.º 2
0
 public void AsignarTrabajadorAProceso(Trabajador trab, Proceso proc)
 {
     proc.asignarTrabajador(trab);
     trab.asignarProceso(proc);
 }
Exemplo n.º 3
0
 public void asignarTrabajador(Trabajador trab)
 {
     this.asignacionTrabajadores[trab.id] = 1;
     ++this.trabajadoresAsignados;
 }