Changeset 1584 for trunk/Clp


Ignore:
Timestamp:
Jul 30, 2010 2:42:08 PM (9 years ago)
Author:
lou
Message:

Change signature of getDualRays from (int) to (int,bool) to allow choice of
partial (row components) or full (row and column components) dual ray. Matches
Osi trunk revision 1551.

Location:
trunk/Clp/src/OsiClp
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Clp/src/OsiClp/OsiClpSolverInterface.cpp

    r1559 r1584  
    27912791
    27922792//------------------------------------------------------------------
    2793 std::vector<double*> OsiClpSolverInterface::getDualRays(int /*maxNumRays*/) const
    2794 {
     2793std::vector<double*> OsiClpSolverInterface::getDualRays(int maxNumRays,
     2794                                                        bool fullRay) const
     2795{
     2796  if (fullRay == true) {
     2797    throw CoinError("Full dual rays not yet implemented.","getDualRays",
     2798                    "OsiClpSolverInterface");
     2799  }
    27952800  return std::vector<double*>(1, modelPtr_->infeasibilityRay());
    27962801}
  • trunk/Clp/src/OsiClp/OsiClpSolverInterface.hpp

    r1559 r1584  
    503503  /** Get as many dual rays as the solver can provide. (In case of proven
    504504      primal infeasibility there should be at least one.)
    505      
     505
     506      The first getNumRows() ray components will always be associated with
     507      the row duals (as returned by getRowPrice()). If \c fullRay is true,
     508      the final getNumCols() entries will correspond to the ray components
     509      associated with the nonbasic variables. If the full ray is requested
     510      and the method cannot provide it, it will throw an exception.
     511
    506512      <strong>NOTE for implementers of solver interfaces:</strong> <br>
    507513      The double pointers in the vector should point to arrays of length
     
    512518      vector using delete[].
    513519  */
    514   virtual std::vector<double*> getDualRays(int maxNumRays) const;
     520  virtual std::vector<double*> getDualRays(int maxNumRays,
     521                                           bool fullRay = false) const;
    515522  /** Get as many primal rays as the solver can provide. (In case of proven
    516523      dual infeasibility there should be at least one.)
Note: See TracChangeset for help on using the changeset viewer.