小编nic*_*akf的帖子

如何在Python中使用绝对值或绝对值之和进行整数优化?

我有一个程序,我想最小化两个变量的绝对差(绝对误差函数)。说:

e_abs(x, y) = |Ax - By|; where e_abs(x, y) is my objective function that I want to minimize.
Run Code Online (Sandbox Code Playgroud)

该函数受到以下约束:

x and y are integers;
x >= 0; y >= 0
x + y = C, where C is an arbitrary constant (also C >= 0)
Run Code Online (Sandbox Code Playgroud)

我正在使用 mip 库(https://www.python-mip.com/),我在其中定义了目标函数和约束。

问题是 mip 没有“abs”方法。因此,我必须通过将主要问题分为两个优化子问题来克服这个问题:

e(x, y) = Ax - By

Porblem 1: minimize e(x, y); subject to e(x, y) >= 0
Porblem 2: maximize e(x, y); subject to e(x, y) …
Run Code Online (Sandbox Code Playgroud)

python optimization mixed-integer-programming

4
推荐指数
1
解决办法
3130
查看次数