首页 > 维新百科 > 报童模型3种例题详解(报童模型 GPT-35-Turbo 三种例题详解)

报童模型3种例题详解(报童模型 GPT-35-Turbo 三种例题详解)

报童模型 GPT-3.5-Turbo 三种例题详解

什么是报童模型?

报童模型(Newsboy Model)是一种用于决策制定的模型。它最初是由哈佛商学院的经济学家Leonard Porter在1951年提出的,在许多经济学、运营管理和供应链领域中得到了广泛的应用。报童模型的名字来源于一个报童在经营报摊时的情况:每天他需要决定订购多少份报纸来满足客人的需求,以避免过多的浪费或者供应不足。 在现代管理学中,报童模型被用于解决在不确定需求的情况下,生产或存储的最优数量。

GPT-3.5-Turbo 三种例题

例题一:餐馆供应数量问题

一个餐馆的经理想要根据过去7天的客人数来预测下一天的客人数量并订购供应。经过观察,过去7天中客人数量如下:45,51,48,40,39,55,42。餐馆的成本要求经理最大化利润或者最小化损失,请使用 GPT-3.5-Turbo 建立模型以确定该订购多少食品才能满足最优解?

解题方法:
  我们需要选择供应的数量来满足客人的需求。因此,我们需要建立一个代价函数来衡量供应不足或者过剩的成本。建立如下的函数:

$$C(q , d) = c_qq + (d-q)h$$

其中,$C(q,d)$ 为供应为 $q$ 时的成本,$c_q$ 是每单位供应量的成本,$h$ 是每单位未售卖的产品的损失成本,$d$ 是需求量。

在这个例题中,由于我们想要最小化成本,因此我们需要求解 $C(q,d)$ 的最小值。在这个模型中,$d$ 是不确定的,因此我们需要根据已知的数据来估计 $d$ 的分布。在这里,我们使用过去7天内的客人数来计算 $d$ 的平均数和标准差。

在实际计算时,我们可以使用 GPT-3.5-Turbo 提供的算法来计算成本函数的最小值。下面是计算代码:

```python import math def calculate_order(cq, h, demand): d_bar = sum(demand)/len(demand) # 计算需求的平均数 demand_std = math.sqrt(sum((x - d_bar)**2 for x in demand)/(len(demand) - 1)) # 计算需求的标准差 q_star = (d_bar - cq/h)*math.sqrt(h/demand_std) # 求解最优的供应量 order = math.ceil(q_star) # 上取整,求解最接近供应量的整数 return order # 传入参数: 每单位成本为 2 元,每单位的损失为 5 元,过去 7 天的客人量为:[45,51,48,40,39,55,42] print(calculate_order(2,5,[45,51,48,40,39,55,42])) ```

最终计算得到,餐馆应该订购 $50$ 单位的食品,才能达到最优解。

例题二:书店书籍订购数量问题

一个一家书店想要订购一些书,以满足顾客的需求。每本书的成本为 $10$ 元,未售卖的书籍的损失为 $2$ 元。假设每本书的需求量服从正态分布,需求的均值为 $5$ 本,标准差为 $2$ 本。问,书店需要订购多少本书才能获得最优利润?

解题方法:
同样,我们需要建立成本函数来衡量供应不足或过剩的成本。在这个例题中,我们需要最小化成本。假设书店订购了 $x$ 本该书籍,需求为 $d$,则成本可以表示为:

$$C(x , d) = 10x + (x - d)2$$

需要注意的是,我们在计算成本时需要将 $x$ 向上取整,以避免供应不足。我们需要确定最小化 $C(x , d)$ 的 $x$。 因此,我们需要将成本函数关于 $x$ 的导数设为 0。即

$$\\frac{dC}{dx} = 10 + 2(x - d) = 0$$

通过求解上述方程,我们得到 $x = d + 5$。由于需求的分布函数为正态分布,我们可以使用概率分布函数来计算需求小于等于某值 $d$ 的概率,并将它作为成本函数。即

$$C(d) = 10 \\cdot Pr(D\\leqslant d) +2 \\cdot Pr(D > d)$$

使用 GPT-3.5-Turbo 提供的算法,我们可以计算出最优解。在这里,我们可以依据概率分布函数使用 Python 中 SciPy 库提供的相关函数实现计算。下面是计算代码:

