# Changes from releases/5.2.2 at r1781 to releases/5.2.3 at r1781

Ignore:
Location:
releases/5.2.3
Files:
24 edited

Unmodified
Removed
• ## releases/5.2.3/Dependencies

• Property svn:mergeinfo changed (with no actual effect on merging)

• Property svn:mergeinfo changed (with no actual effect on merging)
• ## releases/5.2.3/SYMPHONY

• Property svn:mergeinfo changed /trunk/SYMPHONY merged: 1744,​1747-1748,​1750-1751
• ## releases/5.2.3/SYMPHONY/Applications/MSVisualStudio

• Property svn:mergeinfo changed (with no actual effect on merging)

• ## releases/5.2.3/SYMPHONY/Applications/VRP/src/Master/vrp_master_functions.c

 r1781 } } pos = ((int)ed0 - (int)g->edges)/sizeof(edge_data) + 1; pos = ((ptrdiff_t)ed0 - (ptrdiff_t)g->edges)/sizeof(edge_data) + 1; g->allocated_edgenum -= g->edgenum - pos; if (alloc_old){
• ## releases/5.2.3/SYMPHONY/Doc/man-API.tex

 r1781 \begin{verbatim} ******************************************************* *   This is SYMPHONY Version 5.2.0                    * *   This is SYMPHONY Version 5.2.3                    * *   Copyright 2000-2010 Ted Ralphs                    * *   All Rights Reserved.                              *
• ## releases/5.2.3/SYMPHONY/Doc/man-param.tex

 r1781 is used during the bicriteria solution procedure. A value greater than zero will cause the binary search to be activated. \item[\ptt{prep\_level} -- integer({\tt 5}).] \sindex[p]{\MP!prep\_level} Determines the level of preprocessing that should be done on the current MILP instance. A level of less than $0$ means that no preprocessing will be done. At level $2$ basic presolve routines are used. At higher levels more advanced routines are deployed. At level $5$, valid implications are derived. \item[\ptt{prep\_dive\_level} -- integer({\tt 5}).] \sindex[p]{\MP!prep\_dive\_level} When a variable has been modified by preprocessing, then these changes can be used to improve other variables and constraints in the instance as well. This parameter controls how many times can we recursively try to improve the instance if a change is made. \item[\ptt{prep\_impl\_dive\_level} -- integer({\tt 0}).] \sindex[p]{\MP!prep\_impl\_dive\_level} In some advanced preprocessing routines, a variable or constraint is modified to check what implications can be derived from that change. When such an implication is derived, it can recursively lead to more implications. This parameter controls how many levels of recursion are allowed. \item[\ptt{prep\_impl\_limit} -- integer({\tt 50}).] \sindex[p]{\MP!prep\_impl\_limit} Determines the maximum number of implications that can be derived from preprocessing. \item[\ptt{prep\_do\_probing} -- integer({\tt 1}).] \sindex[p]{\MP!prep\_do\_probing} Determines if probing is used while preprocessing. Probing is not yet implemented and this parameter does not have any effect. \item[\ptt{prep\_verbosity} -- integer({\tt 1}).] \sindex[p]{\MP!prep\_verbosity} Determines the verbosity of messages from the preprocessing stage. Higher levels will produce more verbose messages. \item[\ptt{prep\_reduce\_mip} -- boolean ({\tt 1}).] \sindex[p]{\MP!prep\_reduce\_mip} If some variables and constraints have been eliminated in preprocessing and if \ptt{prep\_reduce\_mip} is $1$, then the memory allocated for these deleted variables and constraints is freed. Otherwise, these are retained in the instance but are never used. \item[\ptt{prep\_probing\_verbosity} -- integer({\tt 0}).] \sindex[p]{\MP!prep\_probing\_verbosity} Determines the verbosity of messages from probing stage. Probing is not yet implemented and this parameter does not have any effect. \item[\ptt{prep\_probing\_level} -- integer({\tt 1}).] \sindex[p]{\MP!prep\_probing\_level} Determines the maximum level of probing that is carried out before preprocessing is stopped. Probing is not yet implemented and this parameter does not have any effect. \item[\ptt{prep\_display\_stats} -- boolean ({\tt 0}).] \sindex[p]{\MP!prep\_display\_stats} Determines if statistics on how many of each type of changes were made in the preprocessing stage are displayed ($1$) or not ($0$). \item[\ptt{keep\_row\_ordered} -- integer({\tt 1}).] \sindex[p]{\MP!keep\_row\_ordered} When the value of this parameter is {\tt 1}, a row ordered matrix is also retained for use after the preprocessing stage. This capability is not yet implemented and this parameter does not have any effect. \item[\ptt{prep\_do\_sr} -- boolean ({\tt 0}).] \sindex[p]{\MP!prep\_do\_sr} When the value of this parameter is {\tt 1}, additional preprocessing is performed by solving an LP with one constraint. This procedure is not thoroughly tested. \item[\ptt{max\_sr\_cnt} -- integer({\tt 5}).] \sindex[p]{\MP!max\_sr\_cnt} This parameter controls the number of single-constraint LPs that are solved for each constraint in the preprocessing stage. This procedure is not thoroughly tested. \item[\ptt{max\_aggr\_row\_cnt} -- integer({\tt 0}).] \sindex[p]{\MP!max\_aggr\_row\_cnt} This parameter is not used and has no effect. \item[\ptt{prep\_iter\_limit} -- integer({\tt 10}).] \sindex[p]{\MP!prep\_iter\_limit} Determines the maximum number of times preprocessing can be done on an instance. If an instance has been modified by preprocessing, then the new problem can be preprocessed again to get an even better formulation. This parameter puts a limit on the number of times such preprocessing can be done. \item[\ptt{write\_mps} -- boolean ({\tt 0}).] \sindex[p]{\MP!write\_mps} Determines if an MPS file be written after all preprocessing has been performed. This can be used for debugging or if the user wants to save the preprocessed instance. \item[\ptt{write\_lp} -- boolean ({\tt 0}).] \sindex[p]{\MP!write\_lp} Determines if an LP file be written after all preprocessing has been performed. This can be used for debugging or if the user wants to save the preprocessed instance. \item[\ptt{prep\_time\_limit} -- integer({\tt 50}).] \sindex[p]{\MP!prep\_time\_limit} Determines the maximum time in seconds that can be spent in preprocessing. %double            etol; %double            single_row_rlx_ratio; %char              do_aggregate_row_rlx; %double            max_aggr_row_ratio; %int               keep_track; \end{description} is used in all lower levels of the tree. \item [\ptt{strong\_branching\_high\_low\_weight} -- double (0.8).] \sindex[p]{strong\_branching\_high\_low\_weight} This parameter is used to calculate the score of each branching candidate. The candidate with the highest score is then selected for branching. Let $z_i^+, z_i^-$ be the estimated change in objective function value when we branch on the candidate $i$. Then the score of candidate $i$ is $s_i = \alpha\times\min\{z_i^+, z_i^-\} + (1-\alpha)\times\max\{z_i^+,z_i^-\}$, where $\alpha$ is the value of \ptt{strong\_branching\_high\_low\_weight}. This value should always lie in the interval $[0,1]$. \item [\ptt{use\_hot\_starts} -- boolean ({\tt TRUE}).] Determines if the LP solver is asked to make special arrangements for doing dual-simplex iterations when bounds on a variable are changed for strong branching. Some LP solvers provide such options so that strong branching can be performed much faster than the regular dual-simplex procedure. \item[\ptt{should\_use\_rel\_br} -- boolean ({\tt TRUE}).] \sindex[p]{should\_use\_rel\_br} Determines if reliability braching is used to determine branching candidates or not. This parameter is set to {\tt FALSE} if OPENMP is used. When this branching rule is disabled, strong branching is used to select a candidate. %   lp_par->rel_br_override_max_solves = 200; %   lp_par->rel_br_chain_backtrack = 5; %   lp_par->rel_br_min_imp = 0.0133; %   lp_par->rel_br_max_imp = 0.30; \item[\ptt{rel\_br\_override\_default} -- boolean ({\tt TRUE}).] \sindex[p]{\LPP!rel\_br\_override\_default} If reliability branching is enabled and this paramter is set to {\tt TRUE} then the policy of selecting branching candidates is automatically adjusted on the basis of bounds on solution value and the time elapsed. If this parameter is set to {\tt FALSE}, the policy is based on the values of the following three parameters. \item[\ptt{rel\_br\_threshold} -- integer (8).] \sindex[p]{\LPP!rel\_br\_threshold} It is assumed that the score obtained by branching on a given variable these many times is reliable for estimating the pseudocosts of this variable in the rest of the branch-and-bound algorithm. In other words, if reliability branching is enabled, strong branching is used on a variable at most \ptt{rel\_br\_threshold} many times. \item[\ptt{rel\_br\_max\_solves} -- integer (20).] \sindex[p]{\LPP!rel\_br\_max\_solves} If reliability branching is enabled, this parameter determines the maximum number of strong branching LPs that are solved in each node. If some branching candidates have reliable estimates, the number of LPs can be less than the value of this parameter. \item[\ptt{rel\_br\_cand\_threshold} -- integer (10).] \sindex[p]{\LPP!rel\_br\_cand\_threshold} If reliability branching is enabled, then strong branching is stopped if the last \ptt{rel\_br\_cand\_threshold} LPs did not give a better improvement in the lower bound. \item[\ptt{is\_feasible\_default} -- integer ({\tt TEST\_INTEGRALITY}\{1\}).] \sindex[p]{\LPP!is\_feasible\_default} Whether or not to generate lift-and-project cuts using COIN's cut generation library. \label{fp_enabled} \item[\ptt{fp\_enabled} -- integer ({\tt SYM\_FEAS\_PUMP\_DEFAULT}\{1\}).] \sindex[p]{\LP!fp\_enabled} Determines the overall policy of using the feasibility pump heuristic to find feasible solutions. {\tt SYM\_FEAS\_PUMP\_DEFAULT}\{1\} indicates that the decision to use the heuristic is determined on the basis of current values of lower bound, upper bound, the time used etc., based on some preset rules. {\tt SYM\_FEAS\_PUMP\_REPEATED}\{2\} indicates that the heuristic will be used every few iterations until the problem is solved. The frequency can be adjusted through the \ptt{fp\_frequency} parameter.  {\tt SYM\_FEAS\_PUMP\_TILL\_SOL}\{3\} indicates that the heuristic is used only until the first feasible solution is found. {\tt SYM\_FEAS\_PUMP\_DISABLE}\{-1\} indicates that the heuristic is not used. \item[\ptt{fp\_frequency} -- integer (10).] \sindex[p]{\LP!fp\_frequency} Determines the number of LPs that are solved before which the feasibility pump heuristic is called again. This parameter is used only if the parameter \ptt{fp\_enabled} is set to {\tt SYM\_FEAS\_PUMP\_REPEATED}\{2\}. Otherwise, the frequency is determined automatically based on some preset rules. \item[\ptt{fp\_max\_cycles} -- integer (100).] \sindex[p]{\LP!fp\_max\_cycles} Determines the maximum number of LPs that can be solved in a call to the feasibility pump heuristic. A higher number might be helpful in finding a better feasible solution but may result in more time spent in the heuristic. \item[\ptt{fp\_time\_limit} -- double (50).] \sindex[p]{\LP!fp\_time\_limit} If a feasible solution has been found, this parameter determines the time in seconds that can be spent on the feasibility pump heuristic. If a solution has not been found yet, the parameter \ptt{fp\_max\_initial\_time} is used. \item[\ptt{fp\_max\_initial\_time} -- double (100).] \sindex[p]{\LP!fp\_max\_initial\_time} If a feasible solution has not been found, this parameter determines the time in seconds that can be spent on the feasibility pump heuristic. If a solution has been found, the parameter \ptt{fp\_time\_limit} is used. \item[\ptt{fp\_min\_gap} -- double (0.5).] \sindex[p]{\LP!fp\_min\_gap} If the relative (\%) gap between the lower and the upper bounds falls below the value of this parameter, feasibility pump is not called. \item[\ptt{fp\_flip\_fraction} -- double (0.1).] \sindex[p]{\LP!fp\_flip\_fraction} When the feasibility pump gets stuck in a cycle, this fraction of binary variables are flipped. The variables are selected randomly. Increasing the value of this parameter may result in the pump getting stuck fewer number of times, but the time to solve LPs after flipping may increase substantially. \item[\ptt{fp\_poor\_sol\_lim\_fac} -- integer (10).] \sindex[p]{\LP!fp\_poor\_sol\_lim\_fac} Sometimes the feasibility pump keeps generating solutions that have high objective function values. When the number of such solutions becomes more than \ptt{fp\_poor\_sol\_lim\_fac} times the number of good'' solutions, the pump is disabled. \end{description}
• ## releases/5.2.3/SYMPHONY/Doc/man-start.tex

 r1781 {\color{Brown} \begin{verbatim} tar -xzf SYMPHONY-5.2.0.tgz tar -xzf SYMPHONY-5.2.3.tgz \end{verbatim} }
• ## releases/5.2.3/SYMPHONY/Doc/man.tex

 r1781 \def\CP{{Cut Pool Parameters}} \def\CGP{{Cut Generator Parameters}} \def\VER{{5.2.0}} \def\VER{{5.2.3}} \lstloadlanguages{C++}
• ## releases/5.2.3/SYMPHONY/MSVisualStudio

• Property svn:mergeinfo changed (with no actual effect on merging)
• ## releases/5.2.3/SYMPHONY/MSVisualStudio/v8

• Property svn:mergeinfo changed /trunk/SYMPHONY/MSVisualStudio/v8 merged: 1744,​1747-1751

• Property svn:mergeinfo changed (with no actual effect on merging)
 r1781 WHAT'S NEW ========== Release 5.2.3: 1. Minor bug fixes 2. Documentation updated 3. Support for connection to VRPH added to VRP application Release 5.2.2:
• ## releases/5.2.3/SYMPHONY/configure

 r1781 #! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.59 for SYMPHONY 5.2.2. # Generated by GNU Autoconf 2.59 for SYMPHONY 5.2.3. # # Report bugs to . PACKAGE_NAME='SYMPHONY' PACKAGE_TARNAME='symphony' PACKAGE_VERSION='5.2.2' PACKAGE_STRING='SYMPHONY 5.2.2' PACKAGE_VERSION='5.2.3' PACKAGE_STRING='SYMPHONY 5.2.3' PACKAGE_BUGREPORT='coin-symphony@list.coin-or.org' # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \configure' configures SYMPHONY 5.2.2 to adapt to many kinds of systems. \configure' configures SYMPHONY 5.2.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of SYMPHONY 5.2.2:";; short | recursive ) echo "Configuration of SYMPHONY 5.2.3:";; esac cat <<\_ACEOF if$ac_init_version; then cat <<\_ACEOF SYMPHONY configure 5.2.2 SYMPHONY configure 5.2.3 generated by GNU Autoconf 2.59 running configure, to aid debugging if configure makes a mistake. It was created by SYMPHONY $as_me 5.2.2, which was It was created by SYMPHONY$as_me 5.2.3, which was generated by GNU Autoconf 2.59.  Invocation command line was # Define the identity of the package. PACKAGE='symphony' VERSION='5.2.2' VERSION='5.2.3' cat >&5 <<_CSEOF This file was extended by SYMPHONY $as_me 5.2.2, which was This file was extended by SYMPHONY$as_me 5.2.3, which was generated by GNU Autoconf 2.59.  Invocation command line was cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ SYMPHONY config.status 5.2.2 SYMPHONY config.status 5.2.3 configured by$0, generated by GNU Autoconf 2.59, with options \\"echo "$ac_configure_args" | sed 's/[\\""\\$]/\\\\&/g'\\"

• ## releases/5.2.3/SYMPHONY/src/LP/lp_heuristics.c

• Property svn:mergeinfo changed (with no actual effect on merging)
• ## releases/5.2.3/SYMPHONY/src/LP/lp_sp.c

• Property svn:mergeinfo changed (with no actual effect on merging)
• ## releases/5.2.3/SYMPHONY/src/Master/master.c

 r1781 prep_par->keep_track = 0; prep_par->time_limit = 50; prep_par->write_mps = 0; prep_par->write_lp = 0; return(termcode);
• ## releases/5.2.3/SYMPHONY/src/Master/master_io.c

 r1781 printf("\n"); printf("*******************************************************\n"); printf("*   This is SYMPHONY Version 5.2.2                    *\n"); printf("*   This is SYMPHONY Version 5.2.3                    *\n"); printf("*   Copyright 2000-2010 Ted Ralphs and others         *\n"); printf("*   All Rights Reserved.                              *\n");
• ## releases/5.2.3/SYMPHONY/src/Master/master_prep.c

• Property svn:mergeinfo changed (with no actual effect on merging)
• ## releases/5.2.3/SYMPHONY/src/Master/master_prep_base.c

• Property svn:mergeinfo changed (with no actual effect on merging)
• ## releases/5.2.3/SYMPHONY/src/Master/master_prep_sr.c

• Property svn:mergeinfo changed (with no actual effect on merging)
• ## releases/5.2.3/configure

 r1781 # From configure.ac 0.9. # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.59 for 5.2.2 5.2-devel. # Generated by GNU Autoconf 2.59 for 5.2.3 5.2-devel. # # Report bugs to . # Identity of this package. PACKAGE_NAME='5.2.2' PACKAGE_TARNAME='5-2-2' PACKAGE_NAME='5.2.3' PACKAGE_TARNAME='5-2-3' PACKAGE_VERSION='5.2-devel' PACKAGE_STRING='5.2.2 5.2-devel' PACKAGE_STRING='5.2.3 5.2-devel' PACKAGE_BUGREPORT='coin-symphony@lists.coin-or.org' # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \configure' configures 5.2.2 5.2-devel to adapt to many kinds of systems. \configure' configures 5.2.3 5.2-devel to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of 5.2.2 5.2-devel:";; short | recursive ) echo "Configuration of 5.2.3 5.2-devel:";; esac cat <<\_ACEOF if$ac_init_version; then cat <<\_ACEOF 5.2.2 configure 5.2-devel 5.2.3 configure 5.2-devel generated by GNU Autoconf 2.59 running configure, to aid debugging if configure makes a mistake. It was created by 5.2.2 $as_me 5.2-devel, which was It was created by 5.2.3$as_me 5.2-devel, which was generated by GNU Autoconf 2.59.  Invocation command line was # Define the identity of the package. PACKAGE='5-2-2' PACKAGE='5-2-3' VERSION='5.2-devel' cat >&5 <<_CSEOF This file was extended by 5.2.2 $as_me 5.2-devel, which was This file was extended by 5.2.3$as_me 5.2-devel, which was generated by GNU Autoconf 2.59.  Invocation command line was cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ 5.2.2 config.status 5.2-devel 5.2.3 config.status 5.2-devel configured by$0, generated by GNU Autoconf 2.59, with options \\"echo "$ac_configure_args" | sed 's/[\\""\\$]/\\\\&/g'\\"