Você está na página 1de 6

III EMEPRO – Belo Horizonte, MG, Brasil, 07 a 09 de junho de 2007

Nivelamento de recursos na programação de projetos

Bernardo Xavier Senra (DECEA-UFOP) bernardoxs@gmail.com


Renato de Oliveira Moraes (DECEA-UFOP) renato@decea.ufop.br

Resumo
Este trabalho apresenta a implementação de um algoritmo para programação de projetos
com limitação de recursos baseado em Elsayed (1985). Para avaliar os resultados do
algoritmo foram utilizados 17 casos de teste extraídos de Vaca (1995). As soluções fornecidas
pelo algoritmo foram compradas às fornecidas pelo MS Project. A comparação das soluções
não apresentou diferença em relação ao tempo computacional nem a qualidade das soluções.
Palavras chave: Programação de Projetos, Nivelamento de Recursos, Regras Heurísticas

1-Introdução
Este artigo trata do problema de nivelamento de recursos em programação de projetos, em
específico referindo-se ao processo de estabelecer as datas de inicio e termino de cada uma de
suas atividades respeitando as relações de precedência que existem entre as atividades e a
disponibilidade no tempo dos recursos necessários a sua execução.
A programação linear inteira (PLI) fornece solução ótima para este problema apesar deste não
ser um procedimento eficiente do ponto de vista computacional. Isto gera a necessidade de
procedimentos heurísticos, factíveis do ponto de vista pratico e operacional, para o tratamento
deste problema.
Para tanto foi feita uma revisão bibliográfica que identificou softwares que serviram de
elementos de comparação para o algoritmo desenvolvido. Foi também criada uma base de
casos de teste que foi palco da comparação e avaliação do algoritmo desenvolvido.
2-Justificativa e relevância do projeto em face ao desenvolvimento científico e
tecnológico
O uso adequado de técnicas de programação de projetos é reconhecido como elemento
condicionante do desempenho de diferentes projetos (BAKER, MURPHY e FISHER, 1983;
KERZNER, 2000; PINTO e SLEVIN, 1986; GEMUEDEN e LECHLER, 1997; YEO, 2002;
POON e WAGNER, 2001; JIANG, KLEIN e BALOOUN, 1986; JIANG e KLEIN, 1986;
TEO e ANG, 1999; ROBIC e SBRAGIA, 1995; BELASSI e TUKEL, 1996; COOKE-
DAVIES, 2000; DVIR, 1998; MUNNS e BJEIRMI; 1997; PINTO; 2002).
O conceito de desempenho, que está associado aos conceitos de sucesso e fracasso, tem
passado por algumas mudanças ao longo das ultimas três décadas. Existe uma variação em
termos de indicadores de desempenho apesar de haver certa convergência em relação as
dimensões do desempenho de projetos. Uma diferença marcante entre as propostas
apresentadas refere-se à discussão em torno da questão da quantidade de conceitos
relacionados ao desempenho. Enquanto alguns (LIM e MOHAMED, 1999, COOKE-
DAVIES, 2000, BACCARINI,1999, MUNNS e BJEIRMI, 1997) referem-se a dois conceitos
distintos – sucesso da administração de projetos (foco do processo de desenvolvimento) e
sucesso do projeto (foco no produto resultante do projeto)-outros (SHENHAR, 2001;
BAKER, MURPHY e FISHER, 1983; PINTO e SLEVIN,1986) entendem que existe um
elemento único em discussão que possui características multidimensionais, onde a relevância
III EMEPRO – Belo Horizonte, MG, Brasil, 07 a 09 de junho de 2007

de cada dimensão varia com o tempo.


