• Nenhum resultado encontrado

Caracteriza¸c˜ ao das Instˆ ancias

Uma instˆancia ´e um conjunto de dados que reporta uma determinada situa¸c˜ao. Assim, ´e necess´ario que a instˆancia contenha informa¸c˜ao suficiente e estruturada, de acordo com a modela¸c˜ao desenvolvida. Ou seja, tem que existir compatibilidade entre a formula¸c˜ao e os dados dispon´ıveis.

Deste modo, ´e desenvolvida uma estrutura que cont´em toda a informa¸c˜ao necess´aria para a prossecu¸c˜ao do planeamento de acordo com os requisitos definidos. Ou seja, caso os dados necess´arios ainda n˜ao estejam estruturados e devidamente tratados, ´e criada uma base de dados com uma estrutura adequada para ser compat´ıvel com a formula¸c˜ao concebida. Essa base de dados ´e sustentada na informa¸c˜ao dispon´ıvel no SMP, onde constam as ac¸c˜oes de manuten¸c˜ao e as suas caracter´ısticas, desde os procedimentos que comp˜oem cada tarefa, passando pelos recursos necess´arios `a sua execu¸c˜ao.

Tal como j´a foi mencionado, para efeitos de modela¸c˜ao do problema, as tarefas de manu- ten¸c˜ao s˜ao reduzidas a subrotinas. A instˆancia deve, desde logo, conter informa¸c˜ao sobre o n´umero de tarefas existentes, o n´umero de subrotinas, quantas categorias de recursos existem e o upper-bound temporal estabelecido. A nota¸c˜ao adoptada para identificar uma instˆancia ´e baseada nestes elementos. Desta forma, a instˆancia I-10-40-8, ´e constitu´ıda por 10 tarefas, 40 subrotinas e 8 categorias de recursos. Existe uma base de dados, com as intˆancias testadas, as quais s˜ao identificadas pelo c´odigo mencionado.

Uma vez que o SMP define as caracter´ısticas das tarefas, e para efeitos de modela¸c˜ao trabalha-se com subrotinas, ´e necess´ario correlacion´a-las. Deste modo, ´e concebida a tabela 2.3 onde constam as tarefas e as respectivas subrotinas, de forma a facilmente reconhecer a rela¸c˜ao entre subrotinas e tarefas. Nessa tabela, ´e incluida informa¸c˜ao referente `as necessidades de recursos de cada subrotina, bem como a sua dura¸c˜ao. A tabela 2.3 e todas as restantes s˜ao construidas recorrendo a uma instˆancia simulada.

A simula¸c˜ao dos dados foi motivada, fundamentalmente, pelo objectivo de compreender o comportamento das formula¸c˜oes sob diferentes cen´arios poss´ıveis.

Recursos Tarefa Sub-rot Dura¸c˜ao 1 2 3 4 5

1 1 2 1 0 1 0 2 1 2 2 0 0 2 1 1 1 3 1 0 1 0 0 0 2 4 3 1 2 2 2 0 2 5 1 3 1 0 2 0 .. . ... ... ... ... ... ... ... 8 10 4 2 1 3 0 2 8 11 2 3 4 2 1 0 9 12 3 0 1 1 0 2 9 13 2 1 2 0 2 1

Tabela 2.3. Exemplo de tabela das subrotinas e respectivos dados.

5 instantes temporais, repartidos pelas subrotinas 1, 2 e 3. Estas subrotinas necessitam de um determinado n´umero de recursos de cada categoria, nomeadamente, e a t´ıtulo de exemplo, a subrotina 2 necessita de dois elementos da categoria 3, um elemento da cate- goria 4 e um elemento da categoria 5.

Neste momento, est´a estruturada a informa¸c˜ao necess´aria para caracterizar qualquer ac¸c˜ao de manuten¸c˜ao que seja necess´aria escalonar. Conhece-se a tarefa a que pertence, a sua dura¸c˜ao e os recursos necess´arios para a sua prossecu¸c˜ao. No entanto, falta definir dois aspectos muito importantes, que s˜ao os recursos dispon´ıveis e a incompatibilidade entre tarefas.

A tabela 2.4 reporta um exemplo da informa¸c˜ao existente sobre as categorias mediante a especializa¸c˜ao dos seus recursos, bem como o n´umero de elementos por categoria. Ou seja, na tabela s˜ao discriminados os recursos humanos que o gestor tem `a sua disposi¸c˜ao. Quanto `as incompatibilidades entre tarefas, a tabela 2.5 identifica em cada linha o par de tarefas incompat´ıveis. Com base nestes dados e correlacionando as subrotinas asso- ciadas a cada tarefa, saber-se-´a de imediato quais s˜ao as subrotinas que n˜ao podem ser executadas em simultˆaneo.

