Download User's Guide for SQOPT Version 7: Software for Large

Transcript
6.
6.
Basis files
53
Basis files
A basis file may be saved at the end of a run, in order to restart the run if necessary, or to
provide a good starting point for some closely related problem. Three formats are available.
They are invoked by options of the following form:
New basis
Backup
Punch
Dump
file
file
file
file
10
11
20
30
The file numbers should be in the range 1–99, or zero for files that are not wanted.
New basis and Backup basis files are saved in that order every kth iteration, where k is
the Save frequency.
New basis, Punch, and Dump files are saved at the end of a run, in that order. They
may be re-loaded using options of the following form:
Old basis file
Insert
file
Load
file
10
20
30
Only one such file will actually be loaded, with the order of precedence as shown. If no basis
files are specified, one of the Crash options takes effect.
Figures 1–3 illustrate the data formats used for basis files. 80-character fixed-length
records are suitable in all cases. (36-character records would be adequate for Punch and
Dump files.) The files shown correspond to the optimal solution for problem sqmain2 in
the SQOPT distribution. The problem has 30 linear constraints, a linear objective, and 30
variables.
6.1.
New and Old basis files
These files may be called basis maps. They contain the most compact representation of
the state of each variable. They are intended for restarting the solution of a problem at a
point that was reached by an earlier run on the same problem or a related problem with
the same dimensions. (Perhaps the Iterations limit was previously too small, or some
other objective row is to be used, or the bounds are different.)
As illustrated in Figure 1, the following information is recorded in a New basis file.
1. A line containing the problem name, the iteration number when the file was created,
the status of the solution (Optimal Soln, Infeasible, Unbounded, Excess Itns,
Error Condn, or Proceeding), the number of infeasibilities, and the current objective
value (or the sum of infeasibilities).
2. A line containing the OBJECTIVE, RHS, RANGES and BOUNDS names, M = m, the number
of rows in the constraint matrix, N = n, the number of columns in the constraint
matrix, and SB = the number of superbasic variables. Any undefined names will be
printed with a blank entry.
3. A set of (n + m − 1)/80 + 1 lines indicating the state of the n column variables and the
m slack variables in that order. One character hs(j) is recorded for each j = 1 : n + m
as follows, written with format(80i1):