Otimização do Planejamento de Cargas de Dados utilizando Algoritmos Genéticos



Documentos relacionados
Complemento IV Introdução aos Algoritmos Genéticos

Algoritmos Genéticos

ALGORITMOS GENÉTICOS: UMA VISÃO EXPLANATÓRIA

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

ERP Enterprise Resource Planning

Pag: 1/20. SGI Manual. Controle de Padrões

Universidade Federal de Goiás UFG Campus Catalão CAC Departamento de Engenharia de Produção. Sistemas ERP. PCP 3 - Professor Muris Lage Junior

Planejamento Estratégico de TI. Prof.: Fernando Ascani

Projeto de Sistemas I

INSTRUÇÃO DE TRABALHO PARA INFORMAÇÕES GERENCIAIS

Material de Apoio. Sistema de Informação Gerencial (SIG)

Manual SAGe Versão 1.2 (a partir da versão )

Interatividade aliada a Análise de Negócios

No mundo atual, globalizado e competitivo, as organizações têm buscado cada vez mais, meios de se destacar no mercado. Uma estratégia para o

ISO/IEC 12207: Gerência de Configuração

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

IW10. Rev.: 02. Especificações Técnicas

DATA WAREHOUSE. Introdução

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA

Melhores práticas no planejamento de recursos humanos

Microsoft Project 2003

PLANEJAMENTO DA MANUFATURA

15/03/2010. Análise por pontos de função. Análise por Pontos de Função. Componentes dos Pontos de Função. Componentes dos Pontos de Função

Podemos encontrar uma figura interessante no PMBOK (Capítulo 7) sobre a necessidade de organizarmos o fluxo de caixa em um projeto.

Metodologia de Gerenciamento de Projetos da Justiça Federal

DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE

6 Construção de Cenários

Sistema de Controle de Solicitação de Desenvolvimento

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

TOTVS BA Guia de Customização Linha Logix

FURB - Universidade Regional de Blumenau TCC - Trabalho de Conclusão de Curso Acadêmico: Fernando Antonio de Lima Orientador: Oscar Dalfovo

DATA WAREHOUSE NO APOIO À TOMADA DE DECISÕES

Adriano Maranhão BUSINESS INTELLIGENCE (BI),

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

EMISSÃO DE CERTIFICADOS ELETRÔNICOS NOS EVENTOS DO INSTITUTO FEDERAL CATARINENSE CÂMPUS VIDEIRA

EMISSÃO DE CERTIFICADOS ELETRÔNICOS NOS EVENTOS DO INSTITUTO FEDERAL CATARINENSE CÂMPUS VIDEIRA

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Laudon & Laudon Essentials of MIS, 5th Edition. Pg. 1.1

Guia de Especificação de Caso de Uso Metodologia CELEPAR

a 1 x a n x n = b,

Como melhorar a tomada de decisão. slide 1

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Microsoft Access XP Módulo Um

ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente

Governança de TI. ITIL v.2&3. parte 1

12 EXCEL MACROS E APLICAÇÕES

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado)

PLANEJAMENTO E PROJETOS. Lílian Simão Oliveira

FLUXO DE CAIXA: Módulo BI (Business Intelligence)

XIII Encontro de Iniciação Científica IX Mostra de Pós-graduação 06 a 11 de outubro de 2008 BIODIVERSIDADE TECNOLOGIA DESENVOLVIMENTO

perspectivas e abordagens típicas de campos de investigação (Senra & Camargo, 2010).

Técnicas para Programação Inteira e Aplicações em Problemas de Roteamento de Veículos 14

Aumente sua velocidade e flexibilidade com a implantação da nuvem gerenciada de software da SAP

Sistemas de Apoio a Decisão

ACADEMIA DE PP ( PLANEJAMENTO E PRODUÇÃO)

Gerenciamento de Problemas

Engenharia de Requisitos

Banco do Brasil S.A. Consulta ao Mercado - RFP - Request for Proposa Aquisição de Ferramenta de Gestão de Limites Dúvida de Fornecedor

Lista de Exercícios 01: ITIL Prof. Fernando Pedrosa

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

