|
Go to the documentation of this file.
69 themax = (x > themax) ? x : themax;
70 x = (up[i] - vec[i] + delta) / x;
74 else if (x < -epsilon)
76 themax = (-x > themax) ? -x : themax;
77 x = (low[i] - vec[i] - delta) / x;
78 if (x < theval && low[i] > - infinity)
120 themax = (x > themax) ? x : themax;
121 x = (low[i] - vec[i] - delta) / x;
122 if (x > theval && low[i] > - infinity)
125 else if (x < -epsilon)
127 themax = (-x > themax) ? -x : themax;
128 x = (up[i] - vec[i] + delta) / x;
169 assert( delta > epsilon);
171 assert( solver()->maxCycle() > 0);
199 useeps = maxabs * epsilon * 0.001;
200 if (useeps < epsilon)
202 for (j = upd. size() - 1; j >= 0; --j)
214 if (y <= max && y > sel - epsilon && x > stab)
222 else if (x < -useeps)
230 if (y <= max && y > sel - epsilon && -x > stab)
244 else if (max < -epsilon)
264 useeps = maxabs * epsilon * 0.001;
265 if (useeps < epsilon)
267 for (j = upd. size() - 1; j >= 0; --j)
279 if (y >= max && y < sel + epsilon && -x > stab)
295 if (y >= max && y < sel + epsilon && x > stab)
312 if (lastshift != solver()->shift())
336 Real minStability = 0.0001;
351 assert( delta > epsilon);
353 assert( solver()->maxCycle() > 0);
367 assert( delta > epsilon);
399 ruseeps = rmaxabs * 0.001 * epsilon;
400 if (ruseeps < epsilon)
402 cuseeps = cmaxabs * 0.001 * epsilon;
403 if (cuseeps < epsilon)
405 for (j = pupd. size() - 1; j >= 0; --j)
411 y = upb[i] - pvec[i];
417 if (y <= max && x >= stab)
426 else if (x < -ruseeps)
428 y = lpb[i] - pvec[i];
434 if (y <= max && -x >= stab)
445 MSG_DEBUG( std::cout << "DHARRI01 removing value " << pupd[i] << std::endl; )
449 for (j = cupd. size() - 1; j >= 0; --j)
455 y = ucb[i] - cvec[i];
461 if (y <= max && x >= stab)
470 else if (x < -cuseeps)
472 y = lcb[i] - cvec[i];
478 if (y <= max && -x >= stab)
489 MSG_DEBUG( std::cout << "DHARRI02 removing value " << cupd[i] << std::endl; )
494 if (lastshift == solver()->shift())
498 if ( solver()->isBasic(enterId))
509 if ( solver()->isBasic(enterId))
519 sel = upb[pnr] - pvec[pnr];
520 if (x < minStability && sel < delta)
529 sel = lpb[pnr] - pvec[pnr];
530 if (-x < minStability && -sel < delta)
553 else if (val < -epsilon)
562 assert( delta > epsilon);
597 ruseeps = rmaxabs * epsilon * 0.001;
598 cuseeps = cmaxabs * epsilon * 0.001;
599 for (j = pupd. size() - 1; j >= 0; --j)
605 y = lpb[i] - pvec[i];
611 if (y >= max && x > stab)
620 else if (x < -ruseeps)
622 y = upb[i] - pvec[i];
628 if (y >= max && -x > stab)
639 MSG_DEBUG( std::cout << "DHARRI03 removing value " << pupd[i] << std::endl; )
643 for (j = cupd. size() - 1; j >= 0; --j)
649 y = lcb[i] - cvec[i];
655 if (y >= max && x > stab)
664 else if (x < -cuseeps)
666 y = ucb[i] - cvec[i];
672 if (y >= max && -x > stab)
683 MSG_DEBUG( std::cout << "DHARRI04 removing value " << x << std::endl; );
688 if (lastshift == solver()->shift())
692 if ( solver()->isBasic(enterId))
703 if ( solver()->isBasic(enterId))
713 sel = lpb[pnr] - pvec[pnr];
714 if (x < minStability && -sel < delta)
723 sel = upb[pnr] - pvec[pnr];
724 if (-x < minStability && sel < delta)
746 assert(max * val >= 0);
|