Modelo matemático para dimensionamento de lote e sequenciamento de produção com máquinas paralelas
Autor(a) principal: | |
---|---|
Data de Publicação: | 2023 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Biblioteca Digital de Teses e Dissertações da UFRGS |
Texto Completo: | http://hdl.handle.net/10183/259215 |
Resumo: | A programação da produção é atividade primordial dentro das indústrias e passa a ser mais importante quanto mais complexa é a operação de cada empresa. À medida que o ambiente produtivo aumenta em recursos, produtos e restrições, torna-se mais difícil alcançar a programação ótima dada a quantidade de possibilidades e combinações distintas. A execução desta atividade com o devido cuidado pode gerar economia de recursos, maximização das horas de maquinário convertidas em produção, entre outros benefícios. O uso de modelos matemáticos e computadores para esta atividade possibilita testar uma grande quantidade de combinações das mais diferentes variáveis e, no limite, encontrar a proposta de solução ótima e que faz a melhor alocação dos recursos escassos. Dentro deste escopo, o presente trabalho apresenta um modelo matemático, acompanhado do código computacional em Python. Este é aplicável em indústrias que utilizam máquinas paralelas heterogêneas de capacidade finita, com setups dependentes (tanto em custo quanto em tempo) da sequência de programação, com produtos em estágio único de processamento, observando restrições de estoque de componentes, horas-homem disponíveis e capacidade de armazenagem de produtos acabados. Complementando as restrições mencionadas, o modelo tem por objetivo reduzir o custo de execução da programação. Para isto, considera os custos de setup, os custos de manutenção de estoque, a penalidade financeira por não atender o pedido no prazo especificado pelo cliente e o custo de produção do item vendido considerando que as máquinas são heterogêneas e, por consequência, apresentam custos diferentes para produzir o mesmo item. O modelo executado resolveu o problema para uma indústria com 18 máquinas, 350 produtos acabados, 4576 componentes, 2 macro períodos de programação, cada um contendo 5 micro períodos variáveis. A solução ótima foi encontrada em 10h de processamento utilizando um computador com processador Intel i5-2410M 2.30GHz quad-core com 6GB de memória RAM, solver Gurobi, tendo sido programado em linguagem Python com a biblioteca PuLP. Muito embora este tempo total de processamento possa ser considerado alto para uma aplicação prática, o modelo atingiu o gap de 1% do melhor resultado em aproximadamente 2h. |
id |
URGS_4217164142c8531de510390c2e3b92e5 |
---|---|
oai_identifier_str |
oai:www.lume.ufrgs.br:10183/259215 |
network_acronym_str |
URGS |
network_name_str |
Biblioteca Digital de Teses e Dissertações da UFRGS |
repository_id_str |
1853 |
spelling |
Demarco, HenriqueCassel, Ricardo Augusto2023-06-20T03:30:21Z2023http://hdl.handle.net/10183/259215001169638A programação da produção é atividade primordial dentro das indústrias e passa a ser mais importante quanto mais complexa é a operação de cada empresa. À medida que o ambiente produtivo aumenta em recursos, produtos e restrições, torna-se mais difícil alcançar a programação ótima dada a quantidade de possibilidades e combinações distintas. A execução desta atividade com o devido cuidado pode gerar economia de recursos, maximização das horas de maquinário convertidas em produção, entre outros benefícios. O uso de modelos matemáticos e computadores para esta atividade possibilita testar uma grande quantidade de combinações das mais diferentes variáveis e, no limite, encontrar a proposta de solução ótima e que faz a melhor alocação dos recursos escassos. Dentro deste escopo, o presente trabalho apresenta um modelo matemático, acompanhado do código computacional em Python. Este é aplicável em indústrias que utilizam máquinas paralelas heterogêneas de capacidade finita, com setups dependentes (tanto em custo quanto em tempo) da sequência de programação, com produtos em estágio único de processamento, observando restrições de estoque de componentes, horas-homem disponíveis e capacidade de armazenagem de produtos acabados. Complementando as restrições mencionadas, o modelo tem por objetivo reduzir o custo de execução da programação. Para isto, considera os custos de setup, os custos de manutenção de estoque, a penalidade financeira por não atender o pedido no prazo especificado pelo cliente e o custo de produção do item vendido considerando que as máquinas são heterogêneas e, por consequência, apresentam custos diferentes para produzir o mesmo item. O modelo executado resolveu o problema para uma indústria com 18 máquinas, 350 produtos acabados, 4576 componentes, 2 macro períodos de programação, cada um contendo 5 micro períodos variáveis. A solução ótima foi encontrada em 10h de processamento utilizando um computador com processador Intel i5-2410M 2.30GHz quad-core com 6GB de memória RAM, solver Gurobi, tendo sido programado em linguagem Python com a biblioteca PuLP. Muito embora este tempo total de processamento possa ser considerado alto para uma aplicação prática, o modelo atingiu o gap de 1% do melhor resultado em aproximadamente 2h.Production scheduling is a primary activity within industries and becomes more important the more complex each company's operation is. As the productive environment increases in resources, products and constraints, it becomes harder to achieve the optimal lot-sizing and scheduling given the number of possibilities and different combinations. Carrying out this activity can save resources, maximize machine hours converted into production, among other benefits. The use of mathematical models and computers for this activity makes it possible to test a large number of combinations of different variables and, in the limit, to find the optimal solution that makes the best allocation of scarce resources. Within this scope, this dissertation presents a mathematical model, accompanied by computational code in Python, applicable in industries that use capacitated heterogeneous parallel machines, with dependent setups (both in cost and time) of the scheduling sequence, single-stage processing, observing component availability constraints, available man-power, and finished goods storage capacity. Complementing the mentioned restrictions, the model aims to reduce the cost of production plan execution. For this, it considers setup costs, inventory maintenance costs, back-ordering penalty and finished good production cost considering that the machines are heterogeneous and, consequently, have different costs to produce the same item. The model solved the problem for an industry with 19 machines, 480 products, 4576 components, 2 macro periods, each one containing 5 variable micro periods. The optimal solution was found in 10h of processing using a computer with an Intel i5-2410M 2.30GHz quad-core processor with 6GB of RAM, solved by Gurobi package, programmed using Python language and PuLP library. Although total processing time can be considered high for a practical application, the model reached the gap of 1% of the best result in approximately 2h.application/pdfporLinha de produçãoOtimização de processosModelagem matemáticaPlanejamento da produçãoSchedulingLot-sizingMathematical modelPythonGurobiModelo matemático para dimensionamento de lote e sequenciamento de produção com máquinas paralelasinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisUniversidade Federal do Rio Grande do SulEscola de EngenhariaPrograma de Pós-Graduação em Engenharia de Produção e TransportesPorto Alegre, BR-RS2023mestrado profissionalinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT001169638.pdf.txt001169638.pdf.txtExtracted Texttext/plain201845http://www.lume.ufrgs.br/bitstream/10183/259215/2/001169638.pdf.txta0c6fbe44e473c266ea4a5a17173ef98MD52ORIGINAL001169638.pdfTexto completoapplication/pdf825911http://www.lume.ufrgs.br/bitstream/10183/259215/1/001169638.pdfccb0c5d56e7b0d6b913899dac82c740eMD5110183/2592152023-06-21 03:33:49.50271oai:www.lume.ufrgs.br:10183/259215Biblioteca Digital de Teses e Dissertaçõeshttps://lume.ufrgs.br/handle/10183/2PUBhttps://lume.ufrgs.br/oai/requestlume@ufrgs.br||lume@ufrgs.bropendoar:18532023-06-21T06:33:49Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false |
dc.title.pt_BR.fl_str_mv |
Modelo matemático para dimensionamento de lote e sequenciamento de produção com máquinas paralelas |
title |
Modelo matemático para dimensionamento de lote e sequenciamento de produção com máquinas paralelas |
spellingShingle |
Modelo matemático para dimensionamento de lote e sequenciamento de produção com máquinas paralelas Demarco, Henrique Linha de produção Otimização de processos Modelagem matemática Planejamento da produção Scheduling Lot-sizing Mathematical model Python Gurobi |
title_short |
Modelo matemático para dimensionamento de lote e sequenciamento de produção com máquinas paralelas |
title_full |
Modelo matemático para dimensionamento de lote e sequenciamento de produção com máquinas paralelas |
title_fullStr |
Modelo matemático para dimensionamento de lote e sequenciamento de produção com máquinas paralelas |
title_full_unstemmed |
Modelo matemático para dimensionamento de lote e sequenciamento de produção com máquinas paralelas |
title_sort |
Modelo matemático para dimensionamento de lote e sequenciamento de produção com máquinas paralelas |
author |
Demarco, Henrique |
author_facet |
Demarco, Henrique |
author_role |
author |
dc.contributor.author.fl_str_mv |
Demarco, Henrique |
dc.contributor.advisor1.fl_str_mv |
Cassel, Ricardo Augusto |
contributor_str_mv |
Cassel, Ricardo Augusto |
dc.subject.por.fl_str_mv |
Linha de produção Otimização de processos Modelagem matemática Planejamento da produção |
topic |
Linha de produção Otimização de processos Modelagem matemática Planejamento da produção Scheduling Lot-sizing Mathematical model Python Gurobi |
dc.subject.eng.fl_str_mv |
Scheduling Lot-sizing Mathematical model Python Gurobi |
description |
A programação da produção é atividade primordial dentro das indústrias e passa a ser mais importante quanto mais complexa é a operação de cada empresa. À medida que o ambiente produtivo aumenta em recursos, produtos e restrições, torna-se mais difícil alcançar a programação ótima dada a quantidade de possibilidades e combinações distintas. A execução desta atividade com o devido cuidado pode gerar economia de recursos, maximização das horas de maquinário convertidas em produção, entre outros benefícios. O uso de modelos matemáticos e computadores para esta atividade possibilita testar uma grande quantidade de combinações das mais diferentes variáveis e, no limite, encontrar a proposta de solução ótima e que faz a melhor alocação dos recursos escassos. Dentro deste escopo, o presente trabalho apresenta um modelo matemático, acompanhado do código computacional em Python. Este é aplicável em indústrias que utilizam máquinas paralelas heterogêneas de capacidade finita, com setups dependentes (tanto em custo quanto em tempo) da sequência de programação, com produtos em estágio único de processamento, observando restrições de estoque de componentes, horas-homem disponíveis e capacidade de armazenagem de produtos acabados. Complementando as restrições mencionadas, o modelo tem por objetivo reduzir o custo de execução da programação. Para isto, considera os custos de setup, os custos de manutenção de estoque, a penalidade financeira por não atender o pedido no prazo especificado pelo cliente e o custo de produção do item vendido considerando que as máquinas são heterogêneas e, por consequência, apresentam custos diferentes para produzir o mesmo item. O modelo executado resolveu o problema para uma indústria com 18 máquinas, 350 produtos acabados, 4576 componentes, 2 macro períodos de programação, cada um contendo 5 micro períodos variáveis. A solução ótima foi encontrada em 10h de processamento utilizando um computador com processador Intel i5-2410M 2.30GHz quad-core com 6GB de memória RAM, solver Gurobi, tendo sido programado em linguagem Python com a biblioteca PuLP. Muito embora este tempo total de processamento possa ser considerado alto para uma aplicação prática, o modelo atingiu o gap de 1% do melhor resultado em aproximadamente 2h. |
publishDate |
2023 |
dc.date.accessioned.fl_str_mv |
2023-06-20T03:30:21Z |
dc.date.issued.fl_str_mv |
2023 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10183/259215 |
dc.identifier.nrb.pt_BR.fl_str_mv |
001169638 |
url |
http://hdl.handle.net/10183/259215 |
identifier_str_mv |
001169638 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Teses e Dissertações da UFRGS instname:Universidade Federal do Rio Grande do Sul (UFRGS) instacron:UFRGS |
instname_str |
Universidade Federal do Rio Grande do Sul (UFRGS) |
instacron_str |
UFRGS |
institution |
UFRGS |
reponame_str |
Biblioteca Digital de Teses e Dissertações da UFRGS |
collection |
Biblioteca Digital de Teses e Dissertações da UFRGS |
bitstream.url.fl_str_mv |
http://www.lume.ufrgs.br/bitstream/10183/259215/2/001169638.pdf.txt http://www.lume.ufrgs.br/bitstream/10183/259215/1/001169638.pdf |
bitstream.checksum.fl_str_mv |
a0c6fbe44e473c266ea4a5a17173ef98 ccb0c5d56e7b0d6b913899dac82c740e |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 |
repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS) |
repository.mail.fl_str_mv |
lume@ufrgs.br||lume@ufrgs.br |
_version_ |
1810085620180058112 |