我想通过替换来消除pyomo模型中积分变量的线性等式约束。例如,我想改变模型
通过替换
到
有没有办法在pyomo模型中执行这种替换?通过计算相应的线性丢番图方程组的解空间,我将能够获得(*),形式为y=const_vec susbtitution_matrix*eta
,在我们的示例中
const_vec = np.array([1,0,0])
substitution_matrix = np.array([[-1,0],
[1,0],
[0,1]])
您所描述的内容通常被称为“变量聚合”如您所述,有四个基本步骤:
听起来好像你控制了1和2。对于3,假设您确定了要停用的约束m.c
,只需调用m.c.deactivate()
。
对于4,您将希望为剩余的Constraint"body
"表达式生成新表达式(变量仅出现在body中,而不出现在下界/上界)。对于当前的Pyomo版本(到5.4. x),您可以通过利用clone_expression()
执行变量替换。您需要生成一个替换映射:一个将您想要的变量的id()
映射到您想要使用的新表达式的判决。例如:
from pyomo.core.base.expr import clone_expression
m = ConcreteModel()
m.y = Var([1,2,3])
m.eta = Var([1,2])
# ...
m.c = Constraint(expr=m.y[1]**2 + m.y[3]**2 <= 4)
# ...
substitution_map = {
id(m.y[1]): 1 - m.eta[1],
id(m.y[2]): m.eta[1],
id(m.y[3]): m.eta[2],
}
m.c = (m.c.lower, clone_expression(m.c.body, substitute=substitution_map), m.c.upper)
最后,免责声明:
我有一个多级类结构,希望将它们的实现传递给一个可以对它们调用函数的函数,但我得到了一个错误。 以下是代码: 确切的错误消息: 我需要函数中的列表来扩展,并实现,因为我对它们调用某些函数。 为什么会这样?如果我更改的签名,并且只传递一个,它可以正常工作,但我需要它来处理多个。 我的选择是什么? 我尝试了多个java版本(1.8),都是一样的。
问题内容: 我有调用ajax GET的函数。当ajax接收数据(json)时,它将根据给定的json创建KO模型,并返回创建的KO。 创建敲除模型并分配值后,应调用敲除。这是我的代码: 定义和一些相关功能(在“ ” 内部): 这是从另一个文件(GeneralTabl.html)调用的,它应该调用get函数并更新UI: 但是,在这种情况下,我会收到错误消息(CountryName未定义)。这是因为发
我试图在AMPL中编写一个带有库存约束的周期性车辆路径问题。我想动态添加subour约束。为了做到这一点,我受到了TSP公式的启发: https://groups.google.com/d/msg/ampl/mVsFg4mAI1c/ZdfRHHRijfUJ 然而,我无法在我的模型中消除副标题。我在模型文件中使用了以下内容。 我添加了StationUsed变量,因为我的问题与TSP不同,不必在每个时
问题 你想定义某些在属性赋值上面有限制的数据结构。 解决方案 在这个问题中,你需要在对某些实例属性赋值时进行检查。 所以你要自定义属性赋值函数,这种情况下最好使用描述器。 下面的代码使用描述器实现了一个系统类型和赋值验证框架: # Base class. Uses a descriptor to set a value class Descriptor: def __init__(self
我正在使用Apache Camel2.13.1轮询一个数据库表,其中将有300k行以上。我希望使用幂等使用者EIP来过滤已经处理过的行。 不过,我想知道这个实现是否真的是可伸缩的。我的骆驼上下文是:- 在1908988是request.body.id的情况下,我已经将EIP设置为键上,所以这并不容易合并到我的查询中。 是否有更好的方法将CAMEL_MESSAGEPROCESSED表用作select
我试图找到如何在R中最大化具有等式和不等式约束的二次函数: 最大化x’*H*x 根据以下条件: 问题的简化版本可以是 最大化x^2 y^2,根据x y=1和x,y 由于这是一个最大化问题,我无法使用
我正在使用swagger ui,试图标准化API文档。我意识到,对于使用主体参数因而需要显示模型和模型模式的动词(GET、PUT、POST等),模式是在资源级别定义的(在pet store示例中为/pet或/store)。然而,在我们的API中,所需的主体参数将随着动词的变化而变化,最好为每个动词建立一个模型来准确反映这一点。 中模型定义的当前版本http://petstore.swagger.w
本文向大家介绍生成式模型、判别式模型相关面试题,主要包含被问及生成式模型、判别式模型时的应答技巧和注意事项,需要的朋友参考一下 https://github.com/imhuay/Algorithm_Interview_Notes-Chinese/blob/master/A-机器学习/A-机器学习基础.md#生成模型与判别模型 生成式模型(generative model)会对x和y的联合分布p(