- ortools 中提供了一个文档介绍快速具体算法 https://developers.google.cn/optimization/lp/lp_advanced?hl=en
其中实现了一个迭代法 PDLP, 对于低精度,以及给定初值的情况应该比较有利。
文档没有提供例子, 但代码路中有例子:
-
Python版 https://github.com/google/or-tools/blob/main/ortools/pdlp/samples/simple_pdlp_program.py
-
c 版本 https://github.com/google/or-tools/blob/main/ortools/pdlp/samples/simple_pdlp_program.cc
-
java 版 或许可以参考实现.
-
注意如何设置参数 termination_criteria
{ eps_optimal_absolute: 1e-4 eps_optimal_relative: 1e-4 }