はじめに
2015年1月末に私が参加していたプロジェクトで作成したスケジューリングシステムの特許承認が下りました。
出願が2011年10月ですから特許承認まで4年半ほどかかった計算になります。
このプロジェクトの発端は神戸製鋼所様から既存のスケジューラーを利用しても思ったような結果が出ないので、現実に即したスケジュールを組むシステムを作りたいというお話をいただいたことでした。
特徴
このスケジューリングシステムですが、
以下のような特徴があり、この特徴を実現する方法が 「発明」となっています。
- 作業員個人の勤務時間を考慮してスケジューリングを行うことができる。
- 作業の途中で作業員の交代を行いながらスケジューリングを行うことができる。
- 複数の設備を利用できる作業員が作業中の場合はその作業員はほかの作業を行わない。
という制約をつけてスケジューリングを行うことができる。
既存のスケジューラーでは現実の作業員の配置を正確に表現していないために、せっかくスケジュールを立ててもスケジュール通りに作業を行うことは難しかったのですが、新しいスケジューラーを利用して作成したスケジュールはほぼその通りに作業を行うことができるようになりました。
何事も・・・
開発が一筋縄で進んだわけではありません。
検証用の小さいデータから本番に近いデータに切り替えたところ、作業員と利用可能な設備の組み合わせが爆発的に増加し、資源ごとの作業員の稼働可能な時間を再計算する部分のパフォーマンスが悪化してスケジューリングの結果が返ってこなくなったということがありました。データに不整合があって計算が先に進まず、システムが止まってしまうということもありました。
プロとは!!
しかし、その程度のことであきらめていてはプロの名折れと思い、再計算ロジックを見直したり、データの不整合を計算時に検出して計算を続行できる状態に直したり、その他細々とした調整を行って最終的には数年分のスケジューリングを2,3分で実行できる(データの読み込み時間を除く)パフォーマンスを実現しました。
苦労した甲斐があって、このシステムは現在も神戸製鋼所様の高砂工場で基幹システムとして利用されています。
自分が作ったシステムが有効に使われていると聞くとすごくうれしいですね!
2015.08.28 N・M