GLPK Delphi Interface
Em um recente trabalho no mestrado necessitei apresentar uma solução para um problema de Otimização Combinatória: Escalonamento de Enfermeiras.
A biblioteca GLPK (GNU Linear Programming Kit) é uma das que podem ser utilizadas para resolver este tipo de problema. Procurei por uma unit com a tradução das funções da dll para Delphi. Consegui encontrar referência para uma interface, chamada DELI, que foi feita no ano de 2003. Porém a mesma já muito defasada e sem atualização, além de não conter mapeamento para as funções que eu necessitava. Na época havia referências que ela seria distribuída juntamente com a distribuição oficial do GLPK. Não é o que se vê hoje, no repositório.
Dado estes fatos, resolvi criar uma interface para Delphi atualizada. O link abaixos dão acesso a interface.
Para usar e distribuir o software, você precisa adicionar a unit glpk.pas no seu projeto no Delphi e distribuir a glpk.dll.
Existe um projeto que distribui a glpk.dll, mas a última atualização foi para a versão 4.34. Esta distribuição da dll também depende de duas outras, libltdl3.dll e zlib1.dll.
Percebi que compilando os fontes atuais com Visual Studio a dll gerada não necessita mais destas bibliotecas. Então deixo o link para ela também. A versão compilada é a 4.39 obtida diretamente do site da fundação GNU.
O arquivo acompanha um pequeno exemplo, carregando um modelo em MathProg e exibindo a solução.