我试图使用NEOS来解决使用MPS输入的线性程序。
MPS文件很好,但显然你需要一个“参数文件”来告诉求解器做什么(最小/最大等)。但是我无法在任何地方找到这方面的任何信息。
到目前为止,我已经让NEOS解决了最大化问题并显示了目标函数。但是我不能让它显示变量。
有谁知道我应该在paramters文件中添加哪些代码来告诉NEOS / CBC显示结果变量?
答案 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)
要查看解决方案值,您应该在参数文件的sol
或min
行后面加上max
行。
如果这不起作用,您可以通过AMPL以this page格式将问题提交给NEOS。除了模型和数据文件之外,它还接受一个命令文件,您可以使用语句来解决问题并显示解决方案,例如:
solve;
display _varname, _var;
This post介绍了如何将MPS转换为AMPL。