It is sometimes desirable to write a model which, at various points, may require different data for each problem to be solved using that model. For this reason in MathProg the model description consists of two parts: model section and data section.
Model section is a main part of the model description that contains declarations of model objects and is common for all problems based on the corresponding model.
Data section is an optional part of the model description that contains data specific for a particular problem.
Depending on what is more convenient model and data sections can be placed either in one file or in two separate files. The latter feature allows to have arbitrary number of different data sections to be used with the same model section.