コード例 #1
0
        private bool GerarAvaliacao()
        {
            bool ret = false;

            ConfigComplexidade[] complexRules = colControlComplexidade.GetValidConfigComplexidade();

            ConfigTipoQuestao[] tipoQuestaoRules = colControlTipoQuestao.GetValidConfigTipoQuestao();

            int idDisciplina = (int)cboDisciplina.SelectedValue;

            FormExecutaGeracaoAvaliacao formExecutaGeracaoAvaliacao = new FormExecutaGeracaoAvaliacao();

            string tipoAvaliacao = cboTipoAvaliacao.Text;

            ParametersGeneticAlgorithm parametersGA = new ParametersGeneticAlgorithm();

            parametersGA.QtdNaoRepetirAvaliacao      = DBControl.Instituicao.QtdNaoRepetirAvaliacao;
            parametersGA.IdDisciplina                = idDisciplina;
            parametersGA.QtdQuestoes                 = (int)numQtdQuestoes.Value;
            parametersGA.TempoPrevistoAvaliacao      = (int)numTempoPrevistoAvaliacao.Value;
            parametersGA.IgnorarTempoMinReutilizacao = chkIgnorarTempoMinReutilizacao.Checked;
            parametersGA.ComplexRules                = complexRules;
            parametersGA.TipoQuestaoRules            = tipoQuestaoRules;
            parametersGA.MaxDuration                 = (int)numTempoMaxProc.Value;
            parametersGA.MaxGenerations              = (int)numQtdMaxGeracoes.Value;
            parametersGA.MinFitnessGoal              = (double)numPercMinAceitavel.Value;
            parametersGA.ProbabilidadeReproducao     = (double)numProbabilidadeReproducao.Value;
            parametersGA.ProbabilidadeMutacao        = (double)numProbabilidadeMutacao.Value;
            parametersGA.Seletor          = (SeletorGA)cboSeletorGA.SelectedValue;
            parametersGA.HabilitaElitismo = chkHabilitaElitismo.Checked;

            formExecutaGeracaoAvaliacao.SetParameters(tipoAvaliacao, parametersGA);

            Avaliacao avaliacao = null;

            formExecutaGeracaoAvaliacao.SetEventRetorno(new EventHandler <Avaliacao>(delegate(Object o, Avaliacao a)
            {
                avaliacao = a;

                ret = avaliacao != null;
            }));

            formExecutaGeracaoAvaliacao.ShowDialog(this);

            if (ret && eventRetorno != null)
            {
                eventRetorno(this, avaliacao);
            }
            return(ret);
        }
コード例 #2
0
ファイル: CustomGenome.cs プロジェクト: flipee/TestGen
        public void UpdateStat(ParametersGeneticAlgorithm parameters)
        {
            if (!pendStat)
            {
                return;
            }

            qtdTotal   = 0;
            tempoTotal = 0;

            for (int i = 0; i < totalNiveisComplex.Length; i++)
            {
                totalNiveisComplex[i] = 0;
            }

            for (int i = 0; i < totalTipos.Length; i++)
            {
                totalTipos[i] = 0;
            }

            List <int> list = new List <int>();

            int[] ids = new int[this.Length];

            Questao questao;

            for (int i = 0; i < this.Length; i++)
            {
                ids[i] = this[i];

                if (!list.Contains(ids[i]))
                {
                    qtdTotal++;
                    list.Add(ids[i]);
                }

                questao = parameters.Questoes[ids[i]];

                tempoTotal += questao.TempoResposta;

                totalNiveisComplex[questao.Complexidade - 1]++;

                totalTipos[(int)questao.TipoQuestao - 1]++;
            }

            pendStat = false;
        }
コード例 #3
0
 public ProcessGeneticAlgorithm(ParametersGeneticAlgorithm parameters)
 {
     this.parameters = parameters;
 }
コード例 #4
0
 public CustomEvaluator(ParametersGeneticAlgorithm parameters)
 {
     this.parameters = parameters;
 }
コード例 #5
0
 public void SetParameters(string tipoAvaliacao, ParametersGeneticAlgorithm parametersGA)
 {
     this.tipoAvaliacao = tipoAvaliacao;
     this.parametersGA  = parametersGA;
     this.dtGeracao     = DateTime.Today;
 }