O uso adequado das técnicas de programação de projetos é um elemento condicionante de
desempenho, quando esse é entendido no curto prazo. Isto é, possui um impacto no processo
de desenvolvimento do projeto (LIM e MOHAMED, 1999, COOKE-DAVIES, 2000,
BACCARINI, 1999, MUNNS e BJEIRMI, 1997) e nos impactos de curto prazo do projeto –
na eficiência do projeto (SHENHAR, 2001; BAKER, MUPHY e FISHER, 1983; PINTO e
SLEVIN, 1986).
Existe ainda um potencial a ser explorado para aplicação de técnicas metaheurísticas no
problema de nivelamento de recursos em programação de projetos (MORAES, 2000; KIM et
al, 2005; MIKA et al, 2005).
3-Metodologia empregada
O algoritmo apresentado foi baseado em Elsayed (1985). Ele foi desenvolvido no laboratório
de Iniciação Cientifica do Departamento de Ciências Exatas e Aplicadas do campus da
Universidade Federal de Ouro Preto (UFOP) em João Monlevade - MG. A implementação foi
feita em Pascal por se tratar de uma linguagem pouco complexa que atende perfeitamente os
objetivos. O compilador utilizado foi o Turbo Pascal 5.5. A plataforma de hardware utilizada
foi um computador composto por um microprocessador Intel Pentium 4 2.6 GHz, 1Gb de
RAM e sistema operacional Windows XP Profissional.
Para testar o algoritmo desenvolvido utilizaram-se 17 casos de teste de Vaca (1995), cuja
caraterização está na tabela3.
Visto que a pesquisa tem como base a comparação de dados experimentais, usamos estes
casos em um software comercial de programação de projetos (MS Project) para obtermos
resultados que foram comparados com os do algoritmo desenvolvido.
4-Algoritmo Construído
O algoritmo construído utilizou o modelo descrito em Elsayed (1985) para programação de
projetos com limitação de recursos.
O algoritmo é pouco complexo, formado por 7 (sete) procedimentos, 1 (uma) função e os
dados de entrada do problema. Para exemplificar, considere o projeto descrito no tabela 1. Ele
contém os dados de entrada do algoritmo: número de atividades do projeto, relações de
precedência entre as atividades, número de recursos necessários, consumo de recursos por
atividade, e a disponibilidade de cada recurso.
Atividade Dur Rec 1 Rec 2 Rec 3 Prec1 Prec2
1 1
2 3 2 1 1 1
3 4 1 1 1
4 4 3 3 2 2
5 5 2 1 2 2
6 2 1 1 3 5
7 1 4 6
Tabela 1 – Exemplo de Caso de Teste
O procedimento P1 cria, a partir da tabela 1, uma outra tabela (tabela 2) relacionando as
atividades às suas predecessoras. Esta tabela servirá como base para procedimentos
posteriores.
III EMEPRO – Belo Horizonte, MG, Brasil, 07 a 09 de junho de 2007

Atividade Precedente Atividade Sucessora


1 2
1 3
2 3
2 5
3 6
5 6
4 7
6 7
Tabela 2 – Exemplo de relação de precedência (Caso3)
O procedimento P2 calcula a variável ACTIM de acordo com o método activity time descrito
em Elsayed (1985), no qual se soma a duração das atividades de todos os possíveis caminhos
do projeto posteriores a esta atividade e escolhe o maior resultado como ACTIM da atividade.
Isto é feito seguindo uma ordem inversa da tabela de precedência (Tabela 2) e atribuindo
valor zero para a ultima atividade.
Ex: A atividade 1 no caso3 possui os seguintes caminhos:
A1ÆA2ÆA4ÆA7 = 8
A1Æ A2Æ A5Æ A6ÆA7=11
A1ÆA3ÆA6ÆA7 = 7
Logo seu ACTIM é 11.
O procedimento P3 apenas zera algumas variáveis de controle necessárias.
O procedimento P4 verifica, através da ordem estabelecida pelo P5 e pela tabela de
precedência (Tabela 1), se a atividade atual possui predecessoras e, se possui, verifica se estes
já foram concluídos através de seu status estabelecido quando esta é executada na F1.
O procedimento P5 ordena a execução das atividades de acordo com a variável activity time
(ACTIM) do maior valor do ACTIM para o menor.
O procedimento P6 é também um procedimento auxiliar usado para calcular um número de
recursos equivalentes (RE) somando a quantidade de todos os recursos de um determinado
tipo de todo o projeto (Recurso Total - TR) e depois dividindo o recurso utilizado por cada
atividade pelo resultado TR obtendo o RE, usado como auxiliar no calculo do método ag3
explicado em P7 para o nivelamento das atividades em projetos com múltiplos recursos.
O procedimento P7 inicia calculando o método ACROS que é similar ao ACTIM porém
substituindo a duração das atividades pelo recurso equivalente das mesmas e obtendo o
ACROS para cada uma delas. A partir disto calcula-se a variável de controle ag3 para cada
atividade. Depois de calculado ordena-se a execução das atividades do maior ag3 para o
menor.
A função F1 é a responsável pelo controle de status, execução de atividades, tempo do projeto
e recursos utilizados em cada tarefa.
5-Resultados
Os resultados obtidos através do software desenvolvido estão listados na tabela 3, em
comparação com os resultados obtidos através do MS Project. O tempo de execução do
software para obtenção destes resultados é desprezível.
III EMEPRO – Belo Horizonte, MG, Brasil, 07 a 09 de junho de 2007