CAPÍTULO 1 - CONTABILIDADE E GESTÃO EMPRESARIAL A CONTROLADORIA

Solução Cadia Projects

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

1. DOTPROJECT Tela Inicial

Aplicação Prática de Lua para Web

ACADEMIA DE BW (BUSINESS WAREHOUSE)

Modelagem e Simulação Material 02 Projeto de Simulação

APOO Análise e Projeto Orientado a Objetos. Requisitos

DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES. Trabalho de Graduação

IBM WebSphere DataStage

SISTEMAS DE GESTÃO São Paulo, Janeiro de 2005

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão Atualização 26/01/2009 Depto de TI - FASUL Página 1

Otimização de Recuperação de Informação usando Algoritmos Genéticos

SAD orientado a MODELO

Data Warehouse. Debora Marrach Renata Miwa Tsuruda

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

MINERAÇÃO DE DADOS APLICADA. Pedro Henrique Bragioni Las Casas

Processos de Design de IHC (Parte II)

GESTÃO DAS INFORMAÇÕES DAS ORGANIZAÇÕES MÓDULO 11

A Grande Importância da Mineração de Dados nas Organizações

TUTORIAL DE UTILIZAÇÃO. Rua Maestro Cardim, cj. 121 CEP São Paulo - SP (11)

Verificação de Impressões Digitais usando Algoritmos Genéticos

Arquitetura dos Sistemas de Informação Distribuídos

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

Gerenciamento de projetos.

Válvulas de Controle-"Case"- Copesul. Nelzo Luiz Neto da Silva 1 Jader Weber Brum 2

Academia MM Gestão de Materiais

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS SERVIÇO DE BACKUP. Professor Carlos Muniz

Considerações sobre o Disaster Recovery

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

Exportação e Importação de Orçamentos

AP_ Conta Aplicativo para digitação e envio de contas médicas no padrão TISS

Desafio Profissional PÓS-GRADUAÇÃO Gestão de Projetos - Módulo C Prof. Me. Valter Castelhano de Oliveira

3 ALGORITMOS GENÉTICOS : CONCEITOS BÁSICOS E EXTENSÕES VINCULADAS AO PROBLEMA DE MINIMIZAÇÃO DE PERDAS

PLANOS DE CONTINGÊNCIAS

Transcrição:

Otimização do Planejamento de Cargas de Dados utilizando Algoritmos Genéticos Tatiana Escovedo 1, Adriano S. Koshiyama 1 e Marco Aurélio C. Pacheco 1 1 Departamento de Engenharia Elétrica Pontifícia Universidade Católica do Rio de Janeiro RJ, Brasil. [tatiana, adriano, marco]@ele.puc-rio.br Abstract. The SAP BW tool is part of daywork of about 8 thousands users of a large Brazilian company in the oil industry. They use the information made available to assist in the analysis inherent in their professional activities. For data to be properly updated daily, hundreds of loads are performed on a scheduled basis. The main problem today is that the order of the same design is determined by manual means, ie, the optimal ordering is difficult to determine due to the high number of loads and restrictions. This article proposes a solution to this problem through the use of genetic algorithms to optimize the planning of BW loads. Resumo. A ferramenta de SAP BW faz parte do dia a dia de trabalho de cerca de 8 mil usuários de uma grande companhia brasileira do setor de petróleo. Eles utilizam as informações disponibilizadas para auxiliar nas análises inerentes as suas atividades profissionais. Para que os dados estejam devidamente atualizados, diariamente centenas de cargas são executadas de forma programada. O principal problema encontrado atualmente é que a ordem de planejamento das mesmas é determinada de forma manual, ou seja, a ordenação ótima é difícil de ser determinada devido ao elevado número de cargas e restrições existentes. Este artigo propõe uma solução para este problema, através da utilização de algoritmos genéticos para otimizar o planejamento das cargas BW. 1. Introdução A necessidade constante de informações cada vez mais atualizadas e precisas das organizações, integrando diferentes departamentos com o objetivo de acelerar o processo de tomada de decisão diante das mudanças constantes, no mercado motivou o surgimento da Tecnologia de Data Warehouse. Uma análise de dados históricos pode apresentar indicadores de crescimento, ou sinalizadores de deficiências nos negócios. Data Warehousing não é um produto, mas sim uma estratégia que reconhece a necessidade de se armazenar dados separadamente em sistemas de informação e consolidá-los, de forma a apoiar diversos profissionais de uma empresa na tomada de decisões de modo rápido e eficaz. Um Data Warehouse é uma coleção de dados orientada por assuntos, integrada, variante no tempo, e não volátil que tem por objetivo dar suporte aos processos de tomada de decisão [Inmon 1992].

