检查初始猜测是否可行

Check if initial guess is feasible

我们如何验证初始猜测是否可行?

应该有一些 API 调用 prog.CheckInitialGuess 可行或类似的东西,所以我们不需要添加很多额外的代码来做到这一点。

我们有一个函数CheckSatisfiedAtInitialGuess你可以通过

调用它
prog.CheckSatisfiedAtInitialGuess(prog.GetAllConstraints());

检查是否满足所有约束。

如果想return不可行的约束,可以试试

std::vector<Binding<Constraint>> failed_constraints;
for (const auto& constraint : prog.GetAllConstraints()) {
  if (!prog.CheckSatisfied(constraint, prog.initial_guess())) {
    failed_constraints.push_back(constraint);
  }
}