Click here to load reader
Upload
vuongtruc
View
218
Download
5
Embed Size (px)
Citation preview
ASSEMBLY LINE BALANCING
Projeto da base de dados
Figura 1 – Projeto da base de dados (Posto = Estação de Trabalho)
Roteiro para construção da base de dados em Interbase 6.5 SQL 3
1. Gerar o script no Case Studio 2
2. Criar a base de dados no IBConsole usando o script gerado com o Case Studio 2
3. Criar a view com a lista de tarefas proibidas (ver figura 2)
4. Criar a view com a lista de tarefas permitidas (ver figura 3)
Figura 2 – View das tarefas PROIBIDAS
Figura 3- View das tarefas PERMITIDAS
Algoritmo para alocação das tarefas nos postos
Enquanto a lista de tarefas PERMITIDAS não é vazia faça:
Selecione a tarefa PERMITIDA j com maior tempo de execução jt (ver figura 4);
Selecione o posto p de maior índice associado a tarefas predecessoras de j (ver figura 5);
Selecione o conjunto de postos { | }K k k p= ≥ com suas respectivas disponibilidades de
tempo kd (ver figura 6);
Encontre o mínimo *
k K∈ tal que * jkd t≥ ;
Atribua a tarefa j ao posto *
k ;
Fim enquanto
Figura 4 – Seleção de tarefas permitidas em ordem decrescente de tempo de execução
Figura 5 – Seleção do posto de maior índice associado a tarefas predecessoras da tarefa com idTarefa = 9
Figura 6 – Seleção da disponibilidade de tempo nos postos com índice maior ou igual a 2, para um tempo de ciclo de 30 unidade de tempo.
SQL úteis na aplicação do algoritmo de alocação de tarefas
SELECT * FROM Permitidas ORDER BY Tempo DESC
SELECT Max(T.Posto) AS MaxPosto
FROM Tarefa T
WHERE T.idTarefa IN (SELECT idPredecessora
FROM PREDECESSORA
WHERE idTarefa = :UmID)
SELECT Posto, :TempoCiclo - SUM(Tempo) AS Disponibilidade
FROM Tarefa
WHERE Posto >= :MinPosto AND NOT (Posto IS NULL)
GROUP BY Posto
ORDER BY Posto