Input-Output#

int GRBreadmodel(GRBenv *env, const char *filename, GRBmodel **modelP)#

Read a model from a file.

Return value:

A non-zero return value indicates that a problem occurred while reading the model. Refer to the Error Codes table for a list of possible return values. Details on the error can be obtained by calling GRBgeterrormsg.

Arguments:
  • env – The environment in which to load the new model. This should come from a previous call to GRBloadenv.

  • filename – The path to the file to be read. Note that the type of the file is encoded in the file name suffix. Valid suffixes are .mps, .rew, .lp, .rlp, .dua, .dlp, .ilp, or .opb. The files can be compressed, so additional suffixes of .zip, .gz, .bz2, or .7z are accepted.

  • modelP – The location in which the pointer to the model should be placed.

Example:
GRBmodel *model;
error = GRBreadmodel(env, "/tmp/model.mps.bz2", &model);
int GRBread(GRBmodel *model, const char *filename)#

This method is the general entry point for importing data from a file into a model. It can be used to read basis files for continuous models, start vectors for MIP models, variable hints for MIP models, branching priorities for MIP models, or parameter settings. The type of data read is determined by the file suffix. File formats are described in the File Format section.

Note that reading a file does not process all pending model modifications. These modifications can be processed by calling GRBupdatemodel.

Note also that this is not the method to use if you want to read a new model from a file. For that, use the GRBreadmodel routine.

Return value:

A non-zero return value indicates that a problem occurred while reading the file. Refer to the Error Codes table for a list of possible return values. Details on the error can be obtained by calling GRBgeterrormsg.

Arguments:
  • model – The model that will receive the information read from the file.

  • filename – The path to the file to be read. The suffix on the file must be either .mst or .sol for a MIP start file, .hnt for a MIP hint file, .ord for a priority order file, .bas for a basis file, .attr for a collection of attribute settings, or .prm for a parameter file. The suffix may optionally be followed by .zip, .gz, .bz2, or .7z.

Example:
error = GRBread(model, "/tmp/model.mst.bz2");
int GRBwrite(GRBmodel *model, const char *filename)#

This routine is the general entry point for writing optimization data to a file. It can be used to write optimization models, solutions vectors, basis vectors, start vectors, or parameter settings. The type of data written is determined by the file suffix. File formats are described in the File Format section.

Note that writing a model to a file will process all pending model modifications. This is also true when writing other model information such as solutions, bases, etc.

Note also that when you write a Gurobi parameter file (PRM), both integer or double parameters not at their default value will be saved, but no string parameter will be saved into the file.

Return value:

A non-zero return value indicates that a problem occurred while writing the file. Refer to the Error Codes table for a list of possible return values. Details on the error can be obtained by calling GRBgeterrormsg.

Arguments:
  • model – The model containing the data to be written.

  • filename – The name of the file to be written. The file type is encoded in the file name suffix. Valid suffixes are .mps, .rew, .lp, or .rlp for writing the model itself, .dua or .dlp for writing the dualized model (only pure LP), .ilp for writing just the IIS associated with an infeasible model (see GRBcomputeIIS for further information), .sol for writing the solution selected by the SolutionNumber parameter, .mst for writing a start vector, .hnt for writing a hint file, .bas for writing an LP basis, .prm for writing modified parameter settings, .attr for writing model attributes, or .json for writing solution information in JSON format. If your system has compression utilities installed (e.g., 7z or zip for Windows, and gzip, bzip2, or unzip for Linux or macOS), then the files can be compressed, so additional suffixes of .gz, .bz2, or .7z are accepted.

Example:
error = GRBwrite(model, "/tmp/model.rlp.gz");