• Nenhum resultado encontrado

Caracteriza¸c˜ ao do Problema

Um navio de guerra ´e uma plataforma naval com uma enorme quantidade de sistemas com caracter´ısticas muito pr´oprias, que ao serem integrados torna a sua manuten¸c˜ao e- xigente e complexa. Para o correcto cumprimento das miss˜oes atribu´ıdas `a Marinha de Guerra Portuguesa, a institui¸c˜ao tem ao seu dispˆor um dispositivo naval adequado e pronto para actuar nos diversos cen´arios. Para garantir esse dispositivo, torna-se premente o cor- recto planeamento das ac¸c˜oes de manuten¸c˜ao e sua aplica¸c˜ao, assegurando a m´axima operacionalidade dos meios navais.

Desta forma, o planeamento das ac¸c˜oes de manuten¸c˜ao est´a, desde logo, limitado em tempo. ´E ent˜ao necess´ario, garantir que as ac¸c˜oes de manuten¸c˜ao requeridas s˜ao execu- tadas num intervalo de tempo delimitado. Com base nesta informa¸c˜ao ´e estabelecido um upper-bound que limita o horizonte temporal. Assim, pretende-se minimizar a fun¸c˜ao ob- jectivo, de modo a conseguir escalonar o plano de manuten¸c˜ao no intervalo de tempo mais diminuto poss´ıvel. Deste modo a fun¸c˜ao objectivo incidiria somente na minimiza¸c˜ao dos instantes temporais associados `as respectivas subrotinas. Contudo, este modo de expres- sar a fun¸c˜ao objectivo conduz a que subrotinas que podem serem executadas em diversos instantes temporais, dadas as suas caracter´ısticas e `a disponibilidade dos recursos exis- tentes ao longo do planeamento, sejam realizadas j´a numa fase final. Considere-se uma tarefa, que somente para este efeito ´e apelidada de livre, que dada a sua caracter´ıstica e o evoluir da concep¸c˜ao do planeamento optimizado, pode ser executada em trˆes interva- los temporais distintos. O que se pretende ´e que essa tarefa seja realizada no primeiro intervalo de tempo dispon´ıvel. Esta pretens˜ao ´e assente no conhecimento pr´atico de que, por vezes, existem derrapagens temporais na elabora¸c˜ao de um planeamento, pelo que o bom senso apela a que nestes casos, estas tarefas livres sejam executadas no instante mais prematuro poss´ıvel. Deste modo, a fun¸c˜ao objectivo exprime a soma dos instantes

2.2 - CARACTERIZAC¸ ˜AO DO PROBLEMA

temporais associados `a execu¸c˜ao das subrotinas. Assim, garante-se que o exemplificado n˜ao ocorra. Em suma, a optimiza¸c˜ao do planeamento ´e obtida minimizando o projecto, limitando a liberdade de posicionamento das tarefas livres.

Um dos requisitos estabelecidos ´e a execu¸c˜ao sem interrup¸c˜oes de uma ac¸c˜ao de manuten¸c˜ao. Ou seja, assim que uma determinada tarefa tem in´ıcio, esta n˜ao dever´a ser interrompida at´e `a sua conclus˜ao. Uma vez que a tarefa ´e constituida por um conjunto de subrotinas, ´e necess´ario assegurar dois aspectos importantes. Primeiro, que n˜ao existam interrup¸c˜oes na execu¸c˜ao de cada subrotina, e segundo, que n˜ao existam per´ıodos de inactividade entre subrotinas pertencentes `a mesma tarefa.

