Кондитерская продает торты с белковым кремом по це...

Creato il: 17 settembre 2025

Risposto usando GPT-5 da Chat01

Domanda

Кондитерская продает торты с белковым кремом по цене 370 руб. Себестоимость изготовления торта составляет 200 руб. Если сразу изготавливать большое количество тортов (40 и больше), то их себестоимость снизится до 180 руб. Если торт не продан в течение суток, то его придется выбросить. Результаты продаж за последнее время сведены в таблицу:
Спрос 30 35 40 45 50 55 60 65 70
Случаев 2 3 5 8 10 11 12 6 2

Python

python
demand = [30,35,40,45,50,55,60,65,70] cases = [2,3,5,8,10,11,12,6,2] total_cases = sum(cases) probs = [c/total_cases for c in cases] total_cases, probs[:3], sum(probs) (59, [0.03389830508474576, 0.05084745762711865, 0.0847457627118644], 1.0)

Python

python
import numpy as np price = 370 def unit_cost(q): return 180 if q>=40 else 200 def expected_profit(q): rev=0 for d,p in zip(demand, probs): rev += price*min(q,d)*p cost = unit_cost(q)*q return rev - cost res = [(q, expected_profit(q)) for q in range(10,81)] max(res, key=lambda x: x[1])[:5] (55, 8474.57627118644)

Python

python
[(q, round(expected_profit(q),2)) for q in range(40,71,5)] [(40, 7380.51), (45, 8016.95), (50, 8402.54), (55, 8474.58), (60, 8201.69), (65, 7552.54), (70, 6715.25)]

Python

python
[(q, expected_profit(q)) for q in range(50,61)] [(50, 8402.542372881355), (51, 8416.949152542376), (52, 8431.35593220339), (53, 8445.762711864409), (54, 8460.169491525423), (55, 8474.57627118644), (56, 8420.0), (57, 8365.42372881356), (58, 8310.847457627118), (59, 8256.271186440677), (60, 8201.694915254237)]

Python

python
import numpy as np mean_d = sum(d*p for d,p in zip(demand, probs)) mean_d 52.20338983050848

Python

python
def expected_unsold(q): # E[(q-D)+] s=0 for d,p in zip(demand, probs): s += max(q-d,0)*p return s def stockout_prob(q): # P(D>q) return sum(p for d,p in zip(demand, probs) if d>q) expected_uns = expected_unsold(55) stockout = stockout_prob(55) expected_uns, stockout (5.338983050847457, 0.33898305084745767)

Pensiero

Summarizing optimal production quantities

If you produce 55 cakes, you can expect approximately 5.34 unsold cakes per day (waste) and a stockout probability of about 33.9%. I’ll report that the optimal production quantity is 55 cakes, with an expected daily profit of around 8,475 rubles. I'll also provide sensitivity analysis for quantities 50 and 60 and check if producing fewer than 40 might be better.

Thought for 58s

Risposta

Задача: выбрать объём выпечки qq, чтобы максимизировать ожидаемую прибыль за день.

Цена: 370 ₽.
Себестоимость: 200 ₽, а если q40q\ge 40 — 180 ₽.
Непроданное выбрасывается (ликвидационной стоимости нет).
Плотность спроса задаётся выборкой (всего 59 наблюдений):
30,35,40,45,50,55,60,65,70 шт с частотами 2,3,5,8,10,11,12,6,2.

Модель

Прибыль при спросе DD и выпуске qq:

π(q,D)=370min(q,D)c(q)q,c(q)={200,q<40180,q40\pi(q,D)=370\cdot \min(q,D) - c(q)\cdot q,\quad c(q)=\begin{cases} 200,& q<40\\ 180,& q\ge 40 \end{cases}

Ожидаемая прибыль:

E[π(q,D)]=370E[min(q,D)]c(q)q,\mathbb E[\pi(q,D)]=370\cdot \mathbb E[\min(q,D)]-c(q)\,q,

где вероятности берём как «случаев/59».

Результат (ключевые qq)

qqОжид. прибыль, ₽
407 381
458 017
508 403
558 475
608 202
657 553
706 715

(Лучшее среди q<40q<40 ≈ 6 442 ₽ — заметно хуже, из-за высокой себестоимости 200 ₽.)

Оптимальное решение

Выпекать 55 тортов в день.
Ожидаемая прибыль ≈ 8 475 ₽/день (с учётом себестоимости 180 ₽ за штуку).

Дополнительно (для понимания рисков при q=55q=55):

  • Средний спрос ≈ 52.2 торта/день.
  • Вероятность дефицита P(D>55)P(D>55)0.339.
  • Ожидаемые списания E[(qD)+]\mathbb E[(q-D)_+]5.34 торта/день.

Если нужно, могу показать детальный расчёт для любого другого qq или построить график «ожидаемая прибыль vs. выпуск».

Domanda

  1. Построить таблицу выигрышей-потерь.
  2. Определить количество изготовляемых тортов в соответствии с критерием максимума ожидаемой монетарной ценности (EMV).

Python

python
import numpy as np, pandas as pd price=370 def cost(q): return 200 if q<40 else 180 demands=[30,35,40,45,50,55,60,65,70] freq=[2,3,5,8,10,11,12,6,2] n=sum(freq) probs=[f/n for f in freq] n, probs[:3], sum(probs) (59, [0.03389830508474576, 0.05084745762711865, 0.0847457627118644], 1.0)

Python

python
def profit(q,d): c=200 if q<40 else 180 sold=min(q,d) return price*sold - c*q qs=[30,35,40,45,50,55,60,65,70] payoff=pd.DataFrame(index=qs, columns=demands, dtype=float) for q in qs: for d in demands: payoff.loc[q,d]=profit(q,d) payoff.head()[:3] 30 35 40 45 50 55 60 65 70 30 5100.0 5100.0 5100.0 5100.0 5100.0 5100.0 5100.0 5100.0 5100.0 35 4100.0 5950.0 5950.0 5950.0 5950.0 5950.0 5950.0 5950.0 5950.0 40 3900.0 5750.0 7600.0 7600.0 7600.0 7600.0 7600.0 7600.0 7600.0

Python

python
emv=payoff.dot(np.array(probs)) emv 30 5100.000000 35 5887.288136 40 7380.508475 45 8016.949153 50 8402.542373 55 8474.576271 60 8201.694915 65 7552.542373 70 6715.254237 dtype: float64

Python

python
best_by_demand=payoff.max(axis=0) regret=best_by_demand - payoff best_by_demand, regret.head(3) (30 5100.0 35 5950.0 40 7600.0 45 8550.0 50 9500.0 55 10450.0 60 11400.0 65 12350.0 70 13300.0 dtype: float64, 30 35 40 45 50 55 60 65 70 30 0.0 850.0 2500.0 3450.0 4400.0 5350.0 6300.0 7250.0 8200.0 35 1000.0 0.0 1650.0 2600.0 3550.0 4500.0 5450.0 6400.0 7350.0 40 1200.0 200.0 0.0 950.0 1900.0 2850.0 3800.0 4750.0 5700.0)

Python

python
eol=regret.dot(np.array(probs)) emv, eol, (best_by_demand*probs).sum() (30 5100.000000 35 5887.288136 40 7380.508475 45 8016.949153 50 8402.542373 55 8474.576271 60 8201.694915 65 7552.542373 70 6715.254237 dtype: float64, 30 4762.711864 35 3975.423729 40 2482.203390 45 1845.762712 50 1460.169492 55 1388.135593 60 1661.016949 65 2310.169492 70 3147.457627 dtype: float64, 9862.71186440678)

Pensiero

Finalizing tables

I’ll create the payoff and regret matrices, including the expected monetary value (EMV) for each quantity and show the calculation for q=55. We’ll combine the profit and loss (выигрыши-потерь) in one table, considering the potential losses for unsold quantities. I'll make sure to explain the reasoning behind the matrices and EMV.

Thought for 44s

Risposta

Ниже — всё, что нужно.

1) Таблица выигрышей-потерь

Параметры

Цена p=370p=370 ₽. Себестоимость:

  • c=200c=200 ₽ за шт., если q<40q<40;
  • c=180c=180 ₽ за шт., если q40q\ge 40.

Прибыль при спросе DD и выпуске qq:

π(q,D)=pmin(q,D)c(q)q.\pi(q,D)=p\cdot \min(q,D)-c(q)\,q.

Спрос (частоты → вероятности, всего 59 наблюдений):

D303540455055606570
случаев235810111262
P(D)P(D)0.03390.05080.08470.13560.16950.18640.20340.10170.0339

(а) Таблица выигрышей (прибылей π(q,D)\pi(q,D), ₽)

Строки — объём выпечки qq, столбцы — спрос DD.

q\D303540455055606570
30510051005100510051005100510051005100
35410059505950595059505950595059505950
40390057507600760076007600760076007600
45375056007450855085508550855085508550
50360054507300840095009500950095009500
553450530071508250935010450104501045010450
603300515070008100920010300114001140011400
653150500068507950905010150112501235012350
703000485067007800890010000111001220013300

(б) Таблица потерь (упущенная выгода, «regret», ₽)

Потеря = (максимальная прибыль в столбце при данном DD) – π(q,D)\pi(q,D).

q\D303540455055606570
3008502500345044005350630072508200
35100001650260035504500545064007350
401200200095019002850380047505700
451350350150010001900285038004750
5015005003001500950190028503800
551650650450300150095019002850
60180080060045030015009501900
6519509507506004503001500950
70210011009007506004503001500

2) Критерий EMV (макс. ожидаемой монетарной ценности)

Ожидаемая прибыль EMV(q)=Dπ(q,D)P(D) \mathrm{EMV}(q)=\sum_D \pi(q,D)\,P(D):

qqEMV, ₽
305 100.00
355 887.29
407 380.51
458 016.95
508 402.54
558 474.58
608 201.69
657 552.54
706 715.25

Решение по EMV: выпускать q=55q=55 тортов в день.
Ожидаемая прибыль ≈ 8 474.6 ₽.

Проверка через ожидаемую упущенную выгоду (EOL): минимальна также при q=55q=55 (EOL≈1 388.14 ₽), что согласуется с EMV.

Domanda

image.pngimage.png

реши эту задачу

Python

python
import math D=2600 S=800 prices=[350,330,320,300] breaks=[1,100,400,1000] # min quantity for each price tier ranges=[(1,99),(100,399),(400,999),(1000,10**9)] candidates=[] for P,(L,U) in zip(prices,ranges): h=0.15*P Q=math.sqrt(2*D*S/h) feasible=L<=Q<=U if feasible: candidates.append((P,L,U,'EOQ',Q)) # also consider lower bound if not feasible? For all price tiers, for higher discount tiers, we can order at least L candidates.append((P,L,U,'LB',L)) candidates[:10],len(candidates) ([(350, 1, 99, 'LB', 1), (330, 100, 399, 'EOQ', 289.89723013579146), (330, 100, 399, 'LB', 100), (320, 400, 999, 'LB', 400), (300, 1000, 1000000000, 'LB', 1000)], 5)

Python

python
for P,(L,U) in zip(prices,ranges): h=0.15*P Q=math.sqrt(2*D*S/h) print(P,h,Q,L,U)

Python

python
def total_cost(P,Q): D=2600;S=800;h=0.15*P return D*P + S*D/Q + h*Q/2 for (P,L,U,tag,Q) in candidates: print(tag,P,Q,total_cost(P,Q))

Python

python
D=2600; S=800 divisors=[] for K in range(1,51): if D%K==0: Q=D//K # determine price bracket if Q>=1000: P=300 elif Q>=400: P=320 elif Q>=100: P=330 else: P=350 h=0.15*P total= D*P + K*S + h*Q/2 divisors.append((K,Q,P,total)) divisors[:10], len(divisors) ([(1, 2600, 300, 839300.0), (2, 1300, 300, 810850.0), (4, 650, 320, 850800.0), (5, 520, 320, 848480.0), (8, 325, 330, 872443.75), (10, 260, 330, 872435.0), (13, 200, 330, 873350.0), (20, 130, 330, 877217.5), (25, 104, 330, 880574.0), (26, 100, 330, 881275.0)], 12)

Python

python
def plan_cost(orders): D=2600;S=800 total_purchase=0 total_ordering=S*len(orders) holding=0 for Q,P in orders: total_purchase+=Q*P h=0.15*P holding+= h * Q*Q /(2*D) return total_purchase+total_ordering+holding plans=[ [('two1300',)], # placeholder ] print(plan_cost([(1000,300),(1000,300),(600,320)]))

Pensiero

Selecting the optimal order size

The plan with two orders of 1300 each gives the lowest cost of 810,850. A mix of smaller orders just worsens costs, so sticking with equal orders of 1300 seems best. For part a, the optimal order size is Q* = 1000 with 3 orders per year, totaling 804,580 annually.

Calculating total costs

For part b, we look at two options: two orders of 130

Thought for 6m 8s

Risposta

Разберём «военный госпиталь» как EOQ с по-ассортиментными (all-units) скидками.

Дано

  • Годовой спрос D=2600D=2600 комплектов.
  • Постоянные издержки на заказ S=800S=800 руб./заказ.
  • Хранение — i=15%i=15\% от закупочной цены в год h(P)=0.15P\Rightarrow h(P)=0.15P.
  • Сетка скидок (за размер одного заказа QQ):
интервал QQцена
1991\ldots 99P0=350P_0=350
100399100\ldots 399P1=330P_1=330
400999400\ldots 999P2=320P_2=320
1000\ge 1000P3=300P_3=300

a) Оптимальный размер заказа, число заказов и полная годовая стоимость