Para suprir suas necessidades de informações analíticas, a empresa tratada nesta pesquisa utiliza a ferramenta SAP BW [McDonald et al. 2006] desde 2004. Através das chamadas queries BW, os usuários podem realizar diversas análises das informações do negócio. Estas informações são integradas e armazenadas no Data Warehouse implementado com o BW, extraídas através das queries e fazem parte do dia a dia de trabalho de milhares de usuários. Para que as informações estejam sempre consistentes e atualizadas, é necessário realizar diariamente centenas de cargas, que atualizam os cubos e possibilitam que a partir destes, as informações sejam extraídas através das queries. Determinar a melhor ordem de execução destas cargas não é uma atividade trivial, primeiro, pela grande quantidade de cargas e, segundo, pelas restrições existentes de precedência e limites de horário para algumas cargas. Este artigo tem o objetivo de investigar a aplicação de algoritmos genéticos [Holland 1975] no problema da otimização do planejamento das cargas BW. A seção 2 apresenta um resumo sobre algoritmos genéticos e a ferramenta SAP BW, além de detalhar o problema estudado e descrever a solução proposta. Em seguida, a seção 3 apresentará os resultados obtidos e avaliará os mesmos, apontando alguns possíveis trabalhos futuros. Finalmente, a seção 4 conclui este trabalho. 2. Metodologia O objetivo desta seção é apresentar os conceitos básicos referentes a Algoritmos Genéticos e a ferramenta SAP BW. Estas questões vão fornecer o embasamento teórico para os assuntos propostos neste estudo. 2.1. Algoritmos Genéticos Algoritmos genéticos consistem em métodos de busca por soluções ótimas, computacionalmente intensivas, que são inspirados na teoria da evolução das espécies de Darwin e na genética [Holland 1975]. Em algoritmos genéticos, uma população de possíveis soluções para o problema em questão evolui de acordo com operadores probabilísticos concebidos a partir de metáforas biológicas (cruzamento e mutação), e há uma tendência de que ao longo do processo evolutivo, na média, os indivíduos representem soluções cada vez melhores [Goldberg 1989]. Algoritmos genéticos são particularmente aplicados em problemas complexos de otimização [Pacheco and Vellasco 2007], como por exemplo: problemas com diversos parâmetros ou características que precisam ser combinadas em busca da melhor solução; problemas com muitas restrições ou condições que não podem ser representadas matematicamente; e problemas com grandes espaços de busca. Algoritmos Genéticos têm sido aplicados a diversos problemas de otimização [Michalewicz 1996], tais como otimização de funções matemáticas, otimização combinatória, otimização de planejamento, otimização de distribuição, etc. Em particular, a aplicação de algoritmos genéticos em problemas de otimização de planejamento consiste em alocar, no tempo disponível, os recursos para execução das tarefas, respeitando restrições e condições, a fim de alcançar os objetivos do problema [Davis 1991, Pacheco and Vellasco 2007]. O problema proposto neste trabalho pode então ser caracterizado como um problema de otimização de planejamento, uma vez que queremos determinar a melhor ordem de planejamento de cargas de dados considerando certas restrições.

