Uberlndia, 31 de Outubro de 2013 5 Trabalho Algoritmos Genticos 2013
1
1. Introduo Expandindo na otimizao de resolues problemas utilizando algoritmos genticos este trabalho apresenta um desafio para os coordenadores de programao de manuteno de mquinas. Em um sistema eltrico de potncia h a operao de vrias mquinas em paralelo a fim de fornecer energia aos consumidores. Ao decorrer do ano a demanda de potncia eltrica varia e ao mesmo tempo tem-se a necessidade de fazer manuteno das mquinas. O desafio encontra-se no gerenciamento de parada das mquinas mantendo-se uma margem de segurana otimizada para cada perodo, isto , maior potencia liquida disponvel da maneira mais uniforme possveis para os intervalos presentes no ano. Devido a natureza do problema e a forma de como foi resolvido foi-se necessrio a implementao da ideia de restrio influenciando na forma de gerao da populao. Outra novidade na implementao do AG foi a forma estrutural do cromossomo como ser apresentado nos tpicos seguintes.
2. Objetivo O objetivo desenvolver um AG para desafio da programao de manuteno de mquinas em um ano em que a segurana seja maximizada. A margem de segurana determinada pela reserva lquida
do sistema. Podemos determinar a potncia lquida:
Em que:
: potncia total;
: potncia perdida;
: potncia mxima de demanda.
O sistema eltrico de potncia constitudo de sete mquinas cada uma com suas particularidades, como capacidade de gerao e nmero de intervalos. Suas caractersticas foram resumidas na tabela a seguir: N Unidade Capacidade (MW) Intervalos de manuteno 1 20 2 2 15 2 3 35 1 4 40 1 5 15 1 6 15 1 7 10 1
5 Trabalho Algoritmos Genticos 2013
2 Os intervalos de manuteno ao longo do ano so quatro e para cada um tem-se uma potencia de demanda
a ser suprida. A tabela abaixo resume os intervalos no ano e as potncias
demandada para cada perodo. Intervalo Demanda (MW) T 1 : Jan/Mar 80 T 2 : Abr/Jun 90 T 3 : Jul/Set 65 T 4 : Out/Dez 70
Para critrio timo temos que a reserva lquida
deve ser a mxima em cada intervalo.
Para as restries do problema temos trs condies: 1. Manuteno de qualquer unidade comea no incio de um intervalo e termina no final do mesmo intervalo ou de um intervalo seguinte; 2. A manuteno no pode ser abortada ou terminada antes do programa; 3. A reserva lquida de potncia
deve ser maior ou a igual a zero em qualquer
intervalo.
3. Implementao GA Conhecido o problema com suas condies parte-se agora para como se deu a implementao do GA em script do MATLAB utilizando o guide para parte grfica do programa. 3.1 Estrutura Cromossomo e gerao da populao Para resoluo do problema a melhor alternativa encontrada para estrutura do cromossomo se baseia em agrupamentos de bits, no caso quatro, o agrupamento desses bits representa cada mquina e cada um desses bits representa se a mquina encontra em operao ou no. Como so sete mquinas o cromossomo constitudo de sete agrupamentos de 4 bits. G 1 G 2 G 3 G 4 G 5 G 6 G 7
Sendo que para a gerao da populao a parte do cromossomo constituda da parte gentica que representa as mquinas G 1 e G 2 respeitando a condio de 2 intervalos de paradas exigidas por elas e considerando que o bit 1 representa a parada da mquina e o bit 0 representa que a mquina est em operao os agrupamentos de 4 bits possveis para essas mquinas segue abaixo. G 1 ou G 2
1 1 0 0
0 1 1 0
0 0 1 1
ou ou 5 Trabalho Algoritmos Genticos 2013
3 Para as mquinas G 3 a G 7 tem-se como condio de parada para manuteno somente um intervalo ao longo do ano. Sendo assim as possibilidades dos agrupamentos de 4 bits dessas mquinas segue abaixo. G 3 a G 7
Respeitando essas condies todos os indivduos gerados sero vlidos. Computacionalmente a implementao da gerao da populao ficou: % Gerar populao
3.2 Crossover Implementou-se o crossover de um ponto sendo que para respeitar a estrutura do cromossomo constitudo de agrupamentos de 4 bits representando cada mquina os pontos de crossover possveis so a entres os bits 4 e 5 , 8 e 9, 16 e 17, 20 e 21, 24 e 25. Assim garante que os agrupamentos dos bits no seja quebrado. Computacionalmente : % Crossover
for i=1:2:popTam-1
pai1= popNova(i,:); mae1= popNova(i+1,:);
if(rand<pc/100)
pontos = [4 ; 8 ; 12; 16; 20; 24]; point = pontos(random('unid', 6),:);
3.3 Avaliao (Fitness) Para a avaliao utilizou-se como o melhor fitness o menor desvio absoluto da potencia normalizada. Foi-se necessrio normalizar a potncia lquida de cada perodo devido ao fato de a potncia demandada ser diferente assim estabelece proporcionalmente a mesmo patamar ao se minimizar o desvio absoluto dessas potencias liquidas normalizadas tem-se uma melhor distribuio de potncia proporcionalmente para cada perodo de acordo com cada demanda. Para normalizar a potencia liquida: % Normalizando
4. Plataforma grfica Utilizando o GUIDE do MATLAB foi desenvolvida a parte grfica do programa. Seguindo a ideia de se ter um software de layout simples e intuitivo ao usurio na manipulao dos dados a tela inicial pode ser vista na Figura 1.
Figura 1: Tela inicial programa AG. possvel inserir as potencias das mquinas e as demandas exigidas de cada perodo. Tem o painel AG onde se insere os parmetros do AG, tamanho da populao, nmero de geraes e probabilidade de cruzamento. Os pontos de interrogaes so as sadas grficas dos intervalos de manuteno de cada mquina. E o resultado esperado a potencia liquida de cada intervalo. Ao se rodar o programa temos os seguintes resultados mostrados na Figura 2. 5 Trabalho Algoritmos Genticos 2013
6
Figura 2: Tela de resultados do AG. Com as potncias das mquinas e de demanda indicada na figura e tamanho da populao e nmero de geraes 100 e probabilidade de cruzamento de 60% obteve-se as potncias lquidas de 20, 25, 35 e 30 MW para os intervalos T 1 , T 2 , T 3 e T 4 respectivamente. possvel ver tambm os intervalos de manuteno das mquinas que so indicados graficamente por um x.
5 Trabalho Algoritmos Genticos 2013
7 4 BIBLIOGRAFIA [1] GOLDBERG, David E. Genetic Algorithms in Search, Optimization and Machine Learning. Massachusets, Addison-Wesley, 1989. [2] Linden, Ricardo. Algoritmos Genticos. 2 ed. Rio de Janeiro: Brasport, 2008.