gpt4 book ai didi

pyomo - 为变量 pyomo 设置初始值和对偶值

转载 作者:行者123 更新时间:2023-12-02 09:20:49 29 4
gpt4 key购买 nike

我不想在程序变量中设置初始值和对偶值。有没有具体的方法来做到这一点。我可以看到 Var 对象中有一个初始化选项,但我不确定如何以这种方式使用它

最佳答案

如果要在声明变量时设置变量的值,可以使用initialize 关键字。例如,

model.x = Var(initialize=1.0)

或者,您可以在求解之前随时为变量设置 .value 属性。如果您从 AbstractModel 开始,请确保只对 create_instance 方法返回的实例执行此操作。下面是一个使用 ConcreteModel 的例子:

model = ConcreteModel()
model.x = Var()
model.X = Var([1,2,3])

model.x.value = 5.0
model.X[1].value = 1.0

NL 文件接口(interface)将始终包含求解器输入文件中所有模型变量的当前值。对于其他接口(interface)(例如 LP 文件接口(interface)),将关键字 warmstart=True 添加到 solve 方法将创建一个热启动文件,其中包含 MIP 热启动的任何二进制或整数变量的值。

要设置对偶解决方案,您必须在您的模型上声明一个名为dualSuffix。请注意,目前唯一支持导出后缀信息的接口(interface)是 NL 文件接口(interface)(使用 AMPL 的求解器)。但是,大多数接口(interface)都支持从求解器导入后缀信息(尤其是 dual)。设置特定约束的对偶值可能如下所示:

model = ConcreteModel()
model.dual = Suffix(direction=Suffix.IMPORT_EXPORT)
model.c = Constraint(...)
model.dual[model.c] = 1.0

关于 Suffix 组件的更多信息可以在网上找到 documentation对于 Pyomo。

关于pyomo - 为变量 pyomo 设置初始值和对偶值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42761370/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com