Ao considerar o primeiro aspecto, recorre-se ao conceito de non-preemption. A non- preemption implica a n˜ao interrup¸c˜ao tempor´aria de uma ac¸c˜ao devido `a necessidade de orientar os recursos utilizados para uma outra ac¸c˜ao considerada priorit´aria ou de maior importˆancia. Deste modo, ´e assumido que todas ac¸c˜oes carecem da mesma importˆancia, e uma vez iniciadas, os recursos necess´arios n˜ao s˜ao reencaminhados para outras fun¸c˜oes. A figura 2.3 ilustra o anteriormente exposto, tendo sido a subrotina i iniciada no instante temporal t, ´e concluida no instante t +duri− 1.

↓t

subrotina i x x x x x

duri

Figura 2.3. Representa¸c˜ao gr´afica de non-preemption.

Com a figura 2.4 pretende-se exemplificar uma situa¸c˜ao em que ´e permitida a pre- emption. Neste caso, surge a interrup¸c˜ao tempor´aria da realiza¸c˜ao da ac¸c˜ao, motivada por factores diversos, tais como subrotinas priorit´arias que necessitam de recursos, optimiza¸c˜ao do modelo, entre outros. Deste modo, a subrotina j ´e interrompida temporariamente tp

instantes temporais, sendo posteriormente retomada e finalizada no instante temporal t+duri− 1 + tp.

Tendo em considera¸c˜ao o requisito determinado, ´e imperativo garantir a non-preemption em todas as subrotinas.

O segundo aspecto que ´e necess´ario assegurar para n˜ao existir interrup¸c˜ao das ac¸c˜oes de manuten¸c˜ao que estiverem em execu¸c˜ao ´e eliminar eventuais per´ıodos de inactividade en-

↓t

subrotina j x x x x x

Figura 2.4. Representa¸c˜ao gr´afica de preemption.

tre subrotinas de uma mesma tarefa. Recorde-se que no final do cap´ıtulo anterior, para efeitos de modela¸c˜ao do problema, a tarefa foi dividida por elementos, de forma a que cada um desses elementos tivesse um conjunto de recursos uniformes.

Observe-se agora a figura 2.5, onde se pretende exemplificar uma quebra na precedˆencia em continuidade. Existe uma tarefa composta por trˆes subrotinas, cada uma delas com as suas caracter´ısticas pr´oprias. Neste caso, as subrotinas n˜ao s˜ao interrompidas temporari- amente, respeitando a non-preemption, mas existe um intervalo temporal de inactividade entre as subrotinas 1 e 2. Esta figura exemplifica o que n˜ao ´e permitido acontecer.

2 4 6 8 10

1 1 1

2 2 2

3 3

Figura 2.5. Representa¸c˜ao gr´afica da interrup¸c˜ao tempor´aria de uma tarefa.

Deste modo, ´e introduzido o conceito da precedˆencia em continuidade, conforme havia sido mencionado na sec¸c˜ao 1.2. Pretende-se ass´ım garantir, a inexistˆencia de per´ıodos inactivos entre as subrotinas, logo 1 ≺ 2. ≺ 3, em particular. Na figura 2.6 ´e garantida a. tal precedˆencia em continuidade.

Sabendo que uma tarefa ´e constitu´ıda por um conjunto de subrotinas, a nota¸c˜ao

Tarefai indica a tarefa a que corresponde a subrotina i. Deste modo, o subconjunto

2.2 - CARACTERIZAC¸ ˜AO DO PROBLEMA

2 4 6 8

1 1 1

2 2 2

3 3

Figura 2.6. Representa¸c˜ao gr´afica da precedˆencia em continuidade.

uma determinada tarefa. Assim sendo, e generalizando o exemplo da figura 2.6, deduz-se que, se a subrotinai precede a subrotinaj, ent˜ao a subrotinai deve ser concluida antes da

subrotinaj ser iniciada. Neste caso a subrotinai ´e o precedente imediato da subrotinaj e consequentemente, a subrotinaj ´e o sucessor imediato da subrotinai. O conceito de con- tinuidade que ´e implementado, obriga a que entre a conclus˜ao do precedente e o in´ıcio do sucessor, n˜ao haja inactividade. Ou seja, o sucessor ´e iniciado no instante imediatamente seguinte `a conclus˜ao do precedente.

