Sunteți pe pagina 1din 4

Comparao da Busca Tabu com uma Heurstica Simples no Escalonamento de Barramento de Campo

Lucy Mara Franco Vargas, Rmulo Silva de Oliveira Departamento de Automao e Sistemas - Universidade Federal de Santa Catarina (UFSC) Caixa Postal 476 88.040-900 Florianpolis SC Brasil
{lucy,romulo}@das.ufsc.br

Resumo. O objetivo deste artigo comparar a meta-heurstica Busca Tabu com uma heurstica simples na resoluo do problema de alocao e escalonamento de blocos funcionais em barramentos de campo que seguem a especificao Foundation Fieldbus. Nas experincias so empregados cenrios baseados em aplicaes reais de controle distribudo.

1. Introduo
Sistemas de controle com realimentao em que os laos de controle so fechados por uma rede de tempo real so chamados Sistemas de Controle Baseados em Rede (NCS Networked Control Systems). A principal caracterstica de um NCS que a informao (entrada de referncia, sada da planta, entrada do controle, etc.) trocada atravs de uma rede entre os componentes do sistema de controle (sensores, controlador, atuadores, etc.) [Wei 2001]. O Foundation Fieldbus (FF) um sistema de comunicao digital, serial e bidirecional, que permite a comunicao entre equipamentos de superviso, de controle e dispositivos de campo [Fieldbus Foundation 2003]. O controle da comunicao e de acesso ao fieldbus responsabilidade de um dispositivo chamado Escalonador Ativo de Enlace (LAS Link Active Scheduler). O LAS administra a permisso dada aos dispositivos que desejam transmitir dados no barramento, de tal forma que somente um nico dispositivo acesse o barramento em cada instante. O FF especificou um modelo de Aplicao do Usurio onde cada dispositivo de campo cumpre sua parte na operao total do sistema implementando um ou mais blocos funcionais (FB Function Blocks). Os FB descrevem as funes disponveis em um dado dispositivo e definem como estas podem ser acessadas. Depois de ser definida a estratgia de controle em termos de blocos funcionais, necessrio fazer a alocao de cada bloco aos diversos dispositivos existentes na rede. Por alocao entende-se decidir qual bloco executa em qual dispositivo de campo. Aps a alocao dos blocos nos dispositivos, necessrio fazer o escalonamento destes para garantir uma correta ordem de execuo e comunicao. O escalonamento refere-se a deciso de qual bloco executa quando no processador que foi alocado e tambm qual mensagem transmitida quando no barramento de comunicao. Para a resoluo de problemas como este e muitos outros classificados como NP-Hard ou NP-Completos pela teora de complexidade computacional podem ser utilizados mtodos conhecidos como meta-heursticos. Em [Rafael 2003], os mtodos meta-heursticos so definidos como um marco geral para criar novos algoritmos hbridos combinando diferentes conceitos derivados da inteligencia artificial, da evoluo biolgica e dos mecanismos estatsticos. Atualmente existem vrios destes mtodos que tem demonstrado sua eficcia em uma grande variedade de problemas, como o caso do mtodo Busca Tabu.

A Busca Tabu uma meta-heurstica que guia uma heurstica de busca local para explorar o espao de solues de tal modo que seja evitado ser apanhado em mnimos locais. Est baseada em princpios gerais da inteligencia artificial (IA). Toma da IA o conceito de memria e o implementa atravs de simples estruturas com o objetivo de dirigir a busca considerando a histria dela [Rafael 2003]. Neste artigo feita uma comparao do Busca Tabu com uma heurstica simples na resoluo do problema de alocao e escalonamento de blocos funcionais e mensagens peridicas do Foundation Fieldbus.

