使用蒙特卡罗模拟确定航空公司应为航班出售的最佳超额机票数量,附有代码和文档。
首先,代码定义了几个参数,包括每张机票的利润(Profit)、机票价格(Tixprice)、每个超售座位因超售罚款而造成的损失(Loss)以及飞机的座位容量(Seatcap)。
接下来,代码定义了simulate_revenue() 函数,该函数将售出的机票数量作为输入,并返回单个航班产生的收入。 该函数通过二项分布模拟将要乘坐该航班的乘客数量,计算销售机票产生的收入,并在必要时减去超售罚款。
然后定义 run_simulation() 函数,该函数将要运行的模拟数量 (num_simulations) 和测试超额售票数量的值范围 (num_tickets_range) 作为输入。 该函数针对范围内的每个值运行simulate_revenue() 函数,并计算所有模拟的平均收入。 然后,该范围内每个值的平均收入将附加到结果列表中。
最后,代码运行 run_simulation() 函数,并使用超额售票数量的一系列值,并将预期利润绘制为超额售票数量的函数。 使用np.argmax()找到结果列表中最大值的索引,
2025-10-06 22:16:40
133KB
蒙特卡洛
1