Tal como j´a foi referido, existem equipamentos que s˜ao considerados vitais para o fun- cionamento do navio e como tal, existem em n´umero suficiente que garanta o princ´ıpio da redundˆancia. Seguindo este princ´ıpio, surge a necessidade em garantir que estes equipa- mentos n˜ao sejam intervencionados em per´ıodos temporais sobrepostos. Tal deve-se ao facto, de os navios terem de garantir uma condi¸c˜ao operacional mediante um determinado grau de prontid˜ao que ´e definido superiormente. Deste modo, mesmo quando o navio est´a atracado e com ac¸c˜oes de manuten¸c˜ao em curso, deve manter um conjunto de equipamen- tos operacionais que garanta a sua prontid˜ao.

Observe-se o exemplo da figura 2.7, onde s˜ao representadas duas ac¸c˜oes de manuten¸c˜ao. A tarefa 1 e a tarefa 2 s˜ao ac¸c˜oes de manuten¸c˜ao a serem executadas em equipamentos seme- lhantes. Deste modo, tratam-se de tarefas incompat´ıveis, sendo por esse motivo necess´ario assegurar, que estas tarefas s˜ao realizadas em intervalos temporais distintos.

´

2 4 6 8 10 12 14 16 4 4 4 5 5 5 6 6 1 2 2 3 3 3 6 5 4 3 2 1 tarefa 2 tarefa 1

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

compat´ıveis. Deste modo, a express˜ao I(Tarefai1,Tarefai2) = 1, identifica quais as subroti-