2. Descrio do problema
Uma estratgia de controle tm n laos de controle os quais so executados em m dispositivos de campo. O lao de controle L[i], i = 1, ..., n, composto de nbi tarefas blocos funcionais e npi tarefas de comunicao (mensagens peridicas). Uma tarefa Tj[i], j = 1, .., (nbi + npi), (bloco funcional ou de comunicao) do lao de controle L[i] pode ser definida como: Tj[i] = (Cj[i], Pj[i], Dj[i]), onde Cj[i] o tempo de computao ou transmisso requerido para a execuo da tarefa Tj[i], o perodo Pj[i] o tempo fixo no qual a tarefa Tj[i] deveria ser executada repetidamente e o deadline Dj[i] o tempo mximo que a tarefa Tj[i] tm para ser executada. Estes tempos, Cj[i], Pj[i] e Dj[i], so conhecidos; o Cj[i] das mensagens que so enviadas entre blocos funcionais no mesmo dispositivo considerado igual a 0. O deadline D j [i ] considerado igual ao perodo da tarefa. Algumas das tarefas Tj[i] do lao de controle L[i] tm relaes de precedncia. Cada tarefa Tj[i] no lao de controle L[i] vai ser escalonada nsj[i] vezes no macrociclo: ns j [i] = macrociclo , onde P[i] o perodo da tarefa Tj[i]. P[i ] (1)

Uma soluo de escalonamento neste contexto consiste da definio da alocao e tambm da construo de uma grade de tempo informando que tarefa (bloco funcional ou de comunicao) executa a cada instante. A grade ter o tamanho do macrociclo. Neste trabalho considerada como a melhor soluo a que apresenta o menor valor no resultado da frmula abaixo. As constantes na frmula foram utilizadas para permitir que a meta-heurstica possa dar prioridade queles conflitos com o maior valor da constante e portanto resolve-los primeiro que os outros. Estes valores para as constantes foram definidos aps um conjunto de experincias preparatrias. Avaliao = (100 * NumeroPrecedenciasIgnoradas) + (1 * DeadlineNaoRespeitado) + (10* ConflitosBarramento) + (1 * ConflitosBlocos).

3. Heurstica Simples
Existem blocos funcionais que s podem executar em processadores especficos (por exemplo os blocos AI e AO). Na heurstica implementada a alocao dos blocos que no tm um processador predefinido, quer dizer, que podem executar em qualquer dispositivos conectados rede, foi feita da seguinte forma: os blocos PID so alocados nos respectivos dispositivos atuadores e os outros blocos funcionais que no tm um processador especfico para execuo so colocados em qualquer dos outros dispositivos sensores. O escalonamento dividido em duas partes, primeiro feito o escalonamento nos dispositivos processadores e depois no barramento. Para o escalonamento nos processadores,

atribudo como incio de execuo de cada bloco sucessor o final de execuo do seu bloco predecessor e o incio dos blocos que no tm um predecessor igual a 0. No escalonamento no barramento, o incio de execuo das mensagens enviadas entre os blocos funcionais igual ao final de execuo do bloco que enva a mensagem mais o final de execuo da ltima mensagem que foi transmitida, isto para evitar o conflito entre as mensagens. Depois da alocao e escalonamento dos blocos funcionais e mensagens enviadas entre estes blocos, feita uma verificao do incio de execuo dos blocos sucessores, isto para que o bloco sucessor execute depois de receber a mensagem que lhe foi enviada. A seguir apresentado o pseudo-cdigo da heurstica implementada.
Inicio Alocao dos blocos. Alocar os blocos que podem executar em qualquer processador. Blocos PID nos atuadores. Se houver outros blocos, alocar-los em algum dos dispositivos sensores. Escalonamento nos processadores. Atribuir os incios de execuo dos blocos. Incio de execuo do sucessor = Final de execuo do predecessor. Incio de execuo dos blocos sem predecessor = 0. Escalonamento no barramento. Atribuir os incios de execuo das mensagens. Incio de execuo da mensagem = Final de execuo do bloco origem + ltima mensagem transmitida. Se ( mensagem externa) ento ltima mensagem = Incio de execuo da mensagem + tempo de computao da mensagem. Atualizao do incio de execuo. Para todos os blocos que recebem uma mensagem (sucessores). Se (Incio de execuo do sucessor < final de execuo da mensagem) ento Incio de execuo do sucessor = Final de execuo da mensagem.

Fim

