如何确定哪种订单组合是最优的,在Excel中?



我在Excel中挣扎着完成一个小任务。批量订购时,我有两种选择。方案A - 5件80元。选项B: 30件,200美元。我不能买单件,我必须大批购买。我怎样才能写出一个公式来检查我应该下哪个组合的大货订单?例如,如果我想订购34件,那么最好是一次订购选项B,一次订购选项A,而不是两次订购选项B或7次订购选项A。

我试图找到一个方程,其中x截距离将显示有多少选项A的订单,但它只适用于非常简单的情况下,而不是所有可能的输入。我认为这个问题的答案可能存在于IF公式中,但我不确定。

这看起来像是整数线性规划的问题:

Parameters:
n  =  34 = wanted number of pieces
pA =  80 = price of A 
pB = 200 = price of B
nA =   5 = number of pieces per A
nB =  30 = number of pieces per B
Decision variables:
qA, qB = number of lots A, number of lots B, integers
Minimize:
pA * qA + pB * qB
Under constraints:
nA * qA + nB * qB >= n
qA >= 0
qB >= 0

另一方面,问题很简单,因为B (pB/nB = 6.67)的每件价格比A (pA/nA = 16)便宜得多;1个B的价格介于2和3个A之间。因此,有一个明显的启发式:将所需的碎片数量除以30,尽可能多地取出B,如果剩下的A多于2个,则再取出一个B,否则以A完成。

qB = floor(n / 30)
if n - 30 * qB > 2:
qB += 1
qA = 0
else:
qA = ceil((n - 30 * qB) / 5)

最新更新