ndist = NormalDistribution1000 200; cost = 10 100 10000 01 03 07 20; NUM = 1000; TT = TableRandomndist i 1 NUM; pps_ S_ = ModulePPP qq ii PPP = 0; qq = 0; Forii = 1 ii = NUM ii = ii + 1 Ifq
这段代码呢?这段代码定义了一个正态分布ndist,一个成本矩阵cost,以及一个长度为NUM的数据集TT。函数pp计算在一个给定的库存水平s和订单量S下的利润。
假设我们想要在给定的库存水平下,找到最优的订单量S,使得利润最大化。我们可以使用内置函数FindMaximum来实现这个目标。具体来说,我们可以定义一个新的函数profit[S_],它计算在库存水平s和订单量S下的利润,并传递给FindMaximum函数进行最大化。
代码如下:
ndist = NormalDistribution[1000, 200]; cost = {{10, 100, 10000}, {0.1, 0.3, 0.7, 2.0}}; NUM = 1000; TT = Table[Random[ndist], {i, 1, NUM}];
s = 500;
profit[S_] := pp[s, S]
result = FindMaximum[profit[S], {S, 1000}]
Print["Optimal order quantity: ", Round[result[[2]]]]
这段代码中,我们定义了一个库存水平s为500。然后,我们定义了一个新的函数profit[S_],它计算在给定的库存水平s和订单量S下的利润,并将其传递给FindMaximum函数进行最大化。FindMaximum函数需要传递一个函数和一个初始值,这里我们将初始值设为1000。最后,我们打印出最优的订单量
原文地址: https://www.cveoy.top/t/topic/fJQL 著作权归作者所有。请勿转载和采集!