Este trabalho demonstra que os algoritmos genéticos fornecem uma excelente metodologia para resolver o problema de programação de projetos de construção. O modelo desenvolvido é formulado através de uma representação adequada das soluções do problema e dos operadores do algoritmo, explorando a formulação e a função objetivo para estimar a qualidade das soluções.
O paradigma proposto aborda o problema de alocação de recursos limitados, considerando que cada atividade pode ser executada de uma única maneira, a qual é escolhida entre várias alternativas. A implementação do modelo considera o problema tradicional, de programação de projetos com restrição de recursos e modo único de execução, como um caso especial do problema de múltiplos modos.
Existem atualmente, várias boas heurísticas convencionais para resolver o problema mais tradicional de programação de projetos. Para demonstrar a competitividade da abordagem proposta, estudos de comparação foram realizados. Estes estudos foram baseados na qualidade das soluções obtidas para cada um dos 25 problemas de modo-único experimentados, comparando os resultados alcançados com os resultados publicados por Badiru (1988) e por Li e Willis (1992) utilizando os mesmos problemas.
Os experimentos mostraram que a abordagem desenvolvida representa uma boa alternativa relativa a outras técnicas heurísticas empregadas na solução do problema em questão. Os resultados obtidos demonstram que o modelo fornece soluções robustas e de melhor qualidade do que a melhor heurística reportada, ao menos para a função objetivo considerada (minimização da duração do projeto).
Os resultados mostram que o modelo supera em média a heurística com melhor desempenho global (sobre todos os projetos), em 6.29% para os problemas testados por Badiru e em 5.39% para os problemas experimentados por Li e Willis. O modelo apresenta um desempenho 6.51% superior à melhor heurística nos problemas considerados pequenos e 4.56% nos problemas grandes.
A taxa de eficiência do algoritmo, calculada para o conjunto de problemas testados por Badiru foi de 15.98 sobre um total de 16. Este valor é superior aos 14.97 encontrados para a regra proposta por este autor. Para o conjunto de problemas experimentados por Li e Willis, a taxa de eficiência encontrada foi de 9 sobre 9, relativamente aos 8.44 da heurística de melhor desempenho.
Outra medida de desempenho testada foi a taxa de atraso do projeto. Outra vez o algoritmo proposto apresentou melhor desempenho, obtendo um atraso médio para o total de problemas testados de 41.89% contra os 46.14% das melhores heurísticas individuais, ou seja, somando o atraso das heurísticas que obtiveram o menor resultado individual para cada projeto.
É demonstrado que o modelo desenvolvido, resolve a questão de programação de projetos com recursos limitados e paralelamente, aborda o problema de nivelamento dos mesmos, embora ambas questões, como mostrado anteriormente, sejam consideradas antagônicas. O algoritmo proposto consegue mostrar a viabilidade de tratar os dois problemas simultaneamente.
Uma das principais vantagens de utilizar a abordagem de algoritmos genéticos, no tratamento do problema de otimização de tempo com restrição e nivelamento de recursos, é a capacidade que a metodologia oferece de explorar diversas soluções em paralelo. Esta característica permite obter soluções ótimas, desde o ponto de vista da minimização da duração do projeto, quanto niveladas em relação à utilização dos recursos empregados.
Além dessa vantagem, a implementação do modelo mostra que o conceito de nivelamento de recursos pode ser utilizado como mecanismo de decisão, discriminando soluções igualmente boas (se existirem) quanto ao objetivo principal. Por outro lado, este conceito possibilita introduzir uma maior flexibilidade ao processo decisório, permitindo optar por soluções próximas do ótimo, porém de melhor desempenho quanto a eficiência da utilização dos meios.
Uma constatação observada na execução dos experimentos, que pode ser interpretada como mais uma vantagem decorrente da exploração em paralelo de soluções, foi a viabilidade de obter melhoria na utilização dos recursos através do próprio ordenamento das atividades. Os métodos tradicionais empregados na solução do problema de nivelamento de recursos são míopes neste sentido, pois fundamentam-se exclusivamente na exploração das folgas das atividades, isto é, atrasando atividades não críticas dentro dos limites determinados pelas suas folgas.
Este conceito pode ser ilustrado através do resultado obtido para o problema 26, um dos mais simples do conjunto de projetos experimentados, mostrado na Figura 5.1a e 5.1b.
Este exemplo mostra que, mesmo existindo limitação nos recursos empregados, é perfeitamente possível obter uma melhor solução nivelada, unicamente olhando para a ordem de execução das atividades (observar a ordem de realização das tarefas 8 e 9).
Embora as duas soluções
encontradas para o exemplo tenham apresentado uma diferença
muito pequena no fator de utilização de recursos,
ele é útil no sentido de mostrar a validade do critério
empregado.
No caso dos problemas experimentados, os resultados das tabelas 4.15 e 4.16 do capítulo anterior mostram que se for considerado o nivelamento dos recursos como critério de desempate de soluções iguais, pode-se obter uma melhoria da ordem dos 4.5 % para o problema de programação com modo único e de 11.5 % para o múltiplos modos. Estes valores foram obtidos assumindo que todos os recursos são igualmente importantes.
Finalmente, os resultados alcançados pelo modelo para o caso de programação de múltiplos modos, mostram a viabilidade da sua utilização como um meio que, eventualmente, obtém soluções melhores do que se for considerado o caso de modo único. Não existe, ao menos na literatura consultada, referência que mostre a vantagem prática de usar múltiplos modos ao invés de único modo. Tradicionalmente, os poucos modelos desenvolvidos para tratar múltiplos modos limitam-se a comparar a desempenho deles contra algoritmos alternativos.
O trabalho mostra, dentro das premissas
de desenvolvimento dos experimentos, que em 58% dos casos foi
obtida uma melhoria da solução único-modo
da ordem dos 11% e que, em 42% dos problemas não houve
melhoria (15% não sofreram alteração e 27%
tiveram piora) com uma taxa média de não melhoria
da ordem dos 5%. Estes resultados permitem concluir que a
consideração
de vários modos de execução para as atividades,
realmente fornece maior flexibilidade ao processo de alocação
de recursos limitados, levando inclusive, a uma eventual melhora
das soluções obtidas para o problema de modo
único.
O algoritmo foi desenvolvido visando atingir os objetivos estabelecidos nas etapas preliminares. Entretanto, o modelo tem imperfeições que devem ser corrigidas para torná-lo mais prático e eficiente.
Trabalhos futuros deveriam ser focalizados na redução do tempo que o algoritmo leva para realizar a busca. O modelo produz soluções superiores aos métodos alternativos, como mostrado anteriormente, porém o custo é um tempo computacional relativamente longo. As investigações devem passar pela auferição de valores mais apropriados para os parâmetros do algoritmo, bem como a experimentação de novos operadores. Dado que na área da construção cada projeto representa um problema particular, recomenda-se fortemente a investigação de parâmetros denominados adaptativos.
Uma segunda área de pesquisa é a experimentação de outras funções objetivos. Funções alternativas, embora não abordadas no estudo, podem facilmente ser incorporadas ao modelo através de simples modificações do código computacional implementado. Funções tais como minimização do máximo atraso L = maxi [ti - di] (ti é a duração do projeto e di é a data de entrega do projeto), ou a minimização do custo total do projeto, seriam particularmente fáceis de serem adaptadas. Prováveis alterações a serem introduzidas no código computacional atual, para uma programação com mínimo custo seriam: substituição da atual função objetivo de minimização da duração, por uma função objetivo apropriada de valores monetários, e mudança das durações das atividades pelos seus respectivos custos totais (custos diretos + custos indiretos).
Recomenda-se aprofundar as investigações sobre a viabilidade de utilizar a abordagem de algoritmos genéticos e o problema de programação com múltiplos modos, como uma alternativa para tratar o problema de compressão de projetos sujeitos à restrição de recursos. Tipicamente, os modelos que tratam desta questão, não consideram a limitação de recursos. Por outro lado, dos poucos trabalhos publicados sobre este tema que incluem limitação de recursos, nenhum aborda o tema como programação de múltiplos modos, embora conceitualmente o problema seja uma questão de seleção de alternativas econômicas, mutuamente exclusivas, para a realização das atividades.
É também conveniente que seja validada a eficiência do modelo na programação de múltiplos modos, através da comparação com algum dos poucos algoritmos especificamente desenvolvidos nesta área ou, em seu defeito, recomenda-se a sua confrontação com a melhor heurística, dentre as pesquisadas por Boctor (1993).
Um outro campo de aplicação do modelo que pode ser investigado é a programação de múltiplos projetos com limitação de recursos. Este problema é considerado uma extensão da programação de um único projeto, porém muito mais complexo porque as atividades pertencem a vários projetos simultaneamente realizados. Recomenda-se, inicialmente abordar os vários projetos como um único grande projeto, deste modo o modelo pode ser aplicado com poucas alterações.
Finalmente, embora o domínio do problema desta pesquisa tenha sido a alocação de recursos para projetos de construção, os princípios e bases teóricas desenvolvidas não estão limitadas a esta área específica. Realmente, eles podem ser aplicados a outras áreas da engenharia e a administração onde o domínio do problema tenha características similares.