GDPopt求解器

(类来自 pyomo.contrib.gdpopt.GDPopt)

class pyomo.contrib.gdpopt.GDPopt.GDPoptSolver[source]

基础类:object

广义析取规划(GDP)问题的分解求解器。

GDPopt(广义析取规划优化器)求解器应用多种基于分解的方法来解决广义析取规划(GDP)问题。GDP模型可以包括非线性、连续变量和约束,以及逻辑条件。

这些方法包括:

  • 基于逻辑的外部逼近(LOA)

  • 基于逻辑的分支定界(LBB)

  • 部分代理切割 [待定]

  • 广义Bender分解 [待定]

此求解器实现由卡内基梅隆大学在Ignacio Grossmann的研究小组中开发。

对于非凸问题,LOA可能不会报告严格的下界/上界。

问题:请在StackOverflow上发帖和/或联系Qi Chen <https://github.com/qtothec> 或 David Bernal <https://github.com/bernalde>。

几个关键的GDPopt组件由BS和MS学生进行了原型设计:

  • 基于逻辑的分支定界法:Sunjeev Kale

  • MC++ 接口: Johnny Bates

  • LOA 集合覆盖初始化:Eloy Fernandez

  • 逻辑到线性转换:Romeo Valentin

__init__()

方法

__init__()

available([exception_flag])

求解器始终可用。

license_is_valid()

solve(model, **kwds)

解决模型。

version()

返回一个描述求解器版本的3元组。

属性

CONFIG

成员文档

available(exception_flag=True)[source]

求解器始终可用。虽然子求解器可能不可用,但它们会在适当的时候引发错误。

solve(model, **kwds)[source]

解决模型。

Parameters:

model (Block) – 一个要解决的Pyomo模型或块

Keyword Arguments:
  • iterlim (NonNegativeInt, optional) – 迭代限制。

  • time_limit (PositiveInt, optional) – 允许的秒数,直到终止。请注意,时间限制目前只能在子求解器调用之间强制执行。您可能还需要设置子求解器的时间限制。

  • tee (bool, default=False) – 将输出流传输到终端。

  • logger (a_logger, default='pyomo.contrib.gdpopt') – 用于报告的日志对象或名称。

version()[source]

返回一个描述求解器版本的3元组。