> Programming Considerations > Managing Input and Output > Understanding File Formats > Working with LP Files |
Working with LP Files |
INDEX PREVIOUS NEXT |
LP files are row-oriented so you can look at a problem as you enter it in a naturally and intuitively algebraic way. However, ILOG CPLEX represents a problem internally in a column-ordered format. This difference between the way ILOG CPLEX accepts a problem in LP format and the way it stores the problem internally may have an impact on memory use and on the order in which variables are displayed on screen or in files.
As ILOG CPLEX reads an LP format file by rows, it adds columns as it encounters them in a row. This convention will have an impact on the order in which variables are named and displayed. For example, consider this problem:
Maximize |
2x2 |
+ |
3x3 | ||||
subject to | |||||||
-x1 |
+ |
x2 |
+ |
x3 |
20 | ||
x1 |
- |
3x2 |
+ |
x3 |
30 | ||
with these bounds | |||||||
0 |
x1 |
40 | |||||
0 |
x2 |
+ | |||||
0 |
x3 |
+ |
Since ILOG CPLEX reads the objective function as the first row, the two columns appearing there will become the first two variables. When the problem is displayed or rewritten into another LP file, the variables there will appear in a different order within each row. In this example, if you execute the command display problem all
, you will see this:
Maximize obj: 2 x2 + 3 x3 Subject To c1: x2 + x3 - x1 <= 20 c2: - 3 x2 + x3 + x1 <= 30 Bounds 0 <= x1 <= 40 All other variables are >= 0. |
That is, x1
appears at the end of each constraint in which it has a nonzero coefficient. Also, while re-ordering like this does not affect the optimal objective function value of the problem, if there exist alternate optimal solutions at this value, then the different order of the variables could result in a change in the solution path of the algorithm, and there may be noticeable variation in the solution values of the individual variables.
Copyright © 1987-2003 ILOG, S.A. All rights reserved. Legal terms. | PREVIOUS NEXT |