带有Pyomo的线性代数

时间:2018-12-19 13:11:31

标签: python optimization pyomo

我正在尝试将优化问题放到Pyomo中,但这在很大程度上取决于标准的线性代数运算-qr,逆,转置,乘积。实际上,这是卡尔曼滤波器的问题。长时间序列的递归线性代数。我没有找到像我可以在张量流中那样实现的pyomo函数。有可能吗?

相关问题:

  1. 我对numpy目标函数实际上在pyomo中不可用吗?

  2. 是否为此目的提供了更好的免费优化解决方案? (到目前为止,科学无法接近Matlab的效率,对于特定的问题,张量流非常慢,尽管我不明白为什么,Matlab中的算法差异相当快,但不够快)

非常感谢, 弗拉基米尔

1 个答案:

答案 0 :(得分:1)

Pyomo主要是用于优化的软件包。即指定数据->构建问题->发送到求解器->等待求解器的结果->检索解决方案。即使它可以处理类似矩阵的数据,也无法通过矩阵运算来对其进行操作。在将数据发送到Pyomo之前,应该使用良好的外部库来完成此操作。一旦准备好所有矩阵用作优化模型中的数据,便可以使用Pyomo进行优化。

话虽这么说,但是一旦将数据值作为模型的输入提供给您,您就应该寻找一个适合您构建数据的库,因为数据值必须是静态的。

此外,请记住,与任何优化工具一样,Pyomo是确定性的。它并不是要进行数据分析或数据描述,而是要提供一种找到数学问题的最佳解决方案的方法。在您的情况下,Pyomo并不是要解决卡尔曼滤波问题,而是要给您最小化均方误差的解决方案。