• Nenhum resultado encontrado

CONFIGURAÇÃO DO ALGORITMO GENÉTICO

Inicialmente, é necessário definir parâmetros para o controlador PID de maneira empírica, ou seja, manual. Isso é feito por dois motivos: inicialização do algoritmo genético e para posterior comparação com os resultados obtidos na otimização. Os parâmetros iniciais são obtidos pelo método da tentativa e erro, um processo que envolve, por vezes, levar o sistema físico até próximo do seu limite de atuação, já que não se tem a certeza de que os parâmetros tentados são adequados. Após esse teste inicial, foram obtidos os parâmetros para o controlador PID descritos na Tabela 1.

Tabela 1 – Ganhos do controlador PID obtidos manualmente

Kp 1,00

Ki 0,10

Kd 0,50

Fonte: (AUTOR, 2019)

Os parâmetros são enviados em tempo real ao controlador através de um diagrama de blocos do Simulink. A simulação também envia um sinal de referência equivalente à variável de operação do sistema, ou seja, a inclinação da gangorra em graus. Assim, um degrau unitário é aplicado na entrada do sistema com valor de 1 grau. A resposta pode ser observada na Figura 28.

Figura 28 – Resposta ao degrau para parâmetros iniciais do PID

Fonte: (AUTOR, 2019)

É possível observar que o sistema responde à mudança de referência, atingindo o valor de 1 grau pela primeira vez em 4,8 s, bem como o overshoot máximo de 33,8% em 6,16 s. Também se observa que o sistema atinge o regime permanente em aproximadamente 23 s, permanecendo dentro de uma faixa de erro de 15%. A resposta obtida não é ideal. Além de possuir dois picos destacados de overshoot, leva um tempo considerável para estabilizar. Dessa forma, parte-se para o uso do algoritmo genético como método de sintonia do controlador.

A função de avaliação, ou fitness, definida anteriormente, garante que haja uma minimização do erro com relação ao tempo em que ele ocorre. Ou seja, o índice ITAE pondera o erro no tempo e penaliza quanto mais tarde esse erro ocorrer. Dessa forma, ao mesmo tempo em que se procura diminuir o erro geral da resposta, também procura-se melhorar o desempenho do controlador quanto ao tempo para atingir o regime permanente. O índice ITAE é tal que, quanto menor seu valor, menor terá sido o erro total da resposta.

Com essa informação em mente, parte-se para a configuração do AG do MATLAB. Existem várias características que necessitam ser especificadas, e para tanto, foram executados testes sucessivos. Para cada teste, obtém-se um valor do índice ITAE que corresponde à qualidade da otimização. Assim, o valor ITAE será utilizado para diferenciar as várias opções do algoritmo e definir as mais adequadas para o problema em questão.

O Teste 1 foi efetuado com o intuito de definir o tamanho adequado da população, ou seja, o número de indivíduos. O tipo de variável é double vector; a função de criação da população inicial é feasible, ou seja, definida de acordo com os limites especificados para as variáveis e aleatória; o tipo de seleção é o padrão, stochastic uniform; a fração de indivíduos elite é 5%, formados por cruzamento, 80%, e o resto da população por mutação; a mutação é adaptive feasible, padrão; e o cruzamento é do tipo scattered, também padrão do algoritmo para problemas com restrições. O critério de parada foi definido como um número máximo de gerações, especificado em 10 para esse teste. O algoritmo foi executado para diferentes tamanhos de população, com os resultados apresentados na Tabela 2.

Tabela 2 – Resumo do Teste 1

Tamanho da população ITAE

10 0,166

30 0,133

50 0,100

Fonte: (AUTOR, 2019)

É possível verificar que o aumento da população leva a uma consequente diminuição do índice ITAE, indicando que o erro total diminuiu e que a otimização, portanto, foi mais eficaz. A utilização de uma população de 50 indivíduos, no entanto, aumenta o tempo de execução do algoritmo, tomando mais de 1 h. Dessa forma, e levando-se em consideração que a diferença entre os índices ITAE não é muito expressiva, optou-se por fixar a população em 30 indivíduos para os testes subsequentes. O Teste 2 foi efetuado para descobrir o efeito do número de gerações pelo qual o algoritmo itera. O teste parte das definições do teste anterior, mantendo as mesmas definições do algoritmo e alterando apenas o critério de parada. Os resultados estão na Tabela 3.

