Alguma boa ferramenta para resolver programas inteiros no Linux?[fechado]
-
11-12-2019 - |
Pergunta
Existem boas ferramentas para resolver programas inteiros no Linux?
Estou com um pequeno problema que quero calcular para economizar tempo :D.É uma espécie de problema de soma de subconjuntos.Tenho uma lista de cerca de 20 valores inteiros e quero calcular o subconjunto com a menor soma que satisfaça um determinado mínimo.Você poderia formular isso com um programa inteiro ...algo como
\sum_{i=1}^{n} w*x -> min
com
\sum_{i=1}^{n} w*x >= c with x \in \{0,1\}
Ou existe outra boa maneira de fazer isso?
Solução
eu tentaria também GLPK ou SCIP.
Eles têm sua própria linguagem de modelagem, GLPK tem GNU MathProg e SCIP tem ZIMPL, para que você possa codificar convenientemente seu problema de LP.
GNU MathProg tem a vantagem de ser compatível com AMPL.Assim, você poderia experimentar a versão estudantil do AMPL com CPLEX ou Gurobi com seu modelo GNU MathProg.Tenha em mente que AMPL, CPLEX e Gurobi são softwares comerciais.
Outras dicas
Você já tentou fazer isso com LibreOffice Calc Solucionador?
Fundação Microsoft Solver no Mono Framework também pode fazer o trabalho para você se você conhece C#.
Tentar Lindo/Lingo.Eles não são gratuitos, mas você pode experimentá-los.
Eles permitem que você especifique seu problema de uma forma matemática muito clara.
Você poderia tentar gnu oitava - é um subconjunto do matlab
Queria adicionar mais uma opção às sugestões do GLPK que @Ali fez.Sugiro que qualquer pessoa interessada em resolver LPs/IPs também dê uma olhada nos pacotes de otimização que a Linguagem R oferece.
Se você já conhece e usa R, basta baixar o pacote certo.E mesmo que não o faça, esta é uma boa maneira de se familiarizar com o R, que está realmente decolando no espaço analítico.
Esse vinheta é uma ótima maneira de saber quais pacotes R são relevantes.Para você, RSymphony ou Rglpk podem ser os únicos para começar.