Os métodos de busca tradicionais em geral falham na obtenção da melhor solução em problemas deste tipo devido a requisitos de tempo. Desta forma, os Algoritmos Genéticos representam uma alternativa, uma vez que não trabalham com busca exaustiva de todas as soluções possíveis, mas sim, com a evolução dos indivíduos [Michalewicz 1996]. 2.2. SAP BW O SAP BW faz parte da solução de business intelligence da SAP como um software de data warehouse, ou seja, um ambiente específico, separado do transacional, cujo principal objetivo é armazenar, em um único local, dados oriundos de diferentes fontes, facilitando a disponibilização de informações analíticas para os usuários de forma integrada e uniforme. Por ser integrado ao ERP SAP R/3, não necessita de arquivos de interface, o que representa grande confiabilidade na transferência e na manutenção da qualidade das informações. A ferramenta incentiva geração das consultas (queries) pelos próprios usuários, através da disponibilização de ferramentas amigáveis na WEB e/ou Excel [McDonald et al. 2006]. Neste ambiente, as informações são armazenadas de forma estruturada para facilitar a consulta e análise, dando suporte assim ao processo decisório e a gestão da empresa. O BW é o software complementar ao R/3. Enquanto o R/3 é configurado para executar de forma otimizada as transações do dia-a-dia da empresa (ex.: comprar, vender, baixar estoque, fabricar) o BW é configurado de forma otimizada para permitir análise (ex.: como estão meus indicadores, como vão as vendas de um grupo de produto para um cliente, como evolui o estoque de determinado produto?). As informações podem ser extraídas do SAP BW através da criação de queries usando a ferramenta Query Designer, que faz parte da suíte SAP BW [Palekar et al. 2010]. Esta ferramenta possui uma interface simples, podendo ser facilmente utilizada pelos próprios usuários do negócio na construção de queries para apoiar suas análises. Após a criação das queries pelos usuários de negócio ou pela área de TI, elas são publicadas para que os usuários possam extrair os dados necessários para realizas suas análises. A execução de queries podem ser realizadas pela ferramenta Business Explorer (BEx), também parte da suíte SAP BW. Esta ferramenta é integrada com o Microsoft Excel, ambiente em que a maioria dos usuários de negócio já é familiar. Caso prefira, o usuário também pode executar a query através da interface web. A figura 1 ilustra a execução de uma query utilizando a interface web. Figura 1. Execução de uma Query BW.

Para que as informações estejam devidamente atualizadas para utilização dos usuários, diariamente são executadas centenas de cargas BW na empresa. Cada carga é associada a um módulo BW e é conhecida como cadeia ou process chain e contém os procedimentos necessários para que seja realizada a carga de dados de determinado modelo, de forma automatizada. A figura 2 ilustra uma process chain do BW. Figura 2. process chain BW. Esta subseção apresentou os conceitos básicos referentes a algoritmos genéticos e a ferramentas SAP BW, que fornecem o embasamento teórico para os assuntos propostos neste artigo. A próxima subseção apresentará o problema tratado nesse trabalho. 2.3. Descrição do Problema A ferramenta de BI SAP BW, como já mencionado anteriormente, faz parte do dia a dia de trabalho de cerca de 8 mil usuários da organização, que utilizam queries para auxiliar nas análises inerentes a suas atividades profissionais. Mensalmente, são registradas cerca de 150 mil execuções das mais de 8 mil queries existentes no ambiente de produção, que trazem dados referentes aos processos de negócio da empresa ou, seja, é muito importante para a companhia que os dados sejam corretamente atualizados. A maior parte das cargas de dados é executada durante a noite, em uma janela diária de 14 horas, entre 18h e 8h. Algumas cargas possuem restrições de precedência e de horário limite de início ou de fim. Cada cadeia tem sua periodicidade, podendo ser, por exemplo: mensal, semanal, diária, apenas em dias úteis, etc. Já se conhece de antemão o tempo de execução de cada uma delas através de execuções anteriores, bem como a importância da carga em relação às demais. O principal problema encontrado atualmente é que a ordem em que as cargas são executadas é determinada manualmente, através de planilhas Excel. Esta tarefa não é trivial, primeiro devido ao grande número de cadeias e segundo devido às restrições de horário e precedência existentes. São vários os problemas causados pela gestão manual como, por exemplo: Otimizar a ordenação noturna das cadeias, baseado na prioridade, pré-requisitos e horário limite para término de cada uma delas; Determinar um conjunto de cadeias para execução em uma determinada janela de tempo, em caso de pane noturna do servidor;

