技術見立て

生産計画「山崩し」システムの
開発可否と進め方

2026年10月9日
  1. 01ご相談内容の整理
  2. 02結論
  3. 03山崩しとは
  4. 04山崩しシステムの位置づけ
  5. 05システムのイメージ
  6. 06技術構成と MATLAB との比較
  7. 07難しい点・懸念
  8. 08進め方の提案
  9. 09事前にいただきたい資料・情報
01

ご相談内容の整理

お客様のご要望

  • 稼働中の生産計画「山崩しシステム」の要件定義書を、AI(Claude)に読み込ませる
  • 要件定義書をもとに、同等のシステムを開発できるか検証する
  • 開発したシステムを、お客様の自社仕様にカスタマイズする
  • 関係部署は経営企画・化成・金属・生産管理
  • 事前に資料の準備とゴール設定を行う

現時点で分かっていないこと

  • 要件定義書の中身(未受領)
  • 既存システムの機能の範囲と、守るべき条件
02

結論

対応は可能と見ています。
ただし、要件定義書だけでなく実データとの突き合わせが前提です。

「要件定義書を読ませれば同等のものができる」という前提には注意が必要です。要件定義書に加えて既存システムの実データを受け取り、出力結果を突き合わせながら進める形をご提案します。

  • 山崩しは生産スケジューリングの定番の問題で、実装の手段は確立しています
  • 再現度は、要件定義書の詳しさと、既存システムの入出力データがあるかで決まります
  • まず1部門・1工程に絞った検証から始めるのが現実的です
03

山崩しとは

工場の生産計画を、無理のない形にならす作業です。日ごとに各設備や作業者へ割り当てた仕事量を集計し、こなせる量を超えている日の仕事を、空いている日や別の設備に移します。

山崩しの前後比較 左は山崩し前で、火曜と水曜の負荷が能力上限を超えている。超えた分を月曜へ前倒し、木曜へ後ろ倒しすると、右の山崩し後では全日が能力上限以内に収まる。 山崩し前(山積み) 山崩し後 前倒し 後ろ倒し 月火水木金 月火水木金 負荷(仕事量) 能力オーバー 能力上限
山積み
設備・工程・作業者ごとに、日や週ごとの仕事量(必要な作業時間)を積み上げて集計することです。グラフにすると山の形になるので、こう呼ばれます。
山崩し
能力の上限を超えた「山」の部分を、余裕のある「谷」へ移して平らにすることです。

山を崩す4つの手段と代償

手段代償・条件
前倒し(早めに作る)在庫と置き場所が増える
後ろ倒し(遅らせる)納期に間に合うことが条件
別の設備・ラインに振り替えるその設備で作れる品目に限られる
能力を増やす残業・休日出勤・外注のコストが増える

難しいのは制約の多さ

仕事を動かすときに守るべき条件(制約)が多くあります。納期、材料の入荷日、前の工程が終わっているか、品目を切り替えるときの段取り替えの時間、まとめて作る単位(ロット)、保管期限、作業者のスキルなどです。

品目や設備が増えると、Excel と担当者の経験では追いつかなくなります。急な注文や設備トラブルのたびに計画を作り直すことになり、担当者しか計画を組めない状態にもなりやすいです。

04

山崩しシステムの位置づけ

製造業の生産管理は、だいたい次の流れで回っています。

受注・需要予測→ 生産計画→ 山積み→ 山崩し→ 確定計画→ 作業指示→ 実績収集

山崩しシステムは、この流れの「山積み→山崩し」を自動化・支援する仕組みです。パッケージ製品では「生産スケジューラ」と呼ばれる製品群(Asprova、FLEXSCHE など)がこの役割を担うことが多く、基幹システム(ERP)から受注・在庫・マスタを受け取って計画を作り、基幹システムへ返します。

自動化の3段階

  1. 山積みグラフやガントチャートを表示し、人が画面上で仕事を手で動かす
  2. 決めたルール(優先順位など)に従って自動で振り分ける
  3. 数理最適化で、制約を守ったうえで最も良い組み合わせを計算する

お客様の既存システムがどの段階かによって、同等品を作る難しさが大きく変わります。最初に確認したい点です。

今回の関係部署(推測を含む)

部署想定される関わり
化成・金属計画の対象になる部門・ライン。制約の性質が部門ごとに違う可能性がある
生産管理システムを毎日使って計画を作る、実際の利用者
経営企画山積みの結果から慢性的に足りない設備を把握し、設備投資や人員計画を判断する立場と推測。要確認
05