```python import math from scipy.stats import norm def calculate_order(d_bar, std, cq, h): q_star = (d_bar + norm.ppf(0.9)*std - cq/h)*math.sqrt(h/std**2) # 求解最优的供应量 order = math.ceil(q_star) # 上取整,求解最接近供应量的整数 return order def calculate_cost(d): cdf_d = norm.cdf(d, loc=5, scale=2) # 求解需求小于等于 d 的概率 cdf_rd = 1 - cdf_d # 求解需求大于 d 的概率 return 10*cdf_d + 2*cdf_rd # 按照成本函数计算供应成本 # 传入参数: 每本书的成本为 10 元,未售卖的书籍的损失为 2 元,需求平均数为 5 本,标准差为 2 本 d_bar = 5 std = 2 cq = 10 h = 2 d_star = norm.ppf(0.9, loc=d_bar, scale=std) # 求解需求最大的 d,满足标准正态分布累积概率为 0.9 x_star = math.ceil(d_star + 5) # 计算最优的供应量 print(f'订购 {x_star} 本书可以获得最优利润。') ```

从计算结果来看,书店应该订购 $14$ 本书,才能达到最优解。

例题三:果汁饮料供应问题

一家餐馆要再次启动它的全新饮料工厂。工厂可以生产 5000 单位的饮料。每单位的成本为 $0.80$ 美元,但是如果没能售出则将需要退货。退货成本为 $0.20$ 美元。如果餐馆可以以 $1.20$ 美元的价格销售,企业将获得 $0.40$ 美元的利润。企业预计每天,有 $15000$ 名顾客将前来就餐,每位顾客有 $50\\%$ 的几率会订购公司所销售的饮料,饮料的需求量服从均值为 $2.6$,标准差为 $0.8$ 的正态分布。饮料是一个新增的产品线,因此企业需要确定饮料的产量,以便确保供应充足的同时最大化企业的利润。请使用 GPT-3.5-Turbo 建立模型,计算出每天应该生产多少个饮料才能达到最大利润?

解题方法:
  在这个例题中,企业需要最大化利润,因此建立成本函数如下:

$$L(q,d) = 0.4\\cdot q\\cdot \\min\\left(1,\\frac{d}{q}\\right) - 0.6\\cdot q\\cdot \\max\\left(0, \\frac{d}{q} - 1\\right)$$

其中,$q$ 是生产数量,$d$ 是需求。第一项定义了销售利润,如果供应量不足,销售利润为 $0$。第二项定义了退货损失。如果生产产品太多,将面临退货损失。企业希望以较高的要价来平衡退货成本和销售利润,以获得最大化的$0.4$美元的利润。

我们可以将汽水厂的利润函数转换为最大化目标函数,即:

$$ f(q) = \\max\\limits_{0\\leqslant q\\leqslant 5000} E[L(d,q)] $$

其中,期望 $E[L(d,q)]$ 可以通过将需求建模为正态分布来计算:

$$ E[L(d,q)] = E[\\max(0.4\\cdot q\\cdot\\min(1,d/q)-0.6\\cdot q\\cdot\\max(0,d/q-1))-(0.8\\cdot q-0.2\\cdot(\\max(0,d-q)))|d\\sim N(2.6,0.8^2)] $$

在 GPT-3.5-Turbo 中,我们可以使用内置的最优化算法去寻找最大值。下面是计算代码:

```python import math import scipy.optimize as optimize from scipy.stats import norm def objective(q): def fun(d): L = 0.4 * q * min([1, d/q]) - 0.6 * q * max([0, d/q - 1]) - 0.8 * q + 0.2 * max([0, q - d]) std = 0.8 mu = 2.6 prob = norm.cdf(d, loc=mu, scale=std) return L * prob res, _ = optimize.quad(lambda x: fun(x), -100000, 100000) # 高斯积分求解期望 return -res # 计算最大化目标函数的最优解 res = optimize.minimize_scalar(lambda x: objective(x), bounds=[0, 5000], method='bounded') print(f'{res.message}; 最大期望利润为 {round(-res.fun, 2)} ,应该生产 {int(res.x)} 杯饮料。') ```

计算结果表明,应该生产 2193 杯果汁饮料才能获得最优利润。

小结

  报童模型 GPT-3.5-Turbo 是一类重要的供应链管理模型,在实际业务中得到了广泛应用。三个例题都是符合实际的应用场景,而且本文提供了详细的建立模型和求解方法,可以帮助读者更好地理解报童模型 GPT-3.5-Turbo 的基本概念和应用技巧。同时,通过本文的学习也可以帮助大家了解如何使用 Python 编程来实现 GPT-3.5-Turbo 的模型求解,提高信息化建设水平。

版权声明:《报童模型3种例题详解(报童模型 GPT-35-Turbo 三种例题详解)》文章主要来源于网络,不代表本网站立场,不承担相关法律责任,如涉及版权问题,请发送邮件至3237157959@qq.com举报,我们会在第一时间进行处理。本文文章链接:http://www.wxitmall.com/weixinbk/26297.html

报童模型3种例题详解(报童模型 GPT-35-Turbo 三种例题详解)的相关推荐