繁体   English   中英

是否可以使用Android NDK在Android应用程序中集成像IPOPT这样的C ++解算器?

[英]Is it possible to integrate a C++ Solver like IPOPT in an Android App using Android NDK?

我正在开发一款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,或者更确切地说是交叉编译方法?

或者有替代方法来做到这一点?

我会感谢任何帮助我更接近目标的帮助。

这里最困难的部分是由于IPOPT使用了大量的Fortran代码,特别是在它的依赖项中,如BLAS和Lapack。 事实上,由于困难,你很少会发现任何人甚至试图为Android编译那些。 尽管如此,我做到了,最近发布了你正在寻找的东西。

这是一个使用IPOPT的简单Android项目: https//github.com/jeti/android_ipopt_example

它使用通过此repo提供的IPOPT库: https//github.com/jeti/android_ipopt

反过来,这是使用独立的Android工具链创建的Fortran可通过此repo获得: https//github.com/jeti/android_fortran

我决定使用这个求解器:

http://www.joptimizer.com

使用NDK工具链构建IPOPT已经造成了太多的努力。 也许这将是另一个项目的意见。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM