JP2007265376A - 混合整数計画問題を用いて旅行計画を自動的に作成するための方法及びコンピュータ・プログラム - Google Patents
混合整数計画問題を用いて旅行計画を自動的に作成するための方法及びコンピュータ・プログラム Download PDFInfo
- Publication number
- JP2007265376A JP2007265376A JP2006122654A JP2006122654A JP2007265376A JP 2007265376 A JP2007265376 A JP 2007265376A JP 2006122654 A JP2006122654 A JP 2006122654A JP 2006122654 A JP2006122654 A JP 2006122654A JP 2007265376 A JP2007265376 A JP 2007265376A
- Authority
- JP
- Japan
- Prior art keywords
- service
- time
- slot
- travel
- services
- 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.)
- Granted
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【解決手段】混合整数計画問題を利用して旅行計画を作成するための方法で、旅行者によって入力された旅行期間の各日を複数のスロットに分割し、スロット各々に付与された特性と適合するように関連付けが定義された複数アクティビティを含み、旅行期間内に利用可能なサービスリストを作成し、サービスの各々を複数スロットの各々に割り付けるかどうかを定義する決定変数を使った優先度に関する制約条件、及び、サービス実施に必要な時間幅の長さとの関係に関する第2制約条件を構成し、旅行計画の評価特性を表す目的関数を構成し、第1及び第2制約条件の下で、目的関数を最適化するための決定変数の組み合わせを求め、リストにおけるサービスの各々を複数スロットの各々に割り付けて、旅行計画を作成する。
【選択図】図2
Description
以下に、本発明の1つの実施形態について説明する。当然のことながら、本発明は、この実施形態に限定されるものではない。図1は、本発明の1つの実施形態に係る旅行計画作成システムの基本構成を示すブロック図である。図1に示すように、本旅行計画作成システムは、旅行者、旅行業者、及びシステム管理者が利用する1つ又は複数の端末と、旅行計画を作成する旅行計画作成手段等を実装する旅行計画作成サーバと、アクティビティ及びサービスなどの必要なデータを格納するデータベースとで構成される。ここで「アクティビティ」とは、宿泊、交通、施設見学、食事、又は登山などといった、旅行者が行う観光行動の類型を表す。また、「サービス」とは、1つ又は複数のアクティビティを含む、旅行業者が提供する商品の単位を表す。1つ又は複数の端末と該旅行計画作成装置とは、インターネットなどの通信網を介して接続される。1つ又は複数の旅行者用端末は、旅行者が旅行条件データを入力し、旅行計画作成サーバにおいて作成された旅行計画を表示するための端末である。「旅行条件データ」は、後述するように、旅行者が旅行計画に対して指定する希望条件に関するデータである。1つ又は複数の旅行者用端末は、パーソナル・コンピュータ、携帯電話、又は携帯情報端末(PDA)などのネットワーク端末とすることができる。1つ又は複数の旅行業者用及びシステム管理者用端末は、旅行業者及びシステム管理者が旅行情報データを入力するための端末である。「旅行情報データ」は、後述するように、旅行業者及び/又はシステム管理者が提供及び/又は入力する、旅行計画を作成するために必要なデータである。1つ又は複数の旅行業者用及びシステム管理者用端末は、パーソナル・コンピュータ又は専用端末とすることができる。旅行者、旅行業者、及びシステム管理者が利用する1つ又は複数の端末は、ウェブ閲覧機能及びインターネットなどの通信網への接続機能を有すると共に、少なくとも、CRT又は液晶ディスプレイなどの表示装置と、ハードディスク、RAM、又はCD−ROMなどの記憶装置と、キーボード、マウス、又はタッチパネルなどのデータ入力装置とを有する、汎用又は専用の端末装置であればよい。
図2は、本発明の1つの実施形態に従って、旅行計画作成システムによって旅行計画を作成する方法を概略的に示す。本方法においては、まず、旅行計画の作成を希望する旅行者が、旅行者用端末から、旅行開始日時、旅行終了日時、(例えば、大人、子供、及び乳幼児別の)人数、希望するアクティビティとその優先度及び実施回数、並びに、予算額などの旅行計画特性などといった、旅行計画に対して指定する旅行条件データを入力する。入力された旅行条件データは、インターネットなどの通信網を介して旅行計画作成サーバに送信され、該旅行計画作成サーバの旅行条件データ取得手段において取得される。一方、旅行業者によって別の端末から入力された、サービスが含むアクティビティ、アクティビティの必要時間、サービスの開始日及び終了日、サービスの価格、又は受入人数(サービス対象単位及びグループ数)などのデータ(図9参照)は、インターネットなどの通信網を介して予めデータベースに送信され、格納される。次いで、利用可能リスト作成手段において、旅行条件データ取得手段によって取得した旅行条件データと、データベースに予め格納されている、スロット表のデータ(図5参照)、サービス−アクティビティ表のデータ(図9参照)、及び、アクティビティ−スロット表のデータ(図7参照)とを用いて、利用可能リストを作成する。
以下に、図3〜図23を参照して、本発明の1つの実施形態に係る旅行計画作成サーバにおいて旅行計画を作成する方法を詳細に説明する。図3〜図10は、利用可能リスト作成手段において利用可能リストを作成する手順、及び作成される利用可能リストを示す。利用可能リストは、旅行期間表を作成し、旅程表を作成し、アクティビティ表を作成した上で、これらのデータを用いて作成する。
図3は、旅行者が入力した旅行開始日及び旅行終了日から、旅行期間の日付と曜日とを対応させた旅行期間表を作成するための処理である。処理は、旅行者によって端末から入力され、旅行計画作成サーバの旅行条件データ取得手段によって取得された旅行条件データから、旅行開始日及び旅行終了日を取得する(ステップ301)ことで開始する。取得した旅行開始日は、旅行期間の最初の日付として設定される(ステップ302)。設定された最初の日付を旅行終了日と比較し(ステップ303)、その日付が旅行終了日より前であるか又は旅行終了日と同日の場合には、オペレーション・システムのカレンダー機能を利用して曜日を取得する(ステップ304)。次いで、旅行期間の日付と曜日とを対応付けた旅行期間データを作成し(ステップ305)、日付を1日進めて(ステップ306)、ステップ303に戻る。以上のステップを、日付が旅行終了日と同日になるまで繰り返し、日付が旅行終了日を越えた場合(ステップ303)には、それまでに作成した旅行期間データを順次格納した旅行期間表を作成し(ステップ307)、処理は終了する(ステップ308)。図3のフロー・チャートの処理を実行することによって、旅行期間の日付と曜日とを対応させた旅行期間表が全旅行期間にわたって作成される。
図4は、旅行期間内の複数のスロットについて、そのスロットのスロット・タイプと、そのスロットの開始時刻及び終了時刻とを対応させた旅程表を作成するための処理である。処理は、旅行条件データ取得手段によって取得された旅行条件データから、旅行開始日時及び旅行終了日時を取得する(ステップ401)ことで開始する。次いで、図3の処理で作成された旅行期間表から日付単位で旅行期間データを読み込み(ステップ402)、さらにスロット表を取得する(ステップ404)。このスロット表は、図5に示すように、行ごとに、A〜Hまでの記号で表されるスロット・タイプと、早朝、朝食、又は午前などといった、各スロットの特性を表すスロット特性と、各スロットの開始時刻及び終了時刻とが関連付けて格納されている関連付けデータであり、これらのデータは、システム管理者によって入力及び設定され、データベースに予め格納される。スロット・タイプの数、スロット特性、及び時間幅は、図5に示す例に限るものではなく、例えば、1日を6つの時間帯に分割してスロット・タイプをA〜Fとし、スロット特性を、それぞれ朝食、午前、昼食、午後、夕食、及び夜間とし、スロットの時間幅を、それぞれ2時間、3時間、2時間、4時間、2時間、及び11時間とすることもできる。また、各々のスロットには、複数のスロット特性を付与してもよい。例えば、午前9時から午前10時までのスロットに、「朝食」及び「午前」の2つのスロット特性を付与し、旅行者がいずれかを選択できるようにすることも考えられる。ステップ404のデータ取得は、このスロット表の行単位で行われる。
図6は、旅行者が入力した旅行条件データをアクティビティごとにまとめ、各々のアクティビティをその適合スロット・タイプと対応させたアクティビティ表を作成するための処理である。処理は、旅行者が入力した旅行条件データを取得する(ステップ601)ことで開始する。取得される旅行条件データは、旅行者が旅行期間内に実施することを希望するすべてのアクティビティを含む。次いで、旅行条件データから取得したアクティビティ情報をアクティビティごとに読み込み(ステップ602)、後述するアクティビティ−スロット表から、ステップ602で読み込んだアクティビティに適合する1つ又は複数の適合スロット・タイプを取得する(ステップ604)。
図8は、図3、図4、及び図6の処理で作成された旅行期間表、旅程表、及びアクティビティ表を用いて利用可能リストを作成するための処理のフロー・チャートである。処理は、旅行期間表、旅程表、及びアクティビティ表を取得することで開始する(ステップ801)。次いで、アクティビティ表から絞込条件を読み込む(ステップ802)。この絞込条件は、旅行者が各々のアクティビティについて指定した、優先度、指定時間、実施回数、実施地域、及びその他の絞込情報に関するデータである。ここで、「優先度」は、旅行者が各々のアクティビティについて指定する情報であり、旅行者が希望するすべてのアクティビティが旅行期間内に収まらない場合に、どのアクティビティを優先して旅行計画に組み込むかを定めるものである。本実施形態においては、優先度は、「必須」及び「二次」の2分類から選択して旅行者が指定するが、優先度の分類は2分類に限定されるものではなく、3分類以上とすることもできる。優先度が「必須」のアクティビティは、実施回数分が必ず旅行計画に組み込まれ、優先度が「二次」のアクティビティは、優先度が「必須」のアクティビティを組み込んだ後の旅行日程に組み込むことができる範囲内で、実施回数以下の回数が旅行日程に組み込まれることになる。「指定時間」は、旅行者が各々のアクティビティについて指定する情報であり、旅行者がそのアクティビティに費やすことが可能な(又は、費やすことを希望する)時間を定めるものである。「実施回数」は、旅行者が各々のアクティビティについて指定する情報であり、旅行者が、旅行期間内に希望するアクティビティの各々をそれぞれ何回ずつ実施することを希望するかを定めるものである。「実施地域」は、旅行者が各々のアクティビティについて指定する情報であり、旅行者がそのアクティビティを実施したい地域を定めるものである。「その他の絞込情報」は、例えば、ホテルの部屋のタイプ(例えば、禁煙室か喫煙室かなど)などといったその他の条件を指定する情報である。
ところで、前述の通り、例えば、ある旅行業者が又は複数の旅行業者が提携してトレッキングと昼食とを組み合わせて提供するといったように、1つのサービスで複数のアクティビティが提供される場合がある。上述の処理で作成された利用可能リストにこのような複合サービスが含まれる場合には、利用可能リストのその複合サービスを、各々が1つのアクティビティを含む複数の補助サービスに分割し、元の利用可能リストの複合サービスに関するデータを複数の補助サービスのデータに置換する。また、例えば、朝食後から夕食前までスキーを行うといったように、1つのアクティビティを複数のスロットにわたって提供するサービス(以下、「長大サービス」という)もある。このような場合も、利用可能リスト内のその長大サービス(この場合も同様に「複合サービス」として扱う)を、各々が1つのスロットの時間幅以下の必要時間を有する複数の補助サービスに分割し、元の利用可能リストの長大サービスに関するデータを複数の補助サービスのデータに置換する。以上のような処理を図11〜図13に示すフロー・チャートによって行い、元の利用可能リストから図14に示す拡大利用可能リストを作成する。なお、上述のように、拡大利用可能リストは、利用可能リストの複合サービスを複数の補助サービスに置換したものであり、図10に示す利用可能リストのデータ項目と図14に示す拡大利用可能リストのデータ項目は、拡大サービス・コード及びスロット・タイプを除いて同じものとすることができる。しかしながら、分かりやすくするため、図14においては、図10のデータ項目のうち、後の制約条件構成ステップなどにおいて利用するデータ項目のみを抽出して記載している。
図11は、複合サービスの分割及び拡大利用可能リストの作成に先立って、各々のサービスのサービス・コードと、該サービスに含まれるアクティビティの後述する実効スロットとを関連付けるサービス−スロット表を作成するための処理である。また、図12及び図13は、拡大利用可能リストを作成し、元のサービスと補助サービスとの関係及び補助サービス間の関係データを作成するための処理である。図11においては、処理は図5に示すスロット表、及び、図10に示す利用可能リストを取得することで開始する(ステップ1101)。次いで、利用可能リストのサービス毎に該サービスに関するデータを読み込む(ステップ1102)。読み込んだサービス・データに含まれる開始時刻及び終了時刻から該サービスの開始スロット及び終了スロットを決定し(ステップ1104)、決定された開始及び終了スロットから、ステップ1105〜ステップ1107に従って実効スロット候補を決定する。
図12は、複数のアクティビティを含む1つ又は複数の複合サービスを、各々が1つのアクティビティを含む複数の補助サービスに分割するための処理である。図12においては、処理は、図10に示す利用可能リストと、図11の処理によって作成されたサービス−スロット表とを取得することで開始する(ステップ1201)。次いで、取得したサービス−スロット表から最初のサービス・コードを読み込む(ステップ1202)。ステップ1204において、取得済みの利用可能リストから最初のサービス・データを読み込み、該サービス・データのサービス・コードによって特定されるサービスが、複合サービス(すなわち、複数のアクティビティを含むサービス)又は単純サービス(すなわち、単一のアクティビティのみを含むサービス)のいずれであるかを判断する(ステップ1205)。そのサービスが複合サービスではない場合には、そのサービスのデータを、利用可能リストの適合スロット・タイプを実効スロット・タイプに置き換えて、拡大利用可能リストに追加する(ステップ1213)。
(1)決定変数の作成
拡大利用可能リストを作成した後、リスト内のサービス(又は補助サービス)の選択可能な組み合わせを求める上での制約条件を作成することになる。制約条件作成に先立って、制約条件の構成に用いるための決定変数xi,jを作成する。決定変数xi,jは、拡大利用可能リストの各々の拡大サービスiについて、各々の拡大サービスiをスロットjに割り付けるか又は割り付けないかを定める変数であり、あるサービスiを割り付けることができるスロットjに該サービスiを割り付ける可能性がある場合にはxi,jを作成し、可能性がない場合にはxi,jは作成しない。例えば、拡大サービス・コードが1であるサービスの実効スロット・タイプがC(午前)、E(午後)、又はG(夜間)の場合に、旅程表において、スロット・タイプCに対応するスロット・コードが7及び15であり、スロット・タイプEに対応するスロット・コードが1及び9であり、スロット・タイプGに対応するスロット・コードが3及び11であるときには、決定変数x1,1、x1,3、x1,7、x1,9、x1,11、及びx1,15を作成する。このように、各サービスとそのサービスが割り付けられる可能性のある実効スロットとの対にのみ決定変数を定義することによって、すべてのサービスと実効スロットとの任意の組み合わせに対して決定変数を定義する場合と比べて、計算処理の規模が著しく小さくなるという利点がある。なお、ここでは拡大利用可能リストに基づいて説明したが、作成された利用可能リスト(図10)に複合サービスが含まれない場合には、該利用可能リストを用いて、そのリスト内のサービス(この場合、このサービスは補助サービスではない)の各々について同様の方法で決定変数が作成されることになる。以下の処理においても同様である。
図19〜図22は、拡大利用可能リストにリストアップされたサービスの選択可能な組み合わせを求める上での制約条件を作成するための処理である。ここでは、図3〜図16に示す処理において、図17(a)〜(d)に例示するアクティビティ表、旅程表、サービス−アクティビティ表、及び利用可能リストを用いた結果、図18に示す例示的な拡大利用可能リストが作成されたものとして、制約条件の構成について説明する。なお、図17(a)〜(d)及び図18に表示されるデータ項目は、これまで説明した各々の表のデータ項目のすべてではなく一部のみが表示されているが、これは、分かり易くするために、これ以降の処理において最低限必要となるデータのデータ項目のみを抽出して表示しているためである。
以上のようにして制約条件の組を構成した後、混合整数計画問題を解くための演算プログラムを使用することによって自動的に作成される旅行計画の評価特性を表す目的関数を構成する。評価特性として、例えば、旅行期間内に実施されるサービスの価格の総額が旅行予算額の範囲内であること、又は、旅行期間内にできるだけ多くのアクティビティが含まれること、などが考えられるが、これらに限定されるものではない。例えば、評価特性として、旅行期間内に実施されるサービスの価格の総額が一定の範囲に含まれること、又は、旅行者が希望するアクティビティの実施スケジュールが、旅行期間内に均等に分散する(又は、できるだけ集中する)ようにすること、などが考えられる。
上述の処理によって構成した制約条件の組と目的関数とを用いて、該制約条件の組の下で該目的関数を最適化又は近似最適化する決定変数xi,jの組み合わせを求める。すなわち、制約条件1(例えば、(3)式に例示した制約条件)と、制約条件2(例えば、(5)式に例示した制約条件)と、制約条件3及び3′(例えば、(9)式及び(11)式に例示した制約条件)との下で、目的関数(例えば、(12)式に例示した目的関数)を最小化する解(すなわち、決定変数の組み合わせ)を決定するという混合整数計画問題を解くことになる。混合整数計画法は、様々な制約条件の下で対象とする問題の最適な解決策を求める手法である数理計画法の一種であり、目的関数も制約条件も1次式で表される問題を解く手法である線形計画法、又は、線形計画問題に「変数は整数値しかとらない」という制約(整数制約)を加えた問題を解く手法である整数計画法に対して、変数の幾つかが整数で、残りの変数が実数であるという制約を加えた問題を解く手法である。こうした問題を解くのに用いることができる市販の数理計画プログラム・パッケージは多数存在しており、これらのプログラム・パッケージを使用して、本実施形態に係る問題を解くことができる。このような市販プログラム・パッケージの例として、「CPLEX」(日本のアイログ株式会社の製品)、「LINDO」(アメリカ合衆国、イリノイ州シカゴ所在のLINDO Systems社の製品)、又は、「MOSEK」(デンマーク、コペンハーゲン所在のMOSEK ApS社の製品)が挙げられる。あるいは、これらの市販のプログラム・パッケージに代えて、こういった市販パッケージと同等の機能を有するコンピュータ・プログラムを作成し、それを用いて上述の問題を解くようにしても良い。
最適化又は近似最適化した旅行計画を旅行者が使用する端末に送信した後、旅行者が端末に表示された旅行計画を確認し、その旅行計画の一部を変更又は修正する必要があると考えた場合には、旅行者は、端末からその旅行計画を修正又は変更できるようにすることができる。修正又は変更が、サービス(又は、そのサービスが含むアクティビティ)を提供する旅行業者を変更するものである場合には、旅行計画作成サーバは、旅行計画の変更又は修正の要求を受け取ると、現在の旅行計画の該サービスを実施するスロットにおいて同種のアクティビティを含むサービスを提供することが可能な別の旅行業者の情報をデータベースから検索し、検索結果に基づいて、変更又は修正用のサービス候補リストを作成する。作成された変更又は修正用のサービス候補リストは旅行者が使用する端末に送信され、旅行者は、そのリストに基づいて現在の旅行計画を修正又は変更する。旅行者によって行われた変更又は修正に関するデータは旅行計画作成サーバに送信され、旅行計画作成サーバは、現在の旅行計画において変更又は修正されるサービスを新たなサービスに置換することによって新たな旅行計画を作成し、端末に送信する。
Claims (16)
- 旅行者によって入力された旅行条件データと、旅行業者及びシステム管理者によって入力されデータベースに格納された旅行情報データとを用いて、旅行計画を作成し、作成された前記旅行計画を前記旅行者に提示する旅行計画作成システムにおいて、前記旅行条件データ及び前記旅行情報データから、混合整数計画問題を解くための演算プログラムに適用できるように処理した入力データを生成し、該入力データを前記演算プログラムに入力して最適化演算又は近似最適化演算を行い混合整数計画問題の解を求めることによって旅行計画を作成する方法であって、
前記旅行者によって入力された前記旅行条件データ内の旅行期間の各日を、同一の時間幅及び/又は異なる時間幅を有する複数のスロットに分割するステップと、
前記複数のスロットの各々に付与された特性と適合するように関連付けが定義された複数のアクティビティの少なくとも1つを含み、かつ、前記旅行期間内に利用可能である1つ又は複数のサービスのリストを作成する、利用可能リスト作成ステップと、
前記リストにおける前記1つ又は複数のサービスの各々を前記複数のスロットの各々に割り付けるかどうかを定義する決定変数を用いて、前記リストにおける前記1つ又は複数のサービスの各々を前記複数のスロットの各々に割り付けるときの優先度に関する第1の制約条件と、前記複数のスロットの1つ又は複数に割り付けられるサービスの実施に必要な時間の長さと前記複数のスロットの1つ又は複数の時間幅の長さとの関係に関する第2の制約条件と、から少なくとも構成する、制約条件構成ステップと、
作成される旅行計画の評価特性を表す目的関数を構成する、目的関数構成ステップと、
前記演算プログラムを用いて、前記第1及び第2の制約条件の組の下で前記目的関数を最適化又は近似最適化するための前記決定変数の組み合わせを求め、得られた該組み合わせに基づいて、前記リストにおける前記1つ又は複数のサービスの各々を前記複数のスロットの各々に割り付けることによって旅行計画を作成する、旅行計画作成ステップと、
を含むことを特徴とする方法。 - 前記利用可能リスト作成ステップは、
前記リストにおける前記1つ又は複数のサービスの少なくとも1つが複数のアクティビティを含む複合サービスである場合には、前記複合サービスを、各々が1つのアクティビティを含む複数の新たなサービスに分割する、複合サービス分割ステップ、及び/又は、前記リストにおける前記1つ又は複数のサービスの少なくとも1つが、該サービスに含まれるアクティビティの実施に必要な時間幅が少なくとも1つのスロットの時間幅を越える長大サービスである場合には、前記長大サービスを、各々の実施に必要な時間幅が1つのスロットの時間幅以下である複数の新たなサービスに分割する、長大サービス分割ステップと、
前記複合サービスと前記長大サービスと前記複数の新たなサービスとの関係を別途表す関係データを作成する、関係データ作成ステップと、
前記複合サービス及び/又は前記長大サービスを前記複数の新たなサービスに置換することによって新たなリストを作成する、新リスト作成ステップと、
をさらに含み、
前記制約条件構成ステップは、前記複数の新たなサービス相互間の関係に関する第3の制約条件を構成するステップをさらに含むことを特徴とする、請求項1に記載の方法。 - 前記1つ又は複数のサービスについて、前記旅行業者が前記1つ又は複数のサービスの各々に含まれる前記1つ又は複数のアクティビティの各々の開始時刻及び終了時刻を定めるsタイプのサービスと、前記旅行業者が前記1つ又は複数のアクティビティの各々の開始時刻及び終了時刻を定めないが各々の実施に適した時間幅を定め、かつ、前記旅行業者の営業時間内に利用可能であるa1タイプのサービスと、前記旅行業者が前記1つ又は複数のアクティビティの各々の開始時刻及び終了時刻を定めないが各々の実施に必要な時間幅を定め、かつ、前記旅行業者の営業時間内に利用可能であるa2タイプのサービスと、を設定し、前記1つ又は複数のサービスをそれらのうちのいずれかに分類するステップをさらに含むことを特徴とする、請求項1又は請求項2に記載の方法。
- 前記複合サービス分割ステップにおいて、
前記複合サービスがsタイプの場合には、
前記複合サービスに含まれるアクティビティの各々の開始時刻と終了時刻とから、前記新たなサービスの各々の実施に必要な時間幅を算出するステップをさらに含み、
前記複合サービスがa1タイプの場合には、
前記旅行者が前記複合サービスに含まれるアクティビティの各々に費やすことを希望する時間幅である指定時間が、前記旅行条件データに含まれているときは、前記指定時間と、前記アクティビティの各々を提供する前記旅行業者の営業時間とを比較して、時間の短い方を前記新たなサービスの各々の実施に必要な時間幅として設定し、
前記旅行者が前記複合サービスに含まれるアクティビティの各々に費やすことを希望する時間幅である指定時間が、前記旅行条件データに含まれていないときは、前記新たなサービスの各々に含まれるアクティビティの実施に適した時間幅を前記新たなサービスの各々の実施に必要な時間幅として設定するステップをさらに含み、
前記複合サービスがa2タイプの場合には、
前記新たなサービスの各々に含まれるアクティビティの実施に必要な時間幅を前記新たなサービスの各々の実施に必要な時間幅として設定するステップをさらに含む、
ことを特徴とする、請求項3に記載の方法。 - 前記長大サービス分割ステップにおいて、
前記長大サービスがsタイプの場合には、
前記長大サービスに含まれるアクティビティの開始時刻を含む最初のスロット、前記アクティビティの終了時刻を含む最後のスロット、及び、前記最初のスロットと前記最後のスロットとの間の1つ又は複数のスロットを特定するステップと、
前記長大サービスを、前記最初のスロットに対応する最初の新たなサービス、前記最後のスロットに対応する最後の新たなサービス、及び、前記1つ又は複数のスロットに対応する1つ又は複数の新たなサービスに分割するステップと、
前記アクティビティの前記開始時刻から前記最初のスロットの前記終了時刻までの時間幅を、前記最初の新たなサービスの実施に必要な時間幅として設定するステップと、
前記最後のスロットの前記開始時刻から前記アクティビティの前記終了時刻までの時間幅を、前記最後の新たなサービスの実施に必要な時間幅として設定するステップと、
前記1つ又は複数のスロットの時間幅を、前記1つ又は複数の新たなサービスの実施に必要な時間幅として設定するステップと、
をさらに含むことを特徴とする、請求項3又は請求項4に記載の方法。 - 前記長大サービス分割ステップにおいて、
前記長大サービスがa1タイプ又はa2タイプの場合には、
前記長大サービスを提供する前記旅行業者の営業開始時刻と営業終了時刻との間にあり、前記長大サービスに含まれるアクティビティの実施に適したスロット群と一致する1つ又は複数のスロットを特定するステップと、
前記特定した1つ又は複数のスロットのうちの最初のスロットが、前記営業開始時刻を含むスロットであるときは、前記営業開始時刻から前記最初のスロットの終了時刻までに対応する最初の新たなサービスを作成し、前記最初のスロットの次のスロット以降の1つ又は複数のスロットに対応する1つ又は複数の新たなサービスを順次作成し、次いで、前記営業開始時刻から前記最初のスロットの前記終了時刻までの時間幅を前記最初の新たなサービスの実施に必要な時間幅として設定し、前記1つ又は複数のスロットの時間幅を前記1つ又は複数の新たなサービスの実施に必要な時間幅としてそれぞれ設定し、最後の新たなサービスの実施に必要な時間幅は、前記長大サービスの実施に必要な時間幅から、前記最初の新たなサービスから前記最後の新たなサービスの直前のサービスまでの実施に必要な時間幅の合計を引いた時間幅を設定するステップと、
前記特定した1つ又は複数のスロットのうちの最初のスロットが、前記営業開始時刻を含むスロットより後のスロットであるときは、前記最初のスロットに対応する最初の新たなサービスを作成し、前記最初のスロットの次のスロット以降の1つ又は複数のスロットに対応する1つ又は複数の新たなサービスを順次作成し、次いで、前記最初のスロットの時間幅を前記最初の新たなサービスの実施に必要な時間幅として設定し、前記1つ又は複数のスロットの時間幅を前記1つ又は複数の新たなサービスの実施に必要な時間幅としてそれぞれ設定し、最後の新たなサービスの実施に必要な時間幅は、前記長大サービスの実施に必要な時間幅から前記最初の新たなサービスから前記最後の新たなサービスの直前のサービスまでの実施に必要な時間幅の合計を引いた時間幅を設定するステップと、
をさらに含むことを特徴とする、請求項3又は請求項4に記載の方法。 - 前記利用可能リスト作成ステップは、前記リストに含まれる複数のサービスの前記リスト内での並び順を変更するステップをさらに含むことを特徴とする、請求項1に記載の方法。
- 前記新リスト作成ステップは、前記新たなリストに含まれる複数のサービスの前記新たなリスト内での並び順を変更するステップをさらに含むことを特徴とする、請求項2に記載の方法。
- 旅行者によって入力された旅行条件データと、旅行業者及びシステム管理者によって入力されデータベースに格納された旅行情報データとを用いて、旅行計画を作成し、作成された前記旅行計画を前記旅行者に提示する旅行計画作成システムにおいて、前記旅行条件データ及び前記旅行情報データから、混合整数計画問題を解くための演算プログラムに適用できるように処理した入力データを生成し、該入力データを前記演算プログラムに入力して最適化演算又は近似最適化演算を行い混合整数計画問題の解を求めることによって旅行計画を作成する方法を実行するプログラム・コードを格納したコンピュータ・プログラムであって、
前記方法が、
前記旅行者によって入力された前記旅行条件データ内の旅行期間の各日を、同一の時間幅及び/又は異なる時間幅を有する複数のスロットに分割するステップと、
前記複数のスロットの各々に付与された特性と適合するように関連付けが定義された複数のアクティビティの少なくとも1つを含み、かつ、前記旅行期間内に利用可能である1つ又は複数のサービスのリストを作成する、利用可能リスト作成ステップと、
前記リストにおける前記1つ又は複数のサービスの各々を前記複数のスロットの各々に割り付けるかどうかを定義する決定変数を用いて、前記リストにおける前記1つ又は複数のサービスの各々を前記複数のスロットの各々に割り付けるときの優先度に関する第1の制約条件と、前記複数のスロットの1つ又は複数に割り付けられるサービスの実施に必要な時間の長さと前記複数のスロットの1つ又は複数の時間幅の長さとの関係に関する第2の制約条件と、から少なくとも構成する、制約条件構成ステップと、
作成される旅行計画の評価特性を表す目的関数を構成する、目的関数構成ステップと、
前記演算プログラムを用いて、前記第1及び第2の制約条件の組の下で前記目的関数を最適化又は近似最適化するための前記決定変数の組み合わせを求め、得られた該組み合わせに基づいて、前記リストにおける前記1つ又は複数のサービスの各々を前記複数のスロットの各々に割り付けることによって旅行計画を作成する、旅行計画作成ステップと、
を含むことを特徴とするコンピュータ・プログラム。 - 前記利用可能リスト作成ステップは、
前記リストにおける前記1つ又は複数のサービスの少なくとも1つが複数のアクティビティを含む複合サービスである場合には、前記複合サービスを、各々が1つのアクティビティを含む複数の新たなサービスに分割する、複合サービス分割ステップ、及び/又は、前記リストにおける前記1つ又は複数のサービスの少なくとも1つが、該サービスに含まれるアクティビティの実施に必要な時間幅が少なくとも1つのスロットの時間幅を越える長大サービスである場合には、前記長大サービスを、各々の実施に必要な時間幅が1つのスロットの時間幅以下である複数の新たなサービスに分割する、長大サービス分割ステップと、
前記複合サービスと前記長大サービスと前記複数の新たなサービスとの関係を別途表す関係データを作成する、関係データ作成ステップと、
前記複合サービス及び/又は前記長大サービスを前記複数の新たなサービスに置換することによって新たなリストを作成する、新リスト作成ステップと、
をさらに含み、
前記制約条件構成ステップは、前記複数の新たなサービス相互間の関係に関する第3の制約条件を構成するステップをさらに含むことを特徴とする、請求項9に記載のコンピュータ・プログラム。 - 前記1つ又は複数のサービスについて、前記旅行業者が前記1つ又は複数のサービスの各々に含まれる前記1つ又は複数のアクティビティの各々の開始時刻及び終了時刻を定めるsタイプのサービスと、前記旅行業者が前記1つ又は複数のアクティビティの各々の開始時刻及び終了時刻を定めないが各々の実施に適した時間幅を定め、かつ、前記旅行業者の営業時間内に利用可能であるa1タイプのサービスと、前記旅行業者が前記1つ又は複数のアクティビティの各々の開始時刻及び終了時刻を定めないが各々の実施に必要な時間幅を定め、かつ、前記旅行業者の営業時間内に利用可能であるa2タイプのサービスと、を設定し、前記1つ又は複数のサービスをそれらのうちのいずれかに分類するステップをさらに含むことを特徴とする、請求項9又は請求項10に記載のコンピュータ・プログラム。
- 前記複合サービス分割ステップにおいて、
前記複合サービスがsタイプの場合には、
前記複合サービスに含まれるアクティビティの各々の開始時刻と終了時刻とから、前記新たなサービスの各々の実施に必要な時間幅を算出するステップをさらに含み、
前記複合サービスがa1タイプの場合には、
前記旅行者が前記複合サービスに含まれるアクティビティの各々に費やすことを希望する時間幅である指定時間が、前記旅行条件データに含まれているときは、前記指定時間と、前記アクティビティの各々を提供する前記旅行業者の営業時間とを比較して、時間の短い方を前記新たなサービスの各々の実施に必要な時間幅として設定し、
前記旅行者が前記複合サービスに含まれるアクティビティの各々に費やすことを希望する時間幅である指定時間が、前記旅行条件データに含まれていないときは、前記新たなサービスの各々に含まれるアクティビティの実施に適した時間幅を前記新たなサービスの各々の実施に必要な時間幅として設定するステップをさらに含み、
前記複合サービスがa2タイプの場合には、
前記新たなサービスの各々に含まれるアクティビティの実施に必要な時間幅を前記新たなサービスの各々の実施に必要な時間幅として設定するステップをさらに含む、
ことを特徴とする、請求項11に記載のコンピュータ・プログラム。 - 前記長大サービス分割ステップにおいて、
前記長大サービスがsタイプの場合には、
前記長大サービスに含まれるアクティビティの開始時刻を含む最初のスロット、前記アクティビティの終了時刻を含む最後のスロット、及び、前記最初のスロットと前記最後のスロットとの間の1つ又は複数のスロットを特定するステップと、
前記長大サービスを、前記最初のスロットに対応する最初の新たなサービス、前記最後のスロットに対応する最後の新たなサービス、及び、前記1つ又は複数のスロットに対応する1つ又は複数の新たなサービスに分割するステップと、
前記アクティビティの前記開始時刻から前記最初のスロットの前記終了時刻までの時間幅を、前記最初の新たなサービスの実施に必要な時間幅として設定するステップと、
前記最後のスロットの前記開始時刻から前記アクティビティの前記終了時刻までの時間幅を、前記最後の新たなサービスの実施に必要な時間幅として設定するステップと、
前記1つ又は複数のスロットの時間幅を、前記1つ又は複数の新たなサービスの実施に必要な時間幅として設定するステップと、
をさらに含むことを特徴とする、請求項11又は請求項12に記載のコンピュータ・プログラム。 - 前記長大サービス分割ステップにおいて、
前記長大サービスがa1タイプ又はa2タイプの場合には、
前記長大サービスを提供する前記旅行業者の営業開始時刻と営業終了時刻との間にあり、前記長大サービスに含まれるアクティビティの実施に適したスロット群と一致する1つ又は複数のスロットを特定するステップと、
前記特定した1つ又は複数のスロットのうちの最初のスロットが、前記営業開始時刻を含むスロットであるときは、前記営業開始時刻から前記最初のスロットの終了時刻までに対応する最初の新たなサービスを作成し、前記最初のスロットの次のスロット以降の1つ又は複数のスロットに対応する1つ又は複数の新たなサービスを順次作成し、次いで、前記営業開始時刻から前記最初のスロットの前記終了時刻までの時間幅を前記最初の新たなサービスの実施に必要な時間幅として設定し、前記1つ又は複数のスロットの時間幅を前記1つ又は複数の新たなサービスの実施に必要な時間幅としてそれぞれ設定し、最後の新たなサービスの実施に必要な時間幅は、前記長大サービスの実施に必要な時間幅から、前記最初の新たなサービスから前記最後の新たなサービスの直前のサービスまでの実施に必要な時間幅の合計を引いた時間幅を設定するステップと、
前記特定した1つ又は複数のスロットのうちの最初のスロットが、前記営業開始時刻を含むスロットより後のスロットであるときは、前記最初のスロットに対応する最初の新たなサービスを作成し、前記最初のスロットの次のスロット以降の1つ又は複数のスロットに対応する1つ又は複数の新たなサービスを順次作成し、次いで、前記最初のスロットの時間幅を前記最初の新たなサービスの実施に必要な時間幅として設定し、前記1つ又は複数のスロットの時間幅を前記1つ又は複数の新たなサービスの実施に必要な時間幅としてそれぞれ設定し、最後の新たなサービスの実施に必要な時間幅は、前記長大サービスの実施に必要な時間幅から前記最初の新たなサービスから前記最後の新たなサービスの直前のサービスまでの実施に必要な時間幅の合計を引いた時間幅を設定するステップと、
をさらに含むことを特徴とする、請求項11又は請求項12に記載のコンピュータ・プログラム。 - 前記利用可能リスト作成ステップは、前記リストに含まれる複数のサービスの前記リスト内での並び順を変更するステップをさらに含むことを特徴とする、請求項9に記載のコンピュータ・プログラム。
- 前記新リスト作成ステップは、前記新たなリストに含まれる複数のサービスの前記新たなリスト内での並び順を変更するステップをさらに含むことを特徴とする、請求項10に記載のコンピュータ・プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006122654A JP4268973B2 (ja) | 2006-03-29 | 2006-03-29 | 混合整数計画問題を用いて旅行計画を自動的に作成するための方法及びコンピュータ・プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006122654A JP4268973B2 (ja) | 2006-03-29 | 2006-03-29 | 混合整数計画問題を用いて旅行計画を自動的に作成するための方法及びコンピュータ・プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007265376A true JP2007265376A (ja) | 2007-10-11 |
JP4268973B2 JP4268973B2 (ja) | 2009-05-27 |
Family
ID=38638256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006122654A Expired - Fee Related JP4268973B2 (ja) | 2006-03-29 | 2006-03-29 | 混合整数計画問題を用いて旅行計画を自動的に作成するための方法及びコンピュータ・プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4268973B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009211538A (ja) * | 2008-03-05 | 2009-09-17 | Oki Electric Ind Co Ltd | 旅行プラン作成装置、旅行プラン作成方法、旅行プラン作成システム、旅行プラン要求端末及びプログラム |
JP2009245111A (ja) * | 2008-03-31 | 2009-10-22 | Oki Electric Ind Co Ltd | 旅行プラン作成装置、旅行プラン作成システム、旅行プラン要求端末及びプログラム |
JP2014119991A (ja) * | 2012-12-17 | 2014-06-30 | Ntt Docomo Inc | 訪問先提案装置及び訪問先提案方法 |
JP2016085691A (ja) * | 2014-10-28 | 2016-05-19 | 松之進 山口 | 情報処理装置、情報処理方法及びプログラム |
JP2018018462A (ja) * | 2016-07-29 | 2018-02-01 | 富士通株式会社 | 旅程編集処理プログラム |
-
2006
- 2006-03-29 JP JP2006122654A patent/JP4268973B2/ja not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009211538A (ja) * | 2008-03-05 | 2009-09-17 | Oki Electric Ind Co Ltd | 旅行プラン作成装置、旅行プラン作成方法、旅行プラン作成システム、旅行プラン要求端末及びプログラム |
JP2009245111A (ja) * | 2008-03-31 | 2009-10-22 | Oki Electric Ind Co Ltd | 旅行プラン作成装置、旅行プラン作成システム、旅行プラン要求端末及びプログラム |
JP2014119991A (ja) * | 2012-12-17 | 2014-06-30 | Ntt Docomo Inc | 訪問先提案装置及び訪問先提案方法 |
JP2016085691A (ja) * | 2014-10-28 | 2016-05-19 | 松之進 山口 | 情報処理装置、情報処理方法及びプログラム |
JP2018018462A (ja) * | 2016-07-29 | 2018-02-01 | 富士通株式会社 | 旅程編集処理プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP4268973B2 (ja) | 2009-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6385416B2 (ja) | 旅行計画システム、旅行計画方法、及びプログラム | |
US20070073562A1 (en) | System, method, and computer program product for providing travel information using information obtained from other travelers | |
US8032402B2 (en) | Itinerary search tool for territory management | |
US20100169131A1 (en) | System and Method For Providing Customized Travel Guides and Itineraries Over a Distributed Network | |
US20070094065A1 (en) | Activity planning method and system | |
US20130262171A1 (en) | System and Method for Directing and Monitoring the Activities of Remote Agents | |
Persson et al. | Health economic modeling to support surgery management at a Swedish hospital | |
US20140046715A1 (en) | Systems ands methods for automated scheduling | |
JP5633423B2 (ja) | 情報処理方法、表示方法、情報処理装置、端末装置、及び情報処理プログラム | |
CN103460236A (zh) | 信息提供装置、信息提供方法、信息提供程序及记录媒体 | |
US10115076B2 (en) | System and method employing capacity/demand management for human-factor resources | |
Lin et al. | Crew rostering with multiple goals: An empirical study | |
JP4268973B2 (ja) | 混合整数計画問題を用いて旅行計画を自動的に作成するための方法及びコンピュータ・プログラム | |
Altner et al. | A two-stage stochastic program for multi-shift, multi-analyst, workforce optimization with multiple on-call options | |
US20220083983A1 (en) | Schedule management service system and method | |
JP2009037568A (ja) | スケジュール表作成装置、プログラム | |
JP5971895B2 (ja) | 情報処理方法、表示方法、情報処理装置、端末装置、及びプログラム | |
Ozkarahan | A disaggregation model of a flexible nurse scheduling support system | |
Krityakierne et al. | Nurse-patient relationship for multi-period home health care routing and scheduling problem | |
Kutanoglu et al. | Improving scheduling robustness via preprocessing and dynamic adaptation | |
JP6649235B2 (ja) | 業務支援システム、業務支援装置、及びプログラム | |
KR102169110B1 (ko) | 여행 일정 추천 서비스 제공 시스템 및 방법 | |
WO2021059513A1 (ja) | 検索システム、検索方法、及びプログラム | |
Er-Rbib et al. | Integrated and sequential solution methods for the cyclic bus driver rostering problem | |
JP7306800B2 (ja) | 旅行計画システム、旅行計画方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080916 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081117 |
|
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: 20090217 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090223 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120227 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120227 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150227 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |