JP7461378B2 - 予備乗務員パターンを最適化すること - Google Patents

予備乗務員パターンを最適化すること Download PDF

Info

Publication number
JP7461378B2
JP7461378B2 JP2021568074A JP2021568074A JP7461378B2 JP 7461378 B2 JP7461378 B2 JP 7461378B2 JP 2021568074 A JP2021568074 A JP 2021568074A JP 2021568074 A JP2021568074 A JP 2021568074A JP 7461378 B2 JP7461378 B2 JP 7461378B2
Authority
JP
Japan
Prior art keywords
reserve
coverage
pattern
patterns
matrix
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021568074A
Other languages
English (en)
Other versions
JP2022532371A (ja
Inventor
イン・ジャン
リチャード・ルイス
スレシュ・ランガン
ミンジョウ・ジン
Original Assignee
フェデラル・エキスプレス・コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by フェデラル・エキスプレス・コーポレイション filed Critical フェデラル・エキスプレス・コーポレイション
Publication of JP2022532371A publication Critical patent/JP2022532371A/ja
Application granted granted Critical
Publication of JP7461378B2 publication Critical patent/JP7461378B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06312Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063116Schedule adjustment for a person or group
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1093Calendar-based scheduling for persons or groups
    • G06Q10/1097Task assignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

関連出願の相互参照
本出願は、2019年5月15日に出願した米国仮出願第62/848,374号の出願日の利益を主張するものである。米国出願第62/848,374号の内容は、全体が参照により本明細書に組み込まれている。
本開示は、一般的にセットカバレッジ最適化(set coverage optimization)に関するものである。セットカバレッジ問題は、コンピュータサイエンス、オペレーションズリサーチ、および物流などの様々な研究分野および産業に存在する問題をモデル化するために使用することができる。そのようなモデリングの計算効率および精度を改善するプロセスが望ましい。
本明細書は、複雑な物流スケジューリング動作上でセットカバー最適化(set cover optimization)を実行することに関するものである。実装形態は、本明細書において、航空会社の予備乗務員パターン最適化の例示的な文脈を参照して説明される。一般に、本明細書において説明されている主題の革新的な態様は、予測データおよび予備勤務パターンパラメータを含む入力データを取得する動作を含む方法において具現化され得る。この動作は、停止基準が満たされるまで、予備需要カバレッジ率(RDCR)行列のための追加のカバレッジ率列を反復的に生成することを含み、各反復は航空旅行の予備需要カバレッジの増分変化の限界値を示すシャドウ値を、RDCR行列内の、反復について選択されたカバレッジ率列のセットに基づき、線形問題制約を使用してセットカバー問題を解くことによって、決定することと、改善値を含む新しい予備勤務パターンを生成することと、新しい予備勤務パターンの改善値が停止基準を満たすかどうかを決定することとを含む。新しい予備勤務パターンの改善値が停止基準を満たさないときには、動作は、新しい予備勤務パターンに基づき新しいカバレッジ率列を生成することと、新しいカバレッジ率列を追加のカバレッジ率列としてRDCR行列に追加することとを含む。新しい予備勤務パターンの改善値が停止基準を満たす場合には、動作は、追加のカバレッジ率列を反復的に生成することを停止することと、RDCR行列に基づき、予備勤務パターンの最終セットを生成することとを含む。この態様の他の実装形態は、対応するシステム、装置、およびそれぞれこれらの方法のアクションを実行するように構成され、コンピュータ記憶デバイス上に符号化されたコンピュータプログラムを含む。
いくつかの実装形態において、新しい予備勤務パターンを生成することは、入力データに基づき、複数の航空旅行をカバーするための複数の可能な予備勤務パターンを決定することと、可能な予備勤務パターンの各々について改善値を決定し、各改善値はシャドウ値および各可能な予備勤務パターンに関連付けられているトライアルカバレッジ率に基づき決定されることと、可能な予備勤務パターンのすべての改善値の中で最も高いそれぞれの改善値を有する特定の予備勤務パターンに基づき可能な予備勤務パターンの中から特定の予備勤務パターンを選択することとを含む。
別の一般的な態様において、本明細書において説明されている主題の革新的な態様は、予測データおよび予備勤務パターンパラメータを含む入力データを取得する動作を含む方法において具現化され得る。この動作は、停止基準が満たされるまで、予備需要カバレッジ率(RDCR)行列のための追加のカバレッジ率列を反復的に生成することを含み、各反復はRDCR行列内の、反復について選択されたカバレッジ率列のセットについて、航空旅行の予備需要カバレッジの増分変化の限界値を示すシャドウ値を決定することと、入力データに基づき、複数の航空旅行をカバーするための複数の可能な予備勤務パターンを決定することと、可能な予備勤務パターンの各々について改善値を決定し、各改善値はシャドウ値および各可能な予備勤務パターンに関連付けられているトライアルカバレッジ率に基づき決定されることと、可能な予備勤務パターンのすべての改善値の中で最も高いそれぞれの改善値により可能な予備勤務パターンの中から特定の予備勤務パターンを識別することと、それぞれの改善値が停止基準を満たすかどうかを決定することとを含む。特定の予備勤務パターンの改善値が停止基準を満たさないときには、動作は、特定の予備勤務パターンに関連付けられているトライアルカバレッジ率から新しいカバレッジ率列を生成することと、新しいカバレッジ率列を追加のカバレッジ率列としてRDCR行列に追加することとを含む。特定の予備勤務パターンの改善値が停止基準を満たすときには、動作は、追加のカバレッジ率列を反復的に生成することを停止することと、RDCR行列に基づき、予備勤務パターンの最終セットを生成することとを含む。
これらのおよび他の実装形態は、各々、以下の特徴のうちの1つまたは複数を適宜含み得る。
いくつかの実装形態において、RDCR行列に対する追加カバレッジ率列は、線形問題制約を使用して生成される。
いくつかの実装形態において、予備勤務パターンの最終セットは、整数問題制約を使用して生成される。
いくつかの実装形態において、RDCR行列に対する追加カバレッジ率列は、線形問題制約を使用するものとして生成され、予備勤務パターンの最終セットは、整数問題制約を使用して生成される。
いくつかの実装形態において、予測データは、複数の航空旅行を、各航空旅行が予備乗務員によるカバレッジを必要とする確率を示す予想予備需要値と関連付ける。いくつかの実装形態において、予測データは、複数日航空旅行に関連付けられている少なくともいくつかの予想予備需要値を含む。いくつかの実装形態において、予測データは、丸められていない予想予備需要値を含む。
いくつかの実装形態において、予備勤務パターンパラメータは、予備パターンの長さおよび予備ブロック毎の勤務日の最小日数を含む。
いくつかの実装形態において、シャドウ値を決定することは、RDCR行列内のカバレッジ率列のセットに基づき、線形問題制約を使用して、セットカバー問題を解くことを含む。いくつかの実装形態において、予備勤務パターンの最終セットを生成することは、RDCR行列の列の最終セットに基づき、整数問題制約を使用して、セットカバー問題を解くことを含む。
いくつかの実装形態において、動作は、RDCR行列およびハイブリッド予測データに基づきセットカバー問題を解くことによって予備勤務パターンの改訂されたセットを生成することを含み、ハイブリッド予測データは、第1の複数の航空旅行を実際の予備需要データに関連付け、第2の複数の航空旅行を、各航空旅行が予備乗務員によるカバレッジを必要とする確率を示す予想予備需要値に関連付ける。
いくつかの実装形態において、予備勤務パターンパラメータは、限られた数の特別な予備勤務パターンを含む。
本明細書において説明されている発明対象の1つまたは複数の実装形態の詳細は、付属の図面および以下の説明で述べられる。主題の他の特徴、態様、および利点は、説明、図面、および請求項から明らかになるであろう。
本開示の実装形態を実行するための例示的なシステムを示す図である。 本開示の実装形態により実行され得る例示的な予備乗務員最適化プロセスを示すフローチャートである。 簡素化されたカバレッジ行列の一例を示す図である。 図3Aの簡素化されたカバレッジ行列から生成される予備勤務パターンの簡素化されたセットの一例を示す図である。 現実世界のデータを使用してケーススタディからのビッド月に対する例示的な旅行スケジュールを示す図である。 図4の旅行スケジュールに対して予測された予想予備需要データの例示的な行列を示す図である。 現実世界のデータを使用してケーススタディからの本開示の一実装形態によって生成されるカバレッジ解の態様を表すチャートである。 現実世界のデータを使用してケーススタディからの本開示の一実装形態によって生成される完全カバレッジ解を表すチャートである。
様々な図面内の類似の参照記号は、類似の要素を示す。
本明細書は、複雑な物流スケジューリング動作上でセットカバー最適化を実行することに関するものである。実装形態は、本明細書において、航空会社の予備乗務員パターン最適化の例示的な文脈を参照して説明される。しかしながら、実装形態は、倉庫業務、トラック輸送業務、荷物配送などの他の複雑な物流スケジューリングの最適化モデリングに適用可能であり得る。
本明細書において説明されている主題の特定の実装形態は、次の利点のうちの1つまたは複数を実現するように実装され得る。実装形態は、確率的問題に対してより完全で正確なセットカバレッジ解を提供し得る。たとえば、予備需要を1対1でカバーするパターンを生成する従来の方法とは異なり、このモデルでは、多対多モードの予備需要をカバーするパターンを確率的な方法で設計した。各選択されたパターンは、重複のない旅行の1つのセットをカバーするためだけでなく、重複のある旅行のいくつかの可能なセットをカバーするためにも生成される。このようにして、このタイプの旅行の予測される予備要件が生じないとしても、パターンは、それでも他の予備需要をカバーするために使用され得る。実装形態は、既存の決定論的最適化技術に勝る改善されたエラートレランスを提供し得る。たとえば、多対多カバレッジモードは、航空会社の予備乗務員スケジューリングなどのセットカバー問題を解く際の不確実性の負の態様を低減することができる高いエラートレランスをモデルに提供し得る。実装形態は、予備需要スケジューリングを推定する際の精度を改善する。たとえば、実装形態は、日毎ではなく旅行毎で構造化されている予備需要予測データを採用する、すなわち、各予備需要予測値は、複数の連続する日数にまたがり得る、旅行全体をカバーするために予備乗務員が必要とされる予想を表す。それに加えて、予備需要データは、たとえば、スケジューリングにおいて精度を高めるために、丸められない。
図1は、本開示の実装形態を実行するための例示的なシステム100を示す図である。システム100は、最適化システム102と、フライト乗務員管理システム104と、予測システム106と、1つまたは複数のユーザコンピューティングデバイス108とを備える。最適化システム102は、ネットワーク110を通して、フライト乗務員管理システム104、予測システム106、および1つまたは複数のユーザコンピューティングデバイス108と通信する。ネットワーク110は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、セルラーネットワーク、衛星ネットワーク、1つもしくは複数のワイヤレスアクセスポイント、または任意の数のモバイルクライアント、固定クライアント、およびサーバを接続するそれらの任意の適切な組合せなどの、大規模ネットワークまたはネットワークの組合せを含むことができる。
最適化システム102、フライト乗務員管理システム104、および予測システム106は各々、1つまたは複数のコンピューティングシステム(たとえば、サーバ)を使用して実装され得る。コンピューティングシステムは、内部または外部ストレージコンポーネントを有することができ、限定はしないが、ウェブサーバ、アプリケーションサーバ、プロキシサーバ、ネットワークサーバ、ユーザアカウントサーバ、またはサーバファームを含む、様々な形態のサーバシステムを代表するものとしてよい。別個のコンピューティングシステムとして例示されているが、いくつかの実装形態において、システム102、104、および106のうちの1つまたは複数が、単一のシステムに一体化されてもよい。たとえば、最適化システム102、フライト乗務員管理システム104、および予測システム106の動作はすべて、共通サーバシステムなど、同じコンピューティングシステムによって実行され得る。
ユーザコンピューティングデバイス108は、限定はしないが、ラップトップまたはデスクトップコンピュータ、携帯電話、スマートフォン、またはタブレットコンピュータを含むことができる。
本明細書において説明されているように、最適化システム102は、航空会社のための予備乗務員セットカバレッジパターンを生成するという文脈で説明されるセットカバー最適化モデルを実行する。たとえば、動作中に、最適化システム102はフライト乗務員管理システム104および予測システム106から入力データを受け取ることができる。入力データは、限定はしないが、予備パターンパラメータ112および予想予備需要データ114を含むことができる。最適化システム102は、入力データに基づき本明細書において説明されているセットカバー最適化モデルを実行して、予備乗務員勤務パターンのセットを生成する。予備乗務員勤務パターンから予備勤務スケジュール116が作成され、ユーザコンピューティングデバイス108に提供され得る。
たとえば、予測システム106は、予測ツール(たとえば、SAS Enterprise Guideの予測ツール)を実行して、特定の期間(たとえば、ビッド月)にわたってスケジュールされている航空旅行に関連付けられている予備需要データを推定することができる。需要は、必ずしも整数値ではない、空き時間旅行(open time trip)の予想される数である。本開示の実装形態では、分数の予備需要数を丸めない。たとえば、丸められていない予備需要推定値を保存することで、以下で説明されているスケジューリングシステムによって使用される価値が高い統計情報を保持する。それに加えて、実装形態は、日毎ではなく、旅行毎に編成される予備需要データを採用する。すなわち、予想される予備需要の各値は、たとえば、個々の毎日のフライトに関連付けられるのではなく、むしろ、複数の連続する日数にまたがる可能性のある定期的にスケジュールされた旅行に関連付けられる。
予備需要データは、予測ツールからのすべてのタイプの旅行を含む、dをインデックスとする行列D(たとえば、図5に例示されている)によって表すことができる。予備需要データは、最適化モデルの1つの入力である。行列の列は旅行タイプlの長さを示し、行列の行は旅行tの開始日を示す。ビッド月の総日数はTであり、行列の要素ndは、旅行タイプ(t,l)∈Dの予想予備需要である。いくつかの場合において、同じタイプの旅行の複数のインスタンスがビッド月にスケジュールされており、ndは、同じタイプ(t,l)の旅行のすべてに対する組み合わされた予備需要を表すことができる。その結果、ndは分数であるものとしてよく、1未満または1超であってよい。
たとえば、図5に示されているように、旅行(1,3)(参照番号502)は、旅行の長さが3日間であり、ビッド月の1日目に始まることを示す。旅行(1,3)に対するndは、0.313422774であり、これは、旅行(1,3)をカバーするために予備乗務員が必要になる可能性はおよそ31%であることを示している。別の例として、旅行(16,2)(参照番号504)は、旅行の長さが2日間であり、ビッド月の16日目に始まることを示す。旅行(16,2)に対するndは、2.92138634であり、これは、旅行(16,2)のうちの1つをカバーするために予備乗務員が必要になる可能性はおよそ292%であることを示している。言い換えると、所与のビッド月にはタイプ(16,2)の複数の旅行がある。たとえば、タイプ(16,2)の旅行が6つあり、その各々が予備乗務員によるカバレッジを必要とする、およそ50%の確率を有し得る。したがって、所与のビッド月の旅行タイプ(16,2)に対する組み合わされた予想予備需要は、約292%となる。簡単に言うと、タイプ(16,2)の6つの旅行のうち、3つの旅行が予備乗組員によってカバーされる必要がある可能性が高い。
1つの予備パターンiが旅行をカバーできるかどうかを簡便にチェックするために、2値パラメータが
Figure 0007461378000001
として設定され、旅行dの勤務日数を示す。
Figure 0007461378000002
は、旅行dが勤務日としてt日目を含む場合に1であり、そうでない場合には0である。
Figure 0007461378000003
に基づき、旅行は、2値モードに変換され得る。28日(T=28)を有するビッド月の旅行(17,9)を例として使用すると、旅行は次のベクトルで表現され得る。
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0)
これらの予想されるレベルの需要を、できるだけコストをかけずにカバーする予備パターンのセットを構築することが目的である。通常航空路線スケジュール旅行とは異なり、予備パターンは旅行またはペアリングを含まない。その代わりに、これらは、連続する勤務日のブロックおよび連続する勤務外日のブロックを含む。パターンのインデックスPは、1つのビッド期間における勤務日の最大総数を示す。何日間運行があろうと少なくとも予備航空路線保証金(Reserve Line Guarantee)(RLG)が支払われるような予備乗務員には特別給与体系があるので、できるだけ多くの予備日数が予備パターンに含まれることが予想される。したがって、パターンは最大日数の勤務日を含む。言い換えると、Pは、コスト構成が変更されない限り、パターンの長さを示す。
パターンタイプは、伝統的に変数セットをダウンサイジングするように定義される。すなわち、現在のシステムでは、パターンタイプは、勤務日のグループ化および勤務外日のグループ化によって一般的に定義される。各タイプのパターンの必要数を決定することによって、変数セットは縮小され、解く速度を高め、ひいては最適化システム102の効率を高めることができる。しかしながら、あらかじめ決定されているパターンのタイプは、モデルのパラメータとなる。すべてのタイプのパターンを列挙することは困難なのでその間にも解空間の制限が存在する。しかしながら、本開示の実装形態において、パターンは、より多くの要素によって定義され、このことは、すべての適法のパターンタイプを含まれ得ることを意味する。たとえば、1つのパターンタイプは、勤務ブロックタイプおよび勤務外ブロックタイプによって決定される。勤務のあるブロックタイプは、ベクトル変数によって記述され、その要素の数は、勤務ブロックがパターン内にいくつあるかによって決定され、要素の値は、各ブロック内の連続する勤務日の数によって決定される。勤務外ブロックもベクトル変数であり、その要素の数は勤務外ブロックがパターン内にいくつあるかによって決定される。いくつかの実装形態において、勤務外ブロックはベクトル変数であり、勤務ブロックタイプの要素の数に1を加えた値に常に等しいが、それは勤務ブロックが2つの勤務外ブロックの間に位置決めされるからである。勤務外ブロックタイプの要素の値は、各ブロック内の連続する勤務外日の数によって決定される。勤務外ブロックタイプの要素の合計値に、勤務ブロックタイプの要素の合計値を加えた値は、ビッド期間中の総日数に等しい。勤務外ブロックの要素値を調整することによって、様々な数の要素により勤務日数ブロックタイプを設計することができる。
航空会社は、適法の予備パターンを構築するために異なる予備パターンパラメータ112(たとえば、ルール)を使用し得る。予備パターンパラメータ112は、一般に、限定はしないが、パターンPの長さおよび1ブロックMB内の最小数の勤務日を含む。Kで勤務ブロックの最大数を表す。したがって、勤務外ブロックの数は、インデックスkによりK+1である。任意のブロックが長さゼロ日であってよいが、すべての勤務外ブロックが同時にゼロになることは許されない。Kは、PをMで割って整数になるように切り捨てることによって計算され得る。たとえば、ある航空会社では、パターンの最大長が15日であることを、また1ブロック内の最小勤務日数が4日であることを許すと仮定すると、Kは単純に15/4を切り捨てることによって計算されるものとしてよく、これは切り捨て後に3に等しい。勤務外ブロックタイプykの要素の値は、0を含む整数であり、勤務外ブロックタイプは、[y1,y2,...,yK+1]として示され得る。y1が0の場合、これは予備パターンがその月の第1月曜日から始まることを意味する。yK+1が0の場合、これは予備パターンがその月の最終日曜日に終了することを表す。kを0にもK+1にも等しくない1つのykが0に等しい場合、これは勤務ブロックの数がK-1であることを表す。kを0にもK+1に等しくない2つのykが両方とも0に等しい場合、これは勤務ブロックの数がK-2であることを表し、これは勤務ブロックが1つだけP個の勤務日によるパターンで存在するまで続く。この類推により、1からKまでの要素の異なる数を有するすべての勤務ブロックタイプが識別され得る。akで勤務ブロックタイプの要素値を示すものとする。
各パターンiについて、2値変数
Figure 0007461378000004
で、パターン内のどの日が勤務日で、どの日が勤務外日であるかを表すものとする。パターンiは、T日を有するビッド期間において合計P個の勤務日を有する。
Figure 0007461378000005
は、パターンi内でt日目が勤務日である場合に1であり、t日目が勤務外日である場合に0である。例示的な勤務パターンベクトルOiが以下に示されている。
(0 0 1 1 1 1 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0)
このサンプルパターンは、3つの勤務ブロックおよび4つの勤務外ブロックを含む。勤務ブロックタイプは[4,4,7]であり、勤務外ブロックタイプは[2,3,5,2]である。パターンタイプは[4,4,7]_[2,3,5,2]である。
旅行のカバーされないコスト率は予備コスト率よりもかなり大きいので、予備パターンの質はコストをコントロールする一態様である。一般的に、様々な空き時間旅行をカバーすることに制限があるときに、予備ブロックが長ければ長いほど、可用性は高い。既存のスケジューリングモデルでは、空き時間旅行の発生可能性がどれだけ多くても少なくても、それが入力またはパラメータとしてモデルに適用されたときに、最小の非ゼロ整数は1であるので、100%の可能性を有する需要と常に見なされる。Table 1(表1)(以下)に示されている例は、制限を説明するために使用される。
Figure 0007461378000006
旅行1および旅行2は、最初の8日間がTable 1(表1)に示されているビッド期間内でカバーされる必要のある2つの空き時間旅行である。旅行1は(2,3)であり、旅行2は(3,3)である。予備パターンを構築するために利用可能な3つ異なる予備ブロックがある。ブロック1は旅行1のみをカバーすることができ、ブロック2は旅行2のみをカバーすることができる。ブロック3はこれらの旅行の両方をカバーすることができる。しかしながら、ユーザ構築ブロック3への決定は最適ではない場合がある。最初に、いくつかの仮定が置かれる必要がある。
仮定1:これら3つのブロックのコストは、異なる勤務日を伴うとしても同じである。
仮定2:旅行1および旅行2の長さは同じなので、それらのアンカバーコストは同じである。
仮定3:旅行1および旅行2は、ドロップアウトされ、空き時間旅行になる等しい確率を有する。
これら3つの仮定により、1つのブロックしか選択できない場合に、ブロック3は常に最良の選択であると言える。旅行1および旅行2が複数回生じ、2つのブロックが使用できる場合、ブロック3により2つのパターンを構築することは良い決定であり得る。
しかしながら、現実世界の実務では、これらの仮定が常に満たされるとは限らない。たとえば、パターンは12日以上を含み、Table 1(表1)には示されていないが、8日目以降に開始する他の旅行をカバーするために使用され得る他の勤務ブロックを含み得る。たとえば、9日目から始まる9日間の1つの旅行がカバーされる必要があると仮定すると、ブロック1またはブロック2が使用される場合、3日間の1つの旅行はカバーされ得ないが、9日間の勤務日が残されており、これはその長い旅行をカバーするために構築されてよい。その代わりに、ブロック3は、旅行1および旅行2をカバーする可能性を有するが、もしそれが選択されれば、12日間の長い旅行をカバーするのに十分な勤務日は残されておらず、日常の業務において同じビッド期間で旅行1および旅行2の両方をカバーするために使用することはできない。このシナリオでは、勤務ブロックのコストは、ブロックの長さに関係するが、予備勤務パターンのコストは同じである。
より複雑な条件を有する例がTable 2(表2)(以下の)に示されている。旅行1(2,3)と旅行3(4,5)は2つの可能な空き時間旅行である。ブロック1、ブロック4、およびブロック5は、これら2つの旅行をカバーするように構築され得る。ブロック1は旅行1のみをカバーし、ブロック4は旅行3のみをカバーし、ブロック5はこれら2つの旅行の両方をカバーすることができる。
Figure 0007461378000007
Figure 0007461378000008
旅行の長さは同じではなく、ブロックの長さは異なる。Table 3(表3)の1列目のケース1では、空き時間旅行1の発生確率が90%であり、旅行3については20%である。それでもブロック5が最良の選択なのか?言い換えると、旅行3をカバーするためにブロックに4日分を追加することに価値があるのか?ブロック5は、ブロック4よりも良い選択であり得、明らかにブロック1よりも良い選択である。ケース2では、2列目で、空き時間旅行1の発生確率が40%であり、旅行3については80%である。旅行1をカバーするためにブロック5を2日増やすことに価値はあるのか?少なくとも、ケース1に比べてこのケースではブロック5を選択する信頼度が高いが、それは0.4×3が0.2×5より大きいからである。言い換えると、可能なカバーされないコストが考慮されるべきである。ケース3では、3列目で、両方の発生確率は50%である。ブロック1またはブロック4よりはむしろブロック5を選択する方が妥当であると思われる。ケース4では、4列目で、空き時間旅行1の発生確率が80%であり、旅行3については70%である。ブロック1およびブロック4は両方とも、予備乗務員のキャパシティに余裕があれば旅行1および3をカバーするように選択されてよい。ケース5では、最後の列で、空き時間旅行1の発生確率が67%であり、旅行3については58%である。数学的モデルのサポートがないとこの種のケースでブロックの選択の仕方を決定することは難しい。リアルタイムの状況は、ブロックだけでなくパターン全体を比較する必要があるのでこの例のケースよりもかなり複雑になり得る。空き時間旅行およびパターンのサイズは、Table 1(表1)~Table 3(表3)におけるこれらの例にあるものよりもかなり大きい。以下で説明されている最適化モデルでは、これらの問題および他の技術的問題に対処する。
図2は、本開示の実装形態により実行され得る例示的な予備乗務員最適化プロセス200を示すフローチャートである。いくつかの実装形態において、プロセス200は、1つまたは複数のコンピューティングデバイスを使用して実行される1つまたは複数のコンピュータ実行可能プログラムとして提供され得る。いくつかの例では、プロセス200は、図1の最適化システム102などのシステムによって実行される。いくつかの実装形態において、プロセス200のすべてまたは一部は、ローカルコンピューティングデバイス、デスクトップコンピュータ、ラップトップコンピュータ、またはタブレットコンピュータで実行することができる。いくつかの実装形態において、プロセス200のすべてまたは一部は、リモートコンピューティングデバイス、サーバシステム、またはクラウドベースのサーバシステムで実行することができる。
プロセス200は、上で説明されている予備スケジューリング問題を解くための最適化モデルを表す。プロセス200は、2つの主要なコストを含む総予備コストを削減するものとしてよく、このコストの一方は予備乗務員コストであり、もう1つはカバーされていない旅行のコストである。1つのパターンのコストをcで表し、sdは旅行dのカバーされない需要の単位コストであり、旅行の長さに関連している。カバーされていない旅行d(l,t)のコストはsd×lである。このアプローチでは、予想される需要レベルを維持することによって予備予測段階を最適化段階に統合した。予想される需要レベルが1よりも小さい場合、これは発生確率または可能性と見なすことができる。この情報により、日々の運用段階で空き時間旅行をカバーするときに可用性を高めることなどによって予備パターンの質を改善することができる。
プロセス200を開始するために、システムは、最適化モデル入力データを取得する。たとえば、システムは、予測システム106から予想予備需要データ114を受け取ることができる。上で説明されているように、予想予備需要データは、限定はしないが、複数の航空旅行を予想予備需要値に関連付ける、また予想予備需要値である、予測データを含むことができる。たとえば、予想予備需要データ114は、複数の航空旅行を、各航空旅行が予備乗務員によるカバレッジを必要とする確率を示す予想予備需要値に関連付ける予想予備需要行列であってよい。同様に、システムは、フライト乗務員管理システム104から予備パターンパラメータ112を受け取ることができる。上で説明されているように、予備パターンパラメータ112は、限定はしないが、予備パターン長(P)および勤務ブロック毎の勤務日最小日数(MB)を含むことができる。
システムは、予備需要カバレッジ行列202を生成する。たとえば、システムは、「カバレッジ」またはカバレッジ行列202と呼ばれる行列202を、最適化モデルに導入することができる。図3Aは、カバレッジ行列202の簡素化された例(たとえば、簡素化されたカバレッジ行列300)を示している。一般に、カバレッジ行列202は、所与の予備パターンが対応する旅行をカバーするために使用され得る確率(または率)を提供する。
たとえば、Jは、jをインデックスとするすべての空き時間旅行にわたるすべての可能なカバレッジのセットを有するカバレッジ行列202を表すものとする。1つのカバレッジ列jは、パターンと1対1で対応する|D|個の要素(たとえば、スケジュールされた旅行の総数)のベクトルである。カバレッジ行列202の各要素は、パターンi(カバレッジ行列202の列jに対応する)が空き時間旅行dをカバーするために使用され得る確率(または率)であり、
Figure 0007461378000009
によって表される。
Figure 0007461378000010
の値は、範囲[0,1]内にある。この多対多カバレッジモデルは、より堅牢でより効率的な予備カバレッジパターンを提供し得る。具体的には、多対多カバレッジは、カバレッジ行列202によって許される。多対多カバレッジは、1つの旅行をカバーするために複数の予備パターンを使用することができること(関連するカバレッジ率に応じて)、および1つの予備パターンで所与の暦日に複数の旅行に対する部分的(100%未満)カバレッジを行わせることができることを指す。たとえば、簡素化されたカバレッジ行列300に描かれているように、カバレッジ列1に基づく予備パターンは、旅行1に対して予備乗務員カバレッジが必要とされる時間の100%で旅行1をカバーし、旅行2に対して予備乗務員カバレッジが必要とされる時間の45%で旅行2をカバーし、旅行3に対して予備乗務員カバレッジが必要とされる時間の35%で旅行をカバーし、旅行4に対して予備乗務員カバレッジが必要とされる時間の50%で旅行4をカバーすることができ、旅行5をカバーすることはできないであろう。
プロセス200は、適格な予備パターンを構築するために列生成プロセス204を採用している。モデル入力データ112、114およびカバレッジ行列202は、列生成プロセス204への入力として適用される。サブ問題(以下で説明される)は、パターンiによってカバーされ得るすべての空き時間旅行が最適化プロセスにおいて考慮されることを確実にするように構築される。それに加えて、すべてのパターンが空き時間旅行dをカバーするために使用されるものとしてよく、これらのパターンはプロセスにおいて比較される。qdは、旅行dに対するパターンiのカバレッジの可能性を示すために使用される。各可能なパターンiは、2値
Figure 0007461378000011
のT個の要素を有するベクトルによって特徴付けられる。
2値変数xjは、カバレッジ列jが選択されていることを表すために1に等しく、そうでない場合は0に等しい。非負変数udは、カバーされていない空き時間旅行需要dの量を表す。最適化モデルのマスター問題は、次のように記述することができる。
マスター問題:
Figure 0007461378000012
以下を条件とする。
Figure 0007461378000013
マスター問題(1.1~1.3)はセットカバー問題であり、udの存在により常に実現可能である。制約セット(1.2)は、カバレッジのサブセットが予備需要をどのようにカバーするかを記述する。セットJが十分な数のすべての可能なカバレッジを含むときに、マスター問題は最良の解をもたらすことができる。問題を扱いやすくするために、(xjに関連付けられている)列は、列生成手順に従って反復的に作成される。その線形緩和(たとえば、xj∈[0,1])がその最適性に対して解かれたときに、制約dのシャドウ値(たとえば、シャドウ価格)(wdで示される)が決定され得る。
各可能な予備パターンについて、プロセス200は、サブ問題(以下に定義される)を使用して、パターンの潜在的改善値(vm-c)を計算し、cは追加の予備パターンのコストを表し、vmは予備パターンmによって提供され得るカバーされていない旅行のコストの削減の量を表す。改善値(vm-c)は、所与のパターンがマスターセットカバー問題によって支配されるような全体的最適化モデルに提供する潜在的コスト改善を表す。解く時間を短縮するために、すべての可能な予備勤務パターンのセットIは、サブ問題において生成される。変数
Figure 0007461378000014
は、ビッド期間内のすべての勤務日を配置するために使用される。
Figure 0007461378000015
は、t日目がこのパターンにおけるf番目の勤務日である場合に1であり、そうでない場合には0である。
サブ問題:
Figure 0007461378000016
以下を条件とする。
Figure 0007461378000017
最大のvmは、qdの係数ベクトルを用いてマスター問題において新しい列を作成するように選択される。mは、すべての適法の勤務ブロックタイプ(たとえば、勤務ブロック毎の勤務日最小日数(MB)を満たすすべての勤務ブロックタイプ)を含むセットMの要素を表す。制約セット(1.5)は、パターンiが旅行dに対する潜在的カバレッジとして選択される場合に旅行dにおける各勤務日はパターンiにおける勤務日でもあることを記述している。制約セット(1.6)は、旅行dのカバレッジがその需要以下であることを確実にする。残りの制約は、すべて予備パターンを構築するためのものである。制約条件(1.7)および(1.8)は、予備パターンの長さおよび全勤務外日数を設定する。制約条件(1.9)は、パターンのf番目の勤務日が1日にだけ配置されることを確実にする。制約条件(1.10)は、すべての勤務日をビッドカレンダーに配置するために使用される。制約集合(1.11)は、パターンiにおける各勤務ブロックを記述するK個の制約セットを有する。
簡単に言えば、全体のアルゴリズムは次のように説明できる。
ステップ206:マスター問題(1.1~1.3)を、xj∈[0,1]として解き、wdを得る。
ステップ208:すべてのサブ問題(1.4~1.12)を、すべてのm(適法の勤務ブロックタイプ)∈I(すべての予備パターン)について解き、vm(各パターンタイプの改善値)を得て、vmの最大値を有する予備パターンを見つける(最高値を有する新しい予備パターンを識別する)。
ステップ210:最大のvmがc(追加パターンのコスト)以下である場合、停止して218に進む。
ステップ212:最大のvmに対応するqd(パターンmの試行カバレッジ率)を特徴とする新しいカバレッジ列を、新しい
Figure 0007461378000018
によりJに挿入する。ステップ206に進む。
ステップ218:xj∈{0,1}でマスター問題を解く。
より詳細には、システムは、予備カバレッジへの改善のシャドウ値を決定する(206)。たとえば、システムは、予備需要行列(D)の旅行(d)の各タイプに対するシャドウ値(wd)を決定することができる。いくつかの例では、システムは、緩和された制約を使用して上記のマスター問題を解くことによってシャドウ値を決定することができる。たとえば、xj上の制約を、xj∈{0,1}ではなく、xj∈[0,1]で緩和することによる。言い換えると、システムは、マスター問題を、整数問題(IP)ではなく、xjが0と1の範囲内で線形値を取ることを許された線形問題(LP)として解くことができる。いくつかの実装形態において、システムは、最適化ソルバー、たとえば、Gurobiソルバー、IBM ILOG CPLEX、およびCardinal Optimizerを使用することによってマスター問題を実行し、シャドウ値を得ることができる。
システムは、最大の潜在的カバレッジ改善を有する可能な予備勤務パターンを決定する(208)。たとえば、システムは、すべての潜在的(たとえば、予備パターンパラメータ112に従って適法の)予備勤務パターンの中から、カバレッジ行列202に追加するための最大の潜在的カバレッジ改善を有する予備勤務パターンを識別することができる。たとえば、システムは、複数の可能な予備勤務パターンを決定するために上で説明されているサブ問題を実行することができる。システムは、マスター問題から決定されたシャドウ値に基づき可能な予備勤務パターンの各々に対する改善値(vm)を計算することができる(たとえば、ステップ206)。式(1.4)によって説明されているように、各予備パターンに対する改善値は、予備パターンによってカバーされる潜在的旅行のそれぞれのシャドウ値、および予備パターンが潜在的旅行をカバーするであろう試行カバレッジ率(qd)に基づき決定され得る。システムは、可能な予備勤務パターンの中から最高の改善値を有する特定の予備勤務パターンを識別することができる。
いくつかの実装形態において、システムは、最大の潜在的カバレッジ改善を有する可能な予備勤務パターンを決定するために段階的アプローチを使用する。たとえば、システムは、すべての適法の勤務ブロックタイプのセットMの各適法の勤務ブロックタイプmを循環させて、各ブロックタイプm内で最も高い値のパターンを識別することができる。
たとえば、予備パターンの長さが15日分であり、全勤務外日が28-15=13であると仮定する。各勤務日ブロックは、少なくとも4つの予備日を含む(たとえば、MB=4)ので、勤務日ブロックの最大数Kは3である。リストアップされる合計16個の適法の勤務日ブロックタイプMは、[4、4、7]、[4、7、4]、[7、4、4]、[4、5、6]、[5、4、6]、[6、5、4]、[5、5、5]、[4、11]、[11、4]、[7、8]、[8、7]、[6、9]、[9、6]、[5、10]、[10、5]、および[15]である。これら16個の適法のブロックタイプの各々は、所与のビッド月の日の間に複数の異なるパターンで分配され得る。
システムは、最大の潜在的カバレッジ改善を提供するブロックタイプm=1(たとえば、ブロックタイプ[4,4,7])のパターンを決定し、その値をv1として記憶することができる。たとえば、システムは、式(1.4)を使用してブロックm=1(たとえば、ブロックタイプ[4,4,7])の各可能なパターンに対する改善値を計算し、最大値を提供するパターンを識別することができる。システムは、識別されたブロックタイプm=1のパターンおよびその関連付けられている改善値(たとえば、v1)を記憶することができる。次いで、システムは、ブロックタイプm=2(たとえば、ブロックタイプ[4,7,4])に対して同じプロセスを実行し、セットM内の適法のブロックタイプのすべての各タイプが評価されるまで、同様に続ける。
システムは、各適法のブロックタイプに対するそれぞれの改善値(vm)を比較して、最大の潜在的カバレッジ改善を有する可能な予備勤務パターンを識別する。いくつかの実装形態において、システムは、記憶されている改善値(vm)のすべてを比較する前に各適法のブロックタイプの評価を完了して、最大の改善値を有するパターンを識別する。いくつかの実装形態において、システムは、各適法のブロックタイプmが評価されるときに継続的に改善値(vm)を比較する。たとえば、第2のブロックタイプ(m=2)が改善値(v2)に評価された後、システムは、改善値v1の記憶されている値とv2の値とを比較することができる。システムは、2つの値のうちの大きい方を、関連付けられている予備パターンとともに記憶することができる。次いで、システムは、各後続の適法のブロックタイプについてプロセスを繰り返し、セットM内のすべての勤務ブロックタイプが評価されるまでより高い改善値(vm)を有するパターンのみを記憶することができる。次いで、残りの記憶されている予備パターンは、最大の改善値(vm)を有するものとなる。
最高の改善値(たとえば、max vm)は、たとえば、停止基準(210)と比較され、列生成プロセス204が完了し、停止できるかどうか、または追加の列が生成されるべきかどうかを決定することができる。たとえば、停止基準は、予備スケジュールに追加の予備パターンを追加するコスト(c)とすることができる。識別された予備パターンの改善値が、予備パターンを予備スケジュールに追加するためのコストよりも大きい場合、列生成プロセス(204)はステップ(212)に進む。識別された予備パターンの改善値が、予備パターンを予備スケジュールに追加するためのコストよりも小さい場合には、列生成プロセス(204)は完了し、最適化プロセス200はステップ(218)に進む。
ステップ(212)において、最高の改善値を有する予備パターンに関連付けられているカバレッジ列が、カバレッジ行列202に追加される。たとえば、カバレッジ行列202は、新しいカバレッジ列を追加することによって更新される。次いで、更新されたバージョンのカバレッジ行列(たとえば、更新されたカバレッジ行列214)は、ステップ206において、列生成プロセス(204)の後続の反復を実行するために使用される。たとえば、図3Aの簡素化されたカバレッジ行列300を参照すると、カバレッジ列2、3、および4に関連付けられている予備パターンの改善値は、関連付けられている予備パターンをスケジュールに追加するコストよりも大きかった可能性がある。その結果、カバレッジ列2、3、および4の各々は、列生成プロセス(204)のそれぞれの反復の間に簡素化されたカバレッジ行列300に追加されるであろう。たとえば、カバレッジ列がカバレッジ行列202に追加されたときに、新しいカバレッジ列(たとえば、図3Aの簡素化されたカバレッジ行列300の列2)は、選択された予備パターンの試行カバレッジ率から生成される。すなわち、選択された予備パターンは列生成プロセス(204)の特定の反復について最高の改善値を有すると識別された特定の予備パターンである。
いくつかの実施形態において、システムは、複数の列をカバレッジ行列202に追加することができる。たとえば、システムは、追加された列が各々停止規則を満たさない改善値(たとえば、veach columnがcより大きくない)を有する限り、サブ問題の各反復の間に複数の(たとえば、2つまたはそれ以上の)新しい列をカバレッジ行列202に追加することができる。いくつかの例では、システムは、各適法のパターンタイプに対する最良の生成されたパターンを、カバレッジ行列202の新しい列として追加することができる。各適法のパターンタイプに対する最良のパターンは、各適法のパターンタイプの最高の改善値を有するパターンとして評価され得る。いくつかの実装形態において、システムは、所定の数(たとえば、5、10、15など)の新しいパターンを追加することができる。たとえば、システムは、上位5つのパターンをカバレッジ行列202に列として追加することができる(たとえば、5つの最高の改善値を有するパターン)。
ステップ(218)では、システムは、最終予備需要カバレッジ行列216を使用して、予備勤務パターンの最終セットを生成する。たとえば、最終予備需要カバレッジ行列216は、列生成プロセス(204)において追加されたカバレッジ列(たとえば、図3Aの簡素化された行列300の列2~4)のすべてを含むカバレッジ行列202である。たとえば、システムは、最終予備需要カバレッジ行列216を使用して、完全な制約(たとえば、xj∈{0,1})を有するマスター問題を実行することによって予備需要パターンの最終セットを生成することができる。
たとえば、図3Aの簡素化されたカバレッジ行列300を参照すると、最終予備勤務パターンを生成するためにマスター問題を実行した結果(218)、カバレッジ列1、2、および4は最適な予備カバレッジ解として簡素化されたカバレッジ行列300から選択され得る。例として、マスター問題のそのような解は、マスター問題が完全な制約を有する整数問題として解かれたときに、[1 1 0 1]のxjベクトルを生成することになる。システムは、予備需要カバレッジ行列216の最終バージョンの選択された列を翻訳して、予備勤務パターンの最終セットを生成することができる。
図3Bは、図3Aの簡素化されたカバレッジ行列300から生成される予備勤務パターン354の簡素化されたセットの一例を示す。チャート350は、予備勤務パターン1、2、および4が10暦日の間に旅行1~5に対して提供するカバレッジを例示している。一緒に、選択された予備勤務パターン354は、各旅行(nd)のそれぞれの予想予備需要に従って簡素化されたビッド月内の旅行352に対して完全なカバレッジを提供する。たとえば、1日目と2日目には、予備勤務パターン1~3の各々が必要になった場合に旅行1をカバーするために利用可能である。4日目には、必要な場合に予備勤務パターン1が旅行2をカバーするために利用可能である。5日目には、予備勤務パターン1が旅行2および3をカバーするために利用可能であり、カバレッジ率はそれぞれ0.45および0.1である。カレンダーの6日目には、予備勤務パターン1および2が旅行2、3、および4をカバーするために利用可能である。より具体的には、6日目には、予備勤務パターン1は旅行2および3をカバーするために利用可能であり、組み合わされたカバレッジ率は0.55であり、また旅行4をカバーするためにも利用可能であり、カバレッジ率は0.45である。しかしながら、旅行4は1.25の予想予備カバレッジを有し、したがって予備勤務パターン2は旅行4をカバーするために利用可能であり、カバレッジは0.8である。言い換えると、予備勤務パターン2は旅行4を、時間の80%でカバーする。8~10日目には、予備勤務パターンは、また、旅行5をカバーするために利用可能であり、カバレッジは0.2であり、予備勤務パターン4は旅行5をカバーするために利用可能であり、カバレッジは0.95である。
いくつかの例では、この最適化プロセス200の解は、選択された予備パターンのセットおよびカバーされていない旅行だけでなく、各選択されたパターンによってカバーされる空き時間旅行のセットおよび各空き時間旅行をカバーするために使用され得るすべてのパターンも含む。予備需要のカバレッジの2つの状況が存在し得る。1つは、需要はより少ないパターンでカバーされるが、予想需要の値と比較して十分に高い可能性を有する状況である。別の状況は、空き時間旅行が、より多くのパターンでカバーされ得るが、各パターンに対するカバレッジは比較的低い状況である。この状況では、1つのカバレッジの可能性は低いが、より多くのパターンによってカバーされるものとしてよく、これにより予想需要のレベルに基づきカバーされる確率は依然として高い。
いくつかの実装形態において、追加のまたは代替的な制約は、異なる航空路線内の異なる予備パターンパラメータ(たとえば、予備スケジューリングルール)に基づきモデルに追加され得る。たとえば、次のように定式化されるマスター問題に、予備乗務員のキャパシティが追加されてもよい。しかしながら、最適化モデルは予備乗務員に割り当てられるべき予備パターンのセットを与えることができるので、含められることは必ずしも必要でない。このセットは、モデルが見つけた最適解であり、予備パターンの数はスケジューラへの提案であってよく、スケジューラは乗務員の他のグループを調整して、彼らを運ぶ乗務員を見つけることができる。予備乗務員管理を改善するための方法は多数ある。たとえば、長期の予備乗務員管理が良くない場合、前月計画段階の予備乗務員のキャパシティが影響を受けることになる。最適解は、キャパシティによって制限される。
与えられ得る別の改善例は、日常業務における割り当てポリシーである。パターンの設計に合った良好な割り当てポリシーは、パターンのカバレッジ効果に可能な限り高める。いくつかの実装形態において、マスター問題は、ハイブリッド予測データを使用して繰り返され得る。たとえば、マスター問題は、ビッド月において繰り返され、ビッド月の進行に合わせて予備乗務員割り当てを調整することができる。予測データは、定期的にスケジュールされる旅行が計画通りに実行されるか、またはキャンセルされ、予備乗務員によってカバーされるときに実際の旅行データにより更新され得る。たとえば、図3Bを参照すると、旅行2が定期的にスケジュールされる乗務員でスケジュール通り飛行した場合、旅行2に関連付けられている予測データは、旅行がスケジュール通り実行されたことを示す実際のデータに置き換えることができる(たとえば、旅行2のndは、その旅行が予備乗務員によってカバーされる必要がないことを示すゼロに置き換えられ得る)。旅行2に対する実際のデータは、場合によっては旅行2をカバーするように予備パターン(RDパターン1)の必要性をなくし、したがって他の旅行をカバーするために利用可能にする。その結果、マスター問題を再実行することで、RDパターン1を、まだ予備カバレッジを必要とし得る別の旅行に再割り当てすることになる。ビッド月に旅行を再割り当てするために、マスター問題は、最終予備需要カバレッジ行列216およびハイブリッド予測データを使用して日常的に(たとえば、毎日、毎週など)実行され得る。このような状況では、マスター問題は、完全な制約(たとえば、xj∈{0,1})を有する整数問題として使用して実行され、これにより、再割り当てを生成するのに必要なコンピューティングリソースおよび時間を低減することができる。
Figure 0007461378000019
多段階確率的最適化プロセスは、任意の旅行がドロップできるかどうかを決定するために開発されている。日常業務段階が始まると、その間に予備割り当てプロセスが開始する。ビッド期間の各日について、各空き時間旅行タイプの数が知られている情報となる。それらをいくつかの乗務員予備航空路線に割り当てた後、予備需要行列などの最適化モデルのパラメータの値が更新され得る。列生成アルゴリズムから得られたパターンのセットは、旅行が割り当てられた予備日と法規に基づき解放された予備日を削除した後に固定入力データとなる。
最適化モデルをこれらの更新されたパラメータで再実行すると、システムは、次の確率的段階のための割り当て提案を提供するようにカバレッジを更新することができる。許可されたドロップ予備日のリストが与えられ、そこでカバレッジの影響度が高いドロップされた日が最上位にリストされる。上位にあるパターンは、より良く保護されるべきである。空き時間旅行をカバーするのに十分に長い勤務ブロックを有する実行可能な予備ブロックのセットが見つかったときに、割り当てプロセスにおいていくつかのポリシーが考慮され得る。
1)このセットの中で最も短いものを選択する。完全一致が最良である。
2)満たされる複数のブロックがある場合、以前により多くの未使用予備日またはより少ない勤務時間を有するものを選択する。
3)まだ満たされている複数のブロックがある場合、この長いパターンが関連する高い可能性を有する長期旅行のために保存されるべきかどうかを考慮する。
図4~図7は、米国の大手航空会社で実施された実験的ケーススタディからのデータを示している。1つの4週ビッド月がターゲットとしてランダムに選択される。ビッド月T内の総日数は28である。旅行長さの範囲は1から13までである。このビッド期間のスケジュールされた旅行は、図4に示されているような行列に記憶され、これは予備予測システム106の入力として使用される。図5は、図4のスケジュール行列に示されている旅行に対する予想予備需要行列Dを例示している。
たとえば、予備パターンの長さが15日分であり、全勤務外日が28-15=13であると仮定する。各勤務日ブロックは、少なくとも4つの予備日を含む(たとえば、MB=4)ので、勤務日ブロックの最大数Kは3である。適法の勤務日ブロックタイプMは、[4、4、7]、[4、7、4]、[7、4、4]、[4、5、6]、[5、4、6]、[6、5、4]、および[5、5、5]のようにリストアップされている。勤務外ブロックは4つある。2つの勤務ブロック間の片方の1つのブロックが0であるときに、勤務ブロックの数は2に減らされる。勤務ブロック間の両方の勤務外ブロックが0である場合、パターンは1つの勤務ブロックのみを有する15日長のパターンになる。勤務外ブロックを設定することによって、3つ未満の勤務ブロックを有するすべての適格な勤務ブロックタイプが、[4、11]、[11、4]、[7、8]、[8、7]、[6、9]、[9、6]、[5、10]、[10、5]、および[15]などのモデルで作成される。
乗務員に1つの予備パターンを与えるコストは、100と仮定され、1日あたりの旅行に対するアンカバーコストは15である。モデルのサブ問題においてパターンを生成するために使用される制約は、次のように示される。
Figure 0007461378000020
図6のチャート600は、解におけるパターンの1つである。列は、4週ビッド月内の日を表す。最初の行は、モデルによって生成されたパターンであり、そのパターンタイプは[5,4,6]_[2,2,2,7]である。中に1を有する要素は、勤務日であることを示し、何もない場合は勤務外日であることを示す。最初の行と最後の行を除く各行は、予測予備需要でカバーされる必要のある1つの空き時間旅行を示している。図に示されているように、12の旅行が、このパターンでカバーされると予測される。パターン内の各勤務日について、「利用」という行に記憶されている総カバレッジは、決して1より大きくならない。最後の列は、この旅行をカバーするためにパターンを使用する可能性を示している。カバレッジの数が1である場合、旅行(16,1)、旅行(17,1)、旅行(20,2)などとの重なりを有する、この行列内に存在する他の旅行はない。カバレッジが1未満の場合、重なりは存在することを許され、合計は1以下であるべきである。旅行(3,5)および旅行(3,2)は重なりを有し、これはこのパターンを使用して旅行(3,5)をカバーする可能性は15.28%であり、旅行(3,2)をカバーする可能性は84.72%であることを示している。両方の旅行が予備カバレッジを必要とする場合、パターン1はそのうちの一方をカバーするためだけに使用され得るが、図6のチャート602および図6のチャート604に示されているようにそれらをカバーすることができる他のパターンがある。各旅行の総カバレッジは、その旅行の予測需要に基づいている。1つの空き時間旅行が発生したときに、この旅行をカバーできるすべての利用可能なパターンが比較され、選択されるべきである。
図7のチャート700は、予備割り当てプロセスの後に20個のパターン(たとえば、1~20行目に示されているパターン航空路線1~20)を含むプロセス200(上で説明されている)によって生成されたカバレッジ解を示す。空き時間旅行は、このビッド月の実際の履歴データからのものである。割り当てプロセスは、1日1回旅行を割り当てるタイムラインに従う。いくつかの例では、次の基準が、旅行を割り当てるときに考慮され得る。
1)同じ日に開始するすべての空き時間旅行を比較したときに長い旅行が最初に割り当てられる。
2)未使用のより多い日数であったものを最初に割り当てる。
3)将来の長い旅行をカバーするために使用される可能性が高い場合に1日を超える長さの旅行をパターンに割り当てない。
最後の1つを除く各行は、1つの予備パターン(「パターン航空路線」とも呼ばれる)を示している。最後の2つを除いた列は、4週ビッド月内の日を表す。「1」が入っているチャートセルは勤務日を示す、何も入っていないチャートセルは勤務外日を示す。濃い網掛けセルは未使用予備日を示し、薄い網掛けセルは定期的にスケジュールされる旅行に割り当てられている予備日を示す。太い枠は、割り当てられた旅行の長さを例示している。行704内の数は、ビッド月の各日で利用可能なパターンの合計を示し、列706内の数は、そのパターンの未使用日の合計を示す。図示されているように、列706内の最小数は0であり、最大数は5である。したがって、各パターンに対する利用率は67%から100%の範囲にある。合計未使用予備日数は57日であり、これにより予備パターンの平均利用率は81%となる。
293予備需要における50日は予備パターンでカバーされないと決定され、したがってカバレッジは82.935%で終わる。カバーしないパターンに対する理由は2つあり、1つは可能性は高いがカバーするのに15日パターンを使用するのは短すぎることである。もう1つは、発生する可能性が低いことによるものである。
図7のチャート702は、モデルの解のパターン6の予測カバレッジおよび旅行を割り当てた後の結果を例示している。チャート700の破線枠内のパターン6は、それと一致している。図示されているように、パターン6の使い方はほぼ完全である。旅行(10,2)だけが割り当てられておらず、そのパターンは発生が予測される。実際には、日常業務でカバーされる必要のある空き時間旅行(10,2)がある。パターン6に割り当てられていない理由は、すべての利用可能なパターンを比較したときに事前により多くの未使用日を含む他のパターンがあることである。空き率のバランスをとるために、この旅行はパターン3に割り当てられると決定される。
ケーススタディでは、i5-4300U CPUを搭載するHP EliteBook 820サーバ上で最適化モデルが実行された。Gurobi 6.0.4は、Pyhthonでこのテストインスタンスを解くために使用されている。線形(緩和された制約)問題は227分で解かれ、512の予備パターンを生成した。最適コストは2039.15である。整数問題は、1312秒で良い解をもたらし、コストは2301.93である。いくつかのより多くのケーススタディが、異なるフリートおよびビッド期間に対して行われている。これらの結果は、Table 4(表4)に示されている。
Figure 0007461378000021
いくつかの実装形態において、プロセス200は、精密化されたマスター問題およびサブ問題を実行することができる。たとえば、精密化されたマスター問題および精密化されたサブ問題(以下で定義される)は、追加の予備パターンパラメータを考慮する。精密化されたマスター問題および精密化されたサブ問題は、2勤務月にまたがる旅行(たとえば、1勤務月の月末から始まり、次の勤務月の月初までに完了していないスケジュールされた航空旅行)の予備カバレッジを許容する。
精密化されたマスター問題:
Figure 0007461378000022
以下を条件とする。
Figure 0007461378000023
マスター問題(2.1~2.5)はセットカバー問題であり、udの存在により常に実現可能である。制約セット(2.2)および(2.5)は、上記の制約セット(1.2)および(2.5)と同じである。制約セット(2.2)は、カバレッジのサブセットが予備需要をどのようにカバーするかを記述する。制約セット(2.3)は、予備パターン航空路線(U)(たとえば、図7の予備パターン航空路線1~20)の最大数を定義する。たとえば、スタッフィング分析で、25人の予備乗務員しか次のビッド月で利用できないと予測される場合、制約(2.3)は、予備パターンの総数を25の予備航空路線(たとえば、利用可能な予備乗務員毎に航空路線1つ)に制限する。
制約セット(2.4)では、「特別な」予備パターンのパラメータを追加することができる。具体的には、制約セット(2.4)は、「特別な」予備勤務パターンの総数が、全勤務パターンの特定のパーセンテージに制限されていることを確認するためのチェックである。特別な予備勤務パターンは、限定はしないが、標準的な最小勤務日数よりも少ない、または標準的な最大勤務日数よりも多い固有の勤務日数を有するパターン、または週末勤務日を回避するパターンを含むことができる。たとえば、航空会社は、勤務月毎に限られた数の短い勤務期間(たとえば、標準的な最小勤務日数より少ない勤務日数を含む勤務パターン)を許可し得る。制約セット(2.4)において、δjは、予備パターンjが「特別な」予備勤務パターンであるかどうかを示す2進値であり、δjは、パターンjが「特別な」パターン(たとえば、標準的な最小勤務日数よりも少ない勤務日数を有する)である場合に1に設定され、そうでない場合に0に設定される。βは、ビッド期間毎の「特別な」勤務パターンの数に対する航空会社の希望する制限を表し、たとえば、βは、全予備勤務パターンの最大パーセンテージ(たとえば、0から50%の間)を表す。
マスター問題(1.1~1.3)と同様に、問題を扱いやすくするために、(xjに関連付けられている)列は、列生成手順に従って反復的に作成される。その線形緩和(たとえば、xj∈[0,1])がその最適性に対して解かれたときに、制約dのシャドウ値(たとえば、シャドウ価格)(空き時間旅行需要、およびwdで示される)が決定され得る。
各可能な予備パターンについて、プロセス200は、サブ問題(以下に定義される)を使用して、パターンの潜在的改善値(vm+w|D|+1+(δi-0.1)w|D|+2-c)を計算し、w|D|+1は制約(2.3)に関連付けられているシャドウ値を表し、(δi-0.1)w|D|+2は制約(2.4)に関連付けられているシャドウ値を表す。改善値は、所与のパターンがマスターセットカバー問題によって支配されるような全体的最適化モデルに提供する潜在的コスト改善を表す。解く時間を短縮するために、すべての可能な予備勤務パターンのセットIは、サブ問題において生成される。変数
Figure 0007461378000024
は、ビッド期間内のすべての勤務日を配置するために使用される。
Figure 0007461378000025
は、t日目がこのパターンにおけるf番目の勤務日である場合に1であり、そうでない場合には0である。
精密化されたサブ問題:
Figure 0007461378000026
以下を条件とする。
Figure 0007461378000027
精密化されたサブ問題に対する停止条件も修正される。サブ問題を解いた後、vm+w|D|+1+(δi-0.1)w|D|+2>cであれば、システムは、コスト係数
Figure 0007461378000028
を有する列qdをカバレッジ率行列Jに追加する。システムは、新しい列に対して
Figure 0007461378000029
を割り当てる。そうでなければ、システムはサブ問題を停止し、完全な整数制約(たとえば、xj∈{0,1})でマスター問題(2.1~2.5)を解く。
前に説明されているサブ問題と同様に、精密化されたサブ問題では、qdの係数ベクトルを有するマスター問題の新しい列を作成するように最大のvmが選択される。mは、すべての適法の勤務ブロックタイプ(たとえば、勤務ブロック毎の勤務日最小日数(MB)を満たすすべての勤務ブロックタイプ)を含むセットMの要素を表す。精密化されたサブ問題の制約セット(2.6)において、vmの計算は、上記の制約セット(1.4)から修正されており、制約セット(2.10)および(2.12)は、精密化されたサブ問題に追加されている。精密化されたサブ問題における残りの制約セットは変更されていない。
vm、制約条件(2.6)の計算は、繰り越し予備パターンを考慮して修正されている。繰り越し予備パターンは、2つのビッド月と重なる予備パターンである。たとえば、繰り越し予約パターンは、最初のビッド月の終わりから始まり、後続のビッド月の初めで終わる。後続のビッド月内に延長して入る勤務パターン日数に対する(2.6)内の追加コスト項
Figure 0007461378000030
は、vmの計算から差し引かれ、Tは現在のビッド月における総日数であり、T'は後続のビッド月内の総日数である。
制約セット(2.10)は、各勤務パターンOiの勤務日を比較して、パターンがあるビッド月(T)から次のビッド月(T')に至る勤務期間を含むかどうかを判定することによって繰り越し旅行をチェックする。勤務日は1で表され、勤務外日は0で表される。勤務パターンOiが次のビッド月に繰り越す場合、不等式は真となる。
制約集合(2.12)は、週末勤務の「特別な」予備パターンをチェックするために使用される。Lは、ビッド月内の週末日のセットを表す。勤務パターンが「特別な」予備パターンを含んでいない場合、Lはφ(空集合)に設定される。制約セット(2.12)は、不許可の勤務パターンOiをゼロに設定することによって「特別な」予備パターンが週末勤務日を含むことを防ぐ。
本明細書で説明されている主題および動作の実装形態は、デジタル電子回路で、または本明細書およびその構造的等価物において開示されている構造を含む、コンピュータソフトウェア、ファームウェア、またはハードウェアで、またはそれらのうちの1つまたは複数の組合せで実現され得る。本明細書において説明されている主題の実装形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置によって実行するためにまたはデータ処理装置の動作を制御するためにコンピュータ記憶媒体上に符号化された、コンピュータプログラム命令の1つまたは複数のモジュールを使用して実現され得る。代替的に、またはそれに加えて、プログラム命令は、データ処理装置による実行のため好適な受信機装置に伝送する情報が符号化されるように生成される、人工的に生成された伝搬信号、たとえば、機械で生成された電気、光、または電磁信号上で符号化されることが可能である。コンピュータ記憶媒体は、コンピュータ可読記憶装置デバイス、コンピュータ可読記憶装置基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、またはそれらのうちの1つもしくは複数の組合せであり得るか、または含まれ得る。さらに、コンピュータ記憶媒体は、伝搬信号ではないが、コンピュータ記憶媒体は、人工的に生成される伝搬信号内に符号化されているコンピュータプログラム命令の送信元または送信先とすることができる。コンピュータ記憶媒体は、また、1つまたは複数の独立した物理的コンポーネントまたは媒体(たとえば、複数のCD、ディスク、または他の記憶装置デバイス)であり得るか、または含まれ得る。
本明細書において説明されている動作は、1つまたは複数のコンピュータ可読記憶装置デバイス上に記憶されるか、または他のソースから受信されたデータに対してデータ処理装置によって実行される動作として実装され得る。
「データ処理装置」という用語は、たとえばプログラム可能プロセッサ、コンピュータ、1つまたは複数のシステムオンチップ、または前述のものの組合せを含む、データを処理するためのあらゆる種類の装置、デバイス、およびマシンを包含する。装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)、またはASIC(特定用途向け集積回路)を含むことができる。装置は、また、ハードウェアに加えて、注目しているコンピュータプログラム用の実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォーム実行時環境、仮想マシン、またはこれらのうちの1つまたは複数のものの組合せを構成するコードも含み得る。装置および実行環境は、ウェブサービス、分散型コンピューティング、およびグリッドコンピューティングインフラストラクチャなどの様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとも称される)は、コンパイル言語またはインタプリタ言語、宣言型もしくは手続き型言語を含む、任意の形態のプログラミング言語で書かれ、スタンドアロンプログラム、またはモジュール、コンポーネント、サブルーチン、またはコンピューティング環境において使用するのに適している他のユニットを含む、任意の形態でデプロイされ得る。コンピュータプログラムは、ファイルシステム内のファイルに対応してよいが、そうである必要はない。プログラムは、他のプログラムをまたはデータ(たとえば、マークアップ言語ドキュメントに記憶される1つまたは複数のスクリプト)を保持するファイルの一部に、注目しているプログラム専用の単一ファイルに、または複数の協調ファイル(たとえば、1つまたは複数のモジュール、副プログラム、またはコードの一部分を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに配置されるか、または複数のサイトにまたがって分散され、通信ネットワークによって相互接続されている複数のコンピュータ上で実行されるようにデプロイされることが可能である。
本明細書で説明されているプロセスおよび論理の流れは、入力データを動作し、出力を生成することによってアクションを実行するように1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能なプロセッサによって実行され得る。これらのプロセスまたは論理の流れは、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)、またはASIC(特定用途向け集積回路)によっても実行され、また装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)、またはASIC(特定用途向け集積回路)としても実装されることが可能である。
コンピュータプログラムの実行に適しているプロセッサは、たとえば、汎用マイクロプロセッサ、専用マイクロプロセッサ、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般的に、プロセッサは、リードオンリーメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受け取る。コンピュータのいくつかの要素は、命令に従ってアクションを実行するためのプロセッサならびに命令およびデータを記憶するための1つもしくは複数のメモリデバイスを備える。一般的に、コンピュータは、データを記憶するための1つまたは複数の大容量記憶装置デバイス、たとえば、磁気ディスク、磁気光ディスク、または光ディスクも備え、これらからデータを受け取るか、またはこれらにデータを転送するか、またはその両方を行うように動作可能なように結合される。しかしながら、コンピュータは、そのようなデバイスを有している必要はない。さらに、コンピュータは、他のデバイス、たとえば、2、3例を挙げると、携帯電話、携帯情報端末(PDA)、携帯オーディオまたはビデオプレーヤー、ゲーム機、全地球測位システム(GPS)受信機、またはポータブルストレージデバイス(たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ)に組み込まれることが可能である。コンピュータプログラムの命令およびデータを記憶するのに適したデバイスは、たとえば、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む、あらゆる形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補助されるか、または専用論理回路に組み込まれ得る。
ユーザと情報のやり取りを行うために、本明細書で説明されている発明対象の実装形態は、ユーザに情報を表示するためのディスプレイデバイス(たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)ならびにユーザがコンピュータに入力を送るために使用できるキーボードおよびポインティングデバイス(たとえば、マウスもしくはトラックボール)を有するコンピュータ上で実装されることが可能である。他の種類のデバイスも、ユーザとのインタラクションに使用されてよく、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであってよく、ユーザからの入力は、音響、音声、または触覚入力を含む、任意の形態で受信され得る。それに加えて、コンピュータは、ドキュメントをユーザによって使用されるデバイスに送り、そのデバイスからドキュメントを受け取ることによって、たとえば、ウェブブラウザから受け取った要求に応答して、ウェブページをユーザのクライアントデバイス上のウェブブラウザに送信することによって、ユーザとインタラクションすることができる。
本明細書で説明されている主題の実装形態は、バックエンドコンポーネント(たとえば、データサーバなど)を備えるか、またはミドルウェアコンポーネント(たとえば、アプリケーションサーバ)を備えるか、またはフロントエンドコンポーネント(たとえば、ユーザが本明細書で説明されている主題の実装形態とのインタラクションのために使用することができるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータ)を備えるコンピューティングシステムで、または1つもしくは複数のそのようなバックエンド、ミドルウェア、もしくはフロントエンドコンポーネントの任意の組合せで、実装され得る。システムのコンポーネントは、デジタルデータ通信の任意の形態または媒体(たとえば、通信ネットワーク)によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、およびピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)を含む。
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に、互いに隔てられており、典型的には、通信ネットワークを通じてインタラクションする。クライアントとサーバとの関係は、コンピュータプログラムが各コンピュータ上で実行され、互いとの間にクライアント-サーバ関係を有することによって発生する。いくつかの実装形態において、サーバはデータ(たとえば、HTMLページ)をクライアントデバイスに(たとえば、クライアントデバイスとインタラクションするユーザにデータを表示し、ユーザ入力を受け取ることを目的して)伝送する。クライアントデバイスで生成されるデータ(たとえば、ユーザインタラクションの結果)は、サーバ側でクライアントデバイスから受信され得る。
本明細書は、多くの実装形態固有の詳細事項を含んでいるが、これらは、本開示の実装形態の範囲または請求内容の範囲に対する制限として解釈すべきではなく、むしろ例示的な実装形態に特有のものである特徴の説明として解釈すべきである。本明細書において別々の実装形態の文脈で説明されているいくつかの特徴は、また、単一の実装形態において組み合わされて実現され得る。また、逆に、単一の実装形態に関して説明した様々な特徴は、複数の実装形態において別個に、あるいは任意の好適な部分組合せで実装され得る。さらに、特徴は、いくつかの組合せで働くものとして上記で説明され、初めにそのように請求されることさえあるが、請求される組合せからの1つまたは複数の特徴は、場合によってはその組合せから削除され得、請求される組合せは、部分組合せ、または部分組合せの変形形態を対象とし得る。
同様に、動作は特定の順序で図面に示されているが、そのような動作は、望ましい結果を達成するために、示される特定の順序でもしくは順番に実行される必要がないことを、またはすべての図示の動作が実行される必要があるとは限らないことを、理解されたい。ある状況では、マルチタスキングおよび並列処理が有利である場合がある。さらに、上記で説明した各実装形態における様々なシステムコンポーネントの分離は、すべての実装形態においてそのような分離が必要とされるものと理解されるべきではなく、前述のプログラムコンポーネントおよびシステムが概して単一のソフトウェアプロダクトとして一体化されるかまたは複数のソフトウェアプロダクトとしてパッケージ化されてもよいことを理解されたい。
こうして、主題の特定の実装形態が説明された。他の実装形態は、次の請求項の範囲内に収まる。いくつかの場合において、請求項に記載されている動作は、異なる順序で実行されてもよく、しかも望ましい結果を達成することができる。それに加えて、添付図面に示されているプロセスは、必ずしも、望ましい結果を達成するために、図示されている特定の順序、または順番を必要としない。いくつかの実装形態において、マルチタスキングおよび並列処理が有利である場合がある。
100 システム
102 最適化システム
104 フライト乗務員管理システム
106 予測システム
108 ユーザコンピューティングデバイス
110 ネットワーク
112 予備パターンパラメータ
114 予想予備需要データ
116 予備勤務スケジュール
200 予備乗務員最適化プロセス
202 予備需要カバレッジ行列
204 列生成プロセス
214 更新されたカバレッジ行列
216 最終予備需要カバレッジ行列
300 カバレッジ行列
350 チャート
352 旅行
354 予備勤務パターン
600 チャート
602 チャート
604 チャート
704 行
706 列

