📄 lkconfig.h
字号:
#undef KD_NO_HIDDEN_BIT/* Define KD_NO_HIDDEN_RNN_TEST to turn off the testing the hidden bit * before recursing in E2_rnn. This is less drastic than removing hidden * bits altogether (see KD_NO_HIDDEN_BIT), but it still doesn't save time. * * Default: #undef KD_NO_HIDDEN_RNN_TEST */#undef KD_NO_HIDDEN_RNN_TEST /*************************************************************************** * These options select options for repeatability -- good for experiments. **************************************************************************//* Define QSORT_DETERMINATE to make sorting stable, i.e. so that we * preserve the order of objects that compare as equal. Also consider * command-line option -S dsort (which substitutes Bentley and McIlroy's * deterministic sorting routine in place of the qsort routine from the * system's C library. * * Turn this option on only if you want to ensure repeatable results, both * across runs and across systems. For repeatable results across systems, * you must also use -S dsort. * * Default: #undef QSORT_DETERMINATE */#undef QSORT_DETERMINATE/* Define CITY_ORDER_INVARIANT to ensure that computations do not depend * on the initial ordering of the cities. This is for repeatability. * This does not work yet. (Faith Fich's suggestion of looking at * statistical behaviour under input randomization may be good enough.) * * Default: #undef CITY_ORDER_INVARIANT */#undef CITY_ORDER_INVARIANT/*************************************************************************** * These options control in some way the amount of output generated. **************************************************************************//* Define LK_SHOW_AFTER_SFC to output the cities graphically (in * PostScript) after sorting them according to Moore's version of Hilbert's * space-filling curve. The output is generated only if the -p * (--postscript) command-line option is used to request PostScript output. * * Default: #undef LK_SHOW_AFTER_SFC */#undef LK_SHOW_AFTER_SFC/* Define KD_SHOW_KDTREE to output the partitioning used for the k-d tree. * The output is made graphically in PostScript, and only if the -p * (--postscript) option is used. * * Default: #undef KD_SHOW_KDTREE */#undef KD_SHOW_KDTREE/* Define KD_ALLOW_VERBOSE to turn on debugging output for module KDTREE, * subject to the verbose command line option. * * Default: #undef KD_ALLOW_VERBOSE */#undef KD_ALLOW_VERBOSE/* Define JBMR_REPORT_DEPTHS to show how deep tabu probing goes, and how * deep actually improving moves go. These are platform-independent * statistics of work done by the tabu search algorithm. This is not * affected by the value of JBMR_MAX_VERBOSE. * * Default: #define JBMR_REPORT_DEPTHS 1 */#if !defined(JBMR_REPORT_DEPTHS)#define JBMR_REPORT_DEPTHS 1#endif/* Define MATCH_REPORT_DEPTHS is analogous to JBMR_REPORT_DEPTHS, * but affects the minimum weight perfect matching code instead of * the TSP code. * * Default: #define MATCH_REPORT_DEPTHS 1 */#if !defined(MATCH_REPORT_DEPTHS)#define MATCH_REPORT_DEPTHS 1#endif/* Define JBMR_MAX_VERBOSE to determine how much verbose output code gets * compiled into the LK optimization code for the TSP (i.e. in module JBMR). * The level of detail actually output depends on this value and the values * given to the -v or --verbose command-line options. * * If undefined, then there is no runtime overhead due to verbose output * code, i.e., checks against variable |verbose| are not even compiled into * the code. * * Default: #define JBMR_MAX_VERBOSE 45 */#if !defined(JBMR_MAX_VERBOSE)#define JBMR_MAX_VERBOSE 45#endif#define MATCH_MAX_VERBOSE JBMR_MAX_VERBOSE/* Define MILESTONE_MAX_VERBOSE to determine how much milestone reporting. * gets done. All the milestone output happens below 50. * * Default: #define MILESTONE_MAX_VERBOSE 45 */#if !defined(MILESTONE_MAX_VERBOSE)#define MILESTONE_MAX_VERBOSE 45#endif/* Define TABUHASH_MAX_VERBOSE to determine how much verbose output code gets * compiled into the tabu hash list code. * * Default: #define TABUHASH_MAX_VERBOSE 0 */#if !defined(TABUHASH_MAX_VERBOSE)#define TABUHASH_MAX_VERBOSE 0#endif/* If JBMR_MAX_VERBOSE is greater than zero, we can turn on very verbose * output for a specific city by setting symbol JBMR_WATCH_THIS_CITY * to the numeric value of the city to watch. * * Example: #define JBMR_WATCH_THIS_CITY (999) * This turns on very verbose output when t[1]=999. * * Default: #undef JBMR_WATCH_THIS_CITY */#undef JBMR_WATCH_THIS_CITY/*************************************************************************** * These options control how much checking is done. **************************************************************************//* Define ERROR_NO_CHECK to turn off assertion checking. * * Default: #undef ERROR_NO_CHECK */#undef ERROR_NO_CHECK/* Define LK_CHECK_KDTREE to make module LK check that all nn computations * are correct. On $n$-city instances, this does $O(n^2)$ work. * * Default: #undef LK_CHECK_KDTREE */#undef LK_CHECK_KDTREE/* Define KD_CHECK_PARTITIONING to make the k-d tree building routine * check that it has partitioned the cities correctly. * * Default: #undef KD_CHECK_PARTITIONING */#undef KD_CHECK_PARTITIONING/* Define KD_CHECK_BBOX to make the k-d tree building routine check that * it computes its bounding boxes correctly. * * Default: #undef KD_CHECK_BBOX */#undef KD_CHECK_BBOX/* The value of ARRAY_DEBUG controls how much checking is done by the * array-based tour representation. A value of 0 does no checking. A * non-zero value checks input conditions for flips. A value greater than * 1000 forces a time-consuming ($O(n)$) consistency check after each flip. * * Default: #define ARRAY_DEBUG 0 */#define ARRAY_DEBUG 0/* Define TWOLEVEL_FLIP_CHECK_PRECONDITION to force the tour representation * based on two-level tree to check the input precondition for flips. This * is analogous to ARRAY_DEBUG being non-zero. Sorry for the naming * inconsistency. * * Default: #undef TWOLEVEL_FLIP_CHECK_PRECONDITION */#undef TWOLEVEL_FLIP_CHECK_PRECONDITION/* Define TWOLEVEL_DEBUG to force both two-level trees and arrays to be * used to represent tours, and ensuring that they are consistent with * each other. * * Default: #undef TWOLEVEL_DEBUG */#undef TWOLEVEL_DEBUG/* Define DECLUSTER_DEBUG to a non-zero value to allow program * declustertest (part of decluster.w) to examine and test data structures * internal to the decluster module. * * Default: #define DECLUSTER_DEBUG 0 */#if !defined(DECLUSTER_DEBUG)#define DECLUSTER_DEBUG 0#endif/* Define DIRTY_DEBUG to a non-zero value to do extra checking on * dirty sets in dirty.w. * I needed this only to debug a memory buffer overrun problem I had * with the change_log array in jbmr.w and match.w. * * Default: #define DIRTY_DEBUG 0 */#if !defined(DIRTY_DEBUG)#define DIRTY_DEBUG 0#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -