GLOP - Google OR 工具 - 选择单纯形法
Posted
技术标签:
【中文标题】GLOP - Google OR 工具 - 选择单纯形法【英文标题】:GLOP - Google OR Tools - choose simplex method 【发布时间】:2021-02-04 03:40:18 【问题描述】:我在 GLOP 中使用默认的线性求解器(我相信它是双单纯形)并得到 ABNORMAL
结果。
我想改用普通的单纯形法(如本文所述 - https://github.com/google/or-tools/issues/1868),但我不知道如何更改此设置。如何更改求解器? (顺便用C#)
【问题讨论】:
【参考方案1】:您需要更改求解器的参数。
课程在这里:http://google.github.io/or-tools/dotnet/classGoogle_1_1OrTools_1_1LinearSolver_1_1MPSolverParameters.html
需要更改整数参数http://google.github.io/or-tools/dotnet/classGoogle_1_1OrTools_1_1LinearSolver_1_1MPSolverParameters.html#a3b8427a9f4368fd831af8f8c61fb823c
要更改的参数是http://google.github.io/or-tools/dotnet/classGoogle_1_1OrTools_1_1LinearSolver_1_1MPSolverParameters.html#a7319655592ea63d50ef2a6645e309784
要分配的值是http://google.github.io/or-tools/dotnet/classGoogle_1_1OrTools_1_1LinearSolver_1_1MPSolverParameters.html#a79b59c0c868544afdaa05d89c8f8541f
【讨论】:
【参考方案2】:Laurent 给出了上述正确的步骤。以下是创建这些参数并传递给求解器的实用代码(如果有人感兴趣):
var Params = new Google.OrTools.LinearSolver.MPSolverParameters();
Params.SetIntegerParam(MPSolverParameters.IntegerParam.LP_ALGORITHM, (int) MPSolverParameters.LpAlgorithmValues.PRIMAL);
Solver.ResultStatus solved = solver.Solve(Params);
【讨论】:
以上是关于GLOP - Google OR 工具 - 选择单纯形法的主要内容,如果未能解决你的问题,请参考以下文章
在 C# 中使用 Google OR-Tools 寻找目标?