首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用C++将向量数组转换为.MPS文件

使用C++将向量数组转换为.MPS文件
EN

Stack Overflow用户
提问于 2016-08-08 11:28:29
回答 2查看 617关注 0票数 2

我正在尝试使用Coin-OR的线性规划(LP)软件来解决一系列线性规划。每个程序的大部分数据都包含在几个.csv文件中,但每次运行线性优化时都需要修改其中的一些数据。

看起来我只能请求Coin-OR的LP求解器读取.MPS文件,并且可以使用像AMPL这样的程序单独构建一个.MPS文件。但是,考虑到我正在尝试运行一系列自动化的、迭代的这些优化,仅仅使用AMPL或Gurobi构建单个问题实例,然后对生成的.MPS文件调用求解器是不可行的;我需要该文件随着每个问题而更改,可能会更改数千次或数百万次。

那么,有没有人知道是否有C++库可以将向量数组或其他标准C++数据结构转换为.MPS文件?或者,有没有一种方法可以指定这些数据结构作为Coin-OR的LP求解器的输入?

EN

回答 2

Stack Overflow用户

发布于 2016-08-08 12:33:51

通过Coin-OR的API调用它的CLP不是更好吗?对于纯LP,写入和读取MPS文件的成本可能会变得很高。另外,中电有自己的MPSWriter,你可以借用: CoinMpsIO::writeMps。如果您运行许多类似的模型,您可能希望确保热启动求解器。此外,AMPL有一个直接的硬币或CLP接口(https://github.com/ampl/coin),因此不需要通过MPS文件。

票数 2
EN

Stack Overflow用户

发布于 2016-08-08 22:53:03

正如欧文所说。使用API。在不同的求解器上尝试给定模型时,使用MPS文件或类似文件非常有用。LP格式有助于理解您的模型是否实现了您所期望的内容。甚至可以使用MPS文件对回归测试或类似的特定案例进行归档。但任何人都不应该创建要提供给求解器的文件。如果可能,请使用API。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38820896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档