Determinar a melhor janela de execução para uma nova cadeia. Este trabalho pretende realizar uma investigação preliminar da aplicação de Algoritmos Genéticos no problema de otimização do planejamento de cargas BW, mas não esgotar o assunto. Sendo assim, o seu objetivo principal será propor uma solução para o problema de determinar um conjunto de cadeias para execução em uma determinada janela de tempo. A seção a seguir detalhará a solução proposta. 2.4. Descrição da solução A solução apresentada buscará uma ordenação próxima da ótima para um conjunto de cargas a executar dentro de uma determinada janela de tempo, através de Algoritmos Genéticos. Considerando que cada carga possui um ganho associado, busca-se maximizar o ganho total de cargas executadas dentro da janela de tempo. Para a primeira versão desta pesquisa, optou-se por tratar apenas as restrições de precedência e limitar que cada cadeia tenha no máximo uma outra como pré-requisito. Além disso, a possibilidade do paralelismo de cargas no servidor foi desconsiderada nesta versão inicial. Em trabalhos futuros, trataremos as restrições de horário de início e fim e a possibilidade de mais de um pré-requisito por carga, bem como o paralelismo permitido pelo servidor. A primeira decisão de projeto foi a representação do cromossoma. Optou-se pela representação baseada em ordem, na qual um cromossoma representa uma possível ordenação das cadeias. Porém, será importante termos um construtor de soluções válidas, pois temos limitação de tempo e de precedência, o que fará com que nem todas as cadeias sejam escalonadas na janela de tempo disponível. A função de avaliação deverá verificar, dado um cromossoma, quais cadeias poderão ser escalonadas sem estourar o tempo máximo limite e sem violar as condições de precedência. Esta função de avaliação deverá retornar o ganho obtido, ou seja, a soma dos ganhos das cargas que efetivamente foram escalonadas considerando a ordenação proposta pelo cromossoma. Ao fim do algoritmo, o melhor cromossoma será aquele que retornar como avaliação o maior valor. O algoritmo espera 3 entradas: o número total de cadeias, o tamanho da janela de tempo disponível em minutos e um arquivo detalhando, para cada carga, o seu tempo de duração em minutos, seu ganho e sua predecessora. O arquivo de entrada representa uma cadeia por linha é ilustrado pela figura 3. Cabe observar que o número na coluna de pré-requisito corresponde a ordenação das cargas no arquivo (1 é a primeira linha, 2 é a segunda, etc) e as cargas que não têm nenhum pré-requisito possuem 0 nesta coluna. Conforme já explicado, a função de avaliação verificará para cada cromossoma o ganho total obtido a partir da execução das cargas possíveis, observando as restrições de tempo. O trecho do algoritmo que verifica a possibilidade de escalonamento de cada cadeia do cromossoma e, se possível, acumula o ganho é ilustrado pela figura 4. Após a execução da solução será mostrado o cromossoma do melhor indivíduo e sua avaliação. Um exemplo de resultado produzido pelo programa é ilustrado pela figura 5. Dados esses espaços de restrição e demandas, a configuração usada no algoritmo genético, aplicado na biblioteca GACOM, foi disposto na tabela 1. Esta configuração foi tanto utilizado para a simulação com 5 experimentos e com 20 experimentos.

