Inequalities & Absolute values

不等式是求定义域,解的交集。因为要同时满足

绝对值求解的交集是并集,因为是分类讨论,分别满足

Inequalities

分母式不等式,找到符号的临界点即令上下函数等于0时的X值,然后分类讨论区间和临界值

当不等式左右都不为0时:先将一侧化为0

eg1:

eg2:

 

等式包括不等式不能两边取倒数(只有两边同时乘除某个数),而是分别计算

Absolute value

绝对值不等式

eg1:

很多证明题都是通过+x-x的等价代换证明的

eg2:

McCormick不等式在全局优化和凸松弛中扮演着关键角色,特别是在处理非线性规划问题时。该方法的基本思想是通过构造一个函数的下界和上界的凸包络来逼近原始的非线性函数,从而将一个难以求解的非凸问题转化为更容易解决的凸问题[^2]。 对于两个变量$x$和$y$之间的乘积项$xy$,McCormick放松提供了一组不等式来定义这个双线性项的有效凸包络。这些不等式依赖于$x$和$y$的值范围,且可以表示为: - $z \geq xL_y + yL_x - L_xL_y$ - $z \leq xU_y + yU_x - U_xU_y$ - $z \geq xU_y + yL_x - U_xL_y$ - $z \leq xL_y + yU_x - L_xU_y$ 其中$z$代表了$xy$的近似值,而$L_x, U_x$和$L_y, U_y$分别是$x$和$y$的已知最小值和最大值(即它们的定义域边界)。 这种技术能够确保即使当原问题包含非凸特性时,也能得到一个可行解或者至少是一个下界。然而,正如所提到的,普通McCormick放松在整个$x$和$y$的值范围上只使用一个线性包络可能会导致较大的误差。为了减少这种松弛误差,分片McCormick放松被提出,它通过对$x$和$y$的定义域进行细分在每个子区间上单独应用McCormick放松来提高精度[^1]。 此外,在混合整数非线性规划(MINLP)问题中,尽管McCormick包络可以用来产生一个有效的凸松弛给出目标函数的下界,但通常还需要结合其他策略如分支定界法以找到全局最优解[^3]。 ### 实现示例 以下是一个简单的Python代码片段,演示如何实现基本的McCormick放松以计算给定$x$和$y$区间上的双线性项的上下界。 ```python def mccormick_bounds(x_lb, x_ub, y_lb, y_ub): # 计算四个可能的z值 z1 = x_lb * y_lb z2 = x_ub * y_ub z3 = x_ub * y_lb z4 = x_lb * y_ub # 根据McCormick不等式确定z的上下界 z_lower_bound = max(z1, z4) z_upper_bound = min(z2, z3) return z_lower_bound, z_upper_bound # 示例:假设x ∈ [0, 2], y ∈ [-1, 1] x_lb, x_ub = 0, 2 y_lb, y_ub = -1, 1 z_lb, z_ub = mccormick_bounds(x_lb, x_ub, y_lb, y_ub) print(f"McCormick bounds for z = xy: lower={z_lb}, upper={z_ub}") ``` 这段代码首先计算了由$x$和$y$的界限决定的所有四个角点处的$z=xy$值,然后根据这些值确定了$z$的上下界。 ### 总结 McCormick不等式是全局优化中的重要工具,它们允许我们对含有双线性或单变量非线性的函数构建凸松弛。这种方法对于获得问题的下界特别有用,尤其是当与分支定界等全局搜索算法相结合时。不过,对于复杂的问题,可能需要采用更复杂的线性化技术或者其他类型的求解器来保证效率和准确性[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值