我正在 Mac OS X 10.7 上编写一个 Objective C 应用程序,我需要解决一个算术约束问题。例如,我有两个矩形方程,a 和 b 是边长:
P=2(a+b) (perimeter)
A=ab (area)
我将此问题确定为约束满足问题。用户应该能够指定 a 和 A,并让求解器计算 b 和 P。我在http://mitpress.mit.edu/sicp/full-text/book/book-ZH-中找到了一个实现22.html#%_idx_3516,但我不确定是否有一种干净的方法可以从Objective C调用LISP程序。我正在寻找可以为求解器提供Objective C接口的东西,或者编译LISP编程到Objective C库中。否则,一个极简的开源约束求解器将满足我的需求。