応用情報技術者 2024年 秋期 午前2 問73
問題文
構成表の製品Aを300個出荷しようとするとき、部品bの正味所要量は何個か。ここで、A, a, b, cの在庫量は在庫表のとおりとする。また、他の仕掛残、注文残、引当残などはないものとする。

選択肢
ア:200
イ:600(正解)
ウ:900
エ:1,500
🔒 解説は解答すると表示されます
正味所要量の多段計算【午前2解説】
正解の理由
出荷する製品Aの不足分をトップダウンで展開し、各段で在庫を差し引いていくと、部品bの正味所要量は個になります。手順は次のとおりです。
- 製品Aは出荷300個に対して在庫が100個あるため、追加生産は 個。
- その200個のAに対して、直接必要なbは 個。
- 同時にAに必要な部品aは 個だが、a在庫100個があるためaの追加生産は 個。
- その500個のaにより必要になるbは 個。
- よって全体で必要なbの総数は 個(総所要量)。ここからb在庫300個を差し引き、正味所要量は 個となります。
以上の計算から、選択肢のうち イ が正しいことが確認できます。
解法ステップ
- 最上位品(A)の出荷・需要から追加生産量(所要量)を算出する。
- 各部品について、上位の生産数にその構成数量を掛けて「総所要量(粗所要)」を求める。
- A→b(直接):
- A→a:
- 下位品(a)については在庫を差し引いて「追加生産量」を求める。
- 下位品の追加生産に伴う部品要求を計算する。
- a→b:
- 各ルートからのbの総所要量を合算し、最終的にb在庫を差し引いて正味所要量とする。
- 総所要
- 正味所要
ポイント:在庫の差引は各段階(各BOMレベル)で行うこと。上位の在庫だけ引いて下位の在庫を無視すると誤答になります。
選択肢別の誤答解説
- ア: 200
- これは「aからのb(=500)からb在庫300を差し引いた値(500-300=200)」のように、Aから直接必要なb(400)を見落としてしまった場合に生じる誤りです。A直結分を漏らすと必要数が過小評価されます。
- イ: (正答解説は上記)
- ウ: 900
- 900は、各段の所要数を計算して合算した「総所要量」ですが、b在庫(300個)を差し引いていない値です。在庫の差引を忘れるとこの値になります。
- エ: 1,500
- 1,500は在庫を全く考慮せずに、単純に出荷300個に対して構成数量を掛け合わせた全粗所要を合算した場合(A→a: , A→b: , 合計1500)に該当します。在庫を無視すると必要数は過大になります。
よくある誤解
- 在庫は最上位だけで差し引けば良い、という誤解。実際は各BOMレベルで在庫を差し引く必要がある。
- 「総所要量」と「正味所要量」を混同する。総所要量から在庫(および仕掛・引当)を差し引いたものが正味所要量である。
- 多段BOMでの「爆発(展開)」順序を誤る(下位から計算するのではなく、上位需要を起点に順次展開する)。
補足コラム
MRP(資材所要量計算)の基本は「上位の需要を展開して下位の部品所要を算出し、各段で在庫等を差し引いて正味を求める」ことです。一般式は次のとおりです。
簡単な自動計算の例(Python):
# トップ需要と在庫
demand_A = 300
stock = {'A':100, 'a':100, 'b':300, 'c':400}
# 製造必要数
produce_A = max(0, demand_A - stock['A']) # 200
b_from_A = 2 * produce_A # 400
a_needed_for_A = 3 * produce_A # 600
produce_a = max(0, a_needed_for_A - stock['a']) # 500
b_from_a = 1 * produce_a # 500
total_b_gross = b_from_A + b_from_a # 900
net_b = max(0, total_b_gross - stock['b']) # 600
print(produce_A, b_from_A, a_needed_for_A, produce_a, b_from_a, total_b_gross, net_b)
このように階層ごとに順を追って在庫差引を行えば、正確な正味所要量が得られます。
FAQ
Q. 「なぜa在庫を先に引くのか?」
A. aはAの部品であり、Aの所要量から計算したaの必要数に対して在庫を差し引き、追加生産分を確定させる必要があるためです。下位の在庫が使える分は上位の需要を満たすため、先に差し引きます。
A. aはAの部品であり、Aの所要量から計算したaの必要数に対して在庫を差し引き、追加生産分を確定させる必要があるためです。下位の在庫が使える分は上位の需要を満たすため、先に差し引きます。
Q. 在庫が過多で生産ゼロになったら?
A. 計算上は各段で負の値は0に丸めます(生産不要)。必要がなければ部品の追加発注・生産は不要です。
A. 計算上は各段で負の値は0に丸めます(生産不要)。必要がなければ部品の追加発注・生産は不要です。
Q. 仕掛・引当がある場合は?
A. 仕掛品や引当残は在庫同様に差し引くか、スケジュールに応じて考慮します。今回の問題ではそれらは無いとされています。
A. 仕掛品や引当残は在庫同様に差し引くか、スケジュールに応じて考慮します。今回の問題ではそれらは無いとされています。
関連キーワード: 部品表、BOM爆発、正味所要量、総所要量、在庫差引、MRP、多段構成

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

