最大收益的线性规划算法

linear programming algorithm for maximum proceeds

可以找到问题here

首先,我会为要求解的每个数量分配一个变量(x 或 y),同样为要最大化或最小化的数量(成本、利润、金额等)写一个方程式并将其称为最大化或最小化方程。然后,我必须将每个约束写成一个不等式,并对每个不等式进行编号并绘制系统图,将图上的每条线编号为其对应的不等式。

这应该会产生一个带有多个 "corners." 的阴影解区域,每个角都是两个约束不等式的交集。我将不得不通过求解相交方程组来找到角的坐标。

使用找到的坐标,然后将角的坐标代入 maximization/minimization 方程。给出这个方程的最大值或最小值的坐标(取决于问题在寻找什么,在这种情况下最大收益)是问题的解决方案。

谁能提供一个粗略的提示或伪代码?我知道我必须做的事情的大致轮廓,但我只是不知道如何着手攻击它。当然,我必须构造不等式作为约束,在这种情况下,我正在解决最大化问题。

示例:Jimmy 正在烘烤饼干以进行糕点义卖。他正在制作巧克力片和燕麦葡萄干饼干。他从每块巧克力饼干中得到 25 美分,从每块燕麦葡萄干饼干中得到 30 美分。他不能制作超过 500 种饼干,他总共不能制作超过 800 块饼干。他必须制作至少三分之一的巧克力曲奇作为燕麦葡萄干曲奇。他应该做多少每种曲奇饼才能赚到最多的钱?

 Variables: x = number of chocolate chip cookies (in hundreds)

 y = number of oatmeal raisin cookies (in hundreds)
 Maximization equation: Profit = 25x + 30y

 Constraints:

 1.x≤5
 2.y≤5
 3.x + y≤8
 4.x≥y


 Corners:
 1 and 3: x = 5, x + y = 8. (x, y) = (5, 3).
 2 and 3: y = 5, x + y = 8. (x, y) = (3, 5).
 2 and 4: y = 5, x = y. (x, y) = (, 5).

 Plug into maximization equation:

 (5, 3)Profit = 25(5) + 30(3) = 215.
 (3, 5)Profit = 25(3) + 30(5) = 225.
 (, 5)Profit = 25() + 30(5) = 191.67.


 Thus, the x and y values which maximize the profit are (x, y) = (3, 5). 
 Jimmy should bake 300 chocolate chip cookies and 500 oatmeal raisin 
 cookies.

理想情况下,您会在 Math StackExchange 上问这个问题,因为这不是计算机科学意义上的编程问题,而是 数学"linear program" 感觉。无论如何,解决你的问题。首先为每种成分分配变量:

x_1 := Sugar
x_2 := Flour
x_3 := Dried Fruit
x_4 := Chocolate Chips

前四个约束很简单:

x_1 <= 20
x_2 <= 20
x_3 <= 5
x_4 <= 5

我们要利润最大化,所以objective是

max.  z = 10(y_1) + 12(y_2) + 14(y_3) + 7(y_4) + 2(y_5)

哪里

y_1 = 0.5(x_1) + x_2 + 0.5(x_4)
y_2 = x_1 + 0.5(x_2) + x_3
y_3 = 0.5(x_1) + 2.5(x_3) + 0.25(x_4)
y_4 = 2(x_1)
y_5 = x_1 + 2(x_2) + x_3 + x_4

现在将y_1, ..., y_5代入objective函数z以获得objective函数作为x_1, ..., x_4的立即函数。