[go: up one dir, main page]

Academia.eduAcademia.edu

Projeto Final - Robert PB v13[1]

Projeto final de curso de graduação usando Planejamento de Exerimentos

UNIVIDADE FEDERAL FLUMINENSE – UFF ESCOLA DE ENGENHARIA DEPARTAMENTO DE ENGENHARIA DE PRODUÇÃO GRADUAÇÃO EM ENGENHARIA DE PRODUÇÃO ANÁLISE DE DADOS E SUPERFÍCIE DE RESPOSTA: UM ESTUDO DE CASO PARA MELHORAR O DESEMPENHO DE UM SERVIÇO ROBERT LUIS BARRETO SANTOS ORIENTADOR DO TRABALHO JOSÉ KIMIO ANDO NITERÓI JANEIRO / 2017 UNIVERSIDADE FEDERAL FLUMINENSE ESCOLA DE ENGENHARIA DEPARTAMENTO DE ENGENHARIA DE PRODUÇÃO ROBERT LUIS BARRETO SANTOS ANÁLISE DE DADOS E SUPERFÍCIE DE RESPOSTA: UM ESTUDO DE CASO PARA MELHORAR O DESEMPENHO DE UM SERVIÇO Projeto Final apresentado ao curso de Graduação em Engenharia de Produção da Universidade Federal Fluminense, como requisito parcial para obtenção do Grau de Engenheiro de Produção. ORIENTADOR: JOSÉ KIMIO ANDO, D. Sc. NITERÓI 2017 ADICIONAR FICHA CARTOGRÁFICA DA BIBLIOTECA DE ENGENHARIA ABAIXO ROBERT LUIS BARRETO SANTOS ANÁLISE DE DADOS E SUPERFÍCIE DE RESPOSTA: UM ESTUDO DE CASO PARA MELHORAR O DESEMPENHO DE UM SERVIÇO Projeto Final apresentado ao curso de Graduação em Engenharia de Produção da Universidade Federal Fluminense, como requisito parcial para obtenção do Grau de Engenheiro de Produção. Campo de Confluência: Educação e Trabalho Aprovada em ______de dezembro de 2017. BANCA EXAMINADORA Prof. Dr. JOSÉ KIMIO ANDO - Orientador Universidade Federal Fluminense Prof. Dr. ARTHUR ALVES PESSOA Universidade Federal Fluminense Prof. Dr. EDUARDO UCHOA BARBOZA Universidade Federal Fluminense NITERÓI 2017 AGRADECIMENTOS Agradeço a Deus por estar sempre presente na minha consciência em todos os momentos importantes em que tive dificuldade de discernir o bem do mal, o certo do errado, e precisei de uma luz para me ajudar. Agradeço também à minha família – Luis, Albertina e Roger– obrigado pela motivação, apoio e incentivo que sempre me deram, sem nada exigir em troca durante toda a vida. Ao meu orientador professor Kimio pela paciência, preocupação e por me ajudar a escrever esse projeto final da melhor forma possível. Seus conselhos e orientações foram essenciais. Agradeço também a UFF, como instituição, pelo ensino de qualidade e a todos os professores que passaram pelo meu caminho, pelos conhecimentos que me deram a oportunidade de absorver. A todos os profissionais com quem tive a sorte de trabalhar até agora, procurei aprender um pouco com cada um de vocês, obrigado pelas oportunidades, ensinamentos e confiança. Agradeço também aos amigos e entes queridos que me ajudaram com este trabalho: Thaisa, Janine, Tatiana, Mercia, Nivaldo muito obrigado pela dedicação e atenção. Muito obrigado a todos! RESUMO No presente trabalho, as metodologias de clusterização, planejamento experimental fatorial e superfície de resposta são aplicadas na melhoria de processo de uma empresa que presta serviço de processamento de arquivos de dados. A situação atual dos serviços solicitados é analisada e, utilizando-se clusterização hierárquica, são definidos clusters de arquivos e os correspondentes arquivos representativos. Utilizando-se a metodologia de superfície de resposta é feito o planejamento de experimentos fatoriais, buscando-se obter para cada cluster a menor quantidade de memória RAM e de núcleos da CPU de servidor para que o tempo total de processamento do arquivo representativo do cluster seja inferior a um tempo definido como aceitável. Palavras-chave: Clusterização, planejamento de experimentos, superfície de resposta. ABSTRACT In the present work, clustering, factorial design of experiments and response surface methodologies are applied in the process improvement of a company that provides data file processing service. The current situation of the services requested is analyzed and, using hierarchical clustering, clusters of files and corresponding representative files are defined. Using the response surface methodology, factorial design of experiments is done, seeking to obtain for each cluster the least amount of RAM and cores of the server CPU so that the total processing time of the representative file of the cluster is less than a time set as acceptable. Keywords: Clustering, design of experiments, response surface. 6 LISTA DE TABELAS Tabela 1 - Exemplo de experimento fatorial 2². ....................................................................... 10 Tabela 2 – Notações para combinações de fatores de um planejamento 2². ............................ 11 Tabela 3 - Matriz do planejamento fatorial 2² .......................................................................... 28 Tabela 4 - Arquivos representativos de cada perfil .................................................................. 36 Tabela 5 - Resultado experimental do tempo de processamento – perfil A ............................. 36 Tabela 6 – Máxima inclinação descendente para o perfil A..................................................... 38 Tabela 7 - Resultado experimental do tempo de processamento – perfil B ............................. 38 Tabela 8 – Máxima inclinação descendente para o perfil B. .................................................... 40 Tabela 9 - Resultado experimental do tempo de processamento – perfil C ............................. 41 Tabela 10 - Máxima inclinação descendente para o perfil C. .................................................. 42 LISTA DE FIGURAS Figura 1 - Clusterização hierárquica em dados bidimensionais ................................................. 6 Figura 2 - Dendograma obtido usando algoritmo single-link..................................................... 7 Figura 3 - Modelo de Processo. .................................................................................................. 8 Figura 4 - Planejamento 2² com replicações no ponto central.................................................. 12 Figura 5 – Efeito de curvatura na região experimental. ........................................................... 16 Figura 6 - Dispersão Número de Colunas versus Número de Linhas dos arquivos ................. 21 Figura 7 - Inicio da medição de tempo de processamento. ...................................................... 22 Figura 8 - Medição de tempo em andamento. .......................................................................... 23 Figura 9 - Medição de tempo finalizada ................................................................................... 24 Figura 10 - Etapas do Processo de criação e distribuição. ....................................................... 31 Figura 11 - Exemplo de web template e página web criada pelo sistema. ............................... 32 Figura 12 - Distribuição de frequência do número ótimo de clusters. ..................................... 34 Figura 13 - Dendograma resultante da clusterização hierárquica............................................. 35 Figura 14 - Distribuição dos arquivos em 3 clusters. ............................................................... 35 8 Sumário 1 2 INTRODUÇÃO .................................................................................................................. 1 1.1 Questões ....................................................................................................................... 2 1.2 Delimitação do Projeto ................................................................................................ 2 1.3 Objetivo ....................................................................................................................... 2 1.4 O Estudo ...................................................................................................................... 2 1.5 Organização do Estudo ................................................................................................ 3 REVISÃO DA LITERATURA ........................................................................................... 4 2.1 Pesquisa Bibliográfica ................................................................................................. 4 2.2 Clusterização ................................................................................................................ 4 2.2.1 Critérios de semelhança ........................................................................................ 5 2.2.2 Técnicas de clusterização ..................................................................................... 5 2.2.3 Clusterização hierárquica ..................................................................................... 5 2.2.4 Seleção de número de clusters .............................................................................. 7 2.3 Planejamento estatístico de Experimentos ................................................................... 8 2.4 Planejamentos experimentais fatoriais ......................................................................... 9 2.5 Planejamentos fatoriais 2k .......................................................................................... 10 2.6 Planejamentos fatoriais 2² .......................................................................................... 10 2.7 Adição de pontos centrais em planejamentos 2k ........................................................ 12 2.8 Ajuste de modelos de regressão linear de primeira ordem ........................................ 13 2.8.1 Variáveis codificadas .......................................................................................... 14 2.8.2 Testes de hipótese para o diagnóstico do modelo ajustado ................................ 15 2.9 Metodologia de Superfície de Resposta ..................................................................... 17 2.9.1 3 Método de máxima inclinação ............................................................................ 17 METODOLOGIA ............................................................................................................. 20 3.1 Tipo de Pesquisa ........................................................................................................ 20 3.2 Universo e Amostra ................................................................................................... 20 3.3 3.3.1 Pesquisa documental .......................................................................................... 20 3.3.2 Observações do processo .................................................................................... 21 3.4 4 Coleta de dados .......................................................................................................... 20 Análise de Dados ....................................................................................................... 24 3.4.1 Determinação do número de clusters.................................................................. 25 3.4.2 Classificação dos arquivos em perfis ................................................................. 26 3.4.3 Critério de definição dos arquivos representantes de cada perfil ....................... 27 3.4.4 Planejamento dos experimentos ......................................................................... 27 3.4.5 Construção dos modelos de Regressão Linear ................................................... 29 3.4.6 Superfície de Resposta – Máxima inclinação descendente ................................ 29 ESTUDO DE CASO ......................................................................................................... 31 4.1 Descrição da Unidade de Análise .............................................................................. 31 4.2 Problema a ser analisado pelo estudo de caso ........................................................... 31 4.3 Determinação do número de perfis ............................................................................ 33 4.4 Classificação dos arquivos em perfis ......................................................................... 34 4.5 Definição dos arquivos representativos de cada perfil .............................................. 35 4.6 Análise do perfil A ..................................................................................................... 36 4.6.1 Experimentos realizados – perfil A .................................................................... 36 4.6.2 Modelo de regressão – perfil A. ......................................................................... 36 4.6.3 Diagnóstico do modelo ajustado – perfil A ........................................................ 37 4.6.4 Máxima inclinação descendente – perfil A ........................................................ 37 4.7 Análise do perfil B ..................................................................................................... 38 4.7.1 Experimentos realizados – perfil B .................................................................... 38 4.7.2 Modelo de regressão – Perfil B .......................................................................... 39 4.7.3 Diagnóstico do modelo ajustado – perfil B ........................................................ 39 4.7.4 Máxima inclinação descendente – perfil B......................................................... 39 4.8 Análise do Perfil C ..................................................................................................... 40 10 5 6 4.8.1 Experimentos realizados – perfil C .................................................................... 40 4.8.2 Modelo de regressão – perfil C........................................................................... 41 4.8.3 Diagnóstico do modelo ajustado – perfil C ........................................................ 41 4.8.4 Máxima inclinação descendente – perfil C......................................................... 42 OBSERVAÇÕES FINAIS E CONCLUSÕES ................................................................. 43 5.1 Conclusões ................................................................................................................. 43 5.2 Sugestões para trabalhos futuros................................................................................ 44 REFERÊNCIAS BIBLIOGRÁFICAS .............................................................................. 45 APÊNDICES ............................................................................................................................ 47 Apêndice A - Dados dos arquivos de input coletados e seus clusters. ................................ 47 Apêndice B - Custo de aluguel do servidor para cada configuração utilizada. .................... 50 1 1 INTRODUÇÃO As empresas iniciam suas atividades com um plano de negócios em que têm uma expectativa do tipo de cliente que terão e do produto ou serviço que satisfaz o mesmo. Baseadas nesse plano definem seus processos e os insumos que devem utilizar. Ao longo das atividades normalmente é necessário adequar o planejamento inicial à realidade do negócio em andamento, buscando-se adaptar o que foi planejado à novas circunstâncias. Alterações no comportamento e nas expectativas dos clientes quanto ao produto fornecido ou serviço prestado podem ser uma dessas circunstâncias. Desta forma uma revisão do perfil dos clientes deve ser parte do processo de melhoria contínua dos negócios. Também a constante busca por eficiência e melhores resultados dentro das empresas gera desafios e questões a serem definidas, buscando melhorar os processos. Melhorar um processo requer analisá-lo e entendê-lo, para que não só seja possível melhorar a qualidade do que é produzido, como também diminuir a quantidade de insumos que se utiliza, reduzindo assim os seus custos. Com a intenção de reduzir os custos e melhorar a qualidade em seus processos, as empresas estão investindo em ferramentas que possibilitem avaliar seus desempenhos e torná-los mais eficientes. De maneira geral, a melhoria de um processo tratase de um problema de otimização, em que se tem uma função objetivo a ser maximizada ou minimizada sujeita a restrições. No entanto, em processos produtivos, é comum haverem situações onde existem fatores, variáveis do problema, cuja relação com o resultado final do processo, função objetivo, nem sempre é conhecida. Nestas situações não é possível a utilização de técnicas de pesquisa operacional, como a programação linear, a programação inteira e a programação mista. Em casos como este, a busca da solução do problema pode ser feita através de uma sequência de experimentos até se atingir um resultado satisfatório. Para que esta sequência não seja um processo de tentativa e erro, pode ser utilizada a metodologia de planejamento de experimentos juntamente com a metodologia de superfície de resposta para direcionar adequadamente a sequência de experimentos e reduzir a quantidade de experimentos executados , e consequentemente o custo do processo de experimentação, e também para obter informações e resultados estatisticamente válidos com os experimentos. No presente trabalho, para a análise de clientes utiliza-se o método de clusterização. Para a otimização do processo são aplicadas as metodologias do planejamento experimental fatorial e de superfície de resposta no estudo do caso específico de um serviço. 2 1.1 Questões Este estudo irá discutir e analisar as seguintes questões: a) Quais são os perfis de arquivos que podem ser identificados a partir da classificação das informações históricas sobre os arquivos carregados pelos mesmos ao utilizar o serviço; b) Qual é a configuração ideal que deve ser alugada para os servidores para que a meta de desempenho do tempo de processamento seja atingida para cada um dos perfis de arquivo carregado. 1.2 Delimitação do Projeto O estudo foi realizado a partir de dados e informações fornecidos pela empresa onde o mesmo foi realizado. Apenas o serviço de fabricação e hospedagem de páginas web foi analisado. O período de coleta de dados foi de maio de 2017 até setembro de 2017, do qual foram recuperados dados históricos sobre a utilização do serviço pelos clientes, mais especificamente sobre os arquivos carregados pelos mesmos ao utilizarem o serviço da empresa. Este estudo buscou analisar apenas à variável de resposta tempo de processamento. A variável custo de processamento também foi calculada, porém somente para fins de acompanhamento, pelo reconhecimento da sua importância para a empresa, e para garantir que a mesma permaneceria dentro de níveis aceitáveis de custo. 1.3 Objetivo O objetivo foi melhorar o processo de uma empresa de processamento de dados, definindo a menor quantidade de memória RAM e de núcleos da CPU de um servidor para que o tempo total de processamento de arquivos carregados por usuários do serviço fosse inferior a um tempo definido como aceitável. 1.4 O Estudo Esse estudo aborda temas relacionados às áreas de conhecimento da Engenharia de Produção, tais como a engenharia organizacional, a pesquisa operacional e o planejamento de experimentos. Segundo a Associação Brasileira de Engenharia de Produção (ABEPRO), a engenharia organizacional é o conjunto de conhecimentos relacionados à gestão das organizações, englobando em seus tópicos: o planejamento estratégico e operacional, a propriedade intelectual, a avaliação de desempenho organizacional. Já o planejamento de experimentos, é um conjunto de conhecimentos e técnicas que tem o objetivo de determinar e 3 analisar, através de testes, as mudanças que ocorrem nas variáveis de saída ou nas respostas de um processo, quando mudanças deliberadas são produzidas nas variáveis de entrada do processo. 1.5 Organização do Estudo Com o propósito de atingir as metas propostas nos objetivos e apresentar todas as informações com clareza, este estudo está dividido em cinco capítulos. O primeiro capítulo apresenta o objetivo do estudo, as considerações iniciais, o problema e as suas formulações. O segundo apresenta uma revisão teórica das técnicas e metodologias utilizadas para desenvolver o Estudo de Caso. O terceiro define o método de pesquisa, indicando as etapas realizadas no estudo e como ela será organizada para se alcançar o objetivo final. No quarto capítulo, a metodologia definida no capítulo três é aplicada. Inicialmente, o processo estudado é descrito, de acordo com as informações e dados disponíveis da empresa analisada. Posteriormente, é realizada a aplicação da Metodologia de Superfície de Resposta e seu desenvolvimento no Estudo de Caso é detalhado. O quinto capítulo conclui o trabalho, apresentando o resultado final e conclusões, bem como propostas e sugestões de novas pesquisas. 4 2 REVISÃO DA LITERATURA 2.1 Pesquisa Bibliográfica A fim de obter um levantamento bibliográfico para o desenvolvimento do estudo, inicialmente foram realizadas pesquisas na base de dados do Google Acadêmico a partir de palavras chaves pré-determinadas de acordo com os objetivos. Posteriormente foi realizado uma pesquisa por meio de livros de autores conceituados e de materiais de aulas utilizados durante o curso de Engenharia de Produção da UFF, que tratassem das áreas de conhecimento que envolvem os assuntos abordados nos objetivos, buscando obter material que fosse de conteúdo mais didático, conceitual e explicativo. Isto se fez necessário devido ao fato da grande maioria dos artigos científicos encontrados sobre os temas terem um foco mais voltado para aplicações em situações reais. Apesar de se utilizarem das teorias e buscarem referências em obras de autores conceituados nas mesmas, em livros e em pesquisas de cunho mais teórico, a grande maioria dos artigos encontrados não apresentou em seu corpo o desenvolvimento conceitual das teorias de forma didática e explicativa. Dadas estas circunstâncias, as referências deste trabalho foram focadas principalmente em livros de autores conceituados e em pesquisas de cunho mais teórico. 2.2 Clusterização Segundo Jain et al. (1999, p.265) clusterização é a classificação não supervisionada de conjuntos de dados em padrões agrupados segundo seu grau de semelhança, que é medido por algum critério predefinido, formando clusters. Desta forma, padrões pertencentes a um determinado cluster são mais semelhantes entre si do que são semelhantes a padrões que estejam em um cluster diferente. Segundo Jain e Dubes (1988, p.1) um cluster é um conjunto de objetos similares coletados e agrupados. De forma geral, clusters são representados como vetores de medidas ou pontos em um espaço multidimensional (JAIN et al., 1999, p.265). Segundo Jain et al. (1999, p.265) existe uma diferença fundamental entre a classificação supervisionada de dados e a clusterização (classificação não supervisionada). Na classificação supervisionada existem inicialmente classes definidas nas quais encaixam-se os padrões baseando-se em algum conjunto de critérios ou regras que distinguem uma classe de outra. Já na classificação não supervisionada não existem classes inicialmente, e o problema de clusterização é justamente agrupar os padrões de dados, também baseando-se em algum conjunto de critérios, porém estes critérios levam em consideração somente as informações intrínsecas no conjunto de dados observados sem estabelecer regras para classificar novos 5 padrões de dados (JAIN; DUBES, 1988, p.1) . Por este motivo a clusterização é particularmente mais apropriada para classificar dados quando se tem pouca ou nenhuma informação, ou dúvida sobre quais seriam as classes pré-existentes para um determinado conjunto de dados (JAIN et al., 1999, p.265). 2.2.1 Critérios de semelhança O critério de semelhança é a métrica utilizada na clusterização para julgar a semelhança entre padrões de um conjunto de dados. Segundo Jain et al. (1999, p.271) é comum utilizar métricas baseadas em cálculos de distância para calcular a semelhança entre os padrões de dados. A métrica de distância mais comum utilizada é a métrica euclidiana (JAIN; DUBES, 1988, p.15). Segundo Deza e Deza (2009, p.94) a métrica euclidiana é a métrica no espaço euclidiano n-dimensional definida pela equação 1, também conhecida como distância euclidiana. 2.2.2 | − |=√ Técnicas de clusterização − ²+ ⋯+ � − � ² (1) Segundo Jain et al. (1999, p.274) existem, em primeira instância, duas abordagens diferentes de algoritmos de clusterização: a abordagem hierárquica e a particional. Os algoritmos hierárquicos produzem uma série de partições aninhadas cuja representação é conhecida como dendograma. Já os métodos particionais produzem apenas uma partição. Os métodos particionais são recomendados quando o conjunto de dados é muito grande, de forma que a construção e a visualização dos clusters em um dendograma hierárquico é difícil até mesmo computacionalmente (JAIN et al., 1999, p.278). 2.2.3 Clusterização hierárquica Os algoritmos hierárquicos produzem uma série de partições aninhadas. O conjunto estruturado dessas partições é conhecido como dendograma. Um dendograma é um tipo especial de estrutura em árvore que fornece uma forma conveniente de visualizar um agrupamento hierárquico que consiste de camadas de nós, onde cada nó representa um cluster. Em um dendograma, linhas conectam nós representando clusters que estão aninhados uns nos outros (JAIN; DUBES, 1988, p.59). Um dendograma pode ser cortado horizontalmente em diferentes níveis, produzindo diferentes quantidades de clusters (JAIN; DUBES, 1988, p.59). A figura 1 mostra um exemplo de clusterização hierárquica realizada com um conjunto de dados bidimensional. 6 Figura 1 - Clusterização hierárquica em dados bidimensionais (JAIN et al., 1999, p.276). Segundo Jain et al. (1999, p.275) os dois algoritmos mais populares de clusterização hierárquica são o single-link e o complete-link. Esses dois algoritmos são distintos na forma como cada um caracteriza a semelhança entre dois clusters. No single-link a distância entre dois clusters é medida pela distância mínima entre dois padrões, sendo um padrão pertencente a cada cluster. Já no complete-link a distância entre dois clusters é medida pela distância máxima entre dois padrões, sendo um padrão pertencente a cada cluster. Porém, nos dois casos de algoritmos, dois clusters distintos serão combinados para formar um cluster maior, baseando-se no critério da menor distância entre dois clusters (JAIN et al., 1999, p.276). O algoritmo complete-link forma clusters mais compactos enquanto que o algoritmo single-link tende a formar clusters alongados, de formato elipsoidal (FRAKES; BAEZA-YATES, 1992) Um algoritmo hierárquico pode ainda ser de aglomeração ou divisão. Um algoritmo de divisão parte de um cluster contendo todos os padrões até chegar a uma condição de parada, que seja atingida ou que cada padrão esteja sozinho no seu próprio cluster. Em um algoritmo de aglomeração esse processo é revertido, começando-se com cada padrão em um cluster e formando grupos maiores até que uma condição de parada seja atingida ou que todos os padrões estejam em apenas um cluster (JAIN; DUBES, 1988, p.57). Uma condição de parada pode ser, por exemplo, um limite estabelecido para o número de clusters no dendograma final (JAIN et al., 1999, p.277). A figura 2 mostra um exemplo de dendograma originado a partir de um algoritmo single-link. Na figura o dendograma é cortado horizontalmente, formando três clusters. 7 Figura 2 - Dendograma obtido usando algoritmo single-link (JAIN et al., 1999, p.276). 2.2.4 Seleção de número de clusters Na clusterização hierárquica, para distribuir um conjunto de dados em um número definido de clusters é preciso primeiro decidir quantos clusters se deseja formar, para então poder cortar horizontalmente o dendograma. No entanto pressupõe-se a existência de um número ótimo de clusters, que seria aquele que possibilita maximizar a semelhança entre os padrões de um mesmo cluster e ao mesmo tempo minimizar a semelhança entre padrões de clusters distintos (FARIA, 2009, p.18). Segundo Faria (2009, p.2) medir ao mesmo tempo a homogeneidade da semelhança dentro de um cluster e a heterogeneidade de semelhança entre clusters distintos e atingir estes dois objetivos simultaneamente é o que dificulta a determinação do número ótimo. Segundo Charrad et al. (2014, p.2) o processo de avaliar essa homogeneidade e heterogeneidade é conhecido por cluster validity e existem na literatura uma grande variedade de índices estatísticos propostos para se determinar o número ótimo de clusters para um conjunto de dados. Segundo Charrad et al. (2014, p.31) o pacote Nbclust reúne trinta (30) índices estatísticos disponíveis em pacotes do software R em um único pacote fornecendo uma lista exaustiva de índices para estimar o número ótimo de clusters para um conjunto de dados. O pacote calcula simultaneamente todos os índices aplicáveis ao conjunto de dados de acordo com o algoritmo de clusterização definido, e determina o número de clusters ótimo de acordo com cada um dos trinta índices. Ao final da computação de todos os índices o pacote indica a quantidade ótima de clusters pela regra da maioria, isto é, a quantidade que foi apontada pelo maior número de índices computados (CHARRAD et al. , 2014, p.24). 8 2.3 Planejamento estatístico de Experimentos Segundo Montgomery (2017, p.1) observar o funcionamento de um sistema ou processo pode levar a teorias sobre como os mesmos funcionam, porém, experimentos são necessários para demonstrar que essas teorias estão corretas. Experimentos são séries de testes realizados, comumente chamados de observações, nos quais as intensidades dos fatores que influenciam o sistema ou processo estudado são propositalmente alteradas para que seja possível observar e identificar as razões para as mudanças nos outputs (saídas) do processo devido a essas alterações (MONTGOMERY, 2017, p1). A intensidade de um fator é denominada de nível do fator, e pode ser definida quantitativamente ou qualitativamente (MONTGOMERY, 2017, p.86). Planejamento estatístico de experimentos é o processo de planejar os experimentos de forma que os dados possam ser devidamente coletados e analisados por métodos estatísticos, para que se possam tirar conclusões válidas e objetivas com os experimentos (MONTGOMERY, 2017, p11). Um processo ou sistema pode ser considerado como uma combinação de fatores controláveis e fatores não controláveis que transformam inputs em outputs (MONTGOMERY, 2017, p.2). A figura 3 mostra um modelo dessa relação. Figura 3 - Modelo de Processo (MONTGOMERY, 2017, p.3). Segundo Montgomery (2017, p.2) nos objetivos de um experimento podem se incluir as seguintes categorias: a) Determinar quais fatores (ou variáveis) são os que mais influenciam nas saídas (outputs). 9 b) Determinar qual o ajuste de fatores (ou variáveis) controláveis a ser usado para que as saídas estejam sempre próximas de um determinado valor nominal desejado. c) Determinar o ajuste de fatores (ou variáveis) controláveis para que a variabilidade das saídas seja pequena. d) Determinar o ajuste dos fatores (ou variáveis) controláveis para que o efeito de fatores não controláveis nas saídas seja minimizado. Segundo Montgomery (2017, p.11) existem três princípios básicos do planejamento de experimentos: 1. Aleatoriedade: a ordem em que os testes dos experimentos são conduzidos devem ser determinados de forma aleatória. Os métodos estatísticos requerem que as observações sejam variáveis aleatoriamente distribuídas de forma independente. 2. Replicação: uma replicação de um experimento é um conjunto de observações composto de uma observação independente para cada combinação de fatores possíveis. Replicações refletem fontes de variabilidade tanto entre execuções subsequentes de testes quanto variabilidades intrínsecas aos testes (MONTGOMERY, 2017, p.12). 3. Blocagem: É uma técnica usada para melhorar a precisão do experimentos diminuindo a variabilidade transmitida por fatores existentes que interferem nas respostas experimentais, porém não é objetivo do estudo considerar esses efeitos (MONTGOMERY, 2017, p.12). 2.4 Planejamentos experimentais fatoriais Planejamentos experimentais fatoriais são planejamentos nos quais em cada replicação completa do experimento todas as combinações possíveis de níveis dos fatores são investigadas. Caso existam, por exemplo a níveis de um fator A e b níveis de um fator B, cada replicação do experimentos conterá todas as a vezes b combinações possíveis de níveis dos dois fatores (MONTGOMERY, 2017, p.179). Segundo Montgomery (2017, p.179) o efeito principal de um fator pode ser definido como a mudança média produzida na saída do processo devido a alteração no nível do fator. Quando o efeito principal de um fator depende do efeito principal de um outro fator, isto significa que existe uma interação entre os fatores. A magnitude dessa interação pode ser 10 medida pela diferença média entre os efeitos principais de um dos fatores. Também chamada de efeito da interação (MONTGOMERY, 2017, p.180). Os tipos mais importantes de planejamentos fatoriais são os fatoriais , onde k indica o número de fatores do experimento. Cada fator nesse tipo de planejamento pode assumir apenas um de dois níveis para os experimentos, como alto ou baixo (+ ou -). Esses níveis podem ser qualitativos ou quantitativos (MONTGOMERY, 2017, p.230). 2.5 Planejamentos fatoriais 2k De acordo com Montgomery (2017, p.230) planejamentos k fornecem o menor número de observações em que k fatores podem ser estudados em um experimento fatorial completo. Uma replicação completa nesse planejamento requer um total de k observações. Nestes experimentos, como há apenas dois níveis para cada fator, supõe-se que a resposta é aproximadamente linear no intervalo entre os níveis de fator escolhidos (MONTGOMERY, 2017, p.231). Um método comumente utilizado para checar essa suposição de linearidade entre os níveis de fatores é a adição de pontos centrais nos planejamentos k (MONTGOMERY, 2017, p.284). A Tabela 1 mostra um exemplo de experimento fatorial 2², com três replicações completas. Tabela 1 - Exemplo de experimento fatorial 2². Fatores Replicações A B − − + Combinações de I II III A baixo, B baixo 28 25 27 − A alto, B baixo 36 32 32 − + A baixo, B alto 18 19 23 + + A alto, B alto 31 30 29 níveis de fatores Fonte: Montgomery (2017, p.231). 2.6 Planejamentos fatoriais 2² Os planejamentos 2² são casos particulares dos planejamentos onde existem apenas dois fatores. Nesses planejamentos existem apenas quatro combinações possíveis de 11 níveis de fatores. A tabela 2 mostra as quatro combinações possíveis de níveis para um planejamento 2² considerando dois fatores (A e B) e notações utilizadas para cada uma delas. Essas notações podem ser usadas para representar a soma total das respostas observadas em um experimento, para cada combinação de níveis de fatores, contabilizando-se todas as replicações realizadas (MONTGOMERY, 2017, p.231). Tabela 2 – Notações para combinações de fatores de um planejamento 2². Combinações de níveis de fatores notação A baixo, B baixo (1) A alto, B baixo a A baixo, B alto b A alto, B alto ab Fonte: Montgomery (2017, p.231). Segundo Montgomery (2017, p.231) em um planejamento fatorial 2², os efeitos principais dos fatores A e B e de sua interação AB podem ser definidos pelas equações 2, 3 e 4 respectivamente, onde n é o número de replicações completas do experimento. = [ = [ = + − − n [ + − − + � ] (2) ] (3) − − ] � (4) De acordo com Montgomery (2017, p.234) em um planejamento fatorial 2², a soma dos quadrados dos efeitos totais dos fatores A e B e de sua interação AB pode ser definida pelas equações 5, 6 e 7 respectivamente, onde n é o número de replicações completas do experimento. �� = �� = �� [ [ = + − − � [ + − − � ]2 (5) ]² (6) + − − ]² � (7) 12 2.7 Adição de pontos centrais em planejamentos 2k A adição de pontos centrais não afeta as estimativas estatísticas obtidas com um planejamento (MONTGOMERY, 2017, p.285). Quando se adiciona pontos centrais, supõe- se que os k fatores são quantitativos. Nesse caso, seus níveis são representados por -1 (no nível baixo), +1 (no nível alto) e 0 no ponto central. Além disso os demais pontos, que não o ponto central, são denominados pontos fatoriais (MONTGOMERY, 2017, p.285). A figura 4 mostra um exemplo de planejamento 2² com replicações no ponto central. Figura 4 - Planejamento 2² com replicações no ponto central. Segundo Montgomery (2017, p.285), quando o planejamento não possui replicações nos pontos fatoriais, a adição de replicações no ponto central do planejamento oferece um meio de testar a linearidade na região entre os níveis dos fatores através de uma estimativa independente para o erro experimental �� . A equação 8 mostra o como é realizado o cálculo da estimativa do erro puro experimental, onde central, é o número de observações no ponto são os valores de resposta para cada uma das observações no ponto central, e ̅ é a média aritmética das respostas das observações no ponto central (MONTGOMERY, 2017, p.286). Essa estimativa tem − graus de liberdade. �� �� = � − ∑ � − −̅ 2 (8) A adição de pontos centrais também permite que se calcule também a soma dos quadrados dos efeitos quadráticos puros dos fatores. A equação 9 mostra como é realizado esse cálculo. Na equação 9, experimento, é o número de observações em pontos fatoriais do é o número de observações no ponto central ̅ é a média aritmética das 13 respostas das observações fatoriais e ̅ é a média aritmética das respostas das observações feitas no ponto central. Essa estimativa tem 1 grau de liberdade (MONTGOMERY, 2017, p.285). �� = � � ̅ −̅ � +� ² (9) De acordo com Montgomery (2017, p.483) a adição de pontos centrais permite particionar a soma dos quadrados do erro experimental (�� )em soma dos quadrados do erro puro experimental (�� (�� e soma dos quadrados devido à falta de adequação do modelo . Desta forma, a soma dos quadrados do erro experimental é definida pela equação 10. �� = �� + �� (10) Da mesma forma, no caso de planejamentos fatoriais 2², a soma dos quadrados devido à falta de adequação (�� pode ser particionada em soma dos quadrados devido ao efeito puro quadrático e soma dos quadrados devido ao efeito da interação AB, representando assim à falta de adequação do modelo para contemplar efeitos de curvatura. Sendo assim equação 10 passa a ser denotada pela equação 11. 2.8 �� = �� + �� + �� (11) Ajuste de modelos de regressão linear de primeira ordem Segundo Montgomery (2017, p.511) planejamentos fatoriais podem ser utilizados para ajustar modelos de regressão linear múltipla de primeira ordem. O método dos mínimos quadrados é o mais utilizado para estimar os coeficientes em um modelo de regressão linear múltipla (MONTGOMERY, 2017, p.462). De acordo com Montgomery (2017, p.463) um modelo de primeira ordem considerando-se todas as observações realizadas no experimento pode ser escrito, na forma matricial, conforme a equação 12, onde y é o vetor (n x 1) das observações realizadas no experimento, X é a matriz (n x p) dos níveis das variáveis independentes, é o vetor (p x 1) dos coeficientes de regressão e � é o vetor (n x 1) dos erros aleatórios experimentais de cada observação. Nesta notação, n é o número de observações experimentais e p é o número de coeficientes de regressão do modelo. Assume-se também, que os termos � do vetor � são variáveis aleatórias não correlacionadas com esperança � = e variância � � = � , respeitando assim o princípio da aleatoriedade dos planejamentos experimentais definido no item 2.3 do capítulo de Revisão de Literatura. = � +� (12) 14 O método dos mínimos quadrados busca uma estimativa para os coeficientes do modelo de regressão de forma a minimizar a soma dos quadrados das diferenças entre os valores observados, encontrados experimentalmente, e os valores estimados, encontrados calculando-se matematicamente as respostas através do modelo ajustado pelo método (DIAS, 2005, p.18). Na forma matricial o vetor (p x 1) dos estimadores dos coeficientes de regressão é definido pela equação 13 (MONTGOMERY, 2017, p.463). ̂ = �′� − �′ (13) ̂=�̂ (14) Dessa forma, o modelo ajustado pode ser representado, na forma matricial pela equação 14 (MONTGOMERY, 2017, p.464). A diferença entre o valor de cada observação e o valor calculado pelo modelo ajustado para cada observação ̂ é denominado de resíduo (� ). Na forma matricial o vetor (n x 1) dos resíduos é denotado pela equação 15 (MONTGOMERY, 2017, p.464). �= −̂= − �̂ (15) Segundo Montgomery (2017, p.464) a soma dos quadrados dos resíduos, cujo método dos mínimos quadrados minimiza, é denotado, na forma matricial, pela equação 16. �� = ∑�= � = �′� (16) Dessa forma um estimador para a variância � dos erros experimentais aleatórios � é denotado pela equação 17 (MONTGOMERY, 2017, p.464) �� �̂² = �− 2.8.1 Variáveis codificadas (17) De acordo com Montgomery (2017, p.290) o uso de variáveis codificadas em planejamentos para ajustar modelos de regressão linear múltipla permite melhor identificar o peso dos efeitos de cada fator analisado no experimento. Isso se deve ao fato de, ao usar variáveis codificadas, as magnitudes dos coeficientes se tornam diretamente comparáveis, tornando-se adimensionais e ao mesmo tempo os coeficientes passam a ser estimados com a mesma precisão (MONTGOMERY, 2017, p.290). A equação 18 representa uma fórmula para o cálculo das variáveis codificadas (KHURI; CORNELL, 1996, p.47). Na equação 16 representa o valor codificado da variável, � e � � os valores reais dos fatores nos níveis baixo e alto respectivamente e � o valor real do fator o qual se deseja codificar. = � − � � +� � � � −� � (18) 15 2.8.2 Testes de hipótese para o diagnóstico do modelo ajustado Acrescentado observações de pontos centrais nos planejamentos é possível elaborar testes de hipótese para a adequação do modelo de regressão linear múltipla, verificando evidências da presença de efeitos quadráticos e de interação dos fatores, dessa forma testando a presença de efeitos de curvatura no modelo (MONTGOMERY, 2017, p.285). Nestes testes, avalia-se a proximidade do ponto central com relação aos pontos fatoriais da região experimental sobre análise, através das estimativas dos efeitos quadrático puro �� e de interação �� (no caso experimentos 2²). Caso essa proximidade seja grande, o ponto central está próximo do plano que corta os pontos fatoriais, e não à efeito considerável de curvatura no modelo, caso contrário o ponto está longe o e isso é um indicativo de que efeitos de curvatura deveriam estar sendo considerados para determinar a relação entre a variável dependente y e as variáveis independentes , para que o modelo ajustado dessa relação seja capaz de aproximar de forma satisfatória toda a região experimental em análise (MONTGOMERY, 2017, p.285). A figura 5 ilustra esse efeito de curvatura, com o pronto central longe do plano que passo pelos pontos fatoriais. 16 Figura 5 – Efeito de curvatura na região experimental (MONTGOMERY, 2017, p.285). Os testes de hipótese avaliam a significância das estimativas da soma dos quadrados do efeito quadrático puro �� �� e da soma dos quadrados do efeito da interação com relação a estimativa para a soma dos quadrados do erro experimental (�� de acordo com a partição do erro experimental denotada na equação 11. Se a parcela da soma dos ou �� ) for considerável com relação ao quadrados do efeito de curvatura (�� estimado para o total (�� ) constitui-se uma situação de não rejeição da hipótese nula do teste, o que indica a provável presença de efeito de curvatura (MONTGOMERY, 2017, p.285). Para testar a presença de efeito quadrático puro dos fatores no modelo, pode ser elaborado o seguinte teste de hipótese, onde representa os coeficientes dos termos quadráticos do modelo de regressão (MONTGOMERY, 2017, p.286). � :∑ = � :∑ ≠ = = = ��� � � � (19) 17 > Rejeita-se a hipótese nula caso �, ,� − da tabela da distribuição F-Snecdor, ao nível de significância , onde �, ,� − é o valor (MONTGOMERRY, 2017, p.484). No caso de experimentos fatoriais 2², para testar a presença de efeito da interação dos fatores no modelo, um teste semelhante pode ser elaborado utilizando a soma dos quadrados dos efeitos de interação �� , onde é o coeficiente da interação entre os fatores no modelo de regressão. �: �: Rejeita-se a hipótese nula caso = = �� distribuição F -Snecdor, ao nível de significância 2.9 ≠ � > (20) �, ,� − onde �, ,� − é o valor da (MONTGOMERRY, 2017, p.484). Metodologia de Superfície de Resposta Segundo Montgomery (2017, p.489) Metodologia de superfície de resposta é um conjunto de técnicas usadas para modelar e analisar problemas nos quais uma resposta de interesse é influenciada por variáveis independentes e o objetivo é otimizar essa resposta, ou determinar quais valores das variáveis dependentes a deixam próxima de um valor nominal desejado (MONTGOMERRY, 2017, p.2). A relação entre a resposta e as variáveis independentes na maioria das vezes é desconhecida, por isso o primeiro passo da metodologia de superfície de resposta é achar uma boa aproximação para essa relação. Usualmente empregam-se modelos de regressão linear de baixa ordem para estimar essa aproximação (MONTGOMERY, 2017, p.490). O objetivo da metodologia de superfície de resposta é determinar as condições ótimas de operação de um sistema ou determinar uma região no espaço n-dimensional das variáveis independentes onde as condições de operação do sistema são satisfeitas (MONTGOMERY, 2017, p.491). 2.9.1 Método de máxima inclinação Quando o objetivo é melhorar o desempenho de um determinado processo, na maioria dos casos as condições de operação atualmente utilizadas estão longe das condições que seriam as ótimas. Nessas circunstâncias é desejável a utilização de um método simples e eficiente para que se possa, através de experimentos, chegar próximo às condições ótimas. 18 Quando se está longe da resposta ótima, é comum assumir que um modelo de regressão linear de primeira ordem é uma aproximação adequada da relação entre a resposta e as variáveis independentes (H.MYERS et al., 2016, p.7). O método de máxima inclinação descendente é um método para mover-se sequencialmente na direção de máximo decréscimo da resposta. Quando o objetivo é aumentar o valor da resposta o nome do método altera-se para método de máxima inclinação ascendente. (MONTGOMERY, 2017, p.491). De acordo com Myers et al. (2016, p.234) o método de máxima inclinação consiste nos seguintes procedimentos: a) Ajustar um modelo de primeira ordem para a resposta em função das variáveis independentes. b) Definir um caminho de máxima inclinação ascendente ou descendente para se buscar o máximo acréscimo, ou máximo decréscimo da resposta c) Realizar experimentos sequenciais nesse caminho e observar os valores da resposta. Os valores normalmente apresentarão crescimento ou diminuição de acordo com o objetivo intencionado. Em alguma região ao longo do caminho essa melhoria deve diminuir e eventualmente desaparecer. É aconselhável que o primeiro experimento sequencial seja realizado próximo da região experimental. d) Em algum ponto dos experimentos sequenciais a variação na resposta entre experimentos sucessivos passa por um ponto de inflexão passando de positiva para negativa no caso de inclinação ascendente, ou de negativa para positiva no caso de inclinação descendente. Segundo Myers et al. (2016, p.234) uma boa regra é permanecer na máxima inclinação até que um decréscimo (no caso de inclinação ascendente) ou um acréscimo (no caso de inclinação descendente) seja constatado em duas observações consecutivas. e) Ajustar outro modelo de primeira ordem, numa nova região experimental, perto do ponto de inflexão encontrado, repetindo os procedimentos 1 a 4 até que um modelo de primeira ordem não se demonstre mais adequado para o objetivo de melhorar a resposta. Testes de curvatura (efeito quadrático e interação) podem ser utilizados para verificar essa adequação. 19 2.9.1.1 Definição da máxima inclinação Segundo Montgomery (2017, p.495) a máxima inclinação é proporcional aos coeficientes do modelo de regressão de primeira ordem, tanto em sinal quanto em magnitude. Matematicamente trata-se da direção do vetor gradiente do modelo de regressão. O que significa dizer que, para caminhar sobre o caminho de máxima inclinação deve-se alterar os em quantidades proporcionais aos seus coeficientes ̂ do modelo de valores das variáveis primeira ordem ajustado. Vale ressaltar que durante todo o processo de definição do caminho de máxima inclinação utilizam-se variáveis codificadas, onde o ponto central é a origem do caminho e = 0) (H.MYERS et al., 2016, p.235). O caminho de máxima inclinação da superfície de resposta é definido da seguinte forma: a) Escolhe-se uma das variáveis do processo estudado. Geralmente escolhe-se a variável sobre a qual se tem maior conhecimento, ou a variável que possui o maior valor absoluto para os coeficientes de regressão (H.MYERS et al., 2016, p.235). b) Em seguida é preciso definir um tamanho de passo para essa variável. O passo nada mais é que a variação a ser utilizada no nível da variável durante o caminho de máxima inclinação. É recomendável escolher um tamanho de passo que permita proximidade com a região experimental à qual o modelo de primeira ordem foi ajustado (H.MYERS et al., 2016, p.234). c) Calcular o passo nas demais variáveis de análise. A equação 21 fornece uma fórmula para o cálculo do passo nas demais variáveis, onde ∆ é o valor do passo na variável codificada escolhida, � é o coeficiente do modelo ajustado para essa variável, � é o coeficiente da variável a qual se deseja descobrir (H.MYERS et al., 2016, p.239). ∆ = /∆ = , ..., ≠ (21) d) Após calcular o passo é necessário ainda converter a variável codificada em variável real, para que o valor possa ser utilizado posteriormente em experimentos sequenciais (H.MYERS et al., 2016, p.239). 20 3 METODOLOGIA Segundo Lakatos e Marconi (2003, p.221) A metodologia é o tópico do projeto de pesquisa que abrange maior número de itens, pois responde às seguintes questões: Como? Com quê? Onde? Quanto? 3.1 Tipo de Pesquisa Tendo como base para realizar essa classificação os objetivos gerais deste estudo, a natureza desta é experimental. A investigação experimental ocorre quando se manipula diretamente as variáveis relacionadas com o objeto de estudo. A manipulação de variáveis proporciona o estudo da relação entre as causas e os efeitos de determinado fenômeno (BERVIAN et al., 2006, p.61). Para Gil (1989, p.73) “de modo geral, o experimento representa o melhor exemplo de pesquisa científica.” Esta pesquisa envolve tipos diferentes de investigação: a) Pesquisa bibliográfica, com base em material publicado; b) Investigação ex post facto, referente a fatos que já ocorreram; c) Estudo de caso 3.2 Universo e Amostra O universo da pesquisa teve como referência o processo de transformação dos arquivos carregados pelos clientes da empresa em bancos de dados. Este processo de transformação teve seu desempenho acompanhado em investigação experimental, na qual amostras do tempo de processamento total de arquivos foram coletadas enquanto as variáveis que influenciam o processo foram manipuladas para que fosse possível estudar as relações de causas e efeito existentes. As informações adquiridas com essa investigação experimental foram utilizadas para atingir os objetivos deste estudo. 3.3 Coleta de dados Neste estudo foram utilizados dois métodos de coleta de dados: pesquisa documental e observações do processo. 3.3.1 Pesquisa documental Uma das pesquisas documentais realizadas foi a partir de dados de registros fornecidos pela empresa. Foram coletados e documentados dados sobre os arquivos carregados pelos clientes da empresa de quando utilizaram o serviço. Desses dados foram utilizados o número de linhas e o número de colunas dos arquivos. 21 O apêndice A contém os dados de número de colunas e número de linhas de todos os setenta e sete (77) arquivos coletados junto a empresa que foram utilizados. A figura 6 mostra os dados dos arquivos coletados em um gráfico de dispersão considerando o número de colunas e o número de linhas dos arquivos. Figura 6 - Dispersão Número de Colunas versus Número de Linhas dos arquivos Outra pesquisa documental realizada foi a partir de dados sobre o custo de aluguel por hora das configurações do servidor que foram utilizadas no estudo. O custo de processamento dos arquivos será registrado somente para fins de acompanhamento. O apêndice B contém todas as configurações utilizadas nesse estudo durante os experimentos e o custo por hora de cada uma delas no fornecedor utilizado pela empresa. 3.3.2 Observações do processo Com o intuito de observar a influência das variáveis independentes: arquivo carregado pelo usuário, quantidade de memória RAM e número de núcleos da CPU do servidor no tempo total de processamento do arquivo, amostras do tempo de processamento total de arquivos foram coletadas por meio de cronometragem digital com precisão de segundos. O cronômetro digital e a medição foram controlados pelo pesquisador e foi marcado o tempo decorrido desde o início até o fim do processamento do arquivo. Essa medição foi feita através do dashboard da plataforma do serviço da empresa, de forma a simular a utilização de um usuário (cliente) utilizando o serviço. As figuras 6, 7 e 8 mostram a medição sendo conduzida. O exemplo das figuras foi realizado com um arquivo genérico 22 somente para fins de demonstração. Na figura 7 pode ser visualizado o início da medição, quando o cronômetro é iniciado e o arquivo começa a ser importado. A quantidade de linhas do arquivo importado pode ser visualizada nesse instante como mostrado na figura, no canto esquerdo, a instrução “5000 entries are importing” indica que o arquivo do exemplo tinha cinco mil linhas. Figura 7 - Inicio da medição de tempo de processamento. A figura 8 mostra a mesma medição da figura 7, porém agora em andamento. Podese observar o cronômetro marcando o tempo e a instrução “3500 entries are importing” indicando o número de linhas do arquivo que ainda restam ser processadas. 23 Figura 8 - Medição de tempo em andamento. A figura 9 mostra a mesma medição das figuras 8 e 7, porém no instante em que o cronômetro é paralisado e a medição termina. A instrução “import complete” indica que todas entradas (linhas do arquivo) foram importadas e processadas com sucesso pelo sistema. 24 Figura 9 - Medição de tempo finalizada 3.4 Análise de Dados Neste estudo, a análise de dados foi feita conforme os objetivos do estudo e foi constituída de cinco partes: a) Inicialmente foi realizada uma análise com os dados de número de linhas e número de colunas coletados dos arquivos carregados pelos clientes da empresa para definir qual o número ótimo de grupos (clusters) a se formar com estes arquivos. Como descrito no item 2.2.4 da seção Revisão de Literatura deste estudo, o número ótimo é aquele que possibilita a maior homogeneidade entre os arquivos de um mesmo grupo ao mesmo tempo que proporciona grande heterogeneidade entre arquivos de grupos distintos. Posteriormente, os arquivos foram classificados em perfis, utilizando o algoritmo de clusterização hierárquica complete-link de aglomeração como descrito no item 2.2.3 da Revisão de Literatura deste estudo, utilizando o número ótimo de clusters encontrado como condição de parada para o algoritmo. O algoritmo complete-link foi escolhido devido à sua tendência em formar clusters mais compactos (FRAKES; BAEZA-YATES, 1992). E foi computado utilizando o software R. 25 b) Em seguida foi definido um arquivo representante para cada um dos perfis identificados. Cada um desses arquivos foi então utilizado em experimentos fatoriais 2² previamente planejados, para construir modelos de regressão linear múltipla para o tempo de processamento de cada arquivo (variável dependente), em função das variáveis quantidade de memória RAM e quantidade de núcleos da CPU do servidor (variáveis independentes). c) A partir de cada modelo construído, os coeficientes de regressão foram usados para conduzir experimentos sequenciais na superfície de resposta, seguindo o método de máxima inclinação, descrito no item 2.9.1da Revisão de Literatura. Nos experimentos sequenciais as configurações do servidor foram variadas e o desempenho de tempo foi novamente testado, até que se alcançasse a meta para o tempo de processamento, definida para trinta minutos (mil e oitocentos segundos). 3.4.1 Determinação do número de clusters Para determinar o número ótimo de clusters a ser utilizado para dividir os arquivos coletados em grupos, foi utilizada o pacote Nbclust do software R. para computar diferentes índices estatísticos de definição do número ótimo de clusters. Segundo Charrad et al. (2014, p.31) o pacote Nbclust reúne todos os 30 índices estatísticos disponíveis em pacotes do R em um único pacote a fim de fornecer uma lista exaustiva de índices para estimar o número de clusters. A função Nbclust() deste pacote foi utilizada conforme as instruções de Charrad (2014) e recebeu os seguintes valores para os seus argumentos: a) data: Conjunto de dados formado utilizando-se o número de linhas e o número de colunas dos arquivos carregados pelos clientes; b) distance: “euclidean” – Para que a distância euclidiana (equação 1) seja usada como métrica para definir os clusters; c) min.nc: 2 - Para que o mínimo número de clusters a ser considerado seja de 2 agrupamentos; d) Max.nc: 10 - Para que o limite máximo de agrupamentos a ser considerado seja de dez agrupamentos. Escolheu-se um limite considerado alto apenas para ter um parâmetro razoável e que ao mesmo tempo não limitasse as possibilidades do resultado para um número de agrupamentos muito pequeno; e) method: “complete” – para que o algoritmo utilizado para formar os clusters seja o hierárquico complete-link; 26 f) Index: “alllong” – para que todos os 30 índices estatísticos disponíveis no pacote NbClust sejam computados (CHARRAD et al., 2014, p.24). g) Após computar a função NbClust(), utilizando estes argumentos, o número ótimo de clusters foi determinado pela regra da maioria, que de acordo com Charrad et al. (2014, p.24) é aquele que obtiver a maior frequência considerando todos os índices computados. 3.4.2 Classificação dos arquivos em perfis Após definido o número ideal de clusters para o conjunto de dados dos arquivos, a classificação em perfis foi realizada novamente com o software R através da utilização das funções dist(), hclust() e cutree(). A função dist() constrói a matriz (n x n) de distâncias entre os padrões do conjunto de dados e foi utilizada conforme as instruções de Meyer (2017) recebendo os seguintes valores para os seus argumentos: a) X: vetor de dados formado pelo número de linhas de todos os arquivos b) Y: vetor de dados formado pelo número de colunas de todos os arquivos. c) method: “Euclidean” para que seja usada a métrica euclidiana. O retorno obtido da função dist() é a matriz das distâncias entre cada ponto de dados, que foi utilizada na função hclust() para computar os clusters. A função hclust() aplica o algoritmo hierárquico ao conjunto de dados. A função foi utilizada conforme as instruções de Mllner (2017) com os seguintes valores para os seus argumentos: a) d: matriz de distância computada com a função dist(); b) method: “complete” para que o critério utilizado para medir à distância entre dois clusters seja o de complete-link. O retorno obtido da função hclust() foi a o dendograma representativo do agrupamento dos dados segundo o método hierárquico de aglomeração, utilizando o critério complete-link. Este resultado foi utilizado na função cutree(). A função cutree() é a função que corta horizontalmente o dendograma, para formar um determinado número de clusters. A função foi utilizada conforme as instruções de Galili (2017) e recebeu os seguintes valores para os seus argumentos: tree: O dendograma, resultante da utilização da função hclust(); a) k: o valor do número ótimo, encontrado ao computar a função NbClust() no item 3.4.1. O retorno obtido da função cutree() foi um vetor de dados contendo cada um dos arquivos e o respectivo cluster (perfil) ao qual foi designado. 27 3.4.3 Critério de definição dos arquivos representantes de cada perfil O critério de definição para o arquivo representante foi: aquele que, dentre todos os arquivos do perfil, possuir a maior carga de processamento representada pelo produto entre o seu número de linhas e o seu número de colunas. Quanto maior o número de linhas de um arquivo maior, é a sua carga de processamento, pois o número de linhas define quantas páginas web serão criadas a partir do arquivo De maneira análoga, quanto maior o número de colunas do arquivo, maior é a carga de processamento, pois cada coluna está associada a uma variável da web template utilizado no processamento, consequentemente, mais colunas implicam numa maior carga de processamento. Para efeito de exemplo, um arquivo com dez mil (10.000) linhas e quarenta (40) colunas corresponderia a dez mil (10.000) páginas criadas e quatrocentas mil (400.000) operações de processamento a serem executadas pelo servidor. A intenção deste critério foi utilizar o arquivo que exige mais recursos e potência de processamento do servidor, para que os resultados finais de desempenho sejam válidos para todos os outros arquivos do mesmo perfil, uma vez que todos eles possuirão uma carga de processamento menor do que a carga do arquivo elegido como representante. Como não foi possível recuperar cópias dos arquivos originais carregados pelos clientes, foram criados arquivos com o mesmo número de linhas e colunas, porém com conteúdo genérico no intuito de obter arquivos o mais similar possível aos originais para serem utilizados nos experimentos. A carga de processamento de cada arquivo está representada no apêndice A. 3.4.4 Planejamento dos experimentos Com o objetivo de verificar a influência das variáveis: quantidade de memória RAM e número de núcleos da CPU configuradas para o servidor no tempo total de processamento dos arquivos foi elaborado um planejamento experimental fatorial 2² com cinco repetições no ponto central, como mostra a tabela 3. Das nove observações no total, quatro são combinações de níveis dos fatores, proporcionando uma replicação completa do experimento fatorial 2² (MONTGOMERY, 2017, p.179). As outras cinco observações no ponto central têm como objetivo obter uma estimativa para o erro experimental e testar a presença de efeitos quadráticos e de interação entre as variáveis independentes, como descrito no item 2.8.2 da Revisão de Literatura. 28 Tabela 3 - Matriz do planejamento fatorial 2² EXP Memória RAM Núcleos 1 -1 (1) -1 (1) 2 +1 (3) -1 (1) 3 -1 (1) +1 (3) 4 +1 (3) +1 (3) 5 0 (2) 0 (2) 6 0 (2) 0 (2) 7 0 (2) 0 (2) 8 0 (2) 0 (2) 9 0 (2) 0 (2) Como variável de resposta (dependente) foi avaliado o tempo total de processamento do arquivo representante do perfil utilizado nos experimentos. Os níveis das variáveis independentes utilizados foram 1, 2 e 3 GB para a variável quantidade de memória RAM, assim como de 1, 2 e 3 núcleos para a CPU. Os valores das variáveis foram codificados para serem utilizados permitindo assim uma melhor análise (MONTGOMERY, 2017, p.290) utilizando-se a equação 16. O valor codificado “-1” representa o nível baixo, o valor “0” representa o ponto central e o valor “+1” representa o nível alto dos fatores. A configuração de 2 GB de memória RAM e 2 núcleos para a CPU foi escolhida como ponto central inicial por ser a configuração que a empresa utiliza atualmente para os servidores que aluga. A condução dos experimentos para coletar as observações se iniciou com o perfil dos arquivos mais leves, isto é, aquele perfil cuja carga de processamento do arquivo representante foi a menor quando comparada com a dos arquivos representantes dos demais perfis, e foi usado o planejamento da tabela 3. O segundo perfil a ser analisado foi o perfil com a segunda menor carga e assim sucessivamente, até o último perfil. O planejamento a ser utilizado pelos perfis subsequentes também foi fatorial 2² com cinco repetições no ponto central, porém os níveis das variáveis independentes foram planejados novamente. A configuração determinada como ideal pelo perfil anterior na análise de superfície de resposta, que atingiu a meta de trinta minutos (mil e oitocentos segundos) para o tempo total de processamento, foi utilizada para configurar o ponto onde as duas variáveis independentes se encontram em seu nível mais baixo no experimento do perfil subsequente. 29 Com isso, a evolução do desempenho foi observada da configuração menos potente possível à configuração mais potente necessária para se atingir a meta de desempenho em todos os perfis. 3.4.5 Construção dos modelos de Regressão Linear Os experimentos definidos no item 3.4.4 foram utilizados para construir modelos de regressão linear múltipla para o tempo de processamento de cada arquivo (variável dependente), em função das variáveis quantidade de memória RAM e quantidade de núcleos da CPU do servidor (variáveis independentes). Os modelos de regressão foram construídos computacionalmente utilizando o software R. Supondo-se que o ponto central inicial dos experimentos (2 GB e 2 núcleos) é um ponto da superfície de resposta que está longe do nível necessário para se atingir à meta desejada para resposta, considera-se que um modelo de regressão de primeira ordem é apropriado para investigação da região experimental e para uma modelagem inicial (H.MYERS et al., 2016, p.7). A equação 22 demostra o modelo de regressão polinomial de primeira ordem que foi utilizado inicialmente, onde y representa a variável de resposta, tempo total de Processamento do arquivo, seu coeficiente, e representam respectivamente a varável quantidade de memória RAM e e representam respectivamente a variável número de núcleos da CPU e seu coeficiente, e � representa os erros experimentais aleatórios. Já a equação 23 representa o modelo ajustado que foi computado. = + ̂= ̂ + ̂ + + ̂ +� (22) (23) Um diagnóstico do modelo ajustado foi realizado utilizando os testes de hipótese definidos no item 2.8.2 da Revisão de Literatura para testar se havia indícios de curvatura devido à efeitos quadráticos das variáveis ou de interação das mesmas, desta forma testando se os modelos eram realmente adequados para as regiões experimentais de análise. O nível de significância utilizado para todos os testes de hipótese foi de cinco por cento (5%). 3.4.6 Superfície de Resposta – Máxima inclinação descendente Os coeficientes de regressão ̂ e ̂ definidos para as variáveis independentes no item 3.4.5, foram utilizados para definir a direção de máxima minimização do tempo de tempo de processamento. Uma das duas variáveis, CPU ou memória RAM, foi escolhida para 30 definir o passo ao longo do caminho mais íngreme. Foi escolhida a variável que obteve, em módulo, o maior coeficiente de regressão ajustado (H.MYERS et al., 2016, p.235). Em seguida foi definido um tamanho de passo ∆ nessa variável, escolhido de forma a manter-se próximo da região experimental (H.MYERS et al., 2016, p.234). O passo na outra variável foi calculado através da equação 12. Os valores foram decodificados para se obter a quantidade real para os passos em memória RAM e em número de núcleos da CPU. Como não foi possível configurar para os servidores quantidades fracionárias de Memória RAM ou núcleos de CPU no fornecedor atual da empresa estudada, quando, após a decodificação das variáveis, foram calculados valores de passo que correspondiam a quantidades fracionárias, os valores dos passos foram multiplicados por quantidades inteiras (2, 3 ,4...) até que se obtivessem valores de passo muito próximos a valores configuráveis. Os passos determinados foram utilizados para novamente observar o desempenho em experimentos sequenciais, partindo-se do ponto central definido no planejamento dos experimentos do perfil e seguindo a máxima inclinação. O tempo de processamento do arquivo foi observado em experimentos sequenciais, até que se obtivesse um tempo de processamento menor ou igual à meta de tempo estabelecida de trinta minutos (mil e oitocentos segundos). A configuração cujo tempo observado satisfez esta condição foi eleita a configuração ideal a ser utilizada para o processamento de arquivos do perfil analisado e foi utilizada no planejamento experimental do perfil subsequente. 31 4 ESTUDO DE CASO 4.1 Descrição da Unidade de Análise A empresa a ser estudada foi a DIGITAR INFORMÁTICA LTDA, que é uma empresa nacional que presta serviços de tecnologia da informação (TI) e processamento de dados variáveis. A empresa emprega 15 funcionários e opera no centro do Rio de Janeiro. A unidade a ser analisada é um serviço de internet criado pela empresa. 4.2 Problema a ser analisado pelo estudo de caso A empresa passou a oferecer recentemente um serviço de internet recentemente para alguns de seus clientes. O serviço consiste de uma plataforma online que os usuários podem utilizar para criar páginas web de suas cobranças (boletos de pagamento) e distribuí-las para os respectivos destinatários por via eletrônica (e-mail, SMS, push notification). O sistema criado recebe como input o banco de dados do usuário em forma de arquivo e utiliza os dados para criar as páginas web e para realizar a distribuição. Um fluxograma contendo as etapas desse processo pode ser visto na figura 10. Figura 10 - Etapas do Processo de criação e distribuição. Na etapa de Processamento dos dados, o sistema utiliza os dados presentes no arquivo para preencher o conteúdo de uma web template predefinido. A figura 11 contém um exemplo da web template e de página criada a partir desse processo. O sistema interpreta o banco de dados do cliente, e substitui o conteúdo entre colchetes ([]) na web template pelo valor correspondente no banco de dados carregado pelo usuário. Por exemplo: o conteúdo [246], na web template da figura 10 corresponde à variável linha digitável no banco de dados do cliente. O sistema processa essa associação e substitui o conteúdo [246] pelo valor de linha digitável presente no arquivo do usuário. Essa rotina é repetida para cada registro (linha) do arquivo, desta forma, um input de x linhas dará origem a x páginas web que serão distribuídas para x destinatários. As informações pessoais do destinatário contidas na figura 11 foram ocultadas por segurança. 32 Figura 11 - Exemplo de web template e página web criada pelo sistema. Cada cliente da empresa possui um usuário independente para utilizar o serviço, que é hospedado em servidores na nuvem, alugando recursos computacionais de hardware (disco rígido, memória RAM, processadores, largura de banda). O custo desse aluguel depende da quantidade de recursos que a empresa reserva para o servidor: quanto maior a quantidade de recursos reservados, maior é o custo por hora do aluguel. A empresa pode variar em tempo real a quantidade de recursos que aluga na nuvem, alocando mais ou menos memória RAM e número de núcleos da CPU de um servidor por exemplo (o que é conhecido como vertical scaling) ou alugando outros servidores (o que é conhecido como horizontal scaling). A etapa do processo na qual um servidor mais demanda por recursos é a de processamento dos dados existentes nos arquivos carregados, em função da grande quantidade de dados que é manipulada e da complexidade das rotinas executadas pelo sistema nessa etapa. Ao mesmo tempo, a empresa estabeleceu uma meta de 30 minutos (1800 segundos) 33 para o tempo total de processamento de um arquivo, a qual julgou ser satisfatória e deseja alcançar para poder usar como referência ao fazer campanhas para captação de novos clientes. Considerando-se que o tempo total de processamento é influenciado pela carga de processamento gerada pelo determinado input (arquivo carregado pelo cliente) e pela capacidade de processamento do servidor, que pode ser medida em quantidade de memória RAM e de núcleos da CPU, a empresa deseja definir qual a configuração ideal que precisa alugar para obter o desempenho almejado para o tempo total de processamento. De posse dessa informação poderá utilizar-se dos recursos de vertical e horizontal scaling para garantir que a quantidade de recursos alugada será sempre adequada para obter um desempenho satisfatório e também para reduzir seus custos aluguel optando pelas configurações mais caras somente quando houver real necessidade, de maior potência de processamento. Definidas estas condições, o problema de pesquisa a ser analisado neste estudo de caso consiste de duas etapas: a primeira é a identificação dos perfis de input dos usuários através de uma análise de clusterização, e a segunda é a definição da configuração adequada de recursos a ser alugada para cada um dos perfis identificados a fim de que se possa atingir o tempo total de processamento desejado através da aplicação da metodologia de superfície de resposta, usando o método da máxima inclinação. 4.3 Determinação do número de perfis Para determinar o número ótimo de perfis foi utilizado o software R com o pacote NbClust para computar trinta (30) índices estatísticos de definição do número ótimo de clusters para os dados dos arquivos. Foi utilizada a função NbClust() como indicado no item 3.4.1 da seção Metodologia deste estudo. A figura 11 mostra o output da função NbClust(): a distribuição de frequência dos números ótimos de clusters indicados por todos os índices computados. 34 Figura 12 - Distribuição de frequência do número ótimo de clusters. Com base nos resultados, decidiu-se por fazer a classificação dos arquivos em 3 perfis, pois foi a quantidade de clusters indicada mais vezes considerando-se todos os índices computados, com um total de 14 indicações dentre os 30 índices. 4.4 Classificação dos arquivos em perfis A figura 12 mostra o dendograma completo do resultado da aplicação do algoritmo hierárquico de aglomeração, conforme descrito no item 3.4.2 da seção de Metodologia deste estudo. A figura 13 mostra a distribuição final dos arquivos em clusters em um gráfico de dispersão considerando número de colunas versus número de linhas onde podem ser visualizados os perfis A, B e C. O apêndice A contém os dados coletados de todos os arquivos e os perfis aos quais foram designados. 35 Figura 13 - Dendograma resultante da clusterização hierárquica. Figura 14 - Distribuição dos arquivos em 3 clusters. 4.5 Definição dos arquivos representativos de cada perfil A tabela 4 mostra os dados dos arquivos que foram escolhidos para representar cada um dos perfis, segundo o critério de maior carga de processamento de cada perfil descrito no item 3.4.3 da seção Metodologia deste estudo. 36 Tabela 4 - Arquivos representativos de cada perfil Perfil 4.6 Número de Linhas Número de Colunas Carga de processamento A 95.204 34 3.236.936 B 99.938 55 5.496.590 C 495.143 34 16.834.862 Análise do perfil A 4.6.1 Experimentos realizados – perfil A Para o perfil A os níveis das variáveis independentes utilizadas em ordem crescente foram 1, 2 e 3 GB para a quantidade de memória RAM, e de 1, 2 e 3 núcleos para a CPU configuradas para o servidor. As variáveis foram codificadas utilizando a equação 18 de modo que o ponto central ( = e = ) é o ponto 2 GB e 2 núcleos. Os dados dos experimentos com o perfil A podem ser encontrados na tabela 5. Tabela 5 - Resultado experimental do tempo de processamento – perfil A Memória Núcleos Tempo (segundos) Custo ($) -1 (1) -1 (1) 3892 0,069839778 +1 (3) -1 (1) 3561 0,120282667 -1 (1) +1 (3) 2929 0,099586 +1 (3) +1 (3) 2733 0,136270417 0 (2) 0 (2) 2952 0,100532 0 (2) 0 (2) 2889 0,0983865 0 (2) 0 (2) 2995 0,101996389 0 (2) 0 (2) 2927 0,099680611 0 (2) 0 (2) 2986 0,101689889 4.6.2 Modelo de regressão – perfil A. Os dados da tabela 5 foram utilizados para ajustar um modelo de regressão linear múltipla de primeira ordem, que relacionasse o tempo de processamento do arquivo com as variáveis independentes memória RAM e CPU. Para computar o modelo foi utilizado o 37 software R. O modelo ajustado de regressão encontrado para o perfil A está representado na equação 24, onde é a variável codificada para a memória RAM e a variável codificada para a quantidade de núcleos da CPU. ̂= + − , − , 4.6.3 Diagnóstico do modelo ajustado – perfil A (24) Foi feito um diagnóstico para o modelo ajustado para o perfil A, realizando testes para os efeitos quadráticos e de interação, como descrito no item 2.8.2 da Revisão de Literatura deste estudo. Pelos testes de hipótese realizados, não houve motivos para acreditar que tais efeitos sejam significativos: �� �� = �� = [ + = = Como ambos × × �� = − − × , = , − + �� = �� %, , e − = �� , = , , , ]² , = , , = , são menores que efeitos quadráticos ou de interação no perfil A. ² = = %, , , , , , não há indicação de 4.6.4 Máxima inclinação descendente – perfil A A variável memória RAM foi escolhida para a definição do passo, pois teve o maior coeficiente de regressão. Para que os valores dos passos correspondessem às variações configuráveis para o servidor. Foi definido um passo ∆ CPU seria ∆ ∆ = , = , com isso o passo na variável . Como não é possível variar o número de núcleos em 0,882 unidades foi aproximado para 1 unidade na variável real. A tabela 6 mostra a evolução da máxima inclinação descendente para o perfil A. O objetivo de desempenho para o perfil A foi atingido após quatro passos com a marca de mil setecentos e oitenta e três (1783) segundos para o tempo de processamento do arquivo e a configuração de 14 GB de memória RAM e 6 núcleos de CPU. 38 Tabela 6 – Máxima inclinação descendente para o perfil A. Tempo Passos x1 x2 Memória Núcleos (segundos) custo ($) Origem 0 0 2 2 - - ∆ 3 0,882 3 1 - - +∆ 3 0,882 5 3 2572 0,17 + ∆ �� �� �� �� + ∆ 6 1,764 8 4 2363 0,23 9 2,646 11 5 2105 0,26 �� �� + ∆ 12 3,528 14 6 1783 0,27 �� �� 4.7 Análise do perfil B 4.7.1 Experimentos realizados – perfil B Para o perfil B os níveis das variáveis independentes utilizadas em ordem crescente foram 14, 16 e 18 GB para a quantidade de memória RAM, e de 6, 7 e 8 núcleos para a CPU configuradas para o servidor. As variáveis foram codificadas utilizando a equação 10 de modo que o ponto central ( = e = ) é o ponto 16 GB e 7 núcleos. Os dados dos experimentos com o perfil B podem ser encontrados na tabela 7. Tabela 7 - Resultado experimental do tempo de processamento – perfil B Memória Núcleos Tempo (segundos) Custo ($) -1 (14) -1 (6) 3756 0,574981 -1 (14) +1 (8) 3463 0,578417194 +1 (18) -1 (6) 2919 0,524771333 +1 (18) +1 (8) 2779 0,538276861 0 (16) 0 (7) 2991 0,519353917 0 (16) 0 (7) 3033 0,52664675 0 (16) 0 (7) 2974 0,516402056 0 (16) 0 (7) 2937 0,509977417 0 (16) 0 (7) 3076 0,534113222 39 4.7.2 Modelo de regressão – Perfil B Os dados da tabela 7 foram utilizados para ajustar um modelo de regressão linear múltipla de primeira ordem, que relacionasse o tempo de processamento do arquivo com as variáveis independentes memória RAM e CPU. Para computar o modelo foi utilizado o software R. O modelo ajustado de regressão encontrado para o perfil B está representado na equação25, onde é a variável codificada para a memória RAM e a variável codificada para a quantidade de núcleos da CPU. ̂= , + − , − 4.7.3 Diagnóstico do modelo ajustado – perfil B , (25) Foi feito um diagnóstico para o modelo ajustado para o perfil B, realizando testes de hipótese para os efeitos quadráticos e de interação, como descrito no item 2.8.2 da Revisão de Literatura deste estudo. Pelos testes de hipótese realizados, não houve motivos para acreditar que tais efeitos sejam significativos: �� �� = Como ambos �� = [ + × × = = e �� = − − × �� �� = �� %, , , = , , − + , − = = , , , = , são menores que quadráticos ou de interação no perfil B. ]² , , %, , = ² = , = , , , não há indicação de efeitos 4.7.4 Máxima inclinação descendente – perfil B A variável memória RAM foi escolhida para a definição do passo, pois teve o maior coeficiente de regressão. No caso do perfil B, para que os valores dos passos correspondessem a variações configuráveis do servidor, foi definido um passo ∆ = , com isso o passo ∆ seria de 0,854. Como, para o planejamento dos experimentos feito para o perfil B, uma variação de 1 unidade em equivale a uma variação de 2 GB de memória RAM, e uma 40 variação de 1 unidade em equivale a uma variação de 1 núcleo de CPU, os valores dos passos nas variáveis reais foram de 6 GB para memória e 1 núcleo de CPU por passo (o valor 0,854 de ∆ foi aproximado para 1 na variável real). A tabela 8 mostra a evolução da máxima inclinação descendente para o perfil B. O objetivo de desempenho foi atingido após três passos com a marca de mil setecentos e vinte (1720) segundos para o tempo de processamento do arquivo e a configuração de 34 GB de memória RAM e 10 núcleos de CPU. Tabela 8 – Máxima inclinação descendente para o perfil B. Passos Origem x1 0 x2 0 Memória 16 Núcleos 7 Tempo (segundos) - ∆ 3 0,854 6 1 - - +∆ 3 0,854 22 8 2287 0,64 6 1,708 28 9 2031 0,56 + ∆ 9 2,562 34 10 1720 0,48 �� �� �� �� �� �� 4.8 + ∆ custo ($) - Análise do Perfil C 4.8.1 Experimentos realizados – perfil C Para o perfil C os níveis das variáveis independentes utilizadas em ordem crescente foram 34, 38 e 42 GB para a quantidade de memória RAM, e de 10, 12 e 14 núcleos para a CPU configuradas para o servidor. As variáveis foram codificadas utilizando a equação 10 de modo que o ponto central ( = e = ) é o ponto 38 GB e 12 núcleos. Os dados dos experimentos com o perfil C podem ser encontrados na tabela 9. 41 Tabela 9 - Resultado experimental do tempo de processamento – perfil C Memória Núcleos Tempo (segundos) Custo ($) -1 (34) -1 (10) 3137 0,945718 -1 (34) +1 (14) 2931 0,955913 +1 (42) -1 (10) 2463 0,843714 +1 (42) +1 (14) 2307 0,847182 0 (38) 0 (12) 2731 0,915188 0 (38) 0 (12) 2749 0,92122 0 (38) 0 (12) 2757 0,923901 0 (38) 0 (12) 2773 0,929263 0 (38) 0 (12) 2752 0,922226 4.8.2 Modelo de regressão – perfil C Os dados da tabela 9 foram utilizados para ajustar um modelo de regressão linear múltipla de primeira ordem, que relacionasse o tempo de processamento do arquivo com as variáveis independentes memória RAM e CPU. Para computar o modelo foi utilizado o software R. O modelo ajustado de regressão encontrado para o perfil C está representado na equação 26, onde é a variável codificada para a memória RAM e a variável codificada para a quantidade de núcleos da CPU. ̂= , + − , − 4.8.3 Diagnóstico do modelo ajustado – perfil C , (26) Foi feito um diagnóstico para o modelo ajustado para o perfil C, realizando testes para os efeitos quadráticos e de interação, como descrito no item 2.8.2 da Revisão de Literatura deste estudo. Pelos testes de hipótese realizados, não houve motivos para acreditar que tais efeitos sejam significativos: �� �� = �� = [ + = = × × �� �� , − − × = , − + = − , , , , ]² = ² = = , , 42 = Como ambos �� = �� %, , e = , , = , são menores que efeitos quadráticos ou de interação no perfil C. , não há indicação de %, , 4.8.4 Máxima inclinação descendente – perfil C A variável memória RAM foi escolhida para a definição do passo, pois teve o maior coeficiente de regressão. No caso do perfil C, para que os valores dos passos correspondessem a variações configuráveis do servidor, foi definido um passo ∆ = , com isso o passo ∆ seria de 0,558. Como, para o planejamento dos experimentos feito para o perfil C, uma variação de 1 unidade em equivale a uma variação de 4 GB de memória RAM, e uma variação de 1 unidade em equivale a uma variação de 2 núcleos de CPU, os valores dos passos nas variáveis reais foram de 8 GB para memória RAM e 1 núcleo de CPU por passo (o valor de 1,115 de ∆ foi aproximado para 1 na variável real). A tabela 10 mostra a evolução da máxima inclinação descendente para o perfil C. O objetivo de desempenho foi atingido após três passos com a marca de mil seiscentos e doze (1612) segundos para o tempo de processamento do arquivo e a configuração de 54 GB de memória RAM e 14 núcleos de CPU. Tabela 10 - Máxima inclinação descendente para o perfil C. Tempo Passos x1 x2 Memória Núcleos (segundos) custo ($) Origem 0 0 38 12 - - ∆ 2 1 8 1 - - 2 0,558 46 13 2170 0,82 4 0,116 54 14 1612 0,68 �� �� �� �� +∆ + ∆ 43 5 5.1 OBSERVAÇÕES FINAIS E CONCLUSÕES Conclusões O desenvolvimento deste estudo apresentou os seguintes resultados: a) Os arquivos analisados podem ser enquadrados em um dos seguintes três perfis: 1) perfil A – arquivos de 11.522 até 95.204 linhas e de 29 até 34 colunas. 2) perfil B – arquivos 67.736 de 99.938 linhas e 55 colunas. 3) perfil C – arquivos de 244.096 até 495.143 linhas e com 34 colunas. b) O objetivo de desempenho para o perfil A foi atingido após três passos com a marca de mil setecentos e oitenta e três (1783) segundos para o tempo de processamento do arquivo e a configuração de 14 GB de memória RAM e 6 núcleos de CPU. c) O objetivo de desempenho para o perfil B foi atingido após três passos com a marca de mil setecentos e vinte (1720) segundos para o tempo de processamento do arquivo e a configuração de 34 GB de memória RAM e 10 núcleos de CPU. d) O objetivo de desempenho para o perfil C foi atingido após três passos com a marca de mil seiscentos e doze (1612) segundos para o tempo de processamento do arquivo e a configuração de 54 GB de memória RAM e 14 núcleos de CPU. Estes resultados foram considerados satisfatórios tanto quanto ao tempo de processamento quanto ao custo associado. Desta forma este estudo possibilitou que a empresa melhorasse consideravelmente o desempenho de um processo utilizando metodologias científicas de forma simples e com baixo custo. Concluiu-se que: a) A utilização de técnicas de clusterização possibilitam agrupar conjuntos de dados de forma relativamente simples mesmo tendo-se pouca informação disponível. É possível definir um número de grupos ótimo através de estimativas para a homogeneidade dentro de clusters e da heterogeneidade entre clusters distintos. b) O planejamento de experimentos e a metodologia de superfície de resposta constituem um conjunto de ferramentas de simples aplicação que possibilita estudar e melhorar os processos através de pesquisa experimental. Durante o estudo houve dificuldade em encontrar bibliografia referente às teorias e ferramentas aplicadas. Grande maioria bibliografia encontrada nas bases de dados e em periódicos sobre os temas era voltada à aplicações e estudos de caso como este. Em busca de conteúdo de cunho mais teórico, para que se pudesse ter base para aplicar as ferramentas ao 44 estudo de caso, acabou-se por concentrar grande parte da revisão de literatura em livros de de autores conceituados na comunidade científica nas áreas do conhecimento que envolveram os temas deste estudo. Outra dificuldade foi a escassez dessas obras no idioma nacional, o que dificultou bastante a pesquisa, dada a necessidade de interpretação dos textos para compreender e poder aplicar as teorias, bem como citá-las adequadamente e transmitir corretamente as ideias. Além desses fatos, destaca-se também a escassez de disponibilidade gratuita das obras teóricas sobre os temas envolvidos. Poucas obras foram encontradas com disponibilidade total de seu conteúdo, o que dificultou ainda mais a pesquisa. Apesar das dificuldades e da pouca quantidade de obras de conteúdo didático encontradas para referenciar o conteúdo deste trabalho (com destaque para a parte de planejamento experimental e de superfície de resposta) considera-se que a bibliografia encontrada foi suficiente para abordar completamente os temas de forma satisfatória, de forma que não comprometeu o desenvolvimento dos objetivos traçados pela falta de acesso ao conhecimento necessário. 5.2 Sugestões para trabalhos futuros Considerando o estudo realizado, são sugestões para a continuidade desse trabalho: a) Rever o estudo incluindo um histórico maior de dados, possibilitando a identificação de mais perfis de clientes e usuários. 45 6 REFERÊNCIAS BIBLIOGRÁFICAS CHARRAD, M. NbClust function | R Documentation. Disponível em: <https://www.rdocumentation.org/packages/NbClust/versions/3.0/topics/NbClust>. Acesso em: 9/12/2017. CHARRAD, M.; GHAZZALI, N.; BOITEAU, V.; NIKNAFS, A. NbClust : An R Package for Determining the Relevant Number of Clusters in a Data Set. Journal of Statistical Software, Americas Statistical Association Outubro de 2014, v. 61, n. 6, DEZA, M. M.; DEZA, E. Encyclopedia of distances. Berlin, Heidelberg: Springer Berlin Heidelberg, 2009. 583 p. DIAS, A. B. Estimação dos parâmetros do modelo de regressão linear simples pelo método não paramétrico Santa Maria, Rio Grande do Sul, Brasil, 2005. 49 f. Indicação do tipo de trabalho Monografia(especialiazação) – Estatística e Modelagem Quantitativa, Universidade Federal de Santa Maria, Santa Maria. 2005. FARIA, P. N. Avaliação de Métodos para Determinação do Número Ótimo de Clusters em Estudo de Divergência Genética Entre Acessos de Pimenta, Viçosa, Minas Gerais, 54 f. Dissertação(Mestrado), Estatística Aplicada e Biometria, Universidade Federal de Viçosa, Visoça, Minas Gerais, 2009. FRAKES, W. B.; BAEZA-YATES, R. Information retrieval: data structures and algorithms. Upper Saddle River: Prentice-Hall Inc, 1992. 405 p. GALILI, T. cutree function | R Documentation. Disponível em: <https://www.rdocumentation.org/packages/dendextend/versions/1.6.0/topics/cutree>. Acesso em: 9/12/2017. GIL, A. C. Métodos e Técnicas de Pesquisa Social. 2nd ed. São Paulo: Atlas, 1989. 385 p. H.MYERS, R.; C.MONTGOMERY, D.; ANDERSON-COOK, M, C. Response Surface Methodology: Process and Product Optimization Using Designed Experiments. 3rd ed. Hoboken, New Jersey-USA: John Wiley and Sons, 2016. 837 p. JAIN, A. K.; DUBES, R. C. Algorithms for Clustering Data. New Jersey-USA: Prentice-Hall, 1988. 344 p. JAIN, A. K.; MURTY, M. N.; FLYNN, P. J. Data clustering: a review. ACM Computing Surveys, Janeiro de 1999, v. 31, n. 3, p. 264–323. KHURI, A. I.; CORNELL, J. A. Response Surfaces: Designs and Analyses. 2nd ed. New York: Marcel Dekker, Inc., 1996. 518 p. MARCONI, M.; LAKATOS, E. Fundamentos de metodologia científica. São Paulo: Atlas, 2003. 310 p. 46 MEYER, D. dist function | R Documentation. Disponível em: <https://www.rdocumentation.org/packages/proxy/versions/0.4-19/topics/dist>. Acesso em: 9/12/2017. MLLNER, D. hclust function | R Documentation. Disponível em: <https://www.rdocumentation.org/packages/fastcluster/versions/1.1.24/topics/hclust>. Acesso em: 9/12/2017. MONTGOMERY, D. C. Design and Analysis of Experiments. 9th ed. Phoenix: Arizona State Universuty, 2017. 734 p. 47 APÊNDICES Apêndice A - Dados dos arquivos de input coletados e seus clusters. Web Template Número de linhas Número de colunas Cluster Carga de Processamento A1 11.522 29 A 334.138 B1 11.812 39 A 460.668 A1 12.084 29 A 350.436 A1 12.420 29 A 360.180 A1 12.654 29 A 366.966 A1 13.046 29 A 378.334 A1 13.230 29 A 383.670 B1 13.352 39 A 520.728 A1 13.853 29 A 401.737 A1 13.944 29 A 404.376 A1 14.307 29 A 414.903 A1 14.680 29 A 425.720 A1 14.760 29 A 428.040 A1 14.985 29 A 434.565 B1 24.036 39 A 937.404 C1 26.339 34 A 895.526 A1 27.111 29 A 786.219 B1 29.585 39 A 1.153.815 A1 34.064 29 A 987.856 A1 34.302 29 A 994.758 B1 35.616 39 A 1.389.024 A1 35.972 29 A 1.043.188 A1 37.580 29 A 1.089.820 A1 39.294 29 A 1.139.526 A1 40.503 29 A 1.174.587 A1 41.916 29 A 1.215.564 A1 42.768 29 A 1.240.272 A1 43.606 29 A 1.264.574 C1 44.280 34 A 1.505.520 A1 45.584 29 A 1.321.936 A1 46.052 29 A 1.335.508 A1 46.596 29 A 1.351.284 A1 46.704 29 A 1.354.416 A1 46.929 29 A 1.360.941 A1 47.553 29 A 1.379.037 48 A1 A1 C1 A1 A1 A1 A1 A1 A1 A1 A1 C1 C1 A1 A1 A1 A1 C1 D1 D1 D1 D1 D1 D1 D1 D1 C1 C1 C1 A1 C1 A1 A1 C1 C1 C1 C1 C1 C1 C1 47.576 47.658 47.865 48.156 49.011 54.670 56.790 59.070 60.880 61.605 66.286 68.541 73.284 75.010 79.119 84.444 88.526 95.204 67.736 72.010 76.003 77.161 80.012 97.004 99.760 99.938 244.096 274.617 278.143 300.137 304.642 334.285 338.790 435.066 435.310 440.910 445.840 448.441 483.368 488.567 29 29 34 29 29 29 29 29 29 29 29 34 34 29 29 29 29 34 55 55 55 55 55 55 55 55 34 34 34 29 34 29 29 34 34 34 34 34 34 34 A A A A A A A A A A A A A A A A A A B B B B B B B B C C C C C C C C C C C C C C 1.379.704 1.382.082 1.627.410 1.396.524 1.421.319 1.585.430 1.646.910 1.713.030 1.765.520 1.786.545 1.922.294 2.330.394 2.491.656 2.175.290 2.294.451 2.448.876 2.567.254 3.236.936 3.725.480 3.960.550 4.180.165 4.243.855 4.400.660 5.335.220 5.486.800 5.496.590 8.299.264 9.336.978 9.456.862 8.703.973 10.357.828 9.694.265 9.824.910 14.792.244 14.800.540 14.990.940 15.158.560 15.246.994 16.434.512 16.611.278 49 C1 C1 493.025 495.143 34 34 C C 16.762.850 16.834.862 50 Apêndice B - Custo de aluguel do servidor para cada configuração utilizada. Memória RAM (GB) 1 1 2 3 3 5 8 11 14 14 16 18 18 22 28 34 34 38 42 42 46 54 CPU (núcleos) 1 3 2 1 3 3 4 5 6 8 7 6 8 8 9 10 14 12 10 14 13 14 Custo/hora ($) 0,0646 0,1216 0,1226 0,1224 0,1795 0,2357 0,3447 0,4498 0,5511 0,6013 0,6251 0,6472 0,6973 0,7886 0,9417 1,0853 1,1741 1,2064 1,2332 1,322 1,3698 1,5212