nas incompat´ıveis. Estas ser˜ao identificadas na modela¸c˜ao, como pertencentes ao subcon- junto S′′= {∀ i

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

A guarni¸c˜ao de um navio ´e optimizada para a execu¸c˜ao das tarefas inerentes ao cumpri- mento da sua miss˜ao e aos cen´arios prov´aveis em que pode ser empregue. Deste modo, o n´umero de elementos que comp˜oem uma guarni¸c˜ao ´e limitado, e torna-se necess´ario distribui-los de forma harmoniosa pelas diversas ´areas funcionais. Assim, al´em da manu- ten¸c˜ao, existem outras ´areas funcionais que n˜ao poder˜ao ser negligenciadas. A dificuldade que surge neste problema ´e a gest˜ao dos recursos humanos que o gestor tem `a sua dis- posi¸c˜ao. Ele ter´a que ter em considera¸c˜ao, que se uma determinada tarefa est´a a ser reali- zada, ter´a recursos que estar˜ao indispon´ıveis, logo n˜ao poder˜ao ser escalados para outras actividades. Poder´a surgir o caso em que, o gestor tem todos os recursos dispon´ıveis para a consecu¸c˜ao de uma tarefa com excep¸c˜ao de um elemento de uma determinada categoria. Neste caso, essa tarefa ter´a que aguardar at´e `a reuni˜ao de todos os elementos necess´arios. Assim, existe a necessidade de, ao escalonar as tarefas de manuten¸c˜ao, ter a no¸c˜ao dos recursos existentes, dos recursos que cada subrotina consome, dos recursos que s˜ao liber- tados ap´os a conclus˜ao das subrotinas que v˜ao sendo finalizadas. ´E motivado por este enquadramento que surge, naturalmente, a ideia que este problema pode ser analisado tal qual um URCPSP.

Observe-se as tabelas 2.1 e 2.2, onde consta informa¸c˜ao sobre os recursos que cada sub- rotina consome e sobre o n´umero de recursos existentes de cada categoria. Assuma-se que

2.2 - CARACTERIZAC¸ ˜AO DO PROBLEMA

todas as subrotinas tˆem uma dura¸c˜ao unit´aria.

Recursos Tarefa Subrot 1 2 3 1 1 1 0 2 1 2 2 2 1 1 3 1 1 1 2 4 0 0 1 2 5 2 1 1

Tabela 2.1. Consumo de recursos de cada subrotina.

Respeitando os requisitos anteriormente expostos, o objectivo incide na necessidade de escalonar duas tarefas, de forma a minimizar o tempo de execu¸c˜ao.

Categoria Qte

1 2

2 3

3 2

Tabela 2.2. Recursos existentes.

O ideal ser´a ter dispon´ıvel um n´umero suficiente de recursos de forma a iniciar todas as ac¸c˜oes de manuten¸c˜ao o mais cedo poss´ıvel, contudo como se constata da leitura da tabela 2.1 e tendo informa¸c˜ao dos recursos existentes, de acordo com a tabela 2.2, n˜ao ´e poss´ıvel iniciar ambas as tarefas no mesmo instante temporal, em virtude de n˜ao existirem recursos suficientes da categoria 3.

Assim, uma solu¸c˜ao admiss´ıvel para o escalonamento das tarefas ´e mostrado na figura 2.8. O consumo de recursos em cada instante temporal, resume-se ao consumo requerido por cada subrotina, uma vez que n˜ao existem actividades a decorrer em simultˆaneo.

Esta gest˜ao de recursos complica-se quando existem tarefas em execu¸c˜ao, e ´e necess´ario saber que recursos est˜ao a ser consumidos, bem como estar ciente da conclus˜ao de outras tarefas e os recursos por elas libertados.

1 2 3 4 5 tarefa 2 tarefa 1 Recursos Consumidos 1 2 3 1 0 2 2 2 1 1 1 1 0 0 1 2 1 1

Figura 2.8. Solu¸c˜ao admiss´ıvel do exemplo de distribui¸c˜ao de recursos.

Para garantir o controlo dos recursos dispon´ıveis e os requeridos por cada subrotina i, s˜ao criadas duas matrizes. A matrizRecjdisponibiliza informa¸c˜ao sobre os recursos dispon´ıveis

para cada categoria. Neste caso tamb´em se procedeu a uma simplifica¸c˜ao, que em nada adultera as caracter´ısticas do problema. No caso real, em cada categoria tem-se elementos mais experientes e que como tal, s´o executam determinadas fun¸c˜oes, tais como fun¸c˜oes de supervis˜ao e participa¸c˜ao em tarefas que tenham um grau de execu¸c˜ao mais elevado, exigindo o acompanhamento e as per´ıcias de elementos mais especializados e com um maior know-how. Para efeitos puramente acad´emicos, foi assumido que esta caracter´ıstica em nada altera os princ´ıpios subjacentes ao problema em an´alise. A introdu¸c˜ao desta exigˆencia somente torna a instˆancia mais pesada, uma vez que, com a sua introdu¸c˜ao, a matriz de recursos seria mais discriminativa, passar-se-ia a ter mais categorias, seria necess´ario criar uma matriz de sub-categorias associadas a cada categoria.

J´a a matriz rrj,i identifica o tipo de recurso j e quanto elementos dessa categoria s˜ao

necess´arios para a execu¸c˜ao de cada subrotina i em cada instante temporal.

Uma vez que n˜ao ´e considerada a periodicidade das tarefas, ´e necess´ario garantir que assim que uma tarefa tenha sido escalonada, esta deixe de ser considerada para o restante planeamento. Desta forma garante-se que a tarefa ´e executada na sua totalidade e que n˜ao volta a ser considerada para a conclus˜ao do escalonamento do plano de manuten¸c˜ao. Em suma, importa sintetizar os requisitos abrangidos neste problema. Assim, o problema em causa tem as seguintes caracter´ısticas:

• Garantir a non-preemption em todas as subrotinas,

2.3 - CARACTERIZAC¸ ˜AO DAS INST ˆANCIAS

• Garantir a n˜ao realiza¸c˜ao sobreposta de tarefas incompat´ıveis, • Garantir a actualiza¸c˜ao constante do uso de recursos e sua limita¸c˜ao, • Garantir que uma tarefa s´o pode ser executada uma e s´o uma vez.

Documentos relacionados