今天一个搞化工的小哥哥找我来问相关的问题,我觉得聊的内容很有必要记录一下,他的这个工作大概就是写出反应方程,但是里面的参数组合最优,不清楚,所以需要用计算机来搜索一些合适的参数。
老哥提到了这个求解器,因为这方面我没有做多少,所以先了解一下。
https://github.com/coin-or/Ipopt
这个算法包是要解决如下样子的
minf(x) x ∈ Rⁿ
g_L ≤ g(x) ≤ g_U
x_L ≤ x ≤ x_U
或者是这样的方程组
https://coin-or.github.io/Ipopt/
这个包的资料只有官网的教程了
这个算法包是:
https://www.coin-or.org/
运筹学协会开源的
同时它也有好多的软件包
https://github.com/coin-or/GiMPy
我看到了一个可视化的包
两个搞化学的写出来的
https://drops.dagstuhl.de/opus/volltexte/2009/2089/
Ipopt 是一个用于大规模非线性优化的开源软件包。本教程提供了一个简短的介绍,应该允许读者在类 UNIX 系统上安装和测试包,并在短时间内运行简单的示例。
这个算法是使用内点法求参数的算法,
Ipopt 实现了一种内部点线搜索过滤方法,旨在找到(NLP)的局部解决方案
http://www.netlib.org/liblist.html
Netlib 是数学软件、论文和数据库的集合。
https://github.com/coin-or/Ipopt/discussions/497
如果用到了求解器,可以在这里写一下案例,后面说大家都不知道它咋用
https://github.com/coin-or/Ipopt/releases/tag/releases%2F3.13.2
可能大多数用求解器的不是专业的计算机开发人员,所以有直接编译好的库
https://github.com/coin-or/Ipopt/releases
可以从这里获得。
编译的版本
注意是VS2019编译
https://www.msys2.org/
https://blog.csdn.net/u010750137/article/details/105933814