|
SoPlex Doxygen Documentation
|
Go to the documentation of this file.
30 s << sc. getName() << " scaler:" << std::endl;
34 s << "]" << std::endl;
39 s << "]" << std::endl;
49 , m_colFirst(colFirst)
57 , m_colscale(old.m_colscale)
58 , m_rowscale(old.m_rowscale)
59 , m_colFirst(old.m_colFirst)
60 , m_doBoth(old.m_doBoth)
88 METHOD( "SPxScaler::getName()" );
95 METHOD( "SPxScaler::setOrder()" );
102 METHOD( "SPxScaler::setBoth()" );
109 METHOD( "SPxScaler::setup()" );
118 for(i = 0; i < lp. nCols(); ++i )
121 for(i = 0; i < lp. nRows(); ++i )
129 METHOD( "SPxScaler::computeScale" );
139 METHOD( "SPxScaler::computeScalingVecs()" );
143 for( int i = 0; i < vecset-> num(); ++i )
145 const SVector& vec = (*vecset)[i];
150 for( int j = 0; j < vec. size(); ++j)
163 if (mini == infinity || maxi == 0.0)
173 Real p = maxi / mini;
183 METHOD( "SPxScaler::applyScaling()" );
187 for(i = 0; i < lp. nRows(); ++i )
191 for( int j = 0; j < vec. size(); ++j)
195 lp. rhs_w(i) *= m_rowscale[i];
197 lp. lhs_w(i) *= m_rowscale[i];
199 for(i = 0; i < lp. nCols(); ++i )
203 for( int j = 0; j < vec. size(); ++j)
209 lp. upper_w(i) /= m_colscale[i];
211 lp. lower_w(i) /= m_colscale[i];
218 METHOD( "SPxScaler::unscalePrimal()" );
222 for( int j = 0; j < x. dim(); ++j)
228 METHOD( "SPxScaler::unscaleSlacks()" );
232 for( int i = 0; i < s. dim(); ++i)
238 METHOD( "SPxScaler::unscaleDual()" );
242 for( int i = 0; i < pi. dim(); ++i)
248 METHOD( "SPxScaler::unscaleRedCost()" );
252 for( int j = 0; j < r. dim(); ++j)
258 METHOD( "SPxScaler::minAbsColscale()" );
271 METHOD( "SPxScaler::maxAbsColscale()" );
284 METHOD( "SPxScaler::minAbsRowscale()" );
297 METHOD( "SPxScaler::maxAbsRowscale()" );
314 METHOD( "SPxScaler::maxColRatio()" );
318 for( int i = 0; i < lp. nCols(); ++i )
324 for( int j = 0; j < vec. size(); ++j)
333 Real p = maxi / mini;
347 METHOD( "SPxScaler::maxRowRatio()" );
351 for( int i = 0; i < lp. nRows(); ++i )
357 for( int j = 0; j < vec. size(); ++j)
366 Real p = maxi / mini;
376 #ifdef ENABLE_CONSISTENCY_CHECKS
377 METHOD( "SPxScaler::isConsistent()" );
|