Resumo
Algoritmos Genéticos (AG) constituem-se numa técnica heurística de busca de soluções que pode ser aplicada em uma variedade de problemas na área de gestão da manufatura e estoques. Este artigo detalha a aplicação de um AG implementado em um simulador de plano de negócios, cujo objetivo é a determinação aproximada do mixde produção envolvendo mais de um produto, considerando ainda os preços estimados no mercado e restrições via gargalos de produção. O simulador contém os dados referentes à estrutura de matéria-prima e ao fluxo de produção, permitindo o cálculo de forma dinâmica do resultado operacional e lucratividade. Uma série de cenários é explorada, nela o AG tende a encontrar soluções heurísticas na tentativa de maximização do lucro líquido, calculado a partir do demonstrativo de resultado gerado no simulador, considerando-se, em alguns casos, um fator de penalização como restrição ao problema.
Palavras-chave:
Algoritmos genéticos; Soluções heurísticas; Planejamento da produção; Simulação de sistemas
Abstract
Genetic Algorithms (GAs) consist of a set of robust search techniques that can be applied in a variety of problems in the manufacturing area and inventory management. This article details the use of a GA in a business plan simulation software, with the aim of determining the optimal mix of production involving more than one product, considering the market prices and restrictions on production bottlenecks. The simulator contains data on the structure of raw material and production flow, providing a dynamic calculation of operating income and profitability. Several scenarios are dealt, with the AG tending to find optimal solutions maximizing the net profit, taking into account production constraints, in some cases, through the use of objective function with a penalty factor.
Keywords:
Genetic algorithms; Heuristic solutions; Manufacturing planning; Systems simulation
1 Introdução
A determinação de mix de produção, na fase de planejamento de manufatura, tem sido objeto de amplos estudos na área de gestão da produção, abrangendo técnicas intuitivas ou gráficas, a programação matemática e o uso de abordagens heurísticas ou estratégias inteligentes. Os métodos intuitivos ou gráficos usam planilhas de cálculo e gráficos para auxiliar na elaboração de um plano agregado de produção, assemelhando-se a um processo de tentativa e erro e dificilmente resultando em um plano ótimo, ainda mais com a consideração de um número grande de variáveis para o problema (Lustosa et al., 2008Lustosa, L., Mesquita, M. A., Quelhas, O., & Oliveira, R. (2008). Planejamento e controle da produção. Rio de Janeiro: Elsevier.).
Na área da programação matemática, problemas similares podem ser resolvidos a partir de métodos da programação linear. É necessário que se modele uma função objetivo com comportamento linear. O problema pode incluir um conjunto de restrições, na forma de igualdades ou desigualdades matemáticas, que limitam a região de valores possíveis a serem calculados pela função objetivo. Depois da modelagem, a função objetivo deve ser maximizada ou minimizada por algum algoritmo, tal como o algoritmo do elipsoide, métodos de ponto interior e o clássico algoritmo simplex (Cormen et al., 2002Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2002). Algoritmos: teoria e prática (2. ed.). Rio de Janeiro: Campus.; Moreira, 2008Moreira, D. A. (2008). Administração da produção e operações. São Paulo: Cengage Learning.). Métodos de programação não linear podem ser utilizados quando o problema a ser abordado apresenta comportamento que não pode ser modelado apenas a partir de funções lineares. Neste campo, podem-se enumerar técnicas iterativas de busca tais como o método de Newton, descida de gradiente, gradiente conjugado e ainda o uso de multiplicadores de Lagrange (Luenberger, 2004Luenberger, D. G. (2004). Linear and nonlinear programming (2nd ed.). Norwel: Kluwer Academic Publishers.).
No campo das abordagens aproximadas ou heurísticas, o uso de Algoritmos Genéticos (AG) tem se disseminado em uma gama variada de aplicações. Como exemplos de aplicações de AG para determinação de lote econômico, em Sarker & Newton (2002)Sarker, R., & Newton, C. (2002). A genetic algorithm for solving economic lot size scheduling problem. Computers & Industrial Engineering, 42(2-4), 189-198. http://dx.doi.org/10.1016/S0360-8352(02)00027-X.
http://dx.doi.org/10.1016/S0360-8352(02)...
e Pacheco et al. (2010)Pacheco, M. A. C., Hamacher, S., & Almeida, M.R. (2010). Algoritmos genéticos para programação da produção em refinarias de petróleo. Revista de Inteligência Computacional Aplicada, (6). Recuperado em 24 de março de 2012, de http://rica.ele.puc-rio.br/media/Revista_rica_n6_a9.pdf
http://rica.ele.puc-rio.br/media/Revista...
, são encontrados métodos para determinar o tamanho de lote ótimo, sujeito às restrições quanto ao fornecimento de matéria-prima, trazendo o problema mais próximo do mundo real. Gaafar (2006)Gaafar, L. (2006). Applying genetic algorithms to dynamic lot sizing with batch ordering. Computers & Industrial Engineering, 51(3), 433-444. http://dx.doi.org/10.1016/j.cie.2006.08.006.
http://dx.doi.org/10.1016/j.cie.2006.08....
empregou AG para encontrar o tamanho de lote variante no tempo, usando codificação de cromossomos diferenciada. Chatfield (2007)Chatfield, D. C. (2007). The economic lot scheduling problem: A pure genetic search approach. Computers & Operations Research, 34(10), 2865-2881. http://dx.doi.org/10.1016/j.cor.2005.11.001.
http://dx.doi.org/10.1016/j.cor.2005.11....
apresentou o procedimento Genetic Lot Scheduling, empregando regras simples de sequenciamento de produção aninhada, objetivando a busca do lote mínimo.
Quanto à aplicação de AG em implementações mais complexas, Zhang & Gen (2006)Zhang, H., & Gen, M. (2006). Effective genetic approach for optimizing advanced planning and scheduling in flexible manufacturing system. In Proceedings of the 8th Annual Conference on Genetic and Evolutionary Computation (GECCO '06) (pp. 1841-1848). New York: ACM. Recuperado em 30 de março de 2013, de http://doi.acm.org/10.1145/1143997.1144293
http://doi.acm.org/10.1145/1143997.11442...
propuseram um AG baseado em operação multiestágio, com uma abordagem diferenciada para o design de cromossomos, na busca de uma ótima seleção de recursos para definição de produtos, sequência de operações e alocação de vários lotes de transferência. Em Zolfaghari & Liang (2003)Zolfaghari, S., & Liang, M. (2003). A new genetic algorithm for the machine/part grouping problem involving processing times and lot sizes. Computers & Industrial Engineering, 45(4), 713-731. http://dx.doi.org/10.1016/j.cie.2003.09.003.
http://dx.doi.org/10.1016/j.cie.2003.09....
é apresentado um AG em que um índice de eficácia é utilizado para medida de desempenho e para determinação da função objetivo. Relacionado ao uso de modelos híbridos com AG, Miller et al. (1999)Miller, D. M., Chen, H., Matson, J., & Liu, Q. (1999). A hybrid genetic algorithm for the single machine scheduling problem. Journal of Heuristics, 5(4), 437-454. http://dx.doi.org/10.1023/A:1009684406579.
http://dx.doi.org/10.1023/A:100968440657...
propuseram um AG híbrido para um problema simplificado de uma única máquina, num único estágio, objetivando minimizar a soma do tempo de setup, custos de inventário e de transporte. Em Jenabi et al. (2007)Jenabi, M., Torabi, S. A., & Mansouri, S. A. (2007). A hybrid GA for a supply chain production planning problem. In Proceedings of the 9th Annual Conference on Genetic and Evolutionary Computation (GECCO '07) (pp. 2045-2052). New York: ACM. Recuperado em 30 de março de 2013, de http://doi.acm.org/10.1145/1276958.1277359
http://doi.acm.org/10.1145/1276958.12773...
, tem-se a proposta de um AG para resolução de um problema de programação da produção e cadeia de suprimentos, em que um fornecedor pode suprir vários itens diretamente nas instalações de montagem. Kim & Jeong (2007)Kim, K., & Jeong, I. (2007). Flow shop scheduling with no-wait flexible lot streaming using adaptive genetic algorithm. InProceedings of the the 2007 International Conference Computational Science and Its Applications (ICCSA 2007)(p. 474-479). Washington: IEEE Computer Society. http://dx.doi.org/10.1109/ICCSA.2007.87.
http://dx.doi.org/10.1109/ICCSA.2007.87...
apresentam um AG adaptativo para resolução de um problema de programação que envolve a divisão de diferentes produtos em sublotes e a consideração de máquinas alternativas com diferentes tempos de processamento. Os AG são usados também como uma alternativa para a determinação de células de manufatura, em que se objetiva desenvolver um sistema de manufatura em clustering, no qual partes similares são agrupadas em famílias e máquinas e, por sua vez, agrupadas em células (Trindade & Ochi, 2006Trindade, A. R., & Ochi, L. S. (2006). Um algoritmo evolutivo híbrido para a formação de células de manufatura em sistemas de produção. Pesquisa Operacional, 26(2): 255-294. http://dx.doi.org/10.1590/S0101-74382006000200005.
http://dx.doi.org/10.1590/S0101-74382006...
; Ribeiro & Lorena, 2000Ribeiro, G., Fo., & Lorena, L. A. N. (2000). A constructive evolutionary approach to the machine-part cell formation problem. In A. Fleury, H. Yoshizaki, L. B. M. Guimarães & J. L. D. Ribeiro (Eds.), Buildings competencies for international manufacturing: perspectives for developing countries (pp. 340-348). Porto Alegre: UFRGS/FEENG.).
A partir de uma proposta diferenciada, este trabalho apresenta a implementação de um AG capaz de resolver de forma heurística o problema de determinação do mixde produção, buscando maximizar o resultado de uma função objetivo de lucro líquido, estimado a partir de um demonstrativo de resultado do exercício fornecido pelo simulador de plano de negócios. Justifica-se este método devido ao uso de uma série de variáveis que não estão associadas diretamente à área de produção, abordando-se de forma sistêmica o problema. Um dos problemas-chave na fase de planejamento de produção, com um grande número de produtos a serem manufaturados, se refere à proporção de cada produto que deve ser programado, em relação à produção total. Esta proporção deve levar em consideração tanto a quantidade a ser produzida quanto o preço estimado de mercado. Por outro lado, a árvore de manufatura dos produtos cadastrada no simulador permite a identificação das restrições relativas ao suprimento de matéria-prima e capacidade instalada de produção. Assim, a implementação do AG é considerada em alguns cenários de simulação calculando-se o lucro líquido penalizado de acordo com a restrição imposta pelos gargalos de produção. As análises se aprofundam no sentido de abordar os aspectos do balanceamento de carga-máquina para fins de planejamento, não extrapolando, entretanto, para programação ou sequenciamento da produção.
Quanto à estrutura do artigo, inicialmente é apresentada a fundamentação teórica sobre AG a partir de alguns conceitos-chave relacionados à técnica, à modelagem conceitual e à modelagem quantitativa do problema e ainda à parametrização do AG. A apresentação dos resultados de simulações efetuadas para o estudo de caso é feita, assim como a análise detalhada dos parâmetros do AG, seguida pelas considerações finais.
2 Algoritmos genéticos
Um AG é uma classe de algoritmo de busca: “[...] é uma variante de busca em feixe estocástica, na qual os estados sucessores são gerados pela combinação de dois estados pais, em vez de serem gerados pela modificação de um único estado [...]” (Russel & Norvig, 2004Russel, S., & Norvig, P. (2004). Inteligência artificial. Rio de Janeiro: Campus. Tradução da 3ª edição., p. 115). São denominados também de técnicas de busca heurísticas de otimização global (Linden, 2012Linden, R. (2012). Algoritmos genéticos (3. ed.). Rio de Janeiro: Brasport.). Este processo é análogo ao processo de seleção natural da biologia, baseando-se também no processo de reprodução sexuada. Desta forma, o AG executa uma estratégia de busca múltipla, permitindo a emergência de soluções ótimas dentro do espaço de variáveis de um problema específico.
Os AG iniciam com vários estados gerados de forma aleatória, denominada de população. A população é constituída de indivíduos, em que cada um possui uma representação na forma de uma cadeia de caracteres de tamanho fixo, abrangendo um alfabeto finito. O indivíduo também é denominado de cromossomo, que possui um conjunto de características denominadas genes. Cada posição nesta cadeia de caracteres ou cromossomo é designada como um locus, que contém um valor ou alelo. Geralmente é adotada na composição do cromossomo uma quantidade de genes com um alfabeto binário, com valores 0 (zero) e 1 (um).
A cada geração, os indivíduos são avaliados de acordo com uma função objetivo, também denominada de função de fitness. Os indivíduos que retornam um valor da função objetivo maior em relação aos outros são posicionados ao topo do conjunto de indivíduos. Acontece assim a seleção de pares de indivíduos bem posicionados, com determinada probabilidade, diretamente proporcional ao valor obtido da função fitness.
Para cada par que é selecionado, escolhe-se aleatoriamente a posição de divisão dentro dos cromossomos, chamada de ponto de crossover. As partes dos cromossomos são assim intercambiadas, gerando novos indivíduos que irão compor a nova população. Para cada gene dentro do cromossomo, existe ainda uma probabilidade de mutação, a qual acontecerá modificando-se deliberadamente o valor do gene respectivo.
Dessa forma, o AG básico contém três operadores: seleção, crossover e mutação. A influência de cada operador sobre o AG está relacionada a uma taxa respectiva que deve ser escolhida de forma empírica (variando de zero a um), de acordo com o feedback das execuções. À medida que novas populações são formadas nas gerações seguintes, elas tendem a apresentar valores de fitnesscada vez mais otimizados em relação às gerações anteriores, devendo servir como critério de parada o melhor fitness obtido.
Os AG são técnicas consideradas probabilísticas ao invés de determinísticas. A partir de uma mesma população inicial e possuindo o mesmo conjunto de parâmetros, cada execução pode chegar a soluções diferentes. Não necessitam de uma modelagem matemática rigorosa para a determinação de derivadas e trabalham com uma quantidade grande de pontos. A ideia de modelagem de um AG busca uma relação de compromisso entre a possibilidade de exploração da diversidade (exploration) e o aproveitamento de particularidades (explotation). Os AG ainda se diferenciam de esquemas de busca ou caminhadas aleatórias (random walks) por utilizarem informações pertinentes ao problema sendo tratado, direcionando de certa forma o processo de busca a partir das informações históricas para encontrar novos pontos de busca (Linden, 2012Linden, R. (2012). Algoritmos genéticos (3. ed.). Rio de Janeiro: Brasport.).
A seguir, apresenta-se o estudo de caso com a modelagem do problema de busca do mix de produção, considerando-se, na elaboração do modelo, os aspectos essenciais relacionados à construção de um AG.
3 Estudo de caso
Para demonstrar o uso de AG na determinação de mix de produção, utilizou-se o exemplo de uma fábrica de móveis com dois produtos, configurado no simulador: mesa de centro e cadeira estofada. Justifica-se o uso de dois produtos apenas para fins didáticos, sendo o simulador capaz de calcular um mix de produção com maior número de produtos. Os dois produtos considerados têm o processo de produção bem definido, envolvendo a estrutura de produção (árvore de matéria-prima) e fluxo de processos e postos de trabalho. Assim, em função da necessidade de produção de mais de um produto na linha de produção, a pergunta proposta é: qual é o mix de produção que maximiza a demanda, aliada à minimização de custos e restrita à capacidade instalada de manufatura?
A explosão da quantidade dos produtos na planta de produção gera, por sua vez, a necessidade de matéria-prima e produtos em processo. Os tempos de produção em cada posto de trabalho ou máquina são calculados (mediante uma estimativa razoável ou padrão de produção), permitindo a identificação de gargalos de produção. A partir daí, são apurados os custos, de acordo com as quantidades dos produtos no mix de produção desejado.
A receita relativa aos produtos, bem como os custos de fabricação (pessoas, matéria-prima e outros custos), são confrontados no demonstrativo de resultado do exercício. O resultado da produção pode ser medido por meio de indicadores definidos tais como o lucro bruto (LB), o lucro operacional (LO) ou o lucro líquido (LL). Fazendo-se perturbações na quantidade ou preço dos produtos, o simulador recalcula a necessidade de matéria-prima e de carga-máquina, atualizando o demonstrativo de resultado de forma dinâmica.
Na Figura 1, está a tela de trabalho do módulo do simulador de produção utilizado para o estudo de otimização de mix com AG, apresentando vários submódulos. À esquerda, é mostrada a demanda dos produtos a serem fabricados, juntamente com a estrutura de produção, vista em detalhe nas Figuras 2 e 3, em termos de fluxo de matérias-primas e de processamento. Ao centro, está situada a informação de carga-máquina para cada posto de trabalho, indicando a produtividade esperada, juntamente com o consumo de matéria-prima. À direita, é mostrada a análise econômica a partir de uma série de demonstrativos com o objetivo de calcular indicadores e ao final a análise de sensibilidade. Dentro deste submódulo, encontram-se os parâmetros de definição do AG e o acompanhamento da execução. Um nível maior de detalhe da modelagem é descrito na sequência.
O simulador permite a execução de análises de sensibilidade a partir de incrementos ou reduções sucessivas das variáveis com grau de liberdade no sistema: a quantidade e o preço do produto. Com tal processo, pode-se identificar se, a partir de uma determinada quantidade, existe algum problema de excedente quanto à carga-máquina de estoque de matéria-prima, por exemplo; ou então, no caso de alterações sucessivas no preço, permite o cálculo do lucro líquido a partir de diferentes valores de receita bruta.
3.1 Cálculo da carga-máquina
Para o cálculo da carga-máquina, a Tabela 1apresenta a notação das variáveis utilizadas que serão apresentadas nas Expressões 1 a 4, para o submódulo da carga-máquina.
O cálculo das horas produtivas dos produtos no processo j na máquina i foi efetuado a partir da multiplicação das quantidades do lote de fabricação pelas quantidades unitárias de cada produto em processo, dividida pelo padrão ou estimativa razoável da máquina em questão,
As horas disponíveis para a máquina i são obtidas a partir da disponibilidade de horas totais por turno de trabalho, multiplicada pela quantidade de turnos, dias úteis e quantidade de máquinas ou postos de trabalho à disposição,
Assim, a produtividade de cada máquina pode ser obtida mediante o somatório das horas produtivas de cada máquina ou posto de trabalho, dividida pelas horas disponíveis respectivas,
O gargalo é identificado a partir da constatação da máquina ou posto que possua a maior necessidade de produtividade. Formalizando a restrição como a função g para o problema,
3.2 Cálculo da matéria-prima
O cálculo da necessidade de matéria-prima, com a notação dada pela Tabela 2, apresentado nas Expressões 5 a 10, considera a quantidade unitária de cada matéria-prima, multiplicada pela quantidade do lote de fabricação, levando em consideração um percentual de quebra ou refugo,
Considerando-se um lote estimado de compra (sem se ater aqui aos detalhes de sua obtenção), a necessidade de matéria-prima pode ser calculada a partir da Expressão 6, com uso de arredondamento,
O custo total de matéria-prima é obtido pela multiplicação do custo unitário pela necessidade, considerando o lote estimado de compra,
O custo do estoque excedente é dado pela diferença entre a necessidade de matéria-prima calculada da fábrica e a da calculada pelo lote estimado, multiplicada pelo custo unitário da matéria-prima,
Portanto, o custo geral de matéria-prima, somando-se todas as matérias-primas consideradas, é calculado pelo somatório,
enquanto que o custo geral de estoque adicional é dado pela soma de todos os custos excedentes,
3.3 Demonstrativo do resultado
O demonstrativo de resultado começa pelo cálculo da receita bruta, com a notação dada pela Tabela 3, a partir do somatório do total de produtos e preços respectivos,
O cálculo do custo de comercialização é obtido a partir de um percentual sobre a receita bruta,
O custo da mão de obra direta é calculado a partir do total de pessoas, multiplicadas pelo salário e encargos,
e o custo da mão de obra indireta segue o mesmo procedimento de cálculo,
3.4 Função objetivo
Para a obtenção da função de fitness para o problema do AG, o cálculo do lucro líquido é feito de acordo com a Expressão 15 a seguir,
Substituindo as Expressões 11 a 14, para a receita bruta (Rb), custo de comercialização (Cc), custo de matéria-prima (Cmp), custo de mão de obra direta (Cmod), indireta (Cmoi) e ainda as despesas fixas (Df), com o total dos custos adicionais (Cad) sendo fornecidos diretamente, obtém-se, por fim, as Expressões 15 e 16 para uso no AG:
A função objetivo está sujeita à seguinte restrição de carga-máquina, Expressão 17:
O fator de penalização para a função objetivo final, simbolizada pela Expressão 18 é calculado a partir de produtividade do gargalo multiplicado por um fator de ajuste K para a unidade monetária.
3.5 Parâmetros do algoritmo genético
As variáveis consideradas para otimização foram a quantidade e o preço dos produtos a serem fabricados, com os valores inicial e final estipulados empiricamente. O problema foi modelado de duas formas:
-
i
Modelo 1 – apenas com as quantidades dos produtos (códigos Q1-9001 e Q2-9002)
-
ii
Modelo 2 – com as quantidades e preços dos produtos (códigos P1-9001 e P2-9002)
A cada execução, a população inicial do AG era gerada de forma aleatória. O procedimento de seleção utilizou o algoritmo da roleta, calculando em ordem descendente de ocorrências as populações a cada geração. O ponto de corte da seleção dentro da população ordenada, o ponto de crossover e a taxa de mutação foram calculados utilizando-se a geração de números aleatórios conforme a distribuição de Bernouilli, com o crossoverlimitado a dois genótipos. O AG implementado com base no algoritmo de Goldberg rodou com número fixo de gerações, sem uso de critério de parada (Goldberg, 1989Goldberg, D. E. (1989). Genetic algorithms: search, optimization and machine learning. Addison-Wesley.).
A Tabela 4 mostra as faixas de normalização para as variáveis consideradas nos modelos. Internamente, o AG lida com os valores normalizados das variáveis na faixa [0;1], usando como base os valores mínimo e máximo de cada variável. O uso de limites nas variáveis também garante ao AG a utilização de valores dentro da realidade do modelo, não permitindo assim a apresentação de resultados estranhos. Desta forma, para o cálculo da normalização, foi utilizada no AG a Expressão 19:
em que Xr representa a variável normalizada (quantidade ou preço), Xc o cromossomo expresso na notação binária, [X0, X1] a faixa de normalização considerada para a variável e k o comprimento do cromossomo.
4 Análise dos resultados
Os gráficos da Figura 4 mostram a evolução de uma execução típica do AG, com o desvio padrão tanto da função objetivo, ou seja, o lucro líquido obtido, quanto das variáveis consideradas para o modelo. Verifica-se que o desvio padrão tende a ser maior nas fases iniciais da execução. No Modelo 1 sem restrição, o AG maximizou a busca demonstrando um grau de variabilidade maior que o modelo com restrição. Os resultados apresentados nesta seção descrevem os modelos de AG utilizando taxas de crossover e de mutação constantes, de acordo com a Tabela 5. Entretanto, a modificação sucessiva do desvio padrão para mais ou menos pode auxiliar como um indicativo na alteração destes parâmetros, inclusive quanto ao número de gerações ou o tamanho da população, visando o alcance do ótimo da função objetivo com menor número de execuções, o que pareceu acontecer de fato no Modelo 1 com restrição.
Evolução típica de uma execução do AG mostrando a média e desvio padrão do fitness máximo e das variáveis utilizadas em cada geração, Modelo 1, sem restrição (à esquerda) e com restrição (à direita).
Na Figura 5, é mostrada uma evolução típica para o Modelo 2. De maneira geral, o AG parece encontrar a solução ótima minimizando o desvio padrão, exceto a demonstrada para a variável P2 (“preço – 9002”), que impactou por sua vez a variação demonstrada pelo fitness do produto 9002, no modelo com restrição. Há uma tendência do AG em maximizar o preço aproximando da faixa superior do limite, bem evidenciada no modelo sem restrição. Novamente, a variação demonstrada pode auxiliar na determinação de valores diferentes para os parâmetros utilizados. Portanto, as execuções, tanto do Modelo 1 quanto do Modelo 2, demonstram que a busca em feixe, proporcionada pelo AG, tende a convergir para um valor ótimo com baixo desvio padrão calculado dentro da população considerada.
Evolução típica de uma execução do AG mostrando a média e desvio padrão do fitness máximo e das variáveis utilizadas em cada geração, Modelo 2, sem restrição (à esquerda) e com restrição (à direita).
As Figuras 6 e 7 ilustram a carga-máquina calculada pelas simulações com o AG. Na Figura 6, considera-se o modelo sem a restrição, com a extrapolação da capacidade da máquina 511. Com o uso do fator de penalização da carga-máquina na função objetivo, o valor tende a ficar normalizado.
Gráfico de produtividade estimada (barra superior) e obtida com a simulação (barra inferior, com etiqueta de percentual), mostrando o uso do AG sem restrição, extrapolando a produtividade da máquina 511.
Gráfico de produtividade estimada (barra superior) e obtida com a simulação (barra inferior, com etiqueta de percentual), mostrando o uso do AG com restrição, com as produtividades dentro de 100%.
O gráfico da Figura 8 compara, a partir de uma amostragem de 20 execuções do AG, os valores médios de carga-máquina, juntamente com o desvio padrão. Na barra à esquerda, o AG rodando sem restrição demonstrou na máquina 511 uma grande variação, que é reduzida quando se considera o AG com restrição. De forma geral, o desvio padrão foi menor quando se considerou o AG com restrição, demonstrando o grau de controle que o fator de penalização exerceu sobre a função objetivo. Na Tabela 6, são mostrados os valores de fitness médio alcançado com o desvio padrão correspondente, indicando valores de fitness menores para a consideração da função objetivo com a função de penalização.
Comparação entre cargas-máquina (em percentual) sem restrição (SR) e com restrição (CR), Modelo 2, mostrando a variabilidade durante 20 execuções. O gargalo (máquina 511) evidencia a diferença no uso da função objetivo.
5 Análise dos parâmetros do AG
A escolha de valores diferentes para os parâmetros pode resultar em performances diversas do AG. Na Tabela 5, foram mostrados os parâmetros do AG utilizados para a exploração do problema da busca do mix ótimo, cujos resultados foram explanados na seção anterior. Um estudo mais aprofundado, obtido por meio de perturbações nos valores dos principais parâmetros do AG, demonstram diferentes situações e comportamentos do algoritmo. Utilizando o modelo de duas variáveis sem restrição, a análise a seguir se concentrou no comprimento do cromossomo, taxa de mutação, crossover e seleção.
A escolha do tamanho do cromossomo deve ter relação com a faixa de valores possíveis que uma variável possa assumir durante a execução do algoritmo. Um tamanho subestimado pode limitar a quantidade de valores possíveis, enquanto que um valor superestimado pode tornar a convergência muito lenta. Na Tabela 4, a faixa de valores possíveis em uma representação de números inteiros ficou definida com uma diferença de 3000 para cada uma das variáveis. Uma estimativa para o comprimento dos cromossomos pode ser calculada por meio da seguinte expressão:
k= ⌈log2 (X1 - X0)⌉ (20)
em que k é o comprimento do cromossomo, obtido por meio do limite superior do logaritmo binário da diferença. Para 3000, o valor obtido para k é 12. A Tabela 7 mostra uma amostragem de diferentes valores de k (mantidos os outros parâmetros constantes). A resolução é calculada pela potência de 2 elevado a k. As colunas posteriores indicam a quantidade de valores efetivamente assumidos pelo AG dentro da faixa de valores possíveis durante a execução, demonstrando que, para valores de kacima de 12, há uma tendência a manter uma média de valores efetivamente assumidos pelas variáveis. Portanto, a Expressão 20 fornece uma boa estimativa para o tamanho do cromossomo. O uso do valor de k igual a 15 na Tabela 5 contém uma margem de segurança para a execução do AG, não tendo, entretanto, impacto significativo na performance.
Análise da quantidade de valores efetivamente assumidos pelo AG, mostrando uma diferença significativa com o aumento da resolução.
Confrontando esta análise com o operador de mutação, pode-se verificar a existência de alta correlação (R=0,97) entre a taxa de mutação e a quantidade de valores efetivamente assumidos pelas variáveis. O gráfico na Figura 9 ilustra esta situação. Entretanto, a média de valores de fitness tende a cair, aumentando também o desvio padrão com relação a estes valores. O melhor valor de fitness com o menor desvio padrão foi alcançado com taxa de mutação de 0,001.
Esquerda: Evolução da quantidade de valores efetivamente assumidos pelo AG (eixo y) e a taxa de mutação (eixo x) para os dois produtos (Correlação: R@0,97). Direita: Diminuição do valor médio de fitness (eixo y) e aumento da variabilidade com o aumento da taxa de mutação (eixo x).
Com relação ao operador de crossover, a Figura 10 mostra a evolução típica da quantidade de valores efetivamente assumidos e diferentes taxas de crossover aplicados no AG. Pode-se visualizar um comportamento periódico, mostrando variabilidade menor para um valor de 0,90 para a taxa de crossover, sendo inconclusivo em termos de desvio padrão para outros valores.
Esquerda: Evolução da quantidade de valores efetivamente assumidos pelo AG (eixo y) e a taxa de crossover para os dois produtos (eixo x). Direita: Evolução do valor médio de fitness (eixo y) e variabilidade com o aumento da taxa de crossover (eixo y).
O operador de seleção escolhido na modelagem do problema utilizou valores aleatórios. Numa análise mais detalhada, na qual se considerou a taxa de seleção com valores fixos, o comportamento típico do AG é mostrado na Figura 11. Assim como na análise do operador de crossover, o operador de seleção apresenta um comportamento periódico com o aumento da taxa de seleção para os valores efetivamente assumidos e também em relação ao fitness médio. Entretanto, os diferentes valores para o desvio padrão são inconclusivos quanto a um comportamento correlacionado.
Esquerda: Evolução da quantidade de valores efetivamente assumidos pelo AG (eixo y) e a taxa de seleção para os dois produtos (eixo x). Direita: Evolução do valor médio de fitness (eixo y) e variabilidade com o aumento da taxa de seleção (eixo x).
6 Considerações finais
Ainda que o uso de AG para a otimização de mix de produção apresentado tenha se baseado em modelos, sem e com restrição, com dois produtos e até quatro variáveis, o potencial para uso em um cenário envolvendo uma quantidade maior de produtos pode ser extrapolado. Tal heurística se constitui numa alternativa relevante para uso em conjunto com outros métodos, fornecendo soluções para refinamento, por sua vez, em modelos matemáticos utilizando, por exemplo, o método simplex ou métodos de descida de gradiente. A determinação, essencialmente empírica, dos parâmetros a serem considerados para a execução do AG é um dos passos críticos desta abordagem. À medida que se conhece com maior nível de detalhe o comportamento do AG para o problema modelado, consegue-se a determinação de valores mais adequados. Como exemplo disto, a aplicação do AG neste problema evidenciou a alta correlação da taxa de mutação com os valores de fitness e dos valores efetivamente assumidos pelas variáveis consideradas.
A metodologia envolvida em simuladores de plano de negócios permite uma boa visualização sistêmica e o acompanhamento dos impactos a partir de pequenas perturbações atuando sobre o processo como um todo. Assim, o simulador com a implementação de AG se constitui também numa ferramenta didática, visando o alcance da competência da visão sistêmica por parte do aprendiz e proporcionando a obtenção do conhecimento mediante simulação e experimentação. A dinâmica do problema com o uso de AG pode facilitar a compreensão da técnica e melhorar a aplicabilidade por parte de usuários das áreas de produção, logística e suprimentos.
As direções apontadas para trabalhos futuros envolvem, além do uso de cenários com maior número de produtos, a inclusão de variáveis adicionais tais como preços diferenciados por região, conectando o estudo com aprofundamentos na área de marketing. A análise do consumo de matéria-prima figura também como outra possibilidade de estudo do comportamento dos resultados. Outras formas de restrição para a função objetivo podem ser modeladas, tais como o nível de refugo de produto em processo e disponibilidade de matéria-prima em estoque ou ainda de disponibilidade de mão de obra. Comparações do uso do método do AG com outros métodos matemáticos, lineares ou não lineares, também se constituem numa direção promissora de pesquisa.
Quanto à técnica de uso de AG, análises em detalhe podem envolver uma extensão do estudo de correlações entre valores diferentes da taxa de seleção, crossover e de mutação com as variáveis. Futuras pesquisas também podem contemplar o uso de operadores diferenciados, tais como crossover de ponto duplo ou mutação dirigida e ainda modificação de parâmetros autoadaptativa, temas com pouco ou nenhum estudo evidente na literatura atual de AG, relacionado à área de produção e logística.
-
Suporte financeiro: Centro Universitário Internacional – UNINTER.
Referências
- Chatfield, D. C. (2007). The economic lot scheduling problem: A pure genetic search approach. Computers & Operations Research, 34(10), 2865-2881. http://dx.doi.org/10.1016/j.cor.2005.11.001.
» http://dx.doi.org/10.1016/j.cor.2005.11.001 - Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2002). Algoritmos: teoria e prática (2. ed.). Rio de Janeiro: Campus.
- Gaafar, L. (2006). Applying genetic algorithms to dynamic lot sizing with batch ordering. Computers & Industrial Engineering, 51(3), 433-444. http://dx.doi.org/10.1016/j.cie.2006.08.006.
» http://dx.doi.org/10.1016/j.cie.2006.08.006 - Goldberg, D. E. (1989). Genetic algorithms: search, optimization and machine learning. Addison-Wesley.
- Jenabi, M., Torabi, S. A., & Mansouri, S. A. (2007). A hybrid GA for a supply chain production planning problem. In Proceedings of the 9th Annual Conference on Genetic and Evolutionary Computation (GECCO '07) (pp. 2045-2052). New York: ACM. Recuperado em 30 de março de 2013, de http://doi.acm.org/10.1145/1276958.1277359
» http://doi.acm.org/10.1145/1276958.1277359 - Kim, K., & Jeong, I. (2007). Flow shop scheduling with no-wait flexible lot streaming using adaptive genetic algorithm. InProceedings of the the 2007 International Conference Computational Science and Its Applications (ICCSA 2007)(p. 474-479). Washington: IEEE Computer Society. http://dx.doi.org/10.1109/ICCSA.2007.87.
» http://dx.doi.org/10.1109/ICCSA.2007.87 - Linden, R. (2012). Algoritmos genéticos (3. ed.). Rio de Janeiro: Brasport.
- Luenberger, D. G. (2004). Linear and nonlinear programming (2nd ed.). Norwel: Kluwer Academic Publishers.
- Lustosa, L., Mesquita, M. A., Quelhas, O., & Oliveira, R. (2008). Planejamento e controle da produção. Rio de Janeiro: Elsevier.
- Miller, D. M., Chen, H., Matson, J., & Liu, Q. (1999). A hybrid genetic algorithm for the single machine scheduling problem. Journal of Heuristics, 5(4), 437-454. http://dx.doi.org/10.1023/A:1009684406579.
» http://dx.doi.org/10.1023/A:1009684406579 - Moreira, D. A. (2008). Administração da produção e operações. São Paulo: Cengage Learning.
- Pacheco, M. A. C., Hamacher, S., & Almeida, M.R. (2010). Algoritmos genéticos para programação da produção em refinarias de petróleo. Revista de Inteligência Computacional Aplicada, (6). Recuperado em 24 de março de 2012, de http://rica.ele.puc-rio.br/media/Revista_rica_n6_a9.pdf
» http://rica.ele.puc-rio.br/media/Revista_rica_n6_a9.pdf - Russel, S., & Norvig, P. (2004). Inteligência artificial. Rio de Janeiro: Campus. Tradução da 3ª edição.
- Ribeiro, G., Fo., & Lorena, L. A. N. (2000). A constructive evolutionary approach to the machine-part cell formation problem. In A. Fleury, H. Yoshizaki, L. B. M. Guimarães & J. L. D. Ribeiro (Eds.), Buildings competencies for international manufacturing: perspectives for developing countries (pp. 340-348). Porto Alegre: UFRGS/FEENG.
- Sarker, R., & Newton, C. (2002). A genetic algorithm for solving economic lot size scheduling problem. Computers & Industrial Engineering, 42(2-4), 189-198. http://dx.doi.org/10.1016/S0360-8352(02)00027-X.
» http://dx.doi.org/10.1016/S0360-8352(02)00027-X - Trindade, A. R., & Ochi, L. S. (2006). Um algoritmo evolutivo híbrido para a formação de células de manufatura em sistemas de produção. Pesquisa Operacional, 26(2): 255-294. http://dx.doi.org/10.1590/S0101-74382006000200005.
» http://dx.doi.org/10.1590/S0101-74382006000200005 - Zhang, H., & Gen, M. (2006). Effective genetic approach for optimizing advanced planning and scheduling in flexible manufacturing system. In Proceedings of the 8th Annual Conference on Genetic and Evolutionary Computation (GECCO '06) (pp. 1841-1848). New York: ACM. Recuperado em 30 de março de 2013, de http://doi.acm.org/10.1145/1143997.1144293
» http://doi.acm.org/10.1145/1143997.1144293 - Zolfaghari, S., & Liang, M. (2003). A new genetic algorithm for the machine/part grouping problem involving processing times and lot sizes. Computers & Industrial Engineering, 45(4), 713-731. http://dx.doi.org/10.1016/j.cie.2003.09.003.
» http://dx.doi.org/10.1016/j.cie.2003.09.003
Datas de Publicação
-
Publicação nesta coleção
08 Set 2015 -
Data do Fascículo
Jul-Sep 2015
Histórico
-
Recebido
09 Jun 2012 -
Aceito
05 Maio 2015