我遇到了使用以下配方来计算可以生产多少加仑混合物的问题。
<1> 1加仑橙色混合物:3夸脱橙汁,0.75夸脱菠萝汁,0.25夸脱芒果汁。 <1> 1加仑菠萝混合物:1夸脱橙汁,2.5夸脱菠萝汁,0.5夸脱芒果汁。 <1> 1加仑芒果混合物:0.5夸脱橙汁,0.5夸脱菠萝汁,3夸脱芒果汁。你得到7600加仑的橙汁,4900加仑的菠萝汁和3500芒果汁
我将所有配方要求转换为加仑
这是我的代码,但它没有给我一个开始的答案。为什么它给我奇数小数答案?
clc
clear
A = [.75;.1875;.0625];
B = [.25;.625;.125];
C = [.125;.125;.75];
X = [7600;4900;3500];
OrangeBlend = X./A
PineappleBlend = X./B
MangoBlend = X./C
答案 0 :(得分:1)
我认为这是一个优化问题:您希望最大化您使用可用果汁的混合量:
混合量:
max blendorange + blendpineapple + blendmango
与
0.75*blendorange + 0.25*blendpineapple + 0.125*blendmango < 7600;
0.1857*blendorange + 0.625*blendpineapple + 0.125*blendmango < 4900;
0.0625*blendorange + 0.125*blendpineapple + 0.75*blendmango < 3500;
这可以在Matlab中解决linprog问题:
f = [-1 -1 -1]'; % because linprog minimizes and we want to maximize
A = [0.75 0.25 0.125;0.1875 0.625 0.125;0.0625 0.125 0.75];
b = [7600;4900;3500];
linprog(f,A,b)
这给出了:
ans =
1.0e+003 *
8.0000
4.8000
3.2000
8000加仑的橙子,4800加仑的菠萝和3200加仑的芒果......
有趣的是注意到了
A*ans
的产率 1.0e + 003 *
7.6000
4.9000
3.5000
所以使用了所有的果汁。这意味着问题可以通过以下方式解决:
A\b
因为比例恰好是这样,当最大化混合量时,你会消耗掉所有的果汁。无论如何我不知道问题是怎么问到你的,所以我没有直接去找线性方程式。
希望这会有所帮助......