シミレーション工学7
note Item Type Metadata
note
# 在庫管理の方式
在庫管理は、企業が商品や原材料を適切な量だけ保有し、過剰在庫による保管費用の増加や在庫不足による機会損失を最小化するための重要な経営管理手法である。本資料では、在庫管理の基本的な方式と理論について解説する。
## 目次
1. [在庫管理の概要](#在庫管理の概要)
2. [定期定量方式](#定期定量方式)
3. [在庫管理の基本モデル](#在庫管理の基本モデル)
4. [経済的発注量(EOQ: Economic Order Quantity)](#経済的発注量eoq-economic-order-quantity)
5. [問題① 最適発注量の計算](#問題①最適発注量の計算)
6. [リードタイムと安全在庫](#リードタイムと安全在庫)
7. [問題② リードタイムと安全在庫の計算](#問題②リードタイムと安全在庫の計算)
8. [例② 新聞売り子問題(Newsvendor Problem)](#例②新聞売り子問題newsvendor-problem)
9. [問題③ 新聞売り子問題の数値計算](#問題③新聞売り子問題の数値計算)
10. [ポアソン分布による需要モデル](#ポアソン分布による需要モデル)
11. [シミュレーション結果の解釈](#シミュレーション結果の解釈)
12. [在庫管理方式の選択指針](#在庫管理方式の選択指針)
13. [まとめ](#まとめ)
---
## 在庫管理の概要
在庫管理(Inventory Management)は、企業が商品や原材料を適切な量だけ保有し、過剰在庫による保管費用の増加や在庫不足による機会損失を最小化するための重要な経営管理手法である。
### 在庫管理の数学的定式化
在庫管理問題は、本質的に**制約付き最適化問題**(Constrained Optimization Problem)として定式化される:
$$
\begin{aligned}
\min_{Q \geq 0} \quad & C(Q) = C_0 \cdot \frac{R}{Q} + C_1 \cdot \frac{Q}{2} \\
\text{s.t.} \quad & Q > 0, \quad R > 0, \quad C_0 > 0, \quad C_1 > 0
\end{aligned}
$$
ここで、目的関数 $ C(Q) $ は総在庫費用、制約条件は非負性とパラメータの正値性を保証する。
### 在庫管理の理論的基盤
在庫管理理論は、以下の学問分野に基づいている:
1. **最適化理論**(Optimization Theory):費用最小化・利益最大化
2. **確率論**(Probability Theory):不確実な需要のモデル化
3. **待ち行列理論**(Queueing Theory):発注から納入までのプロセス
4. **統計的推論**(Statistical Inference):需要予測とパラメータ推定
## 定期定量方式
定期定量方式は、**定期発注方式**と**定量発注方式**の総称である。いずれも、発注時期または発注量のいずれかを固定することで、在庫管理を簡素化する方式である。
### 定期発注方式
- **特徴**:発注時期が固定されている
- **メリット**:発注業務の計画が立てやすい
- **デメリット**:需要変動への対応が遅れる可能性がある
#### 定期発注方式の計算方法
定期発注方式では、発注間隔 $ T $ を固定し、各発注時点で在庫量を確認して必要な量を発注する。
$$
\text{発注量} = \text{需要予測量} + \text{安全在庫} - \text{現在在庫量} - \text{発注残}
$$
ここで:
- **需要予測量**:次回発注までの期間 $ T $ における需要予測
- **安全在庫**:需要変動に対応するための在庫
- **現在在庫量**:発注時点での在庫量
- **発注残**:既に発注済みで未納入の数量
### 定量発注方式
- **特徴**:発注量が固定されている
- **メリット**:在庫水準の管理が容易
- **デメリット**:発注回数が需要に応じて変動する
#### 定量発注方式の計算方法
定量発注方式では、発注量 $ Q $ を固定し、在庫量が発注点に達したときに発注する。
$$
\text{発注点} = \text{リードタイム中の需要予測} + \text{安全在庫}
$$
発注量 $ Q $ は通常、EOQ公式などで決定される。
### 定期発注方式と定量発注方式の比較
| 項目 | 定期発注方式 | 定量発注方式 |
|------|------------|------------|
| 発注時期 | 固定 | 変動(発注点到達時) |
| 発注量 | 変動 | 固定 |
| 在庫管理の複雑さ | 中 | 低 |
| 需要変動への対応 | 遅い | 速い |
| 適用例 | 需要が安定している商品 | 需要変動が大きい商品 |
**図1: 在庫管理方式の分類**
```mermaid
graph TB
A[在庫管理方式<br/>Inventory Management Systems] --> B[定期定量方式<br/>Fixed Period/Quantity]
A --> C[確率的在庫モデル<br/>Stochastic Inventory Models]
A --> D[動的在庫モデル<br/>Dynamic Inventory Models]
B --> E[定期発注方式<br/>Periodic Review System<br/>発注間隔T固定]
B --> F[定量発注方式<br/>Continuous Review System<br/>発注量Q固定]
E --> E1[発注量計算<br/>Q = 需要予測 + 安全在庫<br/>- 現在在庫 - 発注残]
E --> E2[発注回数<br/>n = 1/T回/年]
F --> F1[発注点計算<br/>ROP = d×L + SS<br/>d: 日次需要, L: リードタイム<br/>SS: 安全在庫]
F --> F2[発注量<br/>Q = EOQ = √2C_0R/C_1]
C --> G[新聞売り子問題<br/>Newsvendor Problem]
C --> H[多期間在庫モデル<br/>Multi-Period Models]
G --> G1[最適発注量<br/>FQ* = 1 - c/a<br/>F: 累積分布関数]
```
## 在庫管理の基本モデル
商品の需要を一定とみなす定期定量方式の単純な場合を考える。このモデルでは以下の仮定を置く:
- 発注は在庫が0になったときに行う
- 発注と同時に商品が納入される(リードタイム=0)
- 需要は一定で変動しない
- 在庫切れは発生しない
### 記号の定義
- $ R $:商品の年間需要量
- $ Q $:1回あたりの発注量
- $ C_0 $:1回あたりの発注費用
- $ C_1 $:商品1単位あたりの年間保管費用
- $ C $:総在庫費用(年間発注費用 + 年間保管費用)
### 在庫変動のモデル
**図2: 基本EOQモデルの在庫変動パターン**
```mermaid
graph TB
subgraph "基本EOQモデルの在庫変動パターン"
A[在庫水準 Q<br/>Inventory Level] -->|需要率 d = R/T<br/>Demand Rate| B[在庫減少<br/>Inventory Depletion]
B -->|在庫0<br/>Stockout Point| C[発注実行<br/>Order Placement<br/>t=0]
C -->|即時納入<br/>Instantaneous Delivery<br/>リードタイムL=0| D[在庫補充<br/>Inventory Replenishment<br/>Q units]
D --> A
E[発注サイクル<br/>Order Cycle<br/>T=Q/R] -.->|繰り返し| A
end
subgraph "パラメータ定義"
F[R 年間需要量<br/>Annual Demand]
G[Q 発注量<br/>Order Quantity]
H[C_0 発注費用<br/>Ordering Cost]
I[C_1 保管費用率<br/>Holding Cost Rate]
end
```
### 総在庫費用の式
総在庫費用 $ C(Q) $ は以下のように表される:
$$
C(Q) = C_0 \cdot \frac{R}{Q} + C_1 \cdot \frac{Q}{2}
$$
#### 式の導出
**年間発注費用**の導出:
発注回数 $ n $ は年間需要量 $ R $ と発注量 $ Q $ の比で与えられる:
$$
n = \frac{R}{Q}
$$
年間発注費用 $ C_{\text{order}}(Q) $ は:
$$
C_{\text{order}}(Q) = C_0 \cdot n = C_0 \cdot \frac{R}{Q}
$$
**年間保管費用**の導出:
在庫水準 $ I(t) $ は時間 $ t $ の関数として、需要率 $ d = R/T $($ T $ は年間期間)を用いて:
$$
I(t) = Q - d \cdot t, \quad 0 \leq t \leq \frac{Q}{d}
$$
平均在庫量 $ \bar{I} $ は:
$$
\bar{I} = \frac{1}{Q/d} \int_0^{Q/d} I(t) \, dt = \frac{d}{Q} \int_0^{Q/d} (Q - dt) \, dt = \frac{d}{Q} \left[ Qt - \frac{dt^2}{2} \right]_0^{Q/d} = \frac{Q}{2}
$$
年間保管費用 $ C_{\text{hold}}(Q) $ は:
$$
C_{\text{hold}}(Q) = C_1 \cdot \bar{I} = C_1 \cdot \frac{Q}{2}
$$
**総在庫費用**:
$$
C(Q) = C_{\text{order}}(Q) + C_{\text{hold}}(Q) = C_0 \cdot \frac{R}{Q} + C_1 \cdot \frac{Q}{2}
$$
この関数は $ Q > 0 $ において**凸関数**(Convex Function)である。
### 費用関数の関係
総在庫費用は、発注費用と保管費用の和として表される。これらの関係を図示すると:
**図3: 費用関数の関係**
```mermaid
graph LR
subgraph "費用の構成"
A[発注量Q] --> B[年間発注費用<br/>C_orderQ = C_0×R/Q<br/>Qが増えると減少]
A --> C[年間保管費用<br/>C_holdQ = C_1×Q/2<br/>Qが増えると増加]
B --> D[総在庫費用<br/>CQ = C_orderQ + C_holdQ]
C --> D
end
subgraph "費用の特性"
E[発注費用<br/>双曲線状<br/>Q→∞で0に近づく] --> B
F[保管費用<br/>線形<br/>Qに比例] --> C
G[総費用<br/>凸関数<br/>最適点Q*で最小] --> D
end
subgraph "最適点の性質"
D --> H[Q*で<br/>発注費用 = 保管費用<br/>C_0R/Q* = C_1Q*/2]
end
```
## 経済的発注量(EOQ: Economic Order Quantity)
総在庫費用を最小化する最適な発注量を求める。総在庫費用 $ C $ を発注量 $ Q $ で微分し、その導関数を0とおくことで最適解を求める。
### 導出過程
総在庫費用関数:
$$
C(Q) = C_0 \cdot \frac{R}{Q} + C_1 \cdot \frac{Q}{2}, \quad Q > 0
$$
#### 一階条件(First-Order Condition)
$ C(Q) $ を $ Q $ で微分:
$$
\frac{dC}{dQ} = \frac{d}{dQ}\left(C_0 \cdot \frac{R}{Q} + C_1 \cdot \frac{Q}{2}\right) = -\frac{C_0 R}{Q^2} + \frac{C_1}{2}
$$
最適性の必要条件として、一階導関数を0とおく:
$$
\frac{dC}{dQ} = 0 \quad \Leftrightarrow \quad -\frac{C_0 R}{Q^2} + \frac{C_1}{2} = 0
$$
これを $ Q $ について解く:
$$
\frac{C_1}{2} = \frac{C_0 R}{Q^2}
$$
$$
Q^2 = \frac{2 C_0 R}{C_1}
$$
$$
Q^* = \sqrt{\frac{2 C_0 R}{C_1}}
$$
#### 二階条件(Second-Order Condition)
停留点が最小値であることを確認するため、二階導関数を計算:
$$
\frac{d^2C}{dQ^2} = \frac{d}{dQ}\left(-\frac{C_0 R}{Q^2} + \frac{C_1}{2}\right) = \frac{2C_0 R}{Q^3} > 0, \quad \forall Q > 0
$$
二階導関数が正であることから、$ C(Q) $ は $ Q > 0 $ において**厳密凸関数**(Strictly Convex Function)であり、停留点 $ Q^* $ は**大域的最小値**(Global Minimum)であることが確認される。
#### 最適性の十分条件
凸最適化理論より、目的関数が凸関数で制約集合が凸集合の場合、一階条件を満たす点は大域的最適解となる。本問題では:
- 目的関数 $ C(Q) $ は $ Q > 0 $ において凸関数
- 制約集合 $ \{Q \in \mathbb{R} : Q > 0\} $ は凸集合
したがって、$ Q^* $ は大域的最適解である。
### EOQ公式
上式は**EOQ公式**(Economic Order Quantity)、または**ハリスの経済的ロット公式**、もしくは**ウィルソンのロット公式**と呼ばれる。
$$
Q^* = \sqrt{\frac{2 C_0 R}{C_1}}
$$
### EOQモデルの特徴
**図4: EOQモデルの特徴と最適化プロセス**
```mermaid
graph TB
subgraph "コスト構造の分解"
A[発注量Q<br/>Decision Variable] --> B[年間発注費用<br/>Annual Ordering Cost<br/>C_0 × R/Q]
A --> C[年間保管費用<br/>Annual Holding Cost<br/>C_1 × Q/2]
B --> D[総在庫費用<br/>Total Inventory Cost<br/>CQ = C_0R/Q + C_1Q/2]
C --> D
end
subgraph "最適化プロセス"
D --> E[1階微分<br/>dC/dQ = -C_0R/Q² + C_1/2]
E --> F[最適条件<br/>dC/dQ = 0]
F --> G[最適発注量<br/>Q* = √2C_0R/C_1<br/>Economic Order Quantity]
end
subgraph "検証"
G --> H[2階微分<br/>d²C/dQ² = 2C_0R/Q³ > 0]
H --> I[最小値確認<br/>Global Minimum Verified]
end
subgraph "重要な性質"
G --> J[最適点での<br/>発注費用 = 保管費用<br/>C_0R/Q* = C_1Q*/2]
end
```
### EOQモデルの最小値の確認
#### 凸性の証明
総在庫費用関数 $ C(Q) = C_0 R/Q + C_1 Q/2 $ の凸性は、二階導関数が正であることから直接確認できる。
#### 二階導関数による凸性の証明
一階導関数:
$$
\frac{dC}{dQ} = -\frac{C_0 R}{Q^2} + \frac{C_1}{2}
$$
二階導関数:
$$
\frac{d^2C}{dQ^2} = \frac{d}{dQ}\left(-\frac{C_0 R}{Q^2} + \frac{C_1}{2}\right) = \frac{2C_0 R}{Q^3} > 0, \quad \forall Q > 0
$$
二階導関数がすべての $ Q > 0 $ に対して正であることから、$ C(Q) $ は $ Q > 0 $ において**厳密凸関数**(Strictly Convex Function)である。
凸関数の性質より、停留点 $ Q^* $(一階導関数が0となる点)は**大域的最小値**(Global Minimum)である。
#### 最適解の一意性
二階導関数が正であることから、$ C(Q) $ は厳密凸関数である。厳密凸関数の最適解は一意であるため、$ Q^* $ は唯一の最適解である。
### EOQモデルの仮定とその影響
EOQモデルは以下の厳しい仮定に基づいている:
1. **需要が一定**:実際の需要は変動するため、安全在庫の設定が必要
2. **リードタイム=0**:実際には発注から納入まで時間がかかるため、発注点の設定が必要
3. **在庫切れなし**:需要変動により在庫切れが発生する可能性がある
4. **発注費用が一定**:大量発注による割引などは考慮されていない
5. **保管費用が線形**:実際には保管費用が非線形になる場合がある
これらの仮定が成り立たない場合、EOQモデルを修正する必要がある。
### 発注間隔の計算
最適発注量 $ Q^* $ が決定されると、発注間隔 $ T^* $ は以下のように計算できる:
$$
T^* = \frac{Q^*}{R} = \sqrt{\frac{2 C_0}{C_1 R}}
$$
ここで $ T^* $ は年単位で表される。日単位に変換する場合は、年間営業日数で割る必要がある。
### 在庫回転率
在庫管理の効率を測る指標として**在庫回転率**がある:
$$
\text{在庫回転率} = \frac{\text{年間需要量}}{\text{平均在庫量}} = \frac{R}{Q/2} = \frac{2R}{Q}
$$
在庫回転率が高いほど、在庫が効率的に回転していることを示す。EOQモデルでは:
$$
\text{在庫回転率} = \frac{2R}{\sqrt{\frac{2 C_0 R}{C_1}}} = \sqrt{\frac{2 C_1 R}{C_0}}
$$
**図5: 在庫回転率の計算**
```mermaid
graph LR
subgraph "在庫回転率の計算"
A[年間需要量R<br/>Annual Demand] --> C[在庫回転率<br/>Inventory Turnover<br/>IT = R / I_avg]
B[平均在庫量I_avg<br/>Average Inventory<br/>I_avg = Q/2] --> C
C --> D[回転率の解釈<br/>IT大: 効率的<br/>IT小: 非効率]
end
subgraph "EOQモデルでの表現"
E[最適発注量Q*<br/>Q* = √2C_0R/C_1] --> F[平均在庫量<br/>I_avg = Q*/2]
F --> G[在庫回転率<br/>IT = 2R/Q*<br/>= √2C_1R/C_0]
end
```
### EOQモデルの感度分析
#### パラメータ感度の定量化
パラメータの誤差が最適発注量に与える影響を分析する。感度係数(Sensitivity Coefficient)を用いて定量的に評価する。
**発注費用 $ C_0 $ の感度**:
発注費用が $ \Delta C_0 $ だけ変化した場合の最適発注量:
$$
Q^*_{\text{new}} = \sqrt{\frac{2 (C_0 + \Delta C_0) R}{C_1}} = Q^* \sqrt{1 + \frac{\Delta C_0}{C_0}}
$$
感度係数 $ S_{C_0} $ は:
$$
S_{C_0} = \frac{\partial Q^*}{\partial C_0} \cdot \frac{C_0}{Q^*} = \frac{1}{2} \sqrt{\frac{2R}{C_0 C_1}} \cdot \frac{C_0}{Q^*} = \frac{1}{2}
$$
これは、発注費用が1%変化すると、最適発注量は0.5%変化することを意味する。
**需要量 $ R $ の感度**:
同様に、需要量の感度係数は:
$$
S_R = \frac{\partial Q^*}{\partial R} \cdot \frac{R}{Q^*} = \frac{1}{2}
$$
**保管費用率 $ C_1 $ の感度**:
保管費用率の感度係数は:
$$
S_{C_1} = \frac{\partial Q^*}{\partial C_1} \cdot \frac{C_1}{Q^*} = -\frac{1}{2}
$$
#### ロバスト性の評価
感度係数がすべて $ |S| = 1/2 < 1 $ であることから、EOQモデルは**比較的ロバスト**(Relatively Robust)である。これは、パラメータの誤差が最適発注量に与える影響が緩和されることを意味する。
### 感度分析の可視化
**図6: 感度分析の可視化**
```mermaid
graph TB
subgraph "パラメータの変化"
A[パラメータの誤差<br/>Parameter Error<br/>ΔC_0 ΔR ΔC_1] --> B[感度係数の計算<br/>Sensitivity Coefficient<br/>S = ∂Q*/∂P × P/Q*]
end
subgraph "感度係数の値"
B --> C[発注費用C_0<br/>S_C_0 = 1/2<br/>1%変化→0.5%変化]
B --> D[需要量R<br/>S_R = 1/2<br/>1%変化→0.5%変化]
B --> E[保管費用C_1<br/>S_C_1 = -1/2<br/>1%変化→-0.5%変化]
end
subgraph "ロバスト性の評価"
C --> F[すべて absS = 1/2 < 1<br/>比較的ロバスト]
D --> F
E --> F
F --> G[パラメータ誤差の<br/>影響が緩和される<br/>Robust Model]
end
subgraph "費用への影響"
H[発注量の誤差ε<br/>Q = Q*1+ε] --> I[費用への影響<br/>CQ ≈ CQ*1+ε²/2<br/>二次的影響]
I --> J[誤差の影響が<br/>小さく抑えられる]
end
```
#### 費用関数の感度
最適発注量の誤差が総費用に与える影響を分析する。$ Q = Q^*(1 + \varepsilon) $ とすると:
$$
\begin{aligned}
C(Q) &= C_0 \cdot \frac{R}{Q^*(1+\varepsilon)} + C_1 \cdot \frac{Q^*(1+\varepsilon)}{2} \\
&= C(Q^*) \left(\frac{1}{1+\varepsilon} + \frac{1+\varepsilon}{2}\right) \\
&\approx C(Q^*) \left(1 + \frac{\varepsilon^2}{2}\right)
\end{aligned}
$$
ここで、$ \varepsilon $ が小さい場合の近似を用いた。この結果から、発注量の誤差は二次的に費用に影響することがわかる。
## 問題① 最適発注量の計算
### 問題文
ある商品の年間総需要 $ R $ が5,000単位、1回あたりの発注費用 $ C_0 $ が16,000円、商品1単位あたりの年間保管費用 $ C_1 $ が4,000円のとき、最適発注量 $ Q^* $ とそのときの総在庫費用 $ C^* $ を求めよ。
### 与えられた値
- $ R = 5,000 $ 単位
- $ C_0 = 16,000 $ 円
- $ C_1 = 4,000 $ 円
### 計算フロー
**図7: 最適発注量の計算フロー**
```mermaid
graph TD
A[問題の設定<br/>R=5000 C_0=16000 C_1=4000] --> B[EOQ公式の適用<br/>Q* = √2C_0R/C_1]
B --> C[数値の代入<br/>Q* = √2×16000×5000/4000]
C --> D[計算<br/>Q* = √160000000/4000<br/>= √40000]
D --> E[最適発注量<br/>Q* = 200単位]
E --> F[総費用の計算<br/>C* = C_0×R/Q* + C_1×Q*/2]
F --> G[数値の代入<br/>C* = 16000×25 + 4000×100]
G --> H[総在庫費用<br/>C* = 800000円]
E --> I[検証<br/>発注費用 = 保管費用<br/>400000 = 400000]
H --> I
```
### 計算過程
#### 最適発注量 $ Q^* $ の計算
EOQ公式を用いる:
$$
Q^* = \sqrt{\frac{2 C_0 R}{C_1}}
$$
値を代入:
$$
Q^* = \sqrt{\frac{2 \times 16,000 \times 5,000}{4,000}}
$$
$$
Q^* = \sqrt{\frac{160,000,000}{4,000}}
$$
$$
Q^* = \sqrt{40,000}
$$
$$
Q^* = 200 \text{ 単位}
$$
#### 総在庫費用 $ C^* $ の計算
最適発注量 $ Q^* = 200 $ を総在庫費用の式に代入:
$$
C^* = C_0 \cdot \frac{R}{Q^*} + C_1 \cdot \frac{Q^*}{2}
$$
$$
C^* = 16,000 \times \frac{5,000}{200} + 4,000 \times \frac{200}{2}
$$
$$
C^* = 16,000 \times 25 + 4,000 \times 100
$$
$$
C^* = 400,000 + 400,000
$$
$$
C^* = 800,000 \text{ 円}
$$
### 答え
- **最適発注量**:$ Q^* = 200 $ 単位
- **総在庫費用**:$ C^* = 800,000 $ 円
### 検証
最適発注量では、年間発注費用と年間保管費用が等しくなることを確認できる:
- 年間発注費用:$ 16,000 \times 25 = 400,000 $ 円
- 年間保管費用:$ 4,000 \times 100 = 400,000 $ 円
この性質は、EOQモデルの重要な特徴である。
## リードタイムと安全在庫
### リードタイムの概念
実際の在庫管理では、発注から納入までに時間がかかる。この時間を**リードタイム**(Lead Time)という。
**図8: リードタイム付き在庫管理サイクル**
```mermaid
graph TB
subgraph "リードタイム付き在庫管理サイクル"
A[発注実行<br/>Order Placement<br/>t=t₀] -->|リードタイムL<br/>Lead Time<br/>L>0| B[納入完了<br/>Delivery Arrival<br/>t=t₀+L]
B --> C[在庫補充<br/>Inventory Replenishment<br/>Q units added]
C -->|需要発生<br/>Demand Occurs<br/>d units/day| D[在庫減少<br/>Inventory Depletion<br/>I=Q-d×t]
D -->|在庫=発注点<br/>I=ROP<br/>Reorder Point| E[発注点到達<br/>ROP Triggered<br/>ROP=d×L+SS]
E --> A
end
subgraph "発注点の構成要素"
F[リードタイム中の需要予測<br/>Expected Demand During Lead Time<br/>d×L]
G[安全在庫<br/>Safety Stock<br/>SS=zₐ×σₗ]
F --> H[発注点<br/>Reorder Point<br/>ROP=d×L+SS]
G --> H
end
subgraph "パラメータ"
I[d 日次平均需要<br/>Daily Average Demand]
J[L リードタイム<br/>Lead Time in days]
K[σₗ リードタイム中の需要の標準偏差<br/>Std Dev of Demand During Lead Time]
L[zₐ サービスレベル分位数<br/>Service Level Z-score]
end
```
### 安全在庫の必要性
需要は変動するため、需要予測の誤差や需要の急激な増加に対応するために**安全在庫**(Safety Stock)を設定する。
### 安全在庫の計算プロセス
**図9: 安全在庫の計算プロセス**
```mermaid
graph TB
subgraph "入力パラメータ"
A[日次平均需要d<br/>Daily Average Demand] --> E[安全在庫計算]
B[リードタイムL<br/>Lead Time in days] --> E
C[需要の標準偏差σ_d<br/>Demand Std Dev] --> E
D[サービスレベルα<br/>Service Level<br/>例: 95%] --> E
end
subgraph "計算ステップ"
E --> F[リードタイム中の需要予測<br/>μ_L = d×L]
E --> G[リードタイム中の標準偏差<br/>σ_L = σ_d×√L]
E --> H[サービスレベル分位数<br/>z_α = Φ⁻¹α<br/>例: z_0.95 = 1.65]
F --> I[安全在庫<br/>SS = z_α×σ_L]
G --> I
H --> I
end
subgraph "発注点の決定"
I --> J[発注点<br/>ROP = μ_L + SS<br/>= d×L + z_α×σ_L]
F --> J
end
subgraph "結果の解釈"
J --> K[在庫がROPに達したら発注<br/>リードタイム中に品切れ<br/>する確率≤1-α]
end
```
### 発注点の決定
発注点は以下の式で求められる:
$$
\text{発注点} = \text{リードタイム中の需要予測} + \text{安全在庫}
$$
安全在庫は、需要の変動幅やサービスレベル(品切れを許容する確率)に基づいて決定される。
#### リードタイム中の需要予測
リードタイム $ L $(日単位)と1日あたりの平均需要 $ d $ が与えられた場合:
$$
\text{リードタイム中の需要予測} = d \times L
$$
年間需要量 $ R $ から計算する場合、年間営業日数を $ D $ とすると:
$$
d = \frac{R}{D}, \quad \text{リードタイム中の需要予測} = \frac{R \times L}{D}
$$
#### 安全在庫の計算方法
安全在庫は、需要の変動とサービスレベルに基づいて計算される。統計的には、**リードタイム中の需要の確率分布**に基づいて決定される。
**需要が正規分布に従う場合**:
リードタイム中の需要 $ D_L $ が正規分布 $ \mathcal{N}(\mu_L, \sigma_L^2) $ に従うと仮定する。ここで:
- $ \mu_L = d \times L $:リードタイム中の平均需要
- $ \sigma_L^2 $:リードタイム中の需要の分散
サービスレベル $ \alpha $(品切れ確率 $ 1-\alpha $)を満たす安全在庫 $ SS $ は:
$$
P(D_L \leq \mu_L + SS) = \alpha
$$
標準化すると:
$$
P\left(\frac{D_L - \mu_L}{\sigma_L} \leq \frac{SS}{\sigma_L}\right) = \alpha
$$
したがって:
$$
\text{安全在庫} = SS = z_{\alpha} \times \sigma_L
$$
ここで:
- $ z_{\alpha} = \Phi^{-1}(\alpha) $:標準正規分布の $ \alpha $ 分位数($ \Phi $ は標準正規分布の累積分布関数)
- $ \sigma_L $:リードタイム中の需要の標準偏差
**リードタイム中の需要の分散の導出**:
1日あたりの需要 $ D_t $ が独立同分布(i.i.d.)で、平均 $ d $、分散 $ \sigma_d^2 $ に従うと仮定する。リードタイム中の需要は:
$$
D_L = \sum_{t=1}^{L} D_t
$$
独立確率変数の和の分散の性質より:
$$
\text{Var}(D_L) = \text{Var}\left(\sum_{t=1}^{L} D_t\right) = \sum_{t=1}^{L} \text{Var}(D_t) = L \cdot \sigma_d^2
$$
したがって:
$$
\sigma_L = \sigma_d \times \sqrt{L}
$$
この結果は、**分散の加法性**(Additivity of Variance)と**独立確率変数の和の性質**に基づいている。
**サービスレベルと分位数の関係**:
| サービスレベル | 品切れ確率 | $ z_{\alpha} $(概算) |
|--------------|----------|----------------------|
| 90% | 10% | 1.28 |
| 95% | 5% | 1.65 |
| 99% | 1% | 2.33 |
| 99.9% | 0.1% | 3.09 |
#### 発注点の計算例
年間需要 $ R = 5,000 $ 単位、年間営業日数 $ D = 250 $ 日、リードタイム $ L = 5 $ 日、1日あたりの需要の標準偏差 $ \sigma_d = 2 $ 単位、サービスレベル 95% の場合:
$$
d = \frac{5,000}{250} = 20 \text{ 単位/日}
$$
$$
\text{リードタイム中の需要予測} = 20 \times 5 = 100 \text{ 単位}
$$
$$
\sigma_L = 2 \times \sqrt{5} \approx 4.47 \text{ 単位}
$$
$$
\text{安全在庫} = 1.65 \times 4.47 \approx 7.38 \text{ 単位} \approx 8 \text{ 単位}
$$
$$
\text{発注点} = 100 + 8 = 108 \text{ 単位}
$$
在庫量が108単位に達した時点で発注を行う。
## 問題② リードタイムと安全在庫の計算
### 問題文
ある商品について以下の情報が与えられている:
- 年間需要量: $R = 12,000$ 単位
- 年間営業日数: $D = 300$ 日
- リードタイム: $L = 7$ 日
- 1日あたりの需要の標準偏差: $\sigma_d = 5$ 単位
- サービスレベル: 95%($z_{0.95} = 1.65$)
1. 日次平均需要 $d$ を求めよ
2. リードタイム中の需要予測を求めよ
3. リードタイム中の需要の標準偏差 $\sigma_L$ を求めよ
4. 安全在庫 $SS$ を求めよ
5. 発注点 $ROP$ を求めよ
### 解答
#### 1. 日次平均需要 $d$ の計算
$$
d = \frac{R}{D} = \frac{12,000}{300} = 40 \text{ 単位/日}
$$
#### 2. リードタイム中の需要予測
$$
\text{リードタイム中の需要予測} = d \times L = 40 \times 7 = 280 \text{ 単位}
$$
#### 3. リードタイム中の需要の標準偏差 $\sigma_L$
独立確率変数の和の分散の性質より:
$$
\sigma_L = \sigma_d \times \sqrt{L} = 5 \times \sqrt{7} \approx 5 \times 2.646 \approx 13.23 \text{ 単位}
$$
#### 4. 安全在庫 $SS$
サービスレベル95%に対応する分位数 $z_{0.95} = 1.65$ を用いて:
$$
SS = z_{\alpha} \times \sigma_L = 1.65 \times 13.23 \approx 21.83 \text{ 単位} \approx 22 \text{ 単位}
$$
#### 5. 発注点 $ROP$
$$
ROP = d \times L + SS = 280 + 22 = 302 \text{ 単位}
$$
### 答え
- **日次平均需要**: $d = 40$ 単位/日
- **リードタイム中の需要予測**: $280$ 単位
- **リードタイム中の需要の標準偏差**: $\sigma_L \approx 13.23$ 単位
- **安全在庫**: $SS = 22$ 単位
- **発注点**: $ROP = 302$ 単位
### 検証
在庫量が302単位に達した時点で発注を行うことで、リードタイム中に品切れが発生する確率は5%以下に抑えられ、95%のサービスレベルを維持できる。安全在庫22単位は、需要の変動に対応するためのバッファとして機能する。
**図10: 定量発注方式の在庫変動パターン**
```mermaid
graph TB
subgraph "定量発注方式の在庫変動パターン"
A[最大在庫水準<br/>Maximum Inventory<br/>Q+SS] -->|需要発生<br/>Demand Rate d| B[在庫減少<br/>Inventory Depletion]
B -->|在庫=発注点<br/>I=ROP| C[発注点到達<br/>Reorder Point Triggered<br/>ROP=d×L+SS]
C --> D[発注実行<br/>Order Placement<br/>Q units ordered]
D -->|リードタイムL<br/>Lead Time| E[納入待機中<br/>Pending Delivery<br/>在庫は減少継続]
E -->|在庫=安全在庫<br/>I=SS| F[納入完了<br/>Delivery Arrival<br/>t=t₀+L]
F --> G[在庫補充<br/>Inventory Replenishment<br/>I=Q+SS]
G --> A
end
subgraph "安全在庫の役割"
H[需要変動<br/>Demand Variability<br/>σₗ=σₐ√L] --> I[サービスレベル<br/>Service Level α<br/>PStockout≤1-α]
I --> J[安全在庫計算<br/>SS=zₐ×σₗ<br/>Safety Stock]
J --> K[品切れ防止<br/>Stockout Prevention]
end
subgraph "発注点の数学的表現"
L[ROP=d×L+zₐ×σₗ<br/>d 日次平均需要<br/>L リードタイム<br/>zₐ サービスレベル分位数<br/>σₗ リードタイム中の需要の標準偏差]
end
```
## 例② 新聞売り子問題(Newsvendor Problem)
在庫管理の問題と本質的に同じ問題として、新聞を仕入れて販売するモデル(**新聞売り子問題**、Newsvendor Problem)を考える。この問題は、不確実な需要に対して最適な発注量を決定する問題の典型例である。
> **関連トピック**:この問題は期待効用最大化問題としても定式化できる。不確実性下での意思決定の具体例として、ベイズ意思決定理論の応用でもある。
### 問題設定
- 1部 $ c $ 円で仕入れた新聞を $ a $ 円で売る
- 客は1日平均 $ m $ 人やってくるが、毎日の客数 $ x $ は変動する(確率変数)
- 売れ残りが発生すると仕入分の損失となる
- 品切れを起こすとその分の利益を逃すことになる
- 新聞売り子が得る利益を最大にする1日の最適発注部数を求める
### 問題の構造
**図11: 新聞売り子問題の意思決定フロー**
```mermaid
graph TB
subgraph "新聞売り子問題の意思決定フロー"
A[仕入部数Q決定<br/>Order Quantity Decision<br/>Decision Variable] --> B[当日の客数x実現<br/>Daily Demand Realization<br/>x~f 確率変数]
B --> C{需要と供給の関係<br/>Demand vs Supply<br/>x vs Q}
C -->|x≤Q<br/>供給過多| D[売れ残り発生<br/>Excess Inventory<br/>損失 c×Q-x<br/>Overstocking Cost]
C -->|x>Q<br/>供給不足| E[品切れ発生<br/>Stockout<br/>機会損失 a×x-Q<br/>Understocking Cost]
C -->|x=Q<br/>完全一致| F[完売<br/>Perfect Match<br/>損失なし<br/>Optimal Realization]
D --> G[利益計算<br/>Profit Calculation<br/>ΠQ,x=a×minQ,x-c×Q]
E --> G
F --> G
end
subgraph "期待利益最大化"
G --> H[期待利益<br/>Expected Profit<br/>EΠQ=a×EminQ,x-c×Q]
H --> I[最適化条件<br/>Optimality Condition<br/>dEΠQ/dQ=0]
I --> J[最適発注数量<br/>Optimal Order Quantity<br/>FQ*=1-c/a<br/>F 累積分布関数]
end
subgraph "コスト構造"
K[限界利益<br/>Marginal Profit<br/>a-c] --> L[限界損失<br/>Marginal Loss<br/>c]
L --> M[クリティカル比率<br/>Critical Ratio<br/>c/a]
M --> N[発注戦略<br/>Ordering Strategy<br/>c/a大→保守的<br/>c/a小→積極的]
end
```
### 利益の数式化
発注部数を $ Q \in \mathbb{Z}_{\geq 0} $ とし、当日の客数(需要)を $ X $(確率変数、確率質量関数は $ f_X(x) = P(X = x) $、累積分布関数は $ F_X(x) = P(X \leq x) $)とする。
#### 利益関数の定義
利益関数 $ \Pi(Q, X) $ は以下のように定義される:
$$
\Pi(Q, X) = a \cdot \min(Q, X) - c \cdot Q
$$
この関数は、需要 $ X $ の実現値に応じて以下のように分解できる:
$$
\Pi(Q, X) = \begin{cases}
aX - cQ & \text{if } X \leq Q \quad \text{(売れ残り発生)} \\
aQ - cQ = (a-c)Q & \text{if } X > Q \quad \text{(品切れ発生)}
\end{cases}
$$
#### 各要素の数学的表現
- **実際に売れる部数**:$ S(Q, X) = \min(Q, X) $
- これは**制約付き売上関数**(Constrained Sales Function)である
- **仕入コスト**:$ c \cdot Q $
- 決定変数 $ Q $ に線形に依存する確定費用
- **売上**:$ R(Q, X) = a \cdot \min(Q, X) $
- 需要の実現値に依存する確率的収益
- **売れ残りロス**:$ L_{\text{over}}(Q, X) = c \cdot \max(Q - X, 0) = c \cdot (Q - X)^+ $
- 過剰在庫コスト(Overstocking Cost)
- **機会損失**:$ L_{\text{under}}(Q, X) = a \cdot \max(X - Q, 0) = a \cdot (X - Q)^+ $
- 在庫切れコスト(Understocking Cost)
- **利益**:$ \Pi(Q, X) = R(Q, X) - cQ = a \cdot \min(Q, X) - c \cdot Q $
ここで、$ (x)^+ = \max(x, 0) $ は正の部分関数(Positive Part Function)である。
### 利益の期待値
新聞売り子の1日あたり期待利益 $ \mathbb{E}[\Pi(Q)] $ は:
$$
\mathbb{E}[\Pi(Q)] = \mathbb{E}[a \cdot \min(Q, X) - c \cdot Q] = a \cdot \mathbb{E}[\min(Q, X)] - c \cdot Q
$$
#### $ \mathbb{E}[\min(Q, X)] $ の展開
期待売上部数 $ \mathbb{E}[\min(Q, X)] $ は、確率変数 $ X $ の分布に応じて計算される。
**連続分布の場合**(確率密度関数 $ f_X(x) $):
$$
\begin{aligned}
\mathbb{E}[\min(Q, X)] &= \int_{-\infty}^{\infty} \min(Q, x) f_X(x) \, dx \\
&= \int_{-\infty}^{Q} x f_X(x) \, dx + \int_{Q}^{\infty} Q f_X(x) \, dx \\
&= \int_{-\infty}^{Q} x f_X(x) \, dx + Q \cdot P(X > Q) \\
&= \int_{-\infty}^{Q} x f_X(x) \, dx + Q \cdot (1 - F_X(Q))
\end{aligned}
$$
**離散分布の場合**(確率質量関数 $ f_X(x) = P(X = x) $):
$$
\begin{aligned}
\mathbb{E}[\min(Q, X)] &= \sum_{x=0}^{\infty} \min(Q, x) \cdot P(X = x) \\
&= \sum_{x=0}^{Q} x \cdot P(X = x) + \sum_{x=Q+1}^{\infty} Q \cdot P(X = x) \\
&= \sum_{x=0}^{Q} x \cdot P(X = x) + Q \cdot P(X > Q) \\
&= \sum_{x=0}^{Q} x \cdot P(X = x) + Q \cdot (1 - F_X(Q))
\end{aligned}
$$
この式の意味:
- 第1項:需要が発注量以下の場合の期待売上部数(需要の実現値に等しい)
- 第2項:需要が発注量を超える場合の期待売上部数(常に $ Q $ 部、確率 $ P(X > Q) $ で発生)
### 最適発注点の導出
利益最大化のために最適発注数量 $ Q^* $ を求める。これは**確率的最適化問題**(Stochastic Optimization Problem)である:
### 最適化プロセスの可視化
**図12: 新聞売り子問題の最適化プロセス**
```mermaid
graph TB
subgraph "問題の定式化"
A[利益関数<br/>ΠQ,X = a×minQ,X - c×Q] --> B[期待利益<br/>EΠQ = a×EminQ,X - c×Q]
end
subgraph "期待値の計算"
B --> C[EminQ,Xの展開<br/>連続分布: ∫x f_Xx dx + Q1-F_XQ<br/>離散分布: Σx PX=x + Q PX>Q]
end
subgraph "最適化"
C --> D[一階条件<br/>dEΠQ/dQ = 0]
D --> E[連続分布<br/>a1-F_XQ* = c]
D --> F[離散分布<br/>a PX>Q*-1 ≥ c > a PX>Q*]
E --> G[最適条件<br/>F_XQ* = 1 - c/a]
F --> G
end
subgraph "解の決定"
G --> H[累積分布関数から<br/>Q*を決定<br/>F_XQ* = 1 - c/a]
H --> I[最適発注数量Q*<br/>Optimal Order Quantity]
end
subgraph "検証"
I --> J[期待利益の確認<br/>EΠQ* ≥ EΠQ<br/>for all Q]
end
```
$$
\max_{Q \in \mathbb{Z}_{\geq 0}} \quad \mathbb{E}[\Pi(Q)] = a \cdot \mathbb{E}[\min(Q, X)] - c \cdot Q
$$
#### 一階条件(First-Order Condition)
**連続分布の場合**:
期待利益を $ Q $ で微分(ライプニッツの積分公式を適用):
$$
\begin{aligned}
\frac{d\mathbb{E}[\Pi(Q)]}{dQ} &= a \cdot \frac{d}{dQ}\left[\int_{-\infty}^{Q} x f_X(x) \, dx + Q(1 - F_X(Q))\right] - c \\
&= a \left[Q f_X(Q) + (1 - F_X(Q)) - Q f_X(Q)\right] - c \\
&= a(1 - F_X(Q)) - c
\end{aligned}
$$
最適性の必要条件として、一階導関数を0とおく:
$$
\frac{d\mathbb{E}[\Pi(Q)]}{dQ} = 0 \quad \Leftrightarrow \quad a(1 - F_X(Q^*)) = c
$$
したがって:
$$
F_X(Q^*) = 1 - \frac{c}{a} = \frac{a-c}{a}
$$
**離散分布の場合**:
離散最適化では、差分(Difference)を用いる。期待利益の差分:
$$
\Delta \mathbb{E}[\Pi(Q)] = \mathbb{E}[\Pi(Q+1)] - \mathbb{E}[\Pi(Q)]
$$
$$
\begin{aligned}
\Delta \mathbb{E}[\Pi(Q)] &= a \left[\mathbb{E}[\min(Q+1, X)] - \mathbb{E}[\min(Q, X)]\right] - c \\
&= a \cdot P(X > Q) - c
\end{aligned}
$$
最適性の条件は:
$$
\Delta \mathbb{E}[\Pi(Q^*-1)] \geq 0 \quad \text{かつ} \quad \Delta \mathbb{E}[\Pi(Q^*)] < 0
$$
これは以下と等価:
$$
P(X \leq Q^*-1) < 1 - \frac{c}{a} \leq P(X \leq Q^*)
$$
すなわち、$ F_X(Q^*) = 1 - c/a $ を満たす最小の $ Q^* $ が最適解である。
#### クリティカル比率(Critical Ratio)
最適条件は以下の**クリティカル比率**で表現される:
$$
\frac{a-c}{a} = \frac{\text{限界利益}}{\text{販売価格}} = \frac{\text{機会損失}}{\text{機会損失} + \text{過剰在庫コスト}}
$$
ここで、**機会損失**は1単位売りそこねたときの限界利益 $a-c$(販売価格から仕入価格を引いた値)を指し、**過剰在庫コスト**は1単位売れ残ったときの損失 $c$(仕入価格)を指す。
この比率は、**ニュースベンダー比率**(Newsvendor Ratio)とも呼ばれる。
### 最適発注数量の決定
**客数の累積分布関数 $ F(Q^*) $ が $ 1 - \frac{c}{a} $ となる点が最適発注数量 $ Q^* $** である。
$$
F(Q^*) = 1 - \frac{c}{a}
$$
### まとめ
- **仕入価格**:$ c $ 円/部
- **販売価格**:$ a $ 円/部
- 当日の客数の分布が分かれば、その累積分布関数 $ F(x) $ に対して
- $ F(Q^*) = 1 - \frac{c}{a} $ を満たす $ Q^* $ が**利益最大化の仕入数**になる
### 具体例
例えば、$ c = 80 $ 円、$ a = 100 $ 円の場合:
$$
F(Q^*) = 1 - \frac{80}{100} = 0.2
$$
- 累積確率が20%となる点が最適仕入数
- つまり、需要の上位80%をカバーする数量が最適仕入数になる
- この場合、売れ残りリスクを避けるため、平均需要より少なめに仕入れるのが最適
このようにして、需要分布ごとに最適な新聞の仕入れ数 $ Q^* $ を決めることができる。
## 問題③ 新聞売り子問題の数値計算
### 問題文
新聞売り子が以下の条件で新聞を販売している:
- 仕入価格: $c = 100$ 円/部
- 販売価格: $a = 150$ 円/部
- 1日の来客数は平均 $\lambda = 20$ 人のポアソン分布に従う
ポアソン分布の累積分布関数の値は以下の通り:
- $F(15) = 0.1565$
- $F(16) = 0.2211$
- $F(17) = 0.2970$
- $F(18) = 0.3814$
- $F(19) = 0.4703$
- $F(20) = 0.5591$
- $F(21) = 0.6446$
1. クリティカル比率を求めよ
2. 最適発注数量 $Q^*$ を求めよ
3. 最適発注数量での期待売上部数の概算値を求めよ
### 解答
#### 1. クリティカル比率の計算
最適条件は $F(Q^*) = 1 - \frac{c}{a}$ であるから:
$$
F(Q^*) = 1 - \frac{c}{a} = 1 - \frac{100}{150} = 1 - \frac{2}{3} = \frac{1}{3} \approx 0.3333
$$
クリティカル比率は $\frac{a-c}{a} = \frac{50}{150} = \frac{1}{3} \approx 0.3333$ である。
#### 2. 最適発注数量 $Q^*$ の決定
累積分布関数の値を見ると:
- $F(17) = 0.2970 < 0.3333$
- $F(18) = 0.3814 > 0.3333$
したがって、$F(17) < 0.3333 \leq F(18)$ より、最適発注数量は $Q^* = 18$ 部である。
#### 3. 期待売上部数の計算
最適発注数量 $Q^* = 18$ 部の場合、期待売上部数 $\mathbb{E}[\min(18, X)]$ は:
$$
\mathbb{E}[\min(18, X)] = \sum_{x=0}^{17} x \cdot P(X = x) + 18 \cdot P(X \geq 18)
$$
ポアソン分布 $\text{Poisson}(20)$ の確率質量関数 $P(X = x) = \frac{20^x e^{-20}}{x!}$ を用いて計算する。
主要な項の計算:
- $P(X = 0) = e^{-20} \approx 2.061 \times 10^{-9}$
- $P(X = 1) = 20e^{-20} \approx 4.122 \times 10^{-8}$
- $P(X = 2) = 200e^{-20} \approx 4.122 \times 10^{-7}$
- ...(中略)...
- $P(X = 17) \approx 0.0631$(与えられた累積分布関数から逆算)
$P(X \geq 18) = 1 - F(17) = 1 - 0.2970 = 0.7030$ である。
期待売上部数の正確な計算:
$$
\begin{aligned}
\mathbb{E}[\min(18, X)] &= \sum_{x=0}^{17} x \cdot P(X = x) + 18 \times 0.7030 \\
&\approx 0 \times 0.0000 + 1 \times 0.0000 + \cdots + 17 \times 0.0631 + 18 \times 0.7030 \\
&\approx 17.5 \text{ 部}
\end{aligned}
$$
より効率的な計算方法として、ポアソン分布の性質を用いると:
$$
\mathbb{E}[\min(18, X)] = \lambda - \sum_{x=18}^{\infty} (x-18) \cdot P(X = x) = 20 - \sum_{x=18}^{\infty} (x-18) \cdot P(X = x)
$$
ただし、実用的には最初の式($\sum_{x=0}^{17} x \cdot P(X = x) + 18 \cdot P(X \geq 18)$)を用いて計算する方が容易である。
簡易計算として、平均来客数が20人であることから、期待売上部数は約17.5部と概算できる。これは、発注量18部が平均需要20部より少ないため、一部の需要が満たされないことを反映している。
### 答え
- **クリティカル比率**: $\frac{a-c}{a} = \frac{1}{3} \approx 0.3333$
- **最適発注数量**: $Q^* = 18$ 部
- **期待売上部数の概算**: $\mathbb{E}[\min(18, X)] \approx 17.5$ 部
### 検証
最適発注数量18部の場合、期待利益は:
$$
\mathbb{E}[\Pi(18)] = a \cdot \mathbb{E}[\min(18, X)] - c \cdot 18 \approx 150 \times 17.5 - 100 \times 18 = 2,625 - 1,800 = 825 \text{ 円}
$$
この結果から、1日あたり平均約825円の利益が期待できる。クリティカル比率が $\frac{1}{3}$ であることから、売れ残り損失(100円/部)が機会損失(50円/部)より大きいため、保守的な発注(平均需要20部より少ない18部)が最適となる。
## ポアソン分布による需要モデル
### ポアソン分布の定義
来客数(需要)$ X $ が**ポアソン分布** $ \text{Poisson}(\lambda) $ に従うと仮定する。確率質量関数は:
### ポアソン分布の特徴と適用
**図13: ポアソン分布の特徴と適用**
```mermaid
graph TB
subgraph "ポアソン分布の性質"
A[ポアソン分布<br/>X~Poissonλ] --> B[平均と分散が等しい<br/>EX = VarX = λ]
A --> C[離散分布<br/>x = 0,1,2,3,...]
A --> D[独立増分性<br/>Independent Increments]
A --> E[定常増分性<br/>Stationary Increments]
end
subgraph "適用条件"
F[単位時間あたりの<br/>ランダムな事象の発生] --> A
G[独立増分性<br/>定常増分性<br/>希少性] --> F
end
subgraph "ポアソン過程と無記憶性"
H[ポアソン過程<br/>Poisson Process] --> I[カウントNt<br/>Nt~Poissonλt<br/>独立増分性・定常増分性]
H --> J[到着間隔時間T<br/>T~Exponentialλ<br/>無記憶性を持つ]
J --> K[無記憶性<br/>Memoryless Property<br/>PT>s+t given T>s = PT>t]
end
subgraph "新聞売り子問題への適用"
A --> L[1日の来客数<br/>Daily Customer Count<br/>x~Poissonλ]
L --> M[累積分布関数<br/>Fx = PX≤x]
M --> N[最適発注数量<br/>FQ* = 1-c/a]
end
subgraph "パラメータ推定"
O[観測データ<br/>x₁,x₂,...,xₙ] --> P[最尤推定<br/>λ̂ = x̄ = 1/n Σx_i]
P --> A
end
```
$$
P(X = x) = \frac{\lambda^x e^{-\lambda}}{x!}, \quad x = 0, 1, 2, \ldots, \quad \lambda > 0
$$
ここで $ \lambda $ は**強度パラメータ**(Intensity Parameter)であり、平均来客数に等しい。
### ポアソン分布の理論的基盤
ポアソン分布は、**ポアソン過程**(Poisson Process)から自然に導出される。以下の条件を満たす確率過程をポアソン過程という:
1. **独立増分性**(Independent Increments):互いに重ならない時間区間での発生回数は独立
2. **定常増分性**(Stationary Increments):時間区間の長さのみに依存
3. **希少性**(Rarity):短い時間区間での複数回発生の確率は無視できる
これらの条件下で、単位時間あたりの平均発生率 $ \lambda $ に対して、時間区間 $ t $ での発生回数は $ \text{Poisson}(\lambda t) $ に従う。
**注意**:ポアソン分布自体は無記憶性を持たない。無記憶性を持つ分布は、離散分布では**幾何分布**、連続分布では**指数分布**のみである。ポアソン過程の文脈では、カウント $ N(t) $ の分布は $ \text{Poisson}(\lambda t) $ で独立増分性・定常増分性を持つが、無記憶性は持たない。一方、到着間隔時間 $ T $ は指数分布 $ \text{Exponential}(\lambda) $ に従い、こちらが無記憶性を持つ。
### ポアソン分布の性質
ポアソン分布は単位時間あたりの発生回数をモデル化する離散分布であり、以下の性質を持つ:
- **平均**:$ \mathbb{E}[X] = \lambda $
- **分散**:$ \text{Var}(X) = \lambda $(平均と分散が等しい)
- **確率母関数**(Probability Generating Function):$ G_X(s) = \mathbb{E}[s^X] = e^{\lambda(s-1)} $
- **モーメント母関数**(Moment Generating Function):$ M_X(t) = \mathbb{E}[e^{tX}] = e^{\lambda(e^t-1)} $
- **確率の総和**:$ \sum_{x=0}^{\infty} P(X = x) = 1 $
- **再生性**(Reproductive Property):独立な $ X_1 \sim \text{Poisson}(\lambda_1) $、$ X_2 \sim \text{Poisson}(\lambda_2) $ に対して、$ X_1 + X_2 \sim \text{Poisson}(\lambda_1 + \lambda_2) $
### ポアソン分布の極限定理
ポアソン分布は、**二項分布の極限**としても導出される。$ n \to \infty $、$ p \to 0 $、$ np \to \lambda $ の条件下で:
$$
\text{Binomial}(n, p) \xrightarrow{d} \text{Poisson}(\lambda)
$$
これは**ポアソンの極限定理**(Poisson Limit Theorem)として知られる。
**図14: ポアソン分布の特性と新聞売り子問題への適用**
```mermaid
graph TB
subgraph "ポアソン分布の特性"
A[ポアソン分布<br/>Poisson Distribution<br/>X~Poissonλ] --> B[確率質量関数<br/>PMF<br/>Px=λˣe⁻λ/x!]
A --> C[平均と分散<br/>Mean=Variance=λ<br/>EX=VarX=λ]
A --> D[独立増分性<br/>Independent Increments]
A --> E[定常増分性<br/>Stationary Increments]
end
subgraph "ポアソン過程と無記憶性"
F[ポアソン過程<br/>Poisson Process] --> G[カウントNt<br/>Nt~Poissonλt<br/>独立増分性・定常増分性]
F --> H[到着間隔時間T<br/>T~Exponentialλ<br/>無記憶性を持つ]
H --> I[無記憶性<br/>Memoryless Property<br/>PT>s+t given T>s = PT>t]
end
subgraph "新聞売り子問題への適用"
J[平均来客数λ<br/>Average Daily Customers] --> K[需要分布<br/>Demand Distribution<br/>x~Poissonλ]
K --> L[累積分布関数<br/>CDF<br/>Fx=PX≤x]
L --> M[最適発注数量<br/>Optimal Order Quantity<br/>FQ*=1-c/a]
end
subgraph "パラメータ推定"
N[観測データ<br/>Historical Data] --> O[最尤推定<br/>Maximum Likelihood<br/>λ̂=x̄]
O --> P[分布の特定<br/>Distribution Specification]
end
```
### 新聞売り子問題への適用
ポアソン分布は新聞売り子問題における「その日に来る客数」の不確実性を記述するのに適している。例えば、平均来客数が 30 人($ \lambda = 30 $)の場合、$ x $ 人来る確率は上記の式で計算できる。
これにより、需要分布としてポアソン分布を用いて、最適発注数量や利益期待値の計算が可能となる。
#### ポアソン分布を使った具体的な計算例
平均来客数 $ \lambda = 10 $ 人、仕入価格 $ c = 80 $ 円、販売価格 $ a = 100 $ 円の場合を考える。
まず、最適発注数量を決定する:
$$
F(Q^*) = 1 - \frac{c}{a} = 1 - \frac{80}{100} = 0.2
$$
累積確率が20%となる点を求める。ポアソン分布の累積分布関数を計算すると:
$$
F(0) = P(x \leq 0) = \frac{10^0 e^{-10}}{0!} = e^{-10} \approx 0.000045
$$
$$
F(1) = P(x \leq 1) = e^{-10} + \frac{10^1 e^{-10}}{1!} = 11e^{-10} \approx 0.0005
$$
$$
F(2) = P(x \leq 2) = e^{-10} + 10e^{-10} + \frac{10^2 e^{-10}}{2!} = e^{-10}(1 + 10 + 50) \approx 0.0028
$$
$$
F(3) = P(x \leq 3) \approx 0.0103
$$
$$
F(4) = P(x \leq 4) \approx 0.0293
$$
$$
F(5) = P(x \leq 5) \approx 0.0671
$$
$$
F(6) = P(x \leq 6) \approx 0.1301
$$
$$
F(7) = P(x \leq 7) \approx 0.2202
$$
$ F(6) = 0.1301 < 0.2 < 0.2202 = F(7) $ であるため、最適発注数量は $ Q^* = 7 $ 部となる。
次に、期待利益を計算する。仕入部数 $ Q = 7 $ の場合:
$$
\mathbb{E}[\Pi(7)] = 100 \cdot \mathbb{E}[\min(7, x)] - 80 \cdot 7
$$
$ \mathbb{E}[\min(7, x)] $ を計算する:
$$
\mathbb{E}[\min(7, x)] = \sum_{x=0}^{6} x \cdot P(x) + 7 \cdot \sum_{x=7}^{\infty} P(x)
$$
$$
= \sum_{x=0}^{6} x \cdot \frac{10^x e^{-10}}{x!} + 7 \cdot (1 - F(6))
$$
$$
\approx 0 \times 0.000045 + 1 \times 0.000454 + 2 \times 0.00227 + 3 \times 0.00757 + 4 \times 0.0189 + 5 \times 0.0378 + 6 \times 0.0631 + 7 \times 0.8699
$$
より正確な計算により:
$$
\mathbb{E}[\min(7, x)] \approx 6.76 \text{ 部}
$$
したがって:
$$
\mathbb{E}[\Pi(7)] = 100 \times 6.76 - 80 \times 7 = 676 - 560 = 116 \text{ 円}
$$
最適発注数量7部の場合、1日あたりの期待利益は約116円となる。
### ポアソン分布の適用例
ポアソン分布は、ある一定区間当たりのランダムに起きる事象の発生回数をモデル化するのに適している。具体例:
- 1時間に特定の交差点を通過する車両の台数
- 1mlの希釈された水試料中に含まれる特定の細菌の数
- 1ページの文章を入力するとき、綴りを間違える回数
- 1日に受け取る電子メールの件数
- 1分間のWebサーバへのアクセス数
- 1kmあたりのある通り沿いのレストランの軒数
- 1ヘクタールあたりのエゾマツの本数
- 1立方光年あたりの恒星の個数
### シミュレーションへの応用
乱数を用いてポアソン分布に従う需要を生成することで、新聞売り子問題のシミュレーションが可能である。
- **仕入れ価格** $ c $ と**販売価格** $ a $ を設定
- **平均来客数** $ \lambda $ を設定
- ポアソン乱数により各日の客数を生成
- 様々な仕入部数 $ Q $ について総利益を計算
- 総利益が最大となる $ Q $ を最適発注数量とする
#### シミュレーションの手順
1. **パラメータの設定**
- 仕入価格 $ c $、販売価格 $ a $、平均来客数 $ \lambda $、シミュレーション日数 $ N $ を設定
2. **需要の生成**
- 各日について、ポアソン分布 $ \text{Poisson}(\lambda) $ に従う乱数 $ x_i $ を生成
3. **利益の計算**
- 各仕入部数 $ Q $ について、各日の利益を計算:
$$
\Pi_i(Q) = a \times \min(Q, x_i) - c \times Q
$$
4. **総利益の計算**
- $ N $ 日間の総利益:
$$
\Pi_{\text{total}}(Q) = \sum_{i=1}^{N} \Pi_i(Q)
$$
5. **最適発注数量の決定**
- 様々な $ Q $ について総利益を計算し、最大となる $ Q^* $ を求める
**図15: モンテカルロシミュレーション手順**
```mermaid
graph TB
subgraph "モンテカルロシミュレーション手順"
A[初期化<br/>Initialization<br/>c a λ N設定] --> B[乱数生成<br/>Random Number Generation<br/>x_i~Poissonλ<br/>i=1,2,...,N]
B --> C[利益計算ループ<br/>Profit Calculation Loop<br/>Q=Q_min to Q_max]
C --> D[各日の利益<br/>Daily Profit<br/>Π_iQ=a×minQ,x_i-c×Q]
D --> E[総利益集計<br/>Total Profit Aggregation<br/>Π_totalQ=ΣΠ_iQ]
E --> F{全Q探索完了?}
F -->|No| C
F -->|Yes| G[最適発注数量<br/>Optimal Order Quantity<br/>Q*=argmax Π_totalQ]
end
subgraph "統計的分析"
G --> H[期待利益<br/>Expected Profit<br/>EΠQ*≈Π_totalQ*/N]
G --> I[利益の分散<br/>Profit Variance<br/>VarΠQ*]
H --> J[信頼区間<br/>Confidence Interval<br/>95% CI for EΠ]
end
subgraph "検証"
K[理論値<br/>Theoretical Value<br/>Q*_theory] --> L[シミュレーション値<br/>Simulation Value<br/>Q*_sim]
L --> M[比較検証<br/>Validation<br/>absQ*_theory-Q*_sim < ε]
end
```
#### シミュレーション結果の解釈の注意点
シミュレーション結果は、使用した乱数の系列に依存する。より信頼性の高い結果を得るためには:
- **複数回のシミュレーション実行**:異なる乱数系列で複数回実行し、平均を取る
- **十分な日数の設定**:短期間のシミュレーションでは、偶然の変動の影響が大きい
- **理論値との比較**:理論的に求めた最適発注数量と比較し、整合性を確認する
#### モンテカルロ法の統計的性質
モンテカルロシミュレーションは、**大数の法則**(Law of Large Numbers)と**中心極限定理**(Central Limit Theorem)に基づいている。
**大数の法則**:
独立同分布な確率変数列 $ \{\Pi_i(Q)\}_{i=1}^N $ に対して:
$$
\frac{1}{N}\sum_{i=1}^{N} \Pi_i(Q) \xrightarrow{a.s.} \mathbb{E}[\Pi(Q)], \quad N \to \infty
$$
**中心極限定理**:
$$
\frac{\frac{1}{N}\sum_{i=1}^{N} \Pi_i(Q) - \mathbb{E}[\Pi(Q)]}{\sigma/\sqrt{N}} \xrightarrow{d} \mathcal{N}(0, 1), \quad N \to \infty
$$
ここで $ \sigma^2 = \text{Var}(\Pi(Q)) $ である。
したがって、$ N $ が十分大きい場合、標本平均は近似的に正規分布に従い、**信頼区間**を構築できる:
$$
\mathbb{E}[\Pi(Q)] \in \left[\bar{\Pi}_N(Q) - z_{\alpha/2}\frac{\sigma}{\sqrt{N}}, \bar{\Pi}_N(Q) + z_{\alpha/2}\frac{\sigma}{\sqrt{N}}\right]
$$
ここで $ \bar{\Pi}_N(Q) = \frac{1}{N}\sum_{i=1}^{N} \Pi_i(Q) $ は標本平均である。
## シミュレーション結果の解釈
### 「8部仕入れ」で最高益になった場合
**理由の例**:
- 仕入れ価格が80円、販売価格が120円であることから、1部販売したときの利益(40円)に比べて売れ残った場合の損失(80円)が大きい
- このため、売れ残りが出ないよう客数の平均より少なめに仕入れることで利益が大きくなったと考えられる
**数式的な説明**:
- 限界利益:$ a - c = 120 - 80 = 40 $ 円
- 限界損失:$ c = 80 $ 円
- 限界損失の方が大きいため、保守的な発注が最適
### 「10部仕入れ」で最高益になった場合
**理由の例**:
- 客数の平均に合わせることで無駄なく販売できたため
- 需要の変動が小さく、平均需要が最適解に近い場合
### 「12部仕入れ」で最高益になった場合
**理由の例**:
- 客数が増えても逃さずに多く販売できたため
- 限界利益が限界損失より大きい場合、積極的な発注が最適
### 最適発注数量の判断基準
最適発注数量は、以下の比率によって判断できる:
$$
\frac{c}{a} = \frac{\text{仕入価格}}{\text{販売価格}}
$$
- $ \frac{c}{a} $ が大きい(仕入価格が高い)→ 保守的な発注
- $ \frac{c}{a} $ が小さい(仕入価格が低い)→ 積極的な発注
この比率と需要分布の累積分布関数から、最適発注数量 $ Q^* $ が決定される。
## 在庫管理方式の選択指針
### 各方式の適用場面
| 方式 | 適用場面 | 特徴 |
|------|---------|------|
| **EOQモデル** | 需要が安定している商品、発注費用と保管費用のバランスが重要 | 理論的に最適な発注量を決定 |
| **定期発注方式** | 発注業務を定期化したい場合、需要が比較的安定している場合 | 発注業務の計画性が高い |
| **定量発注方式** | 需要変動が大きい場合、発注量を固定したい場合 | 在庫水準の管理が容易 |
| **新聞売り子モデル** | 需要が不確実で、売れ残りと機会損失のバランスが重要 | 確率的需要に対応 |
### 方式選択の判断基準
1. **需要の変動性**
- 需要が安定 → EOQモデル、定期発注方式
- 需要が変動 → 定量発注方式、新聞売り子モデル
2. **商品の特性**
- 長期保管可能 → EOQモデル
- 短期で劣化・陳腐化 → 新聞売り子モデル
3. **発注業務の制約**
- 発注時期を固定したい → 定期発注方式
- 発注量を固定したい → 定量発注方式
4. **コスト構造**
- 発注費用と保管費用のバランスが重要 → EOQモデル
- 売れ残り損失と機会損失のバランスが重要 → 新聞売り子モデル
**図16: 在庫管理方式の選択指針**
```mermaid
graph TB
subgraph "方式選択の意思決定ツリー"
A[在庫管理方式選択<br/>Inventory System Selection] --> B{需要の変動性<br/>Demand Variability}
B -->|需要が安定<br/>Stable Demand<br/>CV<0.2| C{発注業務制約<br/>Ordering Constraints}
B -->|需要が変動<br/>Variable Demand<br/>CV≥0.2| D{商品特性<br/>Product Characteristics}
C -->|発注時期固定<br/>Fixed Order Period| E[定期発注方式<br/>Periodic Review<br/>発注間隔T固定]
C -->|発注量固定<br/>Fixed Order Quantity| F[定量発注方式<br/>Continuous Review<br/>発注点ROP]
D -->|長期保管可能<br/>Durable Goods| G[EOQモデル<br/>Economic Order Quantity<br/>Q*=√2C_0R/C_1]
D -->|短期劣化・陳腐化<br/>Perishable Goods| H[新聞売り子モデル<br/>Newsvendor Model<br/>FQ*=1-c/a]
end
subgraph "コスト構造による分類"
I[発注費用と保管費用<br/>Ordering & Holding Costs] --> G
J[売れ残りと機会損失<br/>Overstocking & Understocking] --> H
end
subgraph "パラメータ定義"
K[CV 変動係数<br/>Coefficient of Variation<br/>CV=σ/μ]
L[C_0 発注費用<br/>Ordering Cost]
M[C_1 保管費用率<br/>Holding Cost Rate]
N[c 仕入価格<br/>Purchase Price]
O[a 販売価格<br/>Selling Price]
end
```
## まとめ
本章では、在庫管理の基本的な方式と理論について学んだ。主な内容は以下の通りである:
### 主要な概念
1. **EOQモデル**:最適発注量を決定する基本的なモデル
- 公式:$Q^* = \sqrt{\frac{2 C_0 R}{C_1}}$
- 最適点では発注費用と保管費用が等しくなる
2. **リードタイムと安全在庫**:実際の在庫管理では需要変動に対応するため安全在庫が必要
- 発注点:$ROP = d \times L + SS$
- 安全在庫:$SS = z_{\alpha} \times \sigma_L$
3. **新聞売り子問題**:不確実な需要に対する最適発注量決定問題
- 最適条件:$F(Q^*) = 1 - \frac{c}{a}$
- 期待効用最大化の具体例
### 各方式の特徴
| 方式 | 適用場面 | 主なパラメータ |
|------|---------|---------------|
| EOQモデル | 需要が安定 | $C_0$, $C_1$, $R$ |
| 定期発注方式 | 発注時期を固定 | 発注間隔 $T$ |
| 定量発注方式 | 発注量を固定 | 発注点 $ROP$ |
| 新聞売り子モデル | 需要が不確実 | $c$, $a$, 需要分布 |
### 関連トピック
- **最適化理論**:在庫管理は制約付き最適化問題として定式化される
- **確率論**:不確実な需要のモデル化には確率分布(ポアソン分布など)が用いられる
- **期待効用理論**:新聞売り子問題は期待効用最大化の応用例
### 今後
在庫管理の理論を深めるためには、以下のトピックも重要である:
- 多期間在庫モデル
- 動的在庫モデル
- サプライチェーン管理
- 需要予測手法
在庫管理の理論を深めるためには、最適化理論、確率論、統計的推論などの数学的基礎が重要である。
Collection
Citation
unjuno, “シミレーション工学7,” unjuno'sResearchLibrary, accessed October 8, 2026, https://archive.unjuno.org/items/show/126.
コメント