2.3 - CARACTERIZAC¸ ˜AO DAS INST ˆANCIAS Categoria Qte 1 4 2 6 3 3 4 3 5 4

Tabela 2.4. Tabela de recursos.

Tarefa 1 Tarefa 2 2 6 3 4 .. . ... 3 7

Tabela 2.5. Exemplo tabela de incompatibilidades.

Estes s˜ao os dados que, directamente, s˜ao necess´arios para caracterizar na ´ıntegra uma determinada instˆancia. Dado que se pretende afectar um conjunto de tarefas aos recursos existentes, e a informa¸c˜ao existente ´e j´a suficiente para atingir esse objectivo. Contudo, ´e necess´ario estruturar alguns destes dados de um modo diferente para responder a algumas necessidades da formula¸c˜ao. Deste modo, s˜ao concebidas as tabelas 2.6 e 2.7.

Sub-Rotina Recurso Qte

1 2 2 1 3 1 1 2 2 .. . ... ... 10 3 1 10 2 3

Com a tabela 2.6, surge a necessidade de padronizar a informa¸c˜ao existente, de forma a que o modelo tenha informa¸c˜ao sobre a categoria e o respectivo n´umero de elementos a empregar em cada subrotina. Para cada subrotina ´e indicado a categoria dos recursos e o n´umero de elementos necess´arios para a sua realiza¸c˜ao.

Relativamente `a tabela 2.7, pretende-se disponibilizar informa¸c˜ao sobre a posi¸c˜ao relativa de uma determinada subrotina na respectiva tarefa, ou seja, se uma determinada subrotina ´e a terceira ac¸c˜ao de manuten¸c˜ao a ser executada numa tarefa, a essa subrotina ´e atribu´ıda o n´umero de ordem 3. Esta informa¸c˜ao ´e importante para controlar as subrotinas que ser˜ao consideradas nas fun¸c˜oes objectivo de cada modelo.

Sub-rotina Ordem 1 1 2 2 3 1 4 2 5 3 6 4 .. . ... 15 1 16 2

Cap´ıtulo 3

Modela¸c˜ao do Problema

Este cap´ıtulo ´e dedicado `a concep¸c˜ao de uma formula¸c˜ao matem´atica do problema. Ser˜ao desenvolvidos trˆes modelos assentes em conceitos diferentes. Isto ´e, o problema ser´a abordado segundo trˆes perspectivas diferentes, avaliando posteriormente as vantagens e desvantagens proporcionadas pelas suas especificidades. Conforme ser´a evidenciado, mais adiante com a leitura deste cap´ıtulo, os dois ´ultimos modelos s˜ao modelos desagregados do primeiro. Deste modo, este cap´ıtulo ´e composto por trˆes sec¸c˜oes, cada uma referente a cada modela¸c˜ao desenvolvida.

Na sec¸c˜ao 3.1 aborda-se o problema numa perspectiva mais natural, reflectindo directa- mente a tomada de decis˜ao. Assim, a vari´avel representa o estado natural da subrotina, indicando a sua executada num determinado instante temporal. Com este modelo, existe um escalonamento das subrotinas, em cada instante temporal, mediante a sua execu¸c˜ao e dentro do intervalo de tempo determinado pela sua dura¸c˜ao.

Na sec¸c˜ao 3.2 a modela¸c˜ao assenta sob o princ´ıpio de a subrotina ser iniciada, ou n˜ao, num determinado instante temporal. Desta forma, e sabendo implicitamente qual a dura¸c˜ao da subrotina, o escalonamento ´e efectuado somente com a vari´avel referente ao instante em que a subrotina come¸ca a ser executada.

Na sec¸c˜ao 3.3 ´e desenvolvido um modelo desagregado do primeiro, com a particularida- de da vari´avel ser indexada `a posi¸c˜ao. Neste modelo, tamb´em a vari´avel representa a execu¸c˜ao, ou n˜ao, de uma subrotina num determinado instante temporal, e refor¸ca a in- forma¸c˜ao disponibilizando a posi¸c˜ao relativa de execu¸c˜ao. Ou seja, esta vari´avel ´e indexada `a posi¸c˜ao relativa de execu¸c˜ao da subrotina, tendo em considera¸c˜ao a sua dura¸c˜ao. A tabela 3.1 cont´em informa¸c˜ao referente `a nota¸c˜ao utilizada na formula¸c˜ao matem´atica

dos trˆes modelos desenvolvidos. S˜ao mencionados os input´s referentes ao n´umero de subrotinas e o limite m´aximo do horizonte temporal, bem como outros referentes `as sub- rotinas e aos recursos. Por fim, nesta tabela constatou os diversos conjuntos utilizados na modela¸c˜ao.

