【发布时间】:2015-03-19 04:12:45
【问题描述】:
我正在开发一款 Android 应用程序,该应用程序将用作电动汽车的辅助系统。
出于优化目的,我必须解决具有非线性约束的非线性优化问题。我想集成一个功能强大的开源求解器,例如 IPOPT。
我尝试按照这些说明在我的 Galaxy Note 4 上安装求解器
http://www.coin-or.org/Ipopt/documentation/node14.html
并使用 IPOPTs Java 接口
http://www.coin-or.org/Ipopt/documentation/node16.html
没有成功。
有没有办法使用 Android NDK 或交叉编译方法来集成 IPOPT?
或者是否有其他方法可以做到这一点?
我会感谢任何让我更接近目标的帮助。
【问题讨论】:
-
这可能是可能的,除非有一个在 Android 上不可用的关键标头。您必须使用 NDK 工具链构建它,生成兼容的 .so 或 .a 文件。
-
感谢 SteveM。我正在努力做到这一点。认为在我第一次使用 Android NDK 的过程中会出现更具体的问题。
-
部分困难在于IPOPT 对大量Fortran 代码的依赖,特别是对于BLAS 和Lapack 的编译。无论如何,正如我的回答中提到的那样,我解决了这个问题。
标签: java android c++ optimization android-ndk