Для каждого ценового уровня считаем классический EOQ(P)=2DSh(P) \text{EOQ}(P)=\sqrt{\dfrac{2DS}{h(P)}} и проверяем, попадает ли он в соответствующий интервал.
Если не попадает — рассматриваем нижнюю границу интервала (минимум, чтобы получить цену). Полная годовая стоимость:

TC(Q,P)=DP+SDQ+h(P)Q2.TC(Q,P)=D\,P+\frac{SD}{Q}+\frac{h(P)\,Q}{2}.

Расчёты (руб.):

  • P0=350P_0=350, h=52.5h=52.5, EOQ281.5[1,99]EOQ\approx 281.5\notin[1,99] → не рассматриваем (доминирует уровень P1P_1).
  • P1=330P_1=330, h=49.5h=49.5, EOQ289.9[100,399]EOQ\approx 289.9\in[100,399]:
    TC(289.9,330)872350TC(289.9,330)\approx 872\,350.
  • P2=320P_2=320, h=48h=48: нужен минимум Q=400Q=400:
    TC(400,320)846800TC(400,320)\approx 846\,800.
  • P3=300P_3=300, h=45h=45: нужен минимум Q=1000Q=1000:
    TC(1000,300)804580TC(1000,300)\approx \mathbf{804\,580}.

Вывод (a): оптимально брать Q\*=1000Q^\*=1000 (получаем цену 300 руб.),
число заказов в среднем D/Q\*=2.6D/Q^\*=2.6 (≈ 3 поставки в год),
минимальная полная годовая стоимость 804580\approx 804\,580 руб.


b) План заказов с целым числом поставок и нулевым остатком в конце года

Требование: Qk=2600\sum Q_k = 2600 и количество заказов — целое.
Поскольку цена 300 руб. действует при Qk1000Q_k\ge 1000, выгодно закупать только с этой ценой, а для минимизации складских затрат — равными партиями (суммарные годовые издержки хранения при разных QkQ_k равны 12Dh(Pk)Qk2\tfrac{1}{2D}\sum h(P_k)Q_k^2, минимум — при равных QkQ_k внутри уровня цены).

Лучший план: 2 заказа по 1300 (оба 1000\ge 1000 → цена 300).

Проверка затрат:

  • Закупка: 2600×300=7800002600\times 300=780\,000.
  • Оформление: 2×800=16002\times 800=1\,600.
  • Хранение: h=0.15×300=45h=0.15\times 300=45, годовые =4513002=29250= \dfrac{45\cdot 1300}{2}=29\,250.

Итого TC=780000+1600+29250=810850TC=780\,000+1\,600+29\,250=\mathbf{810\,850} руб.

Для сравнения, вариант «1000+1000+600» (две партии по 1000 по 300 руб. и одна 600 по 320 руб.) даёт 815031\approx 815\,031 руб. — хуже из-за более высокой закупочной цены и больших складских.


Ответ

  • (a) Q\*=1000Q^\*=1000 шт., цена 300 руб., EMTC 804580\approx \mathbf{804\,580} руб./год, среднее число поставок 2.6\approx 2.6.
  • (b) С учётом целочисленных поставок и нулевого остатка: 2 заказа по 1300 шт. (оба по 300 руб.); полная годовая стоимость 810850\approx \mathbf{810\,850} руб.

Domanda

image.pngimage.png

реши эту задачу

Python

python
D=255*52 S=26 H=0.93 Q=(2*D*S/H)**0.5 D,S,H,Q (13260, 26, 0.93, 861.0571147367111)

Python

python
import math z=70/104 Phi=0.5*(1+math.erf(z/math.sqrt(2))) Phi 0.7495508228047897

Python

python
import math def z_from_p(p): lo,hi=-10,10 for _ in range(80): mid=(lo+hi)/2 if 0.5*(1+math.erf(mid/math.sqrt(2)))<p: lo=mid else: hi=mid return (lo+hi)/2 for p in [0.994,0.965,0.91,0.75]: print(p, z_from_p(p))

Pensiero

import math def z_from_p(p): lo,hi=-10,10 for _ in range(80): mid=(lo+hi)/2 if 0.5*(1+math.erf(mid/math.sqrt(2)))<p: lo=mid else: hi=mid return (lo+hi)/2 for p in [0.994,0.965,0.91,0.75]: print(p, z_from_p(p))

Thought for 1m 35s

Risposta

Ниже — расчёт по классической модели (EOQ + точка заказа с нормальным спросом).

Дано

  • Средний недельный спрос dнед=255d_{\text{нед}}=255, σнед=52\sigma_{\text{нед}}=52.
  • Время поставки L=4L=4 недели → спрос за срок поставки:
    μL=dнедL=1020\mu_L= d_{\text{нед}}L=1020,  σL=σнедL=104\ \sigma_L=\sigma_{\text{нед}}\sqrt{L}=104.
  • Затраты на заказ S=26S=26 $.
  • Годовые удельные затраты хранения H=0.93H=0.93 $/ед.
  • Годовой спрос D=52255=13260D = 52\cdot 255 = 13\,260 ед.

a) EOQ, минимизирующий годовые издержки

Q=2DSH=213,260260.93861 ед.Q^*=\sqrt{\frac{2DS}{H}} =\sqrt{\frac{2\cdot 13{,}260\cdot 26}{0.93}}\approx \mathbf{861}\ \text{ед.}

Дополнительно:

  • число заказов в год N=D/Q15.4N=D/Q^*\approx 15.4;
  • средний цикл между заказами 52/N3.4\approx 52/N \approx 3.4 недели.

b) Точка заказа при уровне обслуживания P1=99.4%P_1=99.4\%

Для циклового уровня обслуживания:

R=μL+zP1σL,z0.9942.512.R = \mu_L + z_{P_1}\,\sigma_L,\qquad z_{0.994}\approx 2.512. R1020+2.5121041282 ед.R \approx 1020 + 2.512\cdot 104 \approx \mathbf{1282}\ \text{ед.}

(безопасный резерв SSP1=zσL261SS_{P_1}= z\sigma_L \approx \mathbf{261} ед.)


c) Стоимость обеспечения уровня P1P_1 и насколько она больше, чем при P2=96.5%P_2=96.5\%

Затраты, зависящие только от уровня сервиса, — это годовые затраты на поддержание страхового запаса:

CSS(P)=HSS=HzPσL.C_{\text{SS}}(P)=H\cdot SS=H\cdot z_P\,\sigma_L .
  • z0.9942.512z_{0.994}\approx 2.512:
    SSP1261SS_{P_1}\approx 261CSS(P1)0.93261241.8 C_{\text{SS}}(P_1)\approx 0.93\cdot 261\approx \mathbf{241.8}\ /год$.
  • z0.9651.812z_{0.965}\approx 1.812:
    SSP2188SS_{P_2}\approx 188CSS(P2)0.93188174.8 C_{\text{SS}}(P_2)\approx 0.93\cdot 188\approx \mathbf{174.8}\ /год$.

Разница: ΔC67 \Delta C\approx \mathbf{67}\ /год(за(заP_1сверхсверхP_2$).


d) Какому уровню обслуживания соответствует заданный запас V=70V=70 ед.?

z=VσL=701040.6745,P=Φ(z)75.0%.z=\frac{V}{\sigma_L}=\frac{70}{104}\approx 0.6745,\quad P=\Phi(z)\approx \mathbf{75.0\%}.

e) Безопасный резерв и риск дефицита при P3=91%P_3=91\%

z0.911.341,SSP3=zσL1.341104139 ед.z_{0.91}\approx 1.341,\quad SS_{P_3}=z\sigma_L\approx 1.341\cdot 104\approx \mathbf{139}\ \text{ед.}

Риск дефицита на цикл =1P39%=1-P_3\approx \mathbf{9\%}.


Итоги (кратко)

  • Q861Q^*\approx 861 ед.
  • Точка заказа для 99.4%99.4\%: R1282R\approx 1282 ед.
  • Цена повышения сервиса с 96.5%96.5\% до 99.4%99.4\%: ≈ $67/год дополнительных затрат на страховой запас.
  • V=70V=70 ед. ↔ уровень обслуживания ≈ 75%.
  • Для 91%91\%: SS139SS\approx 139 ед., риск дефицита ≈ 9%.

Condividi questa Q&A