Caso Numero de Numero de Resultado do Resulta do Desempenho com


atividades recursos MS Project software relação ao MS
implementado Project
1 52 2 144 158 -9,72%
2 10 3 20 21 -5,00%
3 7 3 14 15 -7,14%
4 42 4 99 94 +5,05%
5 15 4 22 22 Igual
6 8 2 16 18 -12,5%
7 9 3 36 38 -5,55%
8 14 2 38 25 +34,2%
9 15 3 29 40 -37,93%
10 15 4 28 32 -14,29%
11 17 2 97 90 +7,21%
12 17 4 58 63 -8,62%
13 24 3 124 136 -9,68%
14 21 4 104 100 -3,85%
15 15 4 333 310 +6,91%
16 12 2 41 39 +4,88%
17 16 3 158 161 -1,90%
Tabela 3 – Características dos casos e comparação entre os resultados
Em uma analise geral observou-se em 35,3% dos casos um melhor desempenho, em 5,88%
dos casos um desempenho igual e em 58,82% dos casos um desempenho inferior em
comparação com o MS Project.
A descrição do procedimento utilizado pelo MS Project para o nivelamento dos recursos não
foi encontrado, Apesar desta ser abordagem tipo caixa preta, ela se justifica pelo fato deste
software ser de uso muito comum entre profissionais da área de gestão de projeto. Ele, de
certa forma, se torna representante do procedimento mais freqüentemente adotado no
mercado.
Para comprar o desempenho do algoritmo construído com o MS Project foi feita uma a
comparação de médias emparelhadas com as seguintes hipóteses:
Ho: µMSProject = µAlgoritimo (hipótese nula)
H1: µMSProject ≠ µAlgoritimo (hipótese nula)
Ao nível de significância de 5% não é possível rejeitar a hipótese nula. Isto é, não há
evidência estatística, ao nível de significância de 5%, que a qualidade das soluções dos
algoritmos (o seu e do MS Project) sejam diferentes.
A afirmação de que as soluções do MS Project são melhores, segundo o teste , tem uma
probabilidade 97,9% de estar errada. (o valor da estatística t de Student com 16 graus de
liberdade foi de –0,27).

6- Considerações finais
Foi implementado um algorítimo determinístico heurístico, baseado em Elsayed, que realiza a
programação dos projetos com nivelamento de recursos que apresentou um desempenho
satisfatório, e criada uma base de casos de teste (com 17 casos retirados da bibliografia) que
poderá ser aproveitada em desdobramentos futuros deste trabalho. A avaliação do
desempenho dos algoritmo desenvolvido foi feita pela comparação dos resultados através com
as soluções fornecidas pelo MS Project.
III EMEPRO – Belo Horizonte, MG, Brasil, 07 a 09 de junho de 2007

Encontrou-se algumas limitações ao projeto, tais como a versão de 1998 do MS Project que
poderia eventualmente estar defasada com relação aos seus métodos de resolução de
problemas de alocação de recursos na programação de projetos. Dentre outras menos
relevantes.
Este trabalho abre espaço para possíveis continuidades como a implementação de um método
para alocação de recursos ilimitados diferente do AG3 utilizado no algoritmo desenvolvido,
utilizando métodos mais eficazes que ACTIM e ACROS que compõem o AG3 tais como o
TG2 que é composto por dois métodos o TMROS, que é uma combinação do ACTIM com o
ACROS, e o GENRES que é composto pelos métodos ACTRES e o ACTIM sendo todos
estes descritos em Elsayed (1985). Estes dois métodos TMROS e GENRES abrangem um
maior numero de variáveis de problema. Todos os métodos citados estão comparados em
Elsayed (1985). Por uma tabela na qual em 76,6% dos casos o método TMROS teve o melhor
desempenho dentre os métodos analisados. Partindo deste ponto, pressupõe-se que uma
combinação utilizando este método, ou algum desdobramento, para a resolução de problemas
com recursos ilimitados terá um bom resultado.
Referências Bibliográficas
BACCARINI, David The Concept of project complexity - a review IN: International Journal of Project
Management vol. 14, no. 4, pp 201-204, 1996.
BAKER, Bruce N., MURPHY, David C. e FISHER, Dalmar “Factors Affecting Project Success” IN
CLELAND, D. I. & KING, W. R. Systems analysis and Project management. New York: McGraw Hill,
1983
BELASSI, W. & TUKEL, O. I. A new framework for determining critical success/failure factors in
projects. IN International Journal of Project Management vol. 14, no. 3, pp. 141-151, 1996
COOKE-DAVIES, T. The real success factors on projects. IN International Journal of Project
Management vol. 20, pp. 185-190, 2000
DVIR, D. et all In search of project classification: a non-universal approach to project success factors.
IN Research Policy , no. 27, pp. 915-935, 1998
ELSAYED, E. A. e BOUCHER, T. O Analysis and control of production systems New Jersey: Prentice-Hall,
1985
GEMUENDEN, Hans Georg LECHLER, Thomas Success Factors of Project Management: The
Critical Few – An Empirical Investigation. Portland International Center of Management of Engineering
and Technology (1997), pp. 375-377
JIANG, J. J , KLEIN, G. & BALLOUN, J. Ranking of system implementation success factors. IN
Project Management Journal, pp. 43-53, December 1996
JIANG, J. J & KLEIN, G. Risks to different aspects of system success. IN Information & Management,
no. 36, pp. 263-272, 1999
KERZNER, Harold. Applied Project Management – Best Practices on Implementation. New York: John Wiley
& Sons, 2000
KIM, Kwan Woo et al. Hybrid genetic algorithm with adaptive abilities for resource-constrained
multiple project scheduling In Computers in Industry. Amsterdam: Feb 2005. Vol. 56, Num. 2; pág. 143
LIM, C. S. & MOHAMED, M. Z. Criteria of project success: an exploratory re-examination. IN
International Journal of Project Management vol. 17, no. 4, pp. 243-248, 1999
III EMEPRO – Belo Horizonte, MG, Brasil, 07 a 09 de junho de 2007

MIKA, Marek et al. Simulated annealing and tabu search for mutli-mode resource-constrained project
scheduling with positive discounted cash flows and different payment models In European Journal of
Operational Research. Amsterdam: Aug 1, 2005. Vol. 164, Num. 3; pág. 639
MORAES, Renato de Oliveira Programação de projetos com limitação de recursos através de
algoritmos genéticos in SIMPOI 2000- III Simpósio de Administração da Produção, Logística e
Operações Industriais – Fundação Getulio Vargas – São Paulo – setembro de 2000.
MUNNS, A. K. & BJEIRMI, B. F. The role of project management in achieving project success. IN:
International Journal of Project Management vol 14 no. 2 pp. 81-87, 1997.
PINTO, Sérgio Augusto Órfão Gerenciamento de projetos: análise dos fatores de risco que
influenciam o sucesso de projetos de sistemas de informação Dissertação de mestrado submetida à
FEA/USP. São Paulo, 2002.
PINTO, J. K. & SLEVIN, D. P. Project Success : Definitions and Measurement Techniques IN:
International Journal of Project Management , 1988
PINTO, J. K. & SLEVIN, D. P. Critical Success Factors Across the Project Life Cycle IN: International
Journal of Project Management , 1986
POON, PoPo & WAGNER, Christian Critical success factors revisited: success and failure cases of
information systems for senior executives. IN Decision Support Systems. 2001, no. 20. pp. 393-418
ROBIC, A. R. & SBRAGIA, R. Sucesso em Projetos de Informatização: critérios de avaliação e
fatores condicionantes IN Economia & Empresa, vol. 2, no. 3, pp 4-16, jul/set 1995
SHENHAR, A. et all Project success: a multidimensional strategic concept. IN Long Range Planning,
no. 34, pp. 699-725, 2001
TEO, Thompson. S. H. & ANG, James S. K. Critical success factors in the alignment of IS plans with
business plans. IN International Journal of Project Management vol. 19, no. 1, pp. 173-185, 1999
YEO, K. T. Critical failure factors in information system projects. IN International Journal of Project
Management. 2.002, no. 20, pp. 241-246
VACA, Oscar Ciro Lopez Um algoritmo evolutivo para a programação de projetos multi-modos com
nivelamento de recursos limitados. Tese de doutorado em Engenharia de Produção. Departamento de Produção e
Sistemas. Universidade Federal de Santa Catarina, 1995.