Example #1
0
        private void testInicialSimulador()
        {
            Simulador simulador = new Simulador();

            simulador.iniciaModelo();
            txtLog.AppendText(simulador.testIniciaModelo());
            Clipboard.SetText(txtLog.Text);
        }
Example #2
0
 private void testExperto()
 {
     simulador = new Simulador();
     simulador.iniciaModelo();
     simulador.recomendador = new RExperto();
     simulador.Simula();
     txtLog.AppendText(simulador.testSimula());
     Clipboard.SetText(txtLog.Text);
 }
Example #3
0
 private void testSimulacion()
 {
     simulador = new Simulador();
     simulador.iniciaModelo();
     simulador.recomendador = new RRandom(ListaDeProblemas());
     simulador.Simula();
     txtLog.AppendText(simulador.testSimula());
     Clipboard.SetText("hola" + txtLog.Text);
 }
Example #4
0
        private void testSVD()
        {
            simulador = new Simulador();
            simulador.iniciaModelo();
            RRandom coldStart = new RRandom(ListaDeProblemas());

            simulador.recomendador = new RSVD(rEnColdStart: coldStart);
            simulador.Simula();
            txtLog.AppendText(simulador.testSimula());
            Clipboard.SetText(txtLog.Text);
        }
Example #5
0
        private void testThread()
        {
            if (oThread != null)
            {
                return;
            }

            simulador = new Simulador();
            simulador.iniciaModelo();
            RRandom coldStart = new RRandom(ListaDeProblemas());

            simulador.recomendador = new RSVD(rEnColdStart: coldStart);

            oThread = new Thread(new ThreadStart(simulador.Simula));
            oThread.Start();
            cont           = 0;
            timer1.Enabled = true;
        }
Example #6
0
        private void timer1_Tick(object sender, EventArgs e)
        {
            double progreso = 0.0;

            if (simulador.nCiclos > 0)
            {
                progreso += (double)simulador.ciclosCompletos / ((double)simulador.nCiclos + 1.0);
                if (simulador.simulacionesADar > 0)
                {
                    progreso += ((double)simulador.simulacionesDadas / (double)simulador.simulacionesADar) / (simulador.nCiclos + 1.0);
                }
            }

            progressBar.Value = (int)(progreso * progressBar.Maximum);

            double tiempoTranscurrido = 0.0;

            tiempoTranscurrido = ((double)cont * timer1.Interval) / 1000.0;
            lbTiempo.Text      = tiempoTranscurrido.ToString();

            lbTotalCiclos.Text       = simulador.nCiclos.ToString();
            lbCiclosCompletados.Text = simulador.ciclosCompletos.ToString();

            lbRDadas.Text  = simulador.simulacionesDadas.ToString();
            lbRPorDar.Text = simulador.simulacionesADar.ToString();

            lbTotalResuelto.Text   = simulador.totalRResueltas.ToString();
            lbTotalFallado.Text    = simulador.totalRFallidas.ToString();
            lbTotalSubioNivel.Text = simulador.totalSubioNivel.ToString();

            lbParcialFallado.Text    = simulador.parcialRFallidas.ToString();
            lbParcialResuelto.Text   = simulador.parcialRResueltas.ToString();
            lbParcialSubioNivel.Text = simulador.parcialSubioNivel.ToString();

            lbAlumnosCompletos.Text = simulador.alumnosCompletos.ToString();
            lbAlumnosRendidos.Text  = simulador.alumnosRendidos.ToString();

            lbSinRecomendaciones.Text = simulador.sinRecomendaciones.ToString();

            lbIdSimulacion.Text = simulador.idSimulacion.ToString();
            if (simulador.idSimulacion > 0)
            {
                lastIdSimulation = simulador.idSimulacion;
            }

            cont++;
            if (simulador.termino)
            {
                txtLog.Text         = simulador.testSimula();
                simulador           = null;
                timer1.Enabled      = false;
                oThread             = null;
                progressBar.Visible = false;
                inicializaGraficaOpcion();

                //Extra para hacer analisis de variables
                actual += inc;
                if (actual <= fin)
                {
                    realizaSimulacion();
                }
            }
            actualizaGrafica();
        }
Example #7
0
        private void realizaSimulacion()
        {
            if (simulador != null)
            {
                MessageBox.Show("Actualmente esta corriendo una simulacion");
                return;
            }

            simulador = new Simulador();
            simulador.iniciaModelo();
            Recomendador coldStart = null;

            if (cmbColdStart.Text == "Random")
            {
                coldStart = new RRandom(ListaDeProblemas());
            }
            else if (cmbColdStart.Text == "Experto")
            {
                coldStart = new RExperto();
            }
            Recomendador recomendador = null;

            if (cmbAlgoritmo.Text == "Random")
            {
                //Random
                recomendador = new RRandom(ListaDeProblemas());
            }
            else if (cmbAlgoritmo.Text == "Experto")
            {
                //Experto
                recomendador = new RExperto();
            }
            else if (cmbAlgoritmo.Text == "Inversion")
            {
                //Inversion
                recomendador = new RInversion(rEnColdStart: coldStart);
            }
            else if (cmbAlgoritmo.Text == "Usuario")
            {
                //Usuario
                recomendador = new RUser(rEnColdStart: coldStart);
            }
            else if (cmbAlgoritmo.Text == "Problema")
            {
                //Problema
                recomendador = new RProblema(rEnColdStart: coldStart);
            }
            else if (cmbAlgoritmo.Text == "SVD")
            {
                //SVD
                recomendador = new RSVD(rEnColdStart: coldStart);
            }
            else
            {
                MessageBox.Show("No hay Algoritmo Seleccionado");
                simulador = null;
                return;
            }

            int nUsuarios = int.Parse(txtUsuariosSimulacion.Text);
            int nCiclos   = int.Parse(txtNCiclos.Text);

            simulador.recomendador = recomendador;
            simulador.nUsuarios    = nUsuarios;
            simulador.nCiclos      = nCiclos;

            simulador.aPositiva = actual;

            oThread = new Thread(new ThreadStart(simulador.Simula));
            oThread.Start();
            cont                = 0;
            timer1.Enabled      = true;
            progressBar.Visible = true;
        }