N N´umero m´aximo de subrotinas T Upper-bound temporal

duri Dura¸c˜ao da subrotina i

rrj,i Recursos do tipo j necess´arios para a execu¸c˜ao da subrotina i

Recj Recursos do tipo j dispon´ıveis

I(i1, i2) Matriz de subrotinas incompat´ıveis

Ordi Matriz de ordem das subrotinas nas respectivas tarefas

S Conjunto das subrotinas

T Conjunto dos instantes temporais J Conjunto dos tipos de recursos

S′ Conjunto das subrotinas sujeitas `a non-preemption

S′′ Conjunto das subrotinas incompat´ıveis

S(1) Conjunto das subrotinas de primeira ordem

Tabela 3.1. Nota¸c˜ao empregue na modela¸c˜ao do problema.

3.1 - Modelo da Vari´avel Natural

Numa abordagem inicial ao problema em an´alise, surge a necessidade em definir o tipo de vari´aveis de decis˜ao que devem ser consideradas. De forma intuitiva surge a ideia de que estas devem representar a existˆencia de uma ac¸c˜ao de manuten¸c˜ao, denominada i, que ocorre num determinado instante temporal t. Deste modo, o modelo proposto, as- senta na programa¸c˜ao linear inteira (PLI), recorrer a um vector de vari´aveis naturais, xi,t.

Ou seja, este modelo, que ser´a designado por modelo da vari´avel natural, ir´a fazer o escalonamento das tarefas de manuten¸c˜ao utilizando o conceito de que, se uma determi- nada actividade est´a a decorrer, a vari´avel natural assumir´a o valor 1 e 0 caso contr´ario.

xi,t=

(

1, se a subrotina i est´a a ser executada no instante t 0, c.c.

No modelo da vari´avel natural n˜ao existe informa¸c˜ao sobre o estado relativo da subrotina, i.e., quando foi iniciada, quantas subrotinas, de uma tarefa, foram executadas, ou faltam

3.1 - MODELO DA VARI ´AVEL NATURAL

executar. Limita-se a definir se uma determinada subrotina est´a activa nesse instante temporal. A figura 3.1 refor¸ca o conceito associado `a vari´avel natural. Para cada instante temporal em que a tarefa est´a a ser executada, a vari´avel natural respeitante `a ac¸c˜ao i toma om valor 1.

↓t=4

subrotina 2 x x x x x

dur2

Figura 3.1. Representa¸c˜ao gr´afica da vari´avel natural com x2,4 = 1, x2,5 = 1, x2,6 = 1, x2,7 = 1,

x2,8= 1, x2,9= 0.

Neste modelo as vari´aveis naturais s˜ao um vector de vari´aveis bin´arias, xi,t= {0, 1}, e

representam a concretiza¸c˜ao de uma ac¸c˜ao de manuten¸c˜ao i no instante temporal t. Na maioria dos problemas deste tipo, o objectivo assenta na minimiza¸c˜ao do makespan, ou seja, minimizar o tempo de execu¸c˜ao do projecto. Contudo, neste caso, conforme j´a foi mencionado na sec¸c˜ao 2.2, o objectivo ´e minimizar o tempo de execu¸c˜ao das subrotinas, deste modo a fun¸c˜ao objectivo do modelo da vari´avel natural (3.1) ´e minimizar os instan- tes temporais em que a soma das primeiras subrotinas de cada tarefa s˜ao executadas. Ou seja, pretende-se for¸car o modelo a que as ac¸c˜oes de manuten¸c˜ao sejam realizadas o mais cedo poss´ıvel. Para tal, ´e definido o subconjunto S(1), onde S(1)= {∀ i ∈ S : Ord

i= 1} M in f : f = X i∈S(1) X i∈T t∗ xi,t (3.1)

Observe-se que ´e estabelecido um upper bound temporal, visto um dos requisitos do pro- blema ser a concretiza¸c˜ao de todas as ac¸c˜oes de manuten¸c˜ao num determinado per´ıodo temporal pr´e-definido.

Consubstanciado nas regras de modela¸c˜ao referidas no cap´ıtulo 2, surgem os conjuntos de restri¸c˜oes que garantem os requisitos definidos para o escalonamento das tarefas com recursos limitados e uniformes.

O conceito de non-preemption est´a associado `a necessidade de assegurar que n˜ao haja interrup¸c˜ao de uma subrotina que est´a activa. Para garantir a non-preemption recorre-se ao conjunto de restri¸c˜oes (3.2).

