Changeset 1532 for stable/1.11/Clp


Ignore:
Timestamp:
Mar 23, 2010 10:36:16 AM (9 years ago)
Author:
forrest
Message:

make it easier to play with alternative solutions

Location:
stable/1.11/Clp/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • stable/1.11/Clp/src/ClpEventHandler.hpp

    r1458 r1532  
    3737    treeStatus, // for Cbc
    3838    solution, // for Cbc
    39     theta // hit in parametrics
     39    theta, // hit in parametrics
     40    pivotRow // used to choose pivot row
    4041  };
    4142  /**@name Virtual method that the derived classe should provide.
  • stable/1.11/Clp/src/ClpSimplex.hpp

    r1461 r1532  
    595595  inline CoinIndexedVector * columnArray(int index) const
    596596  { return columnArray_[index];}
     597  /// Sets firstFree_
     598  inline void setFirstFree(int value)
     599  { firstFree_=value;}
    597600  //@}
    598601
     
    618621                   const double * lower, const double * gradient);
    619622  /// dual row pivot choice
    620   ClpDualRowPivot * dualRowPivot() const
     623  inline ClpDualRowPivot * dualRowPivot() const
    621624  { return dualRowPivot_;}
     625  /// primal column pivot choice
     626  inline ClpPrimalColumnPivot * primalColumnPivot() const
     627  { return primalColumnPivot_;}
    622628  /// Returns true if model looks OK
    623629  inline bool goodAccuracy() const
     
    893899  inline double valueOut() const
    894900  { return valueOut_;}
     901  /// Set value of out variable
     902  inline void setValueOut(double value)
     903  { valueOut_=value;}
     904  /// Set lower of out variable
     905  inline void setLowerOut(double value)
     906  { lowerOut_=value;}
     907  /// Set upper of out variable
     908  inline void setUpperOut(double value)
     909  { upperOut_=value;}
     910  /// Set theta of out variable
     911  inline void setTheta(double value)
     912  { theta_=value;}
    895913  /// Returns 1 if sequence indicates column
    896914  inline int isColumn(int sequence) const
     
    952970      128 bit - no objective, 0-1 and in B&B
    953971      256 bit - in primal from dual or vice versa
     972      512 bit - alternative use of solveType_
    954973  */
    955974  inline int moreSpecialOptions() const
     
    965984      128 bit - no objective, 0-1 and in B&B
    966985      256 bit - in primal from dual or vice versa
     986      512 bit - alternative use of solveType_
    967987  */
    968988  inline void setMoreSpecialOptions(int value)
  • stable/1.11/Clp/src/ClpSimplexPrimal.cpp

    r1498 r1532  
    755755        int factorStatus = internalFactorize(1);
    756756        if (factorStatus) {
    757           if (solveType_==2+8) {
     757          if (solveType_==2) {
    758758            // say odd
    759759            problemStatus_=5;
     
    27552755    matrix_->extendUpdated(this,rowArray_[1],0);
    27562756    // do ratio test and re-compute dj
    2757     primalRow(rowArray_[1],rowArray_[3],rowArray_[2],
    2758               ifValuesPass);
     2757#ifdef CLP_USER_DRIVEN
     2758    if (solveType_!=2||(moreSpecialOptions_&512)==0) {
     2759#endif
     2760      primalRow(rowArray_[1],rowArray_[3],rowArray_[2],
     2761                ifValuesPass);
     2762#ifdef CLP_USER_DRIVEN
     2763    } else {
     2764      int status = eventHandler_->event(ClpEventHandler::pivotRow);
     2765      if (status>=0) {
     2766        problemStatus_=5;
     2767        secondaryStatus_=ClpEventHandler::pivotRow;
     2768        break;
     2769      }
     2770    }
     2771#endif
    27592772    if (ifValuesPass) {
    27602773      saveDj=dualIn_;
     
    28472860    }
    28482861    if (pivotRow_>=0) {
    2849       if (solveType_==2) {
     2862      if (solveType_==2&&(moreSpecialOptions_&512)==0) {
    28502863        // **** Coding for user interface
    28512864        // do ray
     
    29252938          clearAll();
    29262939          pivotRow_=-1;
    2927           if (solveType_==1) {
     2940          if (solveType_==1||(moreSpecialOptions_&512)!=0) {
    29282941            returnCode=-4;
    29292942            break;
     
    29862999          // do ray
    29873000          primalRay(rowArray_[1]);
    2988         } else if (solveType_==2) {
     3001        } else if (solveType_==2&&(moreSpecialOptions_&512)==0) {
    29893002          // refactorize
    29903003          int lastCleaned=0;
     
    30933106    }
    30943107  }
    3095   if (solveType_==2&&(returnCode == -2||returnCode==-3)) {
     3108  if ((solveType_==2&&(moreSpecialOptions_&512)==0)&&
     3109      (returnCode == -2||returnCode==-3)) {
    30963110    // refactorize here
    30973111    int lastCleaned=0;
Note: See TracChangeset for help on using the changeset viewer.