[Java][Glpk]求解对偶解

[Java][Glpk]Solve dual solution

我有一个线性问题,我想在 Java 上使用 GLPK 获得最优对偶解。我试过了:

parm = new glp_smcp();
parm.setMeth(GLPKConstants.GLP_DUAL);
GLPK.glp_init_smcp(parm);
ret = GLPK.glp_simplex(lp, parm);

但似乎我总是有原始解决方案。 有人可以帮助我吗?

 parm.setMeth(GLPKConstants.GLP_DUAL);

将select对偶单纯形法。它本身并没有给你双重解决方案。 (准确地说:之后您可以检索原始解和对偶解)。

求解后取解的方式为:

GLPK.glp_get_col_prim(lp,j)   // retrieve primal solution
GLPK.glp_get_row_dual(lp,i)   // retrieve duals 

记住线性规划

  • 对偶单纯形法
  • LP 问题的对偶
  • 解决方案中的对偶

都是不同的东西。有关更多信息,请参阅有关线性规划的书籍(例如 Vanderbei)。