在NEOS中使用CBC MPS输入显示变量

时间:2014-01-06 01:09:29

标签: variables solver neos-server mps-format

我试图使用NEOS来解决使用MPS输入的线性程序。

MPS文件很好,但显然你需要一个“参数文件”来告诉求解器做什么(最小/最大等)。但是我无法在任何地方找到这方面的任何信息。

到目前为止,我已经让NEOS解决了最大化问题并显示了目标函数。但是我不能让它显示变量。

有谁知道我应该在paramters文件中添加哪些代码来告诉NEOS / CBC显示结果变量?

1 个答案:

答案 0 :(得分:2)

参数文件由文件中的Cbc(独立)命令列表组成(每行一个)。命令的格式是(引用documentation):

One command per line (and no -)
abcd? gives list of possibilities, if only one + explanation
abcd?? adds explanation, if only one fuller help(LATER)
abcd without value (where expected) gives current value
abcd value or abcd = value sets value

命令如下:

?  dualT(olerance)  primalT(olerance)  inf(easibilityWeight)
integerT(olerance)  inc(rement)  allow(ableGap)  ratio(Gap)
fix(OnDj)  tighten(Factor)  log(Level)  slog(Level)
maxN(odes)  strong(Branching)  direction  error(sAllowed)
gomory(Cuts)  probing(Cuts)  knapsack(Cuts)  oddhole(Cuts)
clique(Cuts)  round(ingHeuristic)  cost(Strategy)  keepN(ames)
scaling  directory  solver  import
export  save(Model)  restore(Model)  presolve
initialS(olve)  branch(AndBound)  sol(ution)  max(imize)
min(imize)  time(Limit)  exit  stop
quit  -  stdin  unitTest
miplib  ver(sion)

要查看解决方案值,您应该在参数文件的solmin行后面加上max行。

如果这不起作用,您可以通过AMPLthis page格式将问题提交给NEOS。除了模型和数据文件之外,它还接受一个命令文件,您可以使用语句来解决问题并显示解决方案,例如:

solve;
display _varname, _var;

This post介绍了如何将MPS转换为AMPL。