(57)【特許請求の範囲】
【請求項１】
複数の日を対象として勤務時間が予め定められた勤務を複数の勤務者に割り当てる勤務計画作成装置であって、
前記複数の勤務者のそれぞれについて、割り当て済の勤務を示す勤務情報を記憶装置により記憶するデータベースと、
前記複数の日のそれぞれを対象日とし、前記複数の勤務者のそれぞれについて、前記複数の日の初日から対象日までの勤務時間を累計した累計勤務時間の目標値を目標勤務時間として処理装置により設定する設定部と、
前記複数の日の初日から末日までを順番に対象日とし、対象日の勤務が未割り当てであれば、前記複数の勤務者のそれぞれについて、前記データベースに記憶された勤務情報から、対象日に勤務を割り当てた場合の対象日までの累計勤務時間を処理装置により算出し、算出した対象日までの累計勤務時間と前記設定部により設定された対象日までの目標勤務時間とを処理装置により比較し、その比較結果に基づいて、前記複数の勤務者から、対象日に勤務を割り当てる勤務者を処理装置により選択し、選択した勤務者について、対象日に割り当てた勤務を前記データベースに記憶された勤務情報に追加する選択部と
を備えることを特徴とする勤務計画作成装置。
【請求項２】
前記設定部は、前記複数の勤務者のそれぞれについて、前記複数の日の初日から対象日までの日数を変数とする関数を用いて対象日までの目標勤務時間を設定することを特徴とする請求項１の勤務計画作成装置。
【請求項３】
前記設定部は、前記関数として一次関数を用いることを特徴とする請求項２の勤務計画作成装置。
【請求項４】
前記データベースは、前記複数の勤務者のそれぞれについて、所定の属性を示す属性情報を記憶装置により記憶し、
前記設定部は、前記データベースに記憶された属性情報によって示される属性が共通する勤務者ごとに、前記関数として共通の関数を用いることを特徴とする請求項２又は３の勤務計画作成装置。
【請求項５】
前記複数の日のうち連続する２日以上の期間の勤務の組み合わせが勤務パターンとして予め定められ、
前記選択部は、対象日から始まる期間の勤務パターンが未割り当てであれば、その期間を対象期間とし、前記複数の勤務者のそれぞれについて、前記データベースに記憶された勤務情報から、対象日までの累計勤務時間の代わりに、対象期間に勤務パターンを割り当てた場合の対象期間が終わる日までの累計勤務時間を算出し、算出した対象期間が終わる日までの累計勤務時間と前記設定部により設定された対象期間が終わる日までの目標勤務時間とを比較し、その比較結果に基づいて、前記複数の勤務者から、対象期間に勤務パターンを割り当てる勤務者を選択し、選択した勤務者について、対象期間に割り当てた勤務パターンを前記データベースに記憶された勤務情報に追加することを特徴とする請求項１から４のいずれかの勤務計画作成装置。
【請求項６】
前記選択部は、前記複数の勤務者から、対象日に勤務を割り当てる勤務者として、算出した対象日までの累計勤務時間が前記設定部により設定された対象日までの目標勤務時間を超えない勤務者を選択することを特徴とする請求項１から５のいずれかの勤務計画作成装置。
【請求項７】
複数の日を対象として勤務時間が予め定められた勤務を複数の勤務者に割り当てるプログラムであって、
前記複数の勤務者のそれぞれについて、割り当て済の勤務を示す勤務情報を記憶装置により記憶するデータベースを備えるコンピュータを、
前記複数の日のそれぞれを対象日とし、前記複数の勤務者のそれぞれについて、前記複数の日の初日から対象日までの勤務時間を累計した累計勤務時間の目標値を目標勤務時間として処理装置により設定する設定部と、
前記複数の日の初日から末日までを順番に対象日とし、対象日の勤務が未割り当てであれば、前記複数の勤務者のそれぞれについて、前記データベースに記憶された勤務情報から、対象日に勤務を割り当てた場合の対象日までの累計勤務時間を処理装置により算出し、算出した対象日までの累計勤務時間と前記設定部により設定された対象日までの目標勤務時間とを処理装置により比較し、その比較結果に基づいて、前記複数の勤務者から、対象日に勤務を割り当てる勤務者を処理装置により選択し、選択した勤務者について、対象日に割り当てた勤務を前記データベースに記憶された勤務情報に追加する選択部
として機能させるためのプログラム。
【請求項８】
複数の日を対象として勤務を複数の勤務者に割り当てる勤務計画作成装置であって、
前記複数の勤務者のそれぞれについて、割り当て済の勤務を示す勤務情報を記憶装置により記憶するデータベースと、
前記複数の日のそれぞれを対象日とし、前記複数の勤務者のそれぞれについて、前記複数の日の初日から対象日までの所定の評価指標を累計した累計値の目標値を処理装置により設定する設定部と、
前記複数の日の初日から末日までを順番に対象日とし、対象日の勤務が未割り当てであれば、前記複数の勤務者のそれぞれについて、前記データベースに記憶された勤務情報から、対象日に勤務を割り当てた場合の対象日までの累計値を処理装置により算出し、算出した対象日までの累計値と前記設定部により設定された対象日までの目標値とを処理装置により比較し、その比較結果に基づいて、前記複数の勤務者から、対象日に勤務を割り当てる勤務者を処理装置により選択し、選択した勤務者について、対象日に割り当てた勤務を前記データベースに記憶された勤務情報に追加する選択部と
を備えることを特徴とする勤務計画作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、勤務計画作成装置及びプログラムに関するものである。
【背景技術】
【０００２】
従来、列車運行の乱れによって発生する乗務員運用計画の矛盾を解消するように、新たな乗務員運用整理案を作成する装置がある（例えば、特許文献１参照）。また、列車のダイヤに乱れが生じたときに、ダイヤの復旧に当たって、列車に充当する車両並びに運転士及び車掌の乗務員の運用変更を行う装置がある（例えば、特許文献２参照）。また、各運行列車等に各乗務員を割り付ける乗務員運用計画を作成する際に、作成作業の効率化を図るための装置がある（例えば、特許文献３参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−７９４４０号公報
【特許文献２】特開２００７−４５２１６号公報
【特許文献３】特開平７−７７９３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の装置では、複数の勤務者を対象にして勤務計画を作成する際に、一定の期間（例えば、月）内において、どのようなペースで各勤務者に勤務させるかを決めて、それに合わせた勤務の割り当て（例えば、勤務の平準化）を行うことが難しいという課題があった。
【０００５】
本発明は、例えば、複数の勤務者を対象にして勤務計画を作成する際に、一定の期間内において、どのようなペースで各勤務者に勤務させるかを任意に決めて、それに合わせた勤務の割り当てを容易かつ効率よく行うことを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一の態様に係る勤務計画作成装置は、
複数の日を対象として勤務時間が予め定められた勤務を複数の勤務者に割り当てる勤務計画作成装置であって、
前記複数の勤務者のそれぞれについて、割り当て済の勤務を示す勤務情報を記憶装置により記憶するデータベースと、
前記複数の日のそれぞれを対象日とし、前記複数の勤務者のそれぞれについて、前記複数の日の初日から対象日までの勤務時間を累計した累計勤務時間の目標値を目標勤務時間として処理装置により設定する設定部と、
前記複数の日の初日から末日までを順番に対象日とし、対象日の勤務が未割り当てであれば、前記複数の勤務者のそれぞれについて、前記データベースに記憶された勤務情報から、対象日に勤務を割り当てた場合の対象日までの累計勤務時間を処理装置により算出し、算出した対象日までの累計勤務時間と前記設定部により設定された対象日までの目標勤務時間とを処理装置により比較し、その比較結果に基づいて、前記複数の勤務者から、対象日に勤務を割り当てる勤務者を処理装置により選択し、選択した勤務者について、対象日に割り当てた勤務を前記データベースに記憶された勤務情報に追加する選択部とを備える。
【０００７】
本発明の一実施例において、
前記設定部は、前記複数の勤務者のそれぞれについて、前記複数の日の初日から対象日までの日数を変数とする関数を用いて対象日までの目標勤務時間を設定する。
【０００８】
本発明の一実施例において、
前記設定部は、前記関数として一次関数を用いる。
【０００９】
本発明の一実施例において、
前記データベースは、前記複数の勤務者のそれぞれについて、所定の属性を示す属性情報を記憶装置により記憶し、
前記設定部は、前記データベースに記憶された属性情報によって示される属性が共通する勤務者ごとに、前記関数として共通の関数を用いる。
【００１０】
本発明の一実施例において、
前記複数の日のうち連続する２日以上の期間の勤務の組み合わせが勤務パターンとして予め定められ、
前記選択部は、対象日から始まる期間の勤務パターンが未割り当てであれば、その期間を対象期間とし、前記複数の勤務者のそれぞれについて、前記データベースに記憶された勤務情報から、対象日までの累計勤務時間の代わりに、対象期間に勤務パターンを割り当てた場合の対象期間が終わる日までの累計勤務時間を算出し、算出した対象期間が終わる日までの累計勤務時間と前記設定部により設定された対象期間が終わる日までの目標勤務時間とを比較し、その比較結果に基づいて、前記複数の勤務者から、対象期間に勤務パターンを割り当てる勤務者を選択し、選択した勤務者について、対象期間に割り当てた勤務パターンを前記データベースに記憶された勤務情報に追加する。
【００１１】
本発明の一実施例において、
前記選択部は、前記複数の勤務者から、対象日に勤務を割り当てる勤務者として、算出した対象日までの累計勤務時間が前記設定部により設定された対象日までの目標勤務時間を超えない勤務者を選択する。
【００１２】
本発明の一の態様に係るプログラムは、
複数の日を対象として勤務時間が予め定められた勤務を複数の勤務者に割り当てるプログラムであって、
前記複数の勤務者のそれぞれについて、割り当て済の勤務を示す勤務情報を記憶装置により記憶するデータベースを備えるコンピュータを、
前記複数の日のそれぞれを対象日とし、前記複数の勤務者のそれぞれについて、前記複数の日の初日から対象日までの勤務時間を累計した累計勤務時間の目標値を目標勤務時間として処理装置により設定する設定部と、
前記複数の日の初日から末日までを順番に対象日とし、対象日の勤務が未割り当てであれば、前記複数の勤務者のそれぞれについて、前記データベースに記憶された勤務情報から、対象日に勤務を割り当てた場合の対象日までの累計勤務時間を処理装置により算出し、算出した対象日までの累計勤務時間と前記設定部により設定された対象日までの目標勤務時間とを処理装置により比較し、その比較結果に基づいて、前記複数の勤務者から、対象日に勤務を割り当てる勤務者を処理装置により選択し、選択した勤務者について、対象日に割り当てた勤務を前記データベースに記憶された勤務情報に追加する選択部として機能させる。
【００１３】
本発明の他の態様に係る勤務計画作成装置は、
複数の日を対象として勤務を複数の勤務者に割り当てる勤務計画作成装置であって、
前記複数の勤務者のそれぞれについて、割り当て済の勤務を示す勤務情報を記憶装置により記憶するデータベースと、
前記複数の日のそれぞれを対象日とし、前記複数の勤務者のそれぞれについて、前記複数の日の初日から対象日までの所定の評価指標を累計した累計値の目標値を処理装置により設定する設定部と、
前記複数の日の初日から末日までを順番に対象日とし、対象日の勤務が未割り当てであれば、前記複数の勤務者のそれぞれについて、前記データベースに記憶された勤務情報から、対象日に勤務を割り当てた場合の対象日までの累計値を処理装置により算出し、算出した対象日までの累計値と前記設定部により設定された対象日までの目標値とを処理装置により比較し、その比較結果に基づいて、前記複数の勤務者から、対象日に勤務を割り当てる勤務者を処理装置により選択し、選択した勤務者について、対象日に割り当てた勤務を前記データベースに記憶された勤務情報に追加する選択部とを備える。
【発明の効果】
【００１４】
本発明の一の態様によれば、複数の勤務者を対象にして勤務計画を作成する際に、一定の期間（即ち、複数の日）内において、どのようなペースで各勤務者に勤務させるか（即ち、目標勤務時間）を任意に決めて、それに合わせた勤務の割り当てを容易かつ効率よく行うことが可能となる。
【図面の簡単な説明】
【００１５】
【図１】実施の形態１に係る勤務計画作成装置の構成を示すブロック図。
【図２】実施の形態１に係る勤務計画作成装置のハードウェア構成の一例を示す図。
【図３】実施の形態１に係る勤務計画作成装置の動作を示すフローチャート。
【図４】実施の形態１における勤務者への勤務の割り当ての一例を示すグラフ。
【図５】実施の形態１における勤務者への勤務の割り当ての一例を示すグラフ。
【図６】実施の形態１における勤務者への勤務の割り当ての一例を示すグラフ。
【図７】実施の形態１における勤務情報の一例を示す図。
【図８】実施の形態１における勤務情報の一例を示す図。
【図９】実施の形態１における勤務者の勤務計画の一例を示す図。
【図１０】実施の形態１における勤務者の勤務計画の一例を示す図。
【図１１】実施の形態１における勤務者の勤務計画の一例を示す図。
【図１２】実施の形態１の変形例における勤務者への勤務の割り当ての一例を示すグラフ。
【図１３】実施の形態１の変形例における勤務者への勤務の割り当ての一例を示すグラフ。
【図１４】実施の形態２に係る勤務計画作成装置の構成を示すブロック図。
【図１５】実施の形態３における勤務者への勤務の割り当ての一例を示すグラフ。
【図１６】実施の形態３における勤務者への勤務の割り当ての一例を示すグラフ。
【図１７】実施の形態３における勤務者への勤務の割り当ての一例を示すグラフ。
【図１８】実施の形態３における勤務情報の一例を示す図。
【図１９】実施の形態３における勤務者の勤務計画の一例を示す図。
【図２０】実施の形態３における勤務者の勤務計画の一例を示す図。
【図２１】実施の形態３における勤務者の勤務計画の一例を示す図。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について、図を用いて説明する。
【００１７】
実施の形態１．
図１は、本実施の形態に係る勤務計画作成装置１００の構成を示すブロック図である。
【００１８】
図１において、勤務計画作成装置１００は、複数の日を対象として勤務時間が予め定められた勤務を複数の勤務者に割り当てる装置であり、データベース１０１、入力部１０２、設定部１０３、選択部１０４、出力部１０５を備える。本実施の形態では、勤務計画作成装置１００が（１つの）月（複数の日の一例）を対象として飛行時間（勤務時間の一例）が予め定められた航空機への乗務を勤務として複数のクルー（コクピットクルーあるいは運航乗務員のことであり、複数の勤務者の一例）に割り当てるものとする。ここで、乗務とは、１日における１便以上のフライトの組み合わせであり、望ましくは、クルーの主基地（クルーが通勤する空港のこと）を出発するフライトで始まり、主基地に到着するフライトで終わるものであるとする。例えば、空港Ａを出発して空港Ｂに到着するフライトと、空港Ｂを出発して空港Ａに到着するフライトとの組み合わせを、１つの乗務（勤務）として定義することができる。また、例えば、空港Ａを出発して空港Ｂに到着するフライトと、空港Ｂを出発して空港Ｃに到着するフライトと、空港Ｃを出発して空港Ａに到着するフライトとの組み合わせを、１つの乗務（勤務）として定義することができる。
【００１９】
なお、勤務計画作成装置１００が勤務の割り当て対象とする期間は、月に限らず、（１つの）週、複数の週、複数の月、（１つの）年、複数の年、あるいは、その他任意の複数の日であってよい。また、勤務計画作成装置１００が割り当てる勤務は、航空機への乗務に限らず、地上勤務も含むクルーの勤務全体であってもよいし、列車やバスといった航空機以外の移動体への乗務であってもよいし、移動体への乗務以外の勤務であってもよい。勤務計画作成装置１００が勤務の割り当て対象とする勤務者は、勤務計画作成装置１００がどのような勤務を割り当てるかによって異なる。例えば、勤務計画作成装置１００が移動体への乗務を割り当てるのであれば、その移動体の乗務員（例えば、運転手）が割り当て対象となる。また、本実施の形態のように、勤務計画作成装置１００が航空機への乗務を割り当てるのであっても、クルーに限らず、ＣＡ（キャビンアテンダントあるいは客室乗務員のことである）が割り当て対象となってもよい。
【００２０】
勤務計画作成装置１００は、処理装置１９１、記憶装置１９２、入力装置１９３、出力装置１９４等のハードウェアを備える。ハードウェアは勤務計画作成装置１００の各部によって利用される。例えば、処理装置１９１は、勤務計画作成装置１００の各部でデータや情報の演算、加工、読み取り、書き込み等を行うために利用される。記憶装置１９２は、そのデータや情報を記憶するために利用される。また、入力装置１９３は、そのデータや情報を入力するために、出力装置１９４は、そのデータや情報を出力するために利用される。
【００２１】
データベース１０１は、勤務情報１１１等を記憶装置１９２により記憶する。これらの情報の内容については後述する。また、入力部１０２、設定部１０３、選択部１０４、出力部１０５の動作については後述する。
【００２２】
図２は、勤務計画作成装置１００のハードウェア構成の一例を示す図である。
【００２３】
図２において、勤務計画作成装置１００は、コンピュータであり、ＬＣＤ９０１（Ｌｉｑｕｉｄ・Ｃｒｙｓｔａｌ・Ｄｉｓｐｌａｙ）、キーボード９０２（Ｋ／Ｂ）、マウス９０３、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・Ｄｒｉｖｅ）、ＣＤＤ９０５（Ｃｏｍｐａｃｔ・Ｄｉｓｃ・Ｄｒｉｖｅ）、プリンタ９０６といったハードウェアデバイスを備えている。これらのハードウェアデバイスはケーブルや信号線で接続されている。ＬＣＤ９０１の代わりに、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）、あるいは、その他の表示装置が用いられてもよい。マウス９０３の代わりに、タッチパネル、タッチパッド、トラックボール、ペンタブレット、あるいは、その他のポインティングデバイスが用いられてもよい。
【００２４】
勤務計画作成装置１００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ）を備えている。ＣＰＵ９１１は、処理装置１９１の一例である。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３（Ｒｅａｄ・Ｏｎｌｙ・Ｍｅｍｏｒｙ）、ＲＡＭ９１４（Ｒａｎｄｏｍ・Ａｃｃｅｓｓ・Ｍｅｍｏｒｙ）、通信ボード９１５、ＬＣＤ９０１、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５、プリンタ９０６、ＨＤＤ９２０（Ｈａｒｄ・Ｄｉｓｋ・Ｄｒｉｖｅ）と接続され、これらのハードウェアデバイスを制御する。ＨＤＤ９２０の代わりに、フラッシュメモリ、光ディスク装置、メモリカードリーダライタ、あるいは、その他の記録媒体が用いられてもよい。
【００２５】
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、ＨＤＤ９２０は、不揮発性メモリの一例である。これらは、記憶装置１９２の一例である。通信ボード９１５、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５は、入力装置１９３の一例である。また、通信ボード９１５、ＬＣＤ９０１、プリンタ９０６は、出力装置１９４の一例である。
【００２６】
通信ボード９１５は、ＬＡＮ（Ｌｏｃａｌ・Ａｒｅａ・Ｎｅｔｗｏｒｋ）等に接続されている。通信ボード９１５は、ＬＡＮに限らず、ＩＰ−ＶＰＮ（Ｉｎｔｅｒｎｅｔ・Ｐｒｏｔｏｃｏｌ・Ｖｉｒｔｕａｌ・Ｐｒｉｖａｔｅ・Ｎｅｔｗｏｒｋ）、広域ＬＡＮ、ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ・Ｔｒａｎｓｆｅｒ・Ｍｏｄｅ）ネットワークといったＷＡＮ（Ｗｉｄｅ・Ａｒｅａ・Ｎｅｔｗｏｒｋ）、あるいは、インターネットに接続されていても構わない。ＬＡＮ、ＷＡＮ、インターネットは、ネットワークの一例である。
【００２７】
ＨＤＤ９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。プログラム群９２３には、本実施の形態の説明において「〜部」として説明する機能を実行するプログラムが含まれている。プログラムは、ＣＰＵ９１１により読み出され実行される。ファイル群９２４には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ＩＤ（識別子）」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として含まれている。「〜ファイル」や「〜データベース」や「〜テーブル」は、ＲＡＭ９１４やＨＤＤ９２０等の記録媒体に記憶される。ＲＡＭ９１４やＨＤＤ９２０等の記録媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったＣＰＵ９１１の処理（動作）に用いられる。抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったＣＰＵ９１１の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００２８】
本実施の形態の説明において用いるブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示す。データや信号は、ＲＡＭ９１４等のメモリ、ＦＤＤ９０４のフレキシブルディスク（ＦＤ）、ＣＤＤ９０５のコンパクトディスク（ＣＤ）、ＨＤＤ９２０の磁気ディスク、光ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｃ）、あるいは、その他の記録媒体に記録される。また、データや信号は、バス９１２、信号線、ケーブル、あるいは、その他の伝送媒体により伝送される。
【００２９】
本実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。あるいは、「〜部」として説明するものは、ソフトウェアのみ、あるいは、素子、デバイス、基板、配線といったハードウェアのみで実現されていても構わない。あるいは、「〜部」として説明するものは、ソフトウェアとハードウェアとの組み合わせ、あるいは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、フレキシブルディスク、コンパクトディスク、磁気ディスク、光ディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」としてコンピュータを機能させるものである。あるいは、プログラムは、本実施の形態の説明で述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【００３０】
図３は、勤務計画作成装置１００の動作（本実施の形態に係る勤務計画作成方法、本実施の形態に係るプログラムの処理手順）を示すフローチャートである。
【００３１】
図３のステップＳ１０１において、設定部１０３は、ある月のそれぞれの日を対象日とし、ｎ人（ｎは２以上の整数）のクルーＣ１〜Ｃｎのそれぞれについて、月の初日から対象日までの日数を変数ｘとする一次関数ｙ＝ａｘ＋ｂ（ａは０より大きい実数、ｂは０以上の実数）を用いて対象日までの目標勤務時間Ｔを処理装置１９１により設定する。ここで、目標勤務時間Ｔは、月の初日から対象日までの飛行時間を累計した累計勤務時間Ｕの目標値である。例えば、設定部１０３は、月の初日を対象日としたとき、ｙ＝ａ＋ｂとなるため、ｎ人のクルーＣ１〜Ｃｎのそれぞれについて、対象日までの目標勤務時間Ｔを全て（ａ＋ｂ）時間に設定する。また、例えば、設定部１０３は、月の１５日を対象日としたとき、ｙ＝１５ａ＋ｂとなるため、ｎ人のクルーＣ１〜Ｃｎのそれぞれについて、対象日までの目標勤務時間Ｔを全て（１５ａ＋ｂ）時間に設定する。
【００３２】
なお、ステップＳ１０１において、設定部１０３は、クルーごとに異なる関数を用いてもよい。また、ステップＳ１０１において、設定部１０３は、月の初日から対象日までの日数を変数とする関数として、一次関数以外の関数（例えば、ステップ関数）を用いてもよい。また、設定部１０３は、月のそれぞれの日に対応付けて目標勤務時間を予め記憶装置１９２により記憶しておき、関数を用いる代わりに、対象日に対応する目標勤務時間を記憶装置１９２から読み出し、それを対象日までの目標勤務時間Ｔとして設定してもよい。また、設定部１０３は、月の全ての日を対象日とする代わりに、クルーごとに、月の稼働日のみを対象日として、対象日までの目標勤務時間Ｔを設定してもよい。この場合、後述するステップＳ１０２以降でも、クルーごとに、月の稼働日のみを対象日とする。具体的な例については、後述する。
【００３３】
図３のステップＳ１０２において、入力部１０２は、月内の任意の日を対象日とし、ｎ人のクルーＣ１〜Ｃｎから、対象日に勤務を割り当てるクルーを指定する操作を入力装置１９３によりユーザ等から受け付ける。そして、入力部１０２は、その操作によって指定されたクルーについて、対象日に割り当てられた勤務をデータベース１０１に記憶された勤務情報１１１に追加する。ここで、勤務情報１１１は、ｎ人のクルーＣ１〜Ｃｎのそれぞれについて、割り当て済の勤務を示す情報である。
【００３４】
なお、ステップＳ１０２では、ステップＳ１０１で設定部１０３により設定された対象日までの目標勤務時間Ｔを超えるような勤務の割り当ても許容する。
【００３５】
ステップＳ１０２において、対象日に２つ以上の勤務が計画されている場合、入力部１０２は、それらの勤務のうち、任意の勤務を対象とし、ｎ人のクルーＣ１〜Ｃｎから、対象日に、その対象とした勤務を割り当てるクルーを指定する操作をユーザ等から受け付ける。
【００３６】
ステップＳ１０２は、省略しても構わない。
【００３７】
図３のステップＳ１０３において、選択部１０４は、月の初日から末日までを順番に対象日とする。対象日の勤務（対象日に２つ以上の勤務が計画されている場合は少なくとも１つの勤務）が未割り当てであれば、ステップＳ１０４に進む。対象日の勤務が割り当て済であって、対象日が月の末日でなければ、対象日の次の日を対象日とする。対象日の勤務が割り当て済であって、対象日が月の末日であれば、ステップＳ１０７に進む。
【００３８】
図３のステップＳ１０４において、選択部１０４は、ｎ人のクルーＣ１〜Ｃｎのそれぞれについて、データベース１０１に記憶された勤務情報１１１から、対象日に（未割り当ての）勤務を割り当てた場合の対象日までの累計勤務時間Ｕを処理装置１９１により算出する。具体的には、選択部１０４は、ｎ人のクルーＣ１〜Ｃｎのそれぞれについて、対象日の勤務より前の勤務で、データベース１０１に記憶された勤務情報１１１が示す割り当て済の勤務の飛行時間を合計し、さらに、その結果に対象日の勤務の飛行時間を加算して、対象日までの累計勤務時間Ｕを求める。
【００３９】
なお、ステップＳ１０４において、選択部１０４は、所定の条件が満たされているクルーについては、累計勤務時間Ｕの算出を省略してもよい。即ち、勤務の割り当て対象に関して、任意の制限事項を加えてもよい。この場合、累計勤務時間Ｕの算出が省略された（制限事項に該当する）クルーは、対象日の勤務の割り当て対象外となる。ここで、上記の所定の条件としては、例えば、以下のようなものが挙げられる。
・対象日が休暇取得日として予め設定されている。
・勤務連続日数が所定の閾値以上である。
・対象日に別の勤務が割り当て済である。
・割り当てようとしている勤務が直前の勤務から一定時間（例えば、１４時間）空いていない。
・直前の勤務が特定の勤務Ａであって、割り当てようとしている勤務が直前の勤務Ａから一定時間（例えば、２０時間）空いていない。
・直前の勤務が特定の勤務Ａ、割り当てようとしている勤務が特定の勤務Ｂであって、割り当てようとしている勤務Ｂが直前の勤務Ａから一定時間（例えば、１０時間）空いていない。
・直前の勤務の場所と、割り当てようとしている勤務の場所とが同じでない。
【００４０】
図３のステップＳ１０５において、選択部１０４は、ｎ人のクルーＣ１〜Ｃｎのそれぞれについて、ステップＳ１０４で算出した対象日までの累計勤務時間ＵとステップＳ１０２で設定部１０３により設定された対象日までの目標勤務時間Ｔとを処理装置１９１により比較する。そして、選択部１０４は、ｎ人のクルーＣ１〜Ｃｎのそれぞれについて、対象日までの累計勤務時間Ｕが対象日までの目標勤務時間Ｔを超えるかどうかを処理装置１９１により判定する。
【００４１】
図３のステップＳ１０６において、選択部１０４は、ｎ人のクルーＣ１〜Ｃｎから、対象日に勤務を割り当てるクルーとして、ステップＳ１０５で対象日までの累計勤務時間Ｕが対象日までの目標勤務時間Ｔを超えないと判定したクルーを処理装置１９１により選択する。そして、選択部１０４は、選択したクルーについて、対象日に割り当てた勤務をデータベース１０１に記憶された勤務情報１１１に追加し、ステップＳ１０３に戻る。
【００４２】
なお、ステップＳ１０６において、対象日に２つ以上の勤務が計画されている場合、そのうちの１つを選択部１０４が勤務情報１１１に追加した後も、未割り当ての勤務が残っていれば、対象日が月の末日であるかどうかに関わらず、ステップＳ１０３に戻る。そして、同じ対象日の別の勤務を対象にステップＳ１０３〜Ｓ１０６が実行される。
【００４３】
ステップＳ１０６において、選択部１０４は、ステップＳ１０５で対象日までの累計勤務時間Ｕが対象日までの目標勤務時間Ｔを超えないと判定したクルーが２人以上いる場合、任意の方法を用いて、そのうちの１人を選択する。例えば、選択部１０４は、対象日までの累計勤務時間Ｕから、対象日までの目標勤務時間Ｔを減算した値（ここでは、０又は負の値となる）が最小となるクルーを選択する。これにより、月内における勤務の平準化が可能となる。該当する（上記値が最小となる）クルーが複数いる場合、選択部１０４は、さらに、他の基準に従って１人のクルーを選択する。あるいは、選択部１０４は、１人のクルーをランダムに選択する。あるいは、選択部１０４は、ユーザ等に１人のクルーを指定させる。この場合、まず、出力部１０５が、候補となる２人以上のクルーを出力装置１９４により一覧表示する。入力部１０２が、そのうちの１人を指定する操作を入力装置１９３によりユーザ等から受け付ける。そして、選択部１０４が、その操作によって指定されたクルーを選択する。
【００４４】
ステップＳ１０６において、選択部１０４は、ステップＳ１０５で対象日までの累計勤務時間Ｕが対象日までの目標勤務時間Ｔを超えないと判定したクルーが１人もいない場合も、任意の方法を用いて、１人のクルーを選択する。前述したように、例えば、選択部１０４は、対象日までの累計勤務時間Ｕから、対象日までの目標勤務時間Ｔを減算した値（ここでは、正の値となる）が最小となるクルーを選択する。これにより、月内における勤務の平準化が可能となる。該当する（上記値が最小となる）クルーが複数いる場合、選択部１０４は、さらに、他の基準に従って１人のクルーを選択する。あるいは、選択部１０４は、１人のクルーをランダムに選択する。あるいは、選択部１０４は、ユーザ等に１人のクルーを指定させる。
【００４５】
ステップＳ１０５及びＳ１０６において、選択部１０４は、対象日までの累計勤務時間Ｕが対象日までの目標勤務時間Ｔを超えないクルーを選択する代わりに、対象日までの累計勤務時間Ｕから、対象日までの目標勤務時間Ｔを減算した値が最小となるか又は所定の閾値以下となるクルーを選択してもよい。あるいは、選択部１０４は、別の基準に従ってクルーを選択してもよい。
【００４６】
図３のステップＳ１０７において、出力部１０５は、データベース１０１に記憶された勤務情報１１１を参照して、月内のｎ人のクルーＣ１〜Ｃｎの乗務スケジュール（勤務計画の一例）をカレンダー形式等で出力装置１９４により出力する。
【００４７】
なお、ステップＳ１０１〜１０７が実行される順序は、適宜変更して構わない。例えば、ステップＳ１０１がステップＳ１０２の後に実行されても構わない。あるいは、ステップＳ１０１がステップＳ１０３及びＳ１０５の間で実行されても構わない。この場合、ステップＳ１０１はステップＳ１０４と同様に対象日ごとに実行される。即ち、ステップＳ１０４で、選択部１０４が、ステップＳ１０３の対象日までの累計勤務時間Ｕを算出するのと同様に、ステップＳ１０１では、設定部１０３が、ステップＳ１０３の対象日までの目標勤務時間Ｔを設定する。
【００４８】
以下では、ステップＳ１０１〜１０７の動作の具体例について説明する。
【００４９】
この例では、勤務計画作成装置１００が２０１１年９月における３人のクルーＣ１〜Ｃ３の乗務スケジュールを作成する。２０１１年９月は、毎日、飛行時間が６時間の勤務Ｗ１と、飛行時間が４時間の勤務Ｗ２との２つが計画されているものとする。
【００５０】
また、この例では、ステップＳ１０１の関数ｙ＝４ｘが、３人のクルーＣ１〜Ｃ３に対して共通に設定されているものとする。
【００５１】
図４は、この例におけるクルーＣ１への勤務の割り当てを示すグラフである。図５は、この例におけるクルーＣ２への勤務の割り当てを示すグラフである。図６は、この例におけるクルーＣ３への勤務の割り当てを示すグラフである。
【００５２】
図４〜図６において、縦軸は飛行時間の累積値、横軸は２０１１年９月１日からの日数（ｘ）を示している。直線グラフ（ｙ＝４ｘ）は、２０１１年９月１日〜３０日における各クルーの目標勤務時間Ｔ（それぞれの日までの飛行時間の累積値の目標値）を表す。棒グラフは、２０１１年９月１日〜３０日のそれぞれにて各クルーに割り当て済の勤務を表す。棒グラフの上辺から下辺までの高さは、対応する日に割り当てられた勤務の飛行時間を表し、棒グラフの上辺の高さ（位置）は、対応する日までに割り当てられた勤務の飛行時間の累積値を表す。
【００５３】
ステップＳ１０１において、設定部１０３は、図４〜図６に示すように、関数ｙ＝４ｘを用いて２０１１年９月１日〜３０日におけるクルーＣ１〜Ｃ３の目標勤務時間Ｔを設定する。２０１１年９月１日までのクルーＣ１〜Ｃ３の目標勤務時間Ｔは４×１＝４時間、２０１１年９月２日までのクルーＣ１〜Ｃ３の目標勤務時間Ｔは４×２＝８時間、・・・、２０１１年９月３０日までのクルーＣ１〜Ｃ３の目標勤務時間Ｔは４×３０＝１２０時間となる。
【００５４】
図７及び図８は、この例における勤務情報１１１を示す図である。
【００５５】
図７及び図８において、勤務情報１１１は、クルー（クルーの識別子）、日付、勤務（勤務の識別子）、便（クルーが乗務する１つ以上の便に関する情報）、飛行時間（クルーが乗務する便の飛行時間の合計）等のデータを格納するテーブルとしてデータベース１０１に記憶されている。
【００５６】
ステップＳ１０２において、入力部１０２は、２０１１年９月１日に勤務Ｗ１を割り当てるクルーとして、例えばクルーＣ１を指定する操作をユーザから受け付ける。そして、入力部１０２は、図７の（１）に示すように、その操作によって指定されたクルーＣ１について、２０１１年９月１日に割り当てられた勤務Ｗ１をデータベース１０１に記憶された勤務情報１１１に追加する。
【００５７】
ステップＳ１０３において、選択部１０４は、２０１１年９月１日を対象日として、ステップＳ１０４に進む。
【００５８】
ステップＳ１０４において、選択部１０４は、データベース１０１に記憶された勤務情報１１１から、２０１１年９月１日に未割り当ての勤務Ｗ２を割り当てた場合の２０１１年９月１日までのクルーＣ１〜Ｃ３の累計勤務時間Ｕを算出する。このとき、２０１１年９月１日の勤務Ｗ１がクルーＣ１に割り当てられているため、選択部１０４は、２０１１年９月１日の勤務Ｗ１と勤務Ｗ２との両方が同じクルーに割り当て可能か（例えば、時間が重複していないか）を判定し、可能だと判定した場合のみ、２０１１年９月１日に勤務Ｗ２を割り当てた場合の２０１１年９月１日までのクルーＣ１の累計勤務時間Ｕを算出する。２０１１年９月１日に勤務Ｗ２を割り当てた場合の２０１１年９月１日までのクルーＣ１の累計勤務時間Ｕは、２０１１年９月１日の勤務Ｗ１の飛行時間と勤務Ｗ２の飛行時間との合計、即ち、６＋４＝１０時間となる。一方、２０１１年９月１日に勤務Ｗ２を割り当てた場合の２０１１年９月１日までのクルーＣ２，Ｃ３の累計勤務時間Ｕは、２０１１年９月１日の勤務Ｗ２の飛行時間、即ち、４時間となる。なお、選択部１０４は、対象日の別の勤務が既に割り当てられているクルーについては、無条件に勤務を割り当てない、即ち、対象日までの累計勤務時間Ｕを算出しないこととしてもよい。
【００５９】
ステップＳ１０５において、選択部１０４は、クルーＣ１〜Ｃ３のそれぞれについて、ステップＳ１０４で算出した２０１１年９月１日までの累計勤務時間ＵとステップＳ１０２で設定部１０３により設定された２０１１年９月１日までの目標勤務時間Ｔとを比較する。２０１１年９月１日に勤務Ｗ２を割り当てた場合の２０１１年９月１日までのクルーＣ１の累計勤務時間Ｕは１０時間であり、２０１１年９月１日までのクルーＣ１の目標勤務時間Ｔである４時間より長い。一方、２０１１年９月１日に勤務Ｗ２を割り当てた場合の２０１１年９月１日までのクルーＣ２，Ｃ３の累計勤務時間Ｕは４時間であり、２０１１年９月１日までのクルーＣ２，Ｃ３の目標勤務時間Ｔである４時間より短い。
【００６０】
ステップＳ１０６において、出力部１０５は、２０１１年９月１日までの累計勤務時間Ｕが２０１１年９月１日までの目標勤務時間Ｔを超えていないクルーＣ２，Ｃ３を画面上で一覧表示する。入力部１０２は、例えばクルーＣ２を指定する操作をユーザから受け付ける。選択部１０４は、その操作によって指定されたクルーＣ２を、２０１１年９月１日に勤務Ｗ２を割り当てるクルーとして選択する。選択部１０４は、図７の（２）に示すように、選択したクルーＣ２について、２０１１年９月１日に割り当てた勤務Ｗ２をデータベース１０１に記憶された勤務情報１１１に追加する。そして、ステップＳ１０３に戻る。なお、このステップＳ１０６では、例えば、選択部１０４が、クルーＣ２，Ｃ３のいずれかをランダムに選択してもよい。
【００６１】
ステップＳ１０３において、選択部１０４は、２０１１年９月１日の勤務Ｗ１，Ｗ２の全てが割り当て済であるため、２０１１年９月２日を対象日として、ステップＳ１０４に進む。
【００６２】
ステップＳ１０４において、選択部１０４は、データベース１０１に記憶された勤務情報１１１から、２０１１年９月２日に勤務Ｗ１を割り当てた場合の２０１１年９月２日までのクルーＣ１〜Ｃ３の累計勤務時間Ｕを算出する。２０１１年９月１日の勤務Ｗ１がクルーＣ１に割り当てられているため、２０１１年９月２日に勤務Ｗ１を割り当てた場合の２０１１年９月２日までのクルーＣ１の累計勤務時間Ｕは、６＋６＝１２時間となる。２０１１年９月１日の勤務Ｗ２がクルーＣ２に割り当てられているため、２０１１年９月２日に勤務Ｗ１を割り当てた場合の２０１１年９月２日までのクルーＣ２の累計勤務時間Ｕは、４＋６＝１０時間となる。２０１１年９月２日に勤務Ｗ１を割り当てた場合の２０１１年９月２日までのクルーＣ３の累計勤務時間Ｕは、６時間となる。
【００６３】
ステップＳ１０５において、選択部１０４は、クルーＣ１〜Ｃ３のそれぞれについて、ステップＳ１０４で算出した２０１１年９月２日までの累計勤務時間ＵとステップＳ１０２で設定部１０３により設定された２０１１年９月２日までの目標勤務時間Ｔとを比較する。２０１１年９月２日に勤務Ｗ１を割り当てた場合の２０１１年９月２日までのクルーＣ１の累計勤務時間Ｕは１２時間であり、２０１１年９月２日までのクルーＣ１の目標勤務時間Ｔである８時間より長い。２０１１年９月２日に勤務Ｗ１を割り当てた場合の２０１１年９月２日までのクルーＣ２の累計勤務時間Ｕは１０時間であり、２０１１年９月２日までのクルーＣ２の目標勤務時間Ｔである８時間より長い。２０１１年９月２日に勤務Ｗ１を割り当てた場合の２０１１年９月２日までのクルーＣ３の累計勤務時間Ｕは６時間であり、２０１１年９月２日までのクルーＣ３の目標勤務時間Ｔである８時間より短い。
【００６４】
ステップＳ１０６において、選択部１０４は、２０１１年９月２日までの累計勤務時間Ｕが２０１１年９月２日までの目標勤務時間Ｔを超えていないクルーＣ３を選択する。選択部１０４は、図７の（３）に示すように、選択したクルーＣ３について、２０１１年９月２日に割り当てた勤務Ｗ１をデータベース１０１に記憶された勤務情報１１１に追加する。そして、ステップＳ１０３に戻る。
【００６５】
ステップＳ１０３において、選択部１０４は、２０１１年９月２日の勤務Ｗ２が割り当てられていないため、引き続き２０１１年９月２日を対象日として、ステップＳ１０４に進む。
【００６６】
ステップＳ１０４において、選択部１０４は、データベース１０１に記憶された勤務情報１１１から、２０１１年９月２日に勤務Ｗ２を割り当てた場合の２０１１年９月２日までのクルーＣ１〜Ｃ３の累計勤務時間Ｕを算出する。２０１１年９月１日の勤務Ｗ１がクルーＣ１に割り当てられているため、２０１１年９月２日に勤務Ｗ２を割り当てた場合の２０１１年９月２日までのクルーＣ１の累計勤務時間Ｕは、６＋４＝１０時間となる。２０１１年９月１日の勤務Ｗ２がクルーＣ２に割り当てられているため、２０１１年９月２日に勤務Ｗ２を割り当てた場合の２０１１年９月２日までのクルーＣ２の累計勤務時間Ｕは、４＋４＝８時間となる。２０１１年９月２日の勤務Ｗ１がクルーＣ３に割り当てられているため、２０１１年９月２日に勤務Ｗ２を割り当てた場合の２０１１年９月２日までのクルーＣ３の累計勤務時間Ｕは、６＋４＝１０時間となる。
【００６７】
ステップＳ１０５において、選択部１０４は、クルーＣ１〜Ｃ３のそれぞれについて、ステップＳ１０４で算出した２０１１年９月２日までの累計勤務時間ＵとステップＳ１０２で設定部１０３により設定された２０１１年９月２日までの目標勤務時間Ｔとを比較する。２０１１年９月２日に勤務Ｗ２を割り当てた場合の２０１１年９月２日までのクルーＣ１，Ｃ３の累計勤務時間Ｕは１０時間であり、２０１１年９月２日までのクルーＣ１，Ｃ３の目標勤務時間Ｔである８時間より長い。２０１１年９月２日に勤務Ｗ２を割り当てた場合の２０１１年９月２日までのクルーＣ２の累計勤務時間Ｕは８時間であり、２０１１年９月２日までのクルーＣ２の目標勤務時間Ｔである８時間と同じである。
【００６８】
ステップＳ１０６において、選択部１０４は、２０１１年９月２日までの累計勤務時間Ｕが２０１１年９月２日までの目標勤務時間Ｔを超えていないクルーＣ２を選択する。選択部１０４は、図７の（４）に示すように、選択したクルーＣ２について、２０１１年９月２日に割り当てた勤務Ｗ２をデータベース１０１に記憶された勤務情報１１１に追加する。そして、ステップＳ１０３に戻る。
【００６９】
ステップＳ１０３において、選択部１０４は、２０１１年９月２日の勤務Ｗ１，Ｗ２の全てが割り当て済であるため、２０１１年９月３日を対象日として、ステップＳ１０４に進む。
【００７０】
ステップＳ１０４において、選択部１０４は、データベース１０１に記憶された勤務情報１１１から、２０１１年９月３日に勤務Ｗ１を割り当てた場合の２０１１年９月３日までのクルーＣ１〜Ｃ３の累計勤務時間Ｕを算出する。２０１１年９月３日に勤務Ｗ１を割り当てた場合の２０１１年９月３日までのクルーＣ１の累計勤務時間Ｕは、６＋６＝１２時間となる。２０１１年９月３日に勤務Ｗ１を割り当てた場合の２０１１年９月３日までのクルーＣ２の累計勤務時間Ｕは、４＋４＋６＝１４時間となる。２０１１年９月３日に勤務Ｗ１を割り当てた場合の２０１１年９月３日までのクルーＣ３の累計勤務時間Ｕは、６＋６＝１２時間となる。
【００７１】
ステップＳ１０５において、選択部１０４は、クルーＣ１〜Ｃ３のそれぞれについて、ステップＳ１０４で算出した２０１１年９月３日までの累計勤務時間ＵとステップＳ１０２で設定部１０３により設定された２０１１年９月３日までの目標勤務時間Ｔとを比較する。２０１１年９月３日に勤務Ｗ１を割り当てた場合の２０１１年９月３日までのクルーＣ１，Ｃ３の累計勤務時間Ｕは１２時間であり、２０１１年９月３日までのクルーＣ１，Ｃ３の目標勤務時間Ｔである１２時間と同じである。２０１１年９月３日に勤務Ｗ１を割り当てた場合の２０１１年９月３日までのクルーＣ２の累計勤務時間Ｕは１４時間であり、２０１１年９月３日までのクルーＣ２の目標勤務時間Ｔである１２時間より長い。
【００７２】
ステップＳ１０６において、出力部１０５は、２０１１年９月３日までの累計勤務時間Ｕが２０１１年９月３日までの目標勤務時間Ｔを超えていないクルーＣ１，Ｃ３を画面上で一覧表示する。入力部１０２は、例えばクルーＣ１を指定する操作をユーザから受け付ける。選択部１０４は、その操作によって指定されたクルーＣ１を、２０１１年９月３日に勤務Ｗ１を割り当てるクルーとして選択する。選択部１０４は、図８の（５）に示すように、選択したクルーＣ１について、２０１１年９月３日に割り当てた勤務Ｗ１をデータベース１０１に記憶された勤務情報１１１に追加する。そして、ステップＳ１０３に戻る。なお、このステップＳ１０６では、例えば、選択部１０４が、クルーＣ１，Ｃ３のいずれかをランダムに選択してもよい。
【００７３】
ステップＳ１０３において、選択部１０４は、２０１１年９月３日の勤務Ｗ２が割り当てられていないため、引き続き２０１１年９月３日を対象日として、ステップＳ１０４に進む。
【００７４】
ステップＳ１０４において、選択部１０４は、データベース１０１に記憶された勤務情報１１１から、２０１１年９月３日に勤務Ｗ２を割り当てた場合の２０１１年９月３日までのクルーＣ１〜Ｃ３の累計勤務時間Ｕを算出する。２０１１年９月３日に勤務Ｗ２を割り当てた場合の２０１１年９月３日までのクルーＣ１の累計勤務時間Ｕは、６＋６＋４＝１４時間となる。２０１１年９月３日に勤務Ｗ２を割り当てた場合の２０１１年９月３日までのクルーＣ２の累計勤務時間Ｕは、４＋４＋４＝１２時間となる。２０１１年９月３日に勤務Ｗ２を割り当てた場合の２０１１年９月３日までのクルーＣ３の累計勤務時間Ｕは、６＋４＝１０時間となる。
【００７５】
ステップＳ１０５において、選択部１０４は、クルーＣ１〜Ｃ３のそれぞれについて、ステップＳ１０４で算出した２０１１年９月３日までの累計勤務時間ＵとステップＳ１０２で設定部１０３により設定された２０１１年９月３日までの目標勤務時間Ｔとを比較する。２０１１年９月３日に勤務Ｗ２を割り当てた場合の２０１１年９月３日までのクルーＣ１の累計勤務時間Ｕは１４時間であり、２０１１年９月３日までのクルーＣ１の目標勤務時間Ｔである１２時間より長い。２０１１年９月３日に勤務Ｗ２を割り当てた場合の２０１１年９月３日までのクルーＣ２の累計勤務時間Ｕは１２時間であり、２０１１年９月３日までのクルーＣ２の目標勤務時間Ｔである１２時間と同じである。２０１１年９月３日に勤務Ｗ２を割り当てた場合の２０１１年９月３日までのクルーＣ３の累計勤務時間Ｕは１０時間であり、２０１１年９月３日までのクルーＣ３の目標勤務時間Ｔである１２時間より短い。
【００７６】
ステップＳ１０６において、選択部１０４は、２０１１年９月３日までの累計勤務時間Ｕから、２０１１年９月３日までの目標勤務時間Ｔを減算した値（ここでは、−２時間）が最小となるクルーＣ３を選択する。選択部１０４は、図８の（６）に示すように、選択したクルーＣ３について、２０１１年９月３日に割り当てた勤務Ｗ２をデータベース１０１に記憶された勤務情報１１１に追加する。そして、ステップＳ１０３に戻る。なお、このステップＳ１０６では、例えば、選択部１０４が、クルーＣ２，Ｃ３のいずれかをランダムに選択したり、ユーザ等に指定させたりしてもよい。
【００７７】
これ以降、同様に、ステップＳ１０３〜Ｓ１０６が繰り返し実行され、図４〜図６に示すように、２０１１年９月４日〜３０日のそれぞれの勤務Ｗ１，Ｗ２がクルーＣ１〜Ｃ３に割り当てられる。そして、その結果がデータベース１０１に記憶された勤務情報１１１に反映される。
【００７８】
図９は、この例におけるクルーＣ１の乗務スケジュールを示す図である。図１０は、この例におけるクルーＣ２の乗務スケジュールを示す図である。図１１は、この例におけるクルーＣ３の乗務スケジュールを示す図である。
【００７９】
ステップＳ１０７において、出力部１０５は、図９〜図１１に示すように、データベース１０１に記憶された勤務情報１１１を参照して、２０１１年９月のクルーＣ１〜Ｃ３の乗務スケジュールをカレンダー形式で出力する。
【００８０】
なお、この例と同一の条件下において、図９〜図１１に示した乗務スケジュールと異なる勤務の割り当て方も可能である。即ち、図９〜図１１に示したものとは別の乗務スケジュールを作成することもできる。また、この例では、毎日、飛行時間が６時間の勤務Ｗ１と、飛行時間が４時間の勤務Ｗ２との２つが計画されているものとしたが、計画されている勤務の数や飛行時間が日ごとに異なっていても、本実施の形態を適用することができる。
【００８１】
上記のように、ステップＳ１０１において、設定部１０３は、複数の日のそれぞれを対象日とし、複数の勤務者のそれぞれについて、複数の日の初日から対象日までの勤務時間を累計した累計勤務時間の目標値を目標勤務時間として設定する。これにより、一定の期間内において、どのようなペースで各勤務者に勤務させるかを任意に決めることができる。本実施の形態では、設定部１０３が、複数の勤務者のそれぞれについて、複数の日の初日から対象日までの日数を変数とする関数を用いて対象日までの目標勤務時間を設定するため、一定の期間内において、確実かつ容易に勤務を平準化することができる。
【００８２】
また、ステップＳ１０３〜Ｓ１０６において、選択部１０４は、複数の日の初日から末日までを順番に対象日とする。対象日の勤務が未割り当てであれば、選択部１０４は、複数の勤務者のそれぞれについて、データベース１０１に記憶された勤務情報１１１から、対象日に勤務を割り当てた場合の対象日までの累計勤務時間を算出する。選択部１０４は、算出した対象日までの累計勤務時間と設定部１０３により設定された対象日までの目標勤務時間とを比較する。選択部１０４は、その比較結果に基づいて、複数の勤務者から、対象日に勤務を割り当てる勤務者を選択する。そして、選択部１０４は、選択した勤務者について、対象日に割り当てた勤務をデータベース１０１に記憶された勤務情報１１１に追加する。これにより、各勤務者に勤務させるペース（設定部１０３で任意に決めたもの）に合わせた勤務の割り当てを容易かつ効率よく行うことが可能となる。
【００８３】
ここで、前述したステップＳ１０１〜１０７の動作の具体例において、月の全ての日を対象日とする代わりに、クルーごとに、月の稼働日のみを対象日とする変形例について説明する。なお、前述した例と重複する点については、説明を省略する場合がある。
【００８４】
この例では、クルーＣ１に対して、ステップＳ１０１の関数ｙ＝５ｘ＋２が設定されているものとする。クルーＣ２，Ｃ３に関しては説明を省略する。
【００８５】
図１２及び図１３は、この例におけるクルーＣ１への勤務の割り当てを示すグラフである。
【００８６】
図１２において、縦軸は飛行時間の累積値、横軸は２０１１年９月におけるクルーＣ１の最初の稼働日からの稼働日の日数（ｘ）を示している。直線グラフ（ｙ＝５ｘ＋２）は、２０１１年９月のクルーＣ１の稼働日におけるクルーＣ１の目標勤務時間Ｔ（それぞれの日までの飛行時間の累積値の目標値）を表す。棒グラフは、２０１１年９月におけるクルーＣ１のそれぞれの稼働日にてクルーＣ１に割り当て済の勤務を表す。図１３は、図１２の稼働日を暦日に展開したものである。つまり、図１３において、縦軸は飛行時間の累積値、横軸は２０１１年９月１日からの暦日の日数を示している。折れ線グラフは、２０１１年９月１日〜３０日におけるクルーＣ１の目標勤務時間Ｔ（それぞれの日までの飛行時間の累積値の目標値）を表す。棒グラフは、２０１１年９月１日〜３０日のそれぞれにてクルーＣ１に割り当て済の勤務を表す。
【００８７】
ステップＳ１０１において、設定部１０３は、図１２に示すように、関数ｙ＝５ｘ＋２を用いて２０１１年９月の稼働日におけるクルーＣ１の目標勤務時間Ｔを設定する。言い換えれば、設定部１０３は、図１３に示すように、２０１１年９月のカレンダーから非稼働日を削除し、残った稼働日を暦日の昇順に並べ、初日を第１日、最終日を第ｍ日とするとき、ａ×ｍ＋ｂが予め定められたクルーＣ１の月内合計勤務時間の目標値となるようにａ，ｂを定め、第１日の目標勤務時間Ｔをａ×１＋ｂとし、非稼働日までの目標勤務時間Ｔを直前の稼働日までの目標勤務時間Ｔと等しくし、非稼働日が先行する稼働日を持たない場合は目標勤務時間Ｔを０時間とする関数を用いて、２０１１年９月１日〜３０日におけるクルーＣ１の目標勤務時間Ｔを設定する。２０１１年９月１日（稼働日）までのクルーＣ１の目標勤務時間Ｔは５×１＋２＝７時間、２０１１年９月２日（非稼働日）までのクルーＣ１の目標勤務時間Ｔは７時間、・・・、２０１１年９月３０日（稼働日）までのクルーＣ１の目標勤務時間Ｔは５×３０＋２＝１０２時間となる。なお、説明は省略するが、設定部１０３は、同様に、２０１１年９月の稼働日におけるクルーＣ２，Ｃ３の目標勤務時間Ｔを設定する。
【００８８】
ステップＳ１０２において、入力部１０２は、２０１１年９月１日に勤務Ｗ１を割り当てるクルーとして、例えばクルーＣ１を指定する操作をユーザから受け付ける。そして、入力部１０２は、その操作によって指定されたクルーＣ１について、２０１１年９月１日に割り当てられた勤務Ｗ１をデータベース１０１に記憶された勤務情報１１１に追加する。
【００８９】
ステップＳ１０３〜Ｓ１０６において、選択部１０４は、２０１１年９月１日〜３０日を順番に対象日とする。対象日の勤務が未割り当てであれば、選択部１０４は、クルーＣ１〜Ｃ３のうち、対象日が稼働日となっているクルーについて、データベース１０１に記憶された勤務情報１１１から、対象日に勤務を割り当てた場合の対象日までの累計勤務時間Ｕを算出する。選択部１０４は、算出した対象日までの累計勤務時間Ｕと設定部１０３により設定された対象日までの目標勤務時間Ｔとを比較する。選択部１０４は、その比較結果に基づいて、対象日が稼働日となっているクルーから、対象日に勤務を割り当てるクルーを選択する。そして、選択部１０４は、選択したクルーについて、対象日に割り当てた勤務をデータベース１０１に記憶された勤務情報１１１に追加する。これにより、図１２及び図１３に示すように、２０１１年９月におけるクルーＣ１のそれぞれの稼働日に勤務Ｗ１又はＷ２がクルーＣ１に割り当てられる。クルーＣ２，Ｃ３についても同様である。
【００９０】
ステップＳ１０７において、出力部１０５は、データベース１０１に記憶された勤務情報１１１を参照して、２０１１年９月のクルーＣ１〜Ｃ３の乗務スケジュールをカレンダー形式で出力する。
【００９１】
この例によれば、稼働日に着目したクルーの月内の勤務負荷の平準化、クルー間の勤務負荷の平準化を達成できる。ここで、前月の月内合計勤務時間が長いクルーについては、当月の月内合計勤務時間の目標値を小さくする等により、月間の勤務負荷の平準化を図ることもできる。また、月内合計勤務時間の目標値は、例えば、「所定の標準値」（クルー又はクルーの種別ごとに異なっていてもよいし、月ごとに異なっていてもよい）×２−「前月の月内合計勤務時間」＝「当月の月内合計勤務時間の目標値」といった形で定めることができる。
【００９２】
実施の形態２．
本実施の形態について、主に実施の形態１との差異を説明する。
【００９３】
図１４は、本実施の形態に係る勤務計画作成装置１００の構成を示すブロック図である。
【００９４】
図１４において、勤務計画作成装置１００の構成は、図１に示した実施の形態１のものと同様であるが、本実施の形態では、データベース１０１が、勤務情報１１１のほか、属性情報１１２を記憶装置１９２により記憶する。属性情報１１２は、ｎ人のクルーＣ１〜Ｃｎのそれぞれについて、クルーの種別（所定の属性の一例）を示す情報である。クルーの種別には、一般、シニア、飛行時間制限者がある。シニアは、月内で乗務できる時間（即ち、月間の飛行時間の目標値）が一律に制限されている。飛行時間制限者は、月内で乗務できる時間が個別に制限されている。
【００９５】
以下、図３を用いて、勤務計画作成装置１００の動作について説明する。
【００９６】
図３のステップＳ１０１において、設定部１０３は、データベース１０１に記憶された属性情報１１２によって示されるクルーの種別が共通するクルーごとに、共通の関数を用いて目標勤務時間Ｔを設定する。具体的には、設定部１０３は、データベース１０１に記憶された属性情報１１２を参照し、ｎ人のクルーＣ１〜Ｃｎのそれぞれが一般、シニア、飛行時間制限者のいずれに該当するかを判定する。そして、設定部１０３は、月内のそれぞれの日を対象日とし、一般のクルーについて、月の初日から対象日までの日数を変数ｘとする一次関数ｙ＝ａ１ｘ＋ｂ１（ａ１は０より大きい実数、ｂ１は０以上の実数）を用いて対象日までの目標勤務時間Ｔを処理装置１９１により設定する。また、設定部１０３は、月内のそれぞれの日を対象日とし、シニアのクルーについて、月の初日から対象日までの日数を変数ｘとするシニアのクルー用の一次関数ｙ＝ａ２ｘ＋ｂ２（ａ２は０より大きい実数、ｂ２は０以上の実数）を用いて対象日までの目標勤務時間Ｔを処理装置１９１により設定する。このとき、例えば、ａ１＞ａ２とする。また、設定部１０３は、月内のそれぞれの日を対象日とし、飛行時間制限者について、月の初日から対象日までの日数を変数ｘとする飛行時間制限者ごとの一次関数ｙ＝ａ３ｘ＋ｂ３（ａ３は０より大きい実数、ｂ３は０以上の実数）を用いて対象日までの目標勤務時間Ｔを処理装置１９１により設定する。このとき、ａ３、ｂ３は、飛行時間制限者ごとに個別に設定される。
【００９７】
図３のステップＳ１０２以降の動作については、実施の形態１のものと同様である。
【００９８】
なお、本実施の形態において、属性情報１１２が、クルーの種別以外の属性を示す情報であってもよい。この場合も、設定部１０３は、データベース１０１に記憶された属性情報によって示される属性が共通するクルーごとに、共通の関数を用いて目標勤務時間Ｔを設定する。
【００９９】
本実施の形態によれば、一定の期間内において、勤務者の属性に応じたペースで各勤務者に勤務させるような勤務計画を容易かつ効率よく作成することが可能となる。
【０１００】
実施の形態３．
本実施の形態について、主に実施の形態１との差異を説明する。
【０１０１】
本実施の形態では、月内の連続する２日以上の期間の勤務の組み合わせが勤務パターンとして予め定められている。例えば、空港Ａを出発して空港Ｂに到着するフライトを１日目の勤務とし、空港Ｂを出発して空港Ａに到着するフライトを２日目の勤務とし、これら２日間の勤務の組み合わせを、１つの勤務パターンとして定義することができる。また、例えば、空港Ａを出発して空港Ｂに到着するフライトを１日目の勤務とし、フライトはないが、空港Ｂの近辺に滞在することを２日目の勤務とし、空港Ｂを出発して空港Ａに到着するフライトを３日目の勤務とし、これら３日間の勤務の組み合わせを、１つの勤務パターンとして定義することができる。なお、１日単位で割り当てられる勤務を、１つの勤務パターン（１日のみの勤務パターン）として定義してもよい。
【０１０２】
本実施の形態に係る勤務計画作成装置１００の構成は、図１に示した実施の形態１のものと同様である。
【０１０３】
以下、図３を用いて、勤務計画作成装置１００の動作について説明する。
【０１０４】
図３のステップＳ１０１及びＳ１０２の動作については、実施の形態１のものと同様である。
【０１０５】
図３のステップＳ１０４において、選択部１０４は、対象日から始まる期間の勤務パターンが未割り当てであれば、その期間を対象期間とする。選択部１０４は、ｎ人のクルーＣ１〜Ｃｎのそれぞれについて、データベース１０１に記憶された勤務情報１１１から、対象期間に（未割り当ての）勤務パターンを割り当てた場合の対象期間が終わる日までの累計勤務時間Ｕを処理装置１９１により算出する。具体的には、選択部１０４は、ｎ人のクルーＣ１〜Ｃｎのそれぞれについて、対象期間の勤務パターンより前の勤務（勤務パターンの一部であるものを含む）で、データベース１０１に記憶された勤務情報１１１が示す割り当て済の勤務の飛行時間を合計し、さらに、その結果に対象期間の勤務パターンの飛行時間を加算して、対象期間が終わる日までの累計勤務時間Ｕを求める。
【０１０６】
図３のステップＳ１０５において、選択部１０４は、ｎ人のクルーＣ１〜Ｃｎのそれぞれについて、ステップＳ１０４で算出した対象期間が終わる日までの累計勤務時間ＵとステップＳ１０２で設定部１０３により設定された対象期間が終わる日までの目標勤務時間Ｔとを処理装置１９１により比較する。そして、選択部１０４は、ｎ人のクルーＣ１〜Ｃｎのそれぞれについて、対象期間が終わる日までの累計勤務時間Ｕが、対象期間が終わる日までの目標勤務時間Ｔを超えるかどうかを処理装置１９１により判定する。
【０１０７】
なお、ステップＳ１０５において、対象期間が２つの月をまたがる可能性がある。即ち、対象期間が終わる日が次の月の日である場合がある。そのため、ステップＳ１０２において、設定部１０３は、必要に応じて次の月の初日から数日間を対象に、ｎ人のクルーＣ１〜Ｃｎの目標勤務時間Ｔを設定しておくものとする。
【０１０８】
図３のステップＳ１０６において、選択部１０４は、ｎ人のクルーＣ１〜Ｃｎから、対象期間に勤務パターンを割り当てるクルーとして、ステップＳ１０５で対象期間が終わる日までの累計勤務時間Ｕが、対象期間が終わる日までの目標勤務時間Ｔを超えないと判定したクルーを処理装置１９１により選択する。このとき、該当する（累計勤務時間Ｕが目標勤務時間Ｔを超えない）クルーが２人以上いるか、あるいは、１人もいない場合、選択部１０４は、実施の形態１と同様に、任意の方法を用いて、１人のクルーを選択する。そして、選択部１０４は、選択したクルーについて、対象期間に割り当てた勤務パターンをデータベース１０１に記憶された勤務情報１１１に追加し、ステップＳ１０３に戻る。
【０１０９】
図３のステップＳ１０７の動作については、実施の形態１のものと同様である。
【０１１０】
以下では、ステップＳ１０１〜１０７の動作の具体例について説明する。
【０１１１】
この例では、勤務計画作成装置１００が２０１１年９月における３人のクルーＣ１〜Ｃ３の乗務スケジュールを作成する。２０１１年９月は、毎週火〜金曜日（１日，２日，６日〜９日、１３日〜１６日，２０日〜２３日，２７日〜３０日）に、４日間の勤務パターンＰ１が計画されているものとする。また、毎週木曜日（１日，８日，１５日，２２日，２９日）に、飛行時間が４時間の勤務Ｗ１、毎週土曜日及び日曜日（３日，４日，１０日，１１日，１７日，１８日，２４日，２５日）に、飛行時間が６時間の勤務Ｗ２、毎週水曜日（７日，１４日，２１日，２８日）に、飛行時間が８時間の勤務Ｗ３が計画されているものとする。さらに、４日ごと（２日〜４日，６日〜８日，１０日〜１２日，１４日〜１６日，１８日〜２０日，２２日〜２４日，２６日〜２８日，３０日）に、３日間の勤務パターンＰ２が計画されているものとする。勤務パターンＰ１は、１日目及び４日目に１２時間のフライトがあり、２日目及び３日目はフライトがないという勤務パターンである。勤務パターンＰ２は、１日目に６時間のフライト、２日目に２時間のフライト、３日目に８時間のフライトがあるという勤務パターンである。
【０１１２】
また、この例では、ステップＳ１０１の関数ｙ＝４ｘが、３人のクルーＣ１〜Ｃ３に対して共通に設定されているものとする。
【０１１３】
図１５は、この例におけるクルーＣ１への勤務の割り当てを示すグラフである。図１６は、この例におけるクルーＣ２への勤務の割り当てを示すグラフである。図１７は、この例におけるクルーＣ３への勤務の割り当てを示すグラフである。
【０１１４】
図４〜図６と同様に、図１５〜図１７において、縦軸は飛行時間の累積値、横軸は２０１１年９月１日からの日数（ｘ）を示している。直線グラフ（ｙ＝４ｘ）は、２０１１年９月１日〜３０日における各クルーの目標勤務時間Ｔ（それぞれの日までの飛行時間の累積値の目標値）を表す。棒グラフは、２０１１年９月１日〜３０日のそれぞれにて各クルーに割り当て済の勤務又は勤務パターンを表す。棒グラフの上辺から下辺までの高さは、対応する日又は期間に割り当てられた勤務又は勤務パターンの飛行時間を表し、棒グラフの上辺の高さ（位置）は、対応する日までに割り当てられた勤務又は勤務パターンの飛行時間の累積値を表す。
【０１１５】
ステップＳ１０１において、設定部１０３は、図１５〜図１７に示すように、関数ｙ＝４ｘを用いて２０１１年９月１日〜３０日におけるクルーＣ１〜Ｃ３の目標勤務時間Ｔを設定する。２０１１年９月１日までのクルーＣ１〜Ｃ３の目標勤務時間Ｔは４×１＝４時間、２０１１年９月２日までのクルーＣ１〜Ｃ３の目標勤務時間Ｔは４×２＝８時間、・・・、２０１１年９月３０日までのクルーＣ１〜Ｃ３の目標勤務時間Ｔは４×３０＝１２０時間となる。
【０１１６】
図１８は、この例における勤務情報１１１を示す図である。
【０１１７】
図１８において、勤務情報１１１は、クルー（クルーの識別子）、日付、勤務パターン（勤務パターンの識別子）、勤務（１つ以上の勤務の識別子）、便（図示していない）、飛行時間（クルーが乗務する便の飛行時間の合計）等のデータを格納するテーブルとしてデータベース１０１に記憶されている。ここで、勤務情報１１１の勤務パターンは、１日単位で割り当てられる勤務については空データ（図では「−」と表記する）となるものとする。なお、前述したように、１日単位で割り当てられる勤務も１つの勤務パターン（１日のみの勤務パターン）として定義する場合には、１日単位で割り当てられる勤務についても、勤務情報１１１の勤務パターンが記録されることになる。
【０１１８】
ステップＳ１０２において、入力部１０２は、２０１１年９月１日及び２日に勤務パターンＰ１（実際には２０１１年８月３０日から始まる）を割り当てるクルーとして、例えばクルーＣ１を指定する操作をユーザから受け付ける。そして、入力部１０２は、図１８の（１）に示すように、その操作によって指定されたクルーＣ１について、２０１１年９月１日及び２日に割り当てられた勤務パターンＰ１をデータベース１０１に記憶された勤務情報１１１に追加する。
【０１１９】
なお、ここで説明する２０１１年９月を対象とした勤務パターンの割り当てと同様に、２０１１年８月を対象とした勤務パターンの割り当てが既に行われていれば、ステップＳ１０２において、クルーＣ１に２０１１年９月１日及び２日の勤務パターンＰ１を割り当てる処理（勤務情報１１１の更新）は不要である。つまり、データベース１０１に記憶された勤務情報１１１にて、前月から月をまたぐ勤務パターンが既に割り当て済であれば、その情報を利用することができる。
【０１２０】
ステップＳ１０３において、選択部１０４は、２０１１年９月１日を対象日として、ステップＳ１０４に進む。
【０１２１】
ステップＳ１０４において、選択部１０４は、データベース１０１に記憶された勤務情報１１１から、２０１１年９月１日に未割り当ての勤務Ｗ１を割り当てた場合の２０１１年９月１日までのクルーＣ２，Ｃ３の累計勤務時間Ｕを算出する。このとき、２０１１年８月３０日〜２０１１年９月２日の勤務パターンＰ１がクルーＣ１に割り当てられているため、選択部１０４は、２０１１年９月１日に勤務Ｗ１を割り当てた場合の２０１１年９月１日までのクルーＣ１の累計勤務時間Ｕは算出しなくてよい。２０１１年９月１日に勤務Ｗ１を割り当てた場合の２０１１年９月１日までのクルーＣ２，Ｃ３の累計勤務時間Ｕは、２０１１年９月１日の勤務Ｗ１の飛行時間、即ち、４時間となる。
【０１２２】
ステップＳ１０５において、選択部１０４は、クルーＣ２，Ｃ３のそれぞれについて、ステップＳ１０４で算出した２０１１年９月１日までの累計勤務時間ＵとステップＳ１０２で設定部１０３により設定された２０１１年９月１日までの目標勤務時間Ｔとを比較する。２０１１年９月１日に勤務Ｗ１を割り当てた場合の２０１１年９月１日までのクルーＣ２，Ｃ３の累計勤務時間Ｕは４時間であり、２０１１年９月１日までのクルーＣ２，Ｃ３の目標勤務時間Ｔである４時間と同じである。
【０１２３】
ステップＳ１０６において、出力部１０５は、２０１１年９月１日までの累計勤務時間Ｕが２０１１年９月１日までの目標勤務時間Ｔを超えていないクルーＣ２，Ｃ３を画面上で一覧表示する。入力部１０２は、例えばクルーＣ２を指定する操作をユーザから受け付ける。選択部１０４は、その操作によって指定されたクルーＣ２を、２０１１年９月１日に勤務Ｗ１を割り当てるクルーとして選択する。選択部１０４は、図１８の（２）に示すように、選択したクルーＣ２について、２０１１年９月１日に割り当てた勤務Ｗ１をデータベース１０１に記憶された勤務情報１１１に追加する。そして、ステップＳ１０３に戻る。なお、このステップＳ１０６では、例えば、選択部１０４が、クルーＣ２，Ｃ３のいずれかをランダムに選択してもよい。
【０１２４】
ステップＳ１０３において、選択部１０４は、２０１１年９月１日の勤務Ｗ１が割り当て済であるため、２０１１年９月２日を対象日として、ステップＳ１０４に進む。
【０１２５】
ステップＳ１０４において、選択部１０４は、データベース１０１に記憶された勤務情報１１１から、２０１１年９月２日〜４日に勤務パターンＰ２を割り当てた場合の２０１１年９月４日までのクルーＣ２，Ｃ３の累計勤務時間Ｕを算出する。このとき、２０１１年８月３０日〜２０１１年９月２日の勤務パターンＰ１がクルーＣ１に割り当てられているため、選択部１０４は、２０１１年９月２日〜４日に勤務パターンＰ２を割り当てた場合の２０１１年９月４日までのクルーＣ１の累計勤務時間Ｕは算出しなくてよい。２０１１年９月２日〜４日に勤務パターンＰ２を割り当てた場合の２０１１年９月４日までのクルーＣ２の累計勤務時間Ｕは、４＋１６＝２０時間となる。２０１１年９月２日〜４日に勤務パターンＰ２を割り当てた場合の２０１１年９月４日までのクルーＣ３の累計勤務時間Ｕは、１６時間となる。
【０１２６】
ステップＳ１０５において、選択部１０４は、クルーＣ２，Ｃ３のそれぞれについて、ステップＳ１０４で算出した２０１１年９月４日までの累計勤務時間ＵとステップＳ１０２で設定部１０３により設定された２０１１年９月４日までの目標勤務時間Ｔとを比較する。２０１１年９月２日〜４日に勤務パターンＰ２を割り当てた場合の２０１１年９月４日までのクルーＣ２の累計勤務時間Ｕは２０時間であり、２０１１年９月４日までのクルーＣ２の目標勤務時間Ｔである１６時間より長い。２０１１年９月２日〜４日に勤務パターンＰ２を割り当てた場合の２０１１年９月４日までのクルーＣ３の累計勤務時間Ｕは１６時間であり、２０１１年９月４日までのクルーＣ３の目標勤務時間Ｔである１６時間と同じである。
【０１２７】
ステップＳ１０６において、選択部１０４は、２０１１年９月４日までの累計勤務時間Ｕが２０１１年９月４日までの目標勤務時間Ｔを超えていないクルーＣ３を選択する。選択部１０４は、図１８の（３）に示すように、選択したクルーＣ３について、２０１１年９月２日〜４日に割り当てた勤務パターンＰ２をデータベース１０１に記憶された勤務情報１１１に追加する。そして、ステップＳ１０３に戻る。
【０１２８】
これ以降、同様に、ステップＳ１０３〜Ｓ１０６が繰り返し実行され、図１５〜図１７に示すように、２０１１年９月３日〜３０日の勤務Ｗ１〜Ｗ３及び勤務パターンＰ１，Ｐ２がクルーＣ１〜Ｃ３に割り当てられる。そして、その結果がデータベース１０１に記憶された勤務情報１１１に反映される。
【０１２９】
図１９は、この例におけるクルーＣ１の乗務スケジュールを示す図である。図２０は、この例におけるクルーＣ２の乗務スケジュールを示す図である。図２１は、この例におけるクルーＣ３の乗務スケジュールを示す図である。
【０１３０】
ステップＳ１０７において、出力部１０５は、図１９〜図２１に示すように、データベース１０１に記憶された勤務情報１１１を参照して、２０１１年９月のクルーＣ１〜Ｃ３の乗務スケジュールをカレンダー形式で出力する。
【０１３１】
なお、この例と同一の条件下において、図１９〜図２１に示した乗務スケジュールと異なる勤務の割り当て方も可能である。即ち、図１９〜図２１に示したものとは別の乗務スケジュールを作成することもできる。
【０１３２】
本実施の形態によれば、勤務パターンの割り当ても可能となるため、利便性が向上する。
【０１３３】
実施の形態４．
実施の形態１〜３では、勤務時間を評価指標として対象日に勤務を割り当てるクルーを選択しているが、勤務時間以外の評価指標を用いても構わない。
【０１３４】
例えば、飛行距離を評価指標として用いることができる。
【０１３５】
この場合、設定部１０３は、複数の日のそれぞれを対象日とし、複数のクルーのそれぞれについて、複数の日の初日から対象日までの飛行距離を累計した累計値の目標値を設定する。選択部１０４は、複数の日の初日から末日までを順番に対象日とする。対象日の勤務が未割り当てであれば、選択部１０４は、複数のクルーのそれぞれについて、データベース１０１に記憶された勤務情報１１１から、対象日に勤務を割り当てた場合の対象日までの飛行距離の累計値を算出する。選択部１０４は、算出した対象日までの飛行距離の累計値と設定部１０３により設定された対象日までの目標値とを比較する。選択部１０４は、その比較結果に基づいて、複数のクルーから、対象日に勤務を割り当てるクルーを選択する。具体的には、選択部１０４は、算出した対象日までの飛行距離の累計値が設定部１０３により設定された対象日までの目標値を超えないクルーを選択する。そして、選択部１０４は、選択したクルーについて、対象日に割り当てた勤務をデータベース１０１に記憶された勤務情報１１１に追加する。これにより、実施の形態１と同様に、各クルーに勤務させるペース（設定部１０３で任意に決めたもの）に合わせた勤務の割り当てを容易かつ効率よく行うことが可能となる。
【０１３６】
また、例えば、休日数を評価指標として用いることができる。
【０１３７】
この場合、設定部１０３は、複数の日のそれぞれを対象日とし、複数のクルーのそれぞれについて、複数の日の初日から対象日までの休日数を累計した累計値の目標値を設定する。選択部１０４は、複数の日の初日から末日までを順番に対象日とする。対象日の勤務が未割り当てであれば、選択部１０４は、複数のクルーのそれぞれについて、データベース１０１に記憶された勤務情報１１１から、対象日に勤務を割り当てた場合の対象日までの休日数の累計値を算出する。選択部１０４は、算出した対象日までの休日数の累計値と設定部１０３により設定された対象日までの目標値とを比較する。選択部１０４は、その比較結果に基づいて、複数のクルーから、対象日に勤務を割り当てるクルーを選択する。具体的には、選択部１０４は、算出した対象日までの休日数の累計値が設定部１０３により設定された対象日までの目標値を下回らないクルーを選択する。そして、選択部１０４は、選択したクルーについて、対象日に割り当てた勤務をデータベース１０１に記憶された勤務情報１１１に追加する。これにより、実施の形態１と同様に、各クルーに勤務させるペース（設定部１０３で任意に決めたもの）に合わせた勤務の割り当てを容易かつ効率よく行うことが可能となる。
【０１３８】
以上、本発明の実施の形態について説明したが、これらの実施の形態のうち、２つ以上を組み合わせて実施しても構わない。あるいは、これらの実施の形態のうち、１つを部分的に実施しても構わない。あるいは、これらの実施の形態のうち、２つ以上を部分的に組み合わせて実施しても構わない。なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
【符号の説明】
【０１３９】
１００  勤務計画作成装置、１０１  データベース、１０２  入力部、１０３  設定部、１０４  選択部、１０５  出力部、１１１  勤務情報、１１２  属性情報、１９１  処理装置、１９２  記憶装置、１９３  入力装置、１９４  出力装置、９０１  ＬＣＤ、９０２  キーボード、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９２０  ＨＤＤ、９２１  オペレーティングシステム、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群。
【要約】
【課題】複数の勤務者を対象にして勤務計画を作成する際に、一定の期間内において、どのようなペースで各勤務者に勤務させるかを任意に決めて、それに合わせた勤務の割り当てを容易かつ効率よく行う。
【解決手段】勤務計画作成装置１００において、設定部１０３は、ある月のそれぞれの日を対象日とし、各クルーの月の初日から対象日までの飛行時間を累計した累計勤務時間の目標値を設定する。選択部１０４は、月の初日から末日までを順番に対象日とし、各クルーに割り当て済の勤務を示す勤務情報１１１から、対象日に勤務を割り当てた場合の各クルーの対象日までの累計勤務時間を算出し、各クルーの対象日までの累計勤務時間及びその目標値を比較した結果に基づいて、対象日に勤務を割り当てるクルーを選択する。そして、選択したクルーについて、対象日に割り当てた勤務を勤務情報１１１に追加する。
【選択図】図１【図１】
0005167398.tif 000002
【図２】
0005167398.tif 000003
【図３】
0005167398.tif 000004
【図４】
0005167398.tif 000005
【図５】
0005167398.tif 000006
【図６】
0005167398.tif 000007
【図７】
0005167398.tif 000008
【図８】
0005167398.tif 000009
【図９】
0005167398.tif 000010
【図１０】
0005167398.tif 000011
【図１１】
0005167398.tif 000012
【図１２】
0005167398.tif 000013
【図１３】
0005167398.tif 000014
【図１４】
0005167398.tif 000015
【図１５】
0005167398.tif 000016
【図１６】
0005167398.tif 000017
【図１７】
0005167398.tif 000018
【図１８】
0005167398.tif 000019
【図１９】
0005167398.tif 000020
【図２０】
0005167398.tif 000021
【図２１】
0005167398.tif 000022