当前位置: 首页 > 软件库 > 程序开发 > 数学计算 >

NASOQ

高速 QP 求解器
授权协议 MIT
开发语言 C/C++
所属分类 程序开发、 数学计算
软件类型 开源软件
地区 不详
投 递 者 艾焱
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

NASOQ 是一种可扩展且高效的二次规划求解器,可以获得所需精度的解。

安装

库要求

MKL Pardiso 或 OpenBlas (BLAS)、OpenMP 和 METIS。Cmake 处理 METIS。如果将 OpenBlas 安装在其默认位置 (sudo make install),Cmake 将检测到它。

构建项目

鉴于已安装 MKL Pardiso 或 OpenBlas,请使用以下步骤安装 NASOQ:

mkdir build
cd build
cmake -DMKL_ROOT_PATH=path/to/intel  -DCMAKE_BUILD_TYPE=Release ..
cmake ..

用于构建和运行 NASOQ 的快速脚本在buildALL.sh. 需要首先更正库的路径,然后您可以按如下方式运行它:

bash buildAll.sh

成功构建后,你应该能够看到data/out.csv并且它应该与data/out_correct.csv相似。

要在 Mac 上安装,可能需要使用 GCC,因此还需要设置 CMAKE 编译器标志。

测试 QP 示例

为了测试一个QP的例子,你也可以使用 NASOQ-BIN,它是 NASOQ 的一个命令行界面。一些小型的 QP 问题可以在 data 文件夹中找到。为了评估 NASOQ 与其他求解器的比较,还提供了一个单独的资源库:https : //github.com/sympiler/nasoq-benchmarks

 相关资料
  • QP

    QP 是一系列的轻量级软件框架,用来构建响应式和模块化的实时嵌入式应用,作为系统整合和事件驱动的活动对象。QP系列包括QP/C, QP/C++和QP-nano 框架,所有都具有严格的质量控制,详细的记录以及商业许可。QP中用层次状态图(UML活动图)表示的活动对象行为在QP中是有详细说明的。框架支持手工用C或者C++对UML状态机进行编码,也可以由自动代码生成QM模板工具。 

  • 问题内容: 我希望学生解决作业中的二次程序,而不必安装诸如cvxopt等的额外软件。是否有仅依赖于NumPy / SciPy的python实现? 问题答案: 我遇到了一个很好的解决方案,想把它解决。NICTA之外的ELEFANT机器学习工具包中有一个LOQO的python实现(在本文中为http://elefant.forge.nicta.com.au)。看一看optimization.intpo

  • 我有一个线程问题,我认为我是一个中等的线程背景。 假设我有以下(过度简化的)设计和行为: Object ObjectA-具有对ObjectB的引用和方法MethodA()。Object ObjectB-具有对ObjectA的引用、元素数组ArrayB和方法MethodB()。 ObjectA负责实例化ObjectB。ObjectA将指向ObjectB的实例化器。 现在,只要满足某些条件,就会在ob

  • 现在的CPU比25年前要精密得多了。在那个年代,CPU的频率与内存总线的频率基本在同一层面上。内存的访问速度仅比寄存器慢那么一点点。但是,这一局 面在上世纪90年代被打破了。CPU的频率大大提升,但内存总线的频率与内存芯片的性能却没有得到成比例的提升。并不是因为造不出更快的内存,只是因为太 贵了。内存如果要达到目前CPU那样的速度,那么它的造价恐怕要贵上好几个数量级。 如果有两个选项让你选择,一个

  • 当我启动应用程序时,控制台出现以下异常: 我的pom.xml: mvn DEPENCY:树 我需要用Spring-启动-启动-缓存的速度吗?还是有什么其他的缺失或错误?

  • UMD™ Cache(高速缓存)    将使用频率较高的数据蓄积至PSP™主机的内存,以减少UMD™的读取次数,加快数据读取速度的设定。 关 不变更UMD™的读取速度。 开 减少UMD™的读取频率。 提示 设定为[开]时,可能无法经由Ad Hoc模式与其他PSP™正确通讯。此时请调整为[关]。