UTILIZAÇÃO DE SOFTWARES NA RESOLUÇÃO DE UM PROBLEMA DE PROGRAMAÇÃO LINEAR Cintia da Silva Araújo, Tiago de Souza Marçal, Magda Aparecida Nogueira 1 Centro de Ciências Agrárias-Universidade Federal do Espírito Santo/Departamento de Zootecnia, Alto Universitário, CP 16, Guararema, 29500-000, Alegre/ES, cyntthiaaraujo@gmail.com, tiagosmaragronomia@gmail.com, magdanogueira@hotmail.com Resumo- A pesquisa operacional surgiu durante a segunda guerra mundial para fins bélicos, entretanto após a guerra adquiriu uma nova função passando a ser um instrumento útil para diversos setores. A criação dos computadores a partir da década de 1950 tornou possível a utilização de novas metodologias para resolver uma grande diversidade de problemas reais, sendo a programação linear uma importante ferramenta na busca por soluções ótimas para esses problemas. Neste trabalho, objetivando mostrar a eficiência dos softwares Lindo, Excel e R na resolução de um problema de programação linear foi demonstrado o passo-a-passo da resolução do problema. Ao final, foram comparados os resultados obtidos pelos três programas utilizados nos quais observou-se o mesmo valor, mostrando a eficiência desses softwares na maximização do lucro no problema proposto ficando a critério do usuário a escolha de qual programa utilizar. Palavras-chave: Pesquisa operacional, otimização, Excel, Lindo, R. Área do Conhecimento: Economia Introdução A programação linear é um instrumento da pesquisa operacional utilizado na resolução de diversos problemas de otimização (SILVA et al., 2010). A pesquisa operacional surgiu durante segunda guerra mundial para fins bélicos no intuito de designar o estudo sistemático de problemas táticos e estratégicos. No entanto, após a guerra muitos especialistas mantiveram seus estudos para fins não militares, dessa forma as pesquisas passaram a ser utilizadas visando melhorias em outros setores, com vistas a maximizar lucros e minimizar custos, através da utilização das ferramentas matemática e computacional para obtenção da solução dos problemas (SILVA et al., 2010). O surgimento de computadores na década de 1950 facilitou e tornou possível desenvolver e utilizar novas metodologias para resolver uma grande diversidade de problemas reais (SILVA et al., 2010). Muitos estudos estatísticos que vem sendo realizados mostram que a programação linear é nos dias atuais uma das ferramentas mais utilizadas da pesquisa operacional, exemplos dessas aplicações podem ser verificados nas rotinas diárias do planejamento de empresas dos mais variados segmentos, sejam naquelas que possuem sofisticadas equipes de planejamento como também naquelas que simplesmente adquirem um software para determinadas funções (PRADO, 1999). Antes da solução de um problema de programação linear vem a parte mais complexa que é a criação do modelo matemático, para o qual não existem regras de elaboração (SILVA et al., 2010). No entanto, uma vez obtido o sistema do problema, constituído pela função objetivo e pelas restrições, este pode ser inserido em um programa que disponibiliza algum método de programação linear, tornando viável e eficiente a solução de problemas (ANDRADE, 2004). Dentre os muitos softwares que trabalham com programação linear destacam-se o EXCEL, LINDO e o R. Segundo Montini, (2004) o Excel é uma ferramenta de grande valia, capaz de realizar cálculos e sistematizar dados. O uso dessa ferramenta torna possível automatizar e integrar sistemas inteiros de grandes empresas e indústrias. Para Chester, (1996) o Solver, ferramenta do Excel, pode ser utilizado para identificar um valor ótimo para um problema de programação linear de forma a alocar melhor os recursos e economizar o tempo que se levaria ao tentar encontrar soluções por tentativa. O LINDO (Linear, INteractive, and Discrete Optimizer) é uma poderosa ferramenta para resolver problemas de otimização, minimizando ou maximizando a função objetivo de exercícios de programação linear (GOMES JR; SOUZA, 2004). Já o R é um eficiente instrumento computacional bastante utilizado na estatística, entretanto, como ele é de domínio público existem uma série de pacotes que podem ser baixados gratuitamente da internet que complementam e 1
ampliam a gama de aplicações do programa. Em trabalho realizado por Quevedo et al., (2012), trabalhando com programação linear, os autores utilizaram o pacote boot para exemplificar a solução de alguns exercícios no R. Em 2012 foi lançado o pacote Rglpk que também pode ser utilizado na solução desses problemas. Objetiva-se com este trabalho demonstrar a resolução de um problema de programação linear utilizando os softwares Excel, Lindo e R. Metodologia Para a solução do problema seguinte foram utilizados os programas EXCEL, LINDO e R visando obtenção de uma solução ótima ao problema proposto. Para resolução de exercícios por meio do EXCEL o solver deve ser ativado. Para isso, devese clicar no botão office, escolher o ícone opções do excel e em seguida clicar em suplementos e escolher a opção solver, posteriormente deve-se clicar em ok. Para utilizá-lo deve-se clicar na opção dados, presente na barra de ferramentas e a opção solver aparecerá à sua direita. O exercício mostrado a seguir foi retirado do trabalho de Silva et al., (2010). Uma empresa pode fabricar dois produtos 1 e produto 2. Na fabricação do produto 1 a empresa gasta nove horas-homem e três horas-máquina, onde a tecnologia utilizada é intensiva em mão-deobra. Na fabricação do produto 2 a empresa gasta uma hora-homem e uma hora-máquina, onde a tecnologia é intensiva em capital. Sendo x 1 e x 2 as quantidades fabricadas dos produtos 1 e 2 e sabendo-se que a empresa dispõe de 18 horashomem e 12 horas-máquina e ainda que os lucros dos produtos são $4 e $1 respectivamente, quanto deve fabricar cada produto para obter o maior lucro possível? Max Z= 4x 1 + x 2 Sujeito a: 9x 1 + x 2 <= 18 Horas-homem 3x 1 + x 2 <= 12 Horas-máquina x 1 0 x 2 0 Onde: Z Representa a função objetivo. x 1 Quantidade do produto 1 x 2 Quantidade do produto 2 Inicialmente deve-se transferir os dados do problema para a planilha do excel utilizando qualquer uma das células. Como o problema apresenta apenas duas variáveis escolha duas células e introduza os coeficientes da função objetivo Z. Em seguida, para as variáveis de decisão deixe duas células em branco abaixo das mesmas como mostra a figura 1. Escolha outra célula e formule a função objetivo conforme foi dada no exercício, multiplicando-se o coeficiente 4 pela célula em branco abaixo de x 1, que representa x 1, após multiplique 1 pela célula em branco abaixo de x 2, que representa x 2. Feito isso, deve-se inserir as restrições do modelo. Os valores abaixo de x 1 e x 2 representam os coeficientes de restrição do modelo, as equações de restrição são dadas pela soma das multiplicações dos coeficientes de restrição pelas variáveis de decisão (células em branco abaixo de x 1 e x 2 ). Feito isso, deve-se inserir as constantes que representam os recursos disponíveis, dados no exercício. Figura 1- Esquema geral da resolução do problema 1. A figura 2 representa a maneira pela qual se deve introduzir os parâmetros antes da resolução pelo solver. A célula de destino é na qual se deve introduzir a função objetivo. Após, deve-se escolher a opção max ou min de acordo com o que é pedido pelo exercício. As células variáveis serão aquelas em branco abaixo de x 1 e x 2. Por fim, as restrições serão dadas pelas células das equações de restrição, seguida do sinal de menor igual pedido pelo exercício e pela constante dada, como mostrado na figura 2. Posteriormente, clique em opções e selecione as alternativas presumir modelo linear e presumir não negativos. Então, é só clicar em resolver e a solução será dada nas células abaixo de x 1 e x 2 e consequentemente os valores da função objetivo e das equações de restrição.. Resolução utilizando o EXCEL: 2
Figura 4- Janela principal do R. Figura 2- Janela da ferramenta solver. Resolução utilizando o LINDO: Para proceder a resolução por meio do LINDO é necessário que após abrir o programa se escreva max ou min antes da função objetivo e após a mesma introduza a expressão subject to. Então, entre com as restrições, finalizando com a expressão end. Como mostrado na figura a seguir. Resultados De acordo com as figuras 5, 6 e 7 todos os programas geraram o mesmo resultado para a maximização do lucro, mostrando a grande confiabilidade no processamento das informações pelos três programas utilizados. Verifica-se que o lucro máximo que pode ser obtido é $13 e que para obtê-lo deve-se produzir uma unidade do produto um e nove unidades do produto dois. Figura 5- resultado obtido no EXCEL Figura 3- Janela para inserir dados no LINDO. Posterior à entrada dos dados clique no ícone indicado pela seta para obter a resolução do exercício. Resolução utilizando o R: Para a resolução do exercício no R podem ser utilizados entre outros, os pacotes boot (CANTY; RIPLEY, 2012) e Rglpk (HORNIK; THEUSSL, 2012) que possuem funções para resolver problemas de programação linear. Neste caso, foi utilizado o pacote Rglpk. Primeiramente, é preciso ativar o pacote desejado, utilizando o comando require ou library. Após, é preciso criar um vetor com os coeficientes da função objetivo e uma matriz com os coeficientes das restrições. Deve-se criar também um vetor com as desigualdades das restrições e outro com os recursos disponíveis. Para a obtenção do resultado é necessário utilizar a função Rglpk_solve_LP(). A figura 4 representa o passo-a-passo da resolução. Figura 6- Relatório do resultado gerado pelo LINDO. 3
Referências -ANDRADE, E. L. Introdução à pesquisa operacional métodos e modelos para análise de decisões. 3. ed., Editora LTC, Rio de Janeiro, 2004. CANTY, A.; RIPLEY, B (2012). Package boot. Disponível em: < http://cran.rproject.org/web/packages/boot/boot.pdf >. Acesso em 26 de agosto de 2012. Figura 7- Resultado obtido no R. Discussão A partir dos resultados acima, podemos observar que os três programas podem ser utilizados na otimização de diversos problemas de programação linear, onde a opção de utilizar qualquer um dos softwares dependerá da preferência do usuário. No entanto, para Quevedo et al., (2012) trabalhando com o software R na resolução de problemas de programação linear afirmam que esse programa apresenta vantagem por ser de domínio público e por possuir rotinas prontas que facilitam a utilização nos problemas. Para Lachtermacher, (2004) existem diversos programas disponíveis no mercado, dentre os quais destaca-se o Excel, que é considerado, hoje, o mais popular no Brasil. Atualmente, a programação linear pode ser aplicada nas mais diferentes áreas, pois, consiste na solução de um sistema de equações lineares de 1º grau e busca a solução ótima (máximo ou mínimo) de um problema. Podendo ser utilizada para auxiliar na tomada de decisões (ROCHA NETO; ZANELLA, 2007). Além disso, a disponibilidade de diversos programas que trabalham com programação linear facilita a aplicação dessa técnica em diversos processos produtivos de forma a alocar de maneira mais eficiente os recursos disponíveis. Esse fato pode ser observado no exercício mostrado onde o tempo de trabalho dos operários e das máquinas foram remanejados de modo a se adequar a produção de um item do produto um e nove itens do produto dois, maximizando assim o lucro da empresa. Conclusão Por meio do presente trabalho foi possível mostrar a importância da pesquisa operacional e sua abrangência nas mais diversas áreas. Os softwares EXCEL, LINDO e R se mostraram eficientes na resolução do problema proposto. -CHESTER, T. Dominando o excel 5 for windows. Rio de Janeiro: Ciência Moderna, 1996. -GOMES JÚNIOR, A. C.; SOUZA, M. J. F. Lindo: manual de referência. UFOP, Ouro Preto-MG, 2004. -HORNIK, K.; THEUSSL, S (2012). Package Rglpk. Disponível em: <cran.rproject.org/web/packages/rglpk/rglpk.pdf >. Acesso em: 27 de agosto de 2012. -LACHTERMACHER, G. Pesquisa operacional na tomada de decisões: modelagem em Excel. 2. ed. Riode Janeiro: Campus, 2004. -MONTINI, D. A. Universidade Excel. São Paulo: Degerati, 2004. -PRADO, D. Programação linear. Belo Horizonte: MG, 1999. -QUEVEDO, P. R. M.; FLORES, E. F.; OKI, F. H.; PINTO, L. N. Aplicação de programação linear utilizando o software estatístico R- project. Disponível em: <https://docs.google.com/viewer?a=v&q=cache:kf zyiutwpqoj:prope.unesp.br/xxii_cic/ver_resumo.p hp?area%3d100046%26subarea%3d13149%26c ongresso%3d30%26cpf%3d00605039046+aplic a%c3%a7ao+da+programa%c3%a7%c3%a3o+li near+utilizando+o+software+r&hl=pt- PT&gl=br&pid=bl&srcid=ADGEESj_7BtOjBgqJjDv5 TVccKQepN7MYLDlNbx8GZIr3D5vuiQJn9x5Lbun 4TeAROMGiaqIV9clvXkWyvg1tk7TxqkBKg87a4Ri- RpeW-0isMPaRWug1VludmguRzKRtRcFpZL1FVg&sig=AHIEtbSUGvYK8 MMykY7WUXc_zNAOMqm8iQ&pli=1>. Acesso em: 27 de agosto de 2012. -R FOUNDATION FOR ESTATISTICAL COMPUTING. R: A language and environment for statistical computing. Disponível em: <http:// softlibre.unizar.es/manuales/aplicaciones/r/fullrefm an.pdf>. Acesso em: 28 de agosto de 2012. 4
- ROCHA NETO, A.; ZANELLA, C. Planejamento da produção com a utilização do solver- excel na empresa Bondio Alimentos S.A. In: vigésimo sétimo encontro nacional de engenharia de produção, 2007, Foz do Iguaçu. Anais... Foz do Iguaçu, 2007. -SILVA, A. C.; ZANINI, D. L.; ROBIATTI, E.; MATOS, O. A. Resolução de três problemas reais de programação linear, variando-se o sinal das inequações nas restrições. Anais do Sciencult, v. 1, n. 3, 2010. 5