Lines Matching refs:constraint

33 bool is_soft(Constraint* constraint)
35 if (constraint->Op() != LinearProgramming::kEQ)
37 if (constraint->PenaltyNeg() > 0. || constraint->PenaltyPos() > 0.)
62 constraint that, by keeping it in the active set, prevents us most from
65 constraint from the active set and try again.
69 most-violated constraint to the active set and adjust the new solution such
70 that barely satisfies that constraint. Otherwise, we don't adjust the
510 // set up soft constraint matrix
512 Constraint* constraint = fConstraints->ItemAt(c);
513 if (!is_soft(constraint)) {
518 double negPenalty = constraint->PenaltyNeg();
521 double posPenalty = constraint->PenaltyPos();
527 rightSide[c] = _RightSide(constraint) * weight;
528 SummandList* summands = constraint->LeftSide();
532 if (constraint->Op() == LinearProgramming::kLE)
566 LayoutOptimizer::_ActualValue(Constraint* constraint, double* values) const
568 SummandList* summands = constraint->LeftSide();
575 if (constraint->Op() == LinearProgramming::kLE)
582 LayoutOptimizer::_RightSide(Constraint* constraint)
584 if (constraint->Op() == LinearProgramming::kLE)
585 return -constraint->RightSide();
586 return constraint->RightSide();
623 AddConstraint(), the additional constraint \sum_{i=0}^{n-1} x_i = size,
637 // allocate the active constraint matrix and its transposed matrix
685 Constraint* constraint = fConstraints->ItemAt(i);
686 if (is_soft(constraint))
688 double actualValue = _ActualValue(constraint, x);
689 TRACE("constraint %ld: actual: %f constraint: %f\n", i, actualValue,
690 _RightSide(constraint));
691 if (fuzzy_equals(actualValue, _RightSide(constraint)))
692 activeConstraints.AddItem(constraint);
697 // We do that by computing the QP resulting from our active constraint set,
730 Constraint* constraint = activeConstraints.ItemAt(i);
731 if (is_soft(constraint))
733 SummandList* summands = constraint->LeftSide();
737 if (constraint->Op() == LinearProgramming::kLE)
762 // Otherwise remove the constraint with the smallest lambda_i
805 Constraint* constraint = activeConstraints.ItemAt(i);
806 if (constraint->Op() != LinearProgramming::kEQ) {
829 // if alpha_k < 1, add a barrier constraint to W^k
831 Constraint* constraint = fConstraints->ItemAt(i);
832 if (activeConstraints.HasItem(constraint))
835 double divider = _ActualValue(constraint, p);
840 double alphaI = _RightSide(constraint)
841 - _ActualValue(constraint, x);