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); }
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; }
public ProcessGeneticAlgorithm(ParametersGeneticAlgorithm parameters) { this.parameters = parameters; }
public CustomEvaluator(ParametersGeneticAlgorithm parameters) { this.parameters = parameters; }
public void SetParameters(string tipoAvaliacao, ParametersGeneticAlgorithm parametersGA) { this.tipoAvaliacao = tipoAvaliacao; this.parametersGA = parametersGA; this.dtGeracao = DateTime.Today; }