Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Optimization 使用MINLP的bonmin从neos中失败的运行中获取变量结果_Optimization_Nonlinear Optimization_Ampl_Mixed Integer Programming_Neos Server - Fatal编程技术网

Optimization 使用MINLP的bonmin从neos中失败的运行中获取变量结果

Optimization 使用MINLP的bonmin从neos中失败的运行中获取变量结果,optimization,nonlinear-optimization,ampl,mixed-integer-programming,neos-server,Optimization,Nonlinear Optimization,Ampl,Mixed Integer Programming,Neos Server,我正在使用neos服务器,使用bonmin算法来解决一个高度受限的MINLP。使用分支定界或混合方法求解。输入代码为AMPL 我想知道是否有可能为失败的运行输出变量结果 我试过这里列出的每一个bonmin选项 我对优化解算器了解不够,无法真正理解所有这些选项 我尝试过不同的AMPL选项,但只有在成功运行后,这些选项才会起作用 最后,我想用最近一次失败的运行中的值输出模型中的所有变量 这是我的命令文件 options bonmin_options "bonmin.bb_log_level 4 \

我正在使用neos服务器,使用bonmin算法来解决一个高度受限的MINLP。使用分支定界或混合方法求解。输入代码为AMPL

我想知道是否有可能为失败的运行输出变量结果

我试过这里列出的每一个bonmin选项

我对优化解算器了解不够,无法真正理解所有这些选项

我尝试过不同的AMPL选项,但只有在成功运行后,这些选项才会起作用

最后,我想用最近一次失败的运行中的值输出模型中的所有变量

这是我的命令文件

options bonmin_options "bonmin.bb_log_level 4 \
bonmin.algorithm B-BB print_level 6";
solve;
option display_precision 10;
display solve_result_num, solve_result;
display cost.result;
display _varname, _var;
下面是失败运行的标题输出。这为我的所有变量提供输出,但它们都是0

Solver   : minco:Bonmin:AMPL
   Start    : 2017-08-30 11:20:12
   End      : 2017-08-30 11:26:34
   Host     : NEOS HTCondor Pool

   Disclaimer:

   This information is provided without any express or
   implied warranty. In particular, there is no warranty
   of any kind concerning the fitness of this
   information  for any particular purpose.
*************************************************************
File exists
You are using the solver bonmin-ampl.
Executing AMPL.
processing data.
processing commands.
Executing on prod-exec-1.neos-server.org

Presolve eliminates 20629 constraints and 18794 variables.
Substitution eliminates 8664 variables.
Adjusted problem:
12175 variables:
    7093 nonlinear variables
    5082 linear variables
10647 constraints; 63680 nonzeros
    2553 nonlinear constraints
    8094 linear constraints
    8084 equality constraints
    2563 inequality constraints
1 linear objective; 17 nonzeros.

Setting $presolve_fixeps >= 1.41e-14 could change presolve results.

Bonmin 1.8.4 using Cbc 2.9.6 and Ipopt 3.12.4
bonmin: bonmin.bb_log_level 4
bonmin.algorithm B-BB
print_level 6

Start reading options from stream.
Finished reading options from file.
Cbc3007W No integer variables - nothing to do

******************************************************************************
This program contains Ipopt, a library for large-scale nonlinear optimization.
 Ipopt is released as open source code under the Eclipse Public License (EPL).
         For more information visit http://projects.coin-or.org/Ipopt
******************************************************************************

NLP0012I 
              Num      Status      Obj             It       time                 Location
NLP0014I             1      INFEAS 2.2729823     1144 178.86781
NLP0014I             2      INFEAS 2.2729823     1144 176.90811
Cbc3007W No integer variables - nothing to do
Cbc0006I The LP relaxation is infeasible or too expensive

    "Finished"

bonmin: Infeasible problem
solve_result_num = 220
solve_result = infeasible

cost.result = infeasible

看起来这个问题是不可行的,即没有可能满足约束条件的变量集。在这种情况下,我不确定是否有任何变量可以输出;你能澄清一下你在寻找什么吗?所以如果一个运行不可行或失败,就没有办法输出失败运行的值了?这是运行了数年的数据,其中包含数千个变量和约束。我大体上知道问题是什么,我只是想知道我是否能准确地指出错误或不可行的地方。我不熟悉bonmin,但据我所知,如果一个问题是不可行的,那么很可能解算器在确定问题不可行之前没有计算任何值本身。如果我输入一个问题,例如x=20,一个好的解算器可以在不必先测试x的值的情况下识别出没有可能的x值。如果你还没有测试过,你可以尝试以下几件事:要求解算器生成一组不可约的不一致约束(不确定bonmin是否具有IIS功能,但如果没有,您应该能够在使用NEOS时以最小的痛苦切换到类似AMPL Gurobi的功能),或尝试并错误地禁用约束,直到它变得可行,以找出哪些约束涉及不可行。感谢您的输入。bonmin似乎没有任何选项可以产生不可还原的约束。尝试并错误将是痛苦的,但我可以这样做作为最后的手段。我非常确定错误正在发生g因为我有一个变量的上限集,如果上限设置得太低,那么我的输入数据将永远无法得到一个解决方案。我需要将这个上限设置得太低,并且我的输入数据无法更改,因为我的整个问题都无法在这个范围内找到解决方案。看起来这个问题是不可行的,也就是说,没有可能的上限集满足约束条件的变量。在这种情况下,我不确定是否有任何变量可以输出;您能否澄清您在这里寻找的是什么?因此,如果运行不可行或失败,则无法输出失败运行的值?这是使用数年的数据运行的,其中包含数千个变量和约束条件。我知道一般来说,问题是什么?我只是想知道我是否能准确地指出错误或不可行的地方。我不熟悉bonmin,但据我所知,如果问题不可行,那么很可能在确定问题不可行之前解算器本身没有计算任何值。我如果我输入了一个问题,例如x=20,一个好的解算器可以识别出没有可能的x值,而不必先测试x值。如果你还没有测试过,你可以尝试以下几件事:要求解算器生成一组不可还原的不一致约束(不确定bonmin是否具有IIS功能,但如果没有,您应该能够在使用NEOS时以最小的痛苦切换到类似AMPL Gurobi的功能),或尝试并错误地禁用约束,直到它变得可行,以找出哪些约束涉及不可行。感谢您的输入。bonmin似乎没有任何选项可以产生不可还原的约束。尝试并错误将是痛苦的,但我可以这样做作为最后的手段。我非常确定错误正在发生g因为我有一个变量的上限集,如果上限设置得太低,那么求解器将永远无法找到解决方案。我需要将这个上限设置得太低,并且我的输入数据无法更改,因为我的总体问题是要在这个上限内找到解决方案。