以下,本発明に係る最適保守計画立案支援システムの実施の形態を図面に基づいて説明する。本実施の形態では,鉄道会社の保守計画立案を例に取り説明を行うが,あくまで一例であり,電力会社や航空会社等の保守計画立案においても本発明によって実現される。
以下に述べるシミュレーションはシステムが提供する機能により,マシンが自動で行うものである。また最適とある表現は,限られた条件のもと最適あるいは最適に近いと想定される場合を意味している。すなわち,計算誤差や計算精度,条件把握不十分による範囲のずれは,考慮には入れず,与えられた条件と計算精度で最適であるものを,本実施の形態の例では最適であるとする。また最適化,最悪等に関しても同様である。
図1は本発明における最適保守計画立案支援システムをブロック図で示したものである。1は最適設備保守計画を立案する際の基本情報となる保守計画基本情報記憶手段である。2はユーザが最適保守計画立案支援システムを実行するために必要なデータを設定する最適化設定手段である。3は総合的なコストとリスクを共に最小化した最適な保守計画を立案する最適化手段であり,4〜20の手段からなる。
4は前記最適化手段で最適な保守計画を立案する過程で,複数の保守計画案を記憶する複数計画案記憶手段である。5は前記最適化手段で最適な計画を立案する過程で,複数の初期計画案を生成する初期計画生成手段であり,6〜7の手段からなる。6は前記初期計画生成手段で複数の初期計画案を生成する過程で,法定で定められた制約を有する設備において,制約を満たすように保守計画を立案する制約充足計画生成手段である。7は前記初期計画生成手段で複数の初期計画案を生成する過程で,法定で定められた制約を有しない設備において,ランダムに計画を生成するランダム計画生成手段である。8は前記最適化手段で最適な計画を立案する過程で,立案された複数の計画案を評価する評価手段であり,9〜16の手段からなる。9は前記評価手段で保守計画案を評価する過程で,設備が故障するか否かをシミュレートする故障シミュレーション手段である。10は前記評価手段で保守計画案を評価する過程で,前記故障シミュレーション手段に基づいて,保守に要する総合的なコストをより現実的に評価するコスト評価手段である。11は前記評価手段で保守計画案を評価する過程で,前記故障シミュレーション手段に基づいて,保守計画のリスクを評価するリスク評価手段である。
12〜16は制約に関する評価手段である。12は前記評価手段で保守計画案を評価する過程で,計画案が保守不可能日に保守を実施しているか否かを評価する保守不可能日制約評価手段である。保守不可能日とは例えばイベントや大雪などの様々な要因から保守ができない日である。13は前記評価手段で保守計画案を評価する過程で,計画案が保守要員数の制約を満たしているか否かを評価する保守要員制約評価手段である。一般には保守基地毎に存在する手段である。14は前記評価手段で保守計画案を評価する過程で,計画案がある期間で保守できる回数の制約を満たしているか否かを評価する保守回数制約評価手段である。例えば1日に何度も実施できない保守等の場合に必要となる。15は前記評価手段で保守計画案を評価する過程で,それぞれの保守地区で有する,保守作業に必要な保守装置の数の制約を計画案が満たしているか否かを評価する保守装置利用制約評価手段である。保守装置には例えば,はしご車やクレーンなどがある。16は前記評価手段で保守計画案を評価する過程で,複数の設備が同日に保守できないという制約を計画案が満たしているか否かを評価する同日保守禁止制約評価手段である。この制約は,例えば,複数の設備を同時に保守することで,特定地域の電源が完全に停止し,電車の発進に影響が生じる場合等に必要となる。
さらに、前記の保守可能日および保守不可能日は保守可能時間および保守不可能時間の単位に変更することも可能である。
17は前記最適化手段で最適な計画を立案する過程で,前記評価手段で評価した評価値に基づいて,複数の保守計画案の優劣を決定する優劣比較手段である。18は前記最適化手段で最適な計画を立案する過程で,複数の計画案を改良する計画改良手段であり,19〜20の手段からなる。19は前記計画改良手段で複数の計画案を改良する過程で,法定で定められた制約を有する設備において,制約を満たすように保守計画を改良する制約充足計画改良手段である。20は前記計画改良手段で複数の計画案を改良する過程で,法定で定められた制約を有しない設備において,ランダムに計画を改良するランダム計画改良手段である。21は前記最適化手段で立案された複数の最適な保守計画案の中から,ユーザにとって好ましい計画案を決定する最適保守計画決定手段であり,22〜24の手段からなる。22は前記最適保守計画決定手段で,複数の最適な保守計画案の中から,ユーザにとって好ましい計画案を決定する過程で,計画案の評価値の観点で,複数の最適な保守計画案を比較する画面を表示する複数計画案評価値比較画面表示手段である。23は前記最適保守計画決定手段で,複数の最適な保守計画案の中から,ユーザにとって好ましい計画案を決定する過程で,ある最適な計画案の評価値の詳細を画面に表示する計画案評価値詳細表示手段である。24は前記最適保守計画決定手段で,複数の最適な保守計画案の中から,ユーザにとって好ましい計画案を決定する過程で,ある最適な計画案において,計画案の詳細を画面に表示する計画案詳細画面表示手段である。25は前記最適保守計画決定手段で,複数の最適な保守計画案の中から,ユーザにとって好ましい計画案を決定した時に,採用した保守計画案を記憶する採用保守計画記憶手段である。
保守計画基本情報記憶手段1に記録される各種データには,設備データ11T,保守地区データ12T,線区データ13T,保守種類データ14T,保守装置データ15T,設備別故障データ16T,機種別故障データ17T,環境負荷データ18T,前回定期保守データ19T,保守データ20T,復旧データ21T,保守作業必要装置データ22T,法定保守間隔制約データ23T,保守不可能日制約データ24T,保守要員制約データ25T,保守回数制約データ26T,保守装置利用制約データ27T,同日保守禁止グループデータ28T及び同日保守禁止制約データ29Tがある。
設備データ11Tには,設備番号をキーとして行方向に11a〜11gのデータが複数行記憶されている。以下,同日保守禁止制約データ29T(図20)まで同様に項目で表されるデータを行方向に複数行,それぞれの記憶領域に記憶している。
設備データ11Tは,各設備の情報を記憶したデータである。例えば,図2に示すように,設備番号11a,設備名称11b,住所11c,保守地区番号11d,線区番号11e,機種番号11f,環境番号11gのデータを記憶してある。このうち,「設備番号11a」は設備を識別する番号である。「設備名称11b」,「住所11c」はそれぞれ設備番号11aの設備名称と住所を表したものである。「保守地区番号11d」は設備番号11aが属する保守地区を識別する番号である。「線区番号11e」は設備番号11aが属する鉄道の路線を識別する番号である。「機種番号11f」は設備番号11aが属する機械の機種を識別する番号である。「環境番号11g」は設備番号11aが位置する場所の環境を識別する番号である。環境データは,例えば設備が存在する場所が海沿いであったり,山沿いであったり場合に,設備に与える腐食などの影響を考慮するためのデータである。
保守地区データ12Tは,設備がどの保守エリアの保守計画に属するかを識別するための情報を記憶したデータである。例えば,図3に示すように,保守地区番号12b,保守地区名称12aのデータを記憶してある。このうち,「保守地区名称12a」は保守地区番号の名称である。本実施の形態では,この保守地区を単位として保守計画の立案を行う。
線区データ13Tは,鉄道の路線の情報を記憶したデータである。例えば,図4に示すように,線区番号13b,線区名称13aのデータを記憶してある。このうち,「線区名称13a」は線区番号の名称である。
保守種類データ14Tは,定期保守を実施する際の保守の種類の情報を記憶したデータである。例えば,図5に示すように,保守番号14a,保守名称14bのデータを記憶してある。このうち,「保守番号14a」は保守の種類を識別する番号である。「保守名称14b」は保守番号14aの名称である。本実施の形態では,保守の種類を点検,補修,交換の3種類としたが,例えば,点検や補修をレベルに合わせて細分化することをしても良い。また,保守の種類(名称・種類数)はユーザの必要に応じ任意に決めることが可能である。
ここで点検は設備の点検に加えオイル交換等の整備作業も含める。補修は設備の一部分の部品交換や修理作業等である。交換は対象となる設備全体の新品への交換作業のことである。
保守装置データ15Tは,定期保守の作業を行う際に必要な保守装置の情報を記憶したデータである。例えば,図6に示すように,保守装置番号15a,保守装置名称15bを記憶してある。このうち,「保守装置番号15a」は保守装置を識別する番号である。「保守装置名称15b」は保守装置番号15aの名称である。
設備別故障データ16Tは,各設備の故障分布のパラメータ情報を記憶したデータである。本実施の形態では,設備の故障分布にワイブル分布を採用する。ワイブル分布は機械(人間も同じ)の故障を記述する場合などに良く使われる分布であるため採用したが,正規分布や指数分布など,他の分布のほうがより適している場合には,必要に応じて他の分布を採用し,そのパラメータ情報を記憶すればよい。設備別故障データ16Tは,例えば,図7に示すように,設備番号16c,形状パラメータ16a,尺度パラメータ16bのデータを記憶してある。このうち,「形状パラメータ16a」,「尺度パラメータ16b」は図1の故障シミュレーション手段9で用いるデータで,故障間隔をモンテカルロ法でシミュレートする際に用いるワイブル分布のパラメータである。これらパラメータは設備の故障履歴を用いて,あらかじめ求めておく。しかし,故障履歴のない設備がある場合は,その設備の形状パラメータ16a,尺度パラメータ16bは設備別故障データ16Tに記憶されない。例えば,図7の設備別故障データ16Tが設備番号について昇順に並べられている時,設備番号00005の故障履歴がない場合は,図7に示すように設備番号00005の形状パラメータ16a,尺度パラメータ16bの情報は記憶されない。
機種別故障データ17Tは,メーカで公表している設備が属する機械の機種における故障分布のパラメータ情報を記憶したデータである。本実施の形態では,設備の故障分布にワイブル分布を採用する。ワイブル分布は機械(人間も同じ)の故障を記述する場合などに良く使われる分布であるため採用したが,正規分布や指数分布など,他の分布のほうがより適している場合には,必要に応じて他の分布を採用し,そのパラメータ情報を記憶すればよい。機種別故障データ17Tは,例えば,図8に示すように,機種番号17d,機種名称17a,形状パラメータ17b,尺度パラメータ17cのデータを記憶してある。このうち,「機種名称17a」は機種番号の名称である。
環境負荷データ18Tは,環境による設備の負荷に関する情報を記憶したデータである。例えば,図9に示すように,環境番号18c,環境名称18a,負荷倍率18bのデータを記憶してある。このうち,環境名称18aは環境番号の名称である。負荷倍率18bは,環境に応じた負荷倍率を表したものである。前記した負荷倍率は0より大きい実数で,数値が大きくなるほど,設備の負荷が大きくなると定義している。通常の場合,負荷倍率は,ユーザがデフォルトで決定するものである。例えば,図9に示すように,塩害による負荷が大きいと推測される海岸沿に設置されている設備は負荷倍率を高めに1.45と設定し,都市に設置されている設備が郊外の設備に比べて稼働率が大きい場合,郊外の負荷倍率1.0に比べて都市の負荷倍率を高めに1.05倍と設定する等で,データを作成する。
前記した機種別故障データ17Tと環境負荷データ18Tは,図1の故障シミュレーション手段9で,ある設備の故障シミュレーションを行う際に,故障シミュレーションで必要とする前記設備別故障データ16Tのデータを,その設備が有しない時等に用いる。例えば,図2の設備番号00005において,図7の設備故障データ上に設備00005がない場合,図2で示すように,設備番号00005の機種番号は0002であるので,図8の機種番号0002の形状パラメータ17b,尺度パラメータ17cを代わりに用いて故障間隔のシミュレーションを行う。さらに図2で示すように,設備番号00005の環境番号は01であるので,シミュレーションした故障間隔を図9の環境番号01の負荷倍率1.05で除算することで,設備00005としての故障間隔をシミュレートする。
このように,機種別故障データ17T,環境負荷データ18Tを用意することで,故障履歴がない設備においてもより正確な故障間隔をシミュレートすることが可能となる。
前回定期保守データ19Tは,前回の保守計画の最後に実施した保守における情報を記憶したデータである。例えば,図10に示すように,設備番号19c,前回定期保守日19a,劣化率19bのデータを記憶してある。このうち,「前回定期保守日19a」は,前回に保守を実施した日である。「劣化率19b」は,保守を実施した後の設備の劣化状態を表したものである。劣化率19bは,例えば,時刻tにおける設備の累積故障確率とする。
前記した劣化率は,(0,1)の実数で表現され,数値が大きくなるほど劣化が大きくなっていると定義している。データに格納されている劣化率19bは,前回の保守計画で最後に実施された定期保守後の劣化率である。もし,保守がいままで実施されていない設備であれば,劣化率19bは0となる。以下、時刻とは日を単位とした経過日、時間を単位とした経過時間のいずれかを意味する。
保守データ20Tは,保守を実施するために必要なコストやその効果などの保守情報を保守の種類ごとに記憶したデータである。例えば,図11に示すように,設備番号20d,保守番号20e,劣化回復率20a,定期保守コスト20b,保守要員数20cのデータを複数件記憶してある。このうち,「劣化回復率20a」は,点検・補修・交換の保守の種類によってどれだけ設備の劣化が回復したかを表したものである。劣化回復率20aは,(0,1)の実数で表現され,数値が大きくなるほど,劣化の回復率は大きくなる。通常の場合,劣化回復率は,ユーザが過去の経験等を鑑みて事前にデフォルトの値として決定するものである。例えば,交換の場合は,劣化回復率は1,補修は0.5,点検は0.2などとなる。「定期保守コスト20b」は,各種保守によって発生する保守コストである。「保守要員数20c」は,各設備の各保守の種類で必要な保守要員数である。
図11で保守番号が01の行は点検に関するデータである。点検により劣化回復率が向上しているが,これは例えば自動車のオイル交換のように部品等が整備されたことによるものである。
復旧データ21Tは,設備が故障した際に発生するコストやその効果などの保守情報を記録したデータである。例えば,図12に示すように,設備番号21c,劣化回復率21a,復旧コスト21bのデータを記録してある。このうち,「劣化回復率21a」は,復旧作業によってどれだけ設備の劣化が回復したかを表したものである。劣化回復率21aは,(0,1)の実数で表現され,数値が大きくなるほど,劣化の回復率は大きくなる。通常の場合,劣化回復率は,ユーザが過去の経験等を鑑みてデフォルトで決定するものである。「復旧コスト21b」は,復旧作業に必要なコストや設備の故障による利用者への補償等を全て含んだコストを表したものである。
保守作業必要装置データ22Tは,設備の保守作業を行う際に,設備が属する機械の機種について,点検・補修・交換の保守の種類に応じて必要な保守装置とその数を記憶したデータである。例えば,図13に示すように,機種番号22b,保守番号22c,保守装置番号22d,保守装置必要数22aのデータを記憶してある。このうち,「保守装置必要数22a」は,ある機種をある保守の種類で保守作業を行う際に,必要なある保守装置の数を表したものである。
法定保守間隔制約データ23Tは,ある特定の設備において,法律で定められた保守期間で保守を実施しなければならない場合に,その保守期間を記憶したデータである。例えば,図14に示すように,設備番号23c,法定保守期間開始日23a,法定保守期間終了日23bのデータを記憶してある。このうち,「法定保守期間開始日23a」,「法定保守期間終了日23b」は,この開始日から終了日までの間に必ず定期保守を実施しなければならいことを表している。例えば,図14に示す法定保守間隔制約データ23Tの一行目において,設備番号00001は,2004年9月1日から2004年9月30日までに必ず定期保守を実施しなければならないことを意味する。
保守不可能日制約データ24Tは,環境やイベント等の影響で保守ができない期間を記憶したデータである。例えば,図15に示すように,設備番号24c,保守不可能開始日24a,保守不可能終了日24bのデータを記憶している。このうち,「保守不可能開始日24a」,「保守不可能終了日24b」はこの開始日から終了日までの間は保守ができないことを表す。例えば,図15の保守不可能日制約データ24Tの一行目において,設備番号00001は,2003年4月29日から2003年5月7日まで保守ができないことを意味する。
保守要員制約データ25Tは,ある保守地区において,ある日付で確保できる保守要員の情報を記憶したデータである。例えば,図16に示すように,保守地区番号25c,年月日25a,最大保守要員数25bのデータを記憶している。このうち,「年月日25a」は,日付を表す。「最大保守要員数25b」はある保守地区のある日付で確保できる最大の保守要員数を表す。例えば,図16の保守要員制約データ25Tの一行目は,保守地区番号0001の保守地区で,2003年4月1日に確保できる最大保守要員数は20人であることを意味する。
保守回数制約データ26Tは,ある保守地区において,ある日付で実施できる最大保守回数を記憶したデータである。例えば,図17に示すように,保守地区番号26b,年月日26c,最大保守回数26aのデータを記憶してある。このうち,「最大保守回数26a」は,ある保守地区におけるある日付で実施できる最大の保守回数を表す。例えば,図17の保守回数制約データ26Tの一行目は,保守地区番号0001に属する全設備において,2003年4月1日に保守できる回数は最大で3回であることを意味する。
保守装置利用制約データ27Tは,ある保守地区に属する保守装置が,ある日付で,どれだけ確保されているかを記憶したデータである。例えば,図18に示すように,保守地区番号27b,保守装置番号27c,年月日27d,総数27aのデータを記憶している。このうち,「総数27a」は,ある保守地区に属するある保守装置が,ある日付で確保されている数を表している。例えば,図18の保守装置利用制約データ27Tの一行目は,保守地区番号0001の地区に設置された保守装置番号0001の保守装置は2003年4月1日に2つ確保されていることを意味する。
同日保守禁止グループデータ28Tは,同日に保守することができないグループの情報を記憶したデータである。例えば,図19に示すように,グループ番号28a,グループ名称28bのデータを記憶している。このうち,「グループ番号28a」は,同日に保守することができないグループを識別するための番号である。「グループ名称28b」は,グループ番号28aの名称である。
同日保守禁止制約データ29Tは,同日に保守することができない設備グループの情報を記憶したデータである。例えば,図20に示すように,グループ番号29a,設備番号29bのデータを記憶している。同じグループに属する設備すべてを同日に保守すると,例えば,特定地域の電源が完全に停止し,電車の発進に影響が生じる場合等があるため,同日保守禁止制約データ29Tは,そのような事態を避けるための制約データである。本実施の形態では,同日保守禁止制約データ29Tは,同一グループに属する設備がすべて同日に保守を行うことができない制約データと仮定する。これは,例えば,図20に示す同日保守禁止制約データ29T上のグループ番号01に属する設備番号00001,00010,00021の設備がすべて同日に定期保守を行うと,制約を満たさないことを意味する。
採用保守計画記憶手段25に記録される記録されるデータは,最適保守計画データ30Tがある。
最適保守計画データ30Tは,保守計画立案者たるユーザが複数の最適な保守計画案の中から,最終案を決定した際に,その最終案を記録したデータである。例えば,図21に示すように,設備番号30c,定期保守日30a,保守番号30bのデータを記録してある。これらのデータは複数件,行方向に記憶されている。このうち,「定期保守日30a」は定期保守を実施する日を表している。「保守番号30b」は,定期保守日30aの日に実施する保守の種類の番号を表したものである。
以下図22〜図56に基づいて,最適な保守計画の立案と保守計画立案者たるユーザが最終案を決定する処理について詳細に説明する。
まず,図22に示すように,ステップS1で図1の最適化設定手段2によって,保守計画立案者たるユーザに最適な保守計画立案に必要な情報を入力させる入力処理を行う。
すなわち,図24に示すように,まず,ステップS11で図23の画面上にある保守地区802,保守計画開始日803(start),保守計画終了日804(end),シミュレーション回数805(L),信頼区間806(R),計画案数807(N),計画改良回数808(M)について,選択または入力を行う。このうち,「保守地区802」は,どの保守地区の保守計画を立案するかを選択するための画面である。「保守計画開始日803」,「保守計画終了日804」は保守計画を立案する際の保守計画期間を決定するものである。「シミュレーション回数805」,「信頼区間806」は,図1に示す評価手段8の処理を行う際に必要なデータである。「計画案数807」,「計画改良回数808」は図1に示す最適化手段3の処理を行う際に必要なデータである。
信頼区間とはある一定の頻度を確保できる区間(コストの範囲)のことである。例えば、信頼区間95%の総保守コストは、2.5%点が信頼区間下限のコストX, 97.5%点が信頼区間上限のコストZであり,それぞれ保守計画の最良のケースと最悪のケースを評価できる。総保守コストの期待値はコストYであり,期待値から平均的に発生するであろう総保守コストの評価ができる。また信頼区間の上限値は、ある信頼区間における、例えば、最大のコストを示す値でありコストに対するリスクを意味するものでもある。前記の例では、図23のRには0.95が入る。図23の信頼区間( (0,1)の実数 )とは0から1までの実数という意味で、1は100%を意味する。0.95であれば上述した例の値であり95%を意味する。
前記の入力に関する,バリエーションの一例を図56に示す。
保守地区802は,例えば保守会社の部署や課・特定の設備・任意の線区や,保守地区802を含むこれらの組合せによる条件指定の欄に変えても良い。例えば図56では保守地区802では仙台,線区8022に東北本線,機種8023に遮断機,保守種類8024に点検,保守部署8025に第1部を指定している。保守部署8025では,例えば第2部を選択すると第2部の第1課と第2課も選択したことになる。このような階層的な条件選択も可能である。保守地区から保守部署までの条件設定が完了すると,これらの条件は事前にデフォルトとして設定されているAND条件としてシステム上は認識される。この条件を変更する場合は条件式8026を押す。条件式8026を押すと新しく入力画面8027が前面に表示される。入力画面8027の入力域には1 and 2 and 3 and 4 and 5 と表示されている。番号はエリア8035中の条件題目の左端にある番号に対応している。すなわち番号の1は保守地区,番号の2は線区,番号の3は機種,番号の4は保守種類,番号の5は保守部署に対応している。この条件式はシステムによって「保守地区=仙台 かつ 線区=東北本線 かつ 機種=遮断機 かつ 保守種類=点検 かつ 保守部署=第1部」と解釈される。この条件を変えるには,例えば1 and 2 and 3 and (4 or 5)と入力画面8027の入力域に記入し実行ボタン8028を押す。すると,この入力条件はシステムによって「保守地区=仙台 かつ 線区=東北本線 かつ 機種=遮断機 かつ (保守種類=点検 または 保守部署=第1部)」と解釈される。画面8027は実行ボタン8027を押せば自動的に閉じる。
エリア8036にては,保守計画開始日803と保守計画終了日804を入力できる。図56では,実際に入力する具体的値が入っている。エリア8032の選択域でYYYYMMDDHHを選択すると保守計画開始日(YYYYMMDD)8033と保守計画終了日(YYYYMMDD)8034は保守計画開始日(YYYYMMDDHH)8033と保守計画終了日(YYYYMMDDHH)8034に変化し,保守計画開始日803と保守計画終了日804には年月日時間が入力できるようになる。
エリア8037は詳細条件の設定画面で通常デフォルト値が入っている。また「詳細を隠す」ボタンを押すとエリア8037は非表示になり「詳細を表示する」ボタン(図示せず)が現れる。「詳細を表示する」ボタンを押せばエリア8037が表示される。システムの操作に熟知していない場合は,この機能でエリア8037を隠しておくと,操作が楽にでき便利である。エリア8037については,保守可能時間帯8030〜8031を設けている。これは,例えば保守する条件として,電車が運行していない終電後から始発電車の前までの時間帯を要求される場合に使用できる。入力例では保守可能時間帯 開始8030に0:00,保守可能時間帯 終了8031に5:00を入れており,午前0時から午前5時の間に保守をするという条件設定になっている。以下,シミュレーション回数(2以上の整数)に関しては前述したとおりである。ただし図56では入力域には,すべて具体的な値が入っている。
次にステップS12で図23または図56の画面上で最適化実行ボタン809をクリックし,図1の最適化設定手段2の処理が終了する。このように,保守計画の最適化処理を行うための設定処理を行い,図22に示したステップS1の処理が終了する。
次に,図22に示すように,ステップS2で図1の最適化手段3によって,保守計画における総合的なコストとリスクを共に最小化した最適な保守計画を立案する。ここで,最小化とある表現は,限られた条件のもとの最小化であるか,あるいは最小化に近いと想定される状態を意味している。
ここで,最適化手段3で,保守計画における総合的なコストとリスクを共に最小化した最適な保守計画を立案する過程で,複数の計画案を記録する図1の複数計画案記録手段4を用いる。
複数計画案記録手段4は,例えば,図26に示すように,計画案1003,総合的なコスト配列1004,総合的なコスト期待値1005,信頼区間上限1006で構成される記憶領域1007を一つの計画案として記録する。このうち,「計画案1003」は,保守計画を立案する保守地区に属するすべての設備の保守計画を一元配列で記録したものである。ここで,各設備の保守計画期間Tは,図23で示した保守計画開始日803(start),保守計画終了日804(end)から求められ,計画案1003の配列の長さは(計画期間)*(保守計画対象の設備数)となる。例えば,設備1の保守計画1001において,配列1番目が保守計画開始日にあたり,配列T番目が保守計画期間終了日に相当する。
ここで,本実施の形態では,図26に示す配列のセルの上についている番号が,経過日数に相当する。例えば,左端のセルの上に表示している数値は1であるが,これは1日目であることを意味し,セルの上の数値がTである場合はT日目であることを意味する。以下,図29,図31に関しても同様である。
そして,各配列に0,1,2,3いずれかの数値を記録させる。ここで,0は「何もしない」,1は「点検する」,2は「補修する」,3は「交換する」を表している。また,設備Jの保守計画1002において,配列T*(J−1)+1番目が保守計画開始日,配列T*J番目が保守計画終了日に相当する。「総合的なコスト配列1004」は,最適化手段3で,総合的なコストとリスクを共に最小化した最適な保守計画を立案する過程で用いる図1の故障シミュレーション手段9によって,計画案1003を実施した際に,設備が故障するか否かをシミュレーションし,設備の故障による復旧コストを含めた総合的なコストを算出した結果を記録する配列である。図1の故障シミュレーション手段9は,一つの計画案において,L(図23で示したシミュレーション回数805)回のシミュレーションを行うので,総合的なコスト配列1004の長さはLである。「総合的なコスト期待値1005(E1)」は,総合的なコスト配列1004のL(図23で示したシミュレーション回数805)個の要素の期待値を記録するもので,図1で示したコスト評価手段10を用いて算出される値を記録する。
本実施の形態では,「総合的なコスト期待値1005(E1)」に記録されるデータは,最適化手段3で,最適な保守計画案を立案する際に,保守計画案における総合的なコストを評価する最適化指標となる。「信頼区間上限1006(E2)」は,総合的なコスト配列1004のL(図23で示したシミュレーション回数805)個の要素において,信頼区間R(図23で示した信頼区間806)における上限値のデータを記録するもので,図1で示したリスク評価手段11を用いて算出される値を記録する。本実施の形態では,「信頼区間上限1006(E2)」は,最適化手段3で,最適な保守計画を立案する際に,保守計画案におけるリスクを評価する指標となる。
本実施の形態では,最適な保守計画の立案の評価指標として,保守計画における総合的なコストの評価には総合的なコスト期待値を用い,保守計画におけるリスクの評価には信頼区間上限を用いる。しかしながら,例えば保守計画におけるリスクの評価に,総合的なコスト配列1004のL個(図23で示したシミュレーション回数805)の要素の分散を表す総合的なコスト分散を用いてもよい。また,本実施の形態では,総合的なコスト期待値と信頼区間上限の二つの評価指標を最適化するが,例えば,総合的なコスト期待値と信頼区間上限の指標に加えて,総合的なコスト分散も評価指標に加える等,保守計画の評価に必要な複数の評価指標を持たせてもよい。また,これらの評価指標を定量的に示す値を評価値とする。
次に図1の最適化手段3に,本実施の形態では,遺伝的アルゴリズムを用いて最適化処理を行う。本実施の形態では,前記した複数計画案記憶手段4における図26の計画案1003を遺伝的アルゴリズムに適用する。遺伝的アルゴリズムでは,図26の計画案1003の配列を染色体と呼び,染色体によって特徴づけられた自律的な個を個体と呼ぶ。本実施の形態では,図26の1007を個体と呼ぶことにする。遺伝的アルゴリズムでは,複数の個体を用意する必要があるが,本実施の形態では,図26の1007の形式で表される個体をN個(図23で示した計画案数807)用意し,図1に示す複数計画案記憶手段4に記憶する。
次に遺伝的アルゴリズムを用いた最適化手段3を図25に基づいて説明する。
まず,図25のステップS21で初期計画案の生成を行う。ステップS21では,N個(図23で示した計画案数807)の初期計画案を生成する。初期計画案の生成においては,図1の初期計画生成手段5を用いて生成する。
すなわち,図27に示すように,まずステップS31でインデックスjの初期化を行う。次にステップS32で,インデックスjが保守計画の対象となる設備数を超えているか否かを調べる。ステップS32で,インデックスjが保守計画の対象となる設備数を超えていない場合,次に,ステップS33で設備jを示す設備番号が図14に示す法定保守間隔制約データ上に存在するか否かを調べる。ステップS33で設備jを示す設備番号が図14に示す法定保守間隔制約データ上に存在する場合,ステップS34で法定保守間隔制約データにある制約を満たすように設備jの計画を立案し,ステップS36で,インデックスjに1を加算し,ステップS32に戻る。
一方,ステップS33で設備jを示す設備番号が図14に示す法定保守間隔制約データ上に存在しない場合,ステップS35でランダムに設備jの計画を立案し,ステップS36に進み,ステップS32に戻る。そして,ステップS32で,インデックスjが保守計画の対象となる設備数を超えるまで,ステップS33からステップS36までの処理を繰り返し行い,ステップS32で,インデックスjが保守計画の対象となる設備数を超えた場合,一つの初期計画案(初期個体)を生成する処理が終了する。
このような処理をN回(図23で示した計画案数807)行い,それぞれの初期計画案(初期個体)を,図26で示した1003の形式で,図1に示した複数計画案記憶手段4に記憶し,図25のステップS21の処理が終了する。
ここで,図27で示した処理において,ステップS34を図1で示した制約充足計画生成手段6を用いて,図14に示す法定保守間隔制約データにある制約を満たすように設備jの計画を立案する。
すなわち,図28に示すように,まずステップS41で,インデックスiの初期化を行う。次にステップS42で,インデックスiが図14に示す法定保守間隔データの総数を超えているか否かを調べる。ステップS42で,インデックスiが図14に示す法定保守間隔データの総数を超えていない場合,ステップS43で,図14に示す法定保守間隔制約データのi行目を読み込み,ステップS44で図14に示す法定保守間隔制約データのi行目の設備番号が設備jを示しているか否かを調べる。ステップS44で,図14に示す法定保守間隔制約データのi行目の設備番号が設備jを示していない場合,ステップS47でインデックスiに1を加算し,ステップS42に戻る。
一方,ステップS44で図14に示す法定保守間隔制約データのi行目の設備番号が設備jを示している場合,ステップS45で,図14に示す法定保守間隔制約データのi行目の法定保守期間開始日から法定保守期間終了日までの期間が,保守計画期間(図23で示した保守計画開始日803から保守計画終了日804までの期間)の間にあるかを調べる。ステップS45で,図14に示す法定保守間隔制約データのi行目の法定保守期間開始日から法定保守期間終了日までの期間が,保守計画期間(図23で示した保守計画開始日803から保守計画終了日804までの期間)の間にない場合,ステップS47に進み,ステップS42に戻る。
一方,ステップS45で,図14に示す法定保守間隔制約データのi行目の法定保守期間開始日から法定保守期間終了日までの期間が,保守計画期間(図23で示した保守計画開始日803から保守計画終了日804までの期間)の間にある場合にはステップS46に進む。ステップS46で,法定保守間隔制約データi行目の法定保守期間開始日と法定保守期間終了日の期間中からランダムに時刻tを一つ決定し,さらに,その時刻で保守の種類をランダムに決定し,ステップS47に進み,ステップS42に戻る。そして,ステップS42で,インデックスiが図14に示す法定保守間隔データの総数を超えるまで,ステップS43からステップS47までの処理を繰り返し行い,ステップS42で,インデックスiが図14に示す法定保守間隔データの総数を超えた場合,処理を終了する。
ここで,ステップS46の処理においては,例えば,図29に示すように,設備1の保守計画1101において,時刻8から時刻26までの間が法定保守間隔であった場合に,この間隔の中からランダムに時刻を一つ決定し,保守の種類もランダムに決定する。図29では時刻18に,点検を表す1をランダムに決定している。
また,図27で示した処理において,ステップS35を図1に示すランダム計画生成手段7を用いてランダムに設備jの計画を立案する。
すなわち,図30に示すように,まず,ステップS51で,設備jを示す設備番号における前回定期保守日を図10に示す前回定期保守データ19Tから読込み,時刻tに設定する。次にステップS52で,図7に示した設備別故障データ16Tから設備jを示す設備番号を検索し,形状パラメータ16a,尺度パラメータ16bを用いて,ワイブル分布に従う乱数wを生成する。ワイブル分布は機械(人間も同じ)の故障を記述する場合などに良く使われる分布であるため,採用したが必要に応じ他の分布を採用しても良い。なお図7のデータは実測と統計に基づく値である。
このステップS52において,図7に示した設備別故障データ16Tから設備jを示す設備番号を検索した際に,設備別故障データ16Tに設備jを示す設備番号が見つからなかった場合には,図7に示した設備別故障データ16Tの代わりに図8に示した機種別故障データ17Tと図9に示した環境負荷データ18Tを用いて,ワイブル分布に従う乱数wを生成する。すなわち,図8と図9のデータは図7に示す設備別の故障データがない場合に主として用いる。
すなわち,図8に示した機種別故障データ17Tから設備jを示す設備番号に属する機種番号を検索し,形状パラメータ17b,尺度パラメータ17cを用いて,ワイブル分布に従う乱数を生成し,その値をxとする。さらに,図9に示した環境負荷データ18Tから設備jを示す設備番号に属する環境番号を検索し,その環境番号の負荷倍率18bをfとすると,(1)式によりwを与える。
次にステップS53で,時刻t+wが保守計画開始日(図23で示した保守計画開始日803)よりも小さいなら,ステップS52に戻る。
一方,ステップS53で,時刻t+wが保守計画開始日(図23で示した保守計画開始日803)よりも小さくないなら,ステップS54で,時刻t+wと保守計画終了日(図23で示した保守計画終了日804)を比較する。ステップS54で,時刻t+wが保守計画終了日(図23で示した保守計画終了日804)よりも大きくないなら,ステップS55で,時刻tを時刻t+wに設定し,ステップS56でtの時刻を定期保守日とし,さらに保守の種類をランダムに決定し,ステップS52に戻る。
一方,ステップS54で,時刻t+wが保守計画終了日(図23で示した保守計画終了日804)よりも大きいなら,処理を終了する。
図30で示した一連の処理において例をあげると,図31に示すように,例えば,設備1の保守計画をランダムに立案する時に,まず,前回定期保守日1201を時刻tに設定し,ワイブル分布に従う乱数w1202を生成する。図31ではt+wが時刻7にあたり,この時刻7は保守計画計画開始日1203と保守計画終了日1204の間にあるので,ランダムに保守の種類を決定する。時刻7では点検1を決定している。そして,時刻7をあらたに時刻tとし,ワイブル分布に従う乱数w1205を生成し,次回の定期保守日を決定する。図31では,t+wが時刻22にあたり,この時刻22は保守計画開始日1203と保守計画終了日1204の間にあるので,この時刻を定期保守日とし,ランダムに保守の種類を決定する。図31では,補修2を決定している。以上の操作を時刻t+wが保守計画期間にある間,繰り返し行われ,設備1の保守計画1206が立案される。また,保守計画に関するシミュレーションでは,ある日時のある点検は必須にするといった個別の制約を設けることもできる。
図25の説明に戻る。次にステップS22で,ステップS21で立案されたN個(図23で示した計画案数807)の保守計画案(個体)において,評価を行う。ここで,それぞれの保守計画案(個体)を図1で示した評価手段8を用いて評価する。
すなわち,図32に示すように,まずステップS61で,ある保守計画案(個体)において,保守計画を実施した場合に,保守計画対象の設備が故障するか否かをシミュレートする。ここで,ステップS61を図1で示した故障シミュレーション手段9を用いて処理する。なおステップS62とステップS63とステップS64〜ステップS68は,お互いに作業の順序が入れ替わってもかまわない。
すなわち,図33に示すように,まずステップS71で,m回目シミュレーションの総合的なコストC(m)の初期化を行う。mは,何回目かをあらわす添え字であり,変数である。次に,ステップS72でインデックスjの初期化を行う。ステップS73で,インデックスjが保守計画の対象となる設備数を超えているか否かを調べる。ステップS73で,インデックスjが保守計画の対象となる設備数を超えていない場合には,ステップS74に進む。ステップS74で,図10の前回定期保守データ19Tの前回定期保守日19aを基点として,図7の設備別故障データ16Tから設備jを示す設備番号を検索し,その設備番号の形状パラメータ16aと尺度パラメータ16b,さらに図10の前回定期保守データ19Tの劣化率19bのデータを用いてワイブル分布に従う乱数を生成し,故障間隔をシミュレートし,故障日を求める。例えば,劣化率をr,ワイブル分布に従う乱数をwとすると,故障間隔yは(2)式で与えられる。
ここで,ステップS74で,図7に示した設備別故障データ16Tから設備jを示す設備番号を検索した際に,設備別故障データ16Tに設備jを示す設備番号が見つからなかった場合には,図7に示した設備別故障データ16Tの代わりに図8に示した機種別故障データ17Tと図9に示した環境負荷データ18Tを用いて,故障間隔を求める。
すなわち,図10の前回定期保守データ19Tの前回定期保守日19aを基点として,図8に示した機種別故障データ17Tから設備jを示す設備番号に属する機種番号を検索し,その機種番号の形状パラメータ17b,尺度パラメータ17cを用いて,ワイブル分布に従う乱数を生成し,その値をwとする。さらに,図9に示した環境負荷データ18Tから設備jを示す設備番号に属する環境番号を検索し,その環境番号の負荷倍率18bをf,劣化率をrとすると,故障間隔yは(3)で与えられる。
次にステップS75で,図1の複数計画案記憶手段4によって,図26の計画案1003の形式で記憶されている保守計画案(個体)から設備jの次回の定期保守日と保守の種類を検索し,ステップS76で,次回の定期保守日が保守計画期間内に存在するか否かを調べる。
ステップS76で,次回の定期保守日が保守計画期間内(図23で示した保守計画開始日803から保守計画終了日804までの期間)に存在する場合,ステップS77で,ステップS74で求めた故障日と,ステップS75で求めた次回定期保守日の比較を行う。
ステップS77で,故障日が次回定期保守日よりも小さくない場合,次回定期保守日までに故障が起こらなかったとし,ステップS78で定期保守を実施しする。ステップS75で検索した保守の種類に応じて,図11の保守データ20Tより,設備jを示す設備番号と,検索した保守の種類(点検・補修・交換)を示す保守番号に相当する定期保守コスト20bを総合的なコストC(m)に加算する。ステップS79で,定期保守後の劣化率を保守の種類を示す保守番号に応じて,図11の保守データ20Tの劣化回復率20aから算出する。例えば,ある定期保守日(故障日)Aと次回定期保守日(故障日)Bまでの保守間隔をxとし,故障分布にワイブル分布を用いてある間隔tにおける累積故障確率を(4)で示す式とする(α,βはそれぞれある設備または機種の形状パラメータ,尺度パラメータ)。また,間隔tにおける累積故障確率の逆関数を(5)式とし,Aの劣化率Pa,Bの劣化率をPbとする。また,Bで実施された保守の種類rにおける劣化回復率をKrとすると関係式は(6)式で表される。このような関係式から復旧作業後の劣化率を求める。
そして,ステップS80で保守を実施した定期保守日を基点とし,故障に関するデータとステップS79で求めた劣化率から,前記したステップS74と同様の方式で故障間隔を求めるシミュレーションを実行し,故障日を求める。故障に関するデータは,図7の設備別故障データ16Tの形状パラメータ16a,尺度パラメータ16b または 図8の機種別故障データ17Tの形状パラメータ17b,尺度パラメータ17cと図9の環境負荷データ18Tの負荷倍率18bから得られる。次に,次回の定期保守日と保守の種類を検索するためにステップS75に戻る。
一方,ステップS77で,故障日が次回定期保守日よりも小さい場合,次回定期保守日前に設備が故障したとし,ステップS81で,故障による復旧作業を実施し,図12の復旧データ21Tの復旧コスト21bを総合的なコストC(m)に加算する。ステップS82で,復旧作業後の劣化率を図12の復旧データ21Tの劣化回復率21aから前記したステップS79と同様の方法で算出する。ステップS83で,故障日を基点として,図7の設備別故障データ16Tの形状パラメータ16a,尺度パラメータ16bまたは 図8の機種別故障データ17Tの形状パラメータ17b,尺度パラメータ17c,図9の環境負荷データ18Tの負荷倍率18bとステップS82で求めた劣化率から,前記したステップS74と同様の方法で故障間隔をシミュレートし,故障日を求める。次にステップS77に戻り,故障日が次回定期保守日より小さくならないまで,ステップS81からステップS83までの処理を繰り返す。この処理の繰り返しによって,故障による復旧後も次回定期保守日までの間に故障することを想定したシミュレーションを行うことができる。
一方,ステップS76で,計画期間内で次回の定期保守が存在しない場合,ステップS84で,故障日と保守計画終了日(図23で示した保守計画終了日804)において,比較を行う。
ステップS84で,故障日が保守計画終了日(図23で示した保守計画終了日804)より小さい場合,保守計画期間内(図23で示した保守計画開始日803から保守計画終了日804までの期間)で,最後の定期保守日から保守計画終了日(図23で示した保守計画終了日804)までに故障したとする。そのうえで,ステップS85で,故障による復旧作業を実施し,図12の復旧データ21Tの復旧コスト21bを総合的なコストC(m)に加算する。ついで,ステップS86で,復旧作業後の劣化率を図12の復旧データ21Tの劣化回復率21aから前記したステップS79と同様の方法で算出する。そして,ステップS87で,故障日を基点として,故障に関するデータとステップS86で求めた劣化率から,前記したステップS74と同様の方法で故障間隔をシミュレートし,故障日を求める。なお故障に関するデータは,図7の設備別故障データ16Tの形状パラメータ16a,尺度パラメータ16b または 図8の機種別故障データ17Tの形状パラメータ17b,尺度パラメータ17cと図9の環境負荷データ18Tの負荷倍率18bから求められる。
ついで,ステップS84に戻り,故障日が保守計画終了日(図23で示した保守計画終了日804)より小さくならないまで,ステップS85からステップS87までの処理を繰り返す。これらの繰り返しにより,保守計画期間(図23で示した保守計画開始日803から保守計画終了日804までの期間)における最後の定期保守日から保守計画終了日までの間で,故障するか否かのシミュレーションを行うことができる。このシミュレーションでは故障するか否か,又は何回故障するか,ということもシミュレーションできる。
一方ステップS84で,故障日が保守計画終了日より小さくない場合,一つの設備のシミュレーションが終了し,ステップS88で,インデックスjに1を加算し,ステップS73に戻る。そして,ステップS73で,インデックスjが保守計画の対象となる設備数を超えるまで,ステップS74からステップS88までの処理を繰り返し行い,保守計画案におけるm回目の故障シミュレーションが終了する。
以上,図33で示した故障シミュレーションをL回(図23で示したシミュレーション回数805)行い,L個の総合的なコストC(m) (m=1,2,…,L)が計算される。これらの値は,図1の複数計画案記憶手段4によって,図26で示した総合的なコスト配列1004に記憶される。
このように図1の故障シミュレーション手段9を用いて,図32のステップS61の処理を終了する。
次に図32のステップS61で算出された図22のL個(図23で示したシミュレーション回数805)の総合的なコストC(m)(m=1,2,…,L)に基づいて,ステップS62で,保守計画案の総合的なコストを評価する。ここで,ステップS62を図1で示したコスト評価手段10を用いて処理する。
すなわち,図34に示すように,まず,ステップS91で総合的なコスト期待値E1の初期化を行い,ステップS92でL(図23で示したシミュレーション回数805)個の総合的なコストC(m)(m=1,2,…,L)をすべてE1に加算する。次にステップS93でE1をシミュレーション回数Lで除算し,総合的なコスト期待値E1を算出し,処理が終了する。
このように図1で示したコスト評価手段10を用いて,算出された総合的なコスト期待値E1は,図1の複数計画案記憶手段4によって,図26で示した総合的なコスト期待値1005に記憶され,図31のステップS62の処理を終了する。
次に図32のステップS61で算出されたL個(図23で示したシミュレーション回数805)の総合的なコストC(m)(m=1,2,…,L)に基づいて,ステップS63で保守計画案のリスクを評価する。
本実施の形態では,信頼区間上限を保守計画案のリスクとして評価する。信頼区間上限E2とは,図32のステップS61で算出されたL個(図23で示したシミュレーション回数805)の総合的なコストC(m)(m=1,2,…,L)において,信頼区間R(図23で示した信頼区間806)の上限値を表す。信頼区間上限E2は,信頼区間R(図23で示した信頼区間806)で,保守計画案の総合的なコストにおける最悪のケースを表す。ここで,最悪とある表現は,限られた条件のもと最悪あるいは最悪に近いと想定される場合を意味している。
ここで,図32のステップS63を,図1で示したリスク評価手段11を用いて処理する。
すなわち,図35で示すように,まずステップS101でL個(図23で示したシミュレーション回数805)の総合的なコストC(m) (m=1,2,…,L)を昇順に並べる。そして,信頼区間R(図23で示した信頼区間806)とL(図23で示したシミュレーション回数805)から,ステップS102でm={(R+1)/2}・Lの総合的なコストC(m)をE2とし,信頼区間上限E2を算出し,処理が終了する。
このように図1で示したリスク評価手段11を用いて,保守計画案のリスクを評価する信頼区間上限E2を算出し,その値は,図1の複数計画案記憶手段4によって,図26で示した信頼区間上限1006に記憶し,図32のステップS63の処理を終了する。
次に図32のステップS64で,保守計画案において,保守計画案が図15で示した保守不可能日制約データの制約を満たしているか否かを評価する。ここで,ステップS64を図1で示した保守不可能日制約評価手段12を用いて処理する。
すなわち,図36に示すように,まず,ステップS111で制約違反数を表すcountを初期化し,ステップS112で時刻tに保守計画開始日(図23で示した保守計画開始日803)を設定する。次にステップS113で,時刻tが保守計画終了日(図23で示した保守計画終了日804)を超えているか否かを調べる。時刻tが保守計画終了日(図23で示した保守計画終了日804)を超えていないなら,ステップS114で,インデックスjの初期化を行う。そして,ステップS115で,インデックスjが保守計画案対象の設備数を超えているか否かを調べる。ステップS115で,インデックスjが総設備数を超えていないなら,ステップS116で,設備jが時刻tで定期保守を行っているかを図1の複数計画案記憶手段4によって記録されている図26の計画案1003から調べる。ステップS116で,設備jが時刻tで定期保守を行っていない場合,ステップS119でインデックスjに1を加算,ステップS115に戻る。
一方,ステップS116で,設備jが時刻tで定期保守を行っている場合,ステップS117で,設備jを示す設備番号の時刻tが保守不可能日に当るか否かを,図15で示した保守不可能日制約データ24Tを用いて調べる。ステップS117で,設備jを示す設備番号の時刻tが保守不可能日に当らない場合,ステップS119に進み,ステップS115に戻る。
一方,ステップS117で,設備jを示す設備番号の時刻tが保守不可能日に当る場合,ステップS118で,制約違反数countに1を加算し,ステップS119に進み,ステップS115に戻る。 そして,ステップS115で,jが保守計画案対象の設備数を超えるまで,ステップS116からステップS119までの処理を繰り返し行い,ステップS115で,jが保守計画案対象の設備数を超えた場合,ステップS120で,時刻tに1を加算し,ステップS113に戻る。そして,ステップS113で,時刻tが保守計画終了日(図23で示した保守計画終了日804)を超えるまで,ステップS114からステップS120までの処理を繰り返し行う。時刻tが保守計画終了日(図23で示した保守計画終了日804)を超えた時に,ステップS121に移る。ステップS121で,制約違反数countの数に応じて,図1の複数計画案記憶手段4によって記録されている図26で示した保守計画の評価値である総合的なコスト期待値1005E1と信頼区間上限1006E2に,それぞれペナルティを与えて処理を終了する。
ここで,ステップS121における図26で示した保守計画案の評価値である総合的なコスト期待値1005E1と信頼区間上限1006E2に対するペナルティの与え方については,例えば,ある2つのペナルティ係数をp,qとすると,式count*pの値を E1に,式count*qの値をE2にそれぞれに加える処理を実施する。
このように,図1で示した保守不可能日制約評価手段12を用いて,図32のステップS64の処理を終了する。ステップS64で,保守計画案において,保守計画案が図15で示した保守不可能日制約データの制約をひとつでも満たしていない場合,制約を満たしてないことを示す情報を,図1の複数計画案記憶手段4に記憶させておく。
次に図32のステップS65で,立案された保守計画案において,保守計画案が図16で示した保守要員制約データ25Tの制約を満たしているか否かを評価する。ここで,ステップS65を図1で示した保守要員制約評価手段13を用いて処理する。
すなわち,図37に示すように,まずステップS131で,時刻tに保守計画開始日(図23で示した保守計画開始日803)を設定する。次にステップS132で,時刻tが保守計画終了日(図23で示した保守計画終了日804)を超えているか否かを調べる。ステップS132で,時刻tが保守計画終了日(図23で示した保守計画終了日804)を超えていない場合,ステップS133で,時刻tで必要な保守要員数numberを初期化し,ステップS134で,インデックスjの初期化を行い,ステップS135で,インデックスjが保守計画案対象の設備数を超えているか否かを調べる。ステップS135で,インデックスjが設備数を超えていない場合,ステップS136で,設備jが時刻tで定期保守を行っているかを,図1の複数計画案記憶手段4によって記録されている図26の計画案1003から調べる。ステップS136で,設備jが時刻tで定期保守を行っている場合,ステップS137に進む。ステップS137では,設備jの保守計画で,時刻tで行っている定期保守の種類(点検・補修・交換)を図1の複数計画案記憶手段4によって記録されている図26の計画案1003から検索し,設備jを示す設備番号と検索した保守の種類を示す保守番号より,図11の保守データ20Tの保守要員数20cを検索し,xに設定する。そして,ステップS138で,時刻tで必要な保守要員数numberにxを加算し,ステップS139で,インデックスjに1を加算し,ステップS135に戻る。
一方,ステップS136で,設備jが時刻tで定期保守を行っていない場合,ステップS139に進み,ステップS135に戻る。そして,ステップS135において,インデックスjが保守計画案対象の設備数を超えるまで,ステップS136からステップS139までの処理を繰り返し行う。
一方,ステップS135で,インデックスjが保守計画案対象の設備数を超えた場合,ステップS140に進む。ステップS140では,保守計画を立案する保守地区(図23で示した保守地区802で選択した保守地区)において,その保守地区を示す保守番号の時刻tで確保できる最大保守要員数25bを,図16の保守要員制約データ25Tから検索し,変数Nmaxに設定する。そして,ステップS141で,時刻tで必要な保守要員数numberが時刻tの最大保守要員数Nmaxを超えているか否かを調べる。ステップS141で,時刻tで必要な保守要員数numberが時刻tで確保できる最大保守要員数Nmaxを超えている場合,制約違反となり,ステップS142に進む。ステップS142で,図1の複数計画案記憶手段4によって記録されている図26で示した保守計画案の評価値である総合的なコスト期待値1005E1と信頼区間上限1006E2にペナルティを与え,ステップS143で,時刻tに1を加算し,ステップS132に戻る。
ここで,ステップS121における図26で示した保守計画の評価値である総合的なコスト期待値1005E1と信頼区間上限1006E2に対するペナルティの与え方においては,例えば,ある2つのペナルティ係数をp,qとすると,式(count―Nmax)*pの値を E1に,式(count―Nmax)*qの値をE2にそれぞれに加える処理を実施する。
一方,ステップS141で,時刻tで必要な保守要員数numberが時刻tで確保できる最大保守要員数Nmaxを超えていない場合,時刻tで確保できる最大保守要員数の範囲内で保守計画が立案されていることになり,ステップS143に進み,ステップS132に戻る。そして,ステップS132で,時刻tが保守計画終了日(図23で示した保守計画終了日804)を超えるまで,ステップS133からステップS143までの処理を繰り返し行い,ステップS132で,時刻tが保守計画終了日(図23で示した保守計画終了日804)を超えた場合,処理が終了する。
このように,図1で示した保守要員制約評価手段13を用いて,図32のステップS65の処理を終了する。ここで,ステップS65で保守計画案において,保守計画案が図16で示した保守不要員制約データの制約をひとつでも満たしていない場合,制約を満たしてないことを示す情報を,図1の複数計画案記憶手段4に記憶させておく。
次に図32のステップS66で,立案された保守計画案において,図17で示した保守回数制約データ26Tの制約を満たしているか否かを評価する。ここで,ステップS66を図1で示した保守回数制約評価手段14を用いて処理する。
すなわち,図38に示すように,まずステップS151で,時刻tに保守計画開始日(図23で示した保守計画開始日803)を設定する。次にステップS152で,時刻tが保守計画終了日(図23で示した保守計画終了日804)を超えているか否かを調べる。ステップS152で,時刻tが保守計画終了日(図23で示した保守計画終了日804)を超えていない場合,ステップS153に進む。ステップS153では,時刻tで実施する定期保守の回数countを初期化し,ステップS154で,インデックスjの初期化を行い,ステップS155でインデックスjが保守計画案対象の設備数を超えているか否かを調べる。ステップS155で,インデックスjが設備数を超えていない場合,ステップS156で,設備jが時刻tで定期保守を行っているか否かを図1の複数計画案記憶手段4によって記録されている図26の計画案1003から調べる。ステップS156で,設備jが時刻tで定期保守を行っている場合,ステップS157で,時刻tで実施する定期保守の回数countを1加算し,ステップS158で,インデックスjに1を加算し,ステップS155に戻る。
一方,ステップS156で,設備jが時刻tで定期保守を行っていない場合,ステップS158に進み,ステップS155に戻る。そして,ステップS155で,インデックスjが保守計画案対象の設備数を超えるまで,ステップS156からステップS158の処理を繰り返し行う。
一方,ステップS155で,インデックスjが保守計画案対象の設備数を超えた場合,ステップS159に進む。ステップS159では,保守計画を立案する保守地区(図23で示した保守地区802で選択した保守地区)において,その保守地区を示す保守番号の時刻tで実施できる最大保守回数26aを,図17の保守回数制約データ26Tから検索し,変数Cmaxに設定する。そして,ステップS160で,時刻tで実施する定期保守の回数countが時刻tで実施できる最大保守回数Cmaxを超えているか否かを調べる。ステップS160で,時刻tで実施する定期保守の回数countが時刻tで実施できる最大保守回数Cmaxを超えている場合,制約違反となり,ステップS161に進む。ステップS161では,図1の複数計画案記憶手段4によって記録されている図26で示した保守計画の評価値である総合的なコスト期待値1005E1と信頼区間上限1006E2にペナルティを与え,ステップS162で,時刻tを1加算し,ステップS152に戻る。
ここで,ステップS161における図26で示した保守計画の評価値である総合的なコスト期待値1005E1と信頼区間上限1006E2に対するペナルティの与え方においては,例えば,ある2つのペナルティ係数をp,qとすると,式(count―Cmax)*pの値を E1に,式(count―Cmax)*qの値をE2にそれぞれに加える処理を実施する。
一方,ステップS160で,時刻tで実施する定期保守の回数countが時刻tで実施できる最大保守回数Cmaxを超えていない場合,時刻tで実施できる保守回数の範囲内で保守計画が立案されていることになり,ステップS162に進み,時刻tに1を加え,ステップS152に戻る。そして,ステップS152で,時刻tが保守計画終了日(図23で示した保守計画終了日804)を超えるまで,ステップS153からステップS162までの処理を繰り返し行い,ステップS152で,時刻tが保守計画終了日(図23で示した保守計画終了日804)を超えた場合,処理が終了する。
このように,図1で示した保守回数制約評価手段14を用いて,図32のステップS66の処理を終了する。ここで,ステップS66で保守計画案において,保守計画案が図17で示した保守回数制約データの制約をひとつでも満たしていない場合,制約を満たしてないことを示す情報を,図1の複数計画案記憶手段4に記憶させておく。
次に図32のステップS67で,立案された保守計画案において,図18で示した保守装置利用制約データ27Tの制約を満たしているか否かを評価する。ここで,ステップS67を図1で示した保守装置利用制約評価手段15を用いて処理する。
すなわち,図39に示すように,まずステップS171で,保守計画を立案する保守地区(図23で示した保守地区802で選択した保守地区)において,その保守地区で有する保守装置を識別するインデックスkの初期化を行う。次にステップS172で,インデックスkが保守計画を立案する保守地区(図23で示した保守地区802で選択した保守地区)で有する保守装置の種類数を超えているか否かを調べる。ステップS172で,インデックスkが保守計画を立案する保守地区(図23で示した保守地区802で選択した保守地区)で有する保守装置の種類数を超えていない場合,ステップS173で,時刻tに保守計画開始日(図23で示した保守計画開始日803)を設定する。次にステップS174で,時刻tが保守計画終了日(図23で示した保守計画終了日804)を超えているか否かを調べる。ステップS174で,時刻tが保守計画終了日(図23で示した保守計画終了日804)を超えていない場合,ステップS175に進む。ステップS175では,保守計画案において時刻tで保守装置kを必要とする数countを初期化し,ステップS176で,インデックスjの初期化を行い,ステップS177で,インデックスjが保守計画案対象の設備数を超えているか否かを調べる。ステップS177で,インデックスjが設備数を超えていない場合,ステップS178で,設備jが時刻tで定期保守を行うか否かを図26の複数計画案記憶手段で記録されている計画案1003から調べる。ステップS178で,設備jが時刻tで定期保守を行う場合,ステップS179で,設備jがどの機種番号に該当するかを,設備jを示す設備番号を用いて図2の設備データから検索し,その機種番号を変数aに設定する。そして,ステップS180で,設備jが時刻tで行う定期保守の種類を,図1の複数計画案記憶手段4によって記録されている図26の計画案1003から検索し,その保守の種類を示す保守番号を変数bに設定する。次に,ステップS181で,機種番号a,保守番号bで必要な保守作業装置の中で,保守装置kを示す保守装置番号があるか否かを図13の保守作業必要装置データ22Tより調べる。ステップS181で,機種番号a,保守番号bで必要な保守作業装置の中で,保守装置kを示す保守装置番号が図13の保守作業必要装置データ22Tにある場合,ステップS182に進む。ステップS182では,図13の機種番号a,保守番号bで必要な保守作業装置の中で,保守装置kを示す保守装置番号に該当する保守装置必要数22aを,保守計画案において時刻tで保守装置kを必要とする数countに加算し,ステップS183で,インデックスjに1を加算し,ステップS177に戻る。
一方,ステップS181で,機種番号a,保守番号bで必要な保守作業装置の中で,保守装置kを示す保守装置番号が図13の保守作業必要装置データ22Tにない場合,ステップS183に進み,ステップS177に戻る。そして,ステップS177において,インデックスjが設備数を超えるまで,ステップS178からステップS183までの処理を繰り返し行う。
一方,ステップS177で,インデックスjが設備数を超える場合,ステップS184で,保守計画を立案する保守地区(図23で示した保守地区802で選択した保守地区)において,時刻tで確保されている保守装置kの総数を,図18で示した保守装置利用制約データ27Tから検索し,sumに設定する。そして,ステップS185で,時刻tで保守装置kを必要とする数countが時刻tで確保されている保守装置kの総数sumを超えているか否かを調べる。ステップS185で,時刻tで保守装置kを必要とする数countが時刻tで確保されている保守装置kの総数sumを超えている場合,制約違反となり,ステップS186に進む。ステップS186では,図1の複数計画案記憶手段4によって記録されている図26で示した保守計画の評価値である総合的なコスト期待値1005E1と信頼区間上限1006E2にペナルティを与え,ステップS187で,時刻tを1加算し,ステップS174に戻る。
ここで,ステップS186における図26で示した保守計画の評価値である総合的なコスト期待値1005E1と信頼区間上限1006E2に対するペナルティの与え方においては,例えば,ある2つのペナルティ係数をp,qとすると,式(count―sum)*pの値を E1に,式(count―sum)*qの値をE2にそれぞれに加える処理を行う。
一方,ステップS185で,時刻tで保守装置kを必要とする数countが時刻tで確保されている保守装置kの総数sumを超えていない場合,時刻tで確保されている保守装置kの総数の範囲内で保守計画が立案されていることになり,ステップS187に進み,ステップS174に進む。
そして,ステップS174で,時刻tが保守計画終了日(図23で示した保守計画終了日804)を超えるまで,ステップS175からステップS187までの処理を繰り返し行い,ステップS174で,時刻tが保守計画終了日(図23で示した保守計画終了日804)を超えた場合,ステップS188で,インデックスkに1を加算し,ステップS172に戻る。
以上,ステップS172において,インデックスkが保守計画を立案する保守地区(図23で示した保守地区802で選択した保守地区)で有する保守装置の種類数を超えるまで,ステップS173からステップS188までの処理を繰り返し行い,ステップS172において,インデックスkが計画を立案している保守地区の有する保守装置の種類数を超えた場合,処理を終了する。
このように,図1で示した保守装置利用制約評価手段15を用いて,図32のステップS67の処理を終了する。ここで,ステップS67で保守計画案において,保守計画案が図18で示した保守装置利用制約データの制約をひとつでも満たしていない場合,制約を満たしてないことを示す情報を,図1の複数計画案記憶手段4に記憶させておく。
次に図32のステップS68で,立案された保守計画案において,保守計画案が図20で示した同日保守禁止制約データ29Tの制約を満たしているか否かを評価する。ここで,ステップS68を図1で示した同日保守禁止制約評価手段16を用いて処理する。
すなわち,図40に示すように,まず,ステップS191で制約違反数を表すcountを初期化し,ステップS192で時刻tに保守計画開始日(図23で示した保守計画開始日803)を設定する。次にステップS193で時刻tが保守計画終了日(図23で示した保守計画終了日804)を超えているか否かを調べる。ステップS193で,時刻tが保守計画終了日(図23で示した保守計画終了日804)を超えていない場合,ステップS194で,同日に保守することができない設備グループを識別するインデックスgの初期化を行う。次にステップS195で,インデックスgが同日に保守することができない設備グループ総数(図19の同日保守禁止グループデータ28Tに記録されている総行数)を超えているか否かを調べる。ステップS195で,インデックスgが同日に保守することができない設備グループ総数を超えていない場合,ステップS196で,時刻tで定期保守を行うすべての設備を図26の複数計画案記憶手段4で記録されている計画案1003から調べ,集合Gとして設定する。そして,ステップS197で時刻tで定期保守を行う設備集合Gが空集合であるか否かを調べる。ステップS197で時刻tで定期保守を行う設備集合Gが空集合である場合,S201に進み,S201でインデックスgに1を加算し,ステップS195に戻る。
一方,ステップS197で時刻tで定期保守を行う設備集合Gが空集合でない場合,ステップS198で,グループgを示すグループ番号に属する設備を図20の同日保守禁止制約データ29Tから調べ,集合Hとして設定する。次にステップS199で,時刻tで定期保守を行う設備集合Gとグループgの設備集合Hについて包含関係を調べる。ステップS199で,時刻tで定期保守を行う設備集合Gがグループgの設備集合Hを完全に含んでしまうか,またはGとHが一致する場合,制約違反となり,ステップS200で,制約違反数countに1を加算し,ステップS201に進み,ステップS195に戻る。
一方,ステップS199で条件が成立しない場合,ステップS201に進み,ステップS195に戻る。そして,ステップS195で,インデックスgが同日に保守することができない設備グループ総数を超えるまで,ステップS196からステップS201までの処理を繰り返し行う。ステップS195で,インデックスgが同日に保守することができない設備グループ総数を超える場合,ステップS202に進む。ステップS202で,時刻tに1を加算し,ステップS193に戻り,ステップS193で,時刻tが保守計画終了日(図23で示した保守計画終了日804)を超えるまで,ステップS194からステップS202までの処理を繰り返す。そして,ステップS193で,時刻tが保守計画終了日(図23で示した保守計画終了日804)を超える場合,ステップS203に進む。ステップS203で,制約違反数count数に応じて,図1の複数計画案記憶手段4によって記録されている図26で示した保守計画の評価値である総合的なコスト期待値1005E1と信頼区間上限1006E2にペナルティを与え,処理を終了する。
ここで,ステップS203における図26で示した保守計画の評価値である総合的なコスト期待値1005E1と信頼区間上限1006E2に対するペナルティの与え方においては,例えば,ある2つのペナルティ係数をp,qとすると,式count*pの値をE1に,式count*qの値をE2にそれぞれに加える処理を実施する。
このように,図1で示した同日保守禁止制約評価手段16を用いて,図32のステップS68の処理を終了する。ここで,ステップS68で保守計画案において,保守計画案が図20で示した同日保守禁止制約データの制約をひとつでも満たしていない場合,制約を満たしてないことを示す情報を,図1の複数計画案記憶手段4に記憶させておく。以上をもって,図32で示したステップS61〜S68までの処理を終了する。
以上,図32のステップS61〜ステップS68までの処理を行う評価手段8を用いて,図1の複数計画案記憶手段4に記憶されているN個(図23で示した計画案数807)の保守計画案(個体)それぞれについて評価を行うことで,図25のステップS22の処理が終了する。
図25の説明に戻る。次にステップS23で,N個(図23で示した計画案数807)の保守計画案(個体)の中から,ステップS24の交叉,ステップS25の突然変異を行うための保守計画案(親個体)を二つ選択する。例えば,ある保守計画案(個体)iがN個の保守計画案(個体)の中で,p(i)個の保守計画案(個体)に劣っている時に,その計画案(個体)のランクを1+p(i)とし,それぞれの計画案(個体)においてランク付けを行い,ランクが高いものほど(ランクの値が小さいほど)選択されやすいように選択を行う。
ここで,このステップS23では,全ての保守計画案(個体)において,優劣関係を比較する必要があり,その比較手段として図1で示した優劣比較手段17を用いて優劣を決定する。
すなわち,ある計画案AとBにおいて優劣を決定する場合に,図41に示すように,まずステップS211で変数flagAと変数flagBの値をFに設定する。これらflagAとflagBは,計画案A,Bの優劣を決定する指標となる。そして,ステップS212で,評価指標番号iの初期化を行う。
次にステップS213でi番目の評価指標において,保守計画案Aの評価値E(A,i)と保守計画案Bの評価値E(B,i)の大小を比較し,E(A,i)がE(B,i)より小さいならステップS214でflagAを値Tに設定し,ステップS215に進み,そうでないなら,そのままステップS215に進む。
次にステップS215でE(B,i)がE(A,i)より小さいならステップS216でflagBを値Tに設定し,そうでないなら,そのままステップS217に進む。
ステップS217で条件が成立しない場合,ステップS218で次の評価指標番号に設定し,すべての評価指標において比較するまで,一連の比較処理を繰り返す。
ステップS217ですべての評価指標において比較が終了した場合,ステップS219に進む。ステップS219でflagAとflagBの値を調べ,ステップS219で,flagA=TかつflagB=Fの場合,保守計画案Aのすべての評価指標は,保守計画案Bの評価指標より大きくなく,かつ少なくとも一つの評価指標は小さいことになり,保守計画案Aは保守計画案Bより優れているとステップS220で決定し,処理を終了する。
一方,ステップS219で,flagA=TかつflagB=Fでない場合,ステップS221でflagA=FかつflagB=Tであれば,ステップS220とは逆に,保守計画案Bのすべての評価指標は,保守計画案Aの評価指標より大きくなく,かつ少なくとも一つの評価指標は小さいことになり,保守計画案Bは保守計画案Aより優れているとステップS222で決定し,処理を終了する。
一方,ステップS221で,でflagA=FかつflagB=Tでない場合,保守計画案AとBの優劣はつけられないとステップS223で決定し,処理を終了する。
以上のように,全ての保守計画案において優劣関係を比較することで,保守計画案(個体)iのランクを決定することができる。そして,前記したようにランク付けをした場合,ランクが1となる保守計画案(個体)は,他に劣っていない個体ということになり,比較したN個(図23で示した計画案数807)の保守計画案(個体)の中で,もっとも優れた保守計画案(個体)となる。ランク1の保守計画案(個体)は一つとは限らず,複数個あるのが一般である。
次に図25のステップS23で選択された二つの保守計画案(親個体)を,図25のステップS24の交叉,ステップS25の突然変異と呼ばれる処理を行うことで,二つの新しい計画案(子個体)に改良する。ここで,ステップS24,ステップS25の処理を,図1で示した計画改良手段18を用いて処理する。
すなわち,図42に示すように,まずステップS231でインデックスjの初期化を行う。次に,ステップS232で,インデックスjが保守計画の対象となる設備数を超えているか否かを調べる。ステップS232で,インデックスjが保守計画の対象となる設備数を超えていない場合,ステップS233で,設備jを示す設備番号が図14に示す法定保守間隔制約データ23Tに存在するか否かを調べる。ステップS233で,設備jを示す設備番号が図14に示す法定保守間隔制約データ23Tに存在する場合,ステップS234に進む。ステップS234では法定保守間隔制約データにある制約を満たすように,二つの計画案(親個体)における設備jの計画を改良し,ステップS236でインデックスjに1を加算し,ステップS232に戻る。
一方,ステップS233で,設備jを示す設備番号が図14に示す法定保守間隔制約データ23Tに存在していない場合,ステップS235で,二つの計画案(親個体)における設備jの計画をランダムに改良し,ステップS236に進み,ステップS232に戻る。そして,ステップS232で,インデックスjが保守計画の対象となる設備数を超えるまで,ステップS233からステップS236までの処理を繰り返し,二つの計画案(親個体)を,二つの新しい計画案(子個体)に改良し,処理が終了する。
ここで,図42のステップS234の処理を,図1で示した制約充足計画改良手段19を用いて処理する。
すなわち,図43に示すように,まず,ステップS241で,交叉処理を行う。例えば,図44に示すように,二つの計画案(親個体すなわち親1と親2)が選ばれたケースについてその処理を説明する。それぞれの計画案のうち,設備1の保守計画である1701(親1),1702(親2)において交叉処理を行うときに,1703に示すように,計画期間の長さで,ランダムに生成された0と1のビット列で構成されるマスクビットが0の場合,1701(親1)のビットを1704(子1)に,1702(親2)のビットを1705(子2)に継承する。
一方,マスクビットが1の場合,1701(親1)のビットを1705(子2)に,1702(親2)のビットを1704(子1)に継承する。このように,処理を行うと,設備1の二つの保守計画1701(親1),1702(親2)から新たに,設備1の二つの保守計画1704(子1),1705(子2)が生成される。このような処理を各設備に対して行うのが交叉処理である。この処理は,交叉処理前の計画案が法定保守間隔制約を満たしているので,交叉後も制約を満たした計画案が作成される。この処理を行うことで,各設備の保守間隔や保守の種類を探索することができる場合も多くある。例えば,図44に示すように,保守計画1701(親1)について、保守間隔は,時刻3から時刻25,保守の種類は,時刻3,25ともに1の点検である。また保守計画1702(親2)について、保守間隔は時刻10から時刻20,保守の種類は,時刻10,20共に2の補修である。この保守計画1701(親1)と保守計画1702(親2)が,交叉処理によって,保守計画1704(子1)と保守計画1705(子2)に改良される。保守計画1704(子1)の保守間隔は,時刻10から時刻25,保守の種類は,時刻10が2の補修,時刻25が1の点検である。保守計画1705(子2)の保守間隔は,時刻3から時刻20,保守の種類は,時刻3は1の点検,時刻20は2の補修である。
ここで,本実施の形態においては図44に示す配列のセルの上についている番号が,経過日数に相当する。例えば,左端のセルの上に表示している数値は1であり,1日目であることを意味し,セルの上の数値がTである場合はT日目であることを意味する。以下,図45,図47,図48,図49に関しても同様である。
次にステップS242で,法定保守間隔制約を満たすように突然変異を行う。例えば,図45に示すように,計画案(親個体)が選ばれたときに,計画案のうち,設備1の保守計画である1801において突然変異を行う。設備1の保守計画1801において,法定保守期間開始日が経過日(以下、時刻と記す)が8,法定保守期間終了日が,時刻26であった場合,1801で時刻8から時刻26までの間で定期保守を行っている時刻25のビット1(点検)をビット0(何もしない)に変換する。さらに,時刻8から時刻26までの間で,定期保守日と保守の種類をランダムにひとつ決定し,時刻15の値を2(補修する)に変更する。このようにして,1802に示すように設備1の保守計画を改良する。この操作を各設備に対する時刻ごとの計画のうち,決められた割合(突然変異率)にしたがって行う。このような処理が,法定保守間隔制約を満たすような突然変異である。
このように,図42のステップS234の処理を,図1で示した制約充足計画改良手段19を用いて処理する。
また,ステップS235の処理を,図1で示したランダム計画改良手段20を用いて処理する。
すなわち,図46に示すように,まずステップS251で,交叉処理を行う。この交叉処理は,前記した図45の交叉処理と同様である。次にステップS252で,ビット反転突然変異,ビットコピー突然変異,ビットシフト突然変異という三つの突然変異の中からランダムにひとつの突然変異を選択し,ステップS253で,選択された突然変異を行う。以下にその詳細を説明する。
ここで,ビット反転突然変異とは,図47に示すように,例えば,計画案(親個体)が選ばれ,計画案のうち,設備1の保守計画である1901においてビット反転突然変異を行うときに,1901における時刻17の計画が,1902におけるの時刻17の計画のように,計画を変化させる。また,1901における時刻25の計画が,1902における時刻25の計画のように,計画を変化させる。この操作を各設備に対する時刻ごとの計画のうち,決められた割合(突然変異率)にしたがって行う。このような処理がビット突然変異である。この処理を行うことで,各設備の保守間隔や保守の種類を探索することができる場合も多くある。例えば,図47に示すように,保守計画1901は、時刻1から時刻27までの計画において,保守間隔は,時刻3から時刻25,保守の種類は,時刻3が2の補修,時刻25は3の交換である。この保守計画1901が、ビット突然変異により,保守間隔は,時刻3から時刻17,保守の種類は,時刻3は2の補修,時刻17は2の補修である1902の保守計画に改良される。
ビットコピー突然変異とは,図48に示すように,例えば,計画案(親個体)が選ばれ,計画案のうち,設備1の保守計画である2001においてビットコピー突然変異を行うときに,まず,計画期間の間で,ランダムにある二つの時刻を選択することで,ある期間を選択する(時刻4から時刻27までの期間)。さらに,この選択された期間(時刻4から時刻27までの期間)の間で,ランダムに二つの時刻を選択することで,ビットコピー突然変異で用いるある期間を選択する(時刻10から時刻25までの期間)。そして,最終的に選択された期間(時刻10から時刻25までの期間)までの2001の保守計画を,図48に示すように,コピーさせることで,2002の保守計画に改良する。この操作を各設備の保守計画のうち,決められた割合(突然変異率)にしたがって行う。このような処理がビットコピー突然変異である。この処理を行うことで,各設備の保守間隔や保守の種類を探索することができる場合も多くある。例えば,図48に示すように,保守計画2001は、時刻4から時刻27までの計画において,保守間隔は,時刻6から時刻14と,時刻14から時刻27,保守の種類は,時刻6は1の点検,時刻14は2の補修,時刻27は3の交換である。この保守計画2001が,ビットコピー突然変異により,保守間隔は,時刻8から時刻27,保守の種類は,時刻8は2の補修,時刻27は3の交換である2002の保守計画に改良される。
ビットシフト突然変異では,図49に示すように,例えば,計画案(親個体)が選ばれ,計画案のうち,設備1の保守計画である2101においてビットシフト突然変異を行うときに,まず,計画期間の間で,ランダムにある二つの時刻を選択することで,ある期間を選択する(時刻4から時刻27までの期間)。さらに,この選択された期間(時刻4から時刻27までの期間)の間で,ランダムに二つの時刻を選択することで,ビットシフト突然変異で用いるある期間を選択する(時刻10から時刻25までの期間)。そして,最終的に選択された期間(時刻10から時刻25までの期間)までの2101の保守計画を,図49に示すように,コピーさせることで,2102の保守計画に改良する。さらに,はじめに選択された期間(時刻4から時刻27の期間)で,コピーの影響を受けなかった期間(時刻20から時刻27)において,その期間の計画をすべて0の何もしないに変換する。この操作を各設備の保守計画のうち,決められた割合(突然変異率)にしたがって行う。このような処理がビットシフト突然変異である。この処理を行うことで,各設備の保守間隔や保守の種類を探索することができる場合も多くある。例えば,図49に示すように,保守計画2101は、時刻4から時刻27までの計画において,保守間隔は,時刻10から時刻21と,時刻21から時刻27,保守の種類は,時刻10は1の点検,時刻21は2の補修,時刻27は3の交換である。この保守計画2101が,ビットシフト突然変異により,保守間隔は,時刻4から時刻15,保守の種類は,時刻4は1の点検,時刻15は2の補修である2102の保守計画に改良される。
以上,図25で,ステップS23で選択された二つの計画案(親個体)を,図1で示した計画改良手段18を用いて,ステップS24の交叉,ステップS25の突然変異処理を行い,二つの新しい計画案(子個体)に改良する。 そして,ステップS26で,新しい保守計画案(個体)をN個(図23で示した計画案数807)生成するまで,ステップS23からステップS25までの処理を繰り返し,新しいN個(図23で示した計画案数807)の保守計画案(個体)を,図1の複数計画案記憶手段4によって記録されている図26で示した計画案1003に記録する。この処理で,N個(図23で示した計画案数807)の保守計画案(個体)を更新する(世代交代)。そして,ステップS27で,ステップS22からステップS26までの一連の処理回数が,値M(図23で示した計画改良数808)を超えるまで,ステップS22からステップS26の処理を繰り返し,図1で示した最適化手段3の処理が終了する。
このように,図22におけるステップS2の処理を,図1の最適化手段3を用いることで,保守計画における総合的なコストとリスクを共に最小化した最適な保守計画を立案する。
ここで,最小化とある表現は,限られた条件のもとの最小化であるか,あるいは最小化に近いと想定される状態を意味している。
次に,図22のステップS3において,ステップS2で,保守計画における総合的なコストとリスクを共に最小化した複数の最適な保守計画案の中から,保守計画立案者たるユーザが最終案を決定する。ここで,ステップS3の処理を図1で示した最適保守計画決定手段21を用いて処理する。
すなわち,図50に示すように,まずステップS261で,図51に示す最適な複数の計画案の比較画面2202から,任意の計画案Rを選択(クリック)する。ここで,最適な複数の計画案の比較画面2202を,図1で示した複数計画案評価値比較画面表示手段22を用いて表示させる。
すなわち,図52に示すようにまず,ステップS271で複数計画案記憶手段4によって記憶されているN個(図23で示した計画案数807)の保守計画案数の中から制約条件をすべて満たしている保守計画案を抽出し,その数Zを求める。次に,ステップS272でインデックスpの初期化を行い,ステップS273で,インデックスpが制約条件を全て満たしている計画案数Zを超えているか否かを調べる。ステップS273で,インデックスpが制約条件を全て満たしている計画案数Zを超えていない場合,ステップS274に進む。ステップS274で,抽出した計画案pと残りの計画案それぞれについて,図1で示した優劣比較手段17を用いて,優劣を比較し,計画案pより優れている計画案の数qを求める。次にステップS275で,計画案pより優れている計画案の数qが0の場合,ステップS276に進む。ステップS276で,総合的なコスト期待値の評価値をx軸101,信頼区間上限の評価値をy軸102とした図51の画面2202に,計画案pの評価値に従って,計画案pをプロットし,ステップS277で,インデックスpに1を加算し,ステップS273に戻る。
図51・図55においては、信頼区間の上限値(信頼区間上限の評価値102)は、ある信頼区間における、例えば、最大のコストを示す値でありコストに対するリスクを意味するものである。図51の例では、信頼区間上限をリスクと考え、総合的なコスト期待値 対 信頼区間上限(リスク)のグラフをエリア2202に表示した。このエリア2202には総合的なコスト期待値 あるいは 信頼区間上限(リスク)の一方だけの一次元のグラフを表示しても良いし、他の指標を加えて多次元グラフやレーダーチャート等にしても良い。
一方,ステップS275で計画案pより優れている計画案の数qが0でない場合,ステップS277に進み,ステップS273に戻る。そして,ステップS273で,インデックスpが制約条件を全て満たしている計画案数Zを超えるまで,ステップS274からステップS277までの処理を繰り返し行い,ステップS273で,インデックスpが制約条件を全て満たしている計画案数Zを超える場合,処理が終了する。
このように,図51の最適な複数の計画案の比較画面2202を,図1の複数計画案評価値比較画面表示手段22を用いて表示させる。例えば,図51の画面2202では,計画案A,B,C,Dの四案が表示されている。これらの計画案を,保守計画における総合的なコストを評価する総合的なコスト期待値で比較すると,案Aが一番優れており,続いてB案,C案,D案の順になる。一方,保守計画におけるリスクを評価する信頼区間上限(保守計画における総合的なコストの信頼区間R806が最悪のケース)で比較すると,逆にD案が一番優れており,続いてC案,B案,A案の順番になる。つまり,最適な複数の計画案A,B,C,Dはトレードオフの関係を持っていることが図51の2202から確認できる。
これらの計画案A,B,C,Dは本発明の実施の形態における最適保守計画立案支援システムにより自動的に生成されたものであるが、予め利用者の手入力によって作成されたものでも、システムから自動生成されたものに利用者が修正を加えたものであっても良い。また、利用者が作成した計画案に修正禁止エリアを設けて、それ以外をシステムに自動作成させることもでき、それを計画案としても良い。さらにまた利用者が作成した計画案をベースにシステムに計画案を自動作成させることもでき、それを計画案としても良い。
図50の説明に戻る。ステップS261で,図51の最適な複数の計画案の比較画面2202から任意の計画案Rを選択すると,次に,ステップS262で,計画案Rの評価値における図51の2203に示すような保守計画案Rの評価値に関する詳細画面と計画案Rにおける図51の2204に示すような保守計画案Rの詳細画面が表示される。そして図51の画面2202や画面2203,画面2204の情報から計画案Rを採用するか否かを検討する。
ここで,図51で示した保守計画案Rの評価値に関する詳細画面2203を図1で示した計画案評価値詳細表示手段23を用いて表示させる。
すなわち,図53に示すように,まずステップS281で,図1の複数計画案記憶手段4によって記録されている図26で示した保守計画案Rにおいて,図26のL個(図23で示したシミュレーション回数805)の要素を持つの総合的なコスト配列1004から最大値MAXと最小値MINを検索する。そして,ステップS282で総合的なコストの最大値MAXと最小値MINとあらかじめ設定されている区間数Pから,(7)式によって,ヒストグラムの区間幅binを計算する。次に,ステップ283で、各区間の頻度の配列hist(p)(p=1〜P)を0に設定し,ステップS284で,インデックスmの初期化を行う。ステップS285で,インデックスmが値L(図23で示したシミュレーション回数805)を超えているか否かを調べる。ステップS285で,インデックスmが値L(図23で示したシミュレーション回数805)を超えていない場合,ステップS286で,hist( |C(m)−MIN)/bin| )に1を加算し,ステップS287でインデックスmに1を加算し,ステップS285に戻る。
一方,ステップS285で,インデックスmがL(図23で示したシミュレーション回数805)を超える場合,ステップS288に進む。ステップS288では,総合的なコストをx軸107,その頻度をy軸108として,各区間の頻度の配列hist(p)(p=1〜P)に応じたヒスグラム109を画面上に表示させる。また,図26の総合的なコスト期待値1005と信頼区間上限1006をそれぞれ110と111に表示させて処理が終了する。
このように,計画案Rの評価値における図51の2203に示すような詳細画面を図1の計画案評価値詳細表示手段23を用いて表示させる。例えば,図51では,画面2202で案Bを選択して,画面2203で計画案Bの総合的なコストヒストグラムが表示される。また,ヒストグラムの区間幅や区間数を変更したい場合は,図51の設定ボタン112を選択(クリック)し,図54で示す画面2301で,区間数201または,区間幅202を入力することで変更することができる。この画面2301では,区間数201を手入力で変更すると,自動的に区間幅202が変更される。逆に区間幅202を手入力で変更すると,自動的に区間数201が変更される。
この画面2203によって,計画案Bを実施した場合に要する総合的なコストの分布の形状を可視化することができ,最悪どれぐらいのコストが発生するか,分布の中心がどの区間にあるか等を調べることができ,他の計画案を比較する情報となる。
また,図51の2204の画面を図1の計画案詳細画面表示手段24を用いて表示させる。この画面は,図1の複数計画案記憶手段4によって,図26の形式で記憶された計画案Rにおいて,計画案1003に基づいて,図1の計画案詳細画面表示手段24を用いて図51の2204の画面を表示させる。例えば,図51では,画面2202で案Bを選択すると,画面2204で,計画案Bの具体的な計画が表示される。この画面によって,設備ごとの具体的な計画を見ることができ,他の計画案を比較する情報となる。
図50の説明に戻る。ステップS262で,図51の画面2201に表示された情報から計画案Rを採用するか否かを検討する。次に,ステップS263で,計画案Rを最終案として採用するまで,ステップS261,ステップS262を繰り返す。そしてステップS263で,計画案Rを最終案として採用する場合,保守計画立案者たるユーザが図51の決定ボタン2205を選択(クリック)する。
図51の決定ボタン2205を選択(クリック)すると,選択された計画案Rは図1の採用計画記憶手段25によって,計画案Rが図21で示したデータ構造で記録され(ステップS264),処理が終了する。
このように,図1の最適保守計画決定手段21を用いて,図22のステップS2で立案された複数の最適な保守計画案の中から,保守計画立案者たるユーザが図51の画面2201上の情報を用いて,最終案を決定し,ステップS3の処理が終了する。
このように複数の総合的なコスト期待値に対する信頼区間上限のデータから任意のデータを選び,そのデータの保守計画の詳細や総合的なコストヒストグラムが,簡単に参照できると,作成した複数の保守計画の案のコストやリスクなどの評価が簡単に行え非常に便利である。
ここで,この最終案の決定過程で,例えば,図51画面2202上で,計画案Bをクリックし,計画案Bを検討した後,その計画案Bを修正したい場合は,図51の計画修正ボタン2206をクリックする。計画修正ボタン2206クリックすると,画面2204上で,計画案Bを修正することができる。
修正した後は,その計画案に別名をつけて保管しても良いし,計画案Bとして上書きしても良い。不要な場合は削除も可能である。修正する場合は,保守の年月日・保守の種類以外にも詳細設定のボタン(図示せず)を押すことで,その他の条件・制約等をその変更案に対してのみ変更することもできる。本実施例では別名をつけて修正案B1とする。
その修正案B1について,シミュレーションを行いたい場合は,図51の再シミュレーションボタン2207をクリックする。その際,再シミュレーションボタン2207は,計画修正ボタン2206をクリックした後でないと,有効にならない。修正案B1に対する再シミュレーションを行うと,画面2202上に,新たに案B1がプロットされ,さらに,画面2203には,計画案Bと計画案B1における総合的なコストヒストグラムが同時に表示される。画面2204上には案B1が表示される。その際,修正前の計画案Bは修正によって,削除されることはなく,有効に記憶されている。
さらに,最終案の決定過程で,過去に立案された計画のデータを出力して,比較,検討したい場合は,図51の過去計画案データ出力2208ボタンをクリックし,出力したい計画案を選択すると,画面2204と同じフォーマットで,選択した計画案を新たに表示させることができる。また,実施された計画の実績データを出力して,比較,検討したい場合は,図51の実績データ出力2209をクリックし,出力したい計画実績を選択すると,画面2204と同じフォーマットで選択した実績計画を新たに表示させ,実現された総合的なコスト等の情報を表示させることができる。
また,総合的なコスト期待値と信頼区間上限の指標に加えて,総合的なコスト分散も評価指標に加える等,保守計画の評価に必要な複数の評価指標を持たせてもよいが,この場合はエリア2202のグラフは評価指標数が3であれば3次元のグラフ,それ以上の数であればレーダーチャート等に変化させることもできる。
図55に複数の計画案を同時に表示した例を示す。まず図55の2202のエリアで作成した計画案B,計画案B1,計画案B2及び計画案B3を同時に選択しクリックする。4つの計画案を同時にクリックするには,初めに左クリックで順に選択していき,全ての案が選択されている状態で最後に任意の計画案をダブルクリックしても良いし,選択モード切替ボタン(図示せず)を使用しても良い。選択モードを単一選択にすれば,常に最後に選んだ計画案1つに対して,一つのヒストグラムの情報等を表示した画面2203と一つの保守計画表を表示した画面2204が表示される。選択モードを複数選択にすれば,選択した計画案全てに対するヒストグラムの情報等を表示した画面2203と保守計画表を表示した画面2204が図55に示すように表示される。図55では計画案B,計画案B1,計画案B2及び計画案B3に対するグラムの情報等を表示した画面2203と保守計画表を表示した画面2204が全て表示されている。保守計画表を表示した画面2204には図55の例では案Bと案B1の保守計画表しか表示されていないが,スクロールバー5504を操作することで案B2,案B3の保守計画表も参照できる。
このような,複数の計画案に対するヒストグラムの情報等を表示した画面2203と保守計画表を表示した2204を全て表示する機能は,過去の計画案や実績データを対象にすることもできる。さらに現在の計画案・過去の計画案・実績データを一覧(図示せず)や2202に示すグラフに混合し表示して,同様にこれらに対応するヒストグラムの情報等を表示した画面2203と保守計画表を表示した画面2204を同時に表示することができる。また同時に表示する対象をヒストグラムの情報等を表示した画面2203だけにすることも,保守計画表を表示した画面2204だけにすることも可能である。またヒストグラムの情報等を表示した画面2203と保守計画表を表示した画面2204の表示エリアは同一画面上であっても,別のウィンドウであってもかまわない。
このように,計画案の修正が可能であり,過去の計画案や実績データの出力が可能であるので,最適保守計画立案支援システムで立案された複数の最適な保守計画案を比較,検討する際に非常に便利である。
以上で本発明の一実施の形態に係わる最適保守計画立案支援システムを説明したが,本発明はこれに限定されるものでない。
例えば,最適化手段の一手法として,遺伝的アルゴリズムを用いたが,その他に分岐限定法などの手法を用いてもよい。
鉄道関連の交通機関の保守計画にて前記,実施例で述べたシステムを適用した場合,鉄道関連の保守設備のメンテナンス費用と事故の発生確率の低減に貢献でき,非常に画期的である。