t+duri−1

X

l=t+1

xi,l≥ [xi,t− xi,t−1] ∗ [duri− 1] , ∀i ∈ S, t ∈ {1, . . . , T −duri} (3.2)

Este conjunto de restri¸c˜oes obriga a que entre os instantes temporais t e t +duri todas as

vari´aveis naturais referentes a uma subrotina i assumam o valor de 1 assim que xi,t= 1.

Para o caso em que, xi,t−1= 0 xi,t= 1      ⇒ t+duri−1 X l=t+1 xi,l= 1 + 1 + 1 + . . . + 1 + 1 | {z } t+duri−1 − t − 1 + 1 parcelas =duri− 1 ∀ i ∈ S

As restantes combina¸c˜oes de valores para as vari´aveis xi,t−1e xi,taplicadas ao conjunto

de restri¸c˜oes 3.2 n˜ao condicionam a regi˜ao das solu¸c˜oes admiss´ıveis, como tal garante a admissibilidade do conjunto de restri¸c˜oes referentes `a non-preemption.

t T

i x x x x x duri− 1

Figura 3.2. Representa¸c˜ao gr´afica da non-preemption em cada subrotina.

A figura 3.2 clarifica a no¸c˜ao de non-preemption numa determinada subrotina.Tal como pode ser observado, este conjunto de restri¸c˜oes garante a n˜ao interrup¸c˜ao da subrotina, obrigando a que, assim que esta seja iniciada tenha de ser executada de modo ininterrupto at´e `a sua conclus˜ao.

O conjunto de restri¸c˜oes (3.3), refor¸ca o conceito de non-preemption e garante que a subrotina i ´e executada na sua totalidade, visto que assim que xi,t= 1, a subrotina i ser´a

executada nos seguintes duri instantes temporais. Logo,

X

t∈T

xi,t= duri, ∀ i ∈ S (3.3)

Assim, obt´em-se o conjunto de restri¸c˜oes que garante a prosecu¸c˜ao de uma subrotina na sua totalidade, para todas as subrotinas pertencentes ao planeamento. De igual forma,

3.1 - MODELO DA VARI ´AVEL NATURAL

garante-se um dos requisitos pr´e-estabelecidos, a execu¸c˜ao de uma tarefa uma ´unica vez. Sabendo que existem tarefas que s˜ao constitu´ıdas por v´arias subrotinas, ´e necess´ario garantir que estas sejam executadas seguindo uma ordem definida e que n˜ao haja interva- los de inoperabilidade entre elas. Deste modo, os conjuntos de restri¸c˜oes (3.4) e (3.5), em simultˆaneo, garantem a precedˆencia em continuidade das subrotinas de uma mesma tarefa. Uma vez que existe uma rela¸c˜ao espec´ıfica entre as subrotinas sujeitas a estes conjuntos de restri¸c˜oes, ´e definido um subconjunto S′, de modo que S= {∀ i ∈ {1, . . . ,NSub− 1} : Tarefai=Tarefai+1}.

xi+1,t≤ xi,t−1+ xi+1,t−1, ∀ i ∈ S′, t ∈ {duri+1, . . . , T−duri+1+ 1} (3.4)

xi,t+ xi+1,t ≤ 1, ∀ i ∈ S′t ∈ T (3.5) x x x x x x x subrotinai+ 1 subrotinai ↑ t duri

Figura 3.3. Representa¸c˜ao gr´afica da precedˆencia em continuidade entre subrotinas da mesma tarefa comduri= 3.

A figura 3.3 ´e demonstrativa do que se pretende alcan¸car com ambos os conjuntos de restri¸c˜oes. Pretende-se evidenciar a necessidade de garantir que, no intervalo de tempo compreendido entre t e t +duri+ 1, a subrotina i + 1 ´e iniciada no instante imediatamente

