Changeset 1267
- Timestamp:
- Sep 5, 2008 11:25:55 AM (12 years ago)
- Location:
- trunk/Clp/src
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Clp/src/CbcOrClpParam.cpp
r1266 r1267 2267 2267 "By default clp uses Forrest-Tomlin L-U update. If you are masochistic you can switch it off." 2268 2268 ); 2269 #endif 2270 #ifdef COIN_HAS_CBC 2271 parameters[numberParameters++]= 2272 CbcOrClpParam("pivot!AndFix","Whether to try Pivot and Fix heuristic", 2273 "off",PIVOTANDFIX); 2274 parameters[numberParameters-1].append("on"); 2275 parameters[numberParameters-1].append("do"); 2276 parameters[numberParameters-1].setLonghelp 2277 ( 2278 "stuff needed." 2279 ); 2280 #endif 2281 #ifdef COIN_HAS_CLP 2269 2282 parameters[numberParameters++]= 2270 2283 CbcOrClpParam("plus!Minus","Tries to make +- 1 matrix", … … 2468 2481 ); 2469 2482 #ifdef COIN_HAS_CBC 2483 parameters[numberParameters++]= 2484 CbcOrClpParam("rand!omizedRounding","Whether to try randomized rounding heuristic", 2485 "off",RANDROUND); 2486 parameters[numberParameters-1].append("on"); 2487 parameters[numberParameters-1].append("do"); 2488 parameters[numberParameters-1].setLonghelp 2489 ( 2490 "stuff needed." 2491 ); 2470 2492 parameters[numberParameters++]= 2471 2493 CbcOrClpParam("ratio!Gap","Stop when gap between best possible and \ -
trunk/Clp/src/CbcOrClpParam.hpp
r1266 r1267 80 80 TWOMIRCUTS,PREPROCESS,FPUMP,GREEDY,COMBINE,LOCALTREE,SOS, 81 81 LANDPCUTS,RINS,RESIDCUTS,RENS,DIVINGS,DIVINGC,DIVINGF,DIVINGG,DIVINGL, 82 DIVINGP,DIVINGV,DINS, 82 DIVINGP,DIVINGV,DINS,PIVOTANDFIX,RANDROUND, 83 83 84 84 DIRECTORY=301,DIRSAMPLE,DIRNETLIB,DIRMIPLIB,IMPORT,EXPORT,RESTORE,SAVE,DUALSIMPLEX,PRIMALSIMPLEX,EITHERSIMPLEX, -
trunk/Clp/src/ClpModel.cpp
r1266 r1267 73 73 integerType_(NULL), 74 74 userPointer_(NULL), 75 trustedUserPointer_(NULL), 75 76 numberIterations_(0), 76 77 solveType_(0), … … 755 756 numberColumns_ = rhs.numberColumns_; 756 757 userPointer_ = rhs.userPointer_; 758 trustedUserPointer_ = rhs.trustedUserPointer_; 757 759 scalingFlag_ = rhs.scalingFlag_; 758 760 specialOptions_ = rhs.specialOptions_; … … 3152 3154 numberColumns_ = numberColumns; 3153 3155 userPointer_ = rhs->userPointer_; 3156 trustedUserPointer_ = rhs->trustedUserPointer_; 3154 3157 numberThreads_=0; 3155 3158 #ifndef CLP_NO_STD -
trunk/Clp/src/ClpModel.hpp
r1205 r1267 653 653 inline void * getUserPointer () const 654 654 { return userPointer_;} 655 /// Trusted user pointer 656 inline void setTrustedUserPointer (ClpTrustedData * pointer) 657 { trustedUserPointer_=pointer;} 658 inline ClpTrustedData * getTrustedUserPointer () const 659 { return trustedUserPointer_;} 655 660 /// What has changed in model (only for masochistic users) 656 661 inline int whatsChanged() const … … 975 980 /// User pointer for whatever reason 976 981 void * userPointer_; 982 /// Trusted user pointer e.g. for heuristics 983 ClpTrustedData * trustedUserPointer_; 977 984 /// Array of integer parameters 978 985 int intParam_[ClpLastIntParam]; -
trunk/Clp/src/ClpParameters.hpp
r1015 r1267 114 114 } 115 115 } 116 /// For a structure to be used by trusted code 117 typedef struct { 118 int typeStruct; // allocated as 1,2 etc 119 int typeCall; 120 void * data; 121 } ClpTrustedData; 116 122 #endif -
trunk/Clp/src/ClpSimplex.cpp
r1266 r1267 1696 1696 handler_->message()<<CoinMessageEol; 1697 1697 } 1698 #ifdef COIN_FACTORIZATION_INFO 1699 #define COMPUTE_INT_INFEAS 1700 #endif 1701 #ifdef COMPUTE_INT_INFEAS 1702 if (userPointer_) { 1698 if (trustedUserPointer_&&trustedUserPointer_->typeStruct==1) { 1703 1699 if (algorithm_>0&&integerType_&&!nonLinearCost_->numberInfeasibilities()) { 1704 1700 if (fabs(theta_)>1.0e-6||!numberIterations_) { … … 1711 1707 int * numberUnsatisfied; 1712 1708 } clpSolution; 1713 clpSolution * solution = (clpSolution *) userPointer_;1709 clpSolution * solution = (clpSolution *) trustedUserPointer_->data; 1714 1710 if (solution->numberSolutions==solution->maximumSolutions) { 1715 1711 int n = solution->maximumSolutions; … … 1773 1769 } 1774 1770 } 1775 #endif1776 1771 if (hitMaximumIterations()) 1777 1772 return 2;
Note: See TracChangeset
for help on using the changeset viewer.