1

根据我在这里、YouTube 和其他网站上所做的研究,我目前正在研究一个可以使用线性规划解决的问题。我已经熟悉了所谓的 Simplex Method 及其变体,例如 - Big M、Dual SM,但我仍然找不到任何类似于我的问题的表述及其解决方案的示例。

我的问题是:如何将程序转换为标准格式?

我认为最小化和最大化都应该起作用,但让我们用最小化来做。

我使用'n'作为输入可能有'n'个变量的表示,即。有时会有 10 个,有时 - 60 个,是的 .. 那么多。但如果有办法解决它,我猜它应该适用于任意数量的变量。

最小化:
Z = a1*x1 + a2*x2 + .. + an*xn,其中a1 .. an只是随机系数,都是正数。

受制于:(这是我不确定是否可以这样做的部分)

N1 ≤ b1*x1 + b2*x2 + .. + bn*xn ≤ N2<br>
M1 ≤ c1*x1 + c2*x2 + .. + cn*xn ≤ M2<br>
O1 ≤ d1*x1 + d2*x2 + .. + dn*xn ≤ O2
  • 自然数在哪里N1, N2, M1, M2, O1 & O2,> 0,例如 101、155、6433 等
    ,当然还有N1 < N2, M1 < M2, O1 < O2
  • 其中b1 .. bn, c1 .. cn, d1 .. dn只是随机系数,都是正数

此外,每个未知变量 –x1, x2 .. xn的边界如下:

X1-min ≤ x1 ≤ X1-max
X2-min ≤ x2 ≤ X2-max
..
Xn-min ≤ xn ≤ Xn-max

当然,所有最小值和最大值都是已知的,正数,其中 Xmin < Xmax 并且 >
0。X1..n 必须始终 > 0 并且介于其最小值/最大值之间。

我知道添加松弛、盈余、人为变量,但我不能 100% 确定它是否就这么简单。我最初的想法是将每个不等式分成两部分,并根据其符号添加松弛或盈余+人工变量,然后继续使用表格。

希望我设法很好地解释了我的问题,尽管我对如何解决它仍然有些困惑。

提前致谢!希望你们有美好的一天!

4

1 回答 1

0

您有大于和小于约束。您需要将它们转换为一对约束,通过乘以减一具有相同形式的不等式:

N1 ≤ b1*x1 + b2*x2 + .. + bn*xn ≤ N2

 b1*x1 + b2*x2 + .. + bn*xn ≤ N2
-b1*x1 - b2*x2 - .. - bn*xn ≤ -N1

您也可以对变量边界执行此操作(只是那里的系数有一个 1,其余的为零)。然后你就完成了:这是一个相当标准的形式。

除非我错过了什么?

于 2017-10-25T07:40:36.273 回答