Instalar AMPL demo no Linux / Ubuntu

17 de Novembro de 2018 - Tempo de leitura: 5 minutos

AMPL é uma linguagem de modelagem para programação matemática. É bastante útil, pois consegue separar o modelo teórico dos dados de cada instância. Assim, um modelo pode ser utilizado por diversas instâncias diferentes.

Este texto foi escrito originalmente em 7 de março de 2017 e revisado agora. Parece que nada foi alterado.

Coloquei instruções para instalar a versão demo do software AMPL, que já acompanha a versão demo de alguns solvers comerciais. A versão demo possui restrições na quantidade de variáveis e restrições.

Etapa 1: Download

Para baixar o AMPL, entre na seguinte página: http://ampl.com/try-ampl/download-a-free-demo/

Esta é a versão demo, então existem algumas limitações. Existe uma versão completa que pode ser utilizada por 30 dias. As principais limitações da versão demo são: 500 variáveis e 500 restrições nos problemas lineares; 300 variáveis e 300 restrições nos problemas não lineares. Vale ressaltar que as versões gratuitas dos solvers que acompanham essa versão demo do AMPL podem colocar limitações maiores, ou seja, além das restrições do AMPL, podem ocorrer limitações do solver.

Links diretos para o download da IDE para Linux:

Links diretos para o download da versão de linha de comando para Linux:

Etapa 2: Instalar

Na verdade a instalação é descompactar... As instruçõe no site do AMPL recomendam usar:

tar xzf <nome do arquivo que baixou>

Eu, particularmente, descompacto pelo gerenciador de arquivos, não pela linha de comando.

Etapa 3: Problema encontrado na escolha de um solver

O site de download da versão demo do ampl (http://ampl.com/try-ampl/download-a-free-demo/) mostra a instrução para escolher um solver (no linux):

option solver ./xxx;

Onde xxx é o nome do solver desejado. Porém isso não funciona na linha de comando, nem no IDE.

Para o IDE, eu consegui selecionar o solver da seguinte forma:

option solver xxx;

mas isso não funcionou na linha de comando. Para conseguir resolver, utilizando o ampl no terminal, utilizei:

option solver "./xxx";

e tudo funcionou normalmente. A última dica encontrei no site stackoverflow.