4. Experincias
O tempo para transmisso de uma mensagem atravs do barramento foi definido como sendo 30ms e 0ms para as mensagens internas. Para as experincias, a cada bloco atribudo um tempo de computao aleatrio que varia entre o valor mnimo de 10ms e o valor mximo de 40ms para os blocos que tm que ser executados em processadores especficos e entre os valores 40ms e 100ms para aqueles blocos que podem executar em qualquer processador. Os laos de controle usados variam desde os mais simples at os mais complexos para poder gerar as diferentes cargas computacionais. A definio de carga computacional procurou usar configuraes e valores realistas, tirados da literatura. Foram considerados trs tipos de cargas computacionais, chamadas de pequena, mdia e grande. So geradas selecionando aleatoriamente os laos de controle que formaro cada um destes tipos de carga. A carga pequena formada por 2 laos de controle, a mdia composta de 4 laos e as cargas grandes so formadas por 5 laos de controle. Foram geradas aleatoriamente 24 estratgias pequenas e 100 estratgias mdias e grandes. O algoritmo do Busca Tabu executava durante 3 minutos, e fornecia a melhor soluo que tivesse encontrado. Somente foram consideradas estratgias com laos com perodos iguais (macrociclo = perodo). As figuras 1, 2 e 3 mostram o nmero de solues satisfatrias que a meta-heurstica e a heurstica simples encontraram nas diferentes cargas utilizadas. Como mostram as figuras de 1 a 3, o Busca Tabu mostrou-se melhor nos trs tipos de carga computacional que foram usadas. A simplicidade desta meta-heurstica a torna atrativa para o problema tratado neste artigo. Em geral, softwares comerciais utilizam alocao manual [Smar 2002] e escalonamento baseado em heursticas simples, solues inferiores ao uso do Busca Tabu.

Carga Pequena (P = 1000) 24


100 24 20 Estratgias 16 12 8 4 0 Busca Tabu Heurstica Simples Estratgias

Carga Mdia (P = 2000)

15

80 60 40 20 0 Busca Tabu Heurstica Simples

26

19

Figura 1. Resultados carga pequena.


Carga Grande (P = 3000)

Figura 2. Resultados carga mdia.


Carga Grande (P = 4000)

100 Estratgias Estratgias 80 60 40 20 0 Busca Tabu

100 80 60 40 20 0 Heurstica Simples Busca Tabu

33 6
Heurstica Simples

14

Figura 3. Resultados carga grande (com dois perodos diferentes).

5. Concluses
Este artigo fez uma comparao entre o Busca Tabu e uma heurstica simples na resoluo do problema de alocao e escalonamento de blocos funcionais e mensagens peridicas do sistema Foundation Fieldbus. Foram usados diferentes cenrios nas experincias realizadas e constatou-se que o Busca Tabu foi melhor que a heurstica simples implementada nos trs tipos de cargas definidos. Estas cargas foram geradas a partir da combinao de laos de controle realistas, tirados da literatura de controle. Os resultados relatados neste artigo, alm de outros apresentados em [Vargas 2005], sugerem o Busca Tabu como uma forma eficaz de atacar o problema em questo. Pretende-se no futuro investigar se algoritmos mais complexos so capazes de ter a mesma eficcia do Busca Tabu. Tambm, pretende-se avaliar o impacto do tempo de execuo do Busca Tabu na qualidade dos seus resultados.

Referncias
Fieldbus Foundation (2003), Technical Overview, Austin Texas. Jonas, B. (2002), Fieldbuses for Process Control: Engineering, Operation, and Maintenance, ISA The Intrumentation, Systems, and Automation Society, 2002. Rafael, M. (2003), Procedimientos Metaheursticos en Optimizacin Combinatoria, Matemtiques 1(1), 3-62. Smar (2002), Function Blocks Instruction Manual. Vargas, L., Estudo Sobre o Emprego de Meta-Heursticas na Alocao e Escalonamento de Blocos Funcionais em Redes Foundation Fieldbus, Dissertao de Mestrado, PGEELUFSC, Fevereiro. Wei, Z., Michael, S.B. e Stephen, M.P. (2001), Stability of Networked Control Systems, Control Systems Magazine, USA.

S-ar putea să vă placă și