Tabela 3 – Resumo do Teste 2

Número de gerações ITAE

20 0,132

30 0,124

Fonte: (AUTOR, 2019)

Como no primeiro teste, aqui também o aumento do número de gerações conduz a uma diminuição do ITAE. É possivel verificar que a diminuição do ITAE também não é muito expressiva. Levando-se em consideração o longo tempo de execução para 30 gerações, e a pequena diferença entre o índice obtido para 10 gerações (Teste 1) e 20 gerações, optou-se por fixar o número de gerações em 10, e avançar na exploração dos outros parâmetros do algoritmo.

Na sequência, foi executado o Teste 3, com o intuito de definir o tipo de seleção a ser utilizado. Nos testes anteriores havia sido utilizado o padrão do algoritmo, stochastic uniform. Há outros dois tipos de métodos de seleção utilizados na bibliografia destacada que serão testados aqui, o método roulette e o método tournament. O método do torneio possui um parâmetro que define o número de indivíduos pais que serão selecionados aleatoriamente da população, o qual foi mantido em seu padrão de 4. Além disso, os outros parâmetros do algoritmo são mantidos como nos testes anteriores. A Tabela 4 apresenta os resultados do teste. O método da roleta atingiu uma melhor otimização, como pode ser verificado. Assim, é selecionado como padrão para os próximos testes.

Tabela 4 – Resumo do Teste 3

Método de seleção ITAE

Roulette 0,112

Tournament 0,145

Fonte: (AUTOR, 2019)

O próximo teste, Teste 4, procura definir o tipo de cruzamento a ser utilizado no algoritmo. Nos testes anteriores foi utilizado o padrão scattered. Na sequência serão apresentados os resultados de ITAE para os métodos single point, two point, intermediate, heuristic e artihmetic, de acordo com a Tabela 5.

Tabela 5 – Resumo do Teste 4

Método de cruzamento ITAE

Single point 0,124 Two point 0,102 Intermediate 0,148 Heuristic 0,137 Arithmetic 0,122 Fonte: (AUTOR, 2019)

Como fica bem definido pelos resultados apresentados, o método de cruzamento de ponto duplo permitiu atingir uma melhor otimização, com um índice ITAE menor do que os outros métodos. Assim, esse é o método de cruzamento escolhido.

O último teste preliminar para configuração do algoritmo, Teste 5, procura analisar o efeito dos diferentes métodos de mutação. O restante dos parâmetros permanece como definido anteriormente. A mutação, como padrão, preenche o restante da população, após a elitização dos indivíduos e cruzamento. Conforme os índices definidos, a mutação contribui com 15% da formação da população. Nos testes anteriores havia sido utilizado o padrão do algoritmo, adaptive feasible. Na Tabela 6 são apresentados os resultados para os métodos gaussian e uniform.

Tabela 6 – Resumo do Teste 5

Método de mutação ITAE

Gaussian 0,129

Uniform 0,118

Fonte: (AUTOR, 2019)

Verifica-se que o método uniforme obtém um melhor desempenho que o método gaussiano. A documentação do algoritmo destaca que o método gaussiano pode inclusive obter soluções não adequadas para problemas com restrições, que é o caso desse estudo. Na comparação com o Teste 4, verifica-se que o método padrão, adaptive feasible, obteve a melhor otimização.

Os testes anteriores permitiram analisar as diferentes características do algoritmo genético, e como cada uma influencia no desempenho do mesmo. A

análise progressiva permitiu especificar as características a serem utilzadas na sequência desse estudo, e também permitiu descobrir um valor mínimo do índice ITAE possível de ser atingido, aproximadamente 0,1. Com essas informações, o AG foi configurado para a sintonia do controlador PID. A Tabela 7 traz um resumo das opções definidas para o algoritmo.

Tabela 7 – Resumo das definições do algoritmo genético

Característica Definição

Tipo de população Double vector

Tamanho da população 30

Função de criação da população Feasible

Fitness scaling Rank

Seleção Roulette

Reprodução Elite: 5%, cruzamento: 80%

Mutação Adaptive feasible (15%)

Cruzamento Two point

Critério de parada Nr. de gerações (10)

Fonte: (AUTOR, 2019)

Documentos relacionados