All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages 
spxsolver.h   
Go to the documentation of this file. 
   36 #define SPARSITYTHRESHOLD        0.5      /**< percentage of basic infeasibilities that is considered sparse */ 
   38 #define SPARSITY_TRADEOFF        0.8      /**< threshold to decide whether slack or structural variables enter the basis 
  178       UNDEFINED      ///< nothing known about basis status (possibly due to a singular basis in transformed problem) 
  179    }; 
  204    }; 
  235    Vector*        solveVector3;      ///< when 3 systems are to be solved at a time; typically reserved for bound flipping ratio test (basic solution will be modified!) 
  236    SSVector*      solveVector3rhs;   ///< when 3 systems are to be solved at a time; typically reserved for bound flipping ratio test (basic solution will be modified!) 
  324    /** For the leaving Simplex algorithm this vector contains the indices of infeasible basic variables; 
  325     *  for the entering Simplex algorithm this vector contains the indices of infeasible slack variables. 
  328    /**For the entering Simplex algorithm these vectors contains the indices of infeasible basic variables. 
  336    Array<bool> isInfeasible;           ///< belongs to \ref soplex::SPxSolver::infeasibilities "infeasibilities" in the leaving and entering Simplex 
  337    Array<bool> isInfeasibleCo;         ///< belongs to \ref soplex::SPxSolver::infeasibilitiesCo "infeasibilitiesCo" in the entering Simplex 
  341    bool     sparsePricingEnter;        ///< true if sparsePricing is turned on in the entering Simplex for slack variables 
  344    int      remainingRoundsLeave;      ///< number of dense rounds/refactorizations until sparsePricing is enabled again 
  348    int      sparsityThresholdLeave;    ///< maximum number of infeasibilities that is considered sparse for leaving Simplex 
  349    int      sparsityThresholdEnter;    ///< maximum number of infeasibilities that is considered sparse for entering Simplex (dim) 
  350    int      sparsityThresholdEnterCo;  ///< maximum number of infeasibilities that is considered sparse for entering Simplex (coDim) 
  359    } 
  364    } 
  369    } 
  375    } 
  381    } 
  387    } 
  428    /// setup linear solver to use. If \p destroy is true, \p slusolver will be freed in destructor. 
  434    /// setup starting basis generator to use. If \p destroy is true, \p starter will be freed in destructor. 
  443    /// set \ref soplex::SPxSolver::LEAVE "LEAVE" or \ref soplex::SPxSolver::ENTER "ENTER" algorithm. 
  445    /// set \ref soplex::SPxSolver::FULL "FULL" or \ref soplex::SPxSolver::PARTIAL "PARTIAL" pricing. 
  469     *  LP is written in MPS format to "\p filename".mps, basis is written in "\p filename".bas, and parameters 
  470     *  are written to "\p filename".set. If \p rowNames and \p colNames are \c NULL, default names are used for 
  614    } 
  645    /// guaranteed primal and dual bound violation for optimal solution, returning the maximum of feastol() and opttol(), i.e., the less tight tolerance. 
  653    /// iterative refinement threshold: if feastol() or opttol() are below this value, iterative refinement is applied. 
  683    } 
  688    } 
  709    /// apply iterative refinement until irfeastol and iropttol are reached or modified problem is not solved to 
  762    } 
  771    } 
  780    } 
  799    } 
  808    } 
  825    } 
  832    } 
  852    } 
  857    } 
  875       { 
  894       { 
  912    } 
  921    } 
  934    } 
  978    } 
 1013    } 
 1028    } 
 1034    } 
 1040    } 
 1055    } 
 1061    } 
 1067    } 
 1073    } 
 1079    } 
 1085    } 
 1100    } 
 1113    } 
 1118    } 
 1131    } 
 1136    } 
 1149    } 
 1175    } 
 1188    } 
 1255    } 
 1315    /// compute and return \ref soplex::SPxSolver::test() "test()"[i] in \ref soplex::SPxSolver::ENTER "ENTER"ing Simplex. 
 1398    } 
 1514    } 
 1519    } 
 1524    } 
 1529    } 
 1534    } 
 1603    } 
 1608    } 
 1740    } 
 1776    } 
 1795    } 
 1801    } 
 1807    } 
 1812    } 
 1817    } 
 1823    } 
 1829    } 
 1834    } 
 1840    } 
 1846    } 
 1852    } 
 1859         << "Solution time      : " << std::setw(10) << std::fixed << std::setprecision(2) << time() << std::endl 
 1873    } 
 1878    } 
  |