Caixa Preta

Programação linear de forma simples

UFFLP, ferramenta gratuita, auxilia na resolução de problemas complexos

A UFFLP (Universidade Federal Fluminense Linear Programming)  é uma biblioteca de funções que integra os principais resolvedores de problemas de programação linear com planilhas de cálculo. Foi criada pelo professor Artur Pessoa para facilitar o aprendizado em sala de aula, principalmente nos cursos de Engenharia que exigem um grande empenho dos acadêmicos para aplicar conhecimentos de programação. De livre utilização, a UFFLP é disponibilizada gratuitamente pela Gapso em seu site.

Doutor em Informática, Pessoa tinha uma preocupação: como envolver alunos da Engenharia de Produção em trabalhos de pesquisa na área de otimização se eles não têm experiência no desenvolvimento de programas? Acompanhando o aprendizado do seu primeiro aluno de iniciação científica, em 2006, veio a ideia. “Pedi que ele desenvolvesse uma planilha em Excel com um programa em macro VBA (Visual Basic for Applications) que gerasse modelos de programação linear para resolver um certo problema. Neste trabalho, eu buscava incentivá-lo a programar a geração automática desses modelos a partir dos dados de entrada da instância, ao invés de montar modelos através da inclusão manual de variáveis e restrições. Para minha surpresa, o aluno não só conseguiu desenvolver o trabalho proposto como vários outros. Além disso, tinha muita facilidade e motivação em programar em VBA”, relata Pessoa.

Artur Pessoa, o criador da UFFLP.

Foi neste momento que desenvolveu a primeira versão da UFFLP para ser aplicada nos cursos de Pesquisa Operacional da Universidade e auxiliar no aprendizado. Esta versão já integrava duas opções de softwares resolvedores de modelos de PIM (Programação Inteira Mista) e linguagens de programação como C/C++ e VBA, facilitando o tratamento dos dados utilizados pelos modelos matemáticos e a visualização dos resultados. Posteriormente, outros softwares resolvedores foram integrados.

A prática

A partir de 2007, Eduardo Uchoa, professor das disciplinas Modelagem em Logística e Pesquisa Operacional da UFF, identificando as vantagens da ferramenta, passou a utilizá-la no mestrado e, posteriormente, na graduação. “Era muito interessante o fato da UFFLP poder funcionar dentro do Excel, sendo este um ambiente familar para a maioria dos alunos. E, também, o fato de a programação poder ser feita na linguagem VBA, talvez a mais fácil para iniciantes”, comenta.

O professor Eduardo Uchoa utiliza a UFFLP, desde 2007, em suas aulas.

É  o que comprova o doutorando em Engenharia de Produção da UFF, José Maurício Brasil Gonçalves. “Com apenas uma noção básica sobre o VBA é possível explorar os exemplos de aplicações e a documentação do código, que é bastante completa”. Ele também ressalta a integração com o Excel. “A existência de uma ferramenta de implementação e resolução de problemas de otimização associada à planilha só tende a contribuir com o trabalho”, completa.

Uchoa avalia a grande contribuição ao aprendizado. “Com a dificuldade em implementar modelos, os alunos ficavam impedidos de aplicar o que era ensinado em sala de aula nas suas vidas profissionais. Com a UFFLP eles conseguem, já no curso, desenvolver modelos bem mais interessantes e vários deles levaram essa capacidade para suas empresas”, comemora.

Luiz Henrique Santanna, bacharel em Administração e mestre em Engenharia de Produção pela UFF, confirma. “A UFFLP fornece uma visão mais prática sobre como os resolvedores se integram com sistemas de informação para agregar mais inteligência aos softwares. Outras ferramentas possuem um valor didático limitado, pois não refletem como resolver certo problema em um sistema real, e também possuem uma integração complexa com resolvedores. A UFFLP tem uma sintaxe simplificada e reduz a dependência no resolvedor”, relata. Ele, inclusive, já utilizou a ferramenta em um sistema para um cliente.

Alunos da UFF reconhecem que o aprendizado através da UFFLP auxilia tanto nas aulas quanto no mercado de trabalho. (Crédito: UFF / Comunicação Social).

Suporte e evoluções

Ficou interessado? Então saiba que a UFFLP está disponível de forma gratuita para download no site da Gapso, que fornece, também, instruções para baixar e instalar a ferramenta, além de suporte.

A página conta, ainda, com o Mantis Bug Tracker,  um mecanismo de gestão de defeitos para controle de testes e qualidade. Através dele, o usuário se cadastra e pode solicitar melhorias, novas funcionalidades ou apontar falhas que devem ser corrigidas. “Todos os casos recebidos são analisados por nossa equipe especializada. As sugestões são incluídas no planejamento da UFFLP e qualquer usuário pode acompanhar a evolução do desenvolvimento e as respectivas datas de lançamento pelo próprio Mantis”, explica Ivan Meireles Costa, Analista de Otimização da Gapso. “Muitas melhorias são sugeridas por professores e alunos. Essa participação é fundamental para que a UFFLP possa evoluir de acordo com as reais necessidades  dos usuários”, completa o analista.

Como explicou Ivan Meireles, melhorias são constantemente implementadas na UFFLP.

Atualmente, a UFFLP suporta os resolvedores Coin e  GLPK, com código fonte aberto, CPLEX e Gurobi, gratuitos. A compatibilidade com o solver Gurobi  foi recentemente inserida, junto com o suporte para solução de modelos quadráticos, na versão 3.2.0 da UFFLP, auxiliando ainda mais o aprendizado de pesquisa operacional. “E logo teremos, também, a versão Linux e mais facilidades para operar a biblioteca utilizando a linguagem C++”, finaliza Ivan.

Conheça a UFFLP e leve esta ferramenta para a sala de aula. Confira em nosso site: /ufflp/

2 Comentários em “Programação linear de forma simples”



João Batista October 14th, 2013

Ansioso pela versão Gnu/Linux.

lilian October 14th, 2013

Olá João, estamos constantemente trabalhando para a melhoria da Plataforma. Acompanhe e registre pedidos através do Mantis: http://mantis.gapso.com.br/login_page.php

topo