CC = gcc FC = g77 CFLAGS = -mcpu=i686 -Wall -malign-double -O6 LFLAGS = -lmThis Makefile works on a GNU/Linux system with the EGCS C and Fortran compilers.
You may wish to experiment with one more option. During the optimization process, two different heuristics can be used. They are chosen at compile-time by the two following defines:
#ROWORDER_RECORDER=1 ROWORDER_BIPORDER=1Which one of the two defines that are uncommented will determine which heuristic is used. The ROWORDER_BIPORDER is much faster on larger systems, but the ROWORDER_RECORDER may give better results. When system sizes exceed about 20 x 20 or if the percentage of non-zeros exceeds 10% the ROWORDER_RECORDER usually run too slow to do any good. Experiment with this.
Run make to build the optimqr program. This sould give you the executable optimqr.
To optimize the 15 x 15 system described in the previous section, type the command optimqr system.size15. The arguments that can be given to optimqr are:
optimqr <system file> [acceptance factor] [output directory]
Where the argument enclosed in sharp brackets is a mandatory argument, and the two arguments in square brackets are optional arguments.
System File | This is the name of the file in which the system is described. This argument is mandatory. |
Acceptance Factor | Since the search for ``good'' orderings use heuristics, and the heuristic used overshoots the estimated cost of the partial solution, we multiply the estimate from the heuristic with an ``acceptance factor''. The default value for the compensation factor is 0.68. A larger value may give worse results, since more possibly good branches in the search tree are discarded. A smaller value vill increase run-time of the optimizer. The default value has experimentally been found to be good, but you may wish to experiment here. |
Output Directory | The optimizer generates a number of output files. The default is to save these files in the directory Output relative to the current working directory. You can specify an alternate output directory here. |