システムのイメージ(想定)

生産管理の担当者が毎日開くメイン画面を想定しています。「自動山崩し」を押すと、能力オーバーが解消された計画案に切り替わります。

2026/10/13〜10/17

能力オーバー

4件

納期遅れリスク

1件

在庫増(前倒し分)

0ロット

設備
月 13
火 14
水 15
木 16
金 17
プレス1号機
70%
128%
115%
60%
75%
プレス2号機
85%
92%
104%
66%
70%
旋盤A
95%
88%
90%
98%
80%
溶接ライン
50%
110%
72%
64%
58%
負荷率 = 割り当てた作業時間 ÷ 稼働可能時間 赤字100%超 太字90〜100%
超過火 プレス1号機:能力を2.2時間超過(受注3件が集中)
超過火 溶接ライン:能力を0.8時間超過
納期受注 #1043(納期 10/16)が間に合わない可能性

数値・設備名はすべて説明用の架空のものです。

担当者の使い方

  1. 基幹システムから受注と在庫のデータを取り込む(夜間に自動で取り込む形が多い)
  2. 山積み画面で、能力オーバーの設備と日を確認する
  3. 「自動山崩し」で計画案を作る
  4. 案を見て、気になるところはガントチャート上で手で動かして微調整する
  5. 「計画確定」で現場向けの作業指示書を出力し、基幹システムにも計画を戻す

システムの構成

入力

  • 受注・需要予測
  • 在庫
  • マスタ
  • 制約ルール
→

処理

  • 山積み計算
  • 山崩しエンジン
→

出力

  • 設備別・日別の生産計画
  • 現場向け作業指示書
  • 負荷レポート

マスタには、品目、工程の順番、設備ごとの能力、稼働カレンダー、段取り時間などが入ります。

画面の構成

画面役割
山積み画面設備・日ごとの負荷を一覧で確認し、自動山崩しを実行する(上の画面)
ガントチャート設備ごとに個々の作業を時間軸に並べて表示する。ドラッグで手修正できる
シミュレーション「設備を1台増やしたら」「土曜に稼働したら」を比べる。経営企画向け
マスタ管理品目、設備能力、稼働カレンダー、優先ルールを登録・変更する
予実比較計画と実績の差を見て、能力の設定を見直す
06

技術構成と MATLAB との比較

弊社で作る場合の技術構成(想定)

要素内容
画面Web アプリ。社内のブラウザから使う形
山崩しエンジンPython と数理最適化ライブラリ(Google OR-Tools など)で実装する。計算結果が毎回同じになり、理由を追える作りにする
連携基幹システムとは CSV の取り込み・書き出しから始め、必要に応じて API 連携に移行する

Claude の役割

Claude は開発を速くするために使います。具体的には、要件定義書の読み込みと整理、仕様の抜け漏れの洗い出し、プログラムとテストの作成を担当させます。

山崩しの計算そのものは Claude に毎回判断させず、決まったロジックで処理する設計にします。生産計画では、同じ入力なら同じ結果が出ることと、なぜその結果になったかを説明できることが必要だからです。

AI を組み込む余地

「なぜこの受注を月曜に動かしたのか」を日本語で説明する機能や、担当者が「火曜のプレス1号機をもう少し空けて」とチャットで指示すると計画案を作り直す機能を加えられます。既存システムの再現にこうした機能を加えると、お客様の言う「自社仕様へのカスタマイズ」の提案材料にもなります。

MATLAB との比較

MATLAB でも山崩しの計算はできます。Optimization Toolbox に整数を含む最適化問題を解く関数(intlinprog)があり、山崩しを数式に落とせば解けます。ただし MATLAB の得意分野は数値計算、シミュレーション、制御設計、研究開発で、製造業でも主に開発・技術部門が使っています。生産管理部門が毎日使う業務システムの土台として選ばれることはあまりありません。

MATLABPython(OR-Tools など)生産スケジューラ製品
山崩しの計算できる(追加の Toolbox が必要)できる標準機能
業務システム化不得意。社内配布には MATLAB Compiler や Production Server などの追加ライセンスが必要得意。Web アプリや DB 連携の部品が豊富製品の範囲内で設定する
費用本体と Toolbox が有償。利用者や配布形態で増える無償(商用ソルバーを使う場合は有償)製品ライセンスが有償
カスタマイズ自由自由製品の仕様に縛られる
保守できる人社内の技術者に限られがち多いベンダー依存