Figura 3. Exemplo de arquivo de entrada. Tabela 1. Configuração dos parâmetros do algoritmo genético. Variável Parâmetro Taxa de crossover 85% Taxa de mutação 5% Tamanho da população 50 Número de gerações 200 Variável Formulação Mapeamento da função de avaliação Normalização linear Forma de seleção Estocástica uniforme Tipo de cruzamento Heurístico (1,6%) Tipo de mutação Uniforme A partir dessa configuração foi realizado a otimização por algoritmos genéticos, seguindo o desenvolvimento algoritmizado abaixo: Procedimento: maximizar ganho de cargas; Objetivo da otimização. Iniciar t = 0; Primeira geração. 1. Inicializa P (t); População inicial aleatória. 2. Avalia P (t); Calcula a função de avaliação para cada indivíduo. Enquanto (número de gerações < 200), faça: t = t + 1 ; Próxima geração. 3. Seleciona P (t) de P (t 1); Forma de seleção: estocástica uniforme. 4. Altera P (t); Executa o cruzamento e mutação. 5. Avalia P (t); Calcula a função de avaliação para cada indivíduo. Fim Retorne P (t); A última população de soluções. Fim Portanto, a partir da inicialização dos entes da população de forma aleatória, estes 50 indivíduos decodificados no formato numérico que compõe a primeira população, passa por uma avaliação, através da função de ganho total, que mede o desempenho de cada opção de ordenamento das cargas. Então, inicia-se um processo de seleção (estocástica uniforme) para compor a segunda população de forma que os indivíduos mais

Figura 4. Trecho da função de avaliação. aptos, ou seja de maior performance, são mais vezes selecionados para esta. Através dessa nova população, realiza-se os operadores de cruzamento (taxa de 85%) e mutação (taxa de 5 %), sendo o cruzamento realizado de forma heurística (1,6%), enquanto que foi mutação é uniforme. A figura 6 apresenta um fluxograma simplificado desse processo. A partir dessa operação, executa-se uma nova avaliação, mas agora dessa segunda população, realimentando o processo até que o critério de parada, nesse caso quando o número de gerações é igual a 200, seja atendido. Por fim, temos uma população de soluções para o problema de ordenamento das cargas no SAP BW. Esta seção descreveu a solução proposta para o problema de otimização do planejamento das cargas BW. A próxima seção apresentará os resultados obtidos. 3. Resultados e Discussões Para validar a solução apresentada na seção anterior, foram realizadas duas execuções do algoritmo para 200 cargas, utilizando valores de tempo, ganho e precedência aleatórios. A primeira foi realizada com 5 experimentos e a segunda, com 20 experimentos. A figura 7 ilustra a evolução do resultado da função de avaliação nas duas execuções. Verificou-se que ambas as execuções apresentaram convergência e boa evolução, indicando que a solução proposta resolve de maneira satisfatória o problema. Como esta primeira implementação ainda não trata completamente as restrições de horário, precedência e nem o paralelismo de cargas, não foi possível comparar seus

Figura 5. Exemplo de saída. Figura 6. Procedimento básico do algoritmo genético. resultados com o processo manual. Porém para verificar se o algoritmo realmente encontra a melhor solução, foi realizada uma nova execução utilizando-se apenas 5 cargas e, em seguida, verificamos manualmente qual seria a melhor ordenação das cargas de forma a gerar ganho máximo. O resultado do escalonamento manual foi idêntico ao gerado pelo algoritmo genético o que indica que a solução atingiu o seu objetivo. Entretanto, é necessário confirmar estes resultados após a implementação das próximas versões, que contemplarão todos os requisitos do cenário atual. 3.1. Avaliação da Solução Após a execução do algoritmo genético para as 200 cargas e análise dos resultados, verificamos que o algoritmo genético parece ter encontrado uma solução próxima da ótima e que realmente houve evolução. Este resultado foi reforçado por uma nova execução contendo apenas 5 cargas, que chegou à mesma ordenação de cargas proposta pelo escalonamento manual. A solução proposta teve o objetivo de avaliar a aplicação de Algoritmos Genéticos no problema do planejamento das cargas e, por isto, consiste apenas de uma aplicação inicial que ainda não contempla todos os requisitos. Desta forma, foram encontradas algumas sugestões de melhorias para trabalhos futuros. Estes pontos serão apresentados a seguir. 3.1.1. Possibilitar mais de um pré-requisito por carga Conforme já mencionado anteriormente, nesta primeira implementação foi considerada apenas a existência de no máximo um pré-requisito por carga. No cenário real, algu-

Figura 7. Resultados obtidos. mas cargas podem ter diversas predecessoras, o que torna esta versão inicial limitada em relação ao mapeamento de pré-requisitos. Em trabalhos futuros, pretende-se alterar o programa para permitir que uma carga possa ter mais de um pré-requisito, de forma a aproximar a solução do problema real. 3.1.2. Considerar as restrições de horário No cenário real, algumas cargas possuem restrições de horário de início (iniciar até determinado horário ou após determinado horário) e/ou de fim (terminar até determinado horário). Entretanto, para esta versão inicial, estas restrições não foram consideradas. Em trabalhos futuros, pretende-se alterar o programa para considerar as restrições de horário. Será necessário então informar inicialmente, além da janela de tempo disponível para o planejamento das cargas, o horário de início do escalonamento. O algoritmo genético considerará ambas as informações para verificar a melhor ordem de planejamento das cargas. 3.1.3. Considerar o paralelismo do servidor O servidor no qual as cargas são executadas permite que as mesmas sejam executadas em paralelo, porém, como a quantidade de cadeias em paralelo depende de configurações específicas de hardware e de outros processos que estejam em execução no servidor, para esta versão inicial, optou-se por não considerar a possibilidade de paralelismo. Em implementações futuras, espera-se analisar formas de tratar este paralelismo, de forma que a solução possa ser efetivamente aplicada no problema real e ser utilizada na empresa em questão cotidianamente, substituindo o processo manual.

4. Conclusões Este artigo investigou a aplicação de Algoritmos Genéticos em um problema de otimização do planejamento de cargas de dados. A seção 2 apresentou um resumo sobre algoritmos genéticos e a ferramenta SAP BW, além de detalhar o problema estudado e a descrever a solução proposta. A seguir, a seção 3 apresentou os resultados obtidos e avaliou-os, apontando alguns possíveis trabalhos futuros. Após a implementação da solução proposta neste trabalho, sua execução com 5 e 20 experimentos, verificou-se que ambas as execuções apresentaram convergência e boa evolução, indicando que a solução proposta resolve de maneira satisfatória o problema. Há uma forte indicação que o Algoritmo Genético foi eficiente na busca do melhor indivíduo que representa a melhor ordenação das cadeias. É importante ressaltar que este artigo representa apenas um estudo inicial sobre a aplicabilidade de Algoritmos Genéticos em problemas de otimização de planejamento de cargas de dados. Assim, este trabalho não pretende de forma alguma esgotar o assunto, e propõe, inclusive, algumas sugestões de trabalhos futuros que podem ser desenvolvidos. A implementação de um mecanismo de otimização do planejamento de cargas BW é extremamente útil para a empresa, não só para eliminar o trabalho manual, mas principalmente para gerar um planejamento mais confiável, otimizar a alocação do servidor e maximizar o ganho gerado pelas cargas executadas. Este problema é real e relevante, pois atualmente não existem formas automáticas de se fazer esta otimização de forma satisfatória. Pretende-se futuramente aprofundar esta pesquisa utilizando as sugestões de trabalhos futuros apontadas na seção 3. Referências Davis, L. (1991). Handbook of Genetic Algorithms. Van Nostrand Reinhold, New York. Goldberg, D. E. (1989). Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley, New Jersey. Holland, J. H. (1975). Adaptation in Natural and Artificial Systems. University of Michigan Press, Ann Arbor. Inmon, W. H. (1992). Building the Data Warehouse. John Wiley and Sons, New York. McDonald, K., Wilmsmeier, A., Dixon, D. C., and Inmon, W. H. (2006). Mastering the SAP Business Information Warehouse. Wiley, New York, 2 edition. Michalewicz, Z. (1996). Genetic Algorithms + Data Structures = Evolution Programs. Springer-Verlag, London, 3 edition. Pacheco, M. A. C. and Vellasco, M. M. B. R. (2007). Sistemas Inteligentes de Apoio à Decisão: Análise Econômica de Projetos de Desenvolvimento de Campos de Petróleo sob Incerteza. Interciência e PUC-Rio, Rio de Janeiro. Palekar, A., Patel, B., and Shiralkar, S. (2010). A Practical Guide to SAP Netweaver Business Warehouse 7.0. SAP Press, Massachusetts, 2 edition.