Pydrake:访问额外的 SNOPT 求解器输出 (iter)
Pydrake: Accessing extra SNOPT solver outputs (iter)
根据 SNOPT docs(第 57 页),退出时 SNOPT 的输出之一是 iter
,执行的主要迭代次数。我想知道在 pydrake 中使用 SnoptSolver
时是否有任何方法可以访问此输出。谢谢!
iter
在 SNOPT 的 npOpt
接口中可用,不幸的是我们在 Drake 的包装器 class 中使用 snoptA
接口(SNOPT 文档 https://web.stanford.edu/group/SOL/guides/sndoc7.pdf 的第 3 章) SnoptSolver
,我不认为这个 snoptA
界面 returns iter
退出。
如果你想知道迭代次数,你可以打印snopt进度。这样做的一个例子是
# Print out the progress to my_output.txt
prog.SetSolverOption(SnoptSolver.solver_id(), "Print file", "my_output.txt")
result = snopt_solver.Solve(prog)
在my_output.txt
中你会看到迭代次数。
根据 SNOPT docs(第 57 页),退出时 SNOPT 的输出之一是 iter
,执行的主要迭代次数。我想知道在 pydrake 中使用 SnoptSolver
时是否有任何方法可以访问此输出。谢谢!
iter
在 SNOPT 的 npOpt
接口中可用,不幸的是我们在 Drake 的包装器 class 中使用 snoptA
接口(SNOPT 文档 https://web.stanford.edu/group/SOL/guides/sndoc7.pdf 的第 3 章) SnoptSolver
,我不认为这个 snoptA
界面 returns iter
退出。
如果你想知道迭代次数,你可以打印snopt进度。这样做的一个例子是
# Print out the progress to my_output.txt
prog.SetSolverOption(SnoptSolver.solver_id(), "Print file", "my_output.txt")
result = snopt_solver.Solve(prog)
在my_output.txt
中你会看到迭代次数。