(57)【特許請求の範囲】
【請求項１】
遺伝的アルゴリズムを適用して乗務の時系列パターンを作成する、コンピュータによる時系列パターン自動作成方法であって、
少なくともダイヤの開始時刻と終了時刻とを含む１日のダイヤデータを記憶装置から読み込み、
前記記憶装置から読み込んだ各ダイヤデータを、ダイヤの開始時刻が早いものから順に並べ、
該並べられた各ダイヤについて、該各ダイヤの終了時刻より後に開始時刻を有する後続のダイヤとの間にリンクを設定し、
染色体を構成する遺伝子の位置である各遺伝子座に、前記後続のダイヤとの間にリンクの設定された各ダイヤを割り当てることにより、遺伝的アルゴリズムを適用するための染色体の構造を生成し、
前記染色体の構造としての各遺伝子座に対応する前記後続のダイヤの中から、それぞれランダムに１つずつ選択して遺伝子とすることにより、該選択された遺伝子からなる染色体を生成し、
該生成された染色体に遺伝的アルゴリズムを適用することにより、異なる組み合わせの遺伝子からなる染色体を生成し、
該生成された各染色体をデコードし、該染色体に対応する時系列的に配列された複数のダイヤからなる時系列パターンの評価値を、予め設定された計算式を用いて計算し、
前記生成された全ての染色体の中から、前記評価値の最も良い染色体を選別してデコードすることにより第１の時系列パターンを作成し、
連続する複数日についてそれぞれ得られた前記第１の時系列パターンを、その開始時刻が早いものから順に並べ、
該並べられた各第１の時系列パターンについて、該各第１の時系列パターンの終了時刻より後に開始時刻を有する後続の第１の時系列パターンとの間にリンクを設定し、
染色体を構成する遺伝子の位置である各遺伝子座に、前記後続の第１の時系列パターンとの間にリンクの設定された各第１の時系列パターンを割り当てることにより、遺伝的アルゴリズムを適用するための染色体の構造を生成し、
前記染色体の構造としての各遺伝子座に対応する前記後続の第１の時系列パターンの中から、それぞれランダムに１つずつ選択して遺伝子とすることにより、該選択された遺伝子からなる染色体を生成し、
該生成された染色体に遺伝的アルゴリズムを適用することにより、異なる組み合わせの遺伝子からなる染色体を生成し、
該生成された各染色体に対応する時系列的に配列された複数の第１の時系列パターンが、所定の上限値を越える連続乗務日を含んでいないかどうかを調べ、含んでいる場合は、前記所定の上限値を超えないように遺伝子の接続を変更し、
その後、該生成された各染色体をデコードし、該染色体に対応する時系列的に配列された複数の第１の時系列パターンからなる時系列パターンの評価値を、予め設定された計算式を用いて計算し、
前記連続する複数日についての前記生成された全ての染色体の中から、前記評価値の最も良い染色体を選別してデコードすることにより第２の時系列パターンを作成する、
ことを特徴とする時系列パターン自動作成方法。
【請求項２】
前記ダイヤデータが航空機のフライトデータであり、前記第１の時系列パターンが航空機乗務員の１日の乗務フライトパターンであり、前記第２の時系列パターンが航空機乗務員の１ヶ月の乗務フライトパターンであることを特徴とする請求項１記載の時系列パターン自動作成方法。
【請求項３】
遺伝的アルゴリズムを適用して乗務の時系列パターンを作成する時系列パターン自動作成方法をコンピュータに実行させるプログラムを格納したコンピュータ読み出し可能記憶媒体であって、前記プログラムはコンピュータに、
少なくともダイヤの開始時刻と終了時刻とを含む１日のダイヤデータを記憶装置から読み込ませ、
前記記憶装置から読み込んだ各ダイヤデータを、ダイヤの開始時刻が早いものから順に並べさせ、
該並べられた各ダイヤについて、該各ダイヤの終了時刻より後に開始時刻を有する後続のダイヤとの間にリンクを設定させ、
染色体を構成する遺伝子の位置である各遺伝子座に、前記後続のダイヤとの間にリンクの設定された各ダイヤを割り当てさせることにより、遺伝的アルゴリズムを適用するための染色体の構造を生成させ、
前記染色体の構造としての各遺伝子座に対応する前記後続のダイヤの中から、それぞれランダムに１つずつ選択させて遺伝子とすることにより、該選択された遺伝子からなる染色体を生成させ、
該生成された染色体に遺伝的アルゴリズムを適用することにより、異なる組み合わせの遺伝子からなる染色体を生成させ、
該生成された各染色体をデコードさせ、該染色体に対応する時系列的に配列された複数のダイヤからなる時系列パターンの評価値を、予め設定された計算式を用いて計算させ、
前記生成された全ての染色体の中から、前記評価値の最も良い染色体を選別してデコードさせることにより第１の時系列パターンを作成させ、
連続する複数日についてそれぞれ得られた前記第１の時系列パターンを、その開始時刻が早いものから順に並べさせ、
該並べられた各第１の時系列パターンについて、該各第１の時系列パターンの終了時刻より後に開始時刻を有する後続の第１の時系列パターンとの間にリンクを設定させ、
染色体を構成する遺伝子の位置である各遺伝子座に、前記後続の第１の時系列パターンとの間にリンクの設定された各第１の時系列パターンを割り当てさせることにより、遺伝的アルゴリズムを適用するための染色体の構造を生成させ、
前記染色体の構造としての各遺伝子座に対応する前記後続の第１の時系列パターンの中から、それぞれランダムに１つずつ選択させて遺伝子とすることにより、該選択された遺伝子からなる染色体を生成させ、
該生成された染色体に遺伝的アルゴリズムを適用することにより、異なる組み合わせの遺伝子からなる染色体を生成させ、
該生成された各染色体に対応する時系列的に配列された複数の第１の時系列パターンが、所定の上限値を越える連続乗務日を含んでいないかどうかを調べさせ、含んでいる場合は、前記所定の上限値を超えないように遺伝子の接続を変更させ、
その後、該生成された各染色体をデコードさせ、該染色体に対応する時系列的に配列された複数の第１の時系列パターンからなる時系列パターンの評価値を、予め設定された計算式を用いて計算させ、
前記連続する複数日についての前記生成された全ての染色体の中から、前記評価値の最も良い染色体を選別させてデコードさせることにより第２の時系列パターンを作成させる、
ことを特徴とするコンピュータ読み出し可能記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は時系列に並べられるべき複数の要素を順序づけて、複数の時系列パターンを作成する、時系列パターン作成方法に係り、更に詳しくは、例えば航空機の乗務員に対する乗務フライト列としての乗務パターンの自動作成方法に関する。
【０００２】
【従来の技術と発明が解決しようとする課題】
本発明は、一般的には時系列に並べられるべき要素を順序づけて、時系列パターンを作成する、時系列パターン作成方法に関するものであるが、後述のように航空機の乗務員の乗務パターンを具体例として実施例を説明するために、ここでも航空機乗務員の乗務パターン作成に関する従来技術を説明する。
【０００３】
航空機乗務員の乗務パターンとは、例えば飛行機の機長が、機体番号００１、機種Ｂ７６７の飛行機の運行のために６時４０分に東京、例えば羽田空港を出発し、札幌空港に８時１０分に到着し、次に例えば別の機体番号の飛行機で札幌空港を９時３０分に出発し、大阪空港に向かうなどというフライトの連続するパターンである。
【０００４】
航空機は高価であるので、一般に航空機の運行パターン、すなわちシップパターンにおいて連続するフライトは決定されており、例えば機長の飛行機の乗り換えなどによって、できるだけコストを下げ、人員を効率的に使用できるように航空機乗務員の乗務パターンを組み立てる必要がある。
【０００５】
従来はこのような乗務パターンの作成を様々な目標条件、例えばパターンの総数を減らすことによって必要な人員を少なくするというような条件を考慮して、１日毎に設定し、乗務パターンを作成するというような方法がとられていた。
【０００６】
しかしながら１日におけるフライトの総数が多くなり、また目標とすべき条件もパターンの総数だけでなく、例えば機長が単なる移動のためにだけ飛行機に客として搭乗する便乗の回数を少なくすること、乗務時間のバラつきを少なくすることなど、様々な条件を考慮する必要がでてきたことによって、全体的に効率の良い乗務パターンを作成することは容易でないという問題点があった。
【０００７】
また１月間の乗務パターン、すなわちマンスリーパターンを作成する際にもデータの量としてのフライトの数が非常に多くなり、また考慮すべき目標条件も多くなるため、効率上最適なマンスリーパターンを作成することはできないという問題点があった。
【０００８】
本発明は、遺伝的アルゴリズムを応用して、まず１日毎の乗務パターン、すなわちディリーパターンを作成し、更に再び遺伝的アルゴリズムを適用してディリーパターンの組み合わせとしてマンスリーパターンを作成することによって、コストを削減し、また人員の稼働効率を向上させる乗務パターンを自動的に作成する方法を提供することを目的とする。
【０００９】
【課題を解決するための手段】
図１は本発明の原理を説明するための機能ブロック図（その１）である。本発明の実施例では１日のすべてのフライトから複数の時系列フライトパターン、すなわちディリー乗務パターンが作成され、これらのディリー乗務パターンが組み合わされて複数日分、例えばマンスリー乗務パターンが作成されるが、ここでは１日をタイムスパン、複数日、例えば１ケ月を第２のタイムスパンとして原理を説明する。
【００１０】
まず第１のタイムスパンを対象として図１の処理が実行される。１０１で時系列に並べられるべき要素のうちで各要素の開始時刻の早いものから、その要素の終了時刻より後に開始時刻がある要素を次々とリンクさせることによって作成される複数のリンク関係に基づいて、複数個の要素列が作成される。
【００１１】
次に１０２で各要素列に対して、あらかじめ定められた形式で評価値が求められ、１０３で各要素列に対して定められた処理、例えば遺伝的アルゴリズムによる処理が実行され、その結果に対応して評価値が最も良い要素列が求められる。
【００１２】
最後に１０４で評価値が最も良い要素列の内容に基づいて複数の時系列パターンが作られる。第１のタイムスパンを１日とし、複数の要素を１日におけるすべてのフライトとすると、以上の処理によって作成される時系列パターンはディリー乗務パターンとなる。
【００１３】
第２のタイムスパンに対しては、第１のタイムスパンに対して求められた時系列パターン、例えばディリー乗務パターンを要素として１０１〜１０４の処理が実行される。まず１０１で複数の要素、すなわち第１のタイムスパンに対して求められた各時系列パターンのうちで開始時刻の早いものから、その時系列パターンの終了時刻より後に開始時刻を有する時系列パターンを次々とリンクさせることによって生成される複数のリンク関係に基づいて、複数個の要素列としての時系列パターン列が作成される。
【００１４】
続いて時系列パターンを要素として１０２，１０３の処理が実行され、最後に評価値が最も良い要素列としての時系列パターン列の内容に基づいて第２のタイムスパンに対応する複数の時系列パターンが作成される。第１のタイムスパンに対する時系列パターンがディリー乗務パターンであり、第２のタイムスパンが１ケ月とすると、第２のタイムスパンに対する時系列パターンはマンスリー乗務パターンとなる。
【００１５】
図２は、本発明の実施例に対応させて、本発明の原理をさらに詳細に説明するための機能ブロック図（その２）である。同図は複数のフライトを順序づけて、複数の時系列フライトパターンとして航空機乗務員の乗務フライトパターンを作成する、乗務パターン自動作成方法の原理的な機能ブロック図である。
【００１６】
図２において、１で複数のフライトのうちで出発時刻が早いものから、そのフライトの到着時刻より後に出発時刻を持ち、そのフライトの後に接続可能なフライトを次々とリンクさせて、複数のリンク関係が、異なるリンク関係の間でのフライトの重複を許しながら設定される。
【００１７】
次に２で、複数のリンク関係の最初にあるそれぞれのフライトに対応して、フライトを並べるべきフライト列における位置が指定され、３でその最初にあるフライトの後に接続可能な１つ以上のフライトから１つのフライトが選択され、前述の対応する位置にその選択された要素が配置されて、フライト列が複数個作られる。
【００１８】
４でその複数のフライト列に対してあらかじめ定められた形式で評価値が求められた後に、定められた処理、例えば遺伝的アルゴリズムによる処理が実行され、５でその処理の結果としての新しいフライト列に対して前述のあらかじめ定められた形式、例えばパターンの総数を最小にするというような要求条件が反映される形式で、評価値が求められる。そして６で、その評価値による評価が最も良いフライト列の内容に基づいて、複数の乗務員に対応する複数の最適乗務パターンが作成される。
【００１９】
図２の機能ブロック図による原理的な方法は、１日毎の乗務パターン、すなわちディリーパターンの作成にそのまま用いられる。すなわち前述の複数のフライトが１日における全国の全てのフライトであり、図２の１でそれら全てのフライトを対象としてフライト間にリンク関係を設定する処理が行われ、以後２〜６の処理を行うことによって、全国の全てのフライトを対象として複数の乗務パターンが作成され、これらの乗務パターンを複数の乗務員にそれぞれ割り当てることによって、効率的な乗務パターンを作成することができる。
【００２０】
但し、この場合異なる乗務パターンの中に同一のフライトが重複して含まれることは適当でないので、図２の３で作られる複数のフライト列のそれぞれ、および４で行われる定められた処理の結果としての新しいフライト列の中には、同一のフライトが重複して含まれることがないよう、重複フライトのチェックが行われる。
【００２１】
図２の４で行われる定められた処理は、前述のように例えば遺伝的アルゴリズムによる処理であり、例えば交叉、および突然変異の処理が用いられる。また４と５で求められる各フライト列に対する評価値の計算に対しては、例えばパターンの総数、機長の飛行機乗り換え回数としての機材交換回数、および前述の便乗回数などが、それぞれ最小となるように評価値の計算方法が決定される。
【００２２】
１日毎に対応して作成されたディリーパターンの１月分からのマンスリーパターンの作成においても、図２におけると基本的に同じ方法が用いられる。図２では複数のフライト間に設定されるリンク関係を基礎としてフライト列が作成され、最適フライト列の内容に対応してディリー乗務パターンが作成されるが、マンスリーパターンの作成時においては、図２のフライトの代わりに１日毎の乗務パターン、すなわちディリーパターンが用いられ、処理が行われる。すなわち例えば１日分の毎日のディリーパターンが作成された後に、例えば１ケ月（３０日）分のディリーパターンを対象として、図２と同様の処理が実行される。
【００２３】
図２の１でディリーパターンの間にリンク関係が設定され、２でディリーパターン列おける位置が指定され、３で複数のディリーパターン列が作られ、４で定められた処理が実行され、５で評価値が求められ、６で評価が最も良いディリーパターン列の内容によって３０日分に対応するマンスリー乗務パターンが作成される。
【００２４】
以上のように本発明によれば、乗務員のディリーパターン、およびマンスリーパターンの作成において、例えば遺伝的アルゴリズムが用いられ、様々な目標項目に対応する評価が最も良い乗務パターンの作成が行われる。
【００２５】
【発明の実施の形態】
以下本発明の実施例を、航空機乗務パターンの作成を具体例として詳しく説明する。この説明では、１日毎の乗務パターンとしてのディリーパターンの作成と、ディリーパターンを組み合わせた結果としての１ケ月間の乗務パターンとしてのマンスリーパターンの作成とに分けて、実施例を説明する。
【００２６】
図３は毎日のフライトデータ、すなわち航空便のダイヤを示すダイヤデータの例である。同図において機体番号００１、機種Ｂ７６７の飛行機が午前６時４０分に東京（ＴＹＯ）を出発し、８時１０分に札幌（ＳＰＫ）に到着すること、機体番号００２、機種Ｂ７６７の飛行機が札幌を午前７時４５分に出発し、東京に９時１５分に到着することなどのフライトのデータが示されている。
【００２７】
図４は、図３のダイヤデータからそれぞれのフライト（便）に対応して機体番号、機種、出発時刻、出発空港、到着時刻、および到着空港を１組のデータとして示したフライトデータの説明図である。同図においては、図３の第１行目のフライトに対応するフライトデータが示されている。
【００２８】
本実施例では図３のダイヤデータ、または図４のフライトデータから、各フライトに対応するフライトオブジェクトが生成され、１日の全てのフライトオブジェクトが、出発時刻の早いものから図５に示すように順番に並べられる。図５において、最初にあるフライトオブジェクトは図３のダイヤデータの先頭にあるものであり、これは以下の説明でフライトオブジェクトａと名付けられる。また次にあるフライトオブジェクトは図３のダイヤデータで２番目にあるものであり、フライトオブジェクトｂと名付けられる。以下全国のフライトに対応するフライトオブジェクトが出発時刻の早いものから順に並べられる。
【００２９】
図５のようなフライトオブジェクトの生成と、その一覧表の作成は本発明におけるパイロットなどの航空機乗務のディリーパターンの作成処理の一部である。図６はこのディリーパターン作成アルゴリズムにおける前処理のフローチャートである。同図において処理が開始されると、まずステップＳ１で図３のようなダイヤデータが読み込まれ、ステップＳ２で図５で説明したフライトオブジェクトが生成され、全国のフライトに対応する全てのフライトオブジェクトがその出発時刻の早いものから順に並べられる。
【００３０】
次にステップＳ３で各フライトオブジェクト、すなわち図５のフライトオブジェクトａ，ｂ，・・・について、後続便として接続可能なフライトオブジェクトを調べ、そのようなフライトオブジェクトの間にリンクが設定される。この後続便として接続可能な条件は、空港が同一であり、かつ時間的に次の条件を満たすものである。
【００３１】
次便の出発時刻≧当便の到着時刻＋最小ステイ時間（整備等）
図５で説明したような各フライトオブジェクトについて、ステップＳ３で設定されるリンクの例を図７に示す。図７において、フライトオブジェクトａに対して後続便として接続可能なフライトオブジェクトとして、ｃおよびｅがあることなどがリンクとして設定されている。また後続便として接続可能なフライトオブジェクトを持たないもの、例えばフライトオブジェクトｘは図７においてハッチされている。
【００３２】
本実施例では、航空機乗務パターンの作成処理において、遺伝的アルゴリズム（ジェネティック  アルゴリズム、ＧＡ）を適用する。そこで図６の前処理アルゴリズムの最終ステップ、すなわちステップＳ４でＧＡにおける染色体の構造が生成される。この染色体は、本実施例において航空機乗務パターンを作成するために使用される要素列である。染色体を構成する複数の遺伝子として、図７に示したような各フライトオブジェクトの間のリンク関係において後続便を持つフライトオブジェクトが割り当てられるものを染色体の構造とする。すなわち染色体の内部のそれぞれの遺伝子の位置としての、一種の座標としての各遺伝子座に、図７において後続便を持つフライトオブジェクトが割り当てられる。
【００３３】
図８はステップＳ４において生成される染色体の構造を示す。ここでは後続便を持つフライトオブジェクトａからｆが、左から順番に遺伝子座に割り当てられ、後述するように、それぞれの遺伝子座に対応するフライトオブジェクトの後続便としてのフライトオブジェクトがランダムに選択されて遺伝子とされる。すなわち、航空機乗務パターンの作成処理において使用される染色体は、フライトオブジェクトの間のリンク関係において、それぞれ先頭のフライトの後続便の中から１つだけ選択されたフライトが並べられたフライト列（要素列）である。
【００３４】
なおここでは、それぞれの遺伝子座を図７において上にあるフライトオブジェクト、すなわち出発時刻の早いフライトオブジェクトから順番に左側から割り当てたが、接続可能な後続便の数が少ないものから順番に左側から割り当てる方が、後述する制約条件違反解消のために便利なことがある。これについては図１４で説明する。
【００３５】
図９はディリーパターン作成アルゴリズムの主処理のフローチャートである。同図は、図６のステップＳ４に続いて行われる処理を示す。同図において処理が開始されると、まずステップＳ１０で染色体の発生処理が行われる。すなわち図８で説明した染色体の構造としての各遺伝子座に対応するフライトオブジェクトの後便、一般に複数個の後続便の中から、それぞれランダムに選択された後続便としてのフライトオブジェクトが設定されて、染色体の生成が行われる。
【００３６】
この染色体としてはＮ個、例えば２０個が生成される。図１０はこのようにして生成される染色体の例を示す。但しそれぞれの染色体の内部の遺伝子としては同じものが存在しないように、すなわち同じフライトオブジェクトが重複して１つの染色体の中に表れないように後続便の設定が行われる。
【００３７】
続いてステップＳ１１で各染色体に対する評価処理が行われる。この評価処理では、各染色体がデコードされて乗務パターンが作成され、例えば乗務パターンの総数と、機材の交換数とに応じて、それぞれの染色体の評価値が計算される。
【００３８】
図１１は染色体のデコードと、その評価値の計算の説明図である。同図において染色体をデコードする、すなわち染色体の内部の遺伝子の内容によって連続したフライトオブジェクト、すなわちパイロットなどの航空機乗務ディリーパターンが作成される。この乗務パターンとしては、例えばフライトオブジェクトａの次にｃ、その次にｄ，ｆ，ｙがこの順序で続くパターン、フライトオブジェクトｂの後にｘが続くパターンなどが染色体の遺伝子の内容によって作成される。
【００３９】
それぞれの乗務パターンに応じて、連続するフライトオブジェクト、例えばｂ，ｘにおいて使用される飛行機の機体番号は、例えば図３のダイヤデータ、または図４のフライトデータから知ることができ、各乗務パターンに対して飛行機の交換、実際にはパイロットが次に乗る飛行機を変更することに相当する機材交換が必要であるか、必要である場合には何回必要かが分かる。
【００４０】
それぞれの染色体について、デコードの結果作成される乗務パターンの総数、および必要な機材交換の総数が求められ、例えば総パターン数に対する重み１００、機材交換に対する重み１０を用いて、評価値が次式によって計算される。
【００４１】
評価値＝（総パターン数×１００）＋（機材交換数×１０）
１つの染色体からデコードされるパターンの総数が３０、必要な機材交換の総数が１０であれば、その染色体に対する評価値は３１００となる。このような評価値の計算がＮ個、例えば２０個の各染色体について実行される。
【００４２】
図９のステップＳ１１で各染色体に対する評価値の計算が終了すると、次のステップＳ１２で初期調整の処理が行われる。この処理では、ステップＳ１０で発生処理が行われた染色体Ｎ個に加えて別の染色体が生成され、ステップＳ１０で生成された染色体に追加される。ここで追加される染色体は各飛行機のシップパターンに相当するものである。シップパターンとは、１つの機体がその日のうちでどのようなフライトに連続して使用されるかを表すパターンであり、例えば図１２に示す機体データに対応する。
【００４３】
図１２には機体番号００１、機種Ｂ７６７の飛行機が、１日のうちにフライトオブジェクトａ，ｃ，・・・の順序で、連続的に使用されることが示されている。それぞれの機体に対する、図１２に示されるような機体データから、対応する乗務パターン染色体が生成され、ステップＳ１０で生成された染色体に追加される。このシップパターンに対応する染色体からデコードされる乗務パターンは機材交換の必要がなく、従って評価値がよくなる。ステップＳ１２で明らかに評価値が良い染色体を追加することによって、早い段階で機材交換の少ない乗務パターンが得られる。
【００４４】
続いてステップＳ１３、およびＳ１４において、ＧＡの処理として交叉、および突然変異の処理が行われる。ここでは交叉として一点交叉が用いられる。すなわち染色体の総数、例えばステップＳ１０で生成される染色体の内部に各機体のシップパターンに対応する染色体がすでに存在する場合にはＮ個、例えば２０個の個体数に交叉率、例えば０．３を掛けた個数の染色体を、評価値の良い（小さい）ものが選ばれやすくなるように偶数個、例えば６個選択し、それらをコピーして２つずつ組み合わせ、確率的に決められた交叉点において遺伝子の組み替えが行われる。
【００４５】
図１３はこの交叉処理の説明図である。同図においては評価値の小さいものとして選ばれた染色体のうちの２個が１組とされ、まずそれらのコピーが作られ一点交叉が行われる。一点交叉の交叉点として、例えばフライトオブジェクトｄとｅとに対応する遺伝子座の間が選ばれると、この交叉点を境界として１組の染色体内で、例えば右側の遺伝子が交換され、２つの新しい染色体が生成される。
【００４６】
なお交叉の対象として評価値の良いものを選ぶ方法としては、例えばルーレット選択が用いられる。このルーレット選択は基本的な考え方として評価値の良い染色体にルーレット盤上で広い面積を割り当て、ルーレットを回すことによって染色体を選択する方法である。
【００４７】
ステップＳ１３で交叉の処理が行われ、新しい染色体が生成されると、この生成された染色体を対象としてステップＳ１４で突然変異の処理が行われる。この処理では新しく生成された染色体の各遺伝子を確率的に、例えば０．０２程度の確率で他の遺伝子、またはｎｉｌ（無接続）に置き換える処理が行われる。すなわち図８で説明した各遺伝子座に対応するフライトオブジェクトの、一般に複数の後続便の中から、他の後続便が選ばれるか、または後続便が存在しないことを示すｎｉｌが選ばれる。なお図１０において説明した最初のＮ個の染色体の生成時にも、各遺伝子座に対応する遺伝子としてｎｉｌを設定できるものとする。
【００４８】
ＧＡの処理としてのステップＳ１３、およびＳ１４が終了すると、ステップＳ１５で制約条件違反解消処理が行われる。例えば過剰乗務違反として１日の乗務回数が５回を越える場合など、様々な制約条件が考えられるが、ここではフライトオブジェクトの重複違反、すなわち１つの染色体の中に同じフライトオブジェクトが遺伝子として重複して表されることを制約条件違反として、それを解消する処理が行われる。すなわち交叉、または突然変異によって、１つの染色体の中に同じ遺伝子が表れた場合には、これを他の遺伝子、またはｎｉｌに置き替える処理が行われる。
【００４９】
図１４、および図１５はこの制約条件違反解消処理の説明図である。図１４においては、図８および図１０と異なって、染色体の左側の遺伝子座から、後続便の個数が少ないフライトオブジェクトが割り当てられている。すなわちフライトオブジェクトｃ，ｄ，ｅ，ｆは後続便としてｎｉｌを含んでそれぞれ２個を持つのに対して、フライトオブジェクトａ，ｂはそれぞれ３つの後続便を持っている。
ステップＳ１５では、フライトオブジェクトの重複を判定するために、染色体の左側から各遺伝子座における遺伝子を見ていって、遺伝子の重複があるか否かを判定する。図１４においては最後の遺伝子座、すなわちフライトオブジェクトｂに対応する遺伝子座の位置で遺伝子ｙの重複が発見される。そこでこの遺伝子ｙを、フライトオブジェクトｂの後続便の中で他の便、すなわちｘに変更することにより遺伝子の重複が解消される。
【００５０】
これに対して図１５は、図８および図１０に示した染色体の構造に対応する制約条件違反解消処理の結果を示している。ここでも左側から各遺伝子を見ていくことにより、最後のフライトオブジェクトｆに対応する遺伝子ｙの重複が発見される。しかしながらフライトオブジェクトｆはｙ以外に後続便を持たないため、ｙはｎｉｌにしか変更できないことになる。これによってフライトｆは１つのディリーパターンの最終フライトとなってしまうことになり、図１４においてｆの後に後続便としてｙが続くのに比べて、パターンの長さ、すなわち１つのパターンに含まれるフライトの数が少なくなる。
【００５１】
１日に必要なフライトの総数は当然決まっており、１つのパターンの内部のフライトの数が少なくなることは１日のパターンの総数を増やすことになり、従ってパイロットなどの数が多く必要となるため、前述の評価値の計算においてもパターンの総数に対する重みは大きくなっており、パターン数を減らすためには、図１４のように後続便の数の少ないものを染色体の左側に配置することが適当である。また、図示していないが、翌日のフライトデータを参照することによって乗務接続条件違反を解消する。例えば翌朝札幌発のフライトが２便ある場合、今日の乗務は２名のパイロットが札幌で乗務を終了しないと翌朝のフライトにパイロットを割り当てることができない。そこでこのような乗務接続条件違反を発見して、それを解消する。
【００５２】
図９のステップＳ１５で制約条件違反解消処理が行われた後、ステップＳ１６でステップＳ１３〜Ｓ１５で生成された新しい染色体についてデコードが行われ、乗務パターンが作成され、評価値の計算が行われる。続いてステップＳ１７で全ての染色体、例えばＮ＋０．３Ｎ＝２６個の染色体を評価値のよい順にソートして、上位Ｎ個の染色体を残す淘汰の処理が行われる。
【００５３】
続いてステップＳ１８で指定回数の処理が行われたか否かが判定され、まだ行われていない場合には主処理としてのステップＳ１０〜Ｓ１７の処理が次世代の染色体を対象として繰り返され、指定回数の処理が終了したと判定された時点でディリーパターンの作成処理が終了する。
【００５４】
図９のすべての処理が終了すると図示しない後処理が行われる。この後処理においては最終的に残った染色体のうちで最も評価値のよい染色体が取り出され、その内容のデコードが行われて１日に対応する複数のパイロットなどの乗務パターン、すなわちディリーパターンが作成される。
【００５５】
以上においてはパイロットなどの１日の乗務パターン、すなわちディリーパターンの作成処理について詳細に説明したが、このようなディリーパターンを１月分、それぞれの日に対して作成し、それらを組み合わせることによって、例えば１月分の乗務パターン、すなわちマンスリーパターンを作ることができる。そのマンスリーパターンの作成処理について以下に説明する。
【００５６】
図１６は、ディリーパターンからディリーパターンオブジェクト（出発時刻の早いものから並べられる）を作成する、ディリーパターンオブジェクトの生成の説明図である。同図において１ヶ月分のディリーパターン、すなわち例えば全てのパイロットの第１日〜第３０日のディリー乗務パターンを対象として、ディリーパターンオブジェクトが作られる。
【００５７】
本実施例では、このディリーパターンオブジェクトにそれぞれ固有の名称を与えるものとし、大文字のＡ，Ｂ，・・・をディリーパターンオブジェクトを表すために使用する。図１１で説明したように、例えばフライトオブジェクトａ，ｃ，ｄ，ｆおよびｙは、この順序で１つのディリー乗務パターンを構成し、ｂ，ｘがこの順序で１つの乗務パターンを形成するものとすれば、これらのディリーパターンにそれぞれディリーパターンオブジェクトＡ，Ｂの名称が与えられる。そして第１日〜第３０日のディリー乗務パターンオブジェクトが、その出発時刻、ここではフライトａ，ｂ，・・・の出発時刻の早いものから、順番に図５と同様に並べられる。
【００５８】
図１７はこのようにして並べられたディリーパターンオブジェクトに対してリンクが設定された結果を示している。このリンクの設定法は図７におけると同様であるが、リンク先のディリーパターンオブジェクトは、リンク元のディリーパターンオブジェクトと同一日、または翌日に開始されるものに限定される。例えばディリーパターンオブジェクトＡの最終到着空港と、翌日に開始されるディリーパターンオブジェクトＢの出発空港とが同じであり、かつ時刻的に次のような関係があれば、Ａの後にＢが続くリンク関係が設定される。
【００５９】
Ｂ内の最初のフライト出発時刻≧Ａ内の最後のフライト到着時刻＋インターバル
ここでインターバルは、ディリーパターンＢがＡと同日に開始されるか、あるいは翌日に開始されるかなどによって異なるが、例えば翌日に開始される場合には、当然パイロットにとって必要な十分な睡眠時間と休息時間を含むように設定される。なお次のディリーパターンが前のディリーパターンと同じ日に開始される可能性が残されており、このようにすることによって例えば機体運用の効率を向上させることができる。さらに、例えば第１日の最終フライトｙの到着空港と第２日の最初のフライトｂの出発空港が異なる場合には、第２日の朝に乗務員が客として他の便に搭乗し、ｂの出発空港に移動する便乗を組み合わせることになる。
【００６０】
以後のマンスリー乗務パターンの作成処理は、ディリーパターンの作成処理におるけフライトオブジェクトがディリーパターンオブジェクトに代わるのみで、ほぼ同様に実行される。図１８は染色体の構造の説明図である。染色体の遺伝子座には、図１７においてリストの最終位置のディリーパターン、例えばＸ，Ｙを除いて全てのディリーパターンが割り当てられる。
【００６１】
ここでは図１７において上にあるディリーパターンが左側から順番に遺伝子座に対応させられているが、図１４で説明したように後続の可能性があるディリーパターンが少ないものから順に左側から並べることも当然可能である。この染色体の構造に対応して、それぞれの遺伝子座に対応する遺伝子として、遺伝子座に対応するディリーパターンの後続となる可能性があるディリーパターンが選択される。
【００６２】
図１９は、このようにして選択された遺伝子が並べられた染色体のデコードによって得られる、マンスリー乗務パターンの説明図である。同図において、１ケ月分のディリーパターンの中からＡ−Ｂ−Ｘと組み合わせることにより、例えば３日に渡る１人のパイロットの乗務パターンが作成される。
【００６３】
以上のような処理を１ケ月分の各ディリーパターンについて実行することによって、ディリーパターンの連続としてのマンスリーパターンが作成される。なお後述するが、例えば１人のパイロットの連続乗務日数が４日を越えるような場合には、ディリーパターンの連続を４日で打ち切るような作業も実際的には必要である。
【００６４】
図２０はマンスリー乗務パターン作成処理における前処理のフローチャートである。同図をディリーパターン作成処理における図６と比較すると、ステップＳ１におけるダイヤデータ読み込みに対応する処理は存在せず、ステップＳ２１でディリーパターンオブジェクトが生成されて出発時刻の早いものから順に並べられ、ステップＳ２２でディリーパターンオブジェクトの間にリンク関係が設定され、ステップＳ２３で染色体の構造が生成されて、前処理を終了する。
【００６５】
図２１はマンスリーパターン作成の主処理のフローチャートである。同図をディリーパターン作成処理に対応する図９と比較すると、初期調整が行われるステップＳ１２に相当する処理がない点を除いて、基本的に図９におけると同様の処理が行われる。但しステップＳ３２の評価処理では、評価項目として各染色体に対応するマンスリーパターンの総数と、基地帰還違反数との２つが用いられる。ここで基地帰還違反とは、例えば東京と大阪だけをパイロットの勤務に好都合な場所という意味で基地とし、最終的にこの基地に帰還しないようなパターンの数を意味する。この２つの項目に対して、例えば総パターン数に対する重みを１００、基地帰還違反数に対する重みを３０とすることによって、評価値が計算される。
【００６６】
またステップＳ３５において違反が解消される制約条件に対しては、ディリーパターンオブジェクトの重複解消の他に、前述のようにパイロットの連続乗務日数が上限値、例えば４日を越えるような場合に、４日目の最後のディリーパターンに対応する遺伝子をｎｉｌ（無接続）として違反を解消したり、前述の基地帰還違反に対しては適当な位置でパターンを切断するような処理が実行される。
【００６７】
図２０、および図２１で説明した処理が、１ケ月分のディリー乗務パターンオブジェクトを対象として実行され、最も評価値のよい染色体がデコードされて、マンスリー乗務パターンが作成される。
【００６８】
最後に本発明の時系列パターン自動作成方法を用いて時系列パターンを作成するためのコンピュータシステムの構成について説明する。図２２はそのようなコンピュータシステムの構成と、プログラムのローディングの説明図である。同図においてコンピュータ１１は本体１４とメモリ１５とから構成されており、本体１４に対しては可搬型記憶媒体１２からプログラムなどをロードすることも、またプログラム提供者側からネットワーク１３を介してプログラムなどをローディングすることも可能である。
【００６９】
本発明の特許請求の範囲の請求項１０、および請求項１１に記載されているプログラムや、図９、図２１のフローチャートに示されているプログラムなどは例えば図２２におけるメモリ１５に格納され、そのプログラムは本体１４によって実行される。ここでメモリ１５としては、例えばランダムアクセスメモリ（ＲＡＭ）、またはハードディスクなどが使用される。
【００７０】
また時系列に並べられるべき要素を順序づけて、複数の時系列パターンを作成するためのプログラムなどが可搬型記憶媒体１２に記録され、コンピュータ１１にそのプログラムをローディングすることによって時系列パターンを自動的に作成することも可能である。この可搬型記憶媒体１２としてはメモリカード、フロッピーディスク、ＣＤ−ＲＯＭ（コンパクトディスクリードオンリーメモリ）、光ディスク、光磁気ディスクなど、市販され、流通可能な任意の記憶媒体を使用することができる。また時系列パターンの自動作成のためのプログラムなどがプログラム提供者側からネットワーク１３を介してコンピュータ１１側に送られ、そのプログラムがローディングされることによって、時系列パターンを自動的に作成することも可能である。
【００７１】
以上の説明では、パイロットの乗務パターンの作成について実施例を詳細に説明したが、本発明は飛行機に限らず、電車やバスどの乗務員の乗務パターンの作成に対しても適用可能なことは当然である。また染色体に対する評価値の計算においては、以上の説明と異なる様々な評価項目を用いることが可能であり、またその重みをいろいろな値に設定することができることも当然である。更に違反解消の対象となる制約条件についても、様々な条件を設定することが可能である。
【００７２】
また本発明のパターン自動作成方法は、このような乗務員の乗務パターンの作成のみに限定されることなく、時系列に要素が並べられる時系列パターンであれば、どのようなパターンの作成にも適用可能である。
【００７３】
【発明の効果】
以上詳細に説明したように、遺伝的アルゴリズムを適用することによって、コストと人員などに対する各種の評価項目、例えば乗務員勤務パターンの総数や、飛行機の機体の交換数などの評価項目に対応する評価をできるだけ良くすることによって、最適化された航空機乗務員の乗務パターンをディリーパターンとして作成し、更にこれらのディリー乗務パターンを遺伝的アルゴリズムを応用して組み合わせることにより、最適なマンスリー乗務パターンを作成することができ、乗務パターンの作成自動化に寄与するところが大きい。
【図面の簡単な説明】
【図１】本発明の原理を説明するための機能ブロック図（その１）である。
【図２】本発明の原理を説明するための機能ブロック図（その２）である。
【図３】１日のダイヤデータの例を示す図である。
【図４】それぞれのフライトのフライトデータの例を示す図である。
【図５】出発時刻の早いものから順に並べられたフライトオブジェクトの例を示す図である。
【図６】ディリーパターン作成の前処理のフローチャートである。
【図７】フライトオブジェクトに対するリンク設定の例を示す図である。
【図８】染色体の構造の例を示す図である。
【図９】ディリーパターン作成の主処理のフローチャートである。
【図１０】遺伝子の設定による染色体の生成を説明する図である。
【図１１】染色体からの乗務パターンのデコードを説明する図である。
【図１２】シップパターンに対応する機体データの例を示す図である。
【図１３】交叉の例を説明する図である。
【図１４】重複違反解消の例を示す図（その１）である。
【図１５】重複違反解消の例を示す図（その２）である。
【図１６】１ケ月分のディリーパターンからのディリーパターンオブジェクトの生成を説明する図である。
【図１７】ディリーパターンオブジェクトに対するリンク関係の設定を説明する図である。
【図１８】マンスリーパターン作成処理における染色体の構造を説明する図である。
【図１９】染色体のデコードによるマンスリーパターンの生成を説明する図である。
【図２０】マンスリーパターン作成の前処理のフローチャートである。
【図２１】マンスリーパターン作成の主処理のフローチャートである。
【図２２】時系列パターンを作成するためのコンピュータシステムの構成とプログラムのローディングを説明する図である。
【図１】
0003934213.tif 000002
【図２】
0003934213.tif 000003
【図３】
0003934213.tif 000004
【図４】
0003934213.tif 000005
【図５】
0003934213.tif 000006
【図６】
0003934213.tif 000007
【図７】
0003934213.tif 000008
【図８】
0003934213.tif 000009
【図９】
0003934213.tif 000010
【図１０】
0003934213.tif 000011
【図１１】
0003934213.tif 000012
【図１２】
0003934213.tif 000013
【図１３】
0003934213.tif 000014
【図１４】
0003934213.tif 000015
【図１５】
0003934213.tif 000016
【図１６】
0003934213.tif 000017
【図１７】
0003934213.tif 000018
【図１８】
0003934213.tif 000019
【図１９】
0003934213.tif 000020
【図２０】
0003934213.tif 000021
【図２１】
0003934213.tif 000022
【図２２】
0003934213.tif 000023