Ignore:
Timestamp:
May 18, 2018 5:45:54 AM (3 years ago)
Author:
forrest
Message:

allow cleaning of small sos variables

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Cbc/src/CbcModel.hpp

    r2365 r2373  
    451451    */
    452452    void flipModel();
    453 
     453    /**
     454       Clean model i.e. make SOS/integer variables exactly at bound if needed.
     455       Only if moreSpecialOptions2_ 15 bit set (32768) as there is a small
     456       overhead (more2 in standalone cbc).
     457       Fine tuning can be done in configure with -DCLEAN_INTEGER_VARIABLES
     458       and -DZERO_ODD_TOLERANCE=1.0e-nn
     459       If CLEAN_INTEGER_VARIABLES not defined then cleaning is only done for
     460       SOS variables.
     461       If ZERO_ODD_TOLERANCE not defined then 1.0e-14 used.  You can define as
     462       0.0 if you are paranoid.
     463       Returns number of variables forced out
     464       cleanVariables array will be used if exists
     465     */
     466     int cleanBounds(OsiSolverInterface * solver, char * cleanVariables);
     467     /// Sets up cleanVariables array (i.e. ones to be careful about)
     468     char * setupCleanVariables();
    454469    //@}
    455470
     
    18781893        11/12 bit 2048 - intermittent cuts
    18791894        13/14 bit 8192 - go to bitter end in strong branching (first time)
     1895        15 bit 32768 - take care of very very small values for Integer/SOS variables
    18801896    */
    18811897    inline void setMoreSpecialOptions2(int value) {
Note: See TracChangeset for help on using the changeset viewer.