業務システムとして作るなら、弊社は Python を第一候補にします。「同等のシステムを作って自社仕様にカスタマイズする」という目的にも、Python が一番合っています。

MATLAB を選ぶ理由があるケース

既存システムが MATLAB 製なら、そのソースコードが要件定義書よりも正確な仕様書になります。コードを受け取れれば再現の精度は大きく上がり、Python への移植も現実的です。Claude は MATLAB のコードも読み書きできます。

07

難しい点・懸念

  1. 要件定義書の詳しさで再現度が決まる

    要件定義書は通常「何をするか」までしか書かれていません。どの品目を優先して動かすか、前倒しは何日まで許すか、ロットを分割してよいか、段取り替えをどう扱うかといった細かいルールは、設計書やプログラムの中、または計画担当者の頭の中にあることが多いです。要件定義書だけで作ると、「だいたい同じ動き」はしても「同じ結果」にはならない可能性が高いです。

  2. 「同等」の判定基準を先に決める必要がある

    同じデータを入れたときに既存システムと同じ計画が出ることを「同等」とするのか、計画として妥当なら多少の差は許すのかを決める必要があります。前者の場合は、既存システムに入れたデータと出てきた結果の実例が必須です。

  3. 化成と金属で制約の種類が違う可能性がある

    一般的に、化成はバッチ処理、配合、タンク容量、洗浄といった制約が中心です。金属は設備ごとの加工時間や段取り替えが中心になります。1つの仕組みで両方扱うことはできますが、制約の定義は部門ごとに必要なので、対象範囲は大きくなります。検証段階ではどちらか一方に絞るのが現実的です。

  4. 手修正や運用でカバーしている部分

    既存システムの出力を計画担当者が手で直している場合、その判断はシステムにも要件定義書にも書かれていません。生産管理部門へのヒアリングが必要です。

  5. 既存システムの権利関係と機密の扱い

    既存システムがパッケージ製品や外部ベンダーの開発品なら、要件定義書を類似システムの開発に使ってよいか、契約上の確認が必要です。要件定義書を AI に読み込ませることがお客様の社内規程に反しないかも、事前に確認が必要です。なお、Claude は法人向けの利用形態であれば、入力データがモデルの学習に使われません。

  6. データ連携と規模

    受注・在庫・マスタのデータを基幹システムからどう受け取るかで、開発範囲が変わります。品目数、設備数、計画期間によって計算時間も変わります。

08

進め方の提案

0

見立て

要件定義書を読み込み、そのまま再現できる部分と情報が足りない部分を一覧にします。そのうえで、ゴールと対象範囲をお客様と合意します。資料受領後1〜2週間が目安です。

1

検証

1部門・1工程に絞り、過去の実データで既存システムの山崩し結果と比べます。どこまで一致したかと、差が出た理由を報告します。

2

本開発・カスタマイズ

対象部門を広げ、お客様の自社仕様を追加し、既存システムとつなぎます。

ゴールの例

金属部門の特定ラインについて、過去3か月分のデータで既存システムと同じ山崩し結果を再現できるか検証し、差が出た箇所の理由を説明できる状態にする

09

事前にいただきたい資料・情報

できれば必須

  • 要件定義書。あれば基本設計書、詳細設計書、画面・帳票のサンプル、操作マニュアルも
  • 既存システムの入出力の実例。山崩し前の負荷データと山崩し後の計画を数か月分(品目名などは伏せたもので可)
  • マスタ類。品目、工程、設備、設備の能力、稼働カレンダー
  • 山崩しのルールや制約条件の説明。優先順位、納期、前倒し・後ろ倒しの上限、ロット、段取り替えなど

あると精度が上がるもの

  • 既存システムの概要。製品名か自社開発か、開発言語、稼働環境、連携先システム、利用者
  • 規模感。品目数、設備数、計画期間と単位(日・週・月)、計画を作る頻度
  • 既存システムを置き換えたい理由と、カスタマイズしたい点(現状の不満)
  • 各部署(経営企画・化成・金属・生産管理)の役割と期待
  • 要件定義書の権利関係と、AI 利用に関する社内規程
  • ご予算と希望時期

資料が揃った段階で、生産管理のご担当者に1時間ほどヒアリングできると、見立ての精度が大きく上がります。