Changeset 1552


Ignore:
Timestamp:
Dec 13, 2010 1:06:04 PM (9 years ago)
Author:
forrest
Message:

add first attempt at parametrics

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Cbc/src/CbcSolver.cpp

    r1539 r1552  
    79017901                        CbcOrClpEnvironmentIndex = 0;
    79027902                        break;
     7903                    case CLP_PARAM_ACTION_PARAMETRICS:
     7904                          if (goodModel) {
     7905                               // get next field
     7906                               field = CoinReadGetString(argc, argv);
     7907                               if (field == "$") {
     7908                                    field = parameters[iParam].stringValue();
     7909                               } else if (field == "EOL") {
     7910                                    parameters[iParam].printString();
     7911                                    break;
     7912                               } else {
     7913                                    parameters[iParam].setStringValue(field);
     7914                               }
     7915                               std::string fileName;
     7916                               //bool canOpen = false;
     7917                               if (field[0] == '/' || field[0] == '\\') {
     7918                                    fileName = field;
     7919                               } else if (field[0] == '~') {
     7920                                    char * environVar = getenv("HOME");
     7921                                    if (environVar) {
     7922                                         std::string home(environVar);
     7923                                         field = field.erase(0, 1);
     7924                                         fileName = home + field;
     7925                                    } else {
     7926                                         fileName = field;
     7927                                    }
     7928                               } else {
     7929                                    fileName = directory + field;
     7930                               }
     7931                               static_cast<ClpSimplexOther *> (lpSolver)->parametrics(fileName.c_str());
     7932                               time2 = CoinCpuTime();
     7933                               totalTime += time2 - time1;
     7934                               time1 = time2;
     7935                          } else {
     7936                               std::cout << "** Current model not valid" << std::endl;
     7937                          }
     7938                          break;
    79037939                    default:
    79047940                        abort();
Note: See TracChangeset for help on using the changeset viewer.