斯蒂格勒饮食问题是线性规划问题。它需要一份食物及其营养价值清单,并为满足目标和限制的优化选择和数量进行求解。是否有线性编程的clojure库 - 单纯形算法,而levand / prolin除此之外还有吗?
答案 0 :(得分:2)
实际上有一个clojure库:prolin使用Apache Commons Math提供的Simplex实现。它可能是线性编程中最惯用的api。 github中的当前版本使用org.apache.commons.math3 v3.2,但根据此JIRA entry,在v3.3中单纯形式实现得到了显着改进,因此可能值得升级(参见prolin issue #1 )。
Java Constraint Programming API(JSR 331)也引起了人们的兴趣。有a clojure project using that API。虽然它的名字暗示了约束编程(CP),this blog post talks about using it for accessing linear programming (LP) solvers,如GLPK,lp_solve,gurobi等。
答案 1 :(得分:1)
java JaCoP约束编程库实现了Simplex算法。对于Clojure,JaCoP上有CloCoP clojure包装器。
Clojure的core.logic还有constraint programming的选项。