我正在使用GAMS和CPLEX优化器。在CPLEX中,优化器是一个选项“iis”,因此它会生成不可约束的不一致约束集。如果我将iis选项设置为1(或者除了0之外的其他任何选项,我认为,但我只测试了0和1),列出了iis方程和变量。
但我的问题是这个列表没有以有用或易于消费的方式给出。它不是将特定方程式列在IIS的一个方程式集中,而是列出代码中可以找到该方程的行。但这条线是由GAMS本身生成的,以这种形式理解它是不实际或用户友好的。
例如,我收到一个包含许多行的iis报告,每个行都是这样的:
= E'upper:'445793'< 7432.83’
但我知道有可能将所有乱码翻译成更加用户友好的东西,如下所示:
上限:purchase_limit(12385,972130,t443)< 7432.83
事实上,我之前甚至收到过这种格式的结果。但我似乎无法复制这种更友好的格式。
我联系了GAMS的支持,但响应很慢,所以我想我会问这个社区。
谢谢!
答案 0 :(得分:3)
好吧,经过两天的文档倾倒并试图从GAMS公司获得帮助后,我终于找到了问题所在:
在列表文件(.lst文件)中生成正确标记的iis IS,但是在列表文件中也生成了乱码版本,并且它在文件的尾端附近生成,因此更容易查看。
如果有人设置了iis标志并在GAMS中生成了一个列表文件,请务必通过该文件来查找“IIS found”之类的内容。在.lst文件中的注释后不久,您将找到IIS方程和变量的列表。
我希望这有助于为他人节省时间,或者至少在将来为我节省时间,当我下次再次需要这个帮助时。