seguinte `a consecu¸c˜ao da subrotina i, ou seja, no instanteduri+ 1.

Assim sendo, tem-se xi+1,t−1 = 0

xi+1,t= 1

}⇒ xi,t−1= 1, ,logo, tem-se o conjunto de restri¸c˜oes (3.4)

Ao inv´es, considerando a figura 3.4 verifica-se a existˆencia de um intervalo de tempo de inactividade entre as tarefas. O conjunto de restri¸c˜oes (3.4) garante que tal n˜ao aconte¸ca,

x x x x x x x subrotinai+ 1 subrotinai ↑ t duri

Figura 3.4. Representa¸c˜ao gr´afica da inexistˆencia de precedˆencia em continuidade entre subrotinas da mesma tarefa comduri= 3.

ou seja, considerando xi+1,t≤ xi,t−1+ xi+1,t−1, tem-se,

xi+1,t= 0

xi+1,t+1= 1

xi,t= 0

}⇒ 1 ≤ 0

Deste modo, o conjunto de restri¸c˜oes (3.4) n˜ao permite que ocorra a situa¸c˜ao exibida pela figura 3.4, pelo que garante a admissibilidade do problema.

J´a o conjunto de restri¸c˜oes (3.5) impede que no instante t haja sobreposi¸c˜ao da consecu¸c˜ao da subrotina i e da subrotina i + 1. Ou seja, a intersec¸c˜ao dos conjuntos de restri¸c˜oes (3.4) e (3.5) garantem a precedˆencia em continuidade das subrotinas em an´alise. Consegue-se assim cumprir a pretens˜ao de que uma tarefa n˜ao ´e interrompida a partir do instante em que se inicia, recorrendo `a precedˆencia em continuidade entre subrotinas de uma mesma tarefa e `a non-preemption de cada subrotina.

O conjunto de restri¸c˜oes (3.6) gere os recursos necess´arios `a execu¸c˜ao das subrotinas. `A medida que as subrotinas v˜ao sendo escalados este conjunto de restri¸c˜oes gere o consumo de recursos. Assim,

X

i∈ S

xi,t∗ rrj,i≤ Recj, ∀ t ∈ T , j ∈ R (3.6)

Falta analisar um ´ultimo requisito, e consequentemente modelar, a incompatibilida- de entre tarefas. A incompatibilidade entre tarefas surge da necessidade de garantir o princ´ıpio da redundˆancia. Assim, ´e necess´ario modelar um conjunto de restri¸c˜oes que afi- ance que duas tarefas incompat´ıveis n˜ao poder˜ao ser executadas em intervalos de tempo sobrepostos. Uma vez que os conjuntos de restri¸c˜oes (3.2) e (3.4) garantem a execu¸c˜ao em intervalos consecutivos de uma tarefa, importa, para o caso das incompatibilidades,

3.1 - MODELO DA VARI ´AVEL NATURAL

afian¸car que num determinado instante temporal t, as subrotinas i1 e i2, pertencentes,

respectivamente, a tarefas incompat´ıveis, n˜ao estejam a ser realizadas em simultˆaneo. As- sim, surge o conjunto de restri¸c˜oes (3.7), com as subrotinas a pertencerem ao subconjunto S′′= {∀ i

1, i2 ∈ S :Tarefai1 6=Tarefai2∧ I(Tarefai1,Tarefai2) = 1}.

xi1,t+ xi2,t≤ 1, ∀ t ∈ T , i1, i2 ∈ S

′′ (3.7)

A figura 3.5 refor¸ca o conceito de incompatibilidade, evidenciando a n˜ao obrigatoriedade de ordem pela qual as tarefas s˜ao executadas e o facto de n˜ao ser exig´ıvel que a segunda tarefa seja realizada no instante imediatamente seguinte `a conclus˜ao da primeira.

x x x x x x x x x Tarefai1 Tarefai2

Figura 3.5. Representa¸c˜ao gr´afica da incompatibilidade entre tarefas.

O conjunto de restri¸c˜oes (3.7) inibe que haja sobreposi¸c˜ao temporal. Desta forma garante-se a admissibilidade do conjunto de restri¸c˜oes (3.7).

Desta forma, garante-se que os conjuntos de restri¸c˜oes que constituem o modelo da vari´avel natural garantem os requisitos estabelecidos, logo garantem a admissibilidade.

Em suma, a modela¸c˜ao do problema, tendo por base a vari´avel natural, ´e expressa do seguinte modo: M in f = X i∈S(1) X i∈T t∗ xi,t s.a. t+duri−1 X l=t+1

xi,l≥ [xi,t− xi,t−1] ∗ [duri− 1] , ∀i ∈ S, t ∈ {1, . . . , T −duri}

X

t∈T

xi,t= duri, ∀ i ∈ S

xi+1,t≤ xi,t−1+ xi+1,t−1, ∀ i ∈ S′, t ∈ {duri+1, . . . , T−duri+1+ 1}

xi,t+ xi+1,t≤ 1, ∀ i ∈ S′t ∈ T

X

i∈ S

xi,t∗ rj,i≤ Recj, ∀ t ∈ T , j ∈ R

xi1,t+ xi2,t≤ 1, ∀ t ∈ T , i1, i2 ∈ S

′′

3.2 - MODELAC¸ ˜AO DA VARI ´AVEL IN´ICIO

Documentos relacionados