Projeto de Implementação
Nº 1 - 1999.2
Simulação
de um Chão de Fábrica
utilizando Tipos Abstratos de Dados
1. Descrição do
Problema
- 
Uma fábrica vai modernizar
o setor de empacotamento de produtos. Ela precisa decidir quais e quantas
máquinas de empacotar vai adquririr.
 
- 
O objetivo da fábrica
é o de amortizar o preço de aquisição das máquinas
o mais rápido possível. Para isso vai direcionar todo o lucro
para a amortização das máquinas.
 
- 
Os produtos a serem empacotados
são de 3 diferentes tipos e chegam misturados ao galpão de
empacotamento através de uma única esteira rolante, de onde
são distribuídos para empacotar.
 
- 
Para decidir quantas e quais
máquinas adquirir, a fábrica fará uma simulação
do empacotamento.
 
2. Descrição
dos Produtos da Empresa
A empresa trabalha com produtos
congelados que chegam ao empacotamento em lotes.
- 
Cada lote deve ser empacotado
em um pacote. Há três tipos de lotes: coxinhas, filé
de peixe e almôndegas, distribuídos uniformemente.
 
- 
As máquinas levam tempos
diferentes para empacotar cada tipo de lote.
 
- 
O lucro que a empresa tem é
calculado como o preço de atacado de um lote menos o custo de produção
de um produto (onde estão incluídos todos os fatores até
o empacotamento) e o custo operacional da máquina para empacotar
o produto.
 
- 
Os produtos são perecíveis
e devem estar (cada lote) empacotado em um tempo máximo após
chegar (do contrário será jogado fora).
 
Produto    %Produto  
Custo Produção   Preço Atacado  Tempo
Deterioração
coxinhas     50        
0,80            
1,45           50 s.
peixe       
30         0,70            
2,00           20 s.
almondega    20        
0,40            
0,80           90 s.
 
3. Descrição Geral
das Máquinas
- 
Há vários modelos
de máquina empacotadora no mercado. Algumas empacotam somente um
tipo de produto, outras empacotam vários tipos diferentes. Os preços,
o consumo de energia e as velocidades de empacotamento são diferentes,
de acordo com o modelo.
 
- 
Todas as máquinas possuem
uma fila de entrada onde vários lotes de produtos podem ser colocados,
que a máquina processa um a um.
 
- 
O tempo que uma máquina
leva para processar um produto é uma variável aleatória
distribuída uniformemente em +/- 10% do tempo dado no manual da
máquina.
 
- 
Todas as máquinas consomem
energia, mesmo quando estão ociosas. O kilowatt-hora custa R$ 1,00.
Uma hora possi 3.600 segundos.
 
- 
Um produto que deteriorou na
fila não pode ser empacotado e representa um prejuízo que
será somado ao custo operacional.
 
3.1 Descrição
das Máquinas
Há no mercado seis
tipos diferentes de máquina empacotadora que a nossa empresa poderia
utilizar:
 
| Modelo | 
Produtos | 
Tempo
+/- 10% | 
Consumo | 
Preço | 
| FishPak | 
Filé
de Peixe | 
10
s | 
20
KWh | 
100.000 | 
| FrangoPak | 
Coxinhas | 
16
s | 
20
KWh | 
100.000 | 
| AllPak | 
Coxinhas | 
18
s | 
22
KWh | 
150.000 | 
| File
de Peixe | 
12
s | 
| Almôndegas | 
12
s | 
| Plastific | 
Todos | 
25
s | 
35
KWh | 
60.000 | 
| EnSacAll | 
Todos | 
30
s | 
40
KWh | 
50.000 | 
| Universal | 
Todos | 
35
s | 
35
KWh | 
30.000 | 
Observe que o tempo de empacotamento
sempre variará aleatoriamente no espaço +/- 10% do tempo
de empacotamento da máquina para um produto dado na tabela. O tempo
de empacotamento da máquina AllPak difere dependendo do tipo de
produto.
 
 
4. Funcionamento da Fábrica
- 
Os lotes de produtos chegam
na esteira para ser empacotados em intervalos de 2s. A probabilidade de
um lote ser coxinha, filé de peixe ou almôndega é a
dada na tabela de produtos. As probabilidades devem ser consideradas como
independentes.
 
- 
Logo que chega, um lote é
colocado na fila de uma máquina que pode empacotá-lo. Deve
ser escolhida a menor fila das máquinas-candidatas.
 
- 
O tempo que um produto leva
para ser levado da esteira até a fila de uma máquina é
irrelevante e não será considerado.
 
- 
O tempo de deterioração
de um produto passa a ser calculado a partir do momento em que ele é
colocado no fim na fila de entrada da máquina (=tempo de chegada).
 
- 
O tempo que uma máquina
vai levar para empacotar o produto é calculado no momento em que
ele é retirado da fila. A máquina somente estará livre
para empacotar outro produto após este tempo.
 
- 
Verificamos se o produto deteriorou
ou se pode ser empacotado no momento em que ele chega no início
da fila e a máquina vai empacotá-lo. Se o produto estiver
deteriorado, a máquina o descarta e verifica o próximo da
fila.
 
- 
Se um produto é descartado,
seu custo de produção (= prejuízo) é somado
ao custo operacional da máquina.
 
- 
Outros detalhes, como o custo
com falhas da máquina não serão considerados.
 
5. Cálculo da Amortização
- 
A empresa quer pagar as máquinas
o mais rápido possivel. Para isto todo o lucro será depositado
em uma conta para pagar o valor de aquisição das máquinas.
 
- 
Consideramos que a fábrica
trabalha ininterruptamente, sem pausas.
 
- 
O cálculo do lucro/hora
do galpão de empacotamento é realizado da seguinte forma:
soma do valor de venda de todos os produtos empacotados com sucesso menos
o custo de todos os produtos produzidos (inclusive os jogados for) e o
custo opeacional das máquinas.
 
- 
A simulação deve
parar quando foi realizado lucro suficiente para pagar todas as máquinas
adquiridas.
 
6. Análise de Requisitos
do Programa
- 
O programa deverá ser
capaz de permitir que o usuário escolha quantas máquinas
de que tipos usará para a simulação. P.ex.: 1 máquina
AllPak e 2 máquinas FishPak.
 
- 
A simulação terminará
quando houver sido juntado dinheiro suficiente para pagar as máquinas
ou quando houverem se passado 2 anos.
 
- 
O programa sempre deverá
informar ao usuário as seguintes estatísticas:
 
- 
Custo operacional/hora total
de cada máquina
 
- 
Taxa de lucro/hora de cada
máquina
 
- 
A quantidade de produtos
jogada fora por cada máquina e seu custo total.
 
- 
Tempo total para pagar o
custo de aquisição das máquinas escolhidas para a
simulação.
 
7. Modelagem da Fábrica
- 
Um lote de produtos é
um TAD simples que possui como informação: o tipo de lote.
Custo de valor de revenda podem ser modelados como variáveis globais.
 
- 
Uma máquina é
um TAD que possui: uma variável indicando quando o próximo
produto estará empacotado, uma fila de produtos, um custo operacional
total, um lucro total, um contador de produtos processados e outro de produtos
jogados fora e um prejuízo total por produtos jogados fora.
 
- 
Um nodo de fila de produtos
de uma máquina é um TAD que possui um produto, o tempo de
entrada deste produto na fila (= hora de fabricação).
 
- 
O setor de empacotamento é
um TAD lista circular de máquinas, percorrida constantemente para
ver qual é a próxima máquina onde um produto vai ficar
pronto.
 
- 
Além disso, o setor de
empacotamento possui uma variável relógio interno, que funciona
em segundos. Há duas formas de se implementá-lo: orientado
a eventos ou orientado a segundos.