• Nenhum resultado encontrado

IMPLEMENTAÇÃO COMPUTACIONAL

No documento felipedecastrobrumalmeida (páginas 59-63)

As etapas discutidas nas seções anteriores foram implementados em MatLab®, visando automatizar o processo de construção da RSE. O programa computacional foi inicialmente implementado de maneira sequencial, de tal forma que as direções fossem analisadas uma após a outra, durante o processo de busca pelos limites de segurança. Contudo, a construção da RSE de SEP’s possui elevado grau de complexidade e requer grande esforço computacional quanto maior a dimensão do sistema. Assim, a aplicação da ferramenta em SEP’s de grande porte resultaria num tempo de execução prolongado e, muitas vezes, na inviabilidade computacional.

Todavia, os avanços tecnológicos dos últimos anos que agrupam pequenos computadores com grande capacidade de processamento de dados, dá margem para a elaboração e utilização de técnicas computacionais mais poderosas. Neste contexto, vem à tona o desenvolvimento de um ambiente de processamento paralelo para obter a RSE de um SEP.

O processamento paralelo neste trabalho é executado a partir de uma caixa de ferramentas disponibilizada pelo software MatLab® denominada Parallel Computing Toolbox (MATHWORKS, 2010). Como mostrado na referência (COSTA, 2009), a paralelização é implantada num único computador de múltiplos processadores coordenadamente, ou seja, ocorre de maneira intrínseca pelo próprio MatLab® através de um simples comando de habilitação, diferentemente do processamento distribuído, em que uma ou várias unidades de processamento (CPU) estão envolvidas e a configuração de um cluster se tornaria necessária. O objetivo da paralelização do processo de construção da RSE é a diminuição do tempo de execução, de tal forma que esta ferramenta possa ser aplicada tanto em ambiente de planejamento off-line quanto em ambiente de tempo-real nos centros de controle de SEP’s.

Os passos necessários para introduzir o processamento paralelo no processo de construção da RSE são dispostos nos tópicos a seguir.

2.4.1 Validação da Paralelização do Problema

Num primeiro momento, realizou-se uma análise do problema a fim de averiguar se o paralelismo é aplicável ao processo de construção da RSE. Constatou-se que, especificado um número de direções de transferência, cada direção pode ser analisada separada e simultaneamente, uma vez que as sucessivas etapas envolvendo a variação do perfil de geração do sistema, a resolução do fluxo de potência com a análise de contingências e a busca pelos limites de segurança independem umas das outras. Apenas os resultados do cálculo da máxima transferência em cada direção devem ser armazenados, de tal forma que, futuramente, seja possível interligar os pontos limites em prol da formação das curvas limites, como visto na seção anterior.

2.4.2 Arquitetura do Processamento Paralelo via MatLab

A Parallel Computing Toolbox é a caixa de ferramentas intrínseca ao MatLab que contém todas as bibliotecas necessárias para efetuar o paralelismo do processo em uma única máquina de múltiplos processadores. Neste trabalho, a biblioteca utilizada é a Parfor-loop

(Parallel for-loop).

O comando de execução parfor loop funciona semelhante ao for loop, comumente utilizado na programação serial em MatLab. A diferença, entretanto, está no modo como as tarefas são executadas. Enquanto o for executa as tarefas de maneira sequencial, ou seja, na ordem com que os comandos são dispostos no algoritmo, o parfor executa as tarefas dividindo-as entre os núcleos disponíveis no computador sob uso, denominados labs. Estes

labs processam as tarefas a eles destinadas de maneira aleatória, sem que haja uma ordenação

para realizá-las. Assim, as próximas tarefas são executadas na medida que um lab finaliza a tarefa anterior (MATHWORKS, 2010).

Vale destacar que a utilização da biblioteca parfor-loop exige a habilitação do processamento paralelo em uma única máquina, através do comando matlabpool no MatLab. Com a matlabpool aberta é possível utilizar até no máximo 4 núcleos (labs) do mesmo computador.

2.4.3 Processamento Paralelo Aplicado à RSE

O processamento paralelo é inserido no cálculo da RSE somente numa determinada etapa do processo. Portanto, ambos os tipos de processamento, serial e paralelo, são utilizados neste trabalho. Os passos subsequentes demonstram especificamente a arquitetura completa do algoritmo em MatLab.

Inicialmente, a leitura dos dados, a determinação das direções de transferência (cálculo dos ângulos) e a divisão do sistema em três grupos de geração (etapa I do processo de construção da RSE) são efetuados com base num algoritmo construído de forma sequencial.

Ao examinar as etapas II e III, que envolvem respectivamente a definição das regiões REXP e RIMP e o cálculo dos fatores de participação, nota-se a total dependência do vetor de ângulos referentes às direções pré-estabelecidas. O mesmo ocorre com parte da etapa IV, haja vista que as sucessivas soluções do fluxo de potência, bem como análises de contingências e a variação no perfil de geração do sistema a fim de calcular a máxima transferência de potência entre as regiões REXP e RIMP também dependem dos ângulos escolhidos, já que tais regiões alteram sua composição de acordo com a direção selecionada.

O paralelismo é habilitado, portanto, diante da necessidade de investigar N direções ao longo do processo de construção da Região de Segurança num intervalo de tempo suficientemente pequeno para considerar tal ferramenta eficiente e propícia para uso em ambiente de tempo real. Ao contrário da programação serial, que permite investigar somente uma direção a cada iteração, o ambiente paralelo sob estudo possibilita a análise de até no máximo 4 direções simultaneamente a cada iteração. Como resultado, obtêm-se ganhos consideráveis de desempenho da ferramenta estática, principalmente no que diz respeito à redução abrupta do tempo computacional necessário para realizar as tarefas.

Na etapa IV, após a determinação dos pontos limites de transferência em cada direção, torna-se imprescindível armazená-los em arquivos de saída binários enquanto o processamento paralelo se encontra habilitado. Isso acontece devido a algumas restrições funcionais da biblioteca parfor-loop, também discutidas em (COSTA, 2009; MATHWORKS, 2010). Posteriormente, para realizar a interligação dos pontos limites e construir as curvas que delimitam a região segura do gráfico, a programação deve retornar ao seu estágio inicial, ou

seja, à programação serial e retomar estes arquivos para verificar os pontos limites de cada direção, encontrados durante o processo paralelo.

Como funcionalidade complementar, o programa gera, ainda, outro arquivo de saída informando qual o tipo de violação detectada em cada direção e o local do sistema onde se desenvolveu o problema.

A Figura 11 demonstra como é dividida a implementação computacional do ponto de vista do tipo de processamento, sobreposta ao fluxograma do processo de construção da RSE.

PROCESSAMENTO SERIAL PROCESSAMENTO PARALELO PROCESSAMENTO SERIAL Modificação no perfil de geração

Cálculo dos ângulos FIM Não Sim Sim Não

Resolve o Fluxo de Potência com Análise de Contingências Todas as direções analisadas? Limite de geração de potência ativa violado? Entrada de Dados INÍCIO

Identificação dos Limites de segurança ou de convergência

violados

Região de Segurança Estática Escolha de uma direção

No documento felipedecastrobrumalmeida (páginas 59-63)