Claims (20)

  1. 航空路線予備スケジューリングシステムであって、
    1つまたは複数のプロセッサと、
    前記1つまたは複数のプロセッサに動作可能に接続可能であり、実行されたときに動作を実行する命令を記憶する1つまたは複数の有形の非一時的媒体であって、前記動作は
    予測データおよび予備勤務パターンパラメータを含む入力データを取得するステップと、
    停止基準が満たされるまで予備需要カバレッジ率(RDCR)行列に対する追加のカバレッジ率列を反復的に生成するステップであって、各反復は
    前記RDCR行列内の、前記反復に対して選択された、カバレッジ率列のセットについて、複数の航空旅行の予備需要カバレッジの増分変化の限界値を示すシャドウ値を決定するステップと、
    前記入力データに基づき、前記複数の航空旅行をカバーするための複数の可能な予備勤務パターンを決定するステップと、
    前記可能な予備勤務パターンの各々について改善値を決定するステップであって、各改善値は前記シャドウ値および各可能な予備勤務パターンに関連付けられているトライアルカバレッジ率に基づき決定される、ステップと、
    前記可能な予備勤務パターンの中から特定の予備勤務パターンを、前記可能な予備勤務パターンのすべての前記改善値の中で最も高いそれぞれの改善値により、識別するステップと、
    前記それぞれの改善値が前記停止基準を満たすかどうかを決定するステップと、
    前記特定の予備勤務パターンの前記改善値が前記停止基準を満たさない場合に、
    前記特定の予備勤務パターンに関連付けられている前記トライアルカバレッジ率から新しいカバレッジ率列を生成するステップと、
    前記新しいカバレッジ率列を追加のカバレッジ率列としてRDCR行列に追加するステップとを含むステップと、
    前記特定の予備勤務パターンの前記改善値が前記停止基準を満たす場合に、
    追加のカバレッジ率列を反復的に生成する前記ステップを停止するステップと、
    前記RDCR行列に基づき、予備勤務パターンの最終セットを生成するステップとを含む、航空路線予備スケジューリングシステム。
  2. 前記RDCR行列に対する前記追加のカバレッジ率列は、線形問題制約を使用して生成される、請求項1に記載のシステム。
  3. 予備勤務パターンの前記最終セットは、整数問題制約を使用して生成される、請求項1に記載のシステム。
  4. 前記RDCR行列に対する前記追加のカバレッジ率列は、線形問題制約を使用するときのように生成され、予備勤務パターンの前記最終セットは、整数問題制約を使用して生成される、請求項1に記載のシステム。
  5. 前記予測データは、複数の航空旅行を、各航空旅行が予備乗務員によるカバレッジを必要とする確率を示す予想予備需要値に関連付ける、請求項1に記載のシステム。
  6. 前記予測データは、複数日航空旅行に関連付けられている少なくともいくつかの予想予備需要値を含む、請求項5に記載のシステム。
  7. 前記予測データは、丸められていない予想予備需要値を含む、請求項5に記載のシステム。
  8. 前記予備勤務パターンパラメータは、予備パターンの長さおよび予備ブロック毎の勤務日の最小日数を含む、請求項1に記載のシステム。
  9. 前記シャドウ値を決定するステップは、前記RDCR行列内のカバレッジ率列の前記セットに基づき線形問題制約を使用してセットカバー問題を解くステップを含む、請求項1に記載のシステム。
  10. 予備勤務パターンの前記最終セットを生成するステップは、前記RDCR行列の列の最終セットに基づき、整数問題制約を使用して、前記セットカバー問題を解くステップを含む、請求項9に記載のシステム。
  11. 前記動作は、前記RDCR行列およびハイブリッド予測データに基づきセットカバー問題を解くことによって予備勤務パターンの改訂されたセットを生成するステップをさらに含み、前記ハイブリッド予測データは、第1の複数の航空旅行を実際の予備需要データに関連付け、第2の複数の航空旅行を、各航空旅行が予備乗務員によるカバレッジを必要とする確率を示す予想予備需要値に関連付ける、請求項1に記載のシステム。
  12. 前記予備勤務パターンパラメータは、限られた数の特別な予備勤務パターンを含む、請求項1に記載のシステム。
  13. コンピュータ実装方法であって、
    予測データおよび予備勤務パターンパラメータを含む入力データを取得するステップと、
    停止基準が満たされるまで予備需要カバレッジ率(RDCR)行列に対する追加のカバレッジ率列を反復的に生成するステップであって、各反復は
    前記RDCR行列内の、前記反復に対して選択された、カバレッジ率列のセットについて、複数の航空旅行の予備需要カバレッジの増分変化の限界値を示すシャドウ値を決定するステップと、
    前記入力データに基づき、前記複数の航空旅行をカバーするための複数の可能な予備勤務パターンを決定するステップと、
    前記可能な予備勤務パターンの各々について改善値を決定するステップであって、各改善値は前記シャドウ値および各可能な予備勤務パターンに関連付けられているトライアルカバレッジ率に基づき決定される、ステップと、
    前記可能な予備勤務パターンの中から特定の予備勤務パターンを、前記可能な予備勤務パターンのすべての前記改善値の中で最も高いそれぞれの改善値により、識別するステップと、
    前記それぞれの改善値が前記停止基準を満たすかどうかを決定するステップと、
    前記特定の予備勤務パターンの前記改善値が前記停止基準を満たさない場合に、
    前記特定の予備勤務パターンに関連付けられている前記トライアルカバレッジ率から新しいカバレッジ率列を生成するステップと、
    前記新しいカバレッジ率列を追加のカバレッジ率列として前記RDCR行列に追加するステップとを含むステップと、
    前記特定の予備勤務パターンの前記改善値が前記停止基準を満たす場合に、
    追加のカバレッジ率列を反復的に生成する前記ステップを停止するステップと、
    前記RDCR行列に基づき、予備勤務パターンの最終セットを生成するステップとを含む、コンピュータ実装方法。
  14. 前記RDCR行列に対する前記追加のカバレッジ率列は、線形問題制約を使用して生成される、請求項13に記載の方法。
  15. 予備勤務パターンの前記最終セットは、整数問題制約を使用して生成される、請求項13に記載の方法。
  16. 前記予測データは、複数の航空旅行を、各航空旅行が予備乗務員によるカバレッジを必要とする確率を示す予想予備需要値に関連付け、
    前記予測データは、複数日航空旅行に関連付けられている少なくともいくつかの予想予備需要値を含み、
    前記予測データは、丸められていない予想予備需要値を含む、請求項13に記載の方法。
  17. 前記シャドウ値を決定するステップは、前記RDCR行列内のカバレッジ率列の前記セットに基づき線形問題制約を使用してセットカバー問題を解くステップを含み、
    予備勤務パターンの前記最終セットを生成するステップは、前記RDCR行列の列の最終セットに基づき、整数問題制約を使用して、前記セットカバー問題を解くステップを含む、請求項13に記載の方法。
  18. 前記RDCR行列およびハイブリッド予測データに基づきセットカバー問題を解くことによって予備勤務パターンの改訂されたセットを生成するステップをさらに含み、前記ハイブリッド予測データは、第1の複数の航空旅行を実際の予備需要データに関連付け、第2の複数の航空旅行を、各航空旅行が予備乗務員によるカバレッジを必要とする確率を示す予想予備需要値に関連付ける、請求項13に記載の方法。
  19. コンピュータ実装方法であって、
    予測データおよび予備勤務パターンパラメータを含む入力データを取得するステップと、
    停止基準が満たされるまで予備需要カバレッジ率(RDCR)行列に対する追加のカバレッジ率列を反復的に生成するステップであって、各反復は
    複数の航空旅行の予備需要カバレッジの増分変化の限界値を示すシャドウ値を、前記RDCR行列内の、前記反復について選択された、カバレッジ率列のセットに基づき、線形問題制約を使用して、セットカバー問題を解くことによって、決定するステップと、
    改善値を含む、新しい予備勤務パターンを生成するステップと、
    前記新しい予備勤務パターンの前記改善値が前記停止基準を満たすかどうかを決定するステップと、
    前記新しい予備勤務パターンの前記改善値が前記停止基準を満たさない場合に、
    前記新しい予備勤務パターンに基づき新しいカバレッジ率列を生成するステップと、
    前記新しいカバレッジ率列を追加のカバレッジ率列として前記RDCR行列に追加するステップとを含むステップと、
    前記新しい予備勤務パターンの前記改善値が前記停止基準を満たす場合に、
    追加のカバレッジ率列を反復的に生成する前記ステップを停止するステップと、
    前記RDCR行列に基づき、予備勤務パターンの最終セットを生成するステップとを含む、コンピュータ実装方法。
  20. 新しい予備勤務パターンを生成するステップは、
    前記入力データに基づき、前記複数の航空旅行をカバーするための複数の可能な予備勤務パターンを決定するステップと、
    前記可能な予備勤務パターンの各々について改善値を決定するステップであって、各改善値は前記シャドウ値および各可能な予備勤務パターンに関連付けられているトライアルカバレッジ率に基づき決定される、ステップと、
    前記可能な予備勤務パターンの中から特定の予備勤務パターンを、前記可能な予備勤務パターンのすべての前記改善値の中で最も高いそれぞれの改善値を有する前記特定の予備勤務パターンに基づき選択するステップとを含む、請求項19に記載の方法。
JP2021568074A 2019-05-15 2020-05-15 予備乗務員パターンを最適化すること Active JP7461378B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962848374P 2019-05-15 2019-05-15
US62/848,374 2019-05-15
PCT/US2020/033240 WO2020232396A1 (en) 2019-05-15 2020-05-15 Optimizing reserve crew patterns

Publications (2)

Publication Number Publication Date
JP2022532371A JP2022532371A (ja) 2022-07-14
JP7461378B2 true JP7461378B2 (ja) 2024-04-03

Family

ID=71069956

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021568074A Active JP7461378B2 (ja) 2019-05-15 2020-05-15 予備乗務員パターンを最適化すること

Country Status (6)

Country Link
US (1) US20200364640A1 (ja)
EP (1) EP3970098A1 (ja)
JP (1) JP7461378B2 (ja)
CN (1) CN114503137A (ja)
CA (1) CA3138937A1 (ja)
WO (1) WO2020232396A1 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003157343A (ja) 2001-09-07 2003-05-30 Japan Airlines Co Ltd 人員アサインシステム及び人員アサインプログラム
JP2006059111A (ja) 2004-08-19 2006-03-02 Isac Inc 勤務管理システム
JP2013073259A (ja) 2011-09-26 2013-04-22 Mitsubishi Electric Information Systems Corp 勤務計画作成装置及びプログラム
JP2013101448A (ja) 2011-11-08 2013-05-23 Takao Suguro 勤務計画作成システム及び勤務計画作成プログラム
US20140257900A1 (en) 2013-03-11 2014-09-11 Us Airways, Inc. Reserve forecasting systems and methods
JP2017021794A (ja) 2015-07-09 2017-01-26 ゼネラル・エレクトリック・カンパニイ 安全を再重視すべき産業において職員作業混乱を管理するための方法およびシステム
US20180101802A1 (en) 2016-10-07 2018-04-12 Stellar Labs, Inc. Fleet optimization across one or more private aircraft fleets

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7191140B2 (en) * 2001-05-29 2007-03-13 Navitaire, Inc. Method and system for generating optimal solutions for open pairings through one-way fixes and matching transformations
WO2006047474A2 (en) * 2004-10-25 2006-05-04 Crewing Solutions Llc System for assigning personnel to tasks in which the personnel have different priorities among themselves
US7801754B2 (en) * 2004-12-29 2010-09-21 Sap Ag Systems, methods and computer-implemented architectures for performing supply chain planning
CN102542404A (zh) * 2011-12-09 2012-07-04 中国南方航空股份有限公司 一种机组排班方法及实现该机组排班方法的系统
US9911101B2 (en) * 2014-09-29 2018-03-06 The Boeing Company Duty block time control via statistical analysis

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003157343A (ja) 2001-09-07 2003-05-30 Japan Airlines Co Ltd 人員アサインシステム及び人員アサインプログラム
JP2006059111A (ja) 2004-08-19 2006-03-02 Isac Inc 勤務管理システム
JP2013073259A (ja) 2011-09-26 2013-04-22 Mitsubishi Electric Information Systems Corp 勤務計画作成装置及びプログラム
JP2013101448A (ja) 2011-11-08 2013-05-23 Takao Suguro 勤務計画作成システム及び勤務計画作成プログラム
US20140257900A1 (en) 2013-03-11 2014-09-11 Us Airways, Inc. Reserve forecasting systems and methods
JP2017021794A (ja) 2015-07-09 2017-01-26 ゼネラル・エレクトリック・カンパニイ 安全を再重視すべき産業において職員作業混乱を管理するための方法およびシステム
US20180101802A1 (en) 2016-10-07 2018-04-12 Stellar Labs, Inc. Fleet optimization across one or more private aircraft fleets

