def is_satisfied(self, solution, tolerance): expr_value = self._input_var._get_solution_value(solution) y_value = solution._get_var_value(self._y) computed_f_expr_value = self._pwl_func.evaluate(expr_value) return ComparisonType.almost_equal(y_value, computed_f_expr_value, tolerance)
def is_satisfied(self, solution, tolerance=1e-6): is_ct_satisfied = self._linear_ct.is_satisfied(solution, tolerance) binary_value = solution.get_value(self._binary_var) expected_value = self._active_value if is_ct_satisfied else 1 - self._active_value return ComparisonType.almost_equal(binary_value, expected_value, tolerance)