universidade do norte fluminense -...

148

Upload: truonganh

Post on 11-Nov-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento
Page 2: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

UNIVERSIDADE DO NORTE FLUMINENSETESE DE DOUTORADO

GERENCIAMENTO DE PROJETO: META-HEURÍSTICAS PARA OTIMI-ZAÇÃO DO ESCALONAMENTO DE ATIVIDADES NA EXPLORAÇÃO E

PRODUÇÃO DE PETRÓLEO

SÉRGIO VASCONCELLOS [email protected]

CAMPOS DOS GOITACAZES - RJ

Abril - 2000

vi

Centro de Ciência e TecnologiaLaboratório de Engenharia de Produção

♥ Sérgio Vasconcellos Martins 2000

Page 3: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

GERENCIAMENTO DE PROJETO: META-HEURÍSTICAS PARA OTIMI-ZAÇÃO DO ESCALONAMENTO DE ATIVIDADES NA EXPLORAÇÃO E

PRODUÇÃO DE PETRÓLEO

SÉRGIO VASCONCELLOS MARTINS

Orientador: Prof. Geraldo Galdino de Paula Júnior, D.Sc.

CAMPOS DOS GOITACAZES - RJ

Abril - 2000

vii

“Tese apresentada ao Centro de Ciências e Tecno-logia, da Universidade Estadual do Norte Flumi-nense, como parte das exigências para obtenção do título de Doutor em Ciências de Engenharia na área de concentração de Engenharia de Produ-ção”

Page 4: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

GERENCIAMENTO DE PROJETO: META-HEURÍSTICAS PARA OTIMI-ZAÇÃO DO ESCALONAMENTO DE ATIVIDADES NA EXPLORAÇÃO E

PRODUÇÃO DE PETRÓLEO

SÉRGIO VASCONCELLOS MARTINS

Aprovada em 06 de Abril de 2000.

Comissão Examinadora:

Prof. Nelson Maculan, Ph.D. – UFRJ

Prof. Nélio Domingues Pizzolato, Ph.D. – PUC-RJ

Prof. José Ramon Arica Chavez, D.Sc. – UENF

Prof. David Mauricio Sanchez, D.Sc. – UNMSM, PUCP

Prof. Geraldo Galdino de Paula Jr., D.Sc. – UENF Orientador

viii

“Tese apresentada ao Centro de Ciências e Tecno-logia, da Universidade Estadual do Norte Flumi-nense, como parte das exigências para obtenção do título de Doutor em Ciências de Engenharia na área de concentração de Engenharia de Produ-ção”

Page 5: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

ix

À minha família, com todo afeto.

Page 6: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

x

Mais importante é como gerenciamos o nosso projeto de vida...

Page 7: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Agradecimentos

À minha mãe, Iza Vasconcellos, mestra de minha vida, cujos inspirados conselhos sempre iluminaram o gerenciamento de meu projeto de vida.À minha mulher, Andréa, pela insuspeitada paciência com que suportava minhas au-sências, tão envolvido estava em meu projeto.A toda minha família, cujo vibrante encorajamento sempre me animou ao longo de toda minha vida.Ao meu orientador, Prof. Dr. Geraldo Galdino, pelo prestimoso suporte e admirável

disposição com que me ouvia sempre.

Ao meu co-orientador, Prof. Dr. David Mauricio, pelo extraordinário estímulo e inven-

cível dedicação, minha mais sentida gratidão.

Ao meu primeiro orientador, Prof. Dr. José Arica, vocação invulgar para a pesquisa e

o magistério.

Aos demais membros da comissão examinadora, Prof. Dr. Nelson Maculan e Prof. Dr. Nélio Pizzolato, por emprestarem seu prestígio a este trabalho e pelas sábias su-gestões que muito contribuíram para aprimorá-lo.Ao Prof. Dr. Rainer Kolisch, da Universidade de Kiel, Alemanha, pela sua decisiva e sempre precisa orientação via e-mail.A todos o professores do Laboratório de Engenharia de Produção da UENF.Aos muitos amigos conquistados durante o curso, cuja agradável convivência se tra-duziu em precioso incentivo, representados aqui por Carlos Leonardo, por sua gentil colaboração na etapa inicial da elaboração de meu código computacional.Aos funcionários da UENF, especialmente ao bibliotecário Antônio Soares, cujo inte-

resse e disposição para ajudar concorreram para a minimização do makespan do

meu projeto.

Ao CEFET Campos, à UENF e à Petrobras, que de fato viabilizaram este projeto.

Por último, mas não por fim, ao proprietário destas instituições, o povo brasileiro,

cuja generosidade nunca conheceu limites.

xi

Page 8: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Centro de Ciência e Tecnologia................................................................................viLaboratório de Engenharia de Produção..................................................................vi

Prof. Nelson Maculan, Ph.D. – UFRJ..................................................................viiiProf. José Ramon Arica Chavez, D.Sc. – UENF.................................................... viiiProf. Geraldo Galdino de Paula Jr., D.Sc. – UENF.................................................viii

Introdução....................................................................................................................11.1 O Gerenciamento de Projeto no Brasil e no Mundo............................................11.2 Produção de Petróleo e Gerenciamento de Projeto...........................................31.3 Escalonamento de Projeto e Otimização Matemática ....................................... 51.4 O Caso Estudado................................................................................................51.5 Objetivos da Pesquisa.........................................................................................61.6 Organização do texto...........................................................................................6

Capítulo 2.....................................................................................................................8O Gerenciamento de Projeto......................................................................................8

2.1 Estrutura Geral do Gerenciamento de Projeto....................................................82.1.1Conceituação Básica.....................................................................................82.1.2 O Gerenciamento de Projeto......................................................................112.1.3 Fases e Ciclo de Vida do Projeto ...............................................................13

2.2 Processos do Gerenciamento de Projeto..........................................................142.2.1 Processo de Iniciação.................................................................................152.2.2 Processos de Planejamento.......................................................................152.2.3 Processos de Execução..............................................................................162.2.4 Processos de Controle................................................................................162.2.5 Processos de Encerramento.......................................................................17

2.3 Áreas de Conhecimento do Gerenciamento de Projeto....................................182.3.1 Gestão da Integração do Projeto................................................................182.3.2 Gestão do Escopo do Projeto.....................................................................182.3.3 Gestão dos Tempos do Projeto..................................................................192.3 4 Gestão dos Custos do Projeto....................................................................212.3.5 Gestão da Qualidade do Projeto.................................................................212.3.6 Gestão dos Recursos Humanos do Projeto............................................... 222.3.7 Gestão das Comunicações do Projeto.......................................................222.3.8 Gestão dos Riscos do Projeto....................................................................232.3.9 Gestão das Contratações do Projeto..........................................................23

2.4 Sistemas Comerciais de Gerenciamento de Projeto ....................................... 232.5 Avanços no Campo do Gerenciamento de Projeto...........................................25

O Problema de Escalonamento de Projeto - PSP..................................................273.1 Definições para Ambiente de Job shop.............................................................283.2O Problema de Escalonamento de Projeto........................................................30

3.2.1 Elementos do PSP......................................................................................313.2.2Descrição do PSP .......................................................................................343.2.3 Modelo Conceitual do PSP.........................................................................363.2.4 Modelo Matemático MIP do PSP Multiprojeto............................................383.2.5 Representação de um PSP........................................................................413.2.6 Notação e Classificação do PSP................................................................433.2.7 Medidas Regulares de Desempenho......................................................... 443.2.8 Classificação de Escalonamentos: Viável, Ativo, Semi-ativo e Sem-atraso ..............................................................................................................................45

xii

Page 9: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

3.3 Métodos para Resolução do PSP.....................................................................473.3.1 Algoritmos de Solução Exata para o RCPSP.............................................513.3.2Algoritmos de Solução Aproximada para o RCPSP....................................533.3.3 Algoritmos de Solução Exata para o MRCPSP..........................................553.3.4Algoritmos de Solução Aproximada para o MRCPSP.................................55

3.4 O Caso do PSP com Duração Estocástica das Atividades...............................583.5 O Caso do PSP com Tarefas Preemptivas ......................................................593.6 Novos modelos para o PSP ..............................................................................60

O PSP de Alocação de Recursos Críticos na E&P de Petróleo .......................... 624.1 Modelagem do Problema...................................................................................64

4.1.1 Modelo Físico..............................................................................................644.1.2 Modelo Matemático.....................................................................................66

4.2 Conjuntos e Geradores de Instâncias ..............................................................674.3 O Gerador de Instâncias ProGen......................................................................68

4.3.1 Parâmetros de Problema............................................................................694.4 Instâncias Geradas para Teste das Heurísticas............................................... 71

Heurísticas Desenvolvidas para o MRCPSP em Estudo.......................................775.1. Esquemas de Geração de Escalonamento .....................................................78

5.1.1 SGS em série...........................................................................................785.1.2 SGS paralelo............................................................................................80

5.2 Regras de Prioridades.......................................................................................815.3 Algoritmos do tipo Aleatório Puro......................................................................83

5.3.1 Algoritmo Aleatório Proposto...................................................................845.4 GRASP..............................................................................................................84

5.4.1 Algoritmo GRASP Proposto.....................................................................855.5 Algoritmos Evolucionários.................................................................................88

5.5.1Genética, Evolução e Otimização................................................................895.5.2 Algoritmo Genético Proposto...................................................................915.5.2 Heurística Híbrida Proposta.....................................................................97

Experimentos Numéricos.........................................................................................986.2 Configuração das Meta-heurísticas...................................................................98

6.1.1 Ajuste dos parâmetros................................................................................99GRASP J50 - 30 s......................................................................................................99AG J50 - 30 s............................................................................................................100

6.1.2 Definição do Operador Mutação ..............................................................101AG J50 - 30s – POP = 20, Pmut = 0,4 ....................................................................101

6.2 Experimentos Numéricos Comparativos.........................................................1026.2.1 Testes com o conjunto J50.......................................................................102

J50 - 30 s..................................................................................................................1026.2.2 Testes com o conjunto J100.....................................................................102

J100 - 120 s..............................................................................................................1036.2.3 Testes com o conjunto J200.....................................................................103

J200 - 300 s..............................................................................................................103J200 – 480 s.............................................................................................................104

6.2.4 Eficiência dos Algoritmos..........................................................................104J200 – 480 s.............................................................................................................104

xiii

Page 10: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

J200 – 480 s.............................................................................................................1056.2.5 Efeitos dos Parâmetros de Problema RF e RS........................................106

6.3 Considerações Finais......................................................................................109Conclusões, Recomendações e Futuras Pesquisas...........................................110

7.1 Conclusões......................................................................................................1107.2 Recomendações .............................................................................................1127.3 Futuras Pesquisas...........................................................................................112

Simbologia & Definições........................................................................................114 Bibliografia.........................................................................................................116Anexo........................................................................................................................127Análise de Complexidade do PSP.........................................................................127

Transformação Polinomial e Prova de Complexidade...................................... 129Teorema.............................................................................................................130O problema de viabilidade do MRCPSP é NP-completo para |N| ≥ 2 e Mj ≥ 2, 1 ≤ j ≤ J.....................................................................................................................130

Lista de Tabelas

Tabela 3.1: Modelo Conceitual do PSP............................................................. 37

Tabela 3.2: Modelo Matemático MIP do PSP multiprojeto................................ 38

Tabela 4.1: Modelo Matemático MIP do MRCPSP em estudo.......................... 66

Tabela 4.2: Combinação dos parâmetros RF-RS............................................... 72

Tabela 4.3: Parâmetros básicos do conjunto de instâncias com 50 tarefas..... 72

Tabela 4.4: Parâmetros básicos do conjunto de instâncias com 100 tarefas... 72

Tabela 4.5: Parâmetros básicos do conjunto de instâncias com 200 tarefas... 72

Tabela 5.1: Regras de prioridade...................................................................... 83

Tabela 6.1: Calibração do parâmetro κ............................................................. 99

Tabela 6.2: População inicial, POP, e Probabilidade de Mutação, Pmut ............. 100

Tabela 6.3: Teste comparativo entre operadores mutação............................... 101

Tabela 6.4: Teste comparativo entre as heurísticas com o conjunto J50......... 102

Tabela 6.5: Teste comparativo entre as heurísticas com o conjunto J100....... 103

Tabela 6.6: Teste comparativo entre as heurísticas com o conjunto J200 em xiv

Page 11: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

300 s............................................................................................... 103

Tabela 6.7: Teste comparativo entre as heurísticas com o conjunto J200 em 480 s............................................................................................... 104

Tabela 6.8: Desvio médio das heurísticas em relação ao limitante inferior CPM................................................................................................ 104

Tabela 6.9: Número médio de escalonamentos avaliados pelas heurísticas em 480 s......................................................................................... 105

xv

Page 12: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Lista de Figuras

Figura 2.1: Custo como função do prazo do projeto........................................ 13

Figura 3.1: Métodos de representação para o PSP: (a) gráfico de Gantt; (b) rede do tipo atividade-no-arco (AOA); (c) rede do tipo atividade-no-vértice (AON)............................................................................. 42

Figura 4.1: Modelo AON genérico do PSP em estudo..................................... 65

Figura 4.2: Exemplo de arquivo de entrada para o gerador ProGen para ins-tância com 8 tarefas reais.......................................................... 75

Figura 4.3: Exemplo de arquivo de saída do ProGen com instância de 8 ta-refas reais.................................................................................... 77

Figura 5.1: Esquema de geração de escalonamento em série (SSS).............................................................................................. 80

Figura 5.2: Esquema de geração de escalonamento em paralelo (PSS).............................................................................................. 81

Figura 5.3: Pseudocódigo da fase de construção da GRASP.......................... 87

Figura 5.4: Pseudocódigo da fase de melhoria da GRASP.............................. 88

Figura 5.5: Pseudocódigo do algoritmo genético proposto.............................. 94

Figura 6.1: Instância vs. makespan comparando todas as heurísticas............ 107

Figura 6.2: Resultados do makespan com todas as heurísticas para as 30 primeiras instâncias........................................................................ 108

xvi

Page 13: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

ResumoO estudo do Gerenciamento de Projeto, como um conjunto de ações integradas de planejamento, programação e controle das atividades de um projeto com vista à con-secução eficaz de seus objetivos, ainda se encontra numa fase incipiente no Brasil. Em contraste, as nações desenvolvidas dedicam ao tema mais e mais atenção, como medida de sobrevivência em meio à frenética disputa entre as organizações pela primazia no lançamento de produtos e serviços. No estratégico setor petróleo, a meta brasileira é de elevação da produção interna, objetivando a auto-suficiência e conseqüente independência energética. Nesse campo, com a recente flexibilização do monopólio estatal, a competição só faz recrudescer, culminando com novos e grandes projetos, que obrigam condução eficiente no que tange a custo, tempo e qualidade, fatores decisivos de sucesso.Utilizando como veículo o caso da alocação de recursos críticos nas intervenções marítimas de exploração e produção de hidrocarbonetos na bacia de Campos, RJ, este trabalho contribui com um estudo do problema multimodo de escalonamento de projeto com restrição de recursos (MRCPSP), integrante da área de conhecimento da gestão dos tempos de um projeto e sabidamente intratável. O problema real é descrito e modelado matematicamente. Três conjuntos de instâncias de teste são criados com o uso de um gerador computacional já existente, num total de 1080 pro-blemas artificiais que, com a adequada modulação de parâmetros específicos, bus-cam reproduzir as condições práticas das operações de exploração e produção da indústria de petróleo. São propostas e experimentadas três meta-heurísticas de solu-ção: Algoritmo Genético, GRASP e uma Heurística Evolucionária Híbrida – as duas últimas inéditas. Um algoritmo puramente aleatório também é implementado, como forma de produzir soluções de referência para os experimentos numéricos dos méto-dos. Por fim, tem-se uma breve discussão acerca da complexidade, sob o prima da pesquisa operacional, do problema de escalonamento de projeto (PSP), classificado como NP-difícil.

xvii

Page 14: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

AbstractThe study of Project Management as an array of integrated actions of planning,

scheduling, and controlling of project activities to effectively meet its objectives

completion is still incipient in Brazil. Conversely, the developed nations devote more

and more attention to the matter as survival measure within the frenetic struggle

among organizations to be ahead on releasing products and services. At the

strategic petroleum sector, the brazilian goal is to expand the internal production until

achieving self-sufficiency and consequent energetic independence. On this field, with

the recent state monopoly flexibility, the competition tends to increase followed by

large projects requesting effective management with respect to cost, time, and

quality, decisive factors of success.

By using as a vehicle the case of critical resources allocation to the petroleum

offshore exploration and production interventions in Campos basin, RJ, this work

contributes with a study of the multi-mode resource constrained project scheduling

problem (MRCPSP), a component of the project time management knowledge area

and notoriously intractable. The real problem is described and mathematically

modeled. Three test instances data sets are created via an existing computational

generator, resulting in a total of 1,080 artificial problems that, with suitable

modulation of specific parameters, are intended to reproduce the practical conditions

of petroleum industry projects. Furthermore, three meta-heuristic approaches for

solution are proposed and experimented: Genetic Algorithm, GRASP and a Hybrid

Evolutionary Heuristic – two latter are new. A pure random algorithm is implemented

as well, as mean of producing benchmark solutions for the numerical experiments of

the methods. Finally, this work briefly discusses the complexity of the project

scheduling problem (PSP), rather under operational research point of view, classified

as NP-hard.

xviii

Page 15: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Simbologia & DefiniçõesCPM : método do caminho crítico

PERT : técnica de revisão e avaliação de programa

JSP : problema de job shop

PSP : problema de escalonamento de projeto

RCPSP : problema de escalonamento de projeto com restrição de recursos

MRCPSP : problema multimodo de escalonamento de projeto com restrição de recursos

p = 1, ..., P : projetos

πj (εj) : release date (due date) da tarefa j

πp (εp) : release date (due date) do projeto p

cjmt : fluxo de caixa induzido pela tarefa j no modo m e término em t

cp : custo por período se o projeto p se concluir após seu prazo devido

α : campo referente ao ambiente das máquinas (recursos)

β : campo referente ao processamento e às restrições

γ : campo referente ao critério de desempenho

FJp (LJp) : numero da primeira (última) tarefa do projeto p

J : conjunto das tarefas j, |J|=J+2

J : número de tarefas reais (i. é, não-fictícias)

j = 0 (J+1) : única fonte (sumidouro) da rede

Pj (Sj) : conjunto dos predecessores (sucessores) imediatos da tarefa j

At : conjunto das tarefas ativas (em execução) no tempo t

ESTj (LSTj) : tempo mais cedo (mais tarde) de início da tarefa j

EFTj (LFTj) : tempo mais cedo (mais tarde) de conclusão da tarefa j

STj : tempo de início da tarefa j

FTj : tempo de conclusão da tarefa j xix

Page 16: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

SC : vetor com uma permutação viável das tarefas j ∈ J

ST : vetor escalonamento com os tempos de início STj

FT : vetor escalonamento com os tempos de conclusão FTj

M : vetor de designação dos modos de execução mj

T : limitante superior do makespan do projeto (horizonte de tempo)

R(N,D) : conjunto dos recursos renováveis (não-renováveis, duplamente restri-tos)

r ∈ R(N,D) : índice do recurso demandado (consumido)

Mj : número de modos pelos quais a tarefa j pode ser executada

mj = 1, ..., Mj : modo de execução da tarefa j

djm : duração da tarefa j executada no modo m

ρjmrk : uso por período do recurso renovável (duplamente restrito) r exigido

para executar a tarefa j no modo m

νjmrk : consumo total do recurso não-renovável (duplamente restrito) r para

executar a tarefa j no modo m

ρrK : disponibilidade por período do recurso renovável (duplamente restri-

to) r

νrK : disponibilidade total do recurso não-renovável (duplamente restrito) r

RF : fator recurso de um PSP

RS : potência de recursos de um PSP

κ : parâmetro de relaxação da GRASP

RCL : lista restrita de candidatos da GRASP

Pmut : probabilidade de mutação para AG e HH

SGS : esquema de geração de escalonamento

AP : algoritmo puramente aleatório

GRASP : Greedy Randomized Adaptive Search Procedure

AG : algoritmo genéticoHH : heurística evolucionária híbrida

xx

Page 17: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Capítulo 1Onde se argumenta sobre o tema e se tem a sinopse da dissertação

Introdução

os dias que correm, vive-se um ambiente de atordoante competição entre as

organizações, fruto da mundialização da economia, que exorbita tudo quanto

se viu antes na história humana. Na quadra de transição da sociedade pós-industrial

para a do conhecimento, agora que o século finda, é lícito antever que esta dinâmica

atinja ritmo paroxístico. Como todo organismo vivo, o conjunto das organizações e

empresas está em permanente estado transiente, de transformação, perseguindo a

própria sobrevivência. Isso obriga administração marcada pela mutabilidade em seu

métodos, processos, serviços e produtos em benefício da adaptação e da subsistên-

cia – aliás, o cenário evoca o darwinismo, mais adiante rapidamente tratado neste

trabalho, mas por razões outras.

N

Qualidade, custo e prazo assumem relevo como nunca dantes. Naturalmente, todos

os agentes envolvidos disso se dão conta, e o componente diferencial torna-se en-

tão a excelência e a agilidade com que são conduzidas as mudanças, buscando so-

bretudo tornar disponíveis produtos e serviços de maior utilidade e menor preço em

um tempo concorrencialmente competitivo.

Mas, qualquer que seja a direção das transformações e sua natureza, quase sempre

implicarão um projeto. Como motor de inovações, os projetos são componentes críti-

cos na órbita das organizações, de importância que não pode ser exagerada. Parece

óbvio ser imprescindível o constante aperfeiçoamento da metodologia e dos proces-

sos voltados para boa condução dos projetos como um todo. É precisamente dessa

matéria que é feito o gerenciamento de projeto.

1.1 O Gerenciamento de Projeto no Brasil e no Mundo

A experiência brasileira não tem sido exatamente de boa memória. Alguns exemplos

pregressos conjuguem exasperante negligência com inexcedível incompetência. A 1

Page 18: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

esse propósito, apenas na área de energia, despontam casos notórios tais como as

usinas nucleares de Angra dos Reis e a hidrelétrica de Porto Primavera, em São

Paulo, os quais converteram-se em prejuízos colossais. No mundo desenvolvido,

também alguns exemplos de falhas graves e fracassos podem ser pinçados, como o

caso do gasoduto do Alasca (Lewis, 1998) ou o conhecido como projeto Taurus

(Drummond, 1999). Este, havido na renomada City de Londres, antes do seu inexpli-

cável naufrágio, já se notabilizava pela surpreendente inabilidade gerencial.

O complexo nuclear de Angra dos Reis teve orçamento original de US$ 3 bilhões,

mas consumiu US$ 12 bilhões apenas para concluir um terço do projeto. A usina de

Porto Primavera foi orçada em US$ 1,4 bilhão para um prazo previsto de conclusão

de seis anos. Entrou em operação comercial finalmente em janeiro de 1999, acabou

custando US$ 10,3 bilhões após dezoito anos de obras – e ainda faltando instalar

quinze turbinas. A obra foi seis vezes interrompida, o contrato foi renegociado deze-

nas de vezes, houve falhas gritantes no cronograma e o custo com a desapropriação

dos terrenos resultou em US$ 500 milhões além do planejado. Em função do atraso,

US$ 2 bilhões foram destinados ao armazenamento dos equipamentos e US$ 5 bi-

lhões gastos em juros.

O projeto Taurus envolveu cifras mais modestas. Foi apenas um retumbante fiasco

do tamanho de quase US$ 1,0 bilhão para a Bolsa de Valores de Londres e correto-

ras locais. Tivera como intento agilizar as operações de securitização dos títulos.

Mesmo alertados no decorrer do projeto que o fracasso seria inevitável, seus geren-

tes e as partes envolvidas, com inquebrantável teimosia, perseveraram adiante. Foi

finalmente cancelado em março de 1993, após cinco anos de percalços. Fez-se cé-

lebre como o pior fracasso do gênero na Europa em todos os tempos.

Formam um fascinante campo de estudo os motivos pelos quais alguns projetos fra-

cassam e o modo como o fazem. De saída, é bom dizer que se deve a priori estabe-

lecer os critérios para se caracterizar o fracasso de um projeto. Isso não é consenso

universal e deve ser explicitado ainda na fase de planejamento e estudo de viabilida-

de. Nem sempre um projeto muito atrasado pode ser considerado um projeto fracas-

sado. São diversos os estudos nesta área e não há unanimidade a respeito; alguns

autores antes preferem dar um enfoque menos depreciativo e falar dos fatores de

sucesso dos projetos. Não importa, por ora o que se pretende aqui é apenas subli-

mar a importância do bom gerenciamento de projeto, notadamente com relação aos

2

Page 19: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

seus tempos. Afinal, ao contrário da Torre de Babel, nenhum projeto malogra por de-

sígnio divino.

No mundo desenvolvido, o gerenciamento de projeto vem sendo reconhecido cada

vez mais como uma disciplina distinta da administração. Programas na matéria, do

tipo MBA e em nível de pós-graduação stricto sensu, são oferecidos pelas universi-

dades em número crescente. As corporações já começam a exigir de firmas contra-

tadas certificados do tipo PMP1 para profissionais que vão chefiar seus projetos.

O Brasil não conta com cursos de formação de gerentes de projetos, ao contrário de

alguns outros países. O indivíduo que aqui exerce este papel pretende ser, por as-

sim dizer, componente ad hoc, o que costuma acarretar perda de um bom técnico e

aquisição de um pseudogerente. Em boa medida pela gestão inepta dos recursos

humanos. (Um traço marcante deste cargo é ter muita responsabilidade sem poder

contar com autoridade na mesma proporção. Isso impõe a habilidade com as rela-

ções humanas como atributo principal de um gerente de projeto). Em verdade, não

há sequer um estudo formal e sistemático de gerenciamento de projeto no ambiente

universitário brasileiro, onde é abordado apenas mediatamente, em iniciativas espo-

rádicas e esparsas na forma de cursos de extensão. Também carecemos de associ-

ações e institutos que congreguem os profissionais do ramo.

Soa agora e evidente a aguda necessidade da formalização e disseminação do

aprendizado do gerenciamento de projeto em nosso pais, combinado com mais pes-

quisa no campo de otimização de escalonamento2 de projeto. Daí a oportunidade de

trabalhos nesse campo também tencionando voltar a atenção da comunidade aca-

dêmica e especialistas para a relevância da matéria. Tudo isso compõe o que se po-

deria considerar a motivação para o tema de estudo da presente tese: otimização do

escalonamento dos recursos críticos na exploração e produção (E&P) de petróleo.

1.2 Produção de Petróleo e Gerenciamento de Projeto

Nos últimos anos, o Brasil experimentou espetacular incremento na capacidade de

produção e de refino de hidrocarbonetos fluidos mas, ainda assim, não tem sido o

bastante para fazer frente às necessidades internas. Os preços internacionais do pe-

tróleo, de ordinário tão gravosos e sempre impactando tão diretamente a economia

1 Project Management Professional, conferido pelo Instituto de Gerenciamento de Projeto (Project Ma-negement Institute, PMI) americano.2 Neste texto, o termo escalonamento refere-se tanto ao ato quanto ao efeito da programação das ati-vidades de um projeto. Corresponde no inglês às palavras scheduling (ato) e schedule (efeito).3

Page 20: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

interna, autorizam supor maciços investimentos nesta área. Atingir a auto-suficiên-

cia, ficando a salvo da dependência externa, significa aumentar em muito o grau de

liberdade de ações no setor, com repercussão imediata beneficiando toda a cadeia

econômica.

Mas os tempos são outros, o modelo de exclusividade para apenas uma companhia

de petróleo como agente administrador do monopólio3 estatal do petróleo não mais

vigora e empresas congêneres entram em cena, disputando o mercado. Inevitavel-

mente, o próximo século assistirá a renhida competição em todos os segmentos da

indústria de petróleo: E&P, refino, transporte, comercialização e distribuição.

Compelidas de um lado pela natural premência em se descobrir e produzir petróleo

rumo à auto-suficiência para suprir as demandas energéticas brasileiras e, de outro,

pela inescapável necessidade de exploração dos blocos das bacias sedimentares

brasileiras que lhes couberem, as companhias de petróleo correm contra o tempo.

Por via de conseqüência, suas carteiras de projetos mais e mais tendem a crescer.

Assim sendo, o gerenciamento de projeto de qualidade, com ações centradas na efi-

ciência e redução de custos, desempenhará papel de destaque no retorno para a so-

ciedade e maximização da remuneração de capital dos seus acionistas.

Projetos no setor petróleo são particularmente importantes em vista do traço estraté-

gico de que se revestem. O que está em jogo, em última análise, é a disponibilidade

de energia, imprescindível para fruição dos bens e serviços de uma sociedade in-

dustrializada, que a ciência e a tecnologia não cessam de suscitar e dispor.

Em particular, a região de Campos, no norte fluminense, tem especial interesse pelo

setor. Sua bacia sedimentar offshore é a que mais produz hidrocarbonetos no país e

exibe indícios auspiciosos, dando conta de que continuará sendo alvo de grandes

projetos. Com isso, a questão ganha contornos ainda mais complicados, visto que

no ambiente marinho, notadamente de águas profundas, como é o caso, todas as

operações são muito mais laboriosas e demasiado dispendiosas. Outra vez, os fato-

res tempo e custo são determinantes se se objetivam preços competitivos, o que tor-

na decisiva sua boa gerência. De qualquer modo, os benefícios de se lograr anteci-

par a produção de dezenas de poços, mesmo que em uns poucos dias, fruto de uma

programação otimizada de utilização dos recursos envolvidos – todos excessiva-

mente caros – nos projetos, podem importar receita antecipada da ordem de milhões

de dólares. É exatamente disso que trata a presente pesquisa: otimização do escalo-

3 O mandato de ação exclusiva da Petrobras na administração do monopólio estatal do petróleo foi in-validado pelo Congresso Nacional, em 1995, por emenda constitucional.4

Page 21: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

namento dos recursos na E&P de petróleo, com conseqüente redução de custos e

tempos. Isso materializa o estudo de caso do trabalho, formatado como o problema

de escalonamento de projeto (Project Scheduling Problem, PSP)

1.3 Escalonamento de Projeto e Otimização Matemática

O senso comum erroneamente presume que gerenciamento de projeto se reduz

apenas à programação de suas atividades (escalonamento). Isto está longe de ser

verdade, conquanto seu mérito não deva ser minimizado. O escalonamento é um

dos processos do gerenciamento de projeto e na verdade é melhor estudado nos do-

mínios da pesquisa operacional como um problema de otimização combinatória. Oti-

mização significando maximizar ou minimizar uma dada função matemática – referi-

da como função-objetivo – refletindo algum critério de desempenho de um problema

sujeito a determinadas restrições (Chong, 1996). Otimização combinatória é o ramo

da matemática aplicada que combina técnicas de análise combinatória, programa-

ção linear e teoria dos algoritmos para resolver problemas de otimização sobre es-

truturas discretas (Nemhauser & Wolsey, 1988; Cook et al., 1998).

1.4 O Caso Estudado

Estudos do PSP no âmbito acadêmico, não raro, são algo descolados da realidade,

seja nas suas singularidades, seja no limitado porte dos problemas com que traba-

lham, daí a oportunidade de pesquisas conectadas com projetos reais.

O estudo de caso empreendido se refere ao ambiente real da Petrobras na bacia de

Campos. O caso é modelado como um PSP. Sondas e navios são cotados como re-

cursos críticos, em virtude de sua escassez e alto custo. As intervenções nos poços

são tomadas como as atividades do projeto.

Um complicador é que, em razão de determinados recursos terem sua atuação con-

dicionada à lâmina d’água da locação, as atividades acabam por dispor de modos al-

ternativos de execução, cada um dos quais implicando trade-off entre duração e re-

cursos. Semelhante problema de otimização tem o seguinte enunciado: “Alocar os K

recursos renováveis a cada uma das J atividades do projeto multimodo de maneira a

minimizar sua duração total”. Com isso, o PSP é modelado como o denominado

“problema multimodo de escalonamento de projeto com restrição de recursos” –

MRCPSP. Problemas de otimização matemática inteira dessa natureza estão entre

5

Page 22: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

os de mais difícil tratamento, sendo classificados como NP-completos. Algoritmos de

solução exata existem apenas para os casos de instâncias de pequeno porte (até 15

atividades). Tipicamente, problemas reais envolvem centenas de intervenções.

As instâncias que aproximam condições reais são construídas através de um progra-

ma gerador de instâncias. Quatro heurísticas, i.é, procedimentos de solução aproxi-

mada, são sugeridas e implementadas em código computacional. O critério de per-

formance é a minimização da duração total do projeto (makespan). Experimentos

numéricos com os quais se comparar o desempenho destes algoritmos são conduzi-

dos e relatados. Antes, porém, o caso é situado em seu contexto, na esfera de ação

do gerenciamento de projeto, de maneira que permita ser apreendido em toda sua

plenitude.

1.5 Objetivos da Pesquisa

À luz de quanto foi dito, os objetivos principais deste trabalho podem ser assim resu-

midos:

• Despertar a comunidade acadêmica e especialistas para a importância do

estudo regular do gerenciamento de projeto;

• Investigar para efeito de aplicação, o estado da arte dos métodos de solu-

ção dedicados ao PSP;

• Modelar casos reais, de grande porte, do PSP;

• Desenvolver, implementar e experimentar métodos matemáticos aproxima-

dos de otimização voltados para solução de tais problemas.

1.6 Organização do texto.

Como se viu, o leitmotiv da presente pesquisa diz respeito à gestão dos tempos de

um projeto. Mais detidamente, referido a um estudo de caso da Petrobras no que

tange à otimização de alocação de recursos críticos às intervenções no poços de

óleo e gás. Com isso, o restante deste documento se organiza da seguinte maneira:

O capítulo 2 expõe o estado da arte do gerenciamento de projeto. Seus fundamen-

tos e metodologia são apresentados e tendências são identificadas e comentadas

neste capítulo, que também se presta à inserção do PSP em seu contexto.

6

Page 23: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

O capítulo 3 faz uma descrição detalhada do PSP. Seus elementos e modelos são

apresentados, bem como sua representação, classificação e notação. Comenta-se

sobre os métodos mais comuns empregados para sua solução exata e aproximada.

Termina com exposição de alguns casos especiais e de modelos que emergiram re-

centemente.

O capítulo 4 expõe e modela física e matematicamente o caso em estudo. Gerado-

res de instancias são tratados juntamente com os conjuntos mais comuns atualmen-

te disponíveis. Os chamados parâmetros de problemas de escalonamento são dis-

cutidos e, ao final, se descrevem os conjuntos de instâncias geradas para emular o

caso real e submeter as heurísticas codificadas a experimentos computacionais.

No capítulo 5 são descritas detalhadamente quatro meta-heurísticas propostas para

solução aproximada do PSP em causa, nomeadamente Algoritmo Aleatório Puro,

GRASP, Algoritmo Genético e Heurística Evolucionária Híbrida. Antes, os algoritmos

básicos, ditos esquemas de geração de escalonamento, SGS, são estudados e as

chamadas regras de prioridade são introduzidas .

O capítulo 6 discorre sobre os resultados dos experimentos computacionais cumpri-

dos com as meta-heurísticas desenvolvidas para a solução do PSP objeto de estu-

do. Inicialmente o parâmetro de relaxação da GRASP e a probabilidade de mutação

dos algoritmos evolucionários são devidamente calibrados. Um entre dois operado-

res mutação é criteriosamente selecionado para uso nos testes. Os ensaios englo-

bam os três conjuntos produzidos e definem a heurística de maior eficiência. Experi-

mentos com respeito aos efeitos dos chamados parâmetros de problema também

são efetuados.

Por fim, o capítulo 7 mostra as ilações extraídas a partir do trabalho e conclui com

algumas recomendações e sugestões julgadas úteis para futuros trabalhos na área.

A dissertação também inclui um anexo, no qual se examina muito brevemente a

complexidade dos problemas de otimização, com enfoque de pesquisa operacional,

particularmente daqueles da família do difícil problema de escalonamento de projeto.

7

Page 24: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Capítulo 2Onde se trata do contexto do Problema de Escalonamento de Projeto

O Gerenciamento de Projetouito brevemente faz-se aqui uma incursão pelo gerenciamento de projeto. A

partir de conceituação básica e descrição de seus métodos e processos,

tem-se uma visão panorâmica do tema, mais que nunca indispensável à boa condu-

ção de empreendimentos na órbita do moderno mundo corporativo.

MPretende-se com isso cumprir dois objetivos: ao mesmo tempo em que se busca di-

fundir os fundamentos do gerenciamento de projeto, situa-se o problema de escalo-

namento de projeto, PSP – detalhadamente tratado nos capítulos subseqüentes –,

