当前位置: 首页 > 知识库问答 >
问题:

如何使用pyomo建模框架在ipopt中使用(/安装)pardiso线性求解器?

何松
2023-03-14

我正在使用pyomo和python开发一个优化模型(python 3-我在windows上使用anaconda管理包)。我需要使用非线性求解器ipopt。似乎ipopt(腮腺炎或ma27)使用的默认线性解算器相对较慢且不可线程化,我希望将pardiso解算器用于ipopt的线性部分。它似乎有两个版本:MKL intel pardiso版本和“独立”版本-我对其中任何一个都没意见。-但我没有设法使用pardiso。

我让ipopt工作,我选择它来解决我的pyomo问题:

solver = SolverFactory('ipopt')

我使用ipopt选项选择“pardiso”作为线性解算器

solver.options['linear_solver']='pardiso'

我得到以下错误:

Exception message: Selected linear solver Pardiso not available.
Tried to obtain Pardiso from shared library "libpardiso.dll", but the following error occured:
Windows error while loading dynamic library libpardiso.dll, error = 126.

我想这意味着没有安装解算器。如果我选择“腮腺炎”或不指定任何内容,一切都可以。

然而,它说pardiso解算器在mkl库中(我有),现在理想情况下,我想知道我必须从anaconda安装哪些软件包才能使pardiso解算器工作?

这篇文章规定,为了工作,必须将特定的Anaconda libraries文件夹添加到系统路径,我做到了

sys.path.append('C:\Programs\pkgs\mkl-2019.3-203\Library\bin')
sys.path.append('C:\Programs\pkgs\intel-openmp-2019.3-203\Library\bin')

没有任何改变

或者,我从下载了pardiso模型https://www.pardiso-project.org/这给了我3个文件libpardiso600-WIN-X86-64。dll。exp和。lib,我不知道该做什么或放在哪里(solver网站上没有解释)

谢谢你的帮助,

共有1个答案

百里胜泫
2023-03-14

在这个版本的Ipopt中,它查找一个文件libpardiso。dll。如果你有libpardiso600-WIN-X86-64。dll,然后将其重命名为libpardiso。并确保可以找到它<使用Ipopt 3.14,将有一个选项“pardisolib”来指定pardiso库的名称(可能包括路径)。

要从MKL加载Pardiso,可以尝试将MKL\u rt.dll复制到libpardiso。dll。

 类似资料:
  • 我正在用pyomo编程求解非线性优化问题(使用ipopt求解器)。稍后,我想在模型中添加随机元素。我知道在Pyomo中,可以使用复数形式来处理随机规划,但复数形式只能处理线性规划、混合整数规划和二次规划。 一般非线性随机规划问题有求解器吗?如果没有,我们如何使用现有的求解器来处理它?

  • 我想在@ServerRequestFilter过滤器中打印post请求正文的json日志 但是我发现无论我对entityStream触发器做什么:

  • EasyWeChat 是一个通用的 Composer 包,所以不需要对框架单独做修改,只要支持 Composer 就能直接使用,当然了,为了更方便的使用,我们收集了以下框架单独提供的拓展包: Laravel overtrue/laravel-wechat Symfony lilocon/WechatBundle Yii jianyan74/yii2-easy-wechat 适用于 EasyWeCh

  • QueryList无框架依赖,可以灵活的嵌入到任何项目中去。 在使用Composer管理的项目中安装 在非Composer管理的项目中安装 QueryList可以集成到任何框架中去使用,无需做任何修改,直接使用Composer安装到项目中去即可。 在使用Composer管理的项目中安装 如果项目框架本身就是使用Composer来管理包的话,直接在项目根目录执行Composer安装命令后,即可在项目

  • 我正在尝试使用pip安装请求模块,但我不确定我是否做得对。我在windows上打开命令提示符(windows key r,输入“cmd”并按回车键)。我已经安装了pip,但当我在命令提示符下输入“pip安装请求”时,它会说 当我去检查是否安装了pip时,就会出现这种情况 然后,我将python的路径添加到环境变量中,更改顶部和底部,希望命令提示符可以运行python程序。但当我转到命令提示符并键入

  • 本文向大家介绍详解PHP的Yii框架中扩展的安装与使用,包括了详解PHP的Yii框架中扩展的安装与使用的使用技巧和注意事项,需要的朋友参考一下 扩展是专门设计的在 Yii 应用中随时可拿来使用的, 并可重发布的软件包。例如, yiisoft/yii2-debug 扩展在你的应用的每个页面底部添加一个方便用于调试的工具栏, 帮助你简单地抓取页面生成的情况。 你可以使用扩展来加速你的开发过程。 信息: