假设我有4个变量a,b,x,y

我如何用python表示这个程序?

推荐答案

好啊因此,我发布(删除)的第一个答案有点仓促,对于所描述的关系来说,逻辑是错误的.这(希望)是正确的!;)

max()min()是非线性的,因此我们需要以某种方式将它们线性化(使用辅助变量)和一些逻辑来关联2极小值,这(下文)可以使用二进制辅助变量和大M约束.

在伪代码中:

a, b, x, y : real-valued variables
ab_min : real-valued variable
x_lt_y : binary variable, 1 implies x <= y, 0 else

M = some suitably large constant, depending on the max range of a, b, x, y

新约束:

ab_min <= a
ab_min <= b
ab_min >= x - (1 - x_lt_y) * M
ab_min >= y - (x_lt_y) * M

逻辑:

  • 我们找到了a,b的最小值为ab_min.
  • 我们需要来自min(x,y)的"向上压力"...所以我们知道

Python相关问答推荐

处理(潜在)不断增长的任务队列的并行/并行方法

使用索引列表列表对列进行切片并获取行方向的向量长度

在线条上绘制表面

numpy卷积与有效

如何获得每个组的时间戳差异?

实现自定义QWidgets作为QTimeEdit的弹出窗口

ThreadPoolExecutor和单个线程的超时

计算分布的标准差

在matplotlib中删除子图之间的间隙_mosaic

从Windows Python脚本在WSL上运行Linux应用程序

python panda ExcelWriter切换动态公式到数组公式

使用类型提示进行类型转换

在Python中控制列表中的数据步长

Python将一个列值分割成多个列,并保持其余列相同

Seaborn散点图使用多个不同的标记而不是点

如何写一个polars birame到DuckDB

TypeError:';Locator';对象无法在PlayWriter中使用.first()调用

Pandas 删除只有一种类型的值的行,重复或不重复

在MongoDB文档中仅返回数组字段

为什么在不先将包作为模块导入的情况下相对导入不起作用