Varredura

Cálculo de áreas válidas por uso de linha de varredura

O processo de busca pela maior área é feito através da análise de todas as possíveis áreas candidatas. Estas áreas são definidas de acordo com a geometria e localização dos defeitos. Um defeito que esteja localizado no centro da bobina gera quatro áreas que podem ser analisadas: uma a esquerda, uma a direita, uma superior e outra inferior como na figura 1:

Figura 1: Áreas válidas existentes com a presença de um defeito.

O processo de busca pela maior área válida consiste numa linha de varredura (LV) da esquerda para a direita parando a cada início e a cada final de defeito. Durante a progressão da rotina é mantido um conjunto das áreas válidas (CAV) que estão crescendo junto com a LV.

O início e o final da bobina, assim como o início e final de defeitos, também são pontos de análise da LV. No início do algoritmo a LV passa pelo início da bobina e é criado no CAV uma área com início na largura assumindo valor zero, o final igual a largura da bobina e o início no comprimento igual a zero (está se assumindo que a coordenada superior esquerda é a origem da contagem tanto na largura quanto no comprimento). Esta área permanecerá válida no CAV até que se encontre um defeito que possua alguma coordenada entre a largura inicial e a largura final do defeito.

A LV é deslocada do início da bobina para a coordenada mais a esquerda possível. Como a LV estava no início da bobina então a próxima coordenada ou vai ser o início de um defeito ou o final da bobina (se não há defeitos). Em ambos os casos a área existente no CAV vai ser bloqueada, sendo comparado com a maior área já encontrada pelo algoritmo. Se ela for maior ou não existir uma área identificada como sendo a maior então a área sendo analisada passa a ser a maior área encontrada pela rotina.

Cada vez que a LV pára no início de um defeito deve-se verificar todas as áreas do CAV para identificar as que possui intersecção na largura com o defeito sendo analisado. As que tiverem intersecção devem ser comparadas com a maior área válida já encontrada, substituindo-a caso seja maior. Após a verificação do tamanho das áreas válidas, deve-se inserir no CAV as novas áreas válidas geradas pelo início do defeito sendo considerado. Estas áreas consistem basicamente em duas: uma superior A ao defeito e outra inferior B, como na figura 2 abaixo.

Figura 2: Criação das áreas válidas a partir da análise de um início de defeito.

Cada vez que a LV pára no final de um defeito, deve-se inserir no CAV as novas áreas válidas geradas pelo final do defeito sendo considerado. Estas áreas consistem basicamente numa área superior ao defeito, numa área inferior ao defeito (a qual pode ser unida à área superior se não houver defeitos sobrepostos) e em área intermediárias caso haja algum defeito sobreposto. A figura C abaixo mostra a criação de quatro defeitos, um superior, um inferior e dois intermediários devido a dois defeitos sobrepostos.

Figura 3: Criação das áreas válidas a partir da análise de um final de defeito.

Quando a LV alcançar o final da bobina, todos as áreas no CAV deverão ser encerradas e comparadas com a maior área válida já encontrada. Se houver alguma maior então ela substituirá a anterior.

Ao final, deve-se verificar se a maior área válida encontrada é suficiente para alocar a ordem de produção requisitada. Se sim, então retorne a área, senão retorne nulo.

Eu desenvolvi um pequeno executável que fiz para demonstrar o algoritmo de procura de áreas válidas: Área válida pelo uso de linha de varredura