用c++将矢量数组转换成.mps文件
Converting vector arrays into .MPS files with C++
我正在尝试使用Coin-OR的线性规划(LP)软件来解决一系列线性程序。每个程序的大部分数据都包含在几个.csv文件中,但每次运行线性优化时都需要修改一些数据。
看起来我只能要求Coin-OR的LP解算器读取。mps文件,并且可以使用AMPL等程序单独构建。mps文件。但是考虑到我正在尝试运行这些优化的自动化迭代系列,仅使用AMPL或Gurobi构建单个问题实例然后在结果。mps文件上调用求解器是不可行的;我需要每个问题都修改文件,可能要修改数千次或数百万次。
所以有没有人知道,如果有一个c++库,可以转换向量数组或其他标准的c++数据结构成。mps文件?或者,是否有一种方法可以将这些数据结构指定为Coin-OR的LP求解器的输入?
通过其API调用Coin-OR的CLP不是更好吗?对于纯lp来说,写入和读取MPS文件可能会变得非常昂贵。否则CLP有自己的MPSWriter,您可以借用:CoinMpsIO::writeMps。如果您运行许多类似的模型,您可能需要确保预热启动求解器。AMPL还具有直接的COIN-OR CLP接口(https://github.com/ampl/coin),因此无需通过MPS文件。
正如Erwin所说。使用API。使用MPS文件或类似文件对于在不同求解器上尝试给定模型非常有用。LP格式有助于理解您的模型是否实现了您所期望的。甚至可以使用MPS文件来归档用于回归测试或类似的特定用例。但是没有人应该创建文件来提供给解算器。如果可能的话,使用API
相关文章:
- 防止主数据类型C++的隐式转换
- 模板参数替换失败,并且未完成隐式转换
- 努力将整数转换为链表。不知道我在这里做错了什么
- HEX值到wchar_t字符(UTF-8)的转换
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将 Qvector<uint8_t> 转换为 QString
- 如何在cuSparse中使用cusparseXcoo2csr从coo转换为csc
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 在c++中使用nlohmann从类到json的转换
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- 将Integer转换为4字节的unsined字符矢量(按大端字节顺序)
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- 复制列表初始化的隐式转换的等级是多少
- 正在将指针转换为范围
- 如何防止 c++ 在从浮点型转换为双精度型(不适用于 IO)时添加额外的小数?
- 将"打开的CV图像"中的"颜色"转换为整数格式
- 是否可以从int转换为enum类类型
- 了解 GLM- openGL 中的相机转换
- 用c++将矢量数组转换成.mps文件