em seu contexto, mais precisamente na área de conhecimento da gestão dos tem-

pos do projeto.

Sempre com respeito ao gerenciamento de projeto, o capítulo obedece ao seguinte

roteiro: a seção 2.1 apresenta sua estrutura geral, introduzindo sua conceituação e

algumas de suas definições básicas; a seção 2.2 trata dos seus grupos

convencionais de processos: iniciação, planejamento, execução, controle e

encerramento; na seção 2.3, suas áreas de conhecimento são brevemente

abordadas; a seção 2.4 discute resumidamente os recursos e limitações dos

sistemas comerciais com esse fim; na seção 2.5, finalmente, os avanços e

perspectivas nesta área são enfocados.

2.1 Estrutura Geral do Gerenciamento de Projeto2.1.1 Conceituação BásicaPrevenindo-se quanto ao risco de confusão, é oportuno desde já situar os significa-

dos de administração, gerência e gestão adotados neste texto. Observando o que

8

Page 25: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

preconiza Valeriano (1998), estes termos se distinguem segundo seu nível de com-

petência:

• Administração: diz respeito a ações em nível organizacional: finanças e con-

tabilidade, vendas e marketing, pessoal e etc.;

• Gerenciamento: sinônimo de gerência, situa-se ao nível do próprio projeto:

planejamento, controle e etc.;

• Gestão: refere-se aos subníveis do gerenciamento, i.é, parcelas específicas

das atribuições do gerente de projeto: da qualidade, dos tempos, dos custos

e etc. (cf. seção 2.4)

ProjetoProjetos no mais das vezes são componentes críticos da estratégia de negócios de

uma organização. Projeto é uma seqüência de atividades com começo e fim limita-

das por tempo, recursos e resultados. Pode-se dizer que a mais distintiva marca de

um projeto4 seja o seu caráter inovador. Uma vez concluído o projeto, a organização

dispõe de algo realmente novo. As operações rotineiras de uma empresa ou organi-

zação compartilham muitos traços em comum com um projeto. O que distingue am-

bos é que enquanto as operações são progressivas e repetitivas, os projetos são

transitórios e únicos.

A melhor definição para projeto talvez seja que “projeto é um esforço temporário em-

preendido para criar um produto – ou serviço – que é único”. Temporário estabele-

cendo que o projeto tem começo e fim bem definidos; único significando que o pro-

duto – ou serviço – incorpora uma característica que não divide com nenhum outro

similar.

Tipicamente, um projeto origina-se a partir de uma ou mais das contingências a se-

guir:

• Exigência do cliente

• Demanda de mercado

• Avanço tecnológico

• Necessidades do negócio

• Obrigações legais

4 O termo projeto, de que trata o presente estudo, referir-se-á sempre ao seu sentido estrito, sob um ponto de vista organizacional. 9

Page 26: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Usualmente a equipe envolvida é temporária, i.é, existe enquanto o projeto existir.

Exemplos são: viagem a Marte, elaboração de um novo produto, o desenvolvimento

de um campo de petróleo, aquisição um novo sistema de comunicação, construção

de uma unidade fabril, implantação de um novo procedimento nos negócios, pesqui-

sa de um novo medicamento e etc.

Se um empreendimento reúne as cinco características a seguir, pode-se assumir

que se trata de um projeto:

(1) Começo e fim bem definidos;

(2) Tem recursos que foram especificamente alocados para aquele fim;

(3) Os resultados finais têm metas especificas de qualidade e desempenho;

(4) Segue uma predeterminada abordagem planejada e organizada para alcan-

çar seus objetivos;

(5) Geralmente envolve uma equipe formada para aquele fim.

Certos tipos de empreendimentos são similares a projeto. Um programa é um grupo

de projetos gerenciados de modo coordenado para obter benefícios que não estari-

am ensejados por um projeto individualmente (p. ex., o programa nuclear brasileiro).

Um subprojeto resulta da divisão de um projeto que o supera e o comporta. Em ge-

ral, são contratados de uma outra empresa ou de outra unidade funcional das orga-

nizações (e.g., testes automatizados de programas de computador num projeto de

desenvolvimento de software).

RecursosSão o tempo, pessoas, dinheiro, máquinas, equipamentos e instalações utilizados

para implementação de um projeto. Segundo disponibilidade e consumo, podem ser

enquadrados em quatro categorias: renováveis, não-renováveis, duplamente restri-

tos e parcialmente renováveis (cf. subseção 3.2.1)

Escopo5

O escopo pode se referir tanto ao produto quanto ao projeto:

• Escopo do produto: características e funções que devem ser agregadas ao

produto (ou serviço);

5 Do inglês “scope”: alcance, raio de ação. Não se deve confundir com a acepção comum deste vocá-bulo em português: alvo, intuito; intenção. 10

Page 27: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

• Escopo do projeto: todo o trabalho que deve ser empreendido de modo a ge-

rar um produto (ou serviço) com as características e funções especificadas.

Atividade ou TarefaAté o momento não há consenso entre os especialistas acerca da relação entre os

termos atividade e tarefa em gerenciamento de projeto. Neste documento, ambos os

temos são aplicados indistintamente. Uma atividade (ou tarefa) real sempre conso-

me tempo e, quase sempre, recursos e pode ser entendida como uma unidade de

trabalho do projeto.

Stakeholders6 do ProjetoSão os indivíduos e organizações que estão ativamente envolvidos com o projeto ou

cujos interesses podem ser positiva ou negativamente afetados como conseqüência

da execução do projeto ou por sua exitosa completação. Uma das mais destacadas

atribuições da equipe de gerenciamento de projeto é identificar os stakeholders, de-

terminar seus interesses e expectativas e então influenciar de modo a ter um projeto

bem-sucedido. O gerente do projeto, os clientes, os beneficiários, a empresa hospe-

deira do projeto, os financiadores do projeto e representantes de agências governa-

mentais formam alguns exemplos de stakeholders. Talvez um dos maiores desafios

do gerenciamento de projeto seja encontrar solução para os pleitos conflitantes de

alguns stakeholders. Em geral, incompatibilidades de demandas e necessidades de

stakeholders devem ser decididas em favor dos clientes.

2.1.2 O Gerenciamento de ProjetoA aplicação pioneira dos métodos e processos do gerenciamento de projeto tal como

aqui se apresenta é atribuída à construção do primeiro submarino nuclear pela Mari-

nha dos EEUU, em meados da década dos 50.

A visão geral é a de que o gerenciamento de projeto é nada além de programação

(ou escalonamento) das tarefas. Nada mais falso. A programação das tarefas é tão-

somente um dos processos da gestão dos tempos do projeto, que sequer deve ser

considerado como o mais relevante de todos.

6 Intraduzível, posto que não há termo correspondente no vernáculo.11

Page 28: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

O gerenciamento de projeto deve ser entendido como a aplicação de conhecimen-

tos, habilidades e técnicas para dirigir as atividades de modo a alcançar ou mesmo

exceder as necessidades e expectativas dos stakeholders.

Os projetos diferem das operações ordinárias das organizações e reclamam técni-

cas especiais de gerência para chegarem a bom termo. Decorre daí que boa parte

do conhecimento aplicado ao gerenciamento de projeto é exclusiva. A especial aten-

ção ao escalonamento das atividades, p. ex., é uma característica que diferencia o

gerenciamento de projeto do administração geral. A despeito disso, esta última com-

partilha com o gerenciamento de projeto diversos conhecimentos, tais como técnicas

de planejamento e previsões financeiras, por exemplo. Na verdade, a administração

geral fornece indispensáveis conhecimentos para o gerenciamento de projeto. Há

muitas habilidades desenvolvidas para a administração geral e que, muito provavel-

mente, afetam qualquer projeto. Como exemplo, liderança, comunicação, negocia-

ção, entre outros.

Projetos são, tipicamente, parte de organizações maiores do que eles – corpora-

ções, agências governamentais e associações profissionais, entre outras. A estrutu-

ra especifica de cada organização tende a influenciar o próprio projeto. A natureza

desta influência varia sobremodo. Organizações baseadas em projeto, como as fir-

mas de engenharia, têm operações primariamente voltadas para projetos. Nesse

caso, tais organizações têm sistemas de administração que favorece o gerencia-

mento de projeto. Como exemplo, sua contabilidade é formatada de modo a consi-

derar projetos múltiplos e simultâneos. Nos demais tipos de organização – compa-

nhias de petróleo, montadoras, etc. –, isso não é tão sistematizado, o que torna o

gerenciamento de projeto mais difícil. Essas organizações apenas podem contar, às

vezes, com departamentos ou divisões que na verdade operam como organizações

baseadas em projeto. Características socio-econômicas também podem afetar muito

o gerenciamento de projeto – legislação local, idioma, diferenças culturais, políticas,

e étnicas e etc.

Objetivos do Gerenciamento de ProjetoSegundo Lewis (1997), o gerenciamento de projeto resume-se em “planejamento,

programação e controle das atividades do projeto para atingir seus objetivos”. Estes

objetivos se traduzem em metas de:

• Custo;12

Page 29: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

• Desempenho;

• Escopo;

• Tempo;

Os quatro objetivos se relacionam da seguinte forma:

Custo = f (Desempenho, Escopo, Tempo).

O custo é função do desempenho, do escopo e do tempo. O custo é diretamente

proporcional ao desempenho e ao escopo: o custo cresce, se um ou ambos cres-

cem. Todavia, a relação com o tempo não é linear. Até um valor ótimo para o tempo,

o custo aumenta à medida que se diminui o prazo de conclusão do projeto; em con-

trapartida, o custo tende a aumentar para prazos crescentes a partir desse ponto.

Existe, então, um prazo de conclusão ótimo para o projeto, no qual ocorre a melhor

performance de todos os recursos. O gráfico da figura 2.1 ilustra tal relação.

2.1.3 Fases e Ciclo de Vida do Projeto .Como todo projeto é sempre um empreendimento inédito, envolve um certo grau de

incerteza. A organização detentora (ou hospedeira) do projeto usualmente vai dividi-

lo em várias fases de modo a melhor controle de sua administração e interação com

outras de suas operações. Como é feita essa divisão, depende de especificidade de

cada organização. Uma fase se distingue pela conclusão de um produto de trabalho

tangível e verificável tal como um estudo de viabilidade ou a execução de um protóti-

po. A caracterização das fases não é algo rígido e universal, mas cada empresa

Figura 2.1: Custo como função do prazo do projeto.

Custo vs . Tempo do Projeto

0

20

40

60

80

100

120

1 2 3 4 5 6 7 8 9 10Tempo

Cus

to

13

Page 30: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

pode ter seu próprio método para estabelecer e denominar cada fase. Ilustrativa-

mente, numa forma compacta e muito difundida pelos compêndios, pode-se dividir o

projeto em cinco fases: iniciação ou conceptual, planejamento, implementação ou

execução, controle e encerramento. Neste caso, as fases não são estanques e su-

cessivas, mas se superpõem parcialmente em algum período, no decurso do projeto,

havendo alternância no predomínio de cada uma delas, conforme o trabalho avança.

As fases do projeto, quando tomadas em conjunto, recebem o nome de ciclo de vida

do projeto, o qual circunscreve seu período de início e término.

Os ciclos de vida de projetos, via de regra, compartilham algumas características:

• Os níveis de custo e pessoal são baixos no início, bem mais altos no está-

gio intermediário e caem vertiginosamente com a proximidade do fim do

projeto;

• Os riscos e as incertezas são mais expressivos no início. A probabilidade de

sucesso cresce enquanto o projeto progride;

• O poder dos stakeholders de influenciar o produto final e os custos do proje-

to diminui à medida que o projeto tem seu curso, porque os custos de alte-

ração crescem com o progresso do projeto.

2.2 Processos do Gerenciamento de ProjetoO gerenciamento de projeto traduz-se em um esforço integrado onde qualquer ação

– ou omissão – em uma área pode afetar outras de suas áreas componentes. Suas

interações e seu concatenamento devem ser diretos e bem entendidos, sob pena de

suscitar atrasos e equívocos. Por exemplo, uma mudança no escopo quase sempre

afeta os custos e pode afetar ou não a qualidade do produto. Essas interações impli-

cam trade-offs entre os objetivos do projeto: pode ser que o desempenho de uma

área será melhorado apenas em detrimento de outra. Entendendo um processo

como uma sucessão de ações visando a um resultado, o gerenciamento de projeto

assume a dinâmica de processos específicos, que interagem continuamente. Isso dá

a medida da natureza integrativa do gerenciamento de projeto.

Conforme estabelece o Project Management Institute (1996) no seu Corpo de Co-

nhecimento do Gerenciamento de Projeto – PMBOK7 –, os processos atinentes ao

gerenciamento de projeto e que são aplicáveis à maioria dos projetos na maior parte

7 Aprovado como normalização americana ( American National Standard) para gerenciamento de pro-jeto pelo ANSI (American National Standards Institute) em setembro de 1999.14

Page 31: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

do tempo, podem ser dispostos em cinco grupos, de um ou mais processos. Cada

uma das cinco subseções a seguir trata de um desses grupos.

2.2.1 Processo de IniciaçãoEssencialmente, diz respeito ao reconhecimento de que um projeto – ou uma de

suas fases – deve ser autorizado e implica o compromisso em fazê-lo. Essa inicia-

ção formal conecta o projeto com as operações rotineiras da organização. Muitas

vezes, requer tomada de decisão com relação ao projeto de maior prioridade entre

outros do portfólio da organização. Isso feito, há que se definir metas especificas

para o projeto e identificar os riscos e restrições que podem vir a lhe causar proble-

mas, uma vez iniciado. Este grupo tem um único processo, que lhe dá o nome e cu-

jas ações típicas são:

• Reconhecimento que um projeto deve ser implementado;

• Determinar o que o projeto deve empreender;

• Definição das metas globais do projeto;

• Definição de expectativas gerais dos stakeholders;

• Definição do escopo geral do projeto;

• Seleção dos membros iniciais da equipe, inclusive o gerente de projeto.

2.2.2 Processos de PlanejamentoEm razão do ineditismo de um projeto, o grupo de planejamento é o que, em geral,

apresenta maior numero relativo de processos. Trata dos processos que se voltam

para definição de recursos requeridos para completar o projeto, elaboração da pro-

gramação das tarefas e desenvolvimento do orçamento. Podem Inclui também defi-

nição das necessidades dos stakeholders e são estabelecidos os meios para satisfa-

zê-las. Alguns dos processos mais representativos deste grupo são:

• Refinamento do escopo do projeto, o que obriga balanço entre resultados,

tempo e recursos;

• Listagem e seqüenciamento das atividades integrantes do projeto de modo

o mais eficiente;

• Desenvolvimento da programação de tarefas trabalhável e elaboração de

orçamento visando à alocação de recursos;

• Elaboração do plano de projeto, formalizado em um documento;

• Obtenção de aprovação do plano pelo stakeholders.

15

Page 32: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Os ditos processos de facilitação, embora intermitentes e executados conforme a

necessidade durante o planejamento de projeto, também interagem e não são facul-

tativos. Como exemplos, podem ser citados os processos de planejamento de quali-

dade, comunicação e risco.

2.2.3 Processos de ExecuçãoNeste grupo estão os processos diretamente relacionados com o gerenciamento da

equipe e de outros recursos objetivando o cumprimento do que foi planejado. Alguns

processos deste grupo são descritos a seguir:

• Execução do plano de projeto, o que implica o cumprimento propriamente dito

das atividades do projeto conforme planejadas;

• Verificação do Escopo, que é a formalização da aceitação do escopo do projeto;

• Garantia de Qualidade, na forma de avaliação global e continuada da perfor-

mance do projeto de modo a assegurar que o projeto vai satisfazer os padrões

de qualidade estipulados;

• Capacitação dos recursos humanos, com desenvolvimento individual ou em gru-

po da qualificação da equipe, visando a realçar a performance do projeto;

• Disseminação da Informação, disponibilizando tempestivamente a informação

para os stakeholders;

• Seleção de Fornecedores via escolha entre fontes potenciais;

• Gerência de contratos e relacionamento com os fornecedores.

2.2.4 Processos de ControleEste grupo de processos se dedica, grosso modo, à vigilância do projeto. Assegura

que os objetivos do projeto são alcançados ao monitorar e medir o progresso con-

frontando com o planejado e tomando ações corretivas quando necessário. Com

isso, alguns imprevistos de atraso, custo e escopo são contornados. O gerente de

projeto deve optar, entre algumas alternativas, aquela que melhor corrija a questão.

Por exemplo, uma atividade com atraso obriga decisão entre manter equipe em

hora-extra e sobrecarregar o custo ou alterar o cronograma, previamente concebido,

e ter repercussão no prazo de alguma das várias fases do projeto. Controle também

implica tomada de decisões preventivamente, antecipando-se a alguns problemas

possíveis. Alguns dos processos que se destacam neste grupo são assim descritos:

16

Page 33: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

• Controle de alterações globais, que coordena mudanças intercorrentes em

geral, inclusive aquelas afetas ao escalonamento, aos custos e à resposta

aos riscos do projeto;

• Controle de alterações do escopo;

• Controle de custo, em função do que consta do orçamento;

• Controle da programação das atividades, comparando com o escalonamen-

to predefinido;

• Controle de Qualidade, ao monitorar resultados específicos do projeto vis-à-

vis os padrões de qualidade e identificar e eliminar causas de desempenho

insatisfatório.

2.2.5 Processos de EncerramentoNesse grupo estão incluídos os processos que formalizam a aceitação da materiali-

zação do projeto – ou de uma de suas fases – e o conduzem ordenadamente para

um término. Um projeto deve ser bem concluído, no sentido ser objeto de análise e

discussões, também porque as técnicas, os procedimentos e os processos que nele

foram empregados eventualmente podem ser melhorados e adaptados para projetos

futuros. Além disso, o próprio produto gerado pelo projeto em causa pode demandar,

posteriormente, registros que, se bem relatados e analisados, contribuem para seu

bom desempenho. Os principais processos deste grupo são:

• Conferir realizações e resultados;

• Fechar operações e dispensar equipes;

• Aprender pela experiência do projeto;

• Revisão dos processos e efeitos do projeto nos stakeholders;

• Elaboração do relatório final.

Como ultimo comentário acerca do assunto, os grupos de processos estão conecta-

dos pelos efeitos que produzem: o resultado de um torna-se o insumo (input) de ou-

tro. Os grupos de processos não são meramente um evento, mas atividades que se

interpenetram e ocorrem em variados níveis de intensidade através de cada fase de

um projeto. Embora não tão evidente, isso também acontece com os processos de

iniciação e encerramento, ainda que em menor grau.

17

Page 34: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

2.3 Áreas de Conhecimento do Gerenciamento de ProjetoAinda com base no enfoque processual adotado pelo Project Management Institute

(1996), assume-se que o gerenciamento de projeto encerra aplicação sistematizada

de um elenco de práticas e conhecimentos, os quais podem ser enquadrados em

áreas, segundo seus processos componentes. Estes últimos interagem e demandam

esforços, individuais ou de equipe, em função das necessidades do projeto. As as-

sim chamadas áreas de conhecimento do gerenciamento de projeto se agrupam em

nove módulos de gestão específica: Integração, Escopo, Tempos, Custos, Qualida-

de, Recursos Humanos, Comunicações, Riscos e Contratações. Por incluir o tema

central do presente trabalho, a área de gestão dos tempos do projeto merece abor-

dagem um pouco mais detalhada.

2.3.1 Gestão da Integração do ProjetoInclui os processos requeridos para assegurar que os vários elementos do projeto

sejam adequadamente coordenados. A integração pode ser dar em vários níveis

como com as operações rotineira da organizações, os escopos do produto e do pro-

jeto, os resultados gerados por diferentes especialidades funcionais – p. ex. informá-

tica, elétrica, mecânica. Isso também pode exigir decisões que envolvem balancea-

mento de trade-offs entre objetivos e alternativas que são intrinsecamente conflitan-

tes. Os processos seguintes, por serem primordialmente integrativos, são os mais

importantes desta área: desenvolvimento do plano do projeto, execução do plano do

projeto e controle de mudanças globais do projeto.

2.3.2 Gestão do Escopo do ProjetoConsidera os processos indispensáveis para que o projeto inclua todo o trabalho re-

querido, e somente o trabalho requerido, para sua exitosa consecução . Primordial-

mente, refere-se à definição e controle do que está ou não está incluído no projeto.

Um projeto consiste de um único produto, mas este último pode incluir elementos

subsidiários, cada qual com seu escopo exclusivo, porém todos interdependentes. A

ferramenta básica para explicitação do escopo é a chamada estrutura de decompo-

sição do trabalho (EDT). Consiste em listagem detalhada discriminando os elemen-

tos constitutivos do projeto, que organiza e define seu escopo total: o trabalho não

incluído na EDT está automaticamente fora do escopo do projeto. A EDT é produzi-

da no processo de definição do escopo (cf. Lewis e Dennis). Os processos referidos

18

Page 35: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

ao escopo são, principalmente: iniciação, planejamento, definição, verificação e con-

trole de alterações.

2.3.3 Gestão dos Tempos do ProjetoIntegram a gestão dos tempos de um projeto os processos requeridos para garantir

a sua conclusão dentro do prazo planejado. No que concerne ao cronograma das ta-

refas, é o próprio foco da pesquisa de tese presente, traduzido no Problema de Es-

calonamento de Projeto (PSP). Os principais processos envolvidos na gestão dos

tempos do projeto são:

Definição das AtividadesA definição das atividades envolve identificação e documentação das atividades es-

pecificas que devem ser conduzidas visando ao cumprimento do elementos do pro-

jeto discriminados na EDT. Implícito neste processo é a necessidade de se definir as

atividades de modo que os objetivos do projeto sejam alcançados. Ao final deste

processo, tem-se uma listagem de todas as atividades integrantes do projeto.

Seqüenciamento das AtividadesEste processo reflete o encadeamento lógico das atividades, considerando as restri-

ções de precedência, e trata de identificar e documentar as interdependências entre

as atividades. Da precisa condução deste processo depende a elaboração de um

escalonamento realista e de boa qualidade. Como insumos, este processo recebe a

lista de atividades, a descrição do produto, as dependências das atividades. Ao final

deste processo ter-se-á o diagrama de rede do projeto (cf. figura 3.1 (c) e (b)), quase

sempre gerado por computador, expressando as dependências entre as tarefas.

Estimação de Duração das AtividadesEnvolve estimativa, por especialistas, do provável período de trabalho necessário

para completar cada tarefa listada. São levados em conta, para tanto, dados históri-

cos e requisitos e disponibilidades de recursos, entre outros fatores. Uma das técni-

cas empregadas é a simulação, como a Analise de Monte Carlo (Hillier, 1995). Ao

cabo deste processo, ter-se-á cada atividade com seu quantitativo de períodos esti-

mados para sua duração.

19

Page 36: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Desenvolvimento da Programação das Atividades É precisamente neste processo que se insere o problema de escalonamento de pro-

jeto, PSP. Neste texto, o escalonamento (ou programação das atividades) significa a

definição completa, mediante uso de ferramentas e técnicas, das datas inicial e final

de execução de cada atividade, tomando em conta as restrições de recursos e de

precedência – estas também ditas lógicas ou tecnológicas – entre as atividades (cf.

subseção 3.2.8).

Este processo freqüentemente deve ser repetido – juntamente com os processos re-

lativos às estimativas de duração e de custo – antes que se tenha o efetivo escalo-

namento empregado no projeto. No decurso do projeto, além disso, deve ser atuali-

zado quando imprescindível, no processo de controle adiante mencionado. Como

ferramentas e técnicas coadjuvantes na montagem do escalonamento, tem-se

PERT, CPM, simulação, nivelamento, compressão das atividades e heurísticas, en-

tre outras, quase todas incorporadas em aplicativos comerciais de gerenciamento de

projeto, os quais vão de fato gerar o escalonamento. Enquanto se dedica a próxima

seção a estes sistemas comerciais, a seguir se comenta sobre PERT e CPM8

Tais ferramentas executam o cálculo. teórico do tempos mais cedo (EST e EFT) e

tempos mais tarde (LST e LFT) de inicio e fim de uma atividade, sem levar em conta

limitações de recursos. Calculam tão-somente o caminho crítico (cf. subseção 3.2.5)

e a janela de tempo em que cada atividade deve ser executada, quando posterior-

mente se consideram as restrições de recurso. Conseqüentemente, seu resultado

não pode ser considerado o escalonamento do projeto.

Método do Caminho Critico (Critical Path Method, CPM). Calcula as datas determi-

nísticas com base na lógica da rede, nas durações predefinidas – mais prováveis –

de cada tarefa e em dado horizonte de tempo do projeto, T , que, p. ex., pode ser

obtido pelo somatório das durações das atividades. O algoritmo é útil para o cômpu-

to das chamadas folgas das tarefas e definição do caminho crítico (cf. subseção

3.2.5).

Técnica de Revisão e Avaliação de Programa (Program Evaluation and Review Te-

chnique, PERT). Igualmente se vale das restrições de precedência expressas no di-

agrama de rede. Entretanto, computa o período de conclusão do projeto a partir da 8 E.I. Du Pont Company em meados da década dos 50, nos EUA, desenvolveu o CPM para gerencia-mento do projeto de uma grande planta química; pouco depois, num esforço conjunto para desenvol-vimento do míssil Polaris, a marinha americana e a empresa de consultoria Booz, Allen, and Hamilton criaram o PERT. Comum na Europa e análogo ao CPM é o MPM, Metra-Potencial Method.20

Page 37: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

estimação da duração média ponderada das atividades que figuram no caminho crí-

tico, num processo probabilístico. Portanto, difere do CPM essencialmente pelo uso

do valor esperado para as durações, em vez do mais provável. O PERT propriamen-

te dito raramente é usado hoje em dia porque, entre outras limitações, tende a su-

bestimar a duração média do projeto (cf. Morton, 1993).

Como resultado final deste processo, tem-se o escalonamento básico do projeto,

que deve incluir, no mínimo, as datas previstas de começo e fim de cada atividade.

Pode ser apresentado na forma tabular ou gráfica, nos formatos de diagrama de

rede ou gráfico de Gantt (figura 3.1(a)).

Controle da Programação das AtividadesEste processo deve ocorrer integrado com outros processos de controle das outras

áreas. Resulta em atualizações e revisões do escalonamento básico, com con-

seqüentes ações corretivas e lições aprendidas. Basicamente, tenta influenciar os

fatores que produzem alterações no cronograma, garantindo que as mudanças se-

rão benéficas e gerencia tais mudanças.

2.3 4 Gestão dos Custos do ProjetoInclui todos os processos que garantem a conclusão do projeto dentro dos parâme-

tros do orçamento aprovado. Volta-se precipuamente para os custos dos recursos

necessários para completação das tarefas, mas também se refere aos custos das

decisões do projeto no que tange ao uso de seu produto. As diferentes necessida-

des de informação dos stakeholders igualmente devem ser consideradas. Uma des-

crição, definindo tipos e quantidades, dos recursos requeridos para cada elemento

da EDT é resultante desta área. Compõe-se de vários processos, dos quais os mais

importantes são: planejamento de recursos, estimação de custos, orçamentação de

custos e controle de custos.

2.3.5 Gestão da Qualidade do ProjetoAbrange aqueles processos requeridos para a segurança de que o projeto vai cor-

responder às necessidades com as quais está comprometido. Inclui “todas as ativi-

dades da função gerencial que determinam a política da qualidade, os objetivos e as

responsabilidades e os implementam por meios tais como planejamento da qualida-

21

Page 38: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

de, controle da qualidade, garantia da qualidade e melhoria da qualidade, dentro do

sistema da qualidade”, conforme a gestão da qualidade é conceituada pelas normas

da série ISO 9000, que norteia esta área de conhecimento, em conjunto com a série

ISO 10000. A propósito, Icmeli e Rom (1998), a partir de uma ampla enquête com

gerentes de projeto dos EUA, concluem que a mais importante função-objetivo de

um projeto é aquela que tem a qualidade como critério de performance (cf. subseção

3.2.1). Os principais processos pertinentes à gestão da qualidade são: planejamento

da qualidade, garantia da qualidade e controle da qualidade.

2.3.6 Gestão dos Recursos Humanos do ProjetoEsta área comporta os processos que visam ao mais efetivo uso das pessoas envol-

vidas no projeto, incluindo os stakeholders. Um ingrediente decisivo no sucesso de

um projeto é ter as pessoas certas no trabalho e gerenciá-las apropriadamente. A

par das técnicas gerais de RH aplicáveis no âmbito organizacional e de ampla litera-

tura (incorporar novos paradigmas, desenvolver novas tecnologias e formular estra-

tégias flexíveis alinhadas com a organização), o gerenciamento de projeto tem espe-

cificidades com respeito aos recursos humanos que exigem tratamento especial e

não devem ser negligenciadas. Por exemplo, o caráter efêmero do projeto implica

que as relações pessoais e organizacionais, além de novas, são igualmente tempo-

rárias. O gerente de projeto deve adotar técnicas que sejam adequadas para esta

singularidade do relacionamento. Os processos mais relevantes na gestão dos re-

cursos humanos são: planejamento organizacional, seleção do pessoal e desenvol-

vimento da equipe.

2.3.7 Gestão das Comunicações do ProjetoA gestão das comunicações comporta os processos necessários para, tempestiva e

apropriadamente, assegurar geração, coleta, disseminação, estocagem e disponibili-

dade final da informação do projeto. Provê ligações críticas entre pessoas, idéias e

informações que são necessárias ao êxito do projeto. Envolve um corpo de conheci-

mentos, não exclusivos do gerenciamento de projeto, voltados para elementos tais

como seleção dos meios de comunicação, estilo de redação, liderança de reuniões,

técnicas de apresentação, entre outros. Seus processos principais são: planejamen-

to das comunicações, distribuição da informação, relatório de desempenho e encer-

ramento gerencial.

22

Page 39: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

2.3.8 Gestão dos Riscos do ProjetoO risco deve ser entendido como a possibilidade de ocorrência de efeitos indesejá-

veis como resultado de um evento qualquer. Como todo projeto implica algo novo,

envolve razoável grau de incerteza, o que potencializa a exposição ao risco. A ges-

tão dos riscos compreende os processos atinentes à identificação, análise e respos-

ta ao riscos potenciais do projeto. Essencialmente, objetiva maximizar os resultados

de eventos benéficos e minimizar as conseqüências dos eventos adversos (Tavares,

1998). Esses processos são: identificação do risco, quantificação do risco, desenvol-

vimento de resposta ao risco e controle de resposta ao risco.

2.3.9 Gestão das Contratações do ProjetoAplica-se aos processos exigidos para aquisição de produtos e serviços externos ne-

cessários à execução do projeto. Abrange as relações de contratos, compras e su-

primentos. Também pode incluir as relações cliente/fornecedor com outras unidades

da organização hospedeira. Seus principais processos são: planejamento do aprovi-

sionamento, seleção de fornecedores e contratados e gerência de contratos.

2.4 Sistemas Comerciais de Gerenciamento de Projeto Introduzidos a partir da década dos 60, os últimos anos testemunharam a emergên-

cia de um sem número de software comerciais voltados para o gerenciamento de

projeto. Variam em capacidade desde aqueles para simples geração de gráfico de

Gantt até outras aplicações para mainframe, que trabalham integrados com outros

sistemas de gerenciamento corporativo; mas a diferença entre eles é menor a cada

dia.

Atualmente, torna-se muito difícil, para alguns projetos mais complexos, prescindir

do concurso de instrumentos que automatizem alguns métodos e processos do ge-

renciamento de projeto, que de outra forma seria extremamente trabalhoso e tedio-

so. Deixar que o computador se encarregue de suporte táticos na forma de cálculo

de caminho crítico, planilhas de orçamentação, gráficos e diagramas, propicia ao ge-

rente maior disponibilidade de tempo para pensar os processos inerentes ao projeto.

Como agravante, o gerenciamento de projeto em si é um formidável gerador de rela-

tórios, e disso os software se incumbem de modo inigualável, com grande flexibilida-

de para elaboração de modelos sob medida para diferentes projetos e diferentes exi-

23

Page 40: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

gências dos stakeholders. Contudo, mesmo os mais sofisticados pacotes não substi-

tuem a boa liderança ou a tomada de decisão judiciosa e, de per si, são incapazes

de resolver conflitos, seja de tarefas seja de pessoal. A despeito disso, tanto para

elaboração quanto para a atualização de alguns processos, os aplicativos hoje exis-

tentes tornam-se indispensáveis, notadamente para ambiente multiprojeto. Alinham-

se entre os tipos de software mais vendidos no mundo.

As pesquisas no campo dos sistemas comerciais de gerenciamento de projeto cos-

tumam acontecer em duas vertentes: análise da capacidade geral de gerenciamento

de projeto do aplicativo e sua capacidade de alocação de atividade/recursos, a sa-

ber, geração de escalonamento de boa qualidade em face das restrições do projeto.

Trabalhos do primeiro tipo podem ser encontrados , por exemplo, em (Assad, 1986 e

de Wit, 1990). Todavia, as peculiaridades de recursos funcionais destes programas

não são aqui examinadas9. O que se pretende, em vista do interesse do estudo em

causa, é concisamente discuti-los sob o ponto de vista da otimização matemática.

Os pacotes comerciais são, evidentemente, proprietários, de código fechado, com o

que a metodologia de solução neles embutida não é de conhecimento geral. Mas

sabe-se que todos eles , via o assim – inapropriadamente – chamado nivelamento

(leveling), meramente calculam uma solução viável para o escalonamento (Pyron,

1997). Para este fim, empregam diferentes algoritmos baseados em alguma regra de

prioridade (cf. seção 5.2), e não geram necessariamente o escalonamento mínimo

no que tange ao prazo de encerramento do projeto – makespan (cf. subseção 3.2.1).

Apenas em anos recentes pesquisas do segundo tipo vieram à tona (Johnson, 1992;

Maroto, 1994; Farid, 1996). Isso decorreu da ausência de capacidade de alocação

de recursos nos aplicativos anteriores à década dos 90. Além disso, os pesquisado-

res não dispunham de métodos de solução exata com que derivar soluções bench-

mark para instâncias de porte realista com as quais cotejar seus resultados (cf. se-

ção 3.3). O estudo mais recente deve-se a Kolisch e Hempel (1996), onde o desem-

penho de sete aplicativos comerciais é aferido comparativamente. Testes estatísti-

cos nesse trabalho detectaram um desvio médio de até 9,76% da solução ótima,

para instâncias simples e de pequeno porte (variando em conjuntos de 10, 20 e 30

tarefas, num total de 160 instâncias), tendo como função-objetivo a minimização do

makespan. A performance dos aplicativos é fortemente influenciada por alguns parâ-

metros de problema (cf. subseção 4.3.1). Por exemplo, os resultados se deterioram

9 Entidades tais como o Project Management Institute periodicamente divulgam avaliações destes programas. 24

Page 41: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

fortemente à medida que o número de tarefas do projeto cresce. Conquanto tenham

evoluído muito nos últimos anos, também com relação à capacidade de geração de

escalonamentos de melhor qualidade, estes software estão ainda longe dos resulta-

dos obtidos por heurísticas divulgadas mais recentemente, mencionadas no capítulo

3.

2.5 Avanços no Campo do Gerenciamento de ProjetoMuito da eficácia do gerenciamento de projeto está condicionado à sua habilidade

em identificar e integrar o vasto inventário de informações e conhecimentos gerados

nas últimas décadas nesta área. Nesse particular, avanços espetaculares têm acon-

tecido. Em seu dia-a-dia, um gerente de projeto é permanentemente instado a tomar

decisões, todas acabando por repercutir nos objetivos do projeto: custo, tempo, es-

copo e desempenho. Na maioria das vezes, bom senso basta para julgar as melho-

res opções. Todavia, tanto melhor se, em lugar de mera intuição, o gerente puder

dispor de instrumentos para subsidiá-lo, quantitativa e quantitativamente, e guiá-lo

em direção à melhor escolha entre as várias existentes. Os métodos de análise de

decisão são concebidos para ajudar no ordenamento de complexas alternativas com

base em critérios antes tangíveis que subjetivos.

Graças aos implacáveis avanços da tecnologia em geral e, em particular, a dos com-

putadores e também à evolução de métodos e modelos, presentemente já se pode

contar com os Sistemas de Apoio à Decisão (DSS) dedicados ao gerenciamento de

projeto. Tais sistemas facultam ao usuário a tomada de decisão mais acertada, com

base em conhecimentos previamente adquiridos de uma forma integrada. Enquanto

muito das ferramentas e produtos hoje disponíveis sustentam tomada de decisão in-

dividual, surgem continuamente sistemas coadjuvantes na decisão para grupos e or-

ganizações. Adicionalmente, essas ferramentas estão estendendo as fronteiras de

