3.2 Modelo MILP com Representação Temporal por Pontos de Evento
3.2.3 Restrições
Nesta subseção são definidas e explicadas as restrições que descrevem o problema de escalonamento.
Limites das Variáveis
Esses limites triviais garantem que os tempos inicial e final de cada tarefa esteja dentro do horizonte máximo H do macrociclo.
0 ≤ T si, T fi ≤ H, ∀i ∈ I. (3.1)
Restrições de Uso
Esta inequação significa que, para um dado intervalo de tempo n, um dispositivo pode executar no máximo uma única tarefa [22].
X
i∈Ij
wi,j,n ≤ 1, ∀j ∈ J, n ∈ Nj.
Como o número de intervalos de tempo é conhecido com exatidão – e há exata- mente um intervalo de tempo para cada tarefa – e cada tarefa terá que ser executada uma vez no ciclo, essa restrição pode ser transformada na seguinte:
X
i∈Ij
Restrições de Execução
Cada tarefa deve ser executada uma e apenas uma vez durante o macrociclo [30]. X
n∈Nj
wi,j,n = 1, ∀j ∈ J, i ∈ Ij. (3.3)
Restrições de Sequenciamento
Para um dispositivo j e para tarefas que ocorram em intervalos de tempo consecu- tivos, o tempo final da próxima tarefa i0 deve ser maior ou igual que o tempo final da tarefa atual i [22]. Essa inequação linear representa isso porque, quando duas tarefas ocorrem em sequencia, então wi,j,n = wi0,j,n+1 = 1, o que elimina a segunda
parcela do lado direito da desigualdade. Quando uma dessas variáveis é igual a zero a equação é trivialmente satisfeita, pois o resultado do lado direito será no máximo H − H = 0.
T si0 ≥ T fi − H (2 − wi,j,n− wi0,j,n+1) ,
∀j ∈ J, i, i0 ∈ Ij, n ∈ Nj, n < |Nj|, i 6= i0. (3.4)
Se um dispositivo i0 vem depois de outro, i, numa malha de controle m, então o tempo inicial de i0 deve ser maior ou igual ao tempo final da tarefa i. Essa restrição é uma simplificação da encontrada em [30].
T si0 ≥ T fi, ∀m ∈ M, (i, i0) ∈ Lm. (3.5)
Se a tarefa i precede i0, ambas são executadas no mesmo dispositivo j e as tarefas estão numa mesma malha de controle m, então i0 deve ser alocada num ponto de evento após aquele em que i está alocada. Essa restrição constitui um corte e não é necessária para o modelo representar o problema matematicamente com fidelidade. No entanto, ela torna o modelo mais justo, melhorando o desempenho computacional durante a otimização.2 X n0∈N j:n0>n wi0,j,n0 ≥ wi,j,n, ∀j ∈ J, m ∈ M, (i, i0) ∈ L1j,m, n ∈ Nj. (3.6)
2Um modelo justo é um modelo em que as restrições do problema relaxado formam um poliedro
que se aproxima do menor poliedro que engloba todas as soluções inteiras. Em geral, portanto, restrições aparentemente redundantes se apenas o espaço das variáveis inteiras for considerado podem ser relevantes para aproximar o problema relaxado e o problema inteiro.
Restrições de Tempo Final
Uma vez que o tempo de execução é fixo, essa restrição de igualdade pode ser simplificada da encontrada em [22]. Verdadeiramente, T fi poderia ser suprimida
das variáveis, mas é deixada aqui intencionalmente para fins de claridade.
T fi = T si+ T ei, ∀i ∈ I (3.7)
Limites de Compel Data
As variáveis T sCDs e T f CDs são limites para todos os CDs da rede. Elas serão usadas na restrição seguinte.
T sCDs ≤ T si, ∀i ∈ Inet
T f CDs ≥ T fi, ∀i ∈ Inet (3.8)
Restrições de Projeto
Essa restrição é específica para FF, mas poderia ser aplicada a outras redes.
T f CDs − T sCDs ≤ R, (3.9)
onde R = ρH, sendo ρ uma fração do macrociclo explicada no próximo parágrafo. De acordo com [15], não se recomenda que o tempo gasto em comunicações publicante/assinante exceda 50% ou 60% do tempo total do macrociclo para um novo projeto de rede, e 70% no caso geral (normalmente deixa-se um espaço para futuras ampliações da rede). Rigorosamente, isto é alcanaçado quando
X
i∈Inet
T ei ≤ r0H, (3.10)
onde r0 = 0.5 ou r0 = 0.6 para novos projetos e r0 = 0.7 para o caso geral. Isso não depende da agenda, mas sim das malhas de controle configuradas. É, portanto, uma condição inicial de viabilidade. Como os tempos de Compel Data para uma rede são os mesmos para a maior parte dos sistemas, a equação 3.10 é imediatamente satisfeita ao se manter suficientemente baixo o número total de CDs. Por exemplo, um macrociclo requerido de 1000 ms permite no máximo 16 a 20 CDs de 30 ms cada numa nova rede.
É importante ressaltar que a banda FF H1 é relativamente pequena: a velocidade de 31.25kbps significa que em um milissegundo não é possível a trasmissão de 4 octetos (32 bytes). Sendo assim, uma operação como a passagem de tokens da comunicação acíclica já leva tempo significativo, que aumenta com o número de
dispositivos. Portanto, quando duas comunicações são realizadas muito próximas uma da outra, mas não são consecutivas, o tempo deixado entre elas é insuficiente para outras comunicações. Logo, este intervalo de tempo é desperdiçado e não pode ser aproveitado para comunicações sob demanda, como a requisição de dados pelo operador. Como o referido critério em [15] tem a intenção de assegurar que haja tempo para as outras comunicações, estes intervalos de tempo também deveriam ser considerados. Para o problema de agendamento, a equação 3.9 contrai a restrição ao tentar manter os CDs juntos um do outro. A restrição mais justa acontece quando r = r0. Valores de r levemente superiores ao de r0 podem ser usados, desde que a restrição da equação 3.10 seja satisfeita também.
Observe que, para a restrição de agrupamento enunciada na subseção 3.2.3, a condição real que deve ser alcançada é
max
i∈Inet
T fi− min i∈Inet
T si ≤ rH, (3.11)
que corresponde exatamente ao agrupamento de CDs. Contudo, isso é alcançado se a equação 3.9 também o for: da equação 3.8, segue-se que
T f CDs ≥ max i∈Inet T fi e T sCDs ≤ min i∈Inet T si. Logo, max i∈Inet T fi− min i∈Inet T si ≤ T f CDs − T sCDs ≤ rH. (3.12) Restrições de Readback
Essas duas equações determinam se oreadback r será transmitido antes da mensagem que o recebe (Eq. 3.13) ou depois da mensagem que o envia (Eq. 3.14).
T siR ≥ T fr− Hyr, ∀r ∈ RB, (iR, iS) ∈ LRr. (3.13)
T sr≥ T fiS − H(1 − yr), ∀r ∈ RB, (iR, iS) ∈ LRr. (3.14)
Se yr = 0 a Equação 3.13 se torna T siR ≥ T fr ao passo que a Equação 3.14
é trivialmente satisfeita: dessa forma, tem-se apenas que i termina antes de iR,
a mensagem que o recebe, começa. Analogamente, se yr = 1, a Equação 3.13
é trivialmente satisfeita enquanto a Equação 3.14 se torna T sr ≥ T fiS: assim,
o readback é transmitido após o término do bloco que o envia. Lembre-se que essa distinção só é válida para um dado macrociclo. Considerando a repetição do
macrociclo periodicamente, cada readback estará entre a tarefa que o envia e a que o recebe.