使用AMPL+;仅打印非零结果;近地天体服务器
我正在做一个比较大的优化模型。在这个模型中,我将使用15个时间步,但现在当我测试它时,我只使用4个时间步。然而,即使比预期少11个时间步,该模型仍然打印22000行变量,其中可能只有100行与0不同 有人认为这是不可能的吗?即,使用NEOS server仅打印大于0的变量名和相应值的方法 我测试的是:使用AMPL+;仅打印非零结果;近地天体服务器,ampl,neos-server,Ampl,Neos Server,我正在做一个比较大的优化模型。在这个模型中,我将使用15个时间步,但现在当我测试它时,我只使用4个时间步。然而,即使比预期少11个时间步,该模型仍然打印22000行变量,其中可能只有100行与0不同 有人认为这是不可能的吗?即,使用NEOS server仅打印大于0的变量名和相应值的方法 我测试的是: solve; option omit_zero_rows 0; (also tried 1;) display _varname, _var; 同时使用两个省略行0;或省略第1行中的0;
solve;
option omit_zero_rows 0; (also tried 1;)
display _varname, _var;
同时使用两个省略行0;或省略第1行中的0;仍然打印每个结果,而不是高于0的结果
我也试过:
solve;
if _var > 0 then {
display _varname, _var;
}
但它给了我语法错误。这两个(或者实际上,这三个)变体都在我用于NEOS服务器的.run文件中进行了测试 我正在发布这个问题的解决方案,因为我相信这是一个更多人会偶然发现的问题。基本上,为了使用NEOS Server仅打印非零值,请将命令文件(.run file)编写为:
solve;
display {j in 1.._nvars: _var[j] > 0} (_varname[j], _var[j]);