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):