pesquisa e aplicação ao incorporar capacidade de inteligência artificial nas delibera-

ções das gestões de contratações, custos, riscos e tempos do projeto (cf. Lewis,

1998).

No que se refere especificamente à gestão dos tempos do projeto, Antonisse et al.

(1988) estão entre os primeiros a perceber que o escalonamento de projeto é uma

área fértil para o apoio à decisão. Desde então, um grande número de protótipos

acadêmicos vem surgindo. Os esforços bem sucedidos em combinar Machine Lear-

ning (cf. Langley, 1996) e abordagens de otimização na tomada de decisão na ma-

25

Page 42: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

nufatura sugeriram aplicações correlatas em escalonamento de projeto. Outras inici-

ativas são relatadas em Davis (1992), Slowiński (1994), Jüngen, (1995) e Norbis,

(1996).

O capítulo não estaria suficientemente completo se não mencionasse a emergência

da Internet como vetor de ampliação dos horizontes do gerenciamento de projeto,

como de resto de todos os campos do conhecimento. E este fenômeno esta apenas

começando. O uso da rede global (WWW) e tecnologias da Internet para coletar, or-

ganizar e dispor componentes de DSS para pesquisa e prática vem experimentando

progresso sem paralelo. O amplo alcance da rede internacional favorece troca de

conhecimentos nas áreas de dados, modelos e soluções benchmark para pesquisa-

dores em todo o mundo. O longo tempo decorrido entre os resultados alcançados e

sua disponibilidade para os especialista tem encurtado dramaticamente. Caminham

nessa direção as iniciativas acadêmicas do tipo MMM (Günther, 1997), na Alemanha

e DecisionNet (Bhargava, 1996), nos EUA, protótipos de sistemas de difusão mundi-

al de componentes de software e tecnologia de decisão. Outro exemplo é site ftp da

Universidade de Kiel (Kolisch e Sprecher, 1996), na Alemanha, que serve como re-

positório de conjuntos de dados e programas geradores de instâncias do PSP, para

propósito de testes computacionais, amplamente utilizado no presente trabalho (cf.

seção 4.3).

Some-se a isso que a troca de informações com os fornecedores para suprimentos

do projeto também estão sendo sensivelmente afetadas pela rede mundial, com con-

seqüentes reflexos nos tempos do projeto. Colocações de pedido, pagamentos de

faturas, notificações de despacho e muitas outras transações rotineiras no gerencia-

mento de projeto já podem ser efetuadas usando padrões de mensagens do tipo in-

tercâmbio eletrônico de dados (eletronic data interchange, EDI), que agiliza e aper-

feiçoa a troca de informações entre empresas, aproximando fronteiras globais e re-

duzindo substancialmente o volume de burocracia e papel.

26

Page 43: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Capítulo 3Onde se apresentam os fundamentos do Problema de Escalonamento de Projeto

O Problema de Escalonamento de Projeto - PSPs processos integrantes da gestão dos tempos de um projeto envolvem pri-

mordialmente ações direcionadas ao escalonamento (ou programação) das

tarefas. Escalonamento e seqüenciamento são formas de tomada de decisão que se

referem à alocação racional de recursos escassos a atividades dependentes no de-

curso do tempo. Esta área, mais do que qualquer outra da pesquisa operacional, se

caracteriza por virtualmente ilimitados tipos de problemas e tem sido alvo de densa

pesquisa desde a década dos 50, tendo como conseqüência um expressivo número

de artigos. Tal fascínio se prende ao elevado nível de dificuldade na solução exata

dos modelos, aliado a sua larga possibilidade de aplicação prática, o que faz surgir

uma miríade de modelos e estratégias de solução.

O

Com os recentes avanços ao longo dos anos, os pesquisadores têm relaxado muitos

dos pressupostos restritivos do problema original e introduzido novas e mais realis-

tas características de problemas. Num primeiro momento, os problemas dispunham

de recursos infinitos. Mais tarde, o modelo incorporou a possibilidade de limitação de

recursos e daí surgiu o problema de escalonamento de projeto com restrição de re-

cursos, RCPSP. Mais recentemente, com a noção de modos de execução de tare-

fas, este último estendeu-se para o caso mais geral do MRCPSP. O estudo do PSP,

além de ser útil para a prática do gerenciamento de projeto, também se aplica a sis-

temas de planejamento e programação da produção e ambiente de manufatura auto-

matizada.

O restante deste capítulo se organiza tal como se segue: visto que tudo começou

com a programação de tarefas de manufatura, na seção 3.1 tem-se uma breve des-

crição de casos afetos a este ambiente; na seção 3.2, o problema de escalonamento

de projeto propriamente dito é caracterizado, com muito mais detalhes, antes que

27

Page 44: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

seus métodos de solução sejam discutidos, o que ocorre na seção 3.3; as seções

3.4 e 3.5 se dedicam aos casos estocáticos e preemptivos, respectivamente, tam-

bém de grande importância para o gerenciamento de projeto. O capítulo se conclui

com a seção 3.6, na qual dois novos modelos de PSP, julgados de interesse, são

sucintamente descritos.

3.1 Definições para Ambiente de Job shop

Quando a programação de tarefas é um processo que existe em sistemas de manu-

fatura e produção, bem como em ambientes de processamento de dados, é referida

como problema de job shop, JSP – também se usa a expressão machine schedu-

ling. Consiste de um grupo de diferentes máquinas que executam operações em

jobs. Dado um conjunto de jobs a serem processados em um dado ambiente de má-

quinas, o problema é seqüenciar os jobs, sujeitos a determinadas restrições, de ma-

neira que um (ou mais) critério de desempenho seja otimizado. Cada job tem uma

ordem especificada de processamento pelas máquinas, i.e., um job se traduz por

uma lista de operações seqüenciadas, cada operação definida pela máquina requeri-

da e tempo de execução. Adicionalmente, há algumas restrições relacionadas com

JSP. Por exemplo, não há precedência entre operações de diferentes jobs e uma

operação não pode ser interrompida e retomada tempos depois (não-preemptiva). É

perfeitamente conhecido tratar-se de problema NP-difícil dos mais intratáveis (Lens-

tra e Rinnooy Kan, 1979). Para uma investigação aprofundada das técnicas de solu-

ção dedicadas ao JSP, convencionais e avançadas, consulte-se Blażewicz et al.

(1996).

O seguinte esquema de classificação de problemas do JSP (Grahan et al., 1979 e

Pinedo, 1995) tem experimentado ampla aceitação. Um problema de escalonamento

é descrito por um terno α | β | γ . O campo α diz respeito ao ambiente das máquinas

e contém um único dado; o campo β refere-se a características do processamento e

restrições e pode conter um ou mais dados ou mesmo nenhum dado; os detalhes

acerca do critério de desempenho (cf. subseção 3.2.1) se encontram no campo γ,

que geralmente contém uma única entrada.

Segue-se uma seleta de modelos para JSP, com. as correspondentes entradas, en-

tre parêntesis, para o campo α:

28

Page 45: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Job shop (Jm). Cada job tem sua própria rota a percorrer através das m máqui-

nas. São de dois tipos: um job pode visitar qualquer máquina apenas uma vez ou

pode ser reprocessado em mais de uma máquina, assim permitindo-se recirculação.

Flow shop (fm). As máquinas são disposta em série e todas as tarefas (job) têm

de ser processadas em cada uma das m máquinas. Todos os jobs têm o mesmo iti-

nerário e devem ser processados em seqüência, primeiro na máquina 1, depois na

máquina 2 e assim por diante. Após completado em um processador, um job deve

aguardar na fila. Via de regra, usa-se o padrão FIFO (first in first out – o primeiro a

chegar será o primeiro a ser atendido) para a fila, i.e., um job não pode furar a fila.

Flexible flow shop (FFs). Trata-se de generalização do ambiente flow shop.

Em vez de m máquinas em série, há s estágios em série, contendo determinado nú-

mero de máquinas em paralelo cada um deles. Em cada estágio um job requisita

uma única máquina e, na maior partes das vezes, qualquer máquina pode processar

qualquer job.

Open shop (Om). Análogo ao flow shop puro, exceto que agora os jobs po-

dem ter tempo de processamento nulo e, também, seguir qualquer rota no ambiente

de máquinas, quer dizer, diferentes jobs podem ter diferentes rotas.

Algumas possíveis entradas para o campo β , que se referem às restrições do pro-

cessamento, são:

Preempções (prmp). o processamento do job pode ser interrompido em qual-

quer tempo e retomado mais tarde, conforme conveniência do escalonamento. En-

quanto isso, um outro job toma lugar na máquina.

Restrições de precedências (prec). Obriga que um ou mais jobs tenham que ser

completados antes que determinado job possa ter permissão para iniciar seu proces-

samento.

Para o campo γ, referente ao objetivo a ser minimizado, algumas possíveis entradas

podem ser:

29

Page 46: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Makespan (Cmax). Se se consideram n jobs, e Cj é o tempo de processamento do

job j, o makespan é definido como máx(C1 ,...,Cn), equivalente ao tempo de conclusão

do último job a deixar o sistema.

Tempo total ponderado de completação (∑wjCj). A soma dos tempos pondera-

dos de completação fornece uma indicação do custo de se manter os jobs no siste-

ma em dado escalonamento. O peso wj é um fator de prioridade relativa entre o job j

e os demais. A soma dos tempos de completação também se diz tempo de fluxo,

com o que ∑wjCj pode ser referido como tempo de fluxo ponderado.

Como ilustração da notação, J2||Cmax denota um problema de job shop com duas má-

quinas e makespan como critério de desempenho ao passo que P3|prmp|∑wjCj des-

creve uma instância10 com 3 máquinas idênticas em paralelo nas quais os jobs po-

dem ter seu processamento interrompido e o tempo de fluxo ponderado é o objetivo

a ser minimizado.

O problema de escalonamento de projeto é mais geral do que o JSP. Com efeito,

problemas tais como os relacionados com o flow shop, open shop e job shop repre-

sentam de fato casos particulares do PSP.

3.2 O Problema de Escalonamento de Projeto

Os processos componentes da gestão dos tempos de um projeto (cf. seção 2.x)

guardam relação direta com o problema de escalonamento de suas tarefas. Nos pri-

mórdios dos estudos, os problemas de escalonamento de projeto contemplavam

apenas casos em que as tarefas podiam ser executadas de um único modo, a saber,

demandando uma configuração fixa de recursos e com duração imutável. Este mo-

delo denomina-se Problema de Escalonamento de Projeto com Restrição de Recur-

so - RCPSP.

Somente em fins da década dos 70 (Elmaghraby, 1977) foi introduzida a possibilida-

de de as atividades serem praticadas de vários modos tal que possibilitasse o con-

sumo de diferentes recursos com reflexos no seu tempo de execução e, consequen-

temente, seu custo. Dessa forma, a modelagem pôde capturar o ambiente multipro-

jeto mais geral com condução de atividades cujo desempenho seria função discreta

dos recursos, com modelos implicando trade-offs dos tipos recurso-recurso e recur-

so-tempo (Sprecher, 1994). As atividades podem ser executadas de um dentre vári-

10 O conjunto de dados de entrada numéricos de um problema estabelece uma instância em particu-lar. 30

Page 47: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

os modos, os quais vão refletir combinações alternativas entre tipos e quantidades

de recursos destinados a cada uma delas. Substituindo-se um tipo de recurso por

outro, pode-se alterar o tempo de execução de uma atividade (trade-off de recurso-

recurso) ou, alternativamente, aumentando-se a quantidade de determinado recurso,

pode-se diminuir o tempo de execução de uma tarefa (trade-off de tempo-recurso).

O modelo que daí surge, mais geral e mais realista, é denominado Problema Multi-

modo de Escalonamento de Projeto com Restrição de Recurso- MRCPSP.

3.2.1 Elementos do PSPEm qualquer caso, o PSP se constitui de interações entre atividades, recursos, rela-

ções de precedência e medida de desempenho. Assume-se que todos os dados são

disponíveis, deteminísticos e inteiros (Kolisch e Padman, 1997). O modelo resultante

é uma extensão daquele tradicionalmente empregado no JSP.

Atividades

Todo projeto envolve atividades (também se diz tarefas ou jobs), as quais devem ser

executadas para cumpri-lo com êxito. As atividades podem ser executadas de um ou

vários modos, os quais determinam sua duração, as exigências de recursos de vári-

as categorias e, possivelmente, fluxo de caixa. Uma tarefa se classifica como pre-

emptiva se seu processamento, por interesse do escalonamento, for suscetível a in-

terrupção, com posterior retomada; no caso contrário, a tarefa se diz não-preempti-

va. Por vezes a interrupção, com subseqüente alocação do recurso a outra tarefa, é

benéfica à otimização.

Relações de precedência

Restrições tecnológicas impõem, freqüentemente, que uma atividade j somente pos-

sa ter inicio após uma outra, dita precedente, já ter sido concluída. Nesse caso, a ta-

refa j diz-se dependente.

Recursos

Geralmente, as atividades, para sua completação, reclamam recursos, que podem

ser classificados de acordo com categorias, tipos e valor. Por categorias, os recur-

sos podem ser: renováveis, não-renováveis, duplamente restritos e parcialmente re-

nováveis.31

Page 48: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Renováveis. São restritos numa base periódica (hora, dia, semana, mês), i.e., inde-

pendentemente do tamanho do projeto, os recursos renováveis são sempre disponí-

vel em cada unidade de tempo de projeto. A disponibilidade por período pode ser

constante ou variar de período para período. Maquinas, equipamentos e mão-de-

obra são exemplos desta categoria;

Não-renováveis. Considerando o horizonte de tempo inteiro para o projeto, tais

recursos são limitados, i.e., o projeto (ou fase do projeto) dispõe de uma quantidade

inteira para toda sua execução, sem restrição dentro de cada período isolado. O ex-

emplo clássico é o orçamento do projeto. Matéria prima também pertence a esta ca-

tegoria.

Duplamente restritos. Sofrem a dupla restrição de serem limitados baseados em

período de tempo e no horizonte de planejamento. Um exemplo seria um orçamento

total do projeto que estipula um valor para o desembolso periódico. Mão-de-obra es-

pecializada também pode ser enquadrar como recurso duplamente restrito se, e.g.,

um trabalhador especializado pode permanecer apenas um limitado número de pe-

ríodos no projeto. Via de regra, tal categoria não é explicitamente considerada, em

vista de poder ser enquadrada simultaneamente em um recurso renovável e um

não-renovável que são então acrescentados às suas categorias correspondentes.

Parcialmente renovável. Introduzida mais recentemente, esta categoria limita a uti-

lização dos recursos dentro de um subconjunto do horizonte de planejamento. Como

exemplo, pode-se citar o de mão-de-obra especializada somente disponível em um

dado período no projeto (cf. seção 3.6).

A classificação por tipo é especifica para cada projeto e aprofunda a distinção dos

recursos de cada categoria segundo suas funções.

Por fim, cada tipo de recurso tem um valor associado, representando a quantidade

disponível. Sempre que pelo menos uma categoria de recursos apresenta alguma

restrição de disponibilidade, o PSP é rotulado problema de escalonamento com res-

trição de recursos.

32

Page 49: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Critérios de Desempenho do PSP

Nos domínios da otimização matemática, uma medida (ou critério) de desempenho

(ou performance) diz respeito ao que se pretende otimizar – minimizar ou maximi-

zar. Refere-se, portanto, diretamente à função objetivo e, quando dois ou mais valo-

res são comparados, funciona como uma medida para aferir a qualidade da solução,

e. g., de um problema de escalonamento. A seguir são enumerados alguns dos mais

comuns dentre os vários critérios de desempenho empregados para o PSP.

Minimização de Makespan . Trata-se do mais pesquisado e largamente aplicado

objetivo da programação de tarefas de um projeto. O makespan se define como o

tempo decorrido entre o inicio da primeira tarefa e o fim da ultima tarefa a ser com-

pletada. É, portanto, a própria duração de todo o projeto. Uma vez que usualmente

se assume o instante de tempo t=0 para o inicio do projeto, minimizar o makespan

reduz-se a minimizar o máximo dos tempos de conclusão de todas as tarefas e to-

mar o tempo de conclusão da última como o valor do makespan. A minimização do

makespan é classificada como medida regular de performance cuja definição vai

mais adiante.

Maximização do Valor Presente Liquido. Quando nível significante de fluxo de

caixa está presente, representando desembolso para cobrir despesas de iniciação e

progresso do projeto, o Valor Presente Liquido (Net Present Value – NPV) é a medi-

da mais apropriada como critério de performance do projeto. Refere-se ao balanço

entre as despesas para consecução da tarefa e a receita auferida após sua conclu-

são. A solução de modelos matemáticos deste tipo resulta nos tempos ótimos de ini-

cio para cada tarefa e também no NPV ótimo do projeto. Dada a complexidade des-

se problema combinatório, a saber, dificuldade na obtenção de modelos matemáti-

cos e sua solução, métodos exatos de solução aplicam-se somente a pequenas ins-

tâncias. Mais sobre o tema encontra-se em Herroelen et al. (1997), que conduzem

uma imersiva revisão da literatura sobre a maximização do NVP como critério de

performance, a partir do trabalho pioneiro de Russell (1970).

Maximização da Qualidade. Icmeli e Ron (1998), em seu trabalho 99, onde exa-

minam empiricamente o ambiente de projetos nos EUA, detectaram que o mais im-33

Page 50: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

portante dos objetivos, na expectativa do gerente de projeto, é maximizar a qualida-

de. Com base nisso, em um estudo pioneiro (Icmeli e Ron, 1997), os autores introdu-

zem um modelo de programação linear mista dedicado a maximizar a qualidade do

projeto. A qualidade de um dado projeto é mensurada baseado na quantidade de

tempo e dinheiro despendidos em retrabalho de atividades que não atendem as es-

pecificações dos stakeholders.

Minimização do Custo. Em vista de sua larga aplicação prática, este objetivo tem

atraído enorme atenção dos pesquisadores nos últimos tempos. Os objetivos basea-

dos em custo apresentam duas vertentes: (a) custo das atividades e (b) custo dos

recursos. Em objetivos visando ao primeiro caso, a via pela qual as atividades são

executadas, a saber, o tempo de inicio e/ou os modos escolhidos, resulta em custos

diretos que são minimizados. Exemplos são os tradicionais problemas, contínuos, do

tipo tempo/custo trade-off, e suas extensões discretas (Demeulemeester et al.,

1996).

Com objetivos voltados para o custo dos recursos, o escalonamento das atividades

influencia o custo indiretamente, via recursos. Como exemplo, pode-se citar o caso

clássico de nivelamento de recursos, onde se minimiza o desvio entre o estado de

distribuição de recursos contra um estado desejável (Bandelloni et al., 1994). De for-

ma combinada, o problema também pode ser multicritério, onde duas ou mais des-

tas medidas de performance são simultaneamente otimizadas (cf. Slowiński et al.,

1994 e Deckro & Hebert, 1990).

3.2.2 Descrição do PSP Antes de tudo descreve-se aqui o modelo mais geral, para o ambiente multiprojeto e,

em seguida, suas simplificações. Consideram-se P projetos, cada um com seus pra-

zos específicos de liberação (release date), πj, e de entrega (due date), εj. O (super-)

projeto global se constitui de um conjunto J = {0,1,...,J,J+1} de atividades (tarefas,

jobs) a serem executadas. Duas tarefas fictícias, j=0 e j=J+1 representam, respecti-

vamente, a tarefa única de partida (fonte) e a única de encerramento (sumidouro) do

projeto global. Ambas executáveis de um único modo, associado com duração zero

e consumo nulo de recursos. A cada tarefa j correspondem dois conjuntos, Pj e Sj,

que reúnem suas tarefas predecessoras imediatas e sucessoras imediatas, respecti-

vamente. As atividades são topologicamente numeradas, com o que um predeces-34

Page 51: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

sor de j tem um rótulo menor que j. Além disso, em cada projeto as tarefas são rotu-

ladas consecutivamente com FJp (LJp) sendo a primeira (última) tarefa do projeto p.

Desse modo, o projeto p tem FJp-LJp+1 tarefas.

Três categorias de recursos são empregadas para condução do (super-)projeto: o

conjunto dos recursos renováveis, R, o conjunto dos recursos não-renováveis, N, e o

conjunto dos recursos duplamente restritos, D. Cada recurso r ∈ R tem capacidade

periódica de ρΚ r e cada recurso r ∈ N tem uma capacidade total no projeto de νΚ r .

Recursos da categoria duplamente restrito são limitados com respeito à capacidade

periódica, ρΚ r , e capacidade total, νΚ r .

Cada tarefa real j pode ser processada em um dentre m = 1, ... , Mj modos diferen-

tes. Assume-se que os modos sejam alinhados na ordem não-crescente das dura-

ções. Um modo define de forma única uma duração e uma demanda de recursos.

Se a tarefa j é praticada no modo m, sua duração não-preemptiva é de djm11 períodos,

seu uso de recurso renovável (duplamente restritos) r ∈ R em cada período em que

está em execução é de ρκ jmr unidades e seu consumo de recursos não-renováveis

(duplamente restritos) r ∈ N é de νκ jmr unidades ao longo de seu processamento.

Observe-se, portanto, que os recursos duplamente restritos não são levados em

conta explicitamente, mas incorporados às outras duas categorias. Os parâmetros

são assumidos inteiros e sumariados na tabela 3.1.

Uma solução viável do problema mais geral deve escalonar cada atividade em um

de seus modos de maneira que as restrições de precedência e as de demanda de

recursos escassos sejam respeitadas.

Mínimo e Máximo Time Lags

Na prática é freqüentemente necessário considerar intervalos de tempo específicos

entre execuções das tarefas e não meramente a relação de precedência pura. Defi-

ne-se então mínimo e máximo time lag para situações do tipo em que execução si-

multânea ou sem atraso de várias atividades é exigida; prazos para subprojetos ou

atividades individuais são prescritos; existem janelas de tempo para disponibilidade

11 O subscrito m é suprimido na notação dos parâmetros nos casos em que a atividade dispõe de ape-nas um modo de execução. Destarte, para os modelos do RCPSP, djm denotar-se-á simplesmente dj.

35

Page 52: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

de recursos; ou em escalonamentos voltados para ambientes de produção sob en-

comenda – make-to-order production.

Com isso, entre os inícios de duas atividades, time lags mínimos e máximos podem

ser especificados. Em geral, estes parâmetros dependem do modo de execução que

se atribui a cada atividade. Sejam i,j ∈ J duas atividades diferentes executadas nos

modos mi e mj , respectivamente. Um time lag mínimo mínjmim ji

d ≥ 0 significa que entre

os instantes de início das atividade i e j deve ser observado um intervalo de, no míni-

mo, mínjmim ji

d unidades de tempo; Um time lag máximo máxjmim ji

d ≥ 0 quer dizer que entre

os instantes de início das atividade i e j deve ser observado um intervalo de, no má-

ximo, mínjmim ji

d unidades de tempo. Um mínimo time lag máxjmim ji

d = iimd , equivalente à du-

ração da atividade i, implica que apenas restrição de precedência simples existe en-

tre as atividades i e j enquanto que time lags em geral indicam restrição de tempo.

Nos chamados problemas com restrição de precedência, nenhum máximo time lag

tem que ser observado e qualquer mínimo time lag corresponde à restrição de pre-

cedência. Os time lags também podem ter como referência uma outra combinação

entre o início e o fim das duas atividades consideradas. Assim, podem assumir as

modalidades início-início, início-fim, fim-início e fim-fim.

3.2.3 Modelo Conceitual do PSPNo caso mais geral, um PSP implica otimizar um dado critério de desempenho, fun-

ção dos tempos de início e atribuição dos modos. Isso exige, para cada atividade j ∈

J, determinar o tempo de início e um modo de execução mj ∈ Mj tal que o uso de re-

cursos renováveis pelas atividades executadas simultaneamente não exceda a ca-

pacidade destes recursos em qualquer tempo, o consumo dos recursos não-renová-

veis se restrinja às suas disponibilidades e os time lags, mínimo e máximo, sejam

observados.

Um escalonamento pode ser especificado por um vetor F, dos tempos de conclusão

de cada atividade j ∈ J,F = (FT0, FT1, ... , FTJ+1)

e um vetor m das designações de modos,

m = ( m0, m1, mj, ... , mJ+1).

36

Page 53: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Uma vez dado um escalonamento, o conjunto de atividades que estão em progresso

(ativas) no tempo t é dado por A(t) = { j ∈ J | FTj – djm ≤ t < FTj }.

Conceitualmente, um modelo para o PSP (Talbot e Patterson,1978) envolvendo um

único projeto, pode ser representado conforme se exibe na tabela 3.2.

(1) define a função objetivo f(F,m) como função dos tempos de conclusão e da de-

signação dos modos;

(2) é a restrição que estabelece os time lags mínimos e máximos que devem ser ob-

servados;

(3) garante que o emprego dos recursos renováveis a cada período não exceda sua

capacidade;

(4) assegura que as restrições de consumo dos recursos não-renováveis sejam obe-

decidas;

(5) finalmente, define o domínio das variáveis de decisão.

Obviamente, a formulação (1)-(5) é apenas um modelo conceitual, em vista de não

contemplar dispositivo para atribuição dos modos e, além disso, ser o conjunto A(t)

função das variáveis de decisão. Isso obstaculiza a solução do problema por técni-

cas da programação inteira mista (MIP), utilizando ferramentas do tipo LINDO ou

CPLEX. De modo a se contornar este impeditivo, uma solução deve ser tentada a

partir da formulação 0-1, descrita na próxima seção.

O PSP com modos alternativos de execução das tarefas cujo objetivo seja min

f(F,m):= FTn+1 diz-se Problema de Escalonamento de Projeto Multimodo com Restri-

ções de Recursos com mínimo e máximo time lags e usualmente se denota

MRCPSP/max. Um MRCPSP/max com uma única opção de processamento por ati-

vidade é chamado Problema de Escalonamento de Projeto com Restrições de Re-

cursos com mínimo e máximo time lags , resumidamente RCPSP/max. De outra for-

ma, se todas as restrições de tempo em MRCPSP/max e RCPSP/max são do tipo

Minimizar f(F,m) (1)s. a

FTh ≤ FTj - djm j = 1,...,J+1; h ∈ Pj (2)

∑∈ )t(j A

kjmr ≤ Kr r ∈ R ; t ≥ 0 (3)

∑∈ Jj

kjmr ≤ Kr r ∈ N (4)

F ≥ 0 (5)

Tabela. 3.2 Modelo Conceitual do PSP

37

Page 54: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

que reflitam meramente as precedências das tarefas, então se obtêm o RCPSP,

Problema de Escalonamento de Projeto com Restrições de Recursos, e o MRCPSP,

Problema de Escalonamento de Projeto Multimodo com Restrições de Recursos,

respectivamente.

3.2.4 Modelo Matemático MIP do PSP Multiprojeto

Seja dado um limitante superior T para o makespan do (super-)projeto correspon-

dente a um horizonte de tempo de planejamento, usualmente sendo calculado pelo

somatório das durações máximas das tarefas. Podem ser usadas as relações de

precedência e os modos de menor duração para derivar uma janela de tempo, i.e., o

intervalo [EFTj, LFTj] que contém os tempos de conclusão viáveis no que tange à

precedência, empregando o tempo mais cedo, EFTj, e o tempo mais tarde, LFTj, de

conclusão de cada tarefa j, j = 0, ...,J+1. Os tempos EFTj e LFTj são calculados pelo

método tradicional de recursão avante e em retrocesso, conforme se mostra em

Morton e Pentico (1993). Este mesmo método também computa os tempos mais

minimizar ∑∑+

+

+

=+

=

=1J

1J

1J LFT

EFTtmt,1J

M

1mtx)x(φ

sujeito a:

1xj

j

j LFT

EFTtjmt

M

1m=∑∑

==j = 0, ...,J+1 (6)

pjmt

LFT

EFTtjm

M

1mx)dt(

j

j

j

π≥−∑∑==

p = 1, ..., P; j = FJp, ... , LJp (7)

p

LFT

EFTtjmt

M

1m

jj

tx ε=∑∑==

p = 1, ..., P; j = FJp, ... , LJp (8)

jmt

LFT

EFTtjm

M

1mimt

LFT

EFTt

M

1mx)dt(xt

j

j

ji

i

i

∑∑∑∑====

−≤ j = 0, ...,J+1, i ∈ Pj (9)

ρρrtjmq

1dt

tqjmr

M

1m

J

1jKxk

jmj

≤∑∑∑−+

===r ∈ R ∪ D ; t = 1, ... ,T (10)

ννrjmt

LFT

EFTtjmr

M

1m

J

1jKxk

j

j

j

≤∑∑∑===

r ∈ N ∪ D (11)

xjmt ∈ {0,1} j = 0, ...,J+1, m=1, ..., Mj, t = EFTj, ...,LFTj (12)

Tabela 3.3 Modelo Matemático MIP do PSP multiprojeto

38

Page 55: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

cedo, ESTj, e mais tarde, LSTj, de início para cada atividade. Com as janelas de tem-

po tal como exposto, reduz-se substancialmente o número de variáveis do problema,

que agora já pode ser declarado como um problema de programação linear inteira

mista, conforme introduzido por Pritsker et al. (1969) e estendido por Talbot (1982).

Para tanto, são usadas variáveis de decisão binárias do tipo:

= mtj,1

,0x jmtmodoeperídonocompletadaéatividadease

casonoutro

nas quais j = 0, ...,J+1, m = 1, ..., Mj e t = EFTj , ..., LFTj .

Se o objetivo é encontrar um escalonamento das tarefas de mínimo makespan, i.e.,

tendo o makespan como medida de desempenho, o modelo derivado é aquele exibi-

do na tabela 3.3 , para ambiente multiprojeto sem restrição de time lags específicos.

Como no (super-)projeto têm-se uma única tarefa final (j=J+1, sumidouro), minimi-

zando-se a função objetivo )x(φ referida a esta tarefa, de fato minimiza-se o makes-

pan .

Com respeito às restrições associadas, tem-se que:

(6) garante que a cada tarefa sejam designados exatamente um modo e um tem-

po de completação dentro de sua janela temporal [EFTj, LFTj]; (7) assegura que nenhuma atividade se inicie antes da data de liberação (release

date) de seu projeto correspondente;(8) obriga que nenhuma tarefa se conclua depois do prazo devido (due date) de

seu projeto associado;(9) força obediência às relações de precedência;(10) previne o modelo contra inviabilidade no uso dos recursos renováveis e daque-

les duplamente restritos;(11) limita o consumo de recursos não-renováveis e dos duplamente restritos às

suas disponibilidades preestabelecidas;(12) finalmente, define todas as variáveis de decisão como sendo binárias.

Observe-se que, como já foi apontado, os recursos duplamente restritos não têm de,

explicitamente, ser formulados, de vez que podem ser facilmente tomados em conta

apenas aumentando apropriadamente o conjunto dos recursos renováveis e não-re-

nováveis.

Esta formulação incorpora alguns problemas de escalonamento com restrições, de

precedência e de recursos. Se se tem um único projeto, a classe de problema do 39

Page 56: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

tipo RCPSP , no qual cada tarefa dispõe de um único modo de execução, estaria ca-

racterizada tomando-se P =1, Mj=1, N=D=0, πp = 0 e εp = T . Igualmente para um úni-

co projeto, se cada tarefa pode ser processada em mais de um modo, tem-se o

MRCPSP, o qual seria modelado fazendo P =1, πp = 0 e εp = T . Ainda, os problemas

de escalonamento de produção do tipo job shop, flow shop e open shop bem como

aqueles com uma ou múltiplas máquinas estão incluídos. Com efeito, pode-se de-

monstrar que o problema de job shop (JSP) clássico, onde m equivale ao número de

máquinas, corresponde a um RCPSP com |R| = m recursos renováveis, cada um dos

quais tendo disponibilidade de uma unidade por período (Sprecher et al., 1995). As-

sim, o problema faz parte da classe NP-difícil (Kolisch e Sprecher, 1996). Além dis-

so, se |N| > 1 mesmo o problema de viabilidade para (6)-(12) é NP-completo (cf. Ane-

xo).

A mais comum das medidas desempenho é minimização do makespan, que é classi-

ficada como regular (cf. subseção 3.2.7). Contudo, outras podem ser consideradas.

Apenas a título de ilustração e sem descer a detalhes, seguem-se algumas outras

medidas:

Denotando πj (εj) a data de liberação (prazo devido/prometido) da tarefa j e fazendo

cmjt o fluxo de caixa produzido pela tarefa j quando processada no modo m e concluí-

da no período t, têm-se:

Minimização dos atrasos ponderados:

∑∑∑+==

+

=

−+

=jj LFT

1tjmtj

M

1m

1J

0jx).t(

1J1)x(

εεφ

Minimização do tempo de fluxo médio ponderado:

∑∑∑+==

+

=

−+

=jj LFT

1tjmtj

M

1m

1J

0jx).t(

1J1)x(

εεφ

Maximização do valor presente líquido (NPV):

∑∑∑==

+

=

=j

j

j LFT

EFTtjmtjmt

M

1m

1J

0jx.c)x(φ

Dos três exemplos, apenas a maximização do NPV é classificada como medida não-

regular. Outras medidas de performance, regulares e não-regulares, são discutidas

em Brucker et al. (1998a).

40

Page 57: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

3.2.5 Representação de um PSPAlém do gráfico de Gantt, como se apresenta na fig. 3.1 (a), em geral dois tipos de

representação são empregados para traduzir a idéia de diagrama de rede de um

projeto: atividade-no-arco(ativity-on-arc, AOA), conforme a fig. 3.1 (b), baseado em

eventos e atividade-no-vértice (activity-on-node, AON), como mostrado na fig. 3.1

(c), baseado em atividades.

Na representação do tipo AOA, os nós representam eventos e os arcos representam

as atividades. Atividades fictícias são acrescentadas para representar o começo e o

término de um projeto além de servir para preservar as relações de precedências

entre as tarefas, como é caso da atividade G na fig. 3.1 (b). Em redes do tipo AON,

as atividades e seus parâmetros são representados pelos nós enquanto arcos direci-

onados indicam suas relações de precedência. Diferentemente do gráfico de Gantt,

as representações de rede citadas retratam graficamente as interdependências entre

as tarefas.

PSP’s cujo objetivo seja minimizar o makespan quase sempre adotam redes do tipo

AON (cf. fig. 4.1), porque dispensam acréscimos de atividades fictícias para registrar

a relação de precedência, o que contribui para minorar o esforço computacional.

Não é por outra razão que software profissionais de gerenciamento de projeto prefe-

rem esta modalidade. Essa vantagem pode ser decisiva quando se consideram

grandes projetos. Em verdade, o problema de modelar uma rede AOA de mínimo

número de atividades fictícias que corresponda a um dado projeto é NP-difícil (Garey

& Johnson, 1979). As razões da superioridade da representação AON sobre a AOA

podem ser encontradas em Neumann e Schwindt (1995).

O emprego de arcos partindo do fim de uma atividade até o início de outra (arcos

tipo fim-início) com peso nulo constitui apenas a forma mais simples de utilização de

redes AON . Significa que tão logo todas suas predecessoras estejam concluídas, a

atividade j pode ter início com respeito à precedência. Quando indispensável, time

lags são introduzidos pela utilização de pesos. Mínimos time lags são marcados por

pesos positivos nos arcos enquanto máximo time lags recebem pesos negativos.

Além daqueles do tipo fim-início, os arcos também podem ser dos tipos fim-fim, iní-

cio-início e início-fim (Neumann e Schwindt, 1995).

41

Page 58: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Em vista do exposto, tipicamente, um PSP é representado por uma rede AON acícli-

ca e numericamente rotulada de modo que uma atividade j recebe um índice maior

que o de todas as suas predecessoras (cf. figura 4.1). Com isso se tem o chamado

grafo de precedência das tarefas.

Diferentemente do PSP com mínimo makespan como objetivo, quando se lida com o

problema de maximizar o NPV, a representação apropriada da rede é indispensável,

porque a lógica dos fluxos de caixa exige registro preciso. Numerosos artigos estu-

dam e sugerem representação sob medida para situações específicas. Detalhes po-

dem ser encontrados em Kolisch e Padman (1997).

tarefa

tempo1 2 3 4 5 6 7 8 9 10 11 12 13

A

B

C

D

E

F(a)

Figura 3.1 Métodos de representação para o PSP: (a) gráfico de Gantt; (b) rede do tipo atividade-no-arco (AOA); (c) rede do tipo atividade-no-vértice (AON).

(b) 1

3

2 5 6

4

A2

B3

D4

E14

CF2

tarefa

duração

G

(c)

4

D

A

2

B3

4

E1

C

F2

duraç

tarefa

42

Page 59: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Caminho critico

Caminho crítico, em um diagrama de rede do PSP, é definido como o caminho no

grafo de precedência de maior comprimento entre as atividades fictícias de início e

de fim do projeto quando as restrições de recursos são relaxadas. Seu comprimento

corresponde ao makespan para o caso do PSP de recursos ilimitados calculado com

o método CPM (cf. subseção 2.3.3). Nesse caso, todas as atividades, cujos ESTj|LSTj

(ou EFTj|LFTj ) assumam valores que diferem, apresentam as chamadas folgas, re-

presentadas pela diferença entre estes tempos. Por extensão, uma atividade incluí-

da no caminho crítico se diz atividade crítica. Da definição de caminho crítico, decor-

re que uma atividade crítica apresenta folga nula.

3.2.6 Notação e Classificação do PSPConforme já salientado, o PSP corresponde ao caso mais geral dos problemas de

escalonamento, em razão de os modelos do JSP (machine scheduling) serem casos

particulares do escalonamento de projeto. Até o trabalho de Brucker et al. (1998a),

não havia nenhum esquema de classificação para o PSP que fosse também compa-

tível com o que é comumente aceito para o machine scheduling [cf. seção 3.1]: dife-

rentes pesquisadores usavam diferente simbologia para representar um mesmo pro-

blema. Havia então uma lacuna entre os dois tipos de problemas de escalonamento

com respeito a uma notação unificada bem como a um esquema de classificação.

Sucede que o PSP representa uma generalização dos problemas de escalonamen-

to de atividades (jobs) em ambientes do tipo job shop e flow shop. A nomenclatura

então existente para o JSP (cf. seção 3.1) é adaptada e ampliada pelos os autores

citados de modo a abranger os casos do PSP e identificar precisamente seus pro-

blemas. Além de uma notação comum, eles sugerem um esquema de classificação,

i.e., uma descrição do ambiente de recursos (campo α ), das características das ati-

vidades (campo β ) e das medidas de desempenho (campo γ ), com o qual se podem

enquadrar os modelos mais importantes. Como exemplo, empregando o esquema

proposto sem exatamente detalhar todas as possíveis entradas para os campos, al-

guns modelos de escalonamento de projeto que aqui são discutidos recebem a se-

guinte nomenclatura:

• PS|prec|Cmax : RCPSP, i.e., PSP monomodo, com makespan como função objeti-

vo;

• MPS|prec|Cmax : MRCPSP, i.e., PSP multimodo, com makespan como função ob-

jetivo;43

Page 60: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

• PS|temp|Cmax : RCPSP/máx, i.e, PSP com mínimo e máximo time lags, com ma-

kespan como função objetivo.

• PS|temp| jFTFjc β∑ : PSP com objetivo maximizar o NPV onde β é o fator de des-

conto por período e Fjc é o fluxo de caixa associado à atividade j cuja conclusão

é assumida ocorrer no período FTj = Sj + dj. O fluxo de caixa pode ser positivo,

para pagamento recebido, ou negativo, para custo incorrido.

3.2.7 Medidas Regulares de DesempenhoQuando se tem uma medida regular de desempenho, dois escalonamentos que dife-

rem somente no tempo final de uma atividade permitem comparação para um dado

problema e se pode, por conseguinte, afirmar que o escalonamento que tem o me-

nor tempo de conclusão para esta atividade é no mínimo tão bom quanto o outro,

quer dizer, aquele domina este. Esta seção define medida regular de desempenho

para o caso monomodo (RCPSP) que facilmente se estende para o caso multimodo,

de maior amparo na realidade.

Definição 1

(Sprecher et al. 1995). Sejam, respectivamente, FTo, ..., FTJ+1 os tempos de conclu-

são das atividades 0, ..., J+1. Uma medida de desempenho é um mapeamento

02J

0: ≥+

≥ → φ

que associa a cada (J+2)-upla (FTo, ..., FTJ+1), dos tempos de conclusão, um valor de

desempenho )FT,,FT( 1J0 +φ .

Quando se pretende a minimização, uma medida de desempenho diz-se regular se

φ é monotonicamente crescente com respeito ao ordenamento vetorial dos compo-

nentes, i.e., para )FT,,FT( 1J0 +φ > )FT,,FT( '1J

'0 +φ implica

1Jj0,jFTFT 'jj +≤≤∀≥ e 1Jj0,jFTFT '

jj +≤≤∃> .

Como já observado, a medida regular de desempenho mais comumente utilizada

para o PSP é a minimização do makespan. A noção de medida regular de desempe-

nho pode ser imediatamente estendida ao MRCPSP. Nesse caso, cada atividade

pode ser processada de vários modos, indicando as interações entre custo, duração

e recursos. Uma vez que a cada atividade j seja atribuído um modo, a classificação

do escalonamento reduz-se àquela do RCPSP ora apresentada.44

Page 61: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

3.2.8 Classificação de Escalonamentos: Viável, Ativo, Semi-ativo e Sem-atraso Antes do trabalho pioneiro de Sprecher et al. (1995), que introduz uma classificação

precisa e geral, na qual se baseia esta seção , a maioria dos pesquisadores não fa-

zia menção à tipificação dos escalonamentos utilizados nos problemas do gerencia-

mento de projeto. Em alguns casos, apenas se lança mão diretamente da classifica-

ção convencional utilizada no contexto do JSP, sem qualquer adaptação. ”A razão

disso é, de certo modo, explicada pela forma como o assunto é apresentado pelos li-

vros-textos mais freqüentemente citados (Baker, 1974 e French, 1982), nos quais as

definições são mais ilustrativas do que formais e assim suscetíveis de ambigüidades

no caso mais geral do RCPSP”, argumentam Sprecher et al. (1995). Entretanto, uma

adequada classificação dos escalonamentos é útil para o estudo do PSP, porque

configura critério coadjuvante na categorização dos procedimentos para sua solução

baseada nos tipos de escalonamento para os quais se voltam. Ao cabo disso, a me-

todologia estendida se aplica também ao JSP.

Um escalonamento pode ser definido como uma (J+2)-upla S = (ST0 , ..., STJ+1) na qual

STj denota o tempo de início da atividade j, 0 ≤ j ≤ J+1. Considerem-se A(t) o conjun-

to das atividades ativas, i.e., cujo processamento está em curso no período t,

Tt0 ≤≤ ,

A(t) := { j ∈ J | STj ≤ t < STj + dj }. e

Pj o conjunto das tarefas predecessoras imediatas de j.

Extraídas de Sprecher et al. [1995], têm-se as seguintes definições:

Definição 2

Um escalonamento S é dito viável se obedece às relações de precedência enquanto

observa as restrições de recursos. Isto é,

jii STdST ≤+ , j = 1,...,J+1, i ∈ Pj e ρrjr

)t(AjKk ≤∑

∈ r ∈ R, T,...,0t = .

Definição 3

Um left shift da atividade j, 0 ≤ j ≤ J+1, é uma operação em um escalonamento viável

S que resulta um outro escalonamento viável S’ de modo que ii STST =' para i,

45

Page 62: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

jiJi ≠+≤≤ ,10 . Se, após o left shift, STj - 'jST = 1, a operação se diz left shift de

período unitário.

Definição 4

Uma operação do tipo local left shift em j, 0 ≤ j ≤ J+1, é aquela que se obtém após

aplicar-se sucessivamente um ou mais left shift de período unitário no escalonamen-

to viável S .

Definição 5

Um left shift global da atividade j, 0 ≤ j ≤ J+1, é aquele que não pode ser obtido pela

aplicação de um left shift local.

Definição 6

Um escalonamento viável é semi-ativo se nenhuma das atividades j, 0 ≤ j ≤ J+1, é

passível de operação left shift. local.

Definição 7

Um escalonamento viável é ativo se nenhuma das atividades j, 0 ≤ j ≤ J+1, é passí-

vel de operação left shift., local ou globalmente.

Cada RCPSP pode ser unicamente transformado em outro do tipo RCPSP de dura-

ção de período unitário (UTDRCPSP) no qual cada atividade j, 1 ≤ j ≤ J, é subdividi-

da em dj atividades, cada qual com duração unitária (Davis e Heidorn, 1971) . Desta

forma, um escalonamento viável S de um RCPSP corresponde de modo único a um

escalonamento viável UTDS do UTDRCPSP.

Definição 8

Para o RCPSP, um escalonamento viável S se diz sem-atraso (non-delay) se seu

correspondente escalonamento UTDS é ativo.

46

Page 63: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Teorema

Seja SC o conjunto dos escalonamentos, SV o conjunto dos escalonamentos viáveis,

SSA o conjunto dos escalonamento semi-ativos, SA o conjunto dos escalonamentos

ativos e SND o conjunto dos escalonamento sem-atraso. Então, vale a seguinte rela-

ção:

SND ⊆ SA ⊆ SSA ⊆ SV ⊆ SC.

Observações:

• Se se considera uma medida regular de desempenho φ e um escalonamento S’

se obtém a partir de outro, S, por uma operação left shift de uma atividade j,

10 +≤≤ Jj , então S é dominado por S’ com respeito a φ .

• Dentro de um left shift local, cada escalonamento intermediário tem de ser viável,

por definição.

• Um left shift global de j, 0 ≤ j ≤ J+1, obriga STj - 'jST > 1

• Um escalonamento semi-ativo, em geral não único, pode ser gerado a partir de

um escalonamento viável por uma sucessão de left shift locais.

Finalizando a seção, é de importância salientar que Sprecher et al. (1995) provam

que, quando se considera uma medida regular de performance, o conjunto dos esca-

lonamentos sem-atrasos pode não conter um escalonamento ótimo.

3.3 Métodos para Resolução do PSP

Se o PSP é irrestrito no que se refere aos recursos e tão somente restrições de pre-

cedência devem ser observadas, o problema torna-se polinomialmente solucionável

por um simples algoritmo de recursão avante, no qual cada atividade é programada

em seu tempo mais cedo, tendo em conta as relações lógicas da rede associada.

Em razão disso, esta seção trata apenas de solução do problema restrito no sentido

amplo, tema central do presente trabalho.

Adiante se faz uma breve revisão das estratégias mais eficazes difundidas pelos

pesquisadores, com ênfase nos anos 90, inicialmente para o RCPSP seguido do

MRCPSP. Para um histórico do assunto até o início da década dos 70, veja-se o mi-

nudente trabalho de Davis (1973). A partir dos 70 e até início dos 90, sugere-se

como fonte de consulta o artigo de Icmeli et al. (1993). Circunscreve-se a investiga-47

Page 64: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

ção aos métodos que se dedicam àqueles problemas cujo objetivo é a minimização

do makespan que, como se vê nos próximos capítulos, é o escopo do estudo de

caso. Ademais, por igual motivo, métodos de solução heurística são discutidos mais

detidamente.

Os métodos de solução do PSP, para efeito didático, podem ser enquadrados em

uma dentre duas vertentes: exatos e aproximados.

Métodos de Solução Exata

Nesse caso, a meta é o calculo da solução ótima da função objetivo. Os métodos de

solução exata (ou, simplesmente, métodos exatos) têm sido usados mais freqüente-

mente para geração de soluções benchmark, em face da natural dificuldade de cál-

culo da solução ótima do problema (cf. Anexo).

As estratégias até agora utilizadas para a minimização do makespan são do tipo:

programação dinâmica, programação zero-um e esquemas de enumeração implícita

com branch & bound. Ultimamente, em razão de seus resultados superiores, há um

nítido predomínio dos métodos enquadrados neste último tipo, o qual pode ser resu-

midamente descrito como se segue:

Método branch&bound

Suponha-se o problema de seqüenciar n tarefas independentes em um processa-

dor, dispondo-se de uma função com a qual se possa calcular o valor numérico da

solução, i. é, a qualidade do escalonamento. O método branch&bound inicia por ge-

rar uma árvore de decisão com n ramos, representando as n opções possíveis para

o primeira tarefa a ser executada, compondo assim o primeiro nível. Ato contínuo,

cada ramo do primeiro nível se ramifica (branch) também, nesse caso n-1 vezes,

construindo o segundo nível, para cobrir todas as possíveis alternativas das n-1 tare-

fas remanescentes como a segunda a ser processada. Prosseguindo-se dessa for-

ma, sucessivamente, até o n-ésimo nível, a árvore atinge n! ramos, um número que

pode ser gigantesco, a depender, obviamente, da quantidade de tarefas. Em vez,

portanto, de avaliar todas as soluções, o procedimento identifica e suprime (poda)

regiões da árvore nas quais se pode provar não haver solução ótima e, assim, dimi-

nui o espaço de enumeração. Essa fase está associada à operação de fixação de li-

mites (bounding), ao envolver o cálculo de limitantes inferiores/superiores para a so-

lução ótima em cada um dos nós gerados na fase anterior (branching). Sucessiva-

48

Page 65: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

mente analisando e podando partes da árvore, o método termina por encontrar a so-

lução exata (se não se esgotar antes o tempo computacional preestabelecido).

Métodos de Solução Aproximada

Os procedimentos cujo propósito é o cômputo de soluções tão próximas quanto pos-

sível da solução exata dizem-se métodos de solução aproximada (ou, simplesmente,

métodos aproximados ou sub-ótimos). Também, freqüentemente, são referidos me-

ramente como heurísticas.

Heurística é uma técnica que tenta a resolução de problemas matemáticos via busca

de soluções sub-ótimas, em um razoável custo computacional, sem ser capaz de ga-

rantir otimalidade, nem indicar o quão próximo do ótimo a solução encontrada está.

Anos atrás, decidir-se por abordagem heurística era encarado como, por assim di-

zer, admissão de derrota. Mas, de há muito, já se sabe que a maioria dos problemas

combinatórios de escalonamento são inescapavelmente intratáveis (Garey & John-

son, 1979). “Se se insiste em algoritmos que garantidamente encontrem soluções

ótimas, o atual estado da arte tem somente respostas exponenciais para oferecer.

Por isso, é sem surpresa que a maior parte dos algoritmos para escalonamento são

heurísticos por natureza”, argumenta Schirmer, 1998.

Estratégias heurísticas para o PSP, tendo makespan como objetivo, basicamente

enquadram-se em quatro metodologias: escalonamento baseado em regra de priori-

dade, branch&baund truncado, conceitos de arcos disjuntivos e abordagens meta-

heurísticas12.

Métodos baseados em regra de prioridade

Ainda representam a classe mais importante, a despeito de serem já bastante anti-

gos. Isso se deve, entre outras razões, à sua facilidade na elaboração e implementa-

ção e baixo custo computacional, em termos de tempo e memória. Essa característi-

ca permite integrá-los como sub-rotinas rápidas em abordagens meta-heurísticas

mais sofisticadas. Em verdade, a imensa maioria de programas comerciais de ge-

renciamento de projeto basea-se em simples regras de prioridades (Kolisch 1996a).

Uma estratégia desse tipo para solução do PSP é formada por dois componentes:

uma regra de prioridade e um esquema de geração de escalonamento. Quanto aos

12 Procedimentos que, tipicamente, exploram o conhecimento adquirido com a avaliação de soluções previamente visitadas.

49

Page 66: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

esquemas de geração de escalonamento, dois tipos se distinguem (cf. seção 5.x): o

método em série ou serial e o método em paralelo. Compostos de J estágios, ambos

terminam por gerar um escalonamento viável, à medida que acrescentam atividades

a um escalonamento parcial. A cada estágio, o esquema constrói o conjunto de to-

das as atividades escalonáveis, chamado conjunto de decisão. Uma atividade é en-

tão tomada desse conjunto, utilizando como critério de escolha uma regra de priori-

dade específica. Kolisch – 1996b demonstra que, enquanto o esquema em série

gera escalonamentos ativos, o esquema em paralelo produz escalonamentos sem-

atrasos. A depender do número de escalonamentos gerados, um procedimento ba-

seado em regras de prioridade pode ser classificado em monopasse, produzindo

apenas uma solução, ou multipasse, para geração de mais de uma solução.

Branch&bound truncado

Análogo ao esquema enumerativo branch&bound já descrito mas, em vez de rastre-

ar toda a árvore de enumeração, conduz apenas uma exploração parcial. Desse

modo, o processamento é interrompido tão logo seja atingido um critério de parada e

retorna a melhor solução, não necessariamente a exata (e.g., Alvares-Valdés & Ta-

marit, 1996).

Algoritmos de arcos disjuntivos

Utilizam a metodologia desenvolvida por Balas–1969 [13] para o JSP. A idéia básica

por trás das abordagens derivadas é estender as relações de precedência (o conjun-

to dos arcos conjuntivos) ao se acrescentarem arcos adicionais (os arcos disjunti-

vos). Essa fase se dá de maneira que os conjuntos de atividades tecnologicamente

independentes, mas que não podem ser escalonadas simultaneamente por limitação

de recursos (conjuntos proibidos mínimos) sejam destruídos. Desse modo, o escalo-

namento de menor tempo mais cedo se mantém viável em precedência e recursos.

Estratégias meta-heurísticas exploram o espaço viável de modo global e surgiram

em anos recentes. As de maior destaque são Busca Tabu (TS) –Tabu ou Taboo Se-

arch – , Simulated Anealing (SA), GRASP (Feo e Resende, 1994) e Algoritmos Ge-

néticos (GA) (Goldberg, 1989). Estas duas últimas são descritas no capítulo 5, en-

quanto adiante se faz um resumo funcional das duas primeiras.

Busca Tabu

50

Page 67: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Trata-se de um método de busca local que surgiu a partir do trabalho precursor de

(Glover, 1989 e 1990). Uma lista tabu é um conjunto de soluções definidas por infor-

mações das últimas iterações do procedimento. O número de elementos desse con-

junto é um valor fixo ou estipulado pela estado da busca ou de um problema em par-

ticular. Dada uma solução e sua vizinhança, o algoritmo faz mover para uma outra

solução da vizinhança que apresenta melhor valor para a função objetivo. Contudo,

movimentos que levam a uma solução da lista tabu são proibidos, i.e., são tabu, o

que previne que o método reexamine soluções mais recentemente visitadas. Se não

houver movimento que melhore a solução corrente, a busca tabu executa aquele

que introduz menor mudança no valor da função objetivo.

Um elemento básico na busca tabu é o chamado critério de aspiração, o qual define

quando um movimento, embora constante da lista tabu, é permitido. Todo esse me-

canismo permite avaliar maior número de ótimos locais, o que faz crescer a possibili-

dade de cálculo de solução ótima global. Um critério de parada, além do tempo de

execução e número total de iterações, pode ser imposto por um limite no número de

movimentos consecutivos com os quais não se produz mais nenhuma melhoria.

Simulated Anealing

O método foi proposto por Kirkpatrick et al. (1983) e tem sido amplamente aplicado

na solução aproximada de problemas de otimização. É inspirado na analogia entre a

mecânica estatística e a otimização combinatória e, portanto, tem origem bem diver-

sa da busca tabu mas, em comum, ambos os métodos são fundamentalmente con-

cebidos para evitar ou escapar de ótimos locais.

O termo annealing refere-se ao resfriamento e recristalização de material em proces-

sos de sistemas térmicos. A matéria, inicialmente aquecida além de seu ponto de fu-

são, tem sua temperatura baixada paulatinamente, com base em uma programação

específica (annealing scheduling), até que a vizinhança da temperatura de solidifica-

ção seja alcançada, na qual o sistema atinge o seu estado de energia mínima

(ground state). Em última análise, o método SA é uma simples abordagem Monte

Carlo (cf. Hillier, 1995) que simula o comportamento do sistema para alcançar o

equilíbrio térmico a uma determinada temperatura em uma dada programação de

resfriamento.

3.3.1 Algoritmos de Solução Exata para o RCPSPExemplos de procedimentos elaborados para minimização do makespan são:

51

Page 68: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

• programação dinâmica (Carruthers & Battersby, 1966);

• programação zero-um (Pritsker et al.,1969 e Patterson & Huber, 1974);

• esquemas de enumeração implícita com branch&bound (Talbot & Patterson,

1978; Stinson et al., 1978; Christofides et al.,1987; Demeulemeester et al., 1996;

Simpson & Patterson, 1996).

Segue-se uma rápida discussão a respeito de alguns algoritmos que foram ou são

estado-da-arte e dedicados ao PS | prec | Cmax.

No algoritmo de enumeração de Talbot & Patterson (1978) as atividades são ordena-

das numa lista respeitando as relações de precedência. Partindo da primeira tarefa

da lista, o processo de enumeração tenta escalonar a próxima atividade da lista o

mais cedo possível dentro de sua janela temporal e observando limitações de prece-

dência e recursos. A enumeração básica é incrementada por cortes de redes que fa-

cultam podar uma parte da árvore de enumeração. Simpson & Patterson (1996) im-

plementam este algoritmo em processadores paralelos.

O algoritmo de Stinson et al. (1978) é do tipo branch & bound baseado na árvore de

enumeração desenvolvida originalmente para o RCPSP com recurso único. Cada nó

da árvore representa um escalonamento parcial viável. A seleção dos nós é gover-

nada por um conjunto de seis regras de prioridades.

Demeulemeester et al. (1996) apresentam uma extensão da abordagem de Christofi-

des et. al. (1987). Comparado com o método anterior, de Stinson, se diferencia prin-

cipalmente pela árvore de enumeração, na qual novos nós são criados considerando

o conjunto das atividades que são adiadas, em vez daquelas que são escalonadas.

Brucker et. al. (1998b), valendo-se da experiência adquirida em trabalho para o am-

biente job shop , sugerem uma abordagem branch & bound completamente nova,

quando introduzem um conceito inédito de relações para pares de tarefas: conjunti-

va, para pares que não apresentam precedência; disjuntiva para tarefas que não po-

dem ser processadas simultaneamente por limitações de recursos; paralela, para

pares que têm que ser executados simultaneamente pelos menos em um período e,

finalmente, flexibilidade, para pares que não guardam nenhuma das relações anteri-

ores. O método utiliza três tipos de limitantes inferiores: programação linear com re-

laxação de restrições; metodologia de job shop de duas máquinas ; e seqüência criti-

ca de Stinson et al. (1978).

52

Page 69: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Sprecher (1997) adapta seu procedimento exato originalmente criado para o PSP

multimodo e o aplica para o caso RCPSP, sendo o método mais competitvo hoje dis-

ponível.

3.3.2 Algoritmos de Solução Aproximada para o RCPSPApresenta-se uma revisão sucinta dos algoritmos desenvolvidos para minimização

do makespan:

Procedimentos baseados em regras de prioridades

Referências de trabalhos onde se utilizam os esquemas em série e em paralelo, tan-

to monopasso quanto o multipasso, podem ser encontrados no alentado trabalho de

Kolisch & Padman (1997). O emprego do método paralelo em um único passo é

mais freqüente do que o serial.

Kolish & Drexl (1996) propõem um procedimento de busca adaptativa que é uma va-

riação do caso multipasso baseado nos esquemas de geração em série e em parale-

lo. Mausser & Lawrence, (19XX), empregam o método paralelo para gerar uma solu-

ção viável em conjunto com estrutura de blocos para melhorar o makespan do esca-

lonamento. Na tentativa de diminuir o tamanho do projeto, o procedimento basica-

mente reescalona blocos individuais.

Procedimentos baseados em branch & bound truncado

Em Alvares-Valdés & Tamarit (1996), os nós consistem de conjuntos de atividades

que têm que ser atrasadas. Em vez de enumerar todos os nós descendentes, o pro-

cedimento, implícita ou explicitamente, elege um nó. Basicamente, nessa heurística

o mecanismo de geração da árvore de enumeração é o mesmo daquele mostrado

em Demeulemeester & Herroelen (1992) e sugerido em sua essência por Christofi-

des et al. (1987).

Procedimentos baseados em Arcos disjuntivos

Exemplos de aplicação podem ser encontrados em Shaffer et al. (1965), Bell & Han

(1991) e Alvares-Valdés & Tamarit (1996). Shaffer et. al. (1965) restringem o escopo

para os conjuntos proibidos nos quais todas as atividades no escalonamento mais

cedo são processadas ao mesmo tempo. Alvares-Valdés & Tamarit (1996) sugerem

quatro diferentes modos de destruir o conjunto mínimo proibido. Bell & Han (1991) 53

Page 70: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

apresentam um algoritmo de duas fases. A primeira fase é similar à estratégia de

Shaffer et al. (1965) e a segunda tenta melhorar o resultado gerado na primeira ao

remover arcos redundantes, cancelar as atividades do caminho crítico e repetir a pri-

meira fase.

Procedimentos meta-heurísticos

A abordagem de busca local desenvolvida por Storer et al. (1992) para o ambiente

job shop é explorada nos trabalhos de, e.g., Leon & Balakrishnan (1995) e Cho &

Kim (1997), de modo a adaptá-la ao RCPSP. Essencialmente, se codifica a solução

como uma lista de números que atribui a cada atividade um valor de prioridade. Ao

se utilizar essa lista em um esquema de geração de escalonamento obtêm-se uma

solução viável e um valor para o makespan. Este tipo de codificação pode ser apro-

veitado para diferentes tipos de métodos de busca local tais como busca tabu, simu-

lated annealing, algoritmo genético e GRASP.

Hartmann (1997b) propõe um algoritmo genético cuja codificação é baseada em per-

mutação que contém conhecimento específico do problema e o compara favoravel-

mente com outros dois: o algoritmo genético de Lee & Kim (1996), que utiliza uma

codificação baseada no valor da prioridade e com o método de Özdamar (1996),

adaptado para o RCPSP, que se baseia numa representação de regras de priorida-

de.

Baar et al. (1997) propõem dois algoritmos de busca tabu que diferem pelas vizi-

nhanças. Um codifica uma solução como uma lista de atividades que pode ser con-

vertida em um escalonamento fazendo uso do esquema de geração em série; o ou-

tro algoritmo gera sua vizinhança a partir da solução utilizando o método de Brucker

et al. (1998b).

Relatos de comparação entre os métodos aproximados dão conta de que atualmen-

te os que apresentam melhores resultados são o algoritmo de busca adaptativa de

Kolisch e Drexl (1996), a busca tabu de Baar et al. (1997), o algoritmo genético de

Hartmann (1997b) e o método de simulated annealing de Bouleimen & Lecocq

(1998). Segundo resultados de testes conduzidos por Kolish & Hartmann (1998),

avaliando performance de heurísticas em instâncias maiores, os algoritmos de Hart-

mann (1997b) e Bouleimen e Lecocq (1998) são os mais promissores entre os aqui

examinados. Não obstante, mais recentemente, Hartmann (1999) idealizou uma

heurística evolucionária que supera em desempenho todos os métodos até agora 54

Page 71: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

disponíveis para solução do PS | prec | Cmax. Trata-se de um algoritmo genético que,

ao mesmo tempo em que avalia uma solução e tende a computar outra de melhor

qualidade, também escolhe automaticamente o procedimento mais adequado para

resolver o problema, com base no conhecimento específico da instância e, por isso,

recebeu o qualificativo de auto-adaptável.

3.3.3 Algoritmos de Solução Exata para o MRCPSP

Todos os procedimentos exatos para o problema MPS | prec | Cmax são extensões de

métodos branch&bound originalmente propostos para solução do PS | prec | Cmax.

Com base em seu trabalho anterior (Talbot & Patterson, 1978), Talbot (1982) propõe

uma estratégia de solução heurística de duas fases. Na fase um, tarefas, modos e

recursos renováveis são selecionados de sorte que se possa acelerar o procedimen-

to de enumeração da fase seguinte. Na fase dois se emprega uma lista de ativida-

des e se escolhe a próxima atividade da lista para ter início o mais cedo e em seu

modo de menor duração. Alguns trabalhos posteriores são refinamentos deste méto-

do. Hartmann & Drexl (1997) generalizaram o procedimento exato de Stinson et al.

(1978) para o contexto multimodo. Sprecher et al. (1997) estendem o esquema de

enumeração de Demeulemeester & Herroelen (1992) para o caso multimodo, sendo

o método que atualmente apresenta melhor desempenho.

Muito embora amplamente estudados, tais métodos têm apenas limitada aplicação

em vista de sua incapacidade para resolução de problemas de grande porte, mais

comuns no mundo real. Em geral, falham ao tentar resolver instâncias com mais de

15 atividades (Kolisch & Drexl, 1997), daí mais largo emprego de métodos heurísti-

cos.

3.3.4 Algoritmos de Solução Aproximada para o MRCPSPHeurísticas para este caso, no mais das vezes, empregam:

• regras de prioridade;

• simulated annealing;

• algoritmo genético.

55

Page 72: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Procedimentos baseados em regras de prioridades

Boctor (1993), em seu método do tipo multipasso, emprega um esquema de geração

em paralelo modificado, no qual uma atividade está no conjunto de decisão se for

viável nos recursos em pelo menos um modo. A escolha das tarefas é governada

pelos modos de menor duração e pela regra de prioridade MSLK (cf. seção 5.2).

Drexl & Grünewald (1993) sugerem uma abordagem de amostragem aleatória ten-

denciosa referida como regret-based. O valor regret de um candidato j mede, no pior

caso, as conseqüências que poderiam advir da escolha de outro candidato. Valem-

se da regra de prioridade SPT e do esquema de geração em série e é considerado o

esquema de amostragem de melhor desempenho. Slowiński et al. (1994) sugerem

uma estratégia multicritério em seu sistema de apoio à decisão (DSS) para o

MRCPSP com objetivos de tempo e custo. O método é fundamentado em três tipos

de heurísticas com base em regras de prioridade, simulated annealing e branch &

bound. Seu ponto chave é a lista de atividades, viável em precedência, e construída

a partir de uma entre doze regras de prioridades. O DSS foi proposto antes como um

protótipo, com o que não se relata nenhum experimento computacional rigoroso.

Özdamar & Ulusoy (1995) ampliam sua abordagem de análise baseada em restrição

local para resolver o caso multimodo com |N|=1. O método usa um esquema de es-

calonamento paralelo para decidir via as assim chamadas condições essenciais qual

par atividade-modo deve ser escolhido. Os autores relatam resultados que são con-

sistentemente melhores que métodos monopasso baseados em regra de prioridade

e também superior a um do tipo multipasse. A abordagem baseada em restrição so-

fre de duas desvantagens: (1) a complexidade no tempo do pior caso é exponencial

e (2) mostra-se inadequada para problemas mais restritos no que tange a múltiplos

recursos não-renováveis.

Kolisch & Drexl (1997) apresentam um procedimento de busca local que especial-

mente leva em conta recursos não-renováveis escassos. O método inicialmente ob-

tém uma atribuição de modos viável seguido de uma busca local executada na de-

signação dos modos. Cada atribuição viável dos modos é avaliada pelo algoritmo de

busca adaptativa dos mesmos autores (1996).

56

Page 73: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Procedimentos meta-heurísticos

Slowiński et al. (1994) foram o pioneiros na tentativa de utilizar o simulated anealing

para solução do PSP multimodo. Com base na lista de escalonamento, eles suge-

rem uma vizinhança de intercâmbio aos pares onde uma nova lista é gerada ao per-

mutar as posições de duas atividades escolhidas aleatoriamente que não sejam de-

pendentes. O esquema de geração de escalonamento em série é utilizado para con-

verter a lista num escalonamento. Boctor (199X) também sugere um método basea-

do em simulated annealing que opera em uma lista de escalonamento. A abordagem

é de substituição de vizinhança, na qual uma tarefa eleita ao acaso é deslocada para

uma nova posição na lista que seja viável em precedência.

Özdamar (1996) elabora um algoritmo genético que parte de idéias de Storer et al.

(1992). Uma solução é representada por duas listas, cada um das quais com J+1

componentes. A primeira define o modo de execução para cada tarefa; a segunda

lista especifica, para cada uma das J+1 iterações do esquema de geração em para-

lelo, a regra de prioridade com a qual uma atividade é selecionada do conjunto de

decisão.

No algoritmo genético de Hartmann (1997a), um indivíduo é representado também

por duas listas. Uma lista de atividades viáveis em precedência e a segunda de de-

signação dos modos. Com base em ambas as listas, o procedimento produz um es-

calonamento fazendo uso do esquema de geração em série. Novos indivíduos são

criados por cruzamento ao se extrair parte da informação genética da “mãe” e a par-

te complementar a partir do “pai”. O método genético de Mori & Tseng (1997) é aná-

logo.

Hartmann (1997a) registra excelentes resultados obtidos com seu algoritmo evoluci-

onário. Ele o compara com os algoritmos de Kolisch e Drexl (1997) e Özdamar

(1996). O método de Hartmann produz um desvio médio de 0,22% do makespan óti-

mo de um conjunto de instâncias-padrão de teste. As estratégias de Kolisch & Drexl

(1997) e Özdamar (1996). apresentaram desempenhos semelhantes com desvio

médio de mais de 0,8%. Assim, o algoritmo genético de Hartmann exibe um desvio

médio que se mostra aproximadamente 4 vezes inferior ao dos outros dois métodos

heurísticos cotejados. É o método aproximado que computa os melhores resultados

atualmente para solução do MRCPSP.

57

Page 74: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Para concluir a subseção, registre-se que, em menor medida, heurísticas baseadas

em programação inteira também têm sido utilizadas. Como exemplo, veja-se Oğuz &

Bala (1994). Além disso, os últimos tempos têm assistido à emergência de estratégi-

as para solução de problemas de Pesquisa Operacional fundadas em abordagens

concebidas para o campo da Inteligência Artificial (IA) (cf. Wall, 1996). No que se re-

fere a escalonamento de tarefas, e.g., Schimer (1998) desenvolve um método de se-

leção de algoritmos para solução do RCPSP que compila experiência e subsídios de

casos passados (ou seja, instâncias) para solução de novos casos. Trata-se de apli-

cação do chamado case-based reasoning (CBR) , que originalmente não foi desen-

volvido para problemas matemáticos. Com o emprego do CBR, Schirmer (1998) de-

monstra os benefícios da seleção algoritmo mais adequado para uma dada instân-

cia, função de alguns de seus parâmetros como tamanho e fator recurso (RF).

3.4 O Caso do PSP com Duração Estocástica das Atividades

Até aqui, todos os métodos e modelos examinados assumem tempos determinísti-

cos de execução das tarefas do projeto. Contudo, muitas vezes, em projeto da vida

real, não basta calcular bons escalonamentos baseados em tempos determinísticos

de execução porque tal pressuposto raramente se confirma, i.e., os tempos de pro-

cessamento diferem substancialmente do previsto. Tais tempos são apenas estima-

ção e, portanto, sujeitos a inúmeros imprevistos que os afetam, gerados por fatores

intercorrentes (atrasos de toda ordem, e.g., condições climáticas e impedimentos le-

gais ).

De modo a contornar os inconvenientes emanados do imponderável, assume-se que

o tempo de execução é uma variável aleatória dj com o que se tem d = (d1, d2 ,..., dJ)

como vetor (aleatório) dos tempos de processamentos com distribuição de probabili-

dade P (GG joint probability distribuition), suposta conhecida a priori, embora haja

métodos de solução que dispensam este pressuposto. Adicionalmente, entre os dife-

rentes tempos individuais dj pode haver dependências estocásticas que são repre-

sentadas pela distribuição P. O problema estocástico de escalonamento daí resul-

tante se denota PS | prec, pj = sto | Cmax.

A importância de se tomar em conta a natureza probabilística das durações no pla-

nejamento do projeto fica patente quando se observa que, nos métodos deteminísti-

cos, há uma sistemática subestimação do valor do makespan, mesmo quando se

58

Page 75: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

dispõe de recursos ilimitados. O makespan determinístico, computado a partir do va-

lor esperado dos tempos de processamento, E(dj), é menor que o valor esperado do

makespan, ou seja,

Cmax(E(d1), ... E(dJ)) ≤ E(Cmax (d1, ... ,dJ)),

que pode se tornar arbitrariamente grande com o aumento do número de atividades

reais J, ou, para J fixado, com o incremento da variância dos tempos de processa-

mento (Heller, 1981).

É de se notar que a técnica PERT (cf. subseção 2.3.3) tenta capturar aproximada-

mente a natureza estocástica das durações das tarefas para casos de recursos infi-

nitos, portanto pouco realistas. Para uma revisão abrangente dos modelos e méto-

dos para casos probabilísticos, com recursos limitados ou ilimitados, veja-se Brucker

et. al. (1998a). Conquanto de especial relevância, casos estocásticos não se incluem

no escopo do presente trabalho.

3.5 O Caso do PSP com Tarefas Preemptivas

Um pressuposto fundamental nos modelos e métodos ótimos e sub-ótimos discuti-

dos até agora é que as tarefas são não-preemptivas. Melhor dizendo, os modelos

clássicos de PSP não consideram os casos de preempção, em que as tarefas po-

dem ser interrompidas numa fase intermediária de sua execução e, posteriormente,

retomadas. Como conseqüência, muito pouco se conhece dos benefícios em poten-

cial que eventualmente poderiam surgir com esta possibilidade de interrupção no

processamento. A introdução de preempção nos problemas de escalonamento de

tarefas aumenta extraordinariamente o número de soluções viáveis.

A literatura sobre este assunto é quase inexistente. Digno de nota é o trabalho de

Demeulemeester & Herroelen (1996), que desenvolvem um procedimento B&B para

o RCPSP sob disponibilidade constante e variável dos recursos e que permanece

como um dos poucos procedimentos dedicados ao modelo. Considera-se que o pro-

cessamento das atividades pode ser suspenso temporariamente, a qualquer instante

de tempo discreto, e reassumido posteriormente com zero custo de tempo de set

up13. Slowiński (1980) e Weglarz (1981) também sugerem métodos exatos para o

caso preemptivo. Contudo, consideram o modelo que prevê tempo contínuo de exe-

cução, e não discreto, para o processamento das diferentes tarefas, o que pode não

13 No caso, tempo de set up compreende o período que vai da decisão de se reiniciar a execução de uma tarefa até sua retomada efetiva, i.e., tempo de preparação.59

Page 76: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

ser válido em circunstâncias reais. Considerações de ordem prática podem exigir

tempos discretos de execução das tarefas. Até onde se sabe, a literatura não regis-

tra pesquisa que cuide do caso PSP multimodo e tarefas preemptivas.

3.6 Novos modelos para o PSP

Recentemente idealizados, existem dois modelos que retratam de forma mais preci-

sa duas condições de tarefas não-preemptivas de projetos que ocorrem com

freqüência na prática (Drexl et al., 1998). Trata-se dos casos em que se têm (1) re-

cursos parcialmente renováveis e (2) identidade de modo de tarefas. Ambos são no-

ções que implicam substancial extensão dos conceitos comuns de programação de

atividades.

(1) Quando se tem que observar disponibilidade variável de recursos, a saber, res-

trição de capacidade dos recursos para subconjuntos de períodos, o modelo cons-

truído é referido como problema de escalonamento de projeto com restrição de re-

cursos parcialmente renováveis (RCPSP/π). Isso constitui uma generalização dos

modelos mais comuns de PS | prec | Cmax e substitui com vantagens todos os tipos

de recursos escassos, tais como os renováveis e os não-renováveis. O conceito tor-

na-se ferramenta valiosa para, e.g., facilitar a solução de problemas de escalona-

mento de horário (timetable) e turnos de revezamento. Além disso, Schirmer & Drexl

(1997) demonstram que recursos parcialmente renováveis podem ser empregados

para expressar numerosos tipos de relações lógicas no escalonamento de tarefas.

Também vários requisitos práticos podem ser modelados, tais como cotas mínimas

e máximas, bem como matéria referente a calendário.

60

Page 77: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

(2) A identidade de modo significa uma expressiva ampliação no tratamento do caso

multimodo, onde o conjunto de todas as atividade é particionado em subconjuntos

disjuntos compreendendo todas as atividades que devem ser processadas em um

mesmo modo. No caso convencional, todas as atribuições de modos são mutual-

mente independentes no sentido de que, designando um modo a uma tarefa j, não

obriga que qualquer outra tarefa seja executada de um modo específico. Por vezes,

isso não é interessante e, na prática, ocorrem situações em que mais de uma ativi-

dade devem ser executadas de um mesmo modo. Isso deu ensejo ao assim chama-

do problema de escalonamento de projeto com restrição de recursos e identidade de

modo (MIRCPSP), introduzido na literatura de escalonamento de projeto por Salews-

ki et al. (1996). Nesse artigo também se prova que o MPS | prec | Cmax é caso especi-

al daquele mais geral, com identidade de modo. Como exemplo, a situação de esca-

lonamento de estafe de auditores é uma aplicação mais imediata.

61

Page 78: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Capítulo 4Onde se modela o caso em estudo e se geram as instâncias de teste

O PSP de Alocação de Recursos Críticos na E&P de Petróleo

m vista das peculiaridades geológicas de seu território, os novos projetos de

exploração e produção (E&P) da indústria de petróleo no Brasil compartilham,

entre outras, duas tendências marcantes: crescimento em número e, cada vez mais,

locações marítimas, notadamente em águas ultraprofundas. Sucede que a explora-

ção e a produção nessas circunstâncias é sempre muito complexa e dispendiosa.

E

Como desde sempre, os recursos mais escassos continuam sendo os financeiros e

baixar custo torna-se crucial no acúmulo de vantagens competitivas entre as empre-

sas em geral, particularmente as companhias de petróleo. Nestas últimas, a maior

parte do orçamento se destina às atividades diretas de E&P, principalmente com dis-

pêndios para contratações, de serviços e de equipamentos, via de regra pagas em

moeda forte. De outro lado, o fator tempo nos projetos atuais assume especial rele-

vância, também em face das exigências contratuais, por parte da ANP14, vinculadas

a prazos de pesquisa das áreas de concessão nas bacias sedimentares.

É precisamente isso que torna oportuno o presente estudo de caso de uma compa-

nhia de petróleo: otimização da programação dos recursos críticos no gerenciamen-

to de projetos de E&P com conseqüente redução de tempos e custos. Melhor dizen-

do, o caso do PSP objeto de estudo se traduz na definição do melhor seqüencia-

mento das operações em campos15 marítimos de petróleo, com vistas a atender as

metas de produção e estratégia de implantação dos novos projetos, implicando tem-

pos e custos mínimos. Esses temas – gerenciamento de projeto e otimização –,

14 Agência Nacional do Petróleo, autarquia reguladora da indústria do petróleo.15 Campo de petróleo é uma área produtora com vários poços. Província petrolífera é a denominação para uma determinada região produtora, que reúne campos de petróleo e/ou gás natural.62

Page 79: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

quando focados em petróleo, têm despertado crescente interesse nos pesquisado-

res. Os trabalhos de Chung & Carroll (1995), Harding (1997), Zaver (1998), Cortes

(1998) e Turner et al. (1998) são exemplos disso.

Indispensáveis à execução das atividades mencionadas, os – assim chamados no

contexto dos projetos de E&P em consideração – recursos críticos são extremamen-

te caros e, por isso, exigem especial atenção no que concerne ao controle dos gas-

tos globais do projeto. Como exemplo, algumas unidades flutuantes de perfuração.

Trata-se de equipamento de vanguarda tecnológica e porte gigantesco, contratado

de firmas estrangeiras, cujo custo diário pode alcançar cifras além de US$

150,000.00.

Objetivando rigor descritivo e entendimento preciso, sempre que surgem no texto, os

termos da indústria de petróleo sublinhados a seguir devem ser entendidos confor-

me a definição oficial que se lhes sucede:

• Exploração : conjunto de operações ou atividades destinadas a avaliar áreas, ob-

jetivando a descoberta e a identificação de jazidas de petróleo ou gás natural;

• Desenvolvimento : conjunto de operações e investimentos destinados a viabilizar

as atividades de produção de um campo de petróleo ou gás;

• Produção : conjunto de operações coordenadas de extração de petróleo ou gás

natural de uma jazida e de preparo para sua movimentação.

Doravante se tem um detalhamento do PSP estudado e das instâncias criadas para

reproduzi-lo. Para tanto, o capítulo assume a estrutura seguinte: na seção 4.1 o pro-

blema é modelado física e matematicamente; um breve histórico de conjuntos de

instâncias fictícias de testes para problemas correlatos e sobre seus software gera-

dores é feito na seção 4.2; na seção 4.3, o código gerador empregado, denominado

ProGen, tem suas características funcionais descritas juntamente com os parâme-

tros de problemas inerentes; por fim, detalham-se na seção 4.4 as instâncias de tes-

tes produzidas sob medida para o caso em estudo e com o intuito de verificação de

desempenho das heurísticas implementadas, de que trata o capítulo próximo.

63

Page 80: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

4.1 Modelagem do ProblemaCom o propósito de posteriormente se reproduzir nas instâncias de teste, com sufici-

ente fidelidade, sua real estrutura, o PSP considerado tem sua modelagem física e

matemática nos seguintes termos:

4.1.1 Modelo FísicoA caracterização se refere a projetos de exploração e desenvolvimento de campos

produtores da plataforma continental, tais como os da bacia de Campos, localizada

na costa nordeste do estado do Rio de Janeiro e maior província petrolífera do Bra-

sil, responsável por três quartos de sua produção de hidrocarbonetos. Portanto, so-

mente locações no mar (offshore) são levadas em conta.

As atividades típicas inerentes ao problema são:

• Perfuração de poços;

• Completação16 de poços;

• Instalação de Arvore de Natal Molhada17 (ANM);

• Lançamento de dutos;

• Interligação de poços.

Exemplos dos principais recursos críticos (processadores) utilizados para a consecu-

ção das atividades são:

• Plataformas de perfuração;

• Navios de perfuração;

• Barcos de lançamento de linha.

Levando em conta sua natureza não-consumível, todos os recursos são enquadra-

dos na categoria dos renováveis (cf. seção 3.2.1). Plataformas e navios de perfura-

ção são referidos indistintamente como sondas. As atividades são supostas com du-

ração determinística discretizada em quantidades inteiras, definida a priori como

dado de entrada.

Um diagrama de rede genérico, do tipo AON, aplicável ao caso é delineado na figura

4.x. Em geral, as atividades guardam relação de precedência; por exemplo, a com-

pletação somente pode ocorrer uma vez perfurado o poço. Todavia, quando as ativi-

dades de intervenção citadas se dão em locações distintas, tornam-se independen-

tes, ou seja, não envolvem relação de precedência. Por isso, a rede associada é do 16 Soma de algumas atividades intermediárias conduzidas entre a perfuração e a produção de um poço.17 Conjunto submerso de válvulas, acoplado à cabeça do poço produtor para manobras de movimen-tação de fluidos. 64

Page 81: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

tipo em série (ou em cadeia), não apresentando precedência “cruzada”. Uma

seqüência de atividades começando em j=0 e terminando em j=J+1 representa um

poço, que disputa recursos com os demais. Essa característica, como se comenta

adiante, faz crescer demasiadamente o espaço de busca do problema de otimização

associado.

Tome-se como exemplo uma instância monomodo18 de pequeno porte: supondo 7

poços, cada um com 4 tarefas, num total de J = 28 tarefas, o número de escalona-

mentos viáveis existentes equivaleria a (7(28-7).7!) = 2,815.1021. Seja tentar resolver tal

problema por enumeração explícita, i.é, varrer todo o espaço viável em busca da so-

lução ótima, utilizando um computador capaz de avaliar um escalonamento em 10-9

s (um nano-segundo) – apenas por digressão, visto que uma máquina tão rápida cer-

tamente não estará disponível a médio prazo. Nessas circunstâncias, o processo

exigiria mais de 892 séculos para encontrar a solução. Um problema real de gerenci-

amento de projeto numa indústria de petróleo, num horizonte de tempoT equivalente

a um ano, pode facilmente englobar centenas de intervenções. Claramente, a solu-

ção exata de problemas combinatórios dessa complexidade é pouco sensível à evo-

lução na tecnologia de hardware computacional.

18 Se tratado como multimodo, conforme a condição real, o total deve ser multiplicado por ∏=

J

1j jM .

Figura 4.1: Modelo AON genérico do PSP em estudo.

65

Page 82: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

4.1.2 Modelo Matemático

As diferentes locações offshore, alvo das intervenções, apresentam profundidade

que tendem atingir algo em torno de 2000 m. As sondas são de atuação diferencia-

da, conforme sua capacidade de operação, em pequena, média e grande profundi-

dade. As sondas de posicionamento dinâmico, projetadas para operar em poços

mais profundos, também podem ser empregadas nas menores lâminas d’água mas,

logicamente, o contrário não pode acontecer. Conseqüentemente, uma operação, a

depender da profundidade do poço, pode ser executada de até três modos diferen-

tes, refletindo a variação da duração como função dos recursos destinados para

executá-la. É precisamente isso que define os diferentes modos de execução das

atividades e caracteriza o caso como MRCPSP

Sintetizando, semelhante problema de otimização inteira, de código MPS|prec|Cmax,

tem o seguinte enunciado: “Alocar os K recursos renováveis a cada uma das J

tarefas do projeto multimodo de maneira a minimizar sua duração total”. A

formulação matemática correspondente é representada na figura 4.2. O objetivo de

minimizar o makespan é expresso por (1); a restrição (2) obriga a atribuição de

modo e a execução de cada atividade; a obediência às restrições de precedência é

imposta pela restrição (3); em (4), a demanda por período de recursos é limitada à

sua disponibilidade. Sua nomenclatura é MPS|prec|Cmax, i.é, problema de escalona-

mento multimodo tendo o makespan mínimo como função objetivo.

minimizar ∑∑+

+

+

=+

=

=φ1

1

1

,11

)(J

J

J LFT

EFTtmtJ

M

mtxx (1)

sujeito a:

11

=∑∑==

j

j

j LFT

EFTtjmt

M

mx j = 0, ...,J+1 (2)

jmt

LFT

EFTtjm

M

mimt

LFT

EFTt

M

mxdtxt

j

j

ji

i

i

∑∑∑∑====

−≤ )(11

j = 1, ...,J+1, i ∈ Pj (3)

ρρrjmq

1dt

tqjmr

M

1m

J

1jKxk

jmj

≤∑∑∑−+

===r ∈ R, t = 1, ... T (4)

}1,0{∈jmtx j = 0, ...,J+1, m=1, ..., Mj, t = EFTj, ...,LFTj (5)

Figura 4.2: Modelo Matemático MIP do MRCPSP em estudo.

66

Page 83: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

4.2 Conjuntos e Geradores de Instâncias

Nos últimos anos, à medida que eficientes procedimentos computacionais de solu-

ção de problemas eram desenvolvidos, surgiu a necessidade de criação de instânci-

as de dados de problemas fictícias com que compará-los. Consequentemente, pro-

gramas geradores de instâncias apareceram ultimamente de modo a automatizar e

acelerar o processo, grande parte dos quais não experimentou divulgação e libera-

ção. A princípio mais simples, os geradores lançados mais recentemente incorporam

significantes parâmetros de problemas, úteis na sua estruturação. A coleção de ins-

tâncias que guardem determinados característicos em comum forma os conjuntos

que, uma vez reunidos, compõem os chamados bancos de conjuntos de dados.

Conjuntos de instâncias de testeDavis, (1971), com suas 89 instâncias, foi o precursor na geração de problemas arti-

ficiais do PSP para testes e benchmark. Mas, até há pouco tempo, as tradicionais

instâncias de teste para o RCPSP compiladas por Patterson (1984) eram as mais

utilizadas nos trabalhos de escalonamento de projeto (e.g, Bell & Han, 1991; Kolish

& Drexl, 1996; Harding, 1997). Para o objetivo de mínimo makespan, Patterson tam-

bém calculou as soluções ótimas utilizando os algoritmos disponíveis à época. Num

total de 110 instâncias, resultou da coleção de trabalhos anteriores – como o de Da-

vis (1971), que, com suas 89 instâncias, detém o pioneirismo na geração de proble-

mas artificiais do PSP para testes e benchmark. Essas 110 instâncias, referidas

como problemas de Patterson, prestam-se apenas para estudos de minimização do

makespan do RCPSP e sabe-se hoje, são de baixa dificuldade e já não podem ser

consideradas como benchmarck (Demeulemeester & Herroelen, 1992).

Além de ter possibilitado a disponibilidade dos valores ótimos para o makespan, ou-

tro benefício do advento dos problemas de Patterson foi a ampliação do uso do con-

junto de teste para avaliação do métodos ótimos e sub-ótimos. Apresentam, contu-

do, também a desvantagem de as instâncias não terem sido geradas com base em

parâmetros de problemas bem definidos. Tal fato levou Alvares-Valdés & Tamarit

(1996) a produzirem um novo conjunto de teste, contendo 144 instâncias, utilizando

cinco diferentes parâmetros associados aos problemas.

Em resposta à necessidade de problemas completamente parametrizados, Kolisch

et al. (1995) produziram conjuntos de testes para o RCPSP mono e multimodo, o pri-

meiro com 480 e o último com 640 instâncias. Posteriormente, Kolisch & Sprecher 67

Page 84: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

(1996) expandiram esses conjuntos para um total de 10000 instâncias benchmark

para o PSP, atualmente os mais completos disponíveis e amplamente utilizados.

Boctor (1993) também apresenta um conjunto para testes, somente aplicável ao pro-

blema multimodo com recursos renováveis e já pouco utilizado.

Geradores de Instâncias de testeO precursor foi o trabalho de Demeulemeester et. al. (1993), específico para redes

de representação AOA, com forte componente aleatório para um dado número de

arcos e nós. Agrawal et. al. (1996) também introduziu um gerador de instâncias para

redes do tipo AOA onde custos, durações e demanda de recursos associados às ati-

vidades são gerados aleatoriamente a partir de uma distribuição uniforme. No Brasil,

Cavalcante (1998) desenvolveu um gerador específico para o chamado problema de

escalonamento com restrição de mão-de-obra, SPLC, e disponibiliza suas 23 instân-

cias, que buscam reproduzir problemas reais. Em seu imersivo trabalho, com as ins-

tâncias geradas para o SPLC, somadas a mais duas antes já existentes, estuda limi-

tantes e avalia métodos exatos e meta-heurísticas para o problema citado, também

se valendo de processamento em paralelo.

4.3 O Gerador de Instâncias ProGenKolisch et. al. (1995), da Universidade Christian-Albrechts de Kiel, Alemanha, com o

chamado ProGen, foram os primeiros a propor um software gerador de instâncias de

projeto do tipo general purpose, para uma classe geral de diferentes problemas em

uma representação de rede do tipo AON.

Graças a sua versatilidade e abrangência, tal programa cada dia vem ganhando pre-

ferência na utilização de problemas específicos. Pode ser reputado como o mais

abrangente e versátil gerador para problemas de escalonamento de projeto de que

se pode dispor na atualidade. Apresenta a vantagem de poder reproduzir instâncias

sob medida para uma ampla variedade de projetos, porque é plenamente adaptável

às inúmeras especificidade das suas variedades da prática.

O programa é capaz de gerar projetos sujeitos a parâmetros de problema bem defi-

nidos, o que permite discriminar instâncias fáceis daquelas mais difíceis. Diversas

funções-objetivo podem ser consideradas para PSP mono- ou multimodo, ao fazer

distinção entre as categorias dos recursos. O ProGen é citado como fonte de instân-

cias de problemas – com características outras que não aquelas originalmente pro-

68

Page 85: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

duzidas por Kolisch et al. (op. cit.) – em numerosos artigos (cf. Kolisch & Padman,

1997). Para o caso alvo do presente trabalho, também foi empregado o ProGen.

4.3.1 Parâmetros de ProblemaNesta seção, os chamados parâmetros típicos de problemas, exigidos como dados de entrada pelo gerador de instâncias ProGen, são brevemente apresentados. Três conjuntos de teste, para reprodução de problemas de projeto que emulem as condi-ções real situação do PSP em consideração, com 50, 100 e 200 atividades, foram produzidos e utilizados neste trabalho para avaliação de performance relativa das estratégias heurísticas de solução concebidas, descritas no próximo capítulo. Faz-se a seguir apenas uma sinopse de definições dos parâmetros empregados para a cria-ção das instâncias de teste pelo código gerador e, no que se refere à demanda de recursos, apenas a categoria dos renováveis é levada em conta, por ser a única de-mandada no PSP de interesse. Uma descrição pormenorizada dos parâmetros dos problemas de escalonamento pode ser encontrada em Kolisch et al. (1995), fonte primária de consulta da presente seção. Os parâmetros considerados são:

mínJ ( máxJ ): mínimo (máximo) número de atividades reais (não-fictícias) do projeto;

mínjM ( máx

jM ): mínimo (máximo) número de modos pelos quais uma atividade j pode

ser executada (j=1,...,J).

mínd ( máxd ): mínima (máxima) duração de qualquer atividade j (j=1,...,J).

mínR ( máxR ): mínimo (máximo) número de recursos renováveis considerados.

mínN ( máxN ): mínimo (máximo) número de recursos não-renováveis considerados.

mín0S ( máx

0S ): mínimo (máximo) número de atividades de “partida” da rede.

mín1J +P ( máx

1J +P ): mínimo (máximo) número de atividades de “chegada” da rede.

máxjS ( máx

jP ): máximo número de sucessores (predecessores) de uma atividade j

(j=1,...,J).

NC - Complexidade de Rede (Network Complexity) : reflete as restrições na topolo-

gia da rede, i.é, número médio de arcos não-redundantes por vértice e inclui as ativi-

69

Page 86: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

dades fictícias. Foi sugerida por Pascoe (1966) para redes tipo AOA e adaptada por

Davis (1975) para a representação AON. Expressa-se por:

∑+

=+=

1J

1jj2J

1NC P .

Adicionando-se mais restrições de precedência a uma rede, faz-se diminuir o núme-

ro de escalonamentos viáveis para um dado horizonte de tempo. Isso reduz a árvore

de enumeração e torna o problema de mais fácil solução. Com o passar dos anos,

estudos computacionais comprovaram que o problema torna-se mais fácil à medida

que o valor de NC aumenta, com o que o termo complexidade aqui soa inadequado

e causa espécie. Não obstante, vem sendo mantido por vários pesquisadores.

mínRQ ( máx

RQ ): mínimo (máximo) número de diferentes recursos da categoria R – reno-

váveis – demandados pela combinação modo-atividade [j,m], (j=1,...,J).e m=1,...,Mj.

mínrU ( máx

rU ) : mínimo (máximo) nível de uso por período do recurso r ∈ R, por uma

combinação atividade-modo [j,m].

RF : Fator recurso (Resource Factor): real que mede a porção média exigida pela

combinação atividade-modo [j,m] dos diferentes recursos da categoria considerada e

equivale à densidade da matriz tridimensional dos kjmr. Foi introduzido por Pascoe

(1966) e para os recursos renováveis r ∈ R, se calcula por

RFR = >

∑∑∑∈==

0jmrk1,0

Rr

M

1mj

J

1j

j

M1

R1

J1 se

casonoutro .

Dessa forma, RF é normalizado no intervalo [0,1]. Se RF = 1, então cada atividade re-

quisita todos os diferente recursos; se RF = 0, então nenhuma atividade requisita

qualquer recurso, degenerando para o caso irrestrito CPM.

RS - Potência de recurso (Resource Strength): real que reflete a relação entre a de-

manda e a disponibilidade dos recursos, isto é, mede os efeitos da escassez de uma

dada categoria de recursos. Instituído por Cooper (1976), posteriormente foi normali-

zado para o intervalo [0,1] (Kolisch et al., 1995). Define-se como o parâmetro de es-

cala na combinação convexa dos níveis mínimo e máximo de demanda do recurso r,

mínrK e máx

rK respectivamente, que computa sua quantidade disponível Kr:

70

Page 87: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Kr = mínrK + RS ( máx

rK - mínrK ).

Desse modo, se RS = 0 , a disponibilidade dos recursos está em seu nível viável mí-

nimo; se RS = 1, a quantidade dos recursos torna-se grande o suficiente para o pro-

blema tornar-se irrestrito em recursos, como o caso do CPM.

Para o caso dos recursos renováveis, a demanda mínima se calcula como

mínrK = { }

==

ρjmr

M

1m

J

1ikminmax

j

.

A utilização máxima maxrK é calculada como a demanda de pico para o caso do es-

calonamento viável no qual as atividades dependem de recursos para sua execução

e comecem em seu tempo mais cedo. Cada atividade é executada em seu modo de

menor índice – menor duração – que utilize demanda máxima por período do recur-

so considerado. A demanda máxima por período de recurso r por parte da atividade

j é expressa por

{ }ρjmr

M

1m

*jr kmaxk

j

== ,

sendo que o modo de menor duração com esta demanda é

{ }*jrjmr

M

1m

*jr kkmminm

j

===

ρ .

maxrK é determinado pelo pico de utilização por período do recurso r , ou seja,

maxrK =

∑∈=

+

t

*jr

r1J

jrjm

FT

1tkmax

A

,

onde At é o conjunto das atividades ativas no tempo t do escalonamento citado.

4.4 Instâncias Geradas para Teste das Heurísticas

Idealmente, os algoritmos deveriam ser aplicados a problemas reais das companhi-

as de petróleo. Todavia, em face da inacessibilidade de dados dessa natureza, fo-

ram gerados problemas fictícios que melhor capturem as condições corporativas.

Com intuito de testar o desempenho relativo dos procedimentos meta-heurísticos

elaborados e implementados computacionalmente para solução sub-ótima do caso

em estudo, foram gerados três conjuntos de instâncias de teste. A faixa dos valores

dos parâmetros empregados para criação das instâncias estão nas tabelas 4.1 a 4.4

a seguir:

71

Page 88: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

J Mj dj |R| UR QR S1 Sj PJ Pj

mín 200 1 1 4 1 1 40 1 1 40

máx 200 3 15 6 14 6 40 1 1 40

Tabela 4.4: Parâmetros básicos do conjunto de instâncias com 200 tarefas.

Os três conjuntos de teste são: J50, contendo problemas de 50 tarefas; J100, com

100 tarefas e J200, com 200 atividades cada instância. A cada rodada, o gerador cri-

ava 30 instâncias com base nos parâmetros predefinidos no arquivo de entrada,

conforme se apresenta na figura 4.3. O RF e o RS se combinavam como é mostrado

na tabela 4.1, num total de 4x3 =12 arranjos, perfazendo 30x12=360 instâncias para

cada conjunto.

Ao final, foi produzido um total de 3x360 = 1080 instâncias para ensaio das heurísti-

cas. Os arquivos correspondentes são codificados em J*[1...360]. Com isso, p. ex.,

a vigésima quinta instância do conjunto contendo MRCPSP’s de 200 tarefas recebeu

o código J20025. A ordem de criação obedeceu à combinação dos parâmetros RF-

RS conforme aparece na tabela 4.1, da esquerda para a direita. Dessa forma, as 30

J Mj dj |R| UR QR S1 Sj PJ Pj

mín 50 1 1 4 1 1 10 1 1 10

máx 50 3 10 6 10 6 10 1 1 10

Tabela 4.2: Parâmetros básicos do conjunto de instâncias com 50 tarefas.

J Mj dj |R| UR QR S1 Sj PJ Pj

mín 100 1 1 4 1 1 20 1 1 20

máx 100 3 15 6 14 6 20 1 1 20

Tabela 4.3: Parâmetros básicos do conjunto de instâncias com 100 tarefas.

RF 0,25 0,50 0,75 1,0RS 0,2 0,4 0,6 0,2 0,4 0,6 0,2 0,4 0,6 0,2 0,4 0,6

Tabela 4.1: Combinação dos parâmetros RF-RS.

72

Page 89: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

primeiras instâncias de cada conjunto, e.g., J10015, têm como base RF=0,25 e

RS=0,2, e assim sucessivamente.

Configuração das instâncias

• Todos os problemas têm complexidade de rede NC = 1, em razão de os proble-

mas reais apresentarem como representação num diagrama de rede esta com-

plexidade, i.é, as redes são do tipo em série (cf. fig. 4.1). Isso significa que, na

prática, não há precedência cruzada e cada atividade tem no máximo um prede-

cessor e um sucessor, o que mantém coerência com a condição real.

• RF (resource factor) foi modulado entre 0,25 e 1 (tabela 4.1). Assim foi feito por-

que, com RF menor que 0,25, a solicitação dos recursos se dá num nível baixo e

os problemas se tornam de mais fácil solução.

• RS (resource strength) assume no máximo o valor 0,6 porque, além disso, a es-

cassez de recursos diminui e os problemas tornam se menos difíceis e até trivi-

ais, como é o caso para RS = 1, para o qual podem ser considerados irrestritos.

• Os três conjuntos de teste J50, J100 e J200 contêm instâncias de 50, 100 e 200

tarefas respectivamente. Trata-se, portanto, de problemas de médio para grande

porte, o que implica grande dificuldade. Problemas de pequeno porte não são tra-

tados, portanto. Pretendeu-se com isso submeter as heurísticas a ambiente de

maior complexidade e, ao mesmo tempo, retratar a realidade.

• Mj varia de 1 até 3 modos (tabelas 4.2, 4.3 e 4.4), de novo para espelhar as con-

dições reais, nas quais algumas intervenções podem ser conduzidas de até 3

modos, como já explicado.

• Em vista de limitações do código, a duração das tarefas dj vai de 1 a 15 dias, no

máximo, menor que nos casos reais. Com efeito, atividades como as citadas, típi-

cas em locações offshore, podem durar até um mês. Contudo apresentam, apro-

ximadamente, a mesma diferença entre a duração máxima e a mínima, quer di-

zer, ordem de grandeza de 14 dias. Com isso, tal discrepância não parece provo-

car efeitos importantes na complexidade dos problemas e, por via de conseqüên-

cia, no desempenho das meta-heurísticas experimentadas.

• O número de recursos renováveis distintos, |R|, varia de 4 a 6, valores bem próxi-

mos dos caso reais, de vez que as sondas e os navios são de tipos diversos.

73

Page 90: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

SAMPLEFILE BAS

EDAT

APROJEKTS

NrOfPro

:

1

& number of projects

MinJob

:

8

& minimal number of jobs per

pro

ject

MaxJob

:

8

& maximal number of jobs per

pro

ject

MaxRelDate

:

0

& maximal release date

DueDateFacto

r

:

0.0

& maximal due date

MODES

MinMode

:

1

& minimal number of modes

MaxMode

:

3

& maximal number of modes

MinDur

:

1

& minimal duration

MaxDur

:

15

& maximal duration

NETWORK

MinOutSource

:

4

& minimal number of start ac

tivi

ties

per

pro

ject

MaxOutSource

:

4

& maximal number of start ac

tivi

ties

per

pro

ject

MaxOut

:

1

& maximal number of success

or p

er a

ctiv

ity

MinInSink

:

4

& minimal number of end acti

viti

es p

er p

roje

ct

MaxInSink

:

4

& maximal number of end acti

viti

es p

er p

roje

ct

MaxIn

:

1

& maximal number of predece

ssor

s pe

r ac

tivi

ty

Complexity

:

1.

& complexity of network

RESSOURCEREQUE

ST/A

VAIL

ABILIT

Y

Rmin

:

4

& minimal number of renewab

le r

esou

rces

Rmax

:

6

& maximal number of renewab

le r

esou

rces

RminDemand

:

0

& minimal (per period) dema

nd

RmaxDemand

:

14

& maximal (per period) dema

nd

RRMin

:

4

& minimal number of resourc

es r

eque

sted

RRMax

:

6

& maximal number of resourc

es r

eque

sted

RRF

:

1.

& resource factor

RRS

:

.6

& resource strength Fi

gura

4.3

: Exe

mpl

o de

arq

uivo

de

entra

da p

ara

o ge

rado

r Pro

Gen

par

a in

stân

cia

com

8 ta

refa

s re

ais.

74

Page 91: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

• A demanda UR é bem maior que a real, o que confere um caráter mais genérico

aos problemas testados, como um todo. Assim sendo, não apenas se avalia a

performance comparada dos algoritmos em problemas específicos, mas também

em casos mais gerais.

• Os número de recursos diferentes solicitados ao mesmo tempo, QR, foi bem mai-

or que a realidade. Muito embora haja manobras conjuntas na prática, nunca

ocorre de, e.g., 4 recursos diferentes serem usados simultaneamente.(O número

de plataformas de exploração – também conhecidas como sondas de perfuração

marítima – varia de acordo com a carteira de projetos das companhias). Mais

uma vez, isso foi feito visando a propiciar maior grau de liberdade ao código ge-

rador, com o que aumentar a diversidade das instâncias. Com isso, os resultados

das heurísticas se tornam mais abrangente.

• Como se trata de rede com características seriais, cada tarefa real tem precisa-

mente um predecessor e um sucessor. Por isso, Sj = Pj = 1 em todas as instânci-

as.

• Por igual motivo, a quantidade de tarefas de “partida” S1 – sucessoras imediatas

da tarefa fictícia j=0 – e a de atividades de “chegada” PJ – predecessoras imedia-

tas da tarefa fictícia de encerramento J+1 – sempre coincide. Também, buscou-

se impor, em média, 5 atividades por poço em cada instância, o que tem amparo

na vida real. Assim, e.g., para J100, S1 = PJ = 20, o que provoca uma média de 5

tarefas executadas em cada poço. Aliás, por vezes ocorre na prática de algumas

atividades serem desdobradas segundo exigências tecnológicas do equipamento

instalado.

Para concluir e apenas a título de ilustração, a figura 4.4 mostra os dados de saída

do gerador de instâncias com base no arquivo da figura 4.3, o qual é lido como os

dados de entrada pelos algoritmos desenvolvidos. Por brevidade, a instância exibida

tem apenas 8 tarefas reais.

SAMP

LEFI

LE B

ASED

ATA

PROJ

EKTS

Nr

OfPr

o

:

1

&

num

ber

of p

rojects

Mi

nJob

:

8

&

mini

mal

numb

er of jobs per project

Ma

xJob

:

8

&

maxi

mal

numb

er of jobs per project

Ma

xRel

Date

:

0

&

max

imal

rel

ease date

Du

eDat

eFac

tor

: 0

.0

&

max

imal

due

date

MODE

S

MinM

ode

:

1

& m

inim

al n

umber of modes

Ma

xMod

e

:

3

&

max

imal

num

ber of modes

Mi

nDur

:

1

&

min

imal

dur

ation

Ma

xDur

:

15

&

max

imal

dur

ation

NETW

ORK

Mi

nOut

Sour

ce

:

4

&

mini

mal

numb

er of start activities per project

Ma

xOut

Sour

ce

:

4

&

maxi

mal

numb

er of start activities per project

Ma

xOut

:

1

&

max

imal

num

ber of successor per activity

Mi

nInS

ink

:

4

&

mini

mal

numb

er of end activities per project

Ma

xInS

ink

:

4

&

maxi

mal

numb

er of end activities per project

Ma

xIn

:

1

&

max

imal

num

ber of predecessors per activity

Co

mple

xity

:

1.

&

com

plex

ity

of network

RESS

OURC

EREQ

UEST

/AVA

ILAB

ILIT

Y

Rmin

:

4

& m

inim

al n

umber of renewable resources

Rm

ax

:

6

&

max

imal

num

ber of renewable resources

Rm

inDe

mand

:

0

&

min

imal

(pe

r period) demand

Rm

axDe

mand

:

14

&

max

imal

(pe

r period) demand

RR

Min

:

4

&

min

imal

num

ber of resources requested

RR

Max

:

6

&

max

imal

num

ber of resources requested

RR

F

:

1.

& re

sour

ce f

actor

RR

S

:

.6

&

reso

urce

str

ength

75

Page 92: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

file with basedata : exemplo.basinitial value random generator: 1427924141*************************************************************jobs (incl. supersource/sink ): 10horizon : 78RESOURCES - renewable : 5 R - nonrenewable : 0 N - doubly constrained : 0 D*************************************************************PROJECT INFORMATION:pronr. #jobs rel.date duedate tardcost MPM-Time 1 8 0 20 5 20*************************************************************PRECEDENCE RELATIONS:jobnr. #modes #successors successors 0 1 4 1 2 3 4 1 1 1 5 2 3 1 8 3 1 1 6 4 1 1 7 5 3 1 9 6 2 1 9 7 2 1 9 8 2 1 9 9 1 0 *************************************************************REQUESTS/DURATIONS:jobnr. mode duration R 1 R 2 R 3 R 4 R 5------------------------------------------------------------- 0 1 0 0 0 0 0 0 1 1 11 10 1 3 1 4 2 1 9 13 10 6 12 4 2 9 9 11 6 12 7 3 14 0 10 6 11 1 3 1 4 7 11 6 7 3 4 1 9 10 2 3 9 10 5 1 9 13 6 2 14 11 2 12 13 5 1 9 8 3 14 13 3 1 5 7 6 1 6 12 3 6 5 12 2 13 10 2 3 5 7 7 1 2 6 10 10 8 11 2 5 5 6 3 6 9 8 1 5 4 2 3 5 2 2 8 1 2 0 5 1 9 1 0 0 0 0 0 0*************************************************************RESOURCEAVAILABILITIES: R 1 R 2 R 3 R 4 R 5 32 19 16 22 24

Figura 4.4: Exemplo de arquivo de saída do ProGen com instância de 8 tarefas reais.

76

Page 93: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Capítulo 5Onde se descrevem os métodos propostos para abordagem do estudo de caso

Heurísticas Desenvolvidas para o MRCPSP em Estu-do

e posse dos conjuntos de instâncias de teste detalhados no capítulo prece-

dente, os quais guardam estreita relação paramétrica com o problema de es-

calonamento de projeto (PSP) em estudo, aqui são expostas em seus pormenores

as quatro heurísticas desenvolvidas e implementadas para sua solução:

D• Algoritmo Aleatório Puro – AP;

• GRASP;

• Algoritmo Genético – AG;

• Heurística Evolucionária Híbrida – HH.

Seus fundamentos são enfocados, algumas técnicas e alguns conceitos são aborda-

dos e se segue uma explanação acerca de suas características funcionais. Antes,

entretanto, trata-se de esquemas de geração de escalonamento e regras de priorida-

des, imprescindíveis ao tema. O capítulo assume, com isso, a seguinte seqüência:

na seção 5.1, dois algoritmos clássicos para geração de escalonamento (SGS’s) são

descritos e explicados, um dos quais integra, como sub-rotina, todas as heurísticas

implementadas; a seção 5.2 trata de regras de prioridade, componentes indispensá-

veis para alocação de tarefas na maioria dos métodos subótimos; as seções 5.3,

5.4, 5.5 e 5.6 são dedicadas diretamente às quatro heurísticas desenvolvidas, res-

pectivamente, AP, GRASP, AG e HH.

77

Page 94: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

5.1. Esquemas de Geração de Escalonamento

Tipicamente, os métodos aproximados voltados para solução do PSP apresentam

como procedimento básico um esquema de geração de escalonamento (SGS). O

SGS começa do zero e constrói uma solução à medida que acrescenta tarefas a um

escalonamento parcial, aquele contendo apenas um subconjunto das J+2 tarefas.

Há dois tipos usuais de SGS, os quais se distinguem por incremento de atividade ou

de tempo e ambos são atribuídos a Kelley (1963).

O assim chamado SGS em série (SSS) executa incremento de atividade a partir de

uma lista ordenada e alocando a atividade em seu tempo mais cedo, respeitando as

restrições. De outro modo, o SGS em paralelo (PSS) procede ao incremento tempo-

ral, considerando todo o horizonte de planejamento, no que cada estágio i está as-

sociado a um período ti. Em cada período ti, escalonam-se todas as atividades que

já podem ter seu processamento iniciado, aquelas que são viáveis em precedência e

recursos.

Quando aplicados a instâncias (viáveis) do RCPSP19, ambos os esquemas geram

escalonamentos viáveis, já que tomam em conta as restrições de precedência e re-

cursos. Se a instância é irrestrita em recursos, tal como o problema expresso por (1),

(2) e (5) da tabela 3.2, os esquemas SSS e PSS resumem-se em uma simples re-

cursão avante e derivam soluções exatas em tempo polinomial.

5.1.1 SGS em sérieDiscute-se apenas o caso do PSP de interesse, para o qual apenas recursos reno-

váveis são considerados. O SGS em série (ou serial) consiste de i = 1,...,J estágios,

em cada qual um atividade é selecionada e escalonada – seu pseudocódigo é exibi-

do na tabela 5.1. Associados a cada estágio, há dois conjuntos disjuntos: no conjun-

to escalonado, SCi, estão aquelas atividades que já foram alocadas e, portanto, já fa-

zem parte do escalonamento parcial, e o conjunto de decisão, Di , do qual constam

as atividades ainda não escalonadas mas cujos predecessores já o foram. É, por

isso, o conjunto das atividades elegíveis e, em cada estágio, uma atividade de Di

deve ser selecionada com um critério estabelecido por alguma regra de prioridade

(empates podem ser decididos optando-se pela atividade de menor índice, por ex-

emplo) e alocada em seu menor período viável, considerando precedência e disponi-

bilidade de recursos – linha 2d no pseudocódigo. Isto feito, a atividade escolhida é

19 Recorde-se que, uma vez definidos os modos de execução, todo MRCPSP reduz-se a um RCPSP.78

Page 95: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

removida do conjunto de decisão, Di, e anexada ao conjunto escalonado, SCi. Esta

operação acaba por liberar mais atividades para o conjunto de decisão, de vez que

agora todas suas tarefas predecessoras estão escalonadas. Ao fim da iteração J, o

procedimento pára já que todas as tarefas reais já estão devidamente alocadas e o

makespan do projeto é assumido como o maior tempo de conclusão entre as tarefas

predecessoras imediatas da atividade fictícia J+1 – linha 3 no pseudocódigo.

Para uma descrição formal do SGS serial aplicável ao RCPSP, adicionalmente se-

jam:

rK (t):= Kr - ∑ ∈ )t(j jrkA a capacidade remanescente de recurso tipo r no instante t;

Ai = A(ti) = { j ∈ J | FTj – dj ≤ t < FTj} o conjunto das tarefas ativas no instante t;

FTi = {FTj | j ∈ SCi} o conjunto dos tempos finais das tarefas já escalonadas e;

Di = {j ∈ J \ SCi | Pj ⊆ SCi} o conjunto de decisão ou das atividades elegíveis.

Kolisch (1996) demonstra que um SGS serial sempre gera escalonamentos ativos

que, como já visto na seção 3.2, são aqueles onde nenhuma atividade pode ser inici-

ada mais cedo sem atrasar alguma das demais. Além disso, para PSP com uma me-

Algoritmo SerialSGS// Início

1 FT0 = 0, SC0 = {0}

// Processo

2 Para i = 1 até J façaa Calcule Di, FTi, rK (t) (r∈ R ; t ∈ FTi)

b Selecione j∈ Di

c EFTj = jhmax P∈ {FTh} + dj

d FTj = min {t ∈ [EFTj - dj, LFTj - dj] ∩ FTi | kjr ≤ rK (Τ), r ∈ R, Τ ∈ [ t,t+dj [ ∩ FTi}+ dj

e SCi = SCi-1 ∪ {j}

fim-para

3Compute FTJ+1 =

1Jhmax+∈ P {FTh}, SC=SCJ ∪ {J+1}, FT=FTJ ∪ {FTJ+1}

// Resultado

4 SC, FT, FTJ+1 (makespan)

Figura 5.1: Esquema de geração de escalonamento em série (SSS)

79

Page 96: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

dida regular de desempenho, tal como minimização de makespan, a solução ótima

estará sempre no conjunto dos escalonamentos ativos. A complexidade no tempo do

algoritmo SGS serial como exposto é O (J2.K), onde J é o número total de tarefas re-

ais e K =|R| é a quantidade total dos diferentes tipos (itens) de recursos renováveis

(cf. Pinson et al., 1994).

5.1.2 SGS paraleloDa mesma forma que no esquema anterior, discute-se apenas o caso com recursos

renováveis. No SGS paralelo, para cada iteração i existe um instante de escalona-

mento ti – seu pseudocódigo é como se mostra na tabela 5.2. Atividades que tenham

sido escalonadas até i são, alternativamente, ou elementos do conjunto de conclu-

são Ci ou do conjuntos das tarefas ativas Ai. O conjunto de conclusão compreende

todas as atividades que tenham sido completadas até ti. Nesse caso, diferentemente

do serial, o conjunto das tarefas elegíveis Di é formado por todas as tarefas que são

viáveis em precedência e recursos, no instante ti. As expressões correspondentes a

Ci e Di são:

Ci = { j ∈ J | FTj ≤ ti } conjunto das tarefas completadas até ti e;

Di = { j ∈ J \ (Ci ∪ Ai) | Pj ⊆ Ci ∧ rjk ≤ rK (ti) (k ∈ R)} conjunto de decisão.

Algoritmo ParalSGS// Início1 i = 0, ti = 0, A0 = {0}, C0 = {0}, rK (0) = Kr, SC = {0}, FT ={0}// Processo2 Enquanto ( | Ai ∪ Ci | ≤ J ) faça:

a i := i + 1b ti = 1-ijmin A∈ {FTj}c Calcule Ci, Ai,, rK (ti), Di

d Enquanto ( Di ≠ & )faça:e Selecione um j ∈ Di

f FTj = ti + dj g Calcule rK (ti), Ai, Dia, SC = SC ∪ {j}, FT = FT ∪ { FTj },

fim-enquanto

fim-enquanto

3 Compute FTJ+1 = 1Jhmax

+∈ P {FTh},

// Resultado

4 SC, FT, FTJ+1 (makespan)

Figura 5.2: Esquema de geração de escalonamento em paralelo (PSS)

80

Page 97: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Cada iteração consiste de duas fases: na linha 2a se determinam o próximo instante

de escalonamento ti, os respectivos conjuntos de tarefas Ci, Ai,, e Di e a capacidade

disponível de recursos rK (ti); em 2d todas as tarefas de Di são escalonadas tendo

início em ti. Note-se que o esquema paralelo faz exatamente J decisões de seleção,

uma para cada tarefa real; contudo, uma execução completa pode envolver menos

de J estágios. Uma vez alocadas todas as tarefas, o makespan do projeto é tomado

como o maior período de conclusão dentre todas as tarefas predecessoras imedia-

tas de J+1 – linha 3 do pseudocódigo.

Foi demonstrado por Kolisch (1996) que o SGS paralelo sempre gera escalonamen-

tos do tipo sem-atraso (non-delay) que, como já explicado no capítulo 3, é aquele

onde, mesmo se a preempção é permitida, nenhuma das atividades pode ter seu iní-

cio antecipado sem acarretar atraso para pelo menos uma das demais. O conjunto

dos escalonamentos sem-atraso é um subconjunto do conjunto dos escalonamentos

ativos e apresenta a desvantagem de, quando se considera uma medida regular de

desempenho, nem sempre conter a solução ótima. A propósito, Kolisch et al. (1998)

testaram 298 instâncias de 30 tarefas e, entre estas, somente 175 (59,73%) tinham

escalonamento ótimo no conjunto dos escalonamento sem-atraso ao minimizar o

makespan. A complexidade no tempo do SGS paralelo também é O (J2.K) (cf. Pin-

son et al., 1994).

Em virtude de o SGS serial explorar o espaço dos escalonamentos ativos, no qual a

solução ótima obrigatoriamente se encontra, todos os algoritmos implementados

para solução do PSP em estudo o tem incorporado como sub-rotina. Mais precisa-

mente, uma variante do SGS serial, que recebe uma sucessão de atividades e as vai

alocando conforme a ordem de comparecimento. Dessa forma a decisão de escolha

– linha 2b no pseudocódigo do esquema serial da figura 5.1 – é predefinida.

5.2 Regras de Prioridades

Existem diversos trabalhos versando sobre regras de prioridades entre os quais po-

dem ser citados Cooper (1976), Alvarez-Valdés & Tamarit (1996), Kolisch (1996) e

Kolisch & Hartmann (1998). Investigação na literatura dão conta de mais de 100 ti-

pos diferentes de regras de prioridade (Kolisch & Hempel, 1996).

81

Page 98: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Regras de prioridades são empregadas pelas heurísticas que se utilizam de ambos

ou de apenas um dos esquemas de geração de escalonamentos no processo de

programação das tarefas, como é o caso das aqui apresentadas adiante. A regra de

prioridade em si é útil como critério de seleção de uma tarefa no conjunto de decisão

Di .

Formalmente, uma regra de prioridade é um mapeamento que atribui a cada ativida-

de j no conjunto Di um valor numérico v(j) e um parâmetro dicotômico extr ∈

{max,min}, definindo se a decisão deve recair sobre a atividade com máximo ou míni-

mo valor. Um critério de desempate deve ser preestabelecido. O critério trivial é es-

colher a tarefa de menor índice, mas pode-se proceder arbitrariamente, por via de

uma seleção ao acaso.

As regras de prioridade podem ser classificadas segundo diferentes critérios. Com

respeito ao tipo de informação empregada para calcular v(j), podem-se distinguir as

regras baseadas no tempo, na rede ou no recurso bem como regras de limitantes in-

feriores e superiores. Estas últimas calculam um valor do limitante (inferior ou superi-

or) da função-objetivo para cada atividade. No que se refere à quantidade de infor-

mação adotada, as regras podem ser locais ou globais. Regras locais utilizam infor-

mação apenas da tarefa sob consideração, tal como o tempo de processamento, en-

quanto que as globais se valem de uma gama maior de informação geral. Se o valor

de v(j) permanece constante ao longo do processamento, a regra se classifica como

estática e torna-se dinâmica no caso contrário. Se o critério for o SGS subjacente ao

procedimento, uma regra pode ser indicada apenas para um ou para ambos os ti-

Notação ExtremoSérie vs.

Paralelo

Est. vs.

Din.v(j)

LFT min S,P E LFTj

LST min S,P E LFTj - dj

SLK min S,P E LFTj - EFTj

MTS max S,P E | jS |RSM min P D max(l,j)∈AP{0,ti+dj – (LFTl-dl) E(l,j)}SPT min S,P S dj

WCS min P D LFTj - dj - max(l,j)∈AP{E(l,j)}

Tabela 5.1: Regras de prioridade

82

Page 99: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

pos, i.e., em série e em paralelo (cf. Schirmer, 1997). A tabela 5.1, extraída de Kolis-

ch & Hartmann (1998), apresenta sete regras de prioridades (com base no tempo e

na rede) mais utilizadas, em vista de desempenho superior, comprovado por alguns

estudos (cf. Schirmer, 1997): LFT tempo mais tarde de conclusão (latest finish time);

LST tempo mais tarde de início (latest start time); SLK folga (slack); MTS total de su-

cessores (most total sucessors); RSM método do escalonamento de recurso (resour-

ce scheduling method); SPT tempo de processamento (shortest processing time);

WCS folga do pior caso (worse case slack). A regra MTS emprega jS , o conjunto de

todos os sucessores, diretos e indiretos, isto é, não necessariamente imediatos, de j.

O conjunto de todos os jS compõe o fecho transitivo do grafo de precedência. As

regras RSM e WCS usam o conjunto AP = {(l,j) ∈ Di x Di | l ≠ j} dos pares de todas as

atividades (l,j) que estão no conjunto de decisão Di. Por fim, a regra WCS emprega

E(l,j), que representa o tempo de início mais cedo, viável em precedência e recurso,

da atividade j se a atividade l é escalonada para ter início no tempo ti.

5.3 Algoritmos do tipo Aleatório Puro

É o mais simples procedimento de amostragem. Consiste em selecionar uma tarefa

entre as candidatas do conjunto de decisão Di utilizando um processo puramente

aleatório. Logicamente, dispensa o cálculo de valores de prioridade para as tarefas

candidatas, que agora são escolhidas ao acaso.

A utilização de métodos aleatórios como geradores de soluções benckmark para es-

tudos comparativos de performance de outros algoritmos é prática comum nas pes-

quisas de otimização matemática do PSP (Hartmann & Kolisch, 1999). Em geral,

qualquer outro método mais bem elaborado deve superá-los nos resultados. Desa-

fortunadamente, para o caso em tela, a literatura não registra pesquisa pregressa

com a qual se possa comparar o desempenho dos algoritmos ora apresentados,

como aludido no capítulo 4. Nenhum conjunto de teste exclusivo existe disponível

voltado para o PSP com redes seriais e NC (complexidade de rede) unitária, objeto

do corrente estudo, o que torna imperativo elaboração de soluções de referência

com que cotejar os resultados.

83

Page 100: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

5.3.1 Algoritmo Aleatório PropostoA cada iteração, o procedimento concebido e implementado produz uma sucessão

de atividades, viável em precedência, via seleção aleatória das tarefas do conjunto

de decisão Di. Constrói, em seguida, uma lista com os modos de execução atribuído

a cada uma das J tarefas. Ato contínuo, chama a sub-rotina SerialSGS para alocá-

las levando-se em conta seus modos de execução, no ordenamento listado e em

seu tempo mais cedo, viável em recursos, como apresentado na tabela 5.1. Produz

um escalonamento a cada iteração e registra a melhor entre as soluções computa-

das. O critério de parada pode ser de dois tipos: impor limite ao número de iterações

ou ao tempo de CPU. Sua estrutura é como se apresenta a seguir.Para uma dada instância, faça:Repetir

Construção aleatória de uma sucessão de tarefas;Montagem aleatória da lista de modos de execução;SerialSGS.

Até satisfazer condição de paradaRetornar a melhor solução

5.4 GRASP

Método iterativo que busca soluções aproximadas para problemas de otimização

combinatória, a GRASP (Greedy Randomized Adaptive Search Procedure) foi con-

cebida por Feo & Resende (1989). Trata-se de um procedimento de amostragem

aleatória onde cada iteração consiste de duas fases: construção e busca local. Seu

leiaute básico é como vai a seguir:Para uma dada instância, faça:Repetir

Construção de uma solução gulosa aleatória;Busca de um mínimo local nas vizinhanças;Atualização da solução;

Até satisfazer condição de paradaRetornar a melhor solução

Uma solução viável é gerada iterativamente, elemento a elemento, na fase de cons-

trução. Todos os elementos viáveis são antes ordenados segundo uma função gulo-

sa – míope – preestabelecida. A partir daí, uma lista de candidatos é extraída, rela-

xando o critério guloso – regra de prioridade – e permitindo que elementos que

atendam em alguma medida ao critério componham tal lista restrita (restrict candida-

te list - RCL) e então possam ser selecionados.

84

Page 101: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Em cada estágio, um elemento da lista de candidatos é eleito para integrar a solução

incompleta e então é excluído da RCL. A escolha se dá aleatoriamente entre os can-

didatos da lista, quer dizer, não necessariamente o melhor é selecionado, o que con-

fere ao método um caráter probabilístico e permite que a cada iteração uma solução

distinta possa ser retornada.

A RCL é então remontada a cada iteração da fase de construção. Assim, os benefí-

cios relacionados com cada elemento da lista são atualizados de modo a repercutir

as mudanças introduzidas pela seleção do elemento anterior e, em razão disso, o

procedimento se diz adaptativo.

Ao cabo da fase de construção, não obrigatoriamente um ótimo local será encontra-

do, o que torna oportuna a inclusão de um processo de melhoria para explorar suas

vizinhanças e perseguir uma solução localmente ótima. Introduz-se então um algorit-

mo de busca local, que funciona de modo iterativo ao sucessivamente substituir a

solução viável corrente por outra das vizinhanças, gerada a partir de perturbação in-

duzida na primeira. Mas apenas retorna esta última se for de menor makespan.

Empiricamente, sabe-se que a eficiência do algoritmo de busca local será função da

qualidade da solução fornecida pela fase de construção. Assim, boas soluções de

partida podem acelerar o processo de busca e preveni-lo contra desempenho expo-

nencial (cf. Feo & Resende, 1994).

5.4.1 Algoritmo GRASP PropostoA literatura que cobre o método (Resende, 1998) não registra uma GRASP aplicada

a qualquer categoria de PSP, incluindo o caso em questão. Sob este ponto de vista,

portanto, a abordagem é inédita. Nessa seção são detalhados os passos das duas

etapas integrantes do algoritmo GRASP sugerido para solução do PSP em estudo,

isto é, as fases de construção e melhoria.

Fase de construção Inicialmente, deve-se definir a função gulosa. Adota-se a regra de prioridade min

LFT, visto que estudos precedentes (Kolisch & Hartmann, 1998) autorizam supor

melhor desempenho para o PSP em métodos com base em amostragem aleatória. A

RCL é construída a partir do conjunto de decisão Di , formado por todas as atividade

que, a cada iteração i, já tiveram suas predecessoras na rede devidamente aloca-

das, ou seja, são viáveis em precedência. Em vez de se fazer meramente a escolha

85

Page 102: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

gulosa em Di, ou seja, optar pela tarefa de menor LFT do conjunto de decisão, o pro-

cedimento constrói a lista restrita e permite que um candidato a integre se seu cor-

respondente LFT for menor ou igual a um limitante superior ( supiLim ). Este último se

calcula pela soma do menor LFT entre as tarefas em Di, dito limite inferior ( infiLim ), e

um dado percentual, estipulado pelo chamado parâmetro de relaxação κ, 0 ≤ κ ≤ 1,

de sua diferença até o horizonte de tempo do projeto T . Em outras palavras, o limi-

tante superior supiLim resulta da combinação convexa entre o limitante inferior inf

iLim e

o horizonte de tempo do projeto T . Assim, definindo-se os limitantes inferior e supe-

rior a cada iteração i da fase de construção,infiLim = min { LFTj | j ∈ Di } e sup

iLim = infiLim + κ(T - inf

iLim ), tem-se

RCLi = {j ∈ Di | LFTj ≤ supiLim }.

Este tipo de limitante da lista de candidatos, imposto por κ, é costumeiramente refe-

rido como restrição de valor. Note-se que se κ = 0, a escolha será totalmente gulosa;

por outro lado, se κ = 1, a escolha dar-se-á de modo totalmente aleatório. Como é

Algoritmo ConstSchedGRASP// Início1 Entrada: J, κ, T ,Pj, LFTj, Mj, ,j=1,...,J+1// Processo2 SC0 ={0}, M0 ={1}3 Para i = 1,...,J faça:

a Di = {j ∈ J \ SCi | Pj ⊆ SCi} b inf

iLim = min { LFTj | j ∈ Di }c sup

iLim = infiLim + κ(T - inf

iLim )d RCLi = {j ∈ Di | LFTj ≤ sup

iLim }e Selecionar aleatoriamente ji ∈ RCLi

f SCi+1 = SCi ∪ {ji}g Selecione aleatoriamente mi ∈ {1,..,

ijM }

h Mi+1 = Mi ∪ {mi}fim-para

4 SC = SCJ+1 ∪ {J+1}, M = MJ+1 ∪ {1}// Resultado5 SC, M Figura 5.3: Pseudocódigo da fase de construção da GRASP

86

Page 103: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

bem de ver, o parâmetro κ deve ser modulado criteriosamente, de modo a produzir

os melhores resultados para uma dada classe de problemas de otimização. É o que

se faz na subseção 6.2.1. Opcionalmente, poder-se-ia obrigar a RCL a ter um núme-

ro máximo de componentes, com o que se estabelece a assim denominada restrição

de cardinalidade.

Uma vez definida a RCL em cada iteração i (linha 3d), procede-se a uma escolha

aleatória na qual qualquer tarefa desta lista tem a mesma probabilidade de ser esco-

lhida – linha 3e. Fazendo-se i:=1,...,J , o procedimento, concluída esta etapa, acaba

por montar uma lista contendo uma sucessão SC das J+2 tarefas. Esta última, junta-

mente com a lista M dos modos de execução associados a cada atividade e elabora-

da aleatoriamente (linhas 3g e 3h), são enviadas ao SGS serial para que cada ta-

refa seja alocada em seu tempo mais cedo

Fase de busca local Conforme já salientado, a fase de construção não obrigatoriamente produz um esca-

lonamento localmente mínimo. Útil se faz assim perseguir uma solução nas vizinhan-

ças que seja de melhor qualidade. O procedimento de melhoria (busca local) é cen-

trado em permutação de pares de tarefas (local shift), tentando produzir escalona-

mento de menor makespan. O pseudocódigo correspondente é mostrado na tabela

5.4

Algoritmo MelhorSchedGRASP// Início1 Entrada: SC, M,Pj, Mj, djm, ,j=1,...,J, m=1,...,Mj

// Processo2 Para i = 1,...,J-1 faça:3 k = ji

4 Se( ji ∉ 1ij +P ) ∧ ( ∃ mh ∈ { 1,..., 1ij

M+ }: 1i1ih1i m,jm,j dd

+++< ) Então

a Atualizar SC e M : ji = ji+1 ∧ mi+1 = mi

b Atualizar SC e M : ji+1 = k ∧ mi = mh

fim-sefim-para

5 Escalonar e computar FTJ+1 com SerialSGS// Resultado6 SC, FT, M, FTJ+1 (makespan)Figura 5.4: Pseudocódigo da fase de melhoria da GRASP87

Page 104: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

A partir da posição 1 até a posição J-1 da lista corrente, duas tarefas consecutivas

são permutadas em sua ordem e o modo da segunda é redefinido se esta atender

simultaneamente às duas condições seguintes:

• não for sucessora imediata da primeira atividade no grafo de precedência e;

• puder ter sua duração diminuída via substituição de seu modo de execução.

A primeira condição previne quanto à violação da restrição de precedência enquanto

a última, uma vez atendida, envolve uma operação de mudança de modo em que a

tarefa é processada, que então é de fato consumada, tentando melhorar a solução

ao diminuir o makespan do projeto.

A permuta opera sempre nas listas já atualizadas, a partir daquelas recebidas da

fase de construção. Após efetuadas as J-1 iterações, a sub-rotina SerialSGS é cha-

mada para alocação de cada tarefa da lista corrente no instante mais cedo, viável

em recursos, observando a ordem em que comparece na nova sucessão S* e o

modo no qual deve ser executada, segundo o M* corrente, e computa o makespan.

do projeto FTJ+1. Dessa forma, um mínimo local é, esperançosamente, encontrado.

Finda esta etapa de melhoria, a GRASP reinicia uma nova etapa de construção, e

assim sucessivamente, até atender o critério de parada.

Conforme a conveniência do ensaio, dois são os critérios possíveis de parada incor-

porados ao algoritmo GRASP: limite do número de iterações ou do tempo de uso da

CPU. O algoritmo termina por montar um escalonamento do projeto ao menos sub-

ótimo, bem definido em seqüenciamento das tarefas e respectivos instantes de con-

clusão (cf. seção 3.2.8).

Outras modalidades de combinação de duração com ordenamento das tarefas foram

tentadas como forma de busca local e testes comparativos preliminares, que não

são explicitados aqui, sinalizaram desempenho superior do mecanismo adotado e

ora descrito.

5.5 Algoritmos Evolucionários

Denominação mais geral para as abordagens genéticas, algoritmos evolucionários

(ou evolutivos) são meta-heurísticas baseadas no principio da evolução natural. Sua

aplicabilidade universal e destacada performance quando aplicados a uma vasta

gama de problemas de otimização fizeram emergir um notável interesse neste tipo

de estratégia nos últimos anos (Kohlmorgen et al. (1998) e Houdayer, 1999). Têm

88

Page 105: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

experimentado largo emprego como meta-estratégia nos domínios, e.g., da otimiza-

ção continua e discreta, machine learning e teoria dos jogos. Uma boa introdução no

tema, com alentada bibliografia, é propiciada por Goldberg (1989).

5.5.1 Genética, Evolução e Otimização

Hereditariedade é a transferência, dos indivíduos para os seus descendentes, das

informações – representadas pelos genes – responsáveis por suas características. A

genética20 é o estudo da hereditariedade. Genótipo é como comumente se denomina

a constituição genética de um indivíduo, enquanto fenótipo é qualquer característica

metabólica ou morfológica. Diz-se que um caráter é adquirido, quando a causa é es-

sencialmente ambiental e hereditário, se a causa é essencialmente genética. A evo-

lução natural diz respeito à freqüência de genes numa população.

Os princípios da teoria da evolução das espécies21. se descrevem resumidamente do

seguinte modo: um indivíduo ou, mais precisamente, seu fenótipo consiste de carac-

terísticas básicas contidas em seu gene, o genótipo, acrescidas de outras mais, ad-

quiridas. Os indivíduos de uma espécie são similares, salvo pelos seus fenótipos e

genótipos. Novos indivíduos surgem por cruzamento de seus “pais”. O genótipo de

um indivíduo é determinado por uma recombinação dos genes dos “pais” e por mu-

tação, isto é, alterações raras e fortuitas de alguns genes.

A seleção natural conduz a um crescente nível de adaptação das espécies ao ambi-

ente, num processo que se perpetua ao longo das gerações, tendendo a preservar

as variações favoráveis e fazer desaparecer as desfavoráveis. Na luta pela sobrevi-

vência, os indivíduos de uma espécie competem por comida e parceiros de acasala-

mento. Os indivíduos mais bem adaptados de uma população têm maiores chances

de subsistência e assim podem transferir seus genes para os descendentes, en-

quanto aqueles cujas características são menos apropriadas para enfrentar as con-

dições ambientais tendem a perecer antes que possam se reproduzir. O processo de

adaptação de uma população ao seu ambiente é chamado aprendizado filogenético

em contraste com a adaptação individual, referida como aprendizado ontogenético.

Todo este mecanismo evolutivo inspirou Holland (1995) nas bases para idealização

dos algoritmos genéticos (AG), cuja utilização na otimização matemática tem alcan-

20 O abade tcheco Gregor Mendel (1822-1884) foi o precursor do estudo da hereditariedade utilizando o método científico.21 O naturalista inglês Charles R. Darwin (1809-1882), com seu livro “On the Origin of the Species by Means of Natural Selection”, legou ao mundo as bases para a moderna teoria da evolução.89

Page 106: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

çado resultados altamente expressivos. Sua terminologia é copiada diretamente da

biologia.

Grosso modo, um AG é baseado em uma codificação específica do problema e os

operadores mutação, cruzamento e seleção22. Antes de tudo uma população inicial é

determinada e o nível de adaptação de cada indivíduo é calculado, refletindo seus

atributos com respeito a um objetivo preestabelecido. Continuando, os novos indiví-

duos são gerados pelo emprego dos operadores mutação e cruzamento. Finalmen-

te, uma nova população remanesce por uma estratégia de seleção que favorece a

permanência dos indivíduos mais bem adaptados e exclui os demais. Às vezes,

emulando a natureza, este processo se repete em diferentes “ilhas” para várias po-

pulações com processos evolutivos independentes.

O operador cruzamento recombina partes de dois indivíduos para formar seus des-

cendentes. Isto sugere uma combinação de genes e as partes constitutivas são su-

postas responsáveis pela adaptação dos indivíduos “pais” e são referidas como blo-

cos de construção. Do operador mutação pode originar combinação de genes que

antes não ocorreu na população. Em outras palavras, o genótipo resultante de uma

mutação pode não ter sido produzido por cruzamento.

O algoritmo genético clássico tem a seguinte estrutura básica:

Para uma dada instância, faça:Gerar População InicialAvaliar Adaptação dos Indivíduos

RepetirCruzamento dos “pais” e geração dos descendentes;Mutação dos descendentes;Avaliação de adaptação dos descendentes;Seleção dos “pais” e formação de nova população.

Até satisfazer condição de paradaRetornar a melhor solução

Até onde se depreende da literatura, são três os algoritmos genéticos propostos até

agora para o MRCPSP: Özdamar (1996), Hartmann (1997a) e Mori & Tseng (1997).

Os dois últimos representam as fontes de cujas idéias o presente trabalho represen-

ta uma adaptação. Contudo, para o caso do MRCPSP em estudo, contando exclusi-

22 Há outros operadores usuais, de acordo com cada pesquisador (Hartmann, 1999). Esses três, toda-via, são os mais freqüentemente empregados. 90

Page 107: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

vamente com recursos renováveis e circunscrito a redes seriais, não há paralelo na

literatura.

5.5.2 Algoritmo Genético PropostoO seqüenciamento básico de evolução simulado pela abordagem adotada é agora

descrito. Adaptado dos trabalhos de Hartmann (1997a) e Mori & Tseng (1997), o AG

proposto se volta para a solução sub-ótima do MRCPSP alvo da pesquisa corrente.

É, portanto, concebido sob medida para o caso de redes seriais contando unicamen-

te com recursos da categoria renováveis, tal como nas instâncias de teste.

Na estratégia empregada, espaço de busca (o conjunto de genótipos) compreende

as seqüências viáveis com respeito à precedência e todas as combinações de modo

de execução. Um fenótipo (escalonamento) associado a um genótipo é gerado, a ex-

emplo dos demais algoritmos implementados, pelo emprego do esquema de gera-

ção em série, que produz escalonamentos ativos. O pseudocódigo do AG implemen-

tado é como se mostra na figura 5.5.

A codificação genética, em vez de usar bit, é do tipo direta e baseada em lista (per-

mutação) de atividades. O algoritmo começa por produzir uma população inicial

POP1 de modo puramente aleatório – empregando o algoritmo AP –, equivalente à

primeira geração, que contém um número inteiro par de indivíduos, NIND, e então

avalia seus níveis de adaptação (fitness), o que equivale a calcular o valor das fun-

ções-objetivo de cada solução viável, i.é, ao makespan. – linha 3 do pseudocódigo

da fig. 5.x. A população é então aleatoriamente particionada em pares de indivíduos

que formam os NIND/2 casais de “pais” sobre os quais se aplica o operador cruza-

mento com o que se produzem os novos indivíduos (“filhos”). Isto feito, numa proba-

bilidade pmut , os genótipos dos recém criados indivíduos sofrem a mutação. Após

computar o nível de adaptação de cada um dos novos indivíduos gerados, toda a

prole é incorporada à população, agora de dimensão 2.NIND. O passo que se segue

é aplicar o operador seleção à população corrente de modo a reduzi-la a seu tama-

nho original NIND – linhas 4a até 4i. Sempre que a sub-rotina SerialSGS é acio-

nada ao longo do processamento, registra-se o escalonamento de menor makespan.

Todo esse processo é ser repetido para um numero preestabelecido de gerações

denotado NGEN – linha 4. Alternativamente, o critério de parada pode ser estabele-

cido por limite de tempo de CPU ou de indivíduos e respectivos escalonamentos

91

Page 108: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

computados. Ao final do processamento – linha 5 –, obtém-se um escalonamento

bem definido em tarefas, tempos e modos (FTJ+1 representa o valor do makespan).

92

Page 109: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Indivíduos e Adaptação A codificação adotada é do tipo direta com um indivíduo IND representado por um

par composto por uma permutação de atividades e uma designação de modos que

se denota por

IND =(SCi, Mi) ≡ (( I1j ,..., I

Jj ), mI).

A seqüência de tarefas SCi = I1j ,..., I

Jj é suposta ser uma permutação viável com re-

lação às restrições de precedência. A designação de modo Mi é um mapeamento

que atribui a cada atividade j ∈ {1,...,J} um modo mI(j) ∈ {1,...,Mj}.

Cada genótipo relaciona-se com um escalonamento (fenótipo), determinado de

modo único. A princípio, a atividade fictícia 0 de início do projeto é começada no ins-

tante zero e, em seguida, as demais atividades são escalonadas em seu tempo mais

cedo viável na ordem prescrita pela seqüência I1j ,..., I

Jj , sendo a cada atividade atri-

buído seu devido modo. A atividade Iij é escalonada no modo mI( I

ij ), definido alea-

toriamente. Utiliza-se a sub-rotina SerialSGS para a decodificação do genótipo,

com o que o resultado é um escalonamento viável com respeito às restrições de pre-

cedência e recursos e, além disso, ativo (cf. seção 3.X). A medida de adaptação de

cada indivíduo equivale ao makespan do escalonamento correspondente e é útil

quando da aplicação do operador seleção. Nesta etapa preliminar assim, é montada

a população inicial (i.é, geração original) de NIND indivíduos, com seqüências e mo-

dos definidos aleatoriamente, cujos níveis de adaptação são devidamente computa-

dos.

CruzamentoOs pares selecionados para cruzamento são constituídos dos indivíduos “mãe” M e

“pai” F, que se reproduzem para formar os indivíduos “filha” D e “filho” S. Considere-

se primeiro a definição da “filha”. Sejam p1 e p2 dois inteiros extraídos ao acaso com

1 ≤ p1,p2 ≤ J. Na seqüência de tarefas de D, as posições i=1,...,p1 são tomadas da

“mãe”, com o queDij := M

ij .

A seqüência de tarefas das posições i= p1+1,...,J de D é constituída pelas tarefas

restantes e obedecendo o ordenamento com que comparecem em F. Assim sendo, 93

Page 110: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

as tarefas que já tenham sido tomadas da “mãe” M não são consideradas novamen-

te no “pai” F. Desse modo,Dij := F

kj , onde k é o menor índice no qual Fkj ∉ { D

1j ,..., D1ij − }.

Este tipo de operador cruzamento diz-se de ponto unitário.

As atividades nas posições i=1,...,p2 da “filha” D recebem os mesmos modos com

que comparecem na “mãe” M

Algoritmo SchedALGEN// Início1. Entrada:NIND , NGEN // Processo2. POP1 ={ }, MOD1={ }, POP2={ }, MOD2={ }, RNDSET = {1,...,POP}, NITER = 13. Para i = 1,..., NIND faça:

a. Gerar SCi, Mi com o algoritmo APb. SerialSGS(SCi, Mi)computa i

1JFT + e registra melhor escalonamentoc. POP1 = POP1 ∪ {SCi} , MOD1 = MOD1 ∪ {Mi}

fim-para4. Enquanto (NITER ≤ NGEN) faça:

a. POP2 = POP1 , MOD2 = MOD1b. Para i = NIND +1 ,..., 2* NIND, 2 faça:c. Random (k , l ∈ RNDSET) ; RNDSET = RNDSET\{k,l}d. Cruzamento(SCk, SCl) para gerar SCi , SCi+1 , Mi, Mi+1 e. SerialSG(SCi, Mi),(SCi+1, Mi+1)f. Se (probabilidade) Então:g. Mutação(SCi, Mi),(SCi+1, Mi+1)h. SerialSGS(SCi, Mi),(SCi+1, Mi+1)

fim-sei. POP2 = POP2 ∪ { SCi , SCi+1 }, MOD2 = MOD2 ∪ { Mi , Mi+1 }

fim-paraj. Para i = 1,...2* NIND faça: Seleção( i

1JFT + )k. POP1 = { NIND indivíduos i de menor makespan }l. MOD1 = { NIND listas dos modos indivíduos de POP1 }m. NITER = NITER + 1

fim-enquanto// Resultado5. SC , FT, M, FTJ+1

Figura 5.5: Pseudocódigo do algoritmo genético proposto.

94

Page 111: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

mD( Dij ) := mM ( D

ij ),

ao passo que os modos das suas tarefas remanescentes, nas posições i=p2+1,...,J,

são atribuídos conforme a designação mF dos modos do “pai”, ou seja,

mD ( Dij ) := mF ( D

ij ).

O “filho” S dos indivíduos M e F tem uma estrutura de geração analogamente defini-

da. A diferença é que as posições i=1,...,p1 de sua lista é copiada do “pai” F e as de-

mais posições são tomadas da “mãe” M. Similarmente, os modos das tarefas de S,

até p2, são extraídos de F e daí em diante vêm de M.

A par de assegurar que cada atividade seja considerada uma única vez, este meca-

nismo também garante que as posições relativas nas seqüências de tarefas dos

“pais” sejam preservadas, com o que se produz uma lista de atividades que respeita

as restrições de precedência. Isto pode ser demonstrado pelo seguinte teorema

(Hartmann, 1997a):

Teorema 1 Se aplicado a “pais” cujos seqüenciamentos obedecem às restrições de precedência, o operador cruzamento de ponto unitário para a codifica-ção genética baseada em permutação produz descendentes de genóti-pos viáveis em precedência.

ProvaAssuma-se que a seqüência correspondente à “filha” seja inviável em precedência,

quer dizer, existem duas atividades Dij e D

kj com 1 ≤ i < k ≤ J e Dkj ∈ D

ijP , conjunto

dos predecessores imediatos de Dij . Com isto, três casos podem ser examinados:

Caso 1: Ter-se-ia i,k ≤ p1. . Todavia, as posições relativas são mantidas pelo

operador cruzamento, com o que a atividade Dij situa-se antes da atividade D

kj na

seqüência de tarefas da “mãe” M, o que contraria o pressuposto de viabilidade de M.

Caso 2: Ter-se-ia i,k > p1. Então a atividade Dij situa-se antes da atividade D

kj

na seqüência de tarefas do “pai” F, contrariando a suposição de viabilidade de F.

Caso 3: Ter-se-ia i ≤ p1 e k > p1. Com isso, a tarefa Dij antecede D

kj na seqüên-

cia da “mãe” M, igualmente contrariando o pressuposto de viabilidade de M.

Mutação A exemplo do que ocorre no ambiente natural, a mutação é fato esporádico que in-

troduz alterações genéticas sempre muito discretas ao longo do processo evolutivo. 95

Page 112: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

É útil porque torna possível criar seqüências de tarefas (combinações de genes) que

podem não ter sido obtidas pelo operador cruzamento e lograr introduzir modos (ge-

nes) que não ocorreram na população corrente. Duas variantes de mutação são tes-

tadas.

O operador mutação idealizado guarda forte semelhança com a fase de melhoria da

GRASP já descrita. Aplica-se com probabilidade pmut e induz modificação no genótipo

de cada novo indivíduo. Um inteiro 1 ≤ q < J-1 é extraído aleatoriamente. Todos os

pares de tarefas ji e ji+1, q ≤ i < J são passíveis de mutação, contanto que atendam

simultaneamente a duas condições:

• Se a tarefa ji+1 não for sucessora imediata de ji e;

• Se houver um modo de menor duração para a tarefa ji+i.

No caso afirmativo, as tarefas são permutadas e a ji+i. é atribuído o primeiro modo

entre {1,..., I1ij

M+

} cuja duração seja menor que a imposta pelo modo atual.

Também se tenta (cf. subseção 6.x) uma modalidade de operador mutação aplicada

com probabilidade pmut a cada novo indivíduo. Sugerida por Hartmann (1997a), funci-

ona do modo seguinte: dois números inteiros q1 e q2 são extraídos aleatoriamente,

com 1 ≤ q1 < J e 1 ≤ q2 ≤ J. As tarefas Iq1

j e I1q1

j + são permutadas se isso não violar a

restrição de precedência, mas sem acarretar nenhuma alteração nos modos de pro-

cessamento das tarefas, que são mantidos. Adicionalmente, atribui-se um novo

modo de execução para a atividade da posição q2 , a saber, redefine-se mI( Iq2

j ), ex-

traindo-se aleatoriamente um número inteiro do intervalo {1,..., I2qj

M }.

SeleçãoA seleção se dá por um simples mecanismo que permite a sobrevivência apenas

dos indivíduos mais bem adaptados. Constrói-se um ranking baseado no valor do

makespan dos 2*NIND indivíduos. O tamanho original da população é restabelecido

ao se manter os NIND indivíduos de melhor nível de adaptação, sendo os demais re-

movidos da população, isto é, morrem. Empates são decididos arbitrariamente. Este

critério mostrou ser o de melhores resultados entre outros possíveis (Hartmann

1997a).

96

Page 113: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

5.5.2 Heurística Híbrida PropostaGraças a seu desempenho marcadamente superior, algoritmos híbridos de busca

são largamente empregados na otimização combinatória (Goldberg, 1989). Caracte-

rizam-se por harmonizar, parcial ou totalmente, duas ou mais técnicas típicas de mé-

todos já consagrados. A idéia básica que norteia heurísticas dessa natureza é torná-

las ecléticas, no sentido de tentar agregar as melhores particularidades de seus pro-

cedimentos constituintes com o que ensejar soluções igualmente melhores.

De outro lado, é sabido que num método evolucionário a população inicial desempe-

nha um papel mais importante do que meramente fornecer indivíduos para ação dos

operadores genéticos. Com efeito, sua qualidade inicial pode repercutir ao longo de

todo o processo algorítmico. Em outras palavras, o bom desempenho do método

pode depender da “higidez” dos indivíduos pioneiros como um todo. Este raciocínio

motivou a configuração da heurística evolucionária híbrida (HH) que doravante se

descreve.

Opta-se então por tentar conjugar as “virtudes” da GRASP com as do algoritmo ge-

nético, isto é, a heurística denomina-se evolucionária híbrida porque incorpora abor-

dagens que distinguem uma GRASP e outras, tipicamente vinculadas a algoritmos

genéticos: a população original é toda gerada pela GRASP detalhada na seção 5.x

e, a partir daí, a heurística assume o comportamento do algoritmo genético tal como

apresentado na seção anterior. Isso significa que o pseudocódigo da HH coincide

exatamente com o do AG da figura 5.5, exceto pela linha 3a: o algoritmo aleatório

puro AP é substituído pela GRASP na formação dos indivíduos (SCi, e respectivos

modos Mi) da população inicial POP1. Como seus detalhes funcionais corresponden-

tes são idênticos nos algoritmos constituintes mencionados e já apresentados, a HH

não é aqui objeto de descrição mais minuciosa.

97

Page 114: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Capítulo 6Onde se relatam os testes computacionais comparativos das heurísticas propostas

Experimentos Numéricosgora que se tem devidamente modelado o PSP da indústria de petróleo em

estudo, as heurísticas desenvolvidas para resolvê-lo já descritas e montados

os conjuntos de instâncias representativas do problema, são apresentados os resul-

tados dos testes computacionais comparativos efetuados.

AComo o interesse é estabelecer menores prazos de encerramento para os projetos,

via alocação dos recursos às tarefas, a função-objetivo se refere sempre ao critério

de performance minimização do makespan. Portanto, o desempenho relativo de uma

heurística é suposto tanto melhor quanto menor o makespan do correspondente es-

calonamento produzido.

Os algoritmos foram codificados em Object Pascal e compilados com a IDE Delphi III

em ambiente Windows 98. Os experimentos numéricos foram conduzidos num mi-

crocomputador Pentium II com clock-pulse de 266 MHz e 64 Mb de RAM.

O capítulo tem o seguinte leiaute: a seção 6.1 descreve o ajuste das meta-heurísti-

cas, visando a estabelecer seu melhor funcionamento; os testes computacionais pro-

priamente ditos são expostos e interpretados na seção 6.2, onde também se discute

a influência dos parâmetros de problemas RF e RS e a eficiência das heurísticas. Por

fim, alguns comentários adicionais são colocados na seção 6.3.

6.2 Configuração das Meta-heurísticasTestes preliminares são conduzidos objetivando calibrar os valores dos parâmetros

κ, para a GRASP, e POP e Pmut, para as heurísticas evolucionárias. Para estas últi-

mas, também se define a melhor entre duas modalidades possíveis do operador mu-

tação. O conjunto de instâncias de 50 tarefas, J50, foi empregado nos experimentos

com 30s de CPU.98

Page 115: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

6.1.1 Ajuste dos parâmetrosObjetivando a utilização dos métodos GRASP, AG e HH no seu ponto ótimo de fun-

cionamento, ensaiam-se as várias possibilidade dos parâmetros funcionais de modo

a encontrar seus níveis de desempenho maximizado.

GRASPComo já aludido no capítulo 4, para a GRASP, o parâmetro de relaxação κ, para da-

das características de problema, deve sofrer ajuste fino antes de seu emprego efeti-

vo. Tal parâmetro, pertencente ao intervalo real [0,1], estipula o percentual que bali-

za a lista restrita de candidatos, RCL. Quando κ = 0, a GRASP torna-se completa-

mente míope, ou seja, a escolha da tarefa do conjunto das elegíveis recai sobre

aquela que melhor atende a regra de prioridade e, se não fosse pela fase de busca

local, computaria sempre uma mesma solução, não importando o número de itera-

ções; de outro lado, se κ = 1, o método, também na fase de construção, adquire ca-

ráter puramente aleatório. O conjunto de teste J50 foi empregado como dado de en-

trada em testes com critério de parada de 30s de CPU. A tabela 6.1 mostra o resul-

tado de rodadas sucessivas da GRASP com os valores de κ e respectivos valores

médios da função objetivo, i.é, média de makespan dos 360 projetos de J50.

A GRASP calcula a média mínima de makespan de 78,71 dias para κ = 0,65. Por-

tanto, assume-se que este valor é o que deve ser ajustado para testar todos os con-

juntos de problemas. Note-se que para κ nulo, o valor 79,50 é pouco satisfatório ao

passo que, para κ igual à unidade, a média de 80,66 dias é a pior para efeito de mi-

nimização de makespan dos projetos.

GRASP J50 - 30 s

κ Média de Makespan0,0 79,500,2 79,240,35 78,950,5 78,770,65 78,71*0,8 78,761,0 80,66

Tabela 6.1: Calibração do parâmetro κ.

99

Page 116: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Algoritmo Genético (AG)Em procedimentos meta-heurísticos, o operador mutação pode gerar genótipos que

não ocorreram antes, o que costuma ser útil como forma de melhor explorar o espa-

ço de busca. A mutação é fato raro, que se dá com algum nível de probabilidade,

Pmut, o qual deve ser predefinido. Igualmente, o tamanho da população inicial, POP,

também deve ser conhecido a priori, como dado de entrada. Os efeitos de POP e

Pmut interagem ao longo de todo o processamento, de modo que ambos devem ser

analisados conjuntamente. O procedimento estará em sua melhor forma como fun-

ção do par (POP, Pmut). A modulação do AG deve, assim, observar essa interdepen-

dência. A tabela 6.2 exibe os valores da função-objetivo para as diversas combina-

AG J50 - 30 s

Pop. Inicial Pmut Makespan médio10 0,0 86,67

0,2 80,740,4 80,600,6 79,990,8 80,251,0 81,02

20 0,2 79,170,4 79,06*0,6 79,530,8 79,67

30 0,2 79,810,4 79,750,6 80,010,8 80,23

40 0,2 81,010,4 80,750,6 80,940,8 80,93

50 0,2 81,700,4 81,550,6 81,750,8 81,57

60 0,2 82,360,4 82,190,6 82,190,8 82,12

Tabela 6.2: Probabilidade de Mutação – Pmut.

100

Page 117: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

ções (POP, Pmut). Novamente o conjunto de instâncias J50 foi usado, com 30s de

CPU em cada execução.

A menor média de makespan foi alcançada com os valores 20 para POP e 0,4 para

Pmut. Conjectura-se que valham também para problemas assemelhados, com o que

são adotados doravante para todos os testes das heurísticas evolucionárias (AG e

HH).

Pela análise da tabela 6.2, percebe-se, para uma POP de 10 indivíduos, os corres-

pondentes valores médios de 86,67 e 81,02 para o makespan quando se usam 0,0 e

1,0 para Pmut, respectivamente. São resultados sofríveis – de fato, os piores – quando

comparados com os demais naquela população. Isto dá bem a medida dos efeitos, a

exemplo da evolução natural, da mutação: no primeiro caso, ela nunca acontece; no

segundo, o genótipo sempre está sujeito à mutação. Mas, como já se disse anterior-

mente, a mutação genética é fato raro na evolução biológica. Digno de nota é que, à

medida que a população inicial POP cresce, a partir de 20 indivíduos, o procedimen-

to computa médias de makespan cada vez maiores.

6.1.2 Definição do Operador Mutação Na subseção 5.5.2 são descritas duas configurações para o operador mutação: um primeiro, proposto pelo presente estudo e um segundo, sugerido por Hartmann (1997a). Agora, ambos os operadores mutação têm cotejados seus resultados para um mesmo ambiente de PSP. É o que pode ser visto na tabela 6.3 que se segue.Para POP=20, Pmut = 0,4 e 30s de processamento, a menor média de makespan das

360 instâncias analisadas é obtida com o operador proposto. Como o que se preten-

de é minimizar o makespan, este último é adotado como o operador mutação dos

procedimentos evolucionários deste trabalho (AG e HH). Presume-se, com isso, que

tal configuração é também a mais conveniente para uso em instâncias de maior por-

te de problema análogos, como é o corrente caso.

AG J50 - 30s – POP = 20, Pmut = 0,4

Algoritmo Média de MakespanProposto 79,06Hartmann 1997 80,80

Tabela 6.3: Teste comparativo entre opera-dores mutação.

101

Page 118: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

6.2 Experimentos Numéricos ComparativosOs três conjuntos de instâncias, J50, J100 e J200, são submetidos separadamente

aos algoritmos, agora já devidamente calibrados. Numerosos testes comparativos

são efetuados e seus resultados são interpretados para efeito de definição de de-

sempenho relativo dos algoritmos.

6.2.1 Testes com o conjunto J50Dos três conjuntos de teste, J50 é o que reúne os problemas de escalonamento rela-

tivamente mais fáceis. São na verdade instâncias de médio porte, representando

projetos de 50 tarefas cada uma delas. Todas as 360 instâncias se submetem a

cada uma das heurísticas em 30s de CPU para cada execução.

A tabela 6.4 a seguir mostra os resultados, com os algoritmos e a média de makes-

pan correspondente computada. A HH apresenta o melhor desempenho para ma-

kespan, vis-à-vis as demais heurísticas, para 77,07 dias de makespan médio. Por or-

dem de qualidade de resultados, a seqüência das demais é dada por GRASP, AG,

AP. Recorde-se que o que se persegue é a minimização do makespan de cada um

dos projetos. É de se notar que o AG e a GRASP têm performance bem próximas.

Numa análise simplificada, i.é, considerando que o prazo de encerramento dos pro-

jetos seja função apenas da programação das tarefas, os projetos na prática apre-

sentariam, em média, mais de 12 dias de atraso se obedecessem a um escalona-

mento ditado pelo AP em vez de pela HH.

6.2.2 Testes com o conjunto J100Os problemas de escalonamento de dificuldade relativa intermediária estão agrupa-

dos no conjunto J100. Mas de fato as instâncias de J100 representam problemas de

grande porte, contando 100 atividades cada um.

J50 - 30 s

Algoritmo Makespan médioHH 77,07GRASP 78,71AG 79,06AP 89,46

Tabela 6.4: Teste comparativo entre as heurísticas com o conjunto J50.

102

Page 119: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Como critério de parada para todos os algoritmo, o processamento de cada instância

demandou 120s de CPU. Na tabela 6.5 a seguir, podem ser lidos os resultados.

Novamente a HH supera as demais em perfomance, com 80,26 de média de makes-

pan. Na seqüência, GRASP, AG, AP. Note-se a grande discrepância entre o valor

médio de 97,65 dias computado pelo AP quando confrontado com as outras.

6.2.3 Testes com o conjunto J200Essas são as instâncias de solução mais laboriosa. Com efeito, os PSP’s do conjun-

to J200 exige programação de 200 tarefas e atribuição de seus respectivos modos

de execução. Duas seqüências de testes são conduzidas, as quais se diferenciam

pelo critério de parada. Na primeira seqüência, as quatro heurística têm 300s de

CPU para cálculo do makespan de cada instância, enquanto na segunda seqüência

o critério de parada é o atingimento de 480s em cada rodada. As tabelas 6.6 e 6.7 a

seguir mostram os resultados.

A ordem de superioridade das heurísticas de novo se repete. Novamente, para am-

bas as baterias de testes, a melhor perfomance é apresentada pela HH com 87,14

J200 - 300 s

Algoritmo Makespan médioHH 87,14GRASP 87,88AG 91,11AP 115,46

Tabela 6.6: Teste comparativo entre as heurísticas com o conjunto J200 em 300s.

J100 - 120 s

Algoritmo Makespan médioHH 80,26GRASP 81,79AG 82,37AP 97,65

Tabela 6.5: Teste comparativo entre as heurísticas com o conjunto J100.

103

Page 120: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

de makespan em 300s e 86,72 dias em 480s de CPU. O ranking se completa – sem

surpresas, nos dois casos – com GRASP, AG, AP.

Note-se que o acréscimo de 180s de CPU de um experimento para outro fez melho-

rar muito pouco os resultados. Concedeu-se um tempo 60% maior e o makespan

médio para todas as heurísticas diminuiu apenas 0,8%, em média. Isso vem em de-

corrência do grande esforço computacional exigido para construção e verificação de

um escalonamento, como adiante se demonstra. Com isso se pode aquilatar a enor-

me dificuldade inerente aos problemas combinatórios dessa dimensão.

6.2.4 Eficiência dos AlgoritmosEntre as medidas costumeiras de desempenho de algoritmos, uma das mais repre-sentativas é a eficiência. Como forma de medir a eficiência dos algoritmos imple-mentados, opta-se aqui por aferir quantitativa e qualitativamente as soluções heurís-ticas emanadas como função do tempo de processamento. Isto está de acordo com o que recomendam Jackson et. al. 1991 (Guidelines for reporting results of computa-tional experiments. Report of the ad hoc committee):a eficiência de um algoritmo mede, simultaneamente, o esforço computacional requerido para se obter uma solu-ção (e.g., tempo de CPU, número de avaliações e número de iterações) e a sua qua-

lidade (e.g., acurácia).

J200 – 480 s

Algoritmo DesvioAP 0,234367AG 0,159491GRASP 0,139266 HH 0,135287

Tabela 6.8: Desvio médio das heurísticas em relação ao limitante inferior CPM.

J200 – 480 s

Algoritmo Makespan MédioHH 86,72GRASP 87,76AG 90,09AP 113,80

Tabela 6.7: Teste comparativo entre as heurísticas com o conjunto J200 em 480s.

104

Page 121: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

As tabelas 6.8 e 6.9 são empregadas para análise da qualidade e quantidade das

soluções, respectivamente. Na tabela 6.8 se apresentam os desvios médios das so-

luções em relação ao respectivo limitante inferior estabelecido pelo caso trivial, i.é,

sem restrição de recursos, tal como no CPM, enquanto na tabela 6.9 pode ser lido o

número médio de escalonamentos avaliados em cada rodada de um procedimento

em 480s de CPU para o conjunto J200.

Com respeito à eficiência relativa ao AP, destaque para o AG: a população inicial é

toda gerada pelo AP, e o AG é capaz de produzir aproximadamente 50% a mais de

escalonamentos e consegue resultados bem melhores. Eis aí um traço que corrobo-

ra as vantagens, no que tange a simplicidade e eficácia, da auto-aprendizagem dos

métodos evolucionários.

A GRASP tem desempenho pior no que concerne à quantidade de soluções. Isso

decorre do grande esforço computacional despendido na montagem da RCL e verifi-

cação do escalonamento, na fase de construção, e iterações da fase de busca local.

Não obstante, demonstra aproveitar muito bem este dispêndio, ao direcionar sua

busca para espaços de melhores soluções, em menor quantidade de escalonamen-

tos, p. ex., do que o AG.

O algoritmo AP tem resultados intermediários na quantidade de escalonamentos que

verifica. Contudo, a qualidade da solução é sofrível (cf. tabela 6.8). De qualquer

modo, certamente a resposta é bem melhor do que simplesmente uma sucessão

viável.

A HH parece ser a que melhor consegue conciliar quantitativa e qualitativamente as

soluções encontradas. Sob este ponto de vista, pode ser eleita a de maior eficiência

vis-à-vis as demais heurísticas.

J200 – 480 s

Algoritmo # escalonamentosAG 653,58HH 432,52AP 417,91GRASP 200,61

Tabela 6.9: Número médio de escalona-mentos avaliados pelas heurísticas em 480 s.

105

Page 122: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Cumpre notar o enorme esforço computacional exigido para atingir uma única solu-ção: em média, consome-se mais de 1s (cf. tabela 6.9). Eis aí uma medida da di-mensão incomensurável do PSP em questão.

6.2.5 Efeitos dos Parâmetros de Problema RF e RSTambém, visando a uma maior abrangência e melhor compreensão dos testes reali-

zados, investigam-se os efeitos dos parâmetros de problemas RF e RS nas respostas

das heurísticas (cf. subseção 4.3.1). O fator recurso, RF, dá a medida da porção mé-

dia dos recursos demandada por tarefa do problema; a potência dos recursos, RS,

reflete sua escassez.

Na figura 6.1 a seguir tem-se o gráfico cartesiano no qual os valores de makespan

são plotados contra as instâncias correspondentes. Pelo exame da figura, percebe-

se grande uniformidade no comportamento dos algoritmos quando tomados em con-

junto. Da esquerda para a direita, o RF cresce de 0,25 até 1,0. Nota-se que o de-

sempenho das heurísticas é pouco sensível ao valor do RF , já que o perfil se repro-

duz em 4 ciclos, com discreta elevação na média do makespan.

Contrariamente, o RS influencia fortemente os resultados. A cada ciclo de 90 instân-

cias, o RS varia em três níveis: 0,2, 0,4 e 0,6. Há três patamares bem definidos em

cada um dos ciclos, cada qual correspondendo a um grupo de 30 problemas, de

igual RS. O valor do makespan calculado decresce com o incremento da disponibili-

dade de recursos e cresce com a escassez. Os maiores makespan são aqueles cor-

respondentes aos problemas de RS=0,2, ao passo que, em sendo pouco restrito o

problema, o makespan diminui bastante, como quando RS=0,6.

Não apenas em média, mas sistematicamente, a heurística híbrida apresenta perfor-

mance que supera as demais. Ratificando isso, a figura 6.2 exibe o que poderia ser

tomado como zum da região do gráfico da figura 6.1 compreendida entre as instânci-

as J20001 e J20030, o que permite melhor visualização. Percebe-se nitidamente o

desempenho superior da HH e isso se repete para todas as instâncias e em todos os

conjuntos de teste, embora não inteiramente demonstrado aqui.

106

Page 123: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

DESEMPENHO DAS HEURÍSTICASJ200 - 480s

45

55

65

75

85

95

105

115

125

135

145

155

165

175

1 11 21 31 41 51 61 71 81 91 101

111

121

131

141

151

161

171

181

191

201

211

221

231

241

251

261

271

281

291

301

311

321

331

341

351

361

Instância

Mak

espa

n

AP AG GRASP HH

Figura 6.1: Instância vs. makespan comparando todas as heurísticas

107

Page 124: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

DESEMPENHO DAS HEURÍSTICASJ200 - 480s

100

110

120

130

140

150

160

170

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Instâncias

Mak

espa

n

AP AG GRASP HH

Figura 6.2: Resultados com todas as heurísticas do makespan para as 30 primeiras instâncias

108

Page 125: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

6.3 Considerações FinaisPara os três conjuntos de problemas, J50, J100 e J200, a HH é a de melhor desem-

penho no cômputo dos escalonamentos de menor makespan. Por conseqüência, a

estratégia de somar as melhores características de dois métodos distintos foi, sem

dúvida, plenamente exitosa. O que difere a HH do AG é exclusivamente o grau de

adaptação dos POP indivíduos que ambas recebem como população inicial. A popu-

lação inicial da HH, sendo gerada pela GRASP, incorpora indivíduos que represen-

tam soluções de melhor qualidade. Esse fato confirma a grande influencia da popu-

lação inicial na resposta dos métodos evolucionários. Para as outras heurísticas,

pela ordem de qualidade dos resultados, o ranking geral, computados todos os pro-

blemas, é GRASP, AG e AP.

É relevante aqui reiterar a substancial diferença entre um seqüenciamento mera-

mente viável e outro, de makespan minimizado, na prática do gerenciamento de pro-

jeto. Para sublinhar o raciocínio, seja, como exemplo, a tabela 6.7. A diferença mé-

dia, entre os encerramentos dos 360 projetos cuja programação foi produzida pelo

procedimento AP e aquelas proporcionadas pela HH é por volta de 27 dias, ou um

atraso médio de 31% nos prazos – ressalte-se que o AP, de fato, faz mais que sim-

plesmente produzir um escalonamento viável, ao optar pela melhor dentre as solu-

ções visitadas). Se imediatamente transposto para a receita adicional que proporcio-

naria no caso das companhia de petróleo em termos de antecipação de produção,

isso pode significar cifras milionárias. Claro está que há fatores envolvidos que não

estão sendo aqui devidamente ponderados como, entre outros, o caráter estocástico

das durações e intercorrências nas operações. De qualquer sorte, todavia, um esca-

lonamento otimizado sempre vai potencialmente favorecer o acerto na tomada de

decisão na gestão dos tempos de um projeto.

Page 126: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Capítulo 7Onde o projeto de pesquisa conhece sua fase de encerramento

Conclusões, Recomendações e Futuras Pesquisaseste trabalho pretendeu-se de alguma forma contribuir com um estudo de caso de interesse regional, ao tratar um problema de alocação de recursos crí-

ticos às atividades em poços da bacia de Campos. O caso recebe tratamento de problema de escalonamento de projeto da classe MRCPSP, cuja nomenclatura é MPS|prec|Cmax e para o qual procedimentos aproximados são propostos. Antes dis-so, apresenta os fundamentos do gerenciamento de projeto, no qual o caso é situa-do.

N

As contribuições deste trabalho podem ser assim sumariadas:• Estudo de caso de interesse regional;

• Geração de três conjuntos de instâncias de teste, de médio e grande portes,

disponíveis também para futuras pesquisas na área;

• Proposição de uma GRASP e uma heurística evolucionária híbrida inéditas

para o MRCPSP;

• Implementação de códigos computacionais de um total de quatro heurísti-

cas de solução aproximada para o caso em estudo;

• Definição da heurística mais eficiente entre as quatro estudadas por meio

de experimentos numéricos exaustivos.

7.1 Conclusões

Com respeito à qualidade e robustez das heurísticas propostas, os resultados

empíricos sugerem que a heurística híbrida domina todas as demais, todo o tempo e

em todos os conjuntos de teste. A HH é a que melhor consegue conciliar quantitativa

e qualitativamente as soluções visitadas. Sob este prisma, pode ser eleita a de maior

eficiência, vis-à-vis os demais algoritmos. Isso evidencia as vantagens, no que tange

a simplicidade e eficácia, da auto-aprendizagem dos métodos evolucionários e ro-

bustece a idéia de que futuras pesquisas nessa direção são prometedoras.110

Page 127: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Em que pese sua performance ter sido a pior no que respeita a quantidade de solu-

ções, a GRASP prova ótimo rendimento, ao direcionar sua busca para espaços de

melhores soluções, em menor quantidade de escalonamentos. É seu grande esforço

computacional despendido na montagem da RCL e verificação do escalonamento,

na fase de construção, e iterações da fase de busca local que resulta em menor nú-

mero de escalonamentos produzidos.

O algoritmo AP tem resultados intermediários na quantidade de escalonamentos que

verifica. Contudo, a qualidade da solução é sofrível De qualquer modo, certamente

a resposta é bem melhor do que simplesmente uma seqüenciamento viável. O algo-

ritmo genético, por sua vez, consegue melhorar extraordinariamente as soluções

quando comparado com o algoritmo AP.

Um teste completo das quatro heurísticas apenas com o conjunto J200 exige 192 h (oito dias) de CPU. Eis aí uma medida da complexidade e magnitude do MRCPSP estudado.Como visto, para os três conjuntos de problemas, J50, J100 e J200, a HH é a de

melhor desempenho no cômputo dos escalonamentos de menor makespan. Por

conseqüência, a estratégia de conjugar as melhores características de dois métodos

distintos foi bem-sucedida. Comprova-se, adicionalmente, a forte influencia da popu-

lação inicial na resposta dos métodos evolucionários, de vez que a HH difere do AG

apenas pela sua população inicial. Para as heurísticas, pela ordem de qualidade dos

resultados, o ranking geral, computados todos os problemas, é HH, GRASP, AG e

AP.

Também, objetivando melhor compreensão dos testes realizados, investigam-se os

efeitos dos parâmetros de problemas RF e RS nas respostas das heurísticas . O fator

recurso, RF, dá a medida da porção média dos recursos utilizados por atividade do

projeto, ao passo que a potência dos recursos, RS, espelha sua escassez. Verifica-

se que o desempenho das heurísticas é pouco sensível ao valor do RF, enquanto o

contrário se dá com RS, que influencia grandemente os resultados. Um problema tor-

na-se mais difícil à medida que o RS cresce, quer dizer, à medida que mais recursos

ficam indisponíveis.

A partir dos experimentos levados a cabo, pode-se aquilatar a expressiva diferença

entre um seqüenciamento meramente viável e outro, de makespan minimizado, na

prática do gerenciamento de projeto. Desconsiderando fatores outros, o atraso pode

implicar substanciais perdas de receita. No caso de companhia de petróleo, em ter-

mos de antecipação de produção, isso pode importar grandes somas. Ademais, um

111

Page 128: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

escalonamento otimizado tende a favorecer o acerto na tomada de decisão no que

concerne à gestão dos tempos de um projeto.

7.2 Recomendações Crescentemente, o Brasil será palco de lançamento de grandes obras, requeridas

para o seu desenvolvimento econômico, represado há anos. Antevê-se mais e mais

exigência de competência e diligência na condução dos projetos. Como uma socie-

dade sintonizada com seu tempo, no qual cada vez mais se consomem insumos

cognitivos, a necessidade da formalização e disseminação do aprendizado do geren-

ciamento de projeto desponta no pais. A despeito disso, o ambiente universitário

brasileiro carece do gerenciamento de projeto como disciplina dos cursos regulares

e, inevitavelmente, os projetos acabam por se ressentir disso. O cenário recomenda

que os currículos de cursos tais como os de graduação em Administração e Enge-

nharia de Produção contemplem o gerenciamento de projeto como disciplina.

Por outro lado, embora tenham se tornado imprescindíveis ao moderno gerencia-

mento de projeto, aplicativos comerciais deixam a desejar. Em que pese a sua boa

evolução nos últimos anos em termos gerais, e também com relação à capacidade

de geração de escalonamentos de melhor qualidade, nesse particular tais software

são bem limitados quando aplicados a problemas que não de pequeno porte. Melhor

dizendo, sua capacidade de geração de escalonamento de boa qualidade ainda está

longe dos resultados obtidos por métodos mais recentes. Além disso, os programas

disponíveis não conseguem capturar todas as singularidades do PSP subjacente a

todo projeto. Como exemplo, a possibilidade de modos alternativos de execução, in-

dispensável para se lidar com o MPS|prec|Cmax, não está prevista nesses programas.

Sugere-se que corporações, onde grandes e complexos projetos sejam uma cons-

tante, desenvolvam códigos computacionais complementares – add in – que funcio-

nem combinados com os software comerciais, compartilhando dados, de modo a tor-

ná-los customizados e melhor possa atender às necessidades de cada empresa, em

cada projeto, no que tange ao escalonamento.

7.3 Futuras PesquisasDe modo a viabilizar um trabalho experimental deste tipo, como é natural, algumas

hipóteses simplificadoras foram consideradas, o que delimita sua abrangência. Obje-

112

Page 129: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

tivando ampliar suas conclusões de modo que possam valer para casos ainda mais

realistas, algumas linhas de pesquisas futuras poderiam ser:

• A duração das atividades antes de ser determinística, é de fato uma variável ale-

atória (cf. Brucker et. al., 1998a). Mais estudos devem ser levados a efeito para a

modelagem do problema como um PSP estocástico.

• O modelo seria mais completo se os seus recursos fossem enquadrados na cate-

goria dos parcialmente renováveis (Drexl et al., 1998). Há casos, como os da ár-

vore de natal molhada, ANM, cuja disponibilidade varia no tempo, seja pelo uso,

seja pelo prazo de entrega do fabricante, e são melhor capturados por esta cate-

goria de recursos.

• O critério de performance dos PSP’s analisados sempre é a minimização do lap-

so decorrido a partir do início até a conclusão do projeto (makespan). Todavia,

outros critérios podem ser levados em conta como, p. ex., vazão esperada dos

poços e custos globais do projeto. Um problema deste tipo diz-se multicritério (cf.

Slowiński et al., 1994; Deckro & Hebert, 1990; e Cortes, 1998) e deve ser estuda-

do no futuro, com o que melhor subsidiar a tomada de decisão.

• Adicionalmente, o processamento computacional em paralelo pode ser tentado,

de vez que se trata de problemas que reclamam enorme carga computacional.

Com isso se estaria tirando partido da notável adequação das meta-heurísticas a

este ambiente (Mavridou et al., 1995).

113

Page 130: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Simbologia & Definições

p = 1, ..., P : projetos

πj (εj) : release date (due date) da tarefa j

πp (εp) : release date (due date) do projeto p

cjmt : fluxo de caixa induzido pela tarefa j no modo m e término em t

cp : custo incorrido por período se o projeto p se concluir após seu prazo devido (due date)

FJp(LJp) : numero da primeira (última) tarefa do projeto p

J : conjunto das tarefas j, |J|=J+2

J : número de tarefas reais (i é, não-fictícias)

j = 0 (J+1) : única fonte (sumidouro) da rede

Pj(Sj) : conjunto dos predecessores (sucessores) imediatos da tarefa j

At : conjunto das tarefas ativas (em execução) no tempo t

ESTj (LSTj) : tempo mais cedo (mais tarde) de início da tarefa j

EFTj (LFTj) : tempo mais cedo (mais tarde) de conclusão da tarefa j

STj : tempo de início da tarefa j

FTj : tempo de conclusão da tarefa j

SC vetor escalonamento com permutação viável das tarefas j ∈ J

ST : vetor escalonamento com os tempos de início STj

FT : vetor escalonamento com os tempos de conclusão FTj

M vetor dos modos de execução mj T : limitante superior do makespan do projeto (horizonte de tempo)

R(N,D) : conjunto dos recursos renováveis (não-renováveis, duplamente restri-tos)

r ∈ R(N,D) : índice do recurso demandado (consumido)

114

Page 131: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Mj : número de modos pelos quais a tarefa j pode ser executada

m=1, ..., Mj : modos possíveis de execução da tarefa j

djm : duração da tarefa j executada no modo m

ρjmrk : uso por período do recurso renovável (duplamente restrito) r exigido

para executar a tarefa j no modo m

νjmrk : consumo total do recurso não-renovável (duplamente restrito) r para

executar a tarefa j no modo m

ρrK : disponibilidade por período do recurso renovável (duplamente restri-

to) r

νrK : disponibilidade total do recurso não-renovável (duplamente restrito) r

K (modificar) : número total (itens) dos diferentes recursos , K =|R|+|N|+|D|

115

Page 132: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Bibliografia

Agrawal, M.K., Elmaghraby, S.E., Herroelen, W.S., (1996), “A generator of test-sets for project activity nets.”, European Journal of Operational Research, 90: 376-382.

Alvares-Valdés, R., Tamarit, J. M., (1993), “The project scheduling polyhedron: Dimension, facets and lifting theorems”, European Journal of Operational Research, 67: 204-220.

Alvares-Valdés, R., Tamarit, J. M., (1996), “Heuristic algorithms for resource-constrained project scheduling: A review and an empirical analysis “, ed. Slowiński, R. e Weglarz, J., Advances in Project Scheduling, Elsevier, Amsterdam, pp. 113-134.

Antonisse, J.M., Hee, K.M., Lenstra, J.K., (1988)T., Brucker, P., Knust, S., (1997), “Resource-constrained project scheduling: an international exercise in DSS development”, Decision Sciences, 4:249-257.

Assad, A. A., Wasil, E.A., (1986), “ Project management using a microcomputer ”, Computers & Operations Research, 13(2/3): 231-260.

Baar, T., Brucker, P., Knust, S., (1997), “Tabu-search algorithms for the resource-constrained project scheduling problem”, Relatório Técnico, Osnabrücker Schriften zur Mathematik, Fachbereich Mathematik/Informatik, Universität Osnabrücker, Alemanha, 14p.

Baker, K. R., (1974), “Introduction to Sequencing and Scheduling”, a1 ed., New New York, John Wiley & Sons, tal p.

Balas, E., (1969), “Machine sequencing via disjunctive graphs: An implicit enumeration algorithm”, Operations Research, 17: 941-957.

Bandelloni, M., Tucci, M., Rinaldi, R., (1994), “Optimal resource leveling using non-serial dynamic programming ”, European Journal of Operational Research, 78: 162-177.

116

Page 133: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Bell, C.E., Han, J., (1991), “A new heuristic solution method in resource constrained project scheduling ”, Naval Research Logics, 38: 315-331.

Bhargava, (1996), “Decision support on demand: Emerging electronic markets for decision technologies “. Decision Support Systems, fevereiro 1996.

Bixby, N., Boyed, E. (1996), “Using the CPLEX callable library”, CPLEX Optimization Inc., Houston,TX.

Blażewicz, J., Lenstra, J. K., Rinnooy, G., (1983), “Scheduling subject to resource constraints: classification and complexity”, Discrete Applied Mathematics, 5: 11-24.

Blażewicz, (1996), “The job shop scheduling problem: Conventional and new solution tecniques”, European Journal of Operational Research, 93: 1-33.

Boctor, F. F., (1993), “Heuristics for scheduling projects with resource restrictions and several resource-duration modes ”, International Journal of Production Research, 31(11): 2547-2558.

Boctor, F. F., (1996), “A new and efficient heuristic for scheduling projects with resource restrictions and multiple execution modes”, European Journal of Operational Research, 90: 349-361.

Boctor, F. F., (199X), “An adaptation of the simulated annealing algorithm for solving resource-constrained project scheduling problems ”, International Journal of Production Research, 3x(11): .

Bouleimen, K., Lecocq, H., (1998), “A new efficient simulated annealing algorithm for the resource-constrained project scheduling problem ”, Relatório Técnico, Service de Robotique et Automatisation, Université de Liège.

Brucker, P., Drexl, A., Möhring, R., Neumann, K., Pesch, E., (1998a), “Resource-Constrained Project Scheduling: Notation, Classification, Models, and Methods”, manuskripte aus den Instituten für Betriebswirtschaftslehre der Universität Kiel, Alemanha, 51p.

Brucker, P., Knust, S., Schoo, A., Thiele, O. (1998b),”A branch and bound algorithm for the resource constrained project scheduing problem ”, European Journal of Operational Research, 107: 272-288.

Carruthers, J.A., Battersby, A., (1966), “Advances in critical path methods”, Operations Research Quarterly, 17(4): 359-380.

Cavalcante, C.C.B., (1998), “Escalonamento com restrição de mao-de-obra: heu-rísticas combinatórias e limitantes inferiores”,Tese (Mestrado em Ciências da Computação), Campinas-SP, Unicamp, 119p.

117

Page 134: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Cho, J.H., Kim, Y.D., (1997), “A simulated annealing algorithm for resource constrained project scheduling “, Journal of the Operational Research Society, 48: 736-744.

Chong, E.K.P., akZ , S.H., (1996), “An ntroduction to optimization”, New York, John Wiley & Sons, 409p.

Cook, W., Cunningham, W., Pulleyblank, W., Schrijver, A., (1998), “Combinatorial optimization”, New York, John Wiley & Sons, 355p.

Cooper, D.F., (1976), “Heuristics for scheduling resource-constrained projects: An experimental investigation ”, Management Science, 22(11): 1186-1194.

Christofides, N., Alvares-Valdés, R., Tamarit, J. M., (1987), “Project scheduling with resource constraints: A branch and bound approach”, European Journal of Operational Research, 29: 262-273.

Chung, T. H., Carroll, H.B., (1995), “Application of fuzzy expert systems for EOR project risk analysis”, SPE 30741, Annual Technical Conference and Exhibition, Dallas, Texas.

Cortes J. M.R., (1998), “Uma contribuição para a resolução do problema de aloca-ção multiobjetivo de plataformas de produção de petróleo “,Tese (Mestra-do em Engenharia de Produção), Campos dos Goitacazes-RJ, UENF, 88p.

Davis, K. R., Stan, A., Grzybowski, A., (1992), “Resource constrained project scheduling with motiple objectives: A decision support approach ”, Computers & Opertions Research, 19(7): 657-669.

Davis, E. W., Heidorn, G.E., (1971), “An algorithm for optimal project scheduling under multiple resource constraints ”, Management Science, 17: 803-816.

Davis, E. W., (1973), “Project scheduling under resource constraints - historical review and categorization of procedures”, AIIE Transactions, 5: 297-313.

Davis, E. W., (1975), “Project network summary measures constrained-resource scheduling ”, AIIE Transactions, 7: 132-142.

Deckro, R.F., Hebert, J.E., (1990) “A multiple objective programming framework for tradeoffs in project scheduling”, Engineering Costs and Production Economics, 18: 255-264

Demeulemeester, E., Herroelen, W.S., (1992), “A branch and bound procedure for the multiple resource-constrained project scheduling problem”, European Journal of Operational Research, 90: 334-348.

Demeulemeester, E., Dodin, B., Herroelen, W.S., (1993), “A random activity network generator ”, Operations Research, 41: 972-980.

118

Page 135: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Demeulemeester, E., Herroelen, W.S, (1996), “An efficient optimal solution procedure for the preemptive resource-constrained project scheduling problem”, European Journal of Operational Research, 90: 334-348.

Demeulemeester, E., Herroelen, W.S., Elmaghraby, S.E., (1996), “Optimal procedures for the discrete time/cost trade-off problem in project networks ”, European Journal of Operational Research, 88: 50-68.

Drexl, A., Grünewald, J., (1993), “Nonpreemptve mult-imode resource-constrained project scheduling “, IIE Transactions, 25(5): 74-81.

Drexl, A., Juretzka, J., Salewiski, F., Schirmer, A., (1998), “New modelling concepts and their impact on resource-constrained project scheduling”, Handbook on Recent Advances in Project Scheduling, ed. J. Weglarz, Kluwer, Amsterdam.

Drummond, H., (1999), “Are we any closer to the end? Escalation and the case of Taurus”, International Journal of Project Management, 17: 11-16.

Elmaghraby, S. E., (1977), “Activity Networks: Project planning and control by network models ”, New York, John Wiley & Sons, xxx p.

Farid, F., Manoharan,S., (1996), “Comparative analysis of resource-allocation capabilities of project management software packages”, Project Management Journal, 24(2): 35-44.

Feo, T.A., Resende, M.G.C., (1989), “A probabilistic heuristic for a computationally difficult set covering problem ”, Operations Research Letters, 8: 67-71.

Feo, T.A., Resende, M. G. C., (1994), “Greedy Randomized Adaptive Search Procedures ”, The University of Texas, Austin, Relatório Técnico.

French, S., (1982), “Sequencing and scheduling: An introduction to the mathematics of the job-shop ”, New York, John Wiley & Sons, NY.

Gantt, H.L. (1919), “Efficiency and democracy”, Transactions of the American Society of Mechanical Engineers, EUA, 40: 799-808

Garey, M.R., Johnson, D.S., (1979), “Computer and intractability – A guide to the theory of NP-completeness ”, W.H. Freeman, San Francisco.

Glover, F. (1989),“Tabu search, Part I”,ORSA Journal on computing, 1(3):190-206.

Glover, F. (1990), “ Tabu search, Part II ”, ORSA Journal on computing, 2(3): 4-32.

Goldberg, D. E., (1989), “Genetic Algorithms in Search, Optimization, and Machine Learning”, Massachusetts, Addison-Wesley Longman, 412 p.

119

Page 136: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Graham, R.L, Lawler, E.L.,Lenstra, J. K., e Rinnooy Kan, A.H.G. (1979) “Optimization and approximation in deterministic sequencing and scheduling theory: a survey ”, Annals of Discrete Mathematics, 5: 287-326.

Günther, O., Müller, R., Schmidt, P., Bhargava, H., Krishnan, R., (1997), “MMM: A web-based system for sharing statistical computing modules”, Internet Computing, 1(3): 59-68.

Harding, A. M., (1997), “Experience whith a global optimisation approach to project scheduling and resource allocation”, SPE 38488, Offshore Europe Conference, Aberdeen, Scotland.

Hartmann, S., Drexl, A., (1997), “Project scheduling with multiple modes: A comparison of exact algorithms ”, manuskripte aus den Instituten für Betriebswirtschaftslehre der Universität Kiel, wp430, Alemanha, 22p.

Hartmann, S. (1997a), “Project scheduling with multiple modes: a genetic algorithm”, manuskripte aus den Instituten für Betriebswirtschaftslehre der Universität Kiel, wp435, Alemanha, 21p.

Hartmann, S. (1997b), “A competitive genetic algorithm for resource-constrained project scheduling”, manuskripte aus den Instituten für Betriebswirtschaftslehre der Universität Kiel, wp451, Alemanha, 18p.

Hartmann, S., Kolisch, R., (1999), “Experimetal evaluation of state-of-the-art heuristics for the resource-constrained project scheduling ”, Proceedings of INFORMS Spring Conference, Cincinatti, Ohio, EUA.

Hartmann, S. (1999), “ Self-adapting genetic algorithm with an application to project scheduling ”, manuskripte aus den Instituten für Betriebswirts-chaftslehre der Universität Kiel, Alemanha, 24p.

Heller, U., (1981), “On the shortest overall duration in stochastic project networks”, Methods of Operations Research, 42: 85-104.

Herroelen, W.S., van Dommelen, P., Demeulemeester, E.L, (1997), “Project network models with discounted cash flows – A guided tour through recent developments”, European Journal of Operational Research, 100: 97-121.

Hillier, F. S., Lieberman, G. J., (1995), “Introduction to Operations Research”, New York, McGraw-Hill, Inc., 6a ed., 998 p.

Holland, J. H. (1995), “Adaptation in natural and artificial systems ”, MIT Press, Cambridge, MA, 5ª reimpressão, 211p.

Houdayer, J., Martin, O. C., (1999), “Renormalization for discret optimization”, Loboratoire de Physique Théorique et Modèles Statistiques, Université Paris-Sud, Relatório Técnico.

120

Page 137: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Icmeli, O., Erenguc, S. S., Zappe, C. J., (1993), “Project scheduling problems: a survey”, International Journal of Operations and Production Management, 13(11): 80-91

Icmeli, O., Rom, W.O., (1997), “Ensuring quality in resource constrained project scheduling”, European Journal of Operational Research, 103: 483-496

Icmeli, O., Rom, W.O., (1998), “Analysis of the characteristics of projects in diverse industries”, Journal of Operations Management” , Technical Note, 16: 43-61

Jackson, R.H.F., Boggs, P.T., Nash, S.G., Powell, S., (1991), “Guidelines for reporting results of computational experiments. Report of the ad hoc committee”, Mathematical Programming, North-Holland, 49: 413-425

Johnson, R.V., (1992), “Resource constrained scheduling capabilities of commercial project management software ”, Project Management Journal, 22(4): 39-43.

Jüngen, F. J., Kowalczyk, W., (1995), “An intelligent interactive project management support system”, European Journal of Operational Research, 84: 60-81.

Kelley, J.E., (1963), “The critical path method: Resource planning and scheduling”, Industrial Scheduling, ed. Muth, J.F. e Thompson, G.L, Prentice-Hall, New Jersey.

Kirkpatrick, S., Gellat Jr., C.D., Vecchi, M.P., (1983), “Optimization by simulated annealing “, Science, 220: 671-680.

Kohlmorgen, U., Schmeck, H., Haase, K., (1998), “Experiences with fine-grained parallel genetic algorithm ”, manuskripte aus den Instituten für Betriebswirtschaftslehre der Universität Kiel, Alemanha, 17p.

Kolisch, R., Sprecher, A., Drexl, A., (1995), “Characterization and generation of a general class of resource-constrained project scheduling problems”, Management Science, 41(10): 1693-1703

Kolisch, R., Hempel, K., (1996), “Finite scheduling capabilities of commercial project management systems”, manuskripte aus den Instituten für Betriebswirtschaftslehre der Universität Kiel, Alemanha, no. 397, 15p.

Kolisch, R., (1996), “Serial and parallel resource-constrained project scheduling methods revisited: Theory and computation”, European Journal of Operational Research, 90: 320-333

Kolisch, R., Sprecher, A., (1996), “PSPLIB – A project scheduling problem library”, European Journal of Operational Research, 96: 205-216.

121

Page 138: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Kolisch, R., Padman, R. (1997), “An Integrated survey of project scheduling”, manuskripte aus den Instituten für Betriebswirtschaftslehre der Universität Kiel, Alemanha, wp463, 34p.

Kolisch, R., Drexl, A. (1996), “Adaptive search for solving hard project scheduling problems ”, Naval Research Logics, 43: 23-40.

Kolisch, R., Drexl, A. (1997), “Local search for nonpreemptive multi-mode resource-constrained project scheduling”, IIE Transactions 29: 987-999.

Kolisch, R., Hartmann, S., (1998), “Heuristic algorithms for solving the resource-constrained project scheduling problem: Classification and computacional analysis ”, Handbook on Recent Advances in Project Scheduling, ed. J. Weglarz, Kluwer, Amsterdam.

Kolisch, R., Schwindt, C., Sprecher, A., (1998), “Benchmark instances for project scheduling problems”, Handbook on Recent Advances in Project Scheduling, ed. J. Weglarz, Kluwer, Amsterdam.

Langley, P. (1996), “Elements of Machine Learning”, San Francisco, CA, Morgan Kaufmann, Inc., 419p.

Lee, J.K., Kim, Y.D, (1996), “Search heuristics for resource constrained scheduling”, Journal of the Operational Research Society, 47: 678-689.

Lenstra, J. K., e Rinnooy Kan, A.H.G. (1979) “Computational complexity of discrete optimization problems”, Annals of Discrete Mathematics, 4: 121-140.

Leon, V.J., Balakrishnan, R., (1995), “Strength and adaptability of problem space based neighborhoods for resource-constrained scheduling “, OR Spectrum, 17(2/3): 173-182.

Lewis, J. P. (1997), “Fundamentals of Project Management ”, New York, NY, Amacom, 117p.

Lewis, J. P. (1998), “Mastering Project Managemen: applying advanced concepts of Systems Thinking, Control and Evaluation, Resource Allocation”, New York, NY, McGraw-Hill, 319p.

Lock, D., (1997), “Project Managemen””, Hampshire, England, Gower Publishing Limited, 522p.

Maroto, C., Tormos, P., (1994), “Project management: an evaluation of software quality ”, Transactions of Operatinal Research, 1(2): 209-221.

Mausser, H.E., Lawrence, S.R., (19XXcap3), “Exploiting block structure to improve resource-constrained project schedules ”, Metaheuristics, 1(2): 209-221.

122

Page 139: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Mavridou, T., Pardalos, P. M., Pitsoulis, L., Resende, M. G., (1995), “Parallel search for combinatorial optimization: genetic algorithms, simulated annealing, tabu search and GRASP ”, Proceedings of the workshop on parallel algorithms for irregularly structured problems, Lyon, França.

Mori, M., Tseng, C.C.,(1997), ”A genetic algorithm for multi-mode resource-constrained project scheduling problem”, European Journal of Operational Research, 100: 134-141.

Morton, T. E., Pentico, D. W., (1993), “Heuristic Scheduling Systems”, New York, John Wiley & Sons, 695 p.

Nemhauser, C.L., Wolsey, L.A., (1988), “Integer and Combinatorial Optimization ”, New York, John Wiley & Sons, 763 p.

Neumann, K., Schwindt, C., (1995), “Projects with minimal and maximal time lags: construction of activity-on-node networks and aplications”, Universität Karlsruhe, Relatório Técnico, wior-447, 36p.

Norbis, M., Smith, J. M., (1996), “ An interactive decision support system for the resource constrained scheduling problem ”, European Journal of Operational Research, 94: 54-65.

Oğuz, O., Bala, H., (1994), “A comparative study of computational procedures for the resource constrained project scheduling problem ”, European Journal of Operational Research, 72: 406-416.

Özdamar, L., Ulusoy, G. (1995), “An iterative local constraint based analysis for solving the resource-constrained project scheduling problem “, Journal of Operations Management, 14(3): 193-208.

Özdamar, L., (1996), “A genetic algorithm approach to the general category project scheduling problem ”, Relatório Técnico, Marmara University, Istanbul.

Pascoe,T.L., (1966), “Allocation of resources CPM. ”, Revue Française Recherche Operationelle, 38: 31-38.

Patterson, J. H., Huber, W.D., (1974), “A horizon-varying, zero-one approach to project scheduling ”, Manegement Science, 20: 990-998.

Patterson, J. H., (1984), “A comparison of exact approachs for solving the multiple constrained resource, project scheduling problem”, Manegement Science, 30(7): 854-867.

Pinedo, M. (1995), “Scheduling: theory, algorithms, and systems”, New Jersey, Prentice-Hall, 378 p.

123

Page 140: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Pinson, E., Prins, C., Rullier, F., (1994), “Using tabu search for solving the resource-constrained project scheduling problem”, Proceedings of the 4º International Workshop on Project Management and Scheduling, pp.102-106.

Pritsker, A., Watters, W., Wolfe, P., (1969), “Multiproject scheduling with limited resources: A zero-one programming approach”, Management Science, 16: 93 –108.

Project Management Institute, (1996),”Project Management Body of Knowledge”, Pennsylvania, EUA, 176p.

Pyron, T., “Using Microsoft Project 98 – special edition”, Indiana, QUE Corporation, 989p.

Resende, M.G.C., (1998), “A bibliografy of GRASP ”, AT&T Labs Research.

Russel, A.H., (1970), “Cash flows in networks”, Management Science, 16(5): 357-373.

Salewski, F., Schirmer, A., Drexl, A., (1996), “Project scheduling under resource and mode identity constraints. Part II: an application to audit-staff scheduling”, manuskripte aus den Instituten für Betriebswirtschaftslehre der Universität Kiel, wp388, Alemanha, 24p.

Simpson, W.P., Patterson, J.H, (1996), “A multiple tree-search for the resource project scheduling problem ”, European Journal of Operational Research, 89: 525-542.

Slowiński, R., SonieWicki, B.,Weglarz, J., (1994), “DSS for multiobjective project scheduling subject to multiple-category resource constraints”, European Journal of Operational Research, 79: 220-229.

Schirmer, A., (1996a), “A guide to complexity theory in operations research”, manuskripte aus den Instituten für Betriebswirtschaftslehre der Universität Kiel, wp381, Alemanha, 46p.

Schirmer, A., (1996b), “New insights on the complexity of resource-constrained project scheduling: a case of single-mode scheduling”, manuskripte aus den Instituten für Betriebswirtschaftslehre der Universität Kiel, wp390, Alemanha, 17p.

Schirmer, A., (1996c), “New insights on the complexity of resource-constrained project scheduling: two cases of multi-mode scheduling”, manuskripte aus den Instituten für Betriebswirtschaftslehre der Universität Kiel, wp391, Alemanha, 30p.

Schirmer, A., (1997), “Advanced Biased Random Sampling in Serial and Parallel Scheduling”, manuskripte aus den Instituten für Betriebswirtschaftslehre der Universität Kiel, Alemanha, 34p.

124

Page 141: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Schirmer, A., Drexl, A., (1997), “Allocation of partially renewable resources – concept, models and applications”, manuskripte aus den Instituten für Betriebswirtschaftslehre der Universität Kiel, wp455, Alemanha, 26p.

Schirmer, A., Riesenberg, S., (1997), “Parameterized Heuristics for Project Scheduling – Biased Random Sampling Methods”, manuskripte aus den Instituten für Betriebswirtschaftslehre der Universität Kiel, wp456, Alemanha, 43p.

Schirmer, A., Riesenberg, S., (1998), “Class-base control schemes for parameterized project scheduling heuristics”, manuskripte aus den Instituten für Betriebswirtschaftslehre der Universität Kiel, wp471, Alemanha, 26p.

Schirmer, A., (1998), “Case-based reasoning and improved adaptive search for project scheduling”, manuskripte aus den Instituten für Betriebswirtschaftslehre der Universität Kiel, wp472, Alemanha, 27p.

Shaffer, L.R., Ritter, J.B., Meyer, W.L., (1965), “The critical-path method “, McGralw Hill, Nova Iorque.

Slack, N., Chambers, S., Harland, C., Harrison, A., Johnston, R., (1995), “Adminis-tração da Produção”, Editora Atlas S.A., São Paulo, SP, 722p.

Slowiński, R., (1980), “Two approaches to problems of resource allocation among project activities – A comparative study ”, Journal of the Operational Research Society, 31(8): 711-723.

Slowiński, R., SonieWicki, B.,Weglarz, J., (1994), “DSS for multiobjective project scheduling subject to multiple-category resource constraints”, European Journal of Operational Research, 79: 220-229.

Sprecher, A., Hartmann, S., Drexl, A., (1994), “Project scheduling with discrete time-resource and resource-resource tradeoffs”, manuskripte aus den Instituten für Betriebswirtschaftslehre der Universität Kiel, wp357, Alemanha, 24p.

Sprecher, A., Kolisch, R., Drexl, A., (1995), “Semi-active, active, and non-delay schedules for the resource-constrained project scheduling problem”, European Journal of Operational Research, 80: 94-102

Sprecher, A., (1997), “Solving the RCPSP efficiently at modest memory requirement ”, manuskripte aus den Instituten für Betriebswirtschaftslehre der Universität Kiel, wp425, Alemanha, 21p.

Sprecher, A., Hartmann, S., Drexl, A., (1997), “An exact algorithm for project scheduling with multiple modes ”, OR Spektrum, 19: 195-203.

125

Page 142: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

Stinson, J.P., Davis, E.W., Khumawala, B.M., (1978), “Multiple resource-constrained scheduling using branch and bound”, AIIE Transactions, 10:252-259.

Storer, R.H., Wu, S.D., Vaccari, R. (1992), “New search spaces for sequencing problems with applications to job shop scheduling “, Management Science, 38: 1495-1509.

Talbot, F.B., Patterson, J.H., (1978), “An efficient integer programming algorithm with network cuts for solving resource-constrained scheduling problems ”, Management Science 24: 1163-1174.

Talbot, F.B., (1982), “Resource constrained scheduling with time-resource tradeoffs: The non-preemptive case”, Management Science 28(10): 1197-1210.

Tavares, L.V., Ferreira, J.A.A., Coelho, J.S., (1998), “On the optimal management of project risk”, European Journal of Operational Research, 107: 451-469.

Tsai, Y-W., Gemmill, D. D., (1998), “Using tabu search to schedule activities of stochastic resource-constrained projects ”, European Journal of Operational Research, 111: 129-141.

Turner, S. K., Singer, R.V., Pegram, A., Saunders, B., (1998), “Integrated risk management in oil and gas exploration and production”, SPE 46811, International Conference on Health, Safety and Enviroment in Oil and Gas Exploration and Production, Caracas, Venezuela.

Valeriano, D.L, (1998), “Gerência em projetos – pesquisa, desenvolvimento e en-genharia”, São Paulo, Makron Books do Brasil, 438 p.

Wall, M.B. (1996), “A genetic algorithm for resouce-constrained scheduling”, Tese (Doutorado em Engenharia Mecânica), MIT- Massachusetts, EUA, 62p.

Weglarz, J., (1981), “Project scheduling with continuously-divisible, doubly constrained resources ”,Management Sciences, 27(9): 1040-1053.

de Wit, J., Herroelen, W., (1990), “ An evaluation of microcomputer-based software packages for project management ”, European Journal of Operational Research, 49: 102-139.

Zaver, M., (1998), “An integrated approach to project management, Wainwright West Project”, SPE 49064, Annual Technical Conference and Exhibition, New Orleans, Lousiana.

126

Page 143: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

AnexoAnálise de Complexidade do PSPCom o propósito de jogar alguma luz sobre complexidade no que se refere aos pro-

blemas e algoritmos de solução do PSP tratados nos capítulos precedentes, o tema

é aqui brevemente discutido. A abordagem adotada é antes aquela de maior interes-

se para a pesquisa operacional.

A teoria da complexidade é focada na tratabilidade computacional inerente aos pro-

blemas matemáticos. De há muito já se sabe que existem problemas algorítmicos

cuja solução é impossível. Mesmo dentre problemas que garantidamente são soluci-

onáveis, há casos que podem ser considerados praticamente insolúveis. Decorre daí

que, antes de se perguntar se um problema de fato tem solução, a questão de fundo

é o quão eficientemente um problema pode ser resolvido. É exatamente isso que

constitui o tema central da analise de complexidade.

Numerosos critérios já foram sugeridos para medir a eficiência de algoritmos com

respeito ao cálculo de solução exata mas, em última análise, esta se relaciona ao

tempo computacional. Assim, um algoritmo é considerado tão mais eficiente quanto

mais rapidamente resolve um dado problema. Também, a complexidade de um algo-

ritmo costuma ser expressa em termos de tempo de solução como função do tama-

nho da instância. Para cada tamanho de instância, conforme é usual, aqui a comple-

xidade baseia-se no pior caso. Coerentemente, a complexidade no tempo de um al-

goritmo estabelece o tempo requerido, no pior caso, para resolver uma instância da-

quele tamanho.

Por simplicidade, nenhuma distinção se faz entre o número de operações executa-

das por um algoritmo para solução de um problema e a duração de seu processa-

127

Page 144: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

mento, porque presume-se que cada operação se dá num mesmo espaço de tempo

(unit time measure).

Com base no pior caso, um algoritmo é considerado de tempo polinomial (ou, sim-

plesmente, polinomial) se, e somente se, sua complexidade no tempo puder ser limi-

tada por um polinômio no tamanho da instância; em caso contrário, o algoritmo diz-

se exponencial. Algoritmos polinomiais são considerados eficientes, ao passo que os

exponenciais não o são, porque aqueles, em geral, são mais rápidos do que estes.

Por extensão, a complexidade de um problema é associada à complexidade do me-

lhor algoritmo possível capaz de resolvê-lo, onde melhor algoritmo possível deve ser

entendido como aquele que apresente a mais baixa complexidade no tempo. Conso-

ante, um problema é dito polinomial se, e somente se, existir um algoritmo polinomi-

al que possa resolvê-lo; no caso contrário, o problema é referido como exponencial.

Decorre daí que, para um dado problema, a complexidade de qualquer algoritmo co-

nhecido que possa resolvê-lo fornece um limitante superior para sua complexidade.

Problemas cuja solução somente se obtém por algoritmos de tempo exponencial são

rotulados como intratáveis, i.é, não eficientemente solucionáveis; de outro lado,

aqueles problemas cuja solução se alcança a partir de um algoritmo polinomial são

ditos tratáveis.

Na prática, entretanto, a distinção entre problemas tratáveis e intratáveis é apenas

de valor restrito, de vez que, para uma vasta gama de problemas, malgrado atilados

estudos de abnegados pesquisadores, se por um lado não se encontrou um algorit-

mo polinomial para sua solução, por outro lado não se tem uma prova de sua intrata-

bilidade. Daí, hoje em dia, ao se classificar um problema em função de sua tratabili-

dade, uma distinção se faz entre os polinomiais, da classe P, daqueles ditos NP-

completos, cuja solução não conta com nenhum algoritmo polinomial conhecido.

A classe NP23 reúne os problemas para o quais uma resposta positiva tem um “certi-

ficado”, a partir do qual sua veracidade pode ser verificada em tempo polinomial. Por

exemplo, a questão:

Dado um PSP, existe um escalonamento S que seja viável em precedência e re-

cursos?

pertence à classe NP. Se a resposta é “sim”, basta simplesmente apresentar um es-

calonamento S como certificado e a resposta pode ser confirmada em tempo polino-

23 NP não significa “não-polinomial”. Leia-se como “tempo polinomial não-determinístico”128

Page 145: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

mial. Note-se que não se faz obrigatório descobrir o certificado em tempo polinomial;

é suficiente que o certificado exista com as propriedades requeridas.

Pode-se demonstrar que P ⊆ NP (Cook et al., 1998). A classe NP é, aparentemente,

muito maior que a P, e mesmo não parece haver muitas razões fazendo crer que

ambas são iguais. Não obstante, ninguém ainda foi capaz de provar que são de fato

diferentes. Por conseguinte, uma questão fundamental se impõe: seria P = NP? Uma

resposta, negativa ou positiva, provavelmente fará emergir enormes efeitos práticos

para a análise de complexidade.

Transformação Polinomial e Prova de Complexidade

Definição 1 um problema de decisão é um par Π=(D,Y) no qual D é um conjunto de

objetos finitos , chamados instâncias (I), e Y ⊆ D é um subconjunto de objetos deno-

minados instâncias-sim.

Se um algoritmo A for capaz de decidir, para cada instância Ik ∈ D, se também Ik ∈ Y,

diz-se que A resolve Π.

Definição 2 Sejam Π=(D,Y) e Π’=(D`,Y`) problemas de decisão. Então Π polinomial-

mente transforma-se em Π’ se, e somente se, existir uma função f : D → D`; I → I` tal

que:

(1) I ∈ Y se, e somente se I` ∈ Y`, e

(2) f puder ser computada por um algoritmo polinomial determinístico.

A utilidade da transformação (em tempo) polinomial se comprova pelo que se segue.

Empregando-se tal conceito, podem-se definir classes de problemas de decisão que

são de complexidade computacional equivalente. A classe de maior destaque é a

dos problemas NP-completos, os quais se definem como aqueles mais difíceis em

NP. Um problema Π é dito NP-completo se para cada problema Π’ em NP existir

uma transformação polinomial de Π’ para Π. Ou seja, se Π ∈ NP , Π’ é NP-completo

e existe uma redução em tempo polinomial de Π’ para Π, implica que também Π é

NP-completo.

Comumente, para se provar complexidade, costuma-se meramente demonstrar que

o problema em consideração é uma generalização de algum outro cuja complexida-

de é conhecida. Empregando-se demonstração devida a Kolisch e Drexl (1997), pro-129

Page 146: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

va-se agora que, para MRCPSP mais restritos, mesmo a questão de existência de

uma solução viável, de per si, já é um problema NP-completo.

Teorema O problema de viabilidade do MRCPSP é NP-completo para |N| ≥ 2 e Mj

≥ 2, 1 ≤ j ≤ J.

Prova

Claramente, o problema está em NP, uma vez que a viabilidade de qualquer solução

pode ser conferida em tempo polinomial. Para a demonstração, antes de tudo, faz-

se uma transformação polinomial do MRCPSP para o problema da mochila, o qual

notoriamente é NP-completo (Garey e Johnson, 1979).

O problema da mochila (knapsack problem – KSP) pode ser declarado do seguinte

modo: dados um conjunto finito U com elementos u, 1 ≤ u ≤ |U|, um tamanho s(u) ∈

Z+ e um valor v(u) para cada u ∈ U , um tamanho B ∈ Z+ e um tamanho D ∈ Z+, exis-

te um subconjunto U’ ⊆ U tal que valem as relações ∑∈ Uu

s(u) ≤ B e ∑∈ 'Uu

)u(v ≥ D ?

A idéia geral por trás da transformação é mapear cada elemento de U em uma ativi-

dade real (não-fictícia) com dois modos de execução. Se uma atividade é processa-

da no modo m=1 o u correspondente é elemento do subconjunto U’ ; contrariamente,

se m=2, o u correspondente não é membro de U’. Então, J = |U|+1, Mj=2, 1 ≤ j ≤ J e

Mj = 1, j ∈ {0,J+1}. As duas restrições da mochila são representadas por duas restri-

ções de recursos não-renováveis, i.é, |N| = 2. Paralelamente, as restrições referentes

aos recursos renováveis não têm que ser levadas em conta, quer dizer, R = ↓.

A primeira restrição da mochila pode ser considerada diretamente. Daí, com respeito

ao recurso r=1, a disponibilidade é K1=B e, para cada atividade 1 ≤ j ≤ J, o consumo

de recurso do primeiro modo vale kj11 = s(u), enquanto o consumo de recurso no se-

gundo modo é igual a zero, kj21 = 0.

A segunda restrição da mochila deve ser reescrita como se segue para ser conside-

rada. Multiplica-se a restrição por “-1” o que produz ∑∈

−'Uu

)u(v ≤ -D. Isto feito, adicio-

na-se max {v(z) | z ∈ U} para cada somatório do primeiro membro e |U|.max {v(z) | z ∈

U} para o segundo membro de modo a se obter somente valores não-negativos.

Pode-se agora proceder conforme feito com a primeiro restrição: para o recurso r=2,

o consumo para cada atividade 1 ≤ j ≤ J é kj12 = max {v(z) | z ∈ U} – v(u), quando pro-

130

Page 147: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

cessada no primeiro modo e kj22 = max {v(z) | z ∈ U}, se no segundo modo. A disponi-

bilidade de recurso é K2 = |U|. max {v(z) | z ∈ U} - D .

Todos o outros parâmetros do problema de escalonamento recebem zero, i.e, djm = 0

para todo 1 ≤ j ≤ J, m=1,...,Mj e Pj = ↓ para j=1,...,J+1. Conseqüentemente, cada ins-

tância do problema da mochila pode ser polinomialmente transformada em uma ins-

tância do MRCPSP. Uma solução para este último polinomialmente se converte em

uma solução do problema da mochila: se o primeiro modo for designado para a ativi-

dade j, 1 ≤ j ≤ J, i.e, mj=1, o correspondente u está em U’. Isso prova que o problema

de viabilidade do MRCPSP, para |N| ≥ 2 e Mj ≥ 2, 1 ≤ j ≤ J , é NP-completo.

Merece registro o esforço de Schirmer (1996b e 1996c), que argumenta com evidên-

cias que a complexidade de um problema pode depender da formulação empregada

para traduzir o modelo. O autor examina a prática padrão de se representar os pro-

blemas de escalonamento de projeto restritos em recursos – a saber, modelos de

otimização utilizando variáveis binárias para se representar escalonamentos. Como

Pritsker, Watters e Wolfe (1969) foram os primeiros a utilizar este conceito para es-

calonamento, os modelos derivados – e.g., aquele formulado por (6)–(12) da tabela

3.3 – são denominados modelos PWW.

Tanto para o RCPSP como para o MRCPSP, Schirmer (op. cit.), prova que, em sua

versão de viabilidade, em seu modelo PWW, i.e., o RCPSP .viabPWW e o MRCPSP .viab

PWW

não podem ser verificados em tempo polinomial, i.e., são exponenciais. Obviamente,

qualquer solução para uma instância do RCPSPPWW ou do MRCPSPPWW também o é

para seu o correspondente problema de viabilidade. Sucede que o problema de via-

bilidade não pode ser de mais fácil solução do que sua versão exata, donde se con-

clui que tanto o RCPSPPWW quanto MRCPSPPWW são exponenciais.

Por definição, o conceito NP-completo aplica-se a problemas em NP e, portanto, tão-

somente a problemas de decisão. Todavia, esta restrição não impede que o conceito

seja ampliado para os problemas de busca (cf. Schirmer 1996a), como é o caso da

otimização nos domínios da pesquisa operacional. Analogamente, a conjectura de

intratabilidade pode ser estendida imediatamente dos problemas (de decisão) de via-

bilidade, NP-completos, para os problemas de otimização, que então são classifica-

dos como NP-difícieis. Foi demonstrado por Blażewicz et al. (1983) que o RCPSP,

131

Page 148: UNIVERSIDADE DO NORTE FLUMINENSE - uenf.bruenf.br/Uenf/Downloads/POS-ENGPRODUCAO_2397_1191500688.pdf · gerenciamento de projeto: meta-heurÍsticas para otimi-zaÇÃo do escalonamento

como generalização do problema de job shop, JSP, pertence à classe dos proble-

mas de otimização NP-difícieis.

Deve ser enfatizado que, apesar de, como se viu, comprovadamente intratável, não

se exclui a possibilidade de que algumas ou mesmo a maioria das instâncias do

PSP possam ser resolvidas em tempo polinomial. Uma vez que a definição de com-

plexidade considerada tem em conta o pior caso, antes significa que nem todas as

suas instâncias são passíveis de solução em tempo polinomial.

132