gpt4 book ai didi

linear-programming - 线性规划 - 等于表达式符号的变量

转载 作者:行者123 更新时间:2023-12-02 22:30:28 26 4
gpt4 key购买 nike

我正在尝试编写一个线性程序,需要一个等于 x-c 符号的变量 z,其中 x 是另一个变量,c 是一个常量。

我考虑了z = (x-c)/|x-c|。不幸的是,如果 x=c,则会除以 0。

我不能使用 z=x-c,因为我不想通过 x 和 c 之间的差异大小来对其进行加权。

有谁知道表达 z 的好方法,使其成为 x-c 的符号吗?

感谢您的帮助和建议!

最佳答案

您无法建模 z = sign(x-c)与线性程序完全一样(因为 LP 中的约束仅限于变量的线性组合)。

但是,您可以建模 sign如果您愿意将线性程序转换为混合整数程序,您可以使用以下两个约束对其进行建模:

 L*b <= x - c <= U*(1-b)
z = 1 - 2*b

哪里b是一个二进制变量,并且 LU是数量 x-c 的下限和上限。如果b = 0 ,我们有0 <= x - c <= Uz = 1 。如果b = 1 ,我们有L <= x - c <= 0z = 1 - 2*1 = -1 .

您可以使用像 Gurobi 这样的求解器解决混合整数规划。

关于linear-programming - 线性规划 - 等于表达式符号的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22788264/

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