- Timestamp:
- Sep 1, 2014 3:05:48 AM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
stable/2.8/Cbc/src/CbcSolver.cpp
r2057 r2068 1289 1289 return CbcMain1(argc,argv,model,callBack,staticParameterData); 1290 1290 } 1291 #ifdef GENERAL_HANDLER_PRINTING 1292 static void printGeneralMessage(CbcModel &model,const char * message); 1293 #endif 1291 1294 /* 1292 1295 Meaning of whereFrom: … … 1308 1311 bool noPrinting = parameterData.noPrinting_; 1309 1312 bool useSignalHandler = parameterData.useSignalHandler_; 1313 #ifdef GENERAL_HANDLER_PRINTING 1314 //char printByHandler[1000]; 1315 #endif 1310 1316 CbcModel & model_ = model; 1311 1317 #ifdef CBC_THREAD_SAFE … … 3047 3053 } else { 3048 3054 #ifndef DISALLOW_PRINTING 3049 std::cout << "** Current model not valid" << std::endl; 3055 #ifdef GENERAL_HANDLER_PRINTING 3056 sprintf(generalPrint, "** Current model not valid"); 3057 printGeneralMessage(model_,generalPrint); 3058 #else 3059 std::cout << "** Current model not valid" << std::endl; 3060 #endif 3050 3061 #endif 3051 3062 } … … 3085 3096 } else { 3086 3097 #ifndef DISALLOW_PRINTING 3087 std::cout << "** Current model not valid" << std::endl; 3098 #ifdef GENERAL_HANDLER_PRINTING 3099 sprintf(generalPrint, "** Current model not valid"); 3100 printGeneralMessage(model_,generalPrint); 3101 #else 3102 std::cout << "** Current model not valid" << std::endl; 3103 #endif 3088 3104 #endif 3089 3105 } … … 3092 3108 if (goodModel) { 3093 3109 int numberInfeasibilities = lpSolver->tightenPrimalBounds(); 3094 if (numberInfeasibilities) 3095 std::cout << "** Analysis indicates model infeasible" << std::endl; 3110 if (numberInfeasibilities) { 3111 #ifdef GENERAL_HANDLER_PRINTING 3112 sprintf(generalPrint,"** Analysis indicates model infeasible"); 3113 printGeneralMessage(model_,generalPrint); 3114 #else 3115 std::cout << "** Analysis indicates model infeasible" << std::endl; 3116 #endif 3117 } 3096 3118 } else { 3097 3119 #ifndef DISALLOW_PRINTING 3098 std::cout << "** Current model not valid" << std::endl; 3120 #ifdef GENERAL_HANDLER_PRINTING 3121 sprintf(generalPrint, "** Current model not valid"); 3122 printGeneralMessage(model_,generalPrint); 3123 #else 3124 std::cout << "** Current model not valid" << std::endl; 3125 #endif 3099 3126 #endif 3100 3127 } … … 3110 3137 lpSolver->replaceMatrix(newMatrix); 3111 3138 delete saveMatrix; 3139 #ifdef GENERAL_HANDLER_PRINTING 3140 sprintf(generalPrint, "Matrix converted to +- one matrix"); 3141 printGeneralMessage(model_,generalPrint); 3142 #else 3112 3143 std::cout << "Matrix converted to +- one matrix" << std::endl; 3144 #endif 3113 3145 } else { 3146 #ifdef GENERAL_HANDLER_PRINTING 3147 sprintf(generalPrint, "Matrix can not be converted to +- 1 matrix"); 3148 printGeneralMessage(model_,generalPrint); 3149 #else 3114 3150 std::cout << "Matrix can not be converted to +- 1 matrix" << std::endl; 3151 #endif 3115 3152 } 3116 3153 } else { 3154 #ifdef GENERAL_HANDLER_PRINTING 3155 sprintf(generalPrint, "Matrix not a ClpPackedMatrix"); 3156 printGeneralMessage(model_,generalPrint); 3157 #else 3117 3158 std::cout << "Matrix not a ClpPackedMatrix" << std::endl; 3159 #endif 3118 3160 } 3119 3161 } else { 3120 3162 #ifndef DISALLOW_PRINTING 3163 #ifdef GENERAL_HANDLER_PRINTING 3164 sprintf(generalPrint, "** Current model not valid"); 3165 printGeneralMessage(model_,generalPrint); 3166 #else 3121 3167 std::cout << "** Current model not valid" << std::endl; 3168 #endif 3122 3169 #endif 3123 3170 } … … 3139 3186 } else { 3140 3187 #ifndef DISALLOW_PRINTING 3188 #ifdef GENERAL_HANDLER_PRINTING 3189 sprintf(generalPrint, "** Current model not valid"); 3190 printGeneralMessage(model_,generalPrint); 3191 #else 3141 3192 std::cout << "** Current model not valid" << std::endl; 3193 #endif 3142 3194 #endif 3143 3195 } … … 3154 3206 lpSolver->replaceMatrix(newMatrix); 3155 3207 delete saveMatrix; 3208 #ifdef GENERAL_HANDLER_PRINTING 3209 sprintf(generalPrint, "Matrix converted to network matrix"); 3210 printGeneralMessage(model_,generalPrint); 3211 #else 3156 3212 std::cout << "Matrix converted to network matrix" << std::endl; 3213 #endif 3157 3214 } else { 3215 #ifdef GENERAL_HANDLER_PRINTING 3216 sprintf(generalPrint, "Matrix can not be converted to network matrix"); 3217 printGeneralMessage(model_,generalPrint); 3218 #else 3158 3219 std::cout << "Matrix can not be converted to network matrix" << std::endl; 3220 #endif 3159 3221 } 3160 3222 } else { 3223 #ifdef GENERAL_HANDLER_PRINTING 3224 sprintf(generalPrint, "Matrix not a ClpPackedMatrix"); 3225 printGeneralMessage(model_,generalPrint); 3226 #else 3161 3227 std::cout << "Matrix not a ClpPackedMatrix" << std::endl; 3228 #endif 3162 3229 } 3163 3230 } else { 3164 3231 #ifndef DISALLOW_PRINTING 3232 #ifdef GENERAL_HANDLER_PRINTING 3233 sprintf(generalPrint, "** Current model not valid"); 3234 printGeneralMessage(model_,generalPrint); 3235 #else 3165 3236 std::cout << "** Current model not valid" << std::endl; 3237 #endif 3166 3238 #endif 3167 3239 } … … 3452 3524 if (clpModel->tightenPrimalBounds() != 0) { 3453 3525 #ifndef DISALLOW_PRINTING 3526 #ifdef GENERAL_HANDLER_PRINTING 3527 sprintf(generalPrint, "Problem is infeasible - tightenPrimalBounds!"); 3528 printGeneralMessage(model_,generalPrint); 3529 #else 3454 3530 std::cout << "Problem is infeasible - tightenPrimalBounds!" << std::endl; 3531 #endif 3455 3532 #endif 3456 3533 break; … … 3624 3701 if (!complicatedInteger && preProcess == 0 && clpSolver->tightenPrimalBounds(0.0, 0, true) != 0) { 3625 3702 #ifndef DISALLOW_PRINTING 3703 #ifdef GENERAL_HANDLER_PRINTING 3704 sprintf(generalPrint, "Problem is infeasible - tightenPrimalBounds!"); 3705 printGeneralMessage(model_,generalPrint); 3706 #else 3626 3707 std::cout << "Problem is infeasible - tightenPrimalBounds!" << std::endl; 3708 #endif 3627 3709 #endif 3628 3710 model_.setProblemStatus(0); … … 3729 3811 if (modelC->tightenPrimalBounds(tightenFactor) != 0) { 3730 3812 #ifndef DISALLOW_PRINTING 3813 #ifdef GENERAL_HANDLER_PRINTING 3814 sprintf(generalPrint, "Problem is infeasible!"); 3815 printGeneralMessage(model_,generalPrint); 3816 #else 3731 3817 std::cout << "Problem is infeasible!" << std::endl; 3818 #endif 3732 3819 #endif 3733 3820 model_.setProblemStatus(0); … … 4383 4470 if (!complicatedInteger && modelC->tightenPrimalBounds() != 0) { 4384 4471 #ifndef DISALLOW_PRINTING 4472 #ifdef GENERAL_HANDLER_PRINTING 4473 sprintf(generalPrint, "Problem is infeasible!"); 4474 printGeneralMessage(model_,generalPrint); 4475 #else 4385 4476 std::cout << "Problem is infeasible!" << std::endl; 4477 #endif 4386 4478 #endif 4387 4479 model_.setProblemStatus(0); … … 7068 7160 #endif 7069 7161 } else { 7162 #ifdef GENERAL_HANDLER_PRINTING 7163 sprintf(generalPrint, "Model strengthened - now has %d rows", 7164 clpSolver->getNumRows()); 7165 printGeneralMessage(model_,generalPrint); 7166 #else 7070 7167 std::cout << "Model strengthened - now has " << clpSolver->getNumRows() 7071 7168 << " rows" << std::endl; 7169 #endif 7072 7170 } 7073 7171 time1 = time2; … … 7086 7184 } else { 7087 7185 #ifndef DISALLOW_PRINTING 7186 #ifdef GENERAL_HANDLER_PRINTING 7187 sprintf(generalPrint, "** Current model not valid"); 7188 printGeneralMessage(model_,generalPrint); 7189 #else 7088 7190 std::cout << "** Current model not valid" << std::endl ; 7191 #endif 7089 7192 #endif 7090 7193 } … … 7214 7317 } else { 7215 7318 canOpen = false; 7319 #ifdef GENERAL_HANDLER_PRINTING 7320 sprintf(generalPrint, "Unable to open file %s",gmplData.c_str()); 7321 printGeneralMessage(model_,generalPrint); 7322 #else 7216 7323 std::cout << "Unable to open file " << gmplData << std::endl; 7324 #endif 7217 7325 } 7218 7326 } 7219 7327 } else { 7328 #ifdef GENERAL_HANDLER_PRINTING 7329 sprintf(generalPrint, "Unable to open file %s",fileName.c_str()); 7330 printGeneralMessage(model_,generalPrint); 7331 #else 7220 7332 std::cout << "Unable to open file " << fileName << std::endl; 7333 #endif 7221 7334 } 7222 7335 } … … 7285 7398 } else { 7286 7399 // errors 7400 #ifdef GENERAL_HANDLER_PRINTING 7401 sprintf(generalPrint, "There were %d errors on input",status); 7402 printGeneralMessage(model_,generalPrint); 7403 #else 7287 7404 std::cout << "There were " << status << 7288 7405 " errors on input" << std::endl; 7406 #endif 7289 7407 } 7290 7408 } … … 7343 7461 canOpen = true; 7344 7462 } else { 7463 #ifdef GENERAL_HANDLER_PRINTING 7464 sprintf(generalPrint, "Unable to open file %s",fileName.c_str()); 7465 printGeneralMessage(model_,generalPrint); 7466 #else 7345 7467 std::cout << "Unable to open file " << fileName << std::endl; 7468 #endif 7346 7469 } 7347 7470 } … … 7412 7535 canOpen = true; 7413 7536 } else { 7537 #ifdef GENERAL_HANDLER_PRINTING 7538 sprintf(generalPrint, "Unable to open file %s",fileName.c_str()); 7539 printGeneralMessage(model_,generalPrint); 7540 #else 7414 7541 std::cout << "Unable to open file " << fileName << std::endl; 7542 #endif 7415 7543 } 7416 7544 if (canOpen) { … … 7519 7647 } else { 7520 7648 #ifndef DISALLOW_PRINTING 7649 #ifdef GENERAL_HANDLER_PRINTING 7650 sprintf(generalPrint, "** Current model not valid"); 7651 printGeneralMessage(model_,generalPrint); 7652 #else 7521 7653 std::cout << "** Current model not valid" << std::endl; 7654 #endif 7522 7655 #endif 7523 7656 } … … 7562 7695 canOpen = true; 7563 7696 } else { 7697 #ifdef GENERAL_HANDLER_PRINTING 7698 sprintf(generalPrint, "Unable to open file %s",fileName.c_str()); 7699 printGeneralMessage(model_,generalPrint); 7700 #else 7564 7701 std::cout << "Unable to open file " << fileName << std::endl; 7702 #endif 7565 7703 } 7566 7704 } … … 7578 7716 } else { 7579 7717 #ifndef DISALLOW_PRINTING 7718 #ifdef GENERAL_HANDLER_PRINTING 7719 sprintf(generalPrint, "** Current model not valid"); 7720 printGeneralMessage(model_,generalPrint); 7721 #else 7580 7722 std::cout << "** Current model not valid" << std::endl; 7723 #endif 7581 7724 #endif 7582 7725 } … … 7873 8016 fclose(fp); 7874 8017 } else { 8018 #ifdef GENERAL_HANDLER_PRINTING 8019 sprintf(generalPrint, "Unable to open file %s",fileName.c_str()); 8020 printGeneralMessage(model_,generalPrint); 8021 #else 7875 8022 std::cout << "Unable to open file " << fileName << std::endl; 8023 #endif 7876 8024 } 7877 8025 } else { 7878 8026 #ifndef DISALLOW_PRINTING 8027 #ifdef GENERAL_HANDLER_PRINTING 8028 sprintf(generalPrint, "** Current model not valid"); 8029 printGeneralMessage(model_,generalPrint); 8030 #else 7879 8031 std::cout << "** Current model not valid" << std::endl; 8032 #endif 7880 8033 #endif 7881 8034 } … … 7924 8077 } else { 7925 8078 #ifndef DISALLOW_PRINTING 8079 #ifdef GENERAL_HANDLER_PRINTING 8080 sprintf(generalPrint, "** Current model not valid"); 8081 printGeneralMessage(model_,generalPrint); 8082 #else 7926 8083 std::cout << "** Current model not valid" << std::endl; 8084 #endif 7927 8085 #endif 7928 8086 } … … 8001 8159 fclose(fp); 8002 8160 } else { 8161 #ifdef GENERAL_HANDLER_PRINTING 8162 sprintf(generalPrint, "Unable to open file %s",fileName.c_str()); 8163 printGeneralMessage(model_,generalPrint); 8164 #else 8003 8165 std::cout << "Unable to open file " << fileName << std::endl; 8166 #endif 8004 8167 } 8005 8168 } else { 8006 8169 #ifndef DISALLOW_PRINTING 8170 #ifdef GENERAL_HANDLER_PRINTING 8171 sprintf(generalPrint, "** Current model not valid"); 8172 printGeneralMessage(model_,generalPrint); 8173 #else 8007 8174 std::cout << "** Current model not valid" << std::endl; 8175 #endif 8008 8176 #endif 8009 8177 } … … 8055 8223 canOpen = true; 8056 8224 } else { 8225 #ifdef GENERAL_HANDLER_PRINTING 8226 sprintf(generalPrint, "Unable to open file %s",fileName.c_str()); 8227 printGeneralMessage(model_,generalPrint); 8228 #else 8057 8229 std::cout << "Unable to open file " << fileName << std::endl; 8230 #endif 8058 8231 } 8059 8232 if (canOpen) { … … 8066 8239 } else { 8067 8240 #ifndef DISALLOW_PRINTING 8241 #ifdef GENERAL_HANDLER_PRINTING 8242 sprintf(generalPrint, "** Current model not valid"); 8243 printGeneralMessage(model_,generalPrint); 8244 #else 8068 8245 std::cout << "** Current model not valid" << std::endl; 8246 #endif 8069 8247 #endif 8070 8248 } … … 8103 8281 canOpen = true; 8104 8282 } else { 8283 #ifdef GENERAL_HANDLER_PRINTING 8284 sprintf(generalPrint, "Unable to open file %s",fileName.c_str()); 8285 printGeneralMessage(model_,generalPrint); 8286 #else 8105 8287 std::cout << "Unable to open file " << fileName << std::endl; 8288 #endif 8106 8289 } 8107 8290 if (canOpen) { … … 8142 8325 } else { 8143 8326 // errors 8327 #ifdef GENERAL_HANDLER_PRINTING 8328 sprintf(generalPrint, "There were errors on output"); 8329 printGeneralMessage(model_,generalPrint); 8330 #else 8144 8331 std::cout << "There were errors on output" << std::endl; 8332 #endif 8145 8333 } 8146 8334 } … … 8180 8368 canOpen = true; 8181 8369 } else { 8370 #ifdef GENERAL_HANDLER_PRINTING 8371 sprintf(generalPrint, "Unable to open file %s",fileName.c_str()); 8372 printGeneralMessage(model_,generalPrint); 8373 #else 8182 8374 std::cout << "Unable to open file " << fileName << std::endl; 8375 #endif 8183 8376 } 8184 8377 if (canOpen) { … … 8191 8384 } else { 8192 8385 // errors 8386 #ifdef GENERAL_HANDLER_PRINTING 8387 sprintf(generalPrint, "There were errors on input"); 8388 printGeneralMessage(model_,generalPrint); 8389 #else 8193 8390 std::cout << "There were errors on input" << std::endl; 8391 #endif 8194 8392 } 8195 8393 } … … 8308 8506 double value = CoinReadGetDoubleField(argc, argv, &valid); 8309 8507 if (!valid) { 8508 #ifdef GENERAL_HANDLER_PRINTING 8509 sprintf(generalPrint, "Setting %s to DEBUG %g",parameters_[iParam].name().c_str(),value); 8510 printGeneralMessage(model_,generalPrint); 8511 #else 8310 8512 std::cout << "Setting " << parameters_[iParam].name() << 8311 8513 " to DEBUG " << value << std::endl; 8514 #endif 8312 8515 int iRow; 8313 8516 int numberRows = lpSolver->numberRows(); … … 8546 8749 fclose(fp); 8547 8750 } else { 8751 #ifdef GENERAL_HANDLER_PRINTING 8752 sprintf(generalPrint, "Unable to open file %s",fileName.c_str()); 8753 printGeneralMessage(model_,generalPrint); 8754 #else 8548 8755 std::cout << "Unable to open file " << fileName << std::endl; 8756 #endif 8549 8757 } 8550 8758 } … … 9224 9432 } 9225 9433 } else { 9434 #ifdef GENERAL_HANDLER_PRINTING 9435 sprintf(generalPrint, "Unable to open file %s",fileName.c_str()); 9436 printGeneralMessage(model_,generalPrint); 9437 #else 9226 9438 std::cout << "Unable to open file " << fileName << std::endl; 9439 #endif 9227 9440 } 9228 9441 } else { 9229 9442 #ifndef DISALLOW_PRINTING 9443 #ifdef GENERAL_HANDLER_PRINTING 9444 sprintf(generalPrint, "** Current model not valid"); 9445 printGeneralMessage(model_,generalPrint); 9446 #else 9230 9447 std::cout << "** Current model not valid" << std::endl; 9448 #endif 9231 9449 #endif 9232 9450 } … … 9262 9480 } else { 9263 9481 #ifndef DISALLOW_PRINTING 9482 #ifdef GENERAL_HANDLER_PRINTING 9483 sprintf(generalPrint, "** Current model not valid"); 9484 printGeneralMessage(model_,generalPrint); 9485 #else 9264 9486 std::cout << "** Current model not valid" << std::endl; 9487 #endif 9265 9488 #endif 9266 9489 } … … 9304 9527 time1 = time2; 9305 9528 } else { 9529 #ifdef GENERAL_HANDLER_PRINTING 9530 sprintf(generalPrint, "** Current model not valid"); 9531 printGeneralMessage(model_,generalPrint); 9532 #else 9306 9533 std::cout << "** Current model not valid" << std::endl; 9534 #endif 9307 9535 } 9308 9536 break; … … 10098 10326 printf("C++ file written to %s\n", fileName); 10099 10327 } 10328 #ifdef GENERAL_HANDLER_PRINTING 10329 // Print a general message 10330 static void printGeneralMessage(CbcModel &model,const char * message) 10331 { 10332 model.messageHandler()->message(CBC_FPUMP1, model.messages()) 10333 << message 10334 << CoinMessageEol; 10335 } 10336 #endif 10100 10337 /* 10101 10338 Version 1.00.00 November 16 2005.
Note: See TracChangeset
for help on using the changeset viewer.