日程計画システム
プロジェクト概要
プロジェクト概要 | |
---|---|
目的 | 正確かつ高速な日程計画システムの構築 |
概要 |
作業員を考慮に入れた日程計画の立案 実績を考慮した再計画の実施 作業員のスケジュールを変更してシミュレーションを行う機能の実装 |
導入効果 | 作業員の稼働スケジュールを加味した スケジューリングを行えるため、 部品納期達成率(納品期日の順守率)が大幅に向上した |
対象フェーズ | 要件定義~技術検証~設計~製造~導入~保守 |
人員規模 | 2~6名/18か月(保守は継続中) |
開発環境 |
C#.NET,ASP.NET, WindowsServer2008R2,Windows7, Oracle11g |
特殊技術 (パッケージ) |
IBM ILOG Gantt Chart |
KTSの役割 | エンドユーザと要件定義、設計、開発、導入支援、及び、ソフトウェア保守 |
プロジェクト詳細
本システムの導入前にも神戸製鋼所様ではスケジューラーを利用していたが、
以下の点において改善すべきポイントがあった。
- 複数の作業員が画一的に扱われているため、作業員の稼働予定を正確に表現できない。
- 設備を使用する作業員の稼働可能時間が正確に表現できないため、スケジューリングの結果が不正確である。
- 作業の途中で作業員を交代させることができないため、昼勤と夜勤の切り替え時にスケジューリング結果が不正確になる。
これらの課題を解決し、かつ、高速にスケジューリングを行うシステムの構築がプロジェクトの目的であった。
本システムは2010年より神戸製鋼所様の基幹システムとして稼働中である。
本スケジューリングシステムの特徴
- 作業員の稼働予定を正確に表現できる
本スケジューリングシステムでは作業員ごとのカレンダーを持ち、稼働日ごとの稼働時間を管理している。
これにより作業員個人の稼働可能時間を表現することが可能となっている。
- 設備を使用する作業員の稼働可能時間を正確に表現できる
本スケジューリングシステムでは設備を利用するグループを作成し、そのグループに作業員を割り付ける形で作業員全体の作業可能時間を計算する。
具体的には、グループに所属する作業員の作業可能時間をすべて結合してそれをグループの作業可能時間として扱う。
ある作業員が作業を行う場合、該当する作業員の作業を行っている時間帯を作業可能時間から削除し、該当する作業員の所属する全グループの作業可能時間を再計算することによってグループの作業可能時間を更新する。
この処理により、グループの作業可能時間は正確であることが保証される。
- 作業の途中で作業員を交代させることができる
上で記述したグループの概念を利用して作業を行う時間帯をグループの作業可能時間から取得(休憩時間や非稼働日もあるため、作業を行う時間帯は連続であるとは限らない)し、そののちに作業を行う作業員を重複度の低い順(所属しているグループが少ない順)から順に選択していく。
選択した作業員の作業時間と作業を行う時間帯を相殺し、作業を行う時間帯がなくなるまでこれを繰り返すことにより、複数の作業員が交代しながら作業を行うことが表現できる。
- 作業員のカレンダーを一時的に変更してスケジューリングを行うことができる
本システムではそのほかに作業員のカレンダーを一時的に変更してスケジューリングを行う機能も含まれている。
この機能は残業を行った場合のスケジューリング結果を見ながら残業時間を決定するなどということにも利用されている。
- 読み込み回数の最小化により高速でスケジューリングを行う事ができる
本システムには全作業員(数百人規模)の作業員を想定しており、カレンダー読み込み回数を減らすために読み込み結果をメモリ上にキャッシュして通常はキャッシュの値を利用することによって正確でかつ高速に動作するスケジューリングシステムを保っている。
- グループの再計算の最適化
作業員の作業時間が削除された後、即座にグループの作業時間を再計算するのではなく、該当する範囲を無効化された時間帯として記録する。
無効化された時間帯が計算に必要になった場合、無効化された時間帯のみ作業時間の再計算を行い、正確でかつ高速に動作するスケジューリングシステムを保っている。
以上の特徴により、本システムの計算するスケジューリングの結果は現実をよりよく反映したものとなっており、現在ではほぼスケジューリング結果通りに作業を行うことが可能になっている。
お客様情報
https://www.kobelco.co.jp/