我正在学习Benders分解,现在,我正在使用文件bendersatsp.py
。我明白,在模型(ATSP)是编程在它是没有必要的增加可行性削减。我想看一个玩具的例子,其中有必要添加可行性削减使用相同的代码结构,在这个文件中,以了解如何做到这一点。你知道吗
我一直在想:
需要在函数def separate
内添加新条件if
:
if cpx.solution.get_status() == cpx.solution.status.MIP_optimal:
这是一种选择吗?你知道吗
非常感谢!你知道吗
Tags:
我想你弄错了:这个例子只把可行性切割分开。你知道吗
不过,您将函数
separate
用于优化切割的想法是正确的。但是,由于子问题是LP而不是MIP,因此您必须检查cpx.solution.status.optimal
的状态。你知道吗目前在Python中没有这方面的示例代码。另一方面,仅仅采用任何教科书中的Benders描述,将其与您引用的Python示例相一致,然后自己扩展分离,可能并不太难。你知道吗
在
cplex/examples/src/remotec/parbenders.c
中,您有一个Benders实现,它将两种类型的切割分离开来。这个实现是用C语言实现的,但是考虑到Python和capi是相似的,这可能会对您有所帮助。你知道吗相关问题 更多 >
编程相关推荐