CPXXreadcopyprobCPXreadcopyprob

例程 CPXXreadcopyprob/CPXreadcopyprob 用于将 MPS、LP 或 SAV 文件读入现有 CPLEX 问题对象中。

int  CPXXreadcopyprob( CPXCENVptr 环境, CPXLPptr lp, char const * filename_str, char const * 文件类型 )

int  CPXreadcopyprob( CPXCENVptr 环境, CPXLPptr lp, char const * filename_str, char const * 文件类型 )

描述

例程 CPXXreadcopyprob/CPXreadcopyprob 用于将 MPS、LP 或 SAV 文件读入现有 CPLEX 问题对象中。 与问题对象关联的任何现有数据都将被破坏。 然后,可以通过任一优化例程来优化问题。 要确定数据的内容,请使用 CPLEX 查询例程。

可能会使用 filetype 自变量来指定文件的类型。 当 filetype 自变量为 NULL 时,将检查文件名是否具有以下后缀之一:.lp.mps.sav。 CPLEX 还将查找以下其他可选后缀:.gz.bz2

如果文件名与这些模式之一匹配,那么将相应设置 filetype。 如果 filetype 为 NULL,并且在文件名末尾未找到任何这些字符串,或者如果未识别指定的类型,那么 CPLEX 将自动尝试通过检查前几个字节来检测文件的类型。

如果文件名以 .gz.bz2 结尾,那么文件将读取为压缩文件。 因此,以 .sav 结尾的文件名将读取为 SAV 格式文件,而以 .sav.gz 结尾的文件名将读取为压缩 SAV 格式文件。

表 1. filetype的值
SAV 使用 SAV 格式
MPS 使用 MPS 格式
LP 使用 LP 格式

参数

env
一个指向 CPXXopenCPLEX/CPXopenCPLEX 所返回 CPLEX 环境的指针。
lp
一个指向 CPXXcreateprob/CPXcreateprob 所返回 CPLEX 问题对象的指针。
filename_str
应从中读取问题的文件的名称。
filetype
一个不区分大小写的字符串,其中包含文件的类型(表中字符串之一)。 可为 NULL,在此情况下,将从文件名的最后几个字符推断文件类型。

返回

如果此例程成功,那么会返回 0,而如果发生错误,那么会返回非零。

示例


status = CPXreadcopyprob (env, lp, "myprob.mps", NULL);

另请参阅《CPLEX 用户手册》和标准版中的示例 "lpex2.c