3.3 OTIMIZAÇÃO
3.3.1 Definições de um Problema de Otimização
3.3.2.2 Algoritmo
O procedimento computacional envolvido na maximização da função de apti- dão 𝐹 (𝑥1, 𝑥2, 𝑥3, ..., 𝑥𝑛) no algoritmo genético pode ser descrito pelos seguintes pas-
sos:
1. Escolher um comprimento do vetor adequado para representar as 𝑛 variáveis de projeto do vetor de projeto 𝑋. Definir valores adequados para os seguintes parâmetros: tamanho da população 𝑚, probabilidade de cruzamento 𝑝𝑐, proba-
bilidade de mutação 𝑝𝑚, valor permitido do desvio padrão dos valores físicos da
população 𝑠𝑓𝑚𝑎𝑥, para usar como critério de convergência e número máximo de
gerações 𝑖𝑚𝑎𝑥 para ser usado um segundo critério de convergência.
2. Gerar uma população aleatória de tamanho 𝑚, cada consistindo de uma sequên- cia de comprimento 𝑙 = 𝑛𝑞. Avaliar os valores de aptidão 𝐹 𝑖, 𝑖 = 1, 2, ..., 𝑚, dos vetores 𝑚.
3. Executar o processo de reprodução.
4. Executar a operação de cruzamento usando a probabilidade de cruzamento 𝑝𝑐.
5. Executar a operação de mutação usando a probabilidade de mutação 𝑝𝑚 para
encontrar a nova geração de cordas 𝑚.
6. Avaliar os valores de aptidão 𝐹 𝑖, 𝑖 = 1, 2, ...𝑚, das 𝑚 cordas da nova população. Encontrar o desvio padrão dos valores 𝑚 fitness.
7. Testar a convergência do algoritmo. Se 𝑠𝑓 ≥ 𝑠𝑓𝑚𝑎𝑥, o critério de convergência
é satisfeito e, portanto, o processo pode ser interrompido. Caso contrário, ir ao para o passo 8.
8. Verificar o número máximo de gerações. Se 𝑖 ≤ 𝑖𝑚𝑎𝑥, os cálculos foram realiza-
dos para o número máximo permitido de gerações e, portanto, o processo deve ser interrompido. Caso contrário, aumentar o contador como 𝑖 = 𝑖 + 1 e retornar ao passo 3.
3.3.3 NSGA-II
O NSGA-II é um algoritmo para a otimização multiobjetivo com rápida con- vergência que realiza um ordenamento elitista por não dominância, proposto por Deb et al. (2002), para o qual, a solução consiste em um conjunto de soluções ótimas denominadas fronteira de Pareto (DEB, 1999).
Inicialmente, é criada uma população aleatória de pais 𝑃0 que é ordenada por
não dominância. Cada solução recebe uma condição de classificação igual ao seu nível de não dominância, em que 1 é o melhor nível, 2 é o próximo nível melhor, e assim por diante. Em seguida, através das operações usuais de seleção, cruzamento e mutação são usados para criar uma população filha 𝑄0 de tamanho 𝑁 . No conjunto
𝑅0 são acumuladas as duas populações.
Uma vez que o elitismo é introduzido, será comparada a população atual com as melhores soluções não definidas encontradas previamente, o procedimento é dife- rente após a geração inicial. Primeiramente, é combinado uma população 𝑅𝑡= 𝑃𝑡∪𝑄𝑡.
Então a população 𝑅𝑡, de tamanho 2𝑁 , é ordenada por não dominância. Como todos
os membros da população anterior e atuais estão incluídos em 𝑅𝑡, o elitismo é ga-
rantido. Então, as soluções pertencentes ao melhor conjunto não dominado 𝐹1 são
as melhores soluções na população combinada e devem ser destacadas das outras soluções. Se o tamanho de 𝐹1 for menor que 𝑁 , então, deve se escolher os mem-
bros do conjunto para 𝐹1 a nova população 𝑃𝑡+1. Os membros da população 𝑃𝑡+1
são escolhidos a partir da fronteiras não dominadas pela ordem de sua classificação. Assim, as soluções do conjunto 𝐹2 são escolhidas na sequência, seguidas de solu-
ções do conjunto 𝐹3, e assim por diante. Esse procedimento é continuado até que
nenhum conjunto mais possa ser acomodado. Se o conjunto 𝐹𝑙 é o último conjunto
não dominado, nenhum outro conjunto pode ser acomodado.
Geralmente, a contagem de soluções em todos os conjuntos de 𝐹1 para 𝐹𝑙
seria maior que o tamanho da população. Para escolher exatamente os 𝑁 membros da população, são classificadas as soluções da última fronteira utilizando um operador de comparação e escolhidas as melhores soluções necessárias para preencher todos os espaços da população. Finalmente, na população 𝑃𝑡+1de tamanho 𝑁 é realizada a
seleção, cruzamento, e mutação para criar uma nova população 𝑄𝑡+1 de tamanho 𝑁 .
O processo do NSGA-II é mostrado na Figura 10.
Uma das principais vantagens do NSGA-II refere se ao modo de como são mantidas a diversidade entre as soluções não dominadas. A complexidade computa-
Figura 10 –Estrutura do NSGA-II.
Fonte – (LOBATO, 2008)
cional é obtida com a soma de três cenários, de acordo com Deb et al. (2002):
1. Na ordenação não-dominada é preciso comparar as 2𝑁 soluções com a 2𝑁 − 1 para cada um dos 𝑀 objetivos, 𝑂(𝑀 (2𝑁 )2);
2. A distância da multidão da pior situação, quando as soluções de 𝑅 estão em 𝐹1,
logo se faz necessário a ordenação para cada um dos objetivos, 𝑂(𝑀 (2𝑁 )𝑙𝑜𝑔(2𝑁 )); 3. Para transferir as soluções de 𝐹1 para 𝑃𝑡+1, são ordenados de acordo com o
operador, 𝑂(2𝑁 𝑙𝑜𝑔(2𝑁 )).
Logo a complexidade total do algoritmo NSGA-II é de ordem 𝑂(𝑀 𝑁2).
3.3.3.1 Algoritmo
O funcionamento do algoritmo NSGA-II, segundo Konak, Coit e Smith (2006), consiste em uma população pai 𝑃 , que gera uma população filha 𝑄, análogo aos algoritmos genéticos, a seguir é apresentado o algoritmo:
2. Gerar uma população aleatória 𝑃0 de tamanho 𝑁 ;
3. Para produzir uma população descendente 𝑄0, de tamanho 𝑁 , é aplicado a se-
leção, cruzamento e mutação no 𝑃0;
4. Se o critério de convergência 𝐶𝑟 é satisfeito, o algoritmo deve parar e exibir 𝑃𝑡;
5. Combinar populações dos pais 𝑃𝑡e dos descendentes 𝑄𝑡, 𝑅𝑡= 𝑃𝑡∪ 𝑄𝑡;
6. Realizar a ordenação não-dominada em 𝑅𝑡e identificar as diferentes fronteiras:
𝐹1, 𝐹2, ..., 𝐹𝑘;
7. Enquanto 𝑖 = 1, ..., 𝑘, deve-se:
a) Calcular a distância da multidão das soluções de 𝐹𝑖;
b) Caso |𝑃𝑡+1| + |𝐹𝑖| ≤ 𝑁 , a população deve receber as soluções das fronteiras
𝑃𝑡+1 = 𝑃𝑡+1∪ 𝐹𝑖, ou se |𝑃𝑡+1+ 𝐹𝑖| > 𝑁 , deve se incluir as soluções menos
dispersas da multidão (𝑁 − |𝑃𝑡+1)de 𝐹𝑖 em 𝑃𝑡+1;
8. Executar a seleção, cruzamento e mutação para gerar a nova população em 𝑃𝑡+1
para obter uma população descendente 𝑄𝑡+1 de tamanho 𝑁 ;
9. Incrementar o contador 𝑡 = 𝑡 + 1 e retornar ao passo 4, caso 𝑡 ≥ 𝑡𝑚𝑎𝑥 o algoritmo
deve ser encerrado.
3.3.4 Fronteira de Pareto
Na otimização multiobjetivo quando comparada com a otimização de um único objetivo, não se obtém um único resultado, mas um conjunto de soluções ótimas. Este conjunto de soluções ótimas denomina-se conjunto de soluções não-dominadas ou fronteira de Pareto. A principal característica dos elementos da fronteira de Pareto é que a melhora de um objetivo implica em uma degradação de outro no mínimo. Para ilustrar o conceito do fronteira de Pareto, a representação adequada da otimização multiobjetivo é:
min{𝑧1 = 𝑓1(𝑥), 𝑧2 = 𝑓2(𝑥), ..., 𝑧𝑞 = 𝑓𝑞(𝑥)}
sujeito a
𝑔𝑗(𝑥) ≤ 0 𝑗 = 1, 2, ..., 𝑚 (3.24)
onde 𝑧 ∈ 𝑅𝑛 é um vetor com 𝑛 variáveis de decisão, 𝑓 (𝑥) é a função objetivo e 𝑋
é o vetor das variáveis de projeto, 𝑔𝑗(𝑥)representa as restrições de inequalidade nas
variáveis de projeto. 𝑆 representa a área possível no espaço de decisão. 𝑍 caracteriza a região possível no espaço do critério. Assim:
𝑆 = {𝑥 ∈ 𝑅𝑛| 𝑔𝑗 ≤ 0, 𝑗 = 1, 2, ..., 𝑚, 𝑥 ≥ 0} (3.25)
𝑍 = {𝑍 ∈ 𝑅𝑞 | 𝑧1 = 𝑓1(𝑥), 𝑧2 = 𝑓2(𝑥), ..., (3.26)
𝑧𝑞 = 𝑓𝑞(𝑥), 𝑥 ∈ 𝑆}
Dado 𝑧0 ∈ 𝑍, é uma solução de Pareto exclusiva se não houver outro ponto 𝑧 ∈ 𝑍 tal
que:
𝑧𝑘𝑧𝑘0 para 𝑘 ∈ {1, 2, ..., 𝑞} (3.27)
𝑧𝑙 ≥ 𝑧𝑙0 para todos 𝑙 ̸= 𝑘
Uma representação típica dos conjuntos alcançáveis, para um problema com duas funções objetivo é mostrada na Figura 11.
Figura 11 –Fronteira de Pareto para duas funções objetivo.
Fonte – Autoria Própria.
Para exemplificar o uso da fronteira de Pareto, consideramos um projeto de um eixo, em que duas funções objetivos consideradas são a minimização do peso e a maximização da rigidez. Esses objetivos podem são inversamente proporcionais, pois o peso diminuirá a rigidez e vice-versa. Portanto, em uma otimização multiobjetivo, um ponto no espaço de projeto é um ponto ótimo de Pareto se não houver um ponto viável que reduza um critério sem aumentar o valor de um ou mais dos outros critérios (PAPALAMBROS; WILDE, 2000).
4 METODOLOGIA
Neste capítulo, a partir da modelagem cinemática e dinâmica apresentados no capítulo anterior serão estabelecidos os critérios de desempenho do manipulador. Para isto, o espaço de projeto que permite avaliar todas as combinações das variáveis de projeto dentro das restrições estabelecidas será definido. Serão apresentados os critérios de desempenho baseados no modelo cinemático e dinâmico. A seguir, o pro- blema de otimização associado à metodologia de projeto será estabelecido para obter os comprimentos dos elos. E por fim, o procedimento para determinar os parâmetros estruturais e a análise dinâmica do manipulador será definido.
4.1 CRITÉRIOS DE DESEMPENHO
Nesta secção, os critérios de desempenho que serão considerados neste tra- balho serão definidos. Para isto, os atlas de desempenho serão definidos graficamente dentro do espaço de projeto para avaliar a relação do comprimento adimensional dos elos em relação aos critérios de desempenho especificados. Os atlas de desempenho são uma ferramenta importante durante o projeto ótimo de um robô, pois pode-se ana- lisar visualmente a performance do robô para os critérios de desempenho, ajudando consideravelmente na descoberta de um ponto ótimo global ou região ótima para um critério e possíveis regiões de singularidades.
4.1.1 Espaço de Projeto
A definição do espaço de projeto é fundamental para avaliar os critérios de desempenho. Assim, o espaço de projeto estabelece todas as combinações possíveis dos comprimentos adimensionais dos elos.
tadas por Liu, Wang e Pritschow (2006a). O comprimento adimensional dos elos é descrito pela equação (3.7). Os comprimentos adimensionais dos elos devem ser limitados para garantir a conformidade geométrica do robô, assim:
0 < 𝑟1, 𝑟2 < 3 e 0 ≤ 𝑟3 ≤ 1.5 (4.1)
O espaço de projeto é apresentado na Figura 12a considerando os limites da equação (4.1) e sabendo que 𝑟1 + 𝑟2 + 𝑟3 = 3. Além disso, uma configuração
planar do espaço de trabalho é apresentada na Figura 12b, para isto as coordenadas ortogonais 𝑠 e 𝑡, são definidas como:
𝑠 = 2𝑟1/ √ 3 + 𝑟3/ √ 3 e 𝑡 = 𝑟3 (4.2) (a) 0 0.5 1 1.5 2 2.5 3 3.5 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 r1= r2+ r3 r2= r3+ r1 r1= 0 r2= 0 r2= r1 r3= r1+ r2 t s (b)
Figura 12 –Espaço de projeto do mecanismo paralelo planar.
Fonte – Autoria Própria.
Como apresentado na Figura 12b, o espaço de projeto pode ser dividido em várias sub-regiões e essas sub-regiões são delimitada por linhas, onde 𝑟1, 𝑟2 e 𝑟3
devem assumir certos comprimentos. Observa-se que no limite esquerdo do espaço de projeto 𝑟2 = 0, a direita 𝑟1 = 0 e adicionalmente 𝑟3 = 0 no limite inferior. As linhas
pontilhadas no interior do espaço de projeto demonstram a associação de valores específicos que assumem os comprimentos dos elos.