Also Published As

Publication number Publication date
JP2022532371A (ja) 2022-07-14
US20200364640A1 (en) 2020-11-19
CN114503137A (zh) 2022-05-13
EP3970098A1 (en) 2022-03-23
CA3138937A1 (en) 2020-11-19
WO2020232396A1 (en) 2020-11-19

Similar Documents

Publication Publication Date Title
US11221885B1 (en) Allocating resources for a machine learning model
US20240086240A1 (en) Allocating computing resources based on user intent
US9715408B2 (en) Data-aware workload scheduling and execution in heterogeneous environments
US10789544B2 (en) Batching inputs to a machine learning model
US9277003B2 (en) Automated cloud workload management in a map-reduce environment
Byun et al. BTS: Resource capacity estimate for time-targeted science workflows
Li et al. Elastic resource provisioning for cloud workflow applications
US10886743B2 (en) Providing energy elasticity services via distributed virtual batteries
US20130339972A1 (en) Determining an allocation of resources to a program having concurrent jobs
JP6564015B2 (ja) 時間、資源および予算の制約下での構造化経営組織内のプロジェクトの選択および資源の割り当てを最適化する方法およびシステム
US20140189702A1 (en) System and method for automatic model identification and creation with high scalability
CN111108480A (zh) 一种用于分布式资源需求及分配的系统和方法
CN103729246A (zh) 一种任务调度方法和装置
Arabnejad et al. Maximizing the completion rate of concurrent scientific applications under time and budget constraints
Rauchecker et al. Using high performance computing for unrelated parallel machine scheduling with sequence-dependent setup times: Development and computational evaluation of a parallel branch-and-price algorithm
US10635492B2 (en) Leveraging shared work to enhance job performance across analytics platforms
Tchernykh et al. Mitigating uncertainty in developing and applying scientific applications in an integrated computing environment
Nasonov et al. Hybrid evolutionary workflow scheduling algorithm for dynamic heterogeneous distributed computational environment
Tarasov et al. Benders decomposition for a period-aggregated resource leveling problem with variable job duration
JP7461378B2 (ja) 予備乗務員パターンを最適化すること
US20230064834A1 (en) Discrete optimisation
JP6753521B2 (ja) 計算資源管理装置、計算資源管理方法、及びプログラム
Zhu et al. High-Throughput Scientific Workflow Scheduling under Deadline Constraint in Clouds.
US20230161629A1 (en) Optimizer agnostic explanation system for large scale schedules
Li et al. Self-adapting task allocation approach for software outsourcing services

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230515

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240322

R150 Certificate of patent or registration of utility model

Ref document number: 7461378

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150