JP2013025509A - 巡回路決定についてのプログラム、方法及び装置 - Google Patents

巡回路決定についてのプログラム、方法及び装置 Download PDF

Info

Publication number
JP2013025509A
JP2013025509A JP2011158552A JP2011158552A JP2013025509A JP 2013025509 A JP2013025509 A JP 2013025509A JP 2011158552 A JP2011158552 A JP 2011158552A JP 2011158552 A JP2011158552 A JP 2011158552A JP 2013025509 A JP2013025509 A JP 2013025509A
Authority
JP
Japan
Prior art keywords
work
storage unit
stored
execution order
scheduled execution
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
Application number
JP2011158552A
Other languages
English (en)
Other versions
JP5772332B2 (ja
Inventor
Hidenao Iwane
秀直 岩根
Tomofumi Kira
知文 吉良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011158552A priority Critical patent/JP5772332B2/ja
Priority to US13/527,824 priority patent/US20130024227A1/en
Publication of JP2013025509A publication Critical patent/JP2013025509A/ja
Application granted granted Critical
Publication of JP5772332B2 publication Critical patent/JP5772332B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem

Abstract

【課題】複数の班で複数の作業を少なくとも一部分担して巡回実行する場合に作業順番を決定するような問題に対して一般的な局所改善法を適用可能にする。
【解決手段】本方法は、複数の班で少なくとも一部を分担して巡回実行すべき所定数の作業を、複数の班の各々について並べることで、実行予定順番を決定する処理と、複数の班の各々について、時間を進めつつ、実行予定順番に従って各作業の作業場所への移動及び当該作業の開始が、上記所定数の作業について設定されている制約条件を満たすか否かを判定することで、複数の班の各々について、実行予定順番において実行すべき作業を決定し、決定された作業順番についての評価値を算出する処理とを含む。
【選択図】図6

Description

本技術は、制約条件付きの巡回路決定技術に関する。
巡回セールスマン問題(Traveling Salesman Problem)は、例えばn個の都市(作業地点又は作業場所とも呼ぶ)と各都市間の距離を入力として、各都市を1度ずつ訪問して元に戻る巡回路の中で総移動距離が最小のものを得る問題である。この問題はNP困難問題として知られており、組み合わせ最適化問題の中でも難しいとされる問題の代表格となっている。しかしながら、配送計画、基盤穿孔、鋼板の圧延計画など多くの応用を有するため、このような問題を何らかの方法で短時間で処理することが好ましい。
このような巡回セールスマン問題には、制約条件付き巡回セールスマン問題という問題が含まれる。制約条件付き巡回セールスマン問題には、複数のグループ(班とも呼ぶ)で作業する問題が含まれており、この問題は、最後に帰ってくるグループの作業時間を最小化する問題と、全員の作業時間の合計を最小化する問題とを含む。前者は、全体の作業時間を最小化することになる。後者は、総移動距離を最小化し、ガソリン代等の移動経費の削減が可能となる。制約条件としては、巡回する作業場所の順序についての制約である優先度条件、複数のグループが合流して作業を行うことについての制約(合流条件や合流可能条件)などがある。なお、合流条件は、必ず合流して作業するような場合などに設定される。合流可能条件は、合流により作業効率が上がるような場合に設定される条件である。このような制約条件付き巡回セールスマン問題に定式化できる問題には、人員配置問題や、物流問題、配送計画、災害復旧計画問題などがある。
このような巡回セールスマン問題を解くためのアルゴリズムには様々なものがあるが、何らかの方法で定義された巡回路の近傍を探索して解を改善する局所改善法がある。しかしながら、設定される制約条件によっては、従来の局所改善法をそのまま適用できない場合がある。
例えば2点交換アルゴリズムという局所改善法が知られているが、これは巡回路が何らかの方法で図1Aに示されているように(1,5,6,7,2,4,3)と決定されている状態で、図1Bに示すように、任意の2点、例えば作業地点2と作業地点5とを入れ替えてみる。すなわち、(1,2,6,7,5,4,3)という新たな巡回路が得られる。この時に、巡回路長が短くなっていれば、変更後の巡回路(1,2,6,7,5,4,3)を採用し、短くなっていなければ、変更前の巡回路(1,5,6,7,2,4,3)を採用する。このような処理を、巡回路長の短縮ができなくなるまで繰り返すものである。
しかしながら、2グループで優先度条件付きの巡回セールスマン問題になると、単純には2点交換アルゴリズムが適用できなくなる。例えば、図2に示すような優先度条件が規定されているものとする。すなわち、作業地点1における作業1を実行した後に、作業地点2及び作業地点3の作業2及び3を実行し、作業地点5の作業5を実行した後に作業地点6の作業6を実行し、作業地点9の作業9を実行した後に作業地点10の作業10を実行することになっている。さらに、何らかの方法にて、グループAは、作業地点1の作業1と、作業地点2の作業2と、作業地点3の作業3と、作業地点4の作業4と、作業地点10の作業10と、作業地点7の作業7とをこの順番で実行することになり、グループBは、作業地点5の作業5と、作業地点9の作業9と、作業地点8の作業8と、作業地点6の作業6とをこの順番で実行することになったものとする。
このような場合における作業実行状況を図3に模式的に示して説明する。なお、図3では、各作業地点における作業の作業時間はボックスの横方向の長さで表し、横方向の矢印の長さで移動時間を表すものとする。グループAは、作業1乃至3をこの順で実行するので、優先度条件を満たしている。また、グループBは、作業5及び作業6を、それらの間に作業9及び作業8を挟んでいるが、優先度条件を満たすように実行している。さらに、グループBが作業9を先に実行し、グループAが作業10を後から実行するようにスケジュールされており、図2に示した優先度条件を満たすように作業を行っている。
このような状況において、例えばグループBにのみ着目して作業9と作業6とを入れ替えるような2点交換アルゴリズムを実施するものとする。そうすると、図4に示すような作業実行状況のようになる。図4に示すように、グループAの作業実行状況は図3に示したものと変わらない。また、グループBのみに着目すると、このような作業順番の入れ替えが行われても、作業5を実施した後に作業6を実施するという優先度条件は満たしている。しかしながら、作業9が後ろに回されているのでグループAが実施する作業10が、グループBが実施する作業9より先に行われるようになるので、全体として優先度条件を満たしていないことになる。このように、全体として優先度条件を満たすためには、2次改善を行わなければならなくなるが、この2次改善がさらに優先度条件を満たさない部分を生じさせる可能性もある。
局所改善法の一例として2点交換アルゴリズムを示したが、他の局所改善法(例えば2−opt(k−opt)法、or−opt法、k点交換アルゴリズム、遺伝的アルゴリズム、焼きなまし法、タブー探索法など)でも同様である。
なお、複数車両を用いた配送経路問題の、車両数が低減された解を求めるための技術が公開されている。具体的には、複数の車両が、或る拠点から複数の配送地点に物品を届ける配送計画を作成する方法は、所与の現在の解Sの近傍解からなる解集合(N(S))について、所与の終了条件に達するまで、局所探索を反復して、Sを更新して、最適解Sbestを求めるステップを含む。この局所探索において車両数が最も少ない解を探索するステップ、次いで車両数が最も少ない解が複数ある場合には、この複数の解について、下記式(1)で定義される車両ごとの評価値Bk(t)(t∈N(S))の、下記式(2)で定義される車両間のばらつきの少なさを示す指標β(t)が最も小さい解を探索するステップを含む。
Bk(t)=Σi∈Ck(t)pi/M (1)
β(t)=1−Σk∈σ(t)Bk(t)m/|σ(t)|(2)
しかしながら、上で述べたように局所探索が単純には適用できない場合という問題については開示されていない。他の従来技術でも同様である。
特開2010−111452号公報 特開平11−31009号公報 特開2003−26335号公報 特開2006−18443号公報
従って、本発明の目的は、一側面として、複数の作業者グループで複数の作業を少なくとも一部分担して巡回実行する場合に作業順番を決定するような問題に対して一般的な局所改善法を適用可能にするための技術を提供することである。
本技術に係る情報処理方法は、(A)複数の作業者グループで少なくとも一部を分担して巡回実行すべき所定数の作業を、複数の作業者グループの各々について並べることで、実行予定順番を決定し、当該実行予定順番を記憶部に格納する第1の処理と、(B)複数の作業者グループの各々について、時間を進めつつ、記憶部に格納されている実行予定順番に従って各作業の作業場所への移動及び当該作業の開始が、制約データ格納部に格納されている、所定数の作業について設定されている制約条件を満たすか否かを判定することで、複数の作業者グループの各々について、実行予定順番において実行すべき作業を決定し、決定された作業順番についての評価値を算出し、記憶部に格納する第2の処理とを含む。
複数の作業者グループで複数の作業を少なくとも一部分担して巡回実行する場合に作業順番を決定するような問題に対して一般的な局所改善法を適用可能になる。
図1Aは、2点交換アルゴリズムを説明するための図である。 図1Bは、2点交換アルゴリズムを説明するための図である。 図2は、優先度条件の一例を示す図である。 図3は、作業実行状況の一例を示す図である。 図4は、2点交換アルゴリズムによって変更した後の作業実行状況を示す図である。 図5は、第1の実施の形態に係る情報処理装置の機能ブロック図である。 図6は、第1の実施の形態に係る処理の処理フローを示す図である。 図7は、実行予定順番の例を示す図である。 図8Aは、巡回処理部の処理を模式的に示す図である。 図8Bは、巡回処理部の処理を模式的に示す図である。 図8Cは、巡回処理部の処理を模式的に示す図である。 図8Dは、巡回処理部の処理を模式的に示す図である。 図8Eは、巡回処理部の処理を模式的に示す図である。 図8Fは、巡回処理部の処理を模式的に示す図である。 図8Gは、巡回処理部の処理を模式的に示す図である。 図8Hは、巡回処理部の処理を模式的に示す図である。 図9Aは、記憶部に格納される実行順番のデータを表す図である。 図9Bは、記憶部に格納される実行順番のデータを表す図である。 図9Cは、記憶部に格納される実行順番のデータを表す図である。 図9Dは、記憶部に格納される実行順番のデータを表す図である。 図9Eは、記憶部に格納される実行順番のデータを表す図である。 図9Fは、記憶部に格納される実行順番のデータを表す図である。 図9Gは、記憶部に格納される実行順番のデータを表す図である。 図9Hは、記憶部に格納される評価値を表す図である。 図10は、決定された作業について説明するための図である。 図11は、変更後の作業予定順番の一例を示す図である。 図12は、変更後の作業予定順番において決定された作業について説明するための図である。 図13は、変更後の実行状況を模式的に示す図である。 図14は、第2の実施の形態における情報処理装置の機能ブロック図である。 図15は、移動コストテーブルの一例を示す図である。 図16は、制約条件テーブルの一例を示す図である。 図17は、処理能力テーブルの一例を示す図である。 図18Aは、班管理テーブルの一例を示す図である。 図18Bは、現作業量管理テーブルの一例を示す図である。 図19は、巡回路管理テーブルの一例を示す図である。 図20は、第2の実施の形態の処理フローを示す図である。 図21Aは、初期設定処理を説明するための図である。 図21Bは、初期設定処理を説明するための図である。 図21Cは、初期設定処理を説明するための図である。 図22は、巡回時間計算処理の処理フローを示す図である。 図23は、班管理テーブルの初期状態を示す図である。 図24は、巡回路管理テーブルの初期状態を示す図である。 図25は、ステージ処理の処理フローを示す図である。 図26は、ステージ処理の処理フローを示す図である。 図27は、ステージ処理の処理フローを示す図である。 図28は、調整処理の処理フローを示す図である。 図29は、時間進行処理の処理フローを示す図である。 図30は、巡回予定路の他の設定方法について説明するための図である。 図31Aは、巡回路管理テーブルの巡回時間計算処理完了時の状態を表す図である。 図31Bは、巡回路管理テーブルの更新後の状態を表す図である。 図32は、2点交換アルゴリズムの一例を示す図である。 図33Aは、2点交換アルゴリズムを説明するための図である。 図33Bは、2点交換アルゴリズムを説明するための図である。 図34は、コンピュータの機能ブロック図である。
[実施の形態1]
本技術の第1の実施の形態に係る情報処理装置1000の機能ブロック図を図5に示す。情報処理装置1000は、初期設定処理部1100と、巡回処理部1200と、局所改善部1300と、制御部1400と、記憶部1500と、制約データ格納部1600とを有する。
制約データ格納部1600は、巡回実行すべき複数の作業について設定されている制約条件についてのデータを格納している。制約条件には、優先条件、合流条件、合流可能条件が含まれる場合もある。また、制約データ格納部1600は、作業を行う場所間の移動コスト(時間又は距離)についてのデータ、各作業の作業量及び各作業員グループの作業処理能力も格納しているものとする。
制御部1400は、初期設定処理部1100、巡回処理部1200と、局所改善部1300とに対して、以下のように処理を実施するように制御する。
初期設定処理部1100は、制約データ格納部1600に優先度条件が格納されている場合には当該優先度条件を満たすように、各作業者グループについて、これらの複数の作業者グループで巡回実行すべき複数の作業を並べて、実行予定順番を決定し、実行予定順番のデータを記憶部1500に格納する。
巡回処理部1200は、各作業者グループについて、時間を進めつつ、実行予定順番に従って各作業の作業場所への移動及び当該作業の開始が、制約データ格納部1600に格納されている制約条件を満たすか否かを判断して、各作業者グループについて、実行予定順番において実行すべき作業を決定し、記憶部1500に格納する。また、巡回処理部1200は、決定された作業順番(すなわち作業分担)についての評価値(例えば作業者グループについての作業時間及び移動時間の総和、各作業者グループについての作業時間及び移動時間の総和のうち最も長いもの)を算出して、記憶部1500に格納する。なお、巡回処理部1200は、時間を進める際には、各作業にかかる時間、作業場所間を移動するのにかかる時間を、制約データ格納部1600に格納されているデータを用いて計算する。
局所改善部1300は、制約データ格納部1600に優先度条件が格納されている場合には当該優先度条件を満たすように、記憶部1500に格納されている実行予定順番を変更し、変更後の実行予定順番のデータを記憶部1500に格納する。この局所改善部1300の処理は、従来の局所改善法のアルゴリズムに従って行われる。
制御部1400は、変更後の実行予定順番について巡回処理部1200に処理を実行させ、変更後の実行予定順番についての評価値を算出させる。そして、制御部1400は、変更後の実行予定順番についての評価値が、それより前に算出された評価値より低くなっているか判断し、評価値が低下していれば、当該評価値、作業順番のデータ及び変更後の実行予定順番などを次処理のためのデータとして、記憶部1500に格納する。変更後の実行予定順番についての評価値が低下していなければ、制御部1400は、当該変更後の実行予定順番及び関連データを破棄する。そして、制御部1400は、終了条件を満たすようになるまで、局所改善部1300及び巡回処理部1200に処理を実行させる。
次に、情報処理装置1000の処理内容を図6乃至図13を用いて説明する。前提として、作業者グループ数、制約条件、作業を行う場所(スタート地点及びゴール地点を含む)間の移動コスト、各作業の作業量及び各作業員グループの作業処理能力などのデータが制約データ格納部1600に格納されているものとする。また、スタート地点及びゴール地点は作業場所とは異なる場所が設定されているものとする。スタート地点及びゴール地点は同じであっても良い。
制御部1400は、初期設定処理部1100に、各作業者グループについて、全作業者グループで巡回実施すべき所定数の作業についての作業予定順番を決定させ、当該作業予定順番のデータを、記憶部1500に格納させる(図6:ステップS1)。この際、初期設定処理部1100は、制約データ格納部1600に優先度条件が格納されている場合には、当該優先度条件を、各作業者グループの作業予定順番において満たすように作業の並びを決定する。例えば、ランダムに作業を並べた上で、優先度条件を満たしていない部分については、優先度条件を満たすように並び替える。
例えば、作業者グループが2つで、図2に示したような優先度条件が設定されており、ある開始地点から移動を開始し、作業地点1の作業1から作業地点10の作業10までの作業を2つの作業者グループで実行し、完了後に終了地点に戻る場合を想定する。そうすると、例えば図7に示すような実行予定順番が決定されたものとする。作業者グループAと作業者グループBには、それぞれ作業地点1乃至作業地点10の作業1乃至作業10が含まれた実行予定順番が決定される。これらの実行予定順番は、各々の中で優先度条件を満たしている。但し、この段階ではいずれの作業を実行するのかについては確定していない。また、本実施の形態では、作業場所(すなわち作業地点)と作業とは1対1対応しているものとする。
次に、制御部1400は、巡回処理部1200に対して、以下のような処理を実施させる(ステップS3)。すなわち、各作業者グループについて、時間を進めつつ、実行予定順番に従って各作業の作業場所への移動及び当該作業の開始が、制約データ格納部1600に格納されている、優先度条件などを含む制約条件を満たすか否かを判断することで、各作業者グループについて、実行予定順番において実行すべき作業を決定し、当該実行すべき作業のデータを、記憶部1500に格納する。さらに、当該決定された作業順番について評価値を算出し、記憶部1500に格納する。例えば、評価値は、作業者グループのうち最も長い作業時間及び移動時間であるか、各作業者グループの作業時間及び移動時間の総和である。また、他の作業者グループによって完了してしまっている作業については、再度実行することなくスキップする。
より具体的には、移動時間については、作業場所間の移動コストから特定する。さらに、作業時間については、作業量を作業能力で除することで算出される。このようなデータによって時間が進められる。そして、作業者グループAについては、作業1を実行することが制約条件を満たしている場合には、作業1の場所に移動する。さらに、作業者グループBについては、作業5を実行することが制約条件を満たしている場合には、作業5の場所(即ち作業地点5)に移動する。そして、作業者グループAについては、作業1の作業開始にあたって合流条件などの制約条件を満たしている場合には、作業1を開始する。作業者グループBについても、作業5の作業開始にあたって合流条件等の制約条件を満たしている場合には、作業5の作業を開始する。すなわち、図8Aに示すような状態となる。図8A乃至図8Hにおいては、図3と同様に、矢印の長さで移動時間を表し、矩形の長さは作業時間を表している。各作業者グループについて、移動先又は実行中の作業については、記憶部1500に格納しておく。すなわち、図9Aのようなデータが、記憶部1500に格納される。
さらに、作業者グループAについては、作業1を完了すると、作業予定順番において次の作業2を実行することが制約条件を満たしている場合には、作業2の場所に移動する。さらに、作業者グループAについては、作業2の作業開始にあたって合流条件などの制約条件を満たしている場合には、作業2を開始する。作業者グループBについては、この期間中は、作業5を実行中である。そうすると、図8Bに示すような状態となる。また、記憶部1500には、図9Bに示すようなデータが格納される。
さらに、作業者グループAについては、作業2を完了すると、作業予定順番において次の作業3を実行することが制約条件を満たしている場合には、作業3の場所に移動する。さらに、作業者グループAについては、作業3の作業開始にあたって合流条件などの制約条件を満たしている場合には、作業3を開始する。作業者グループBについては、この期間中は、作業5を実行中である。そうすると、図8Cに示すような状態となる。また、記憶部1500には、図9Cに示すようなデータが格納される。
その後、作業者グループAが作業3を実行中に、作業者グループBは作業5を完了させる。そうすると、作業者グループBについて、作業予定順番において次の作業9を実行することが制約条件を満たしている場合には、作業9の場所に移動する。さらに、作業者グループAについては、作業3を完了すると、作業予定順番において次の作業4を実行することが制約条件を満たしている場合には、作業4の場所に移動する。さらに、作業者グループAについては、作業4の作業開始にあたって合流条件などの制約条件を満たしている場合には、作業4を開始する。そうすると、図8Dに示すような状態となる。また、記憶部1500には、図9Dに示すようなデータが格納される。
その後、作業者グループBについては、作業9の作業開始にあたって合流条件などの制約条件を満たしている場合には、作業9を開始する。さらに、作業者グループAについては、作業4が完了すると、作業予定順番において次の作業5を実行することが制約条件を満たしているか判断する。この場合、既に作業5を作業者グループBにより完了している。従って、作業者グループAは、作業5の場所(すなわち作業地点5)に移動しない。さらに、作業者グループAについては、作業予定順番において次の作業9を実行することが制約条件を満たしているか判断する。この場合、既に作業9を作業者グループBが実行することが確定しており、作業9について合流せず且つ先に移動した作業者グループを優先するという合流条件があれば、この合流条件を満たさないと判定する。従って、作業者グループAは、作業9の場所(即ち作業地点9)に移動しない。さらに、作業者グループAについては、作業予定順番において次の作業10を実行することが制約条件を満たしているか判断する。ここでは作業9を先に作業10を実施するという優先度条件が設定されているので記憶部1500のデータ(図9D)を確認する。この場合、作業9は完了しているので問題ない。従って、作業者グループAは作業10の場所(すなわち作業地点10)に移動する。そうすると、図8Eに示すような状態となる。また、記憶部1500には、図9Eに示すようなデータが格納される。
その後、作業者グループBについては、作業9を完了すると、作業予定順番において次の作業8を実行することが制約条件を満たしている場合には、作業8の場所に移動する。さらに、作業者グループBについては、作業8の作業開始にあたって合流条件などの制約条件を満たしている場合には、作業8を開始する。一方、作業者グループAについては、作業10の作業開始にあたって合流条件などの制約条件を満たしている場合には、作業10を開始する。そうすると、図8Fに示すような状態となる。また、記憶部1500には、図9Fに示すようなデータが格納される。
その後、作業者グループBについては、作業8を完了すると、作業予定順番において次の作業6を実行することが制約条件を満たしている場合には、作業6の場所に移動する。さらに、作業者グループAについては、作業10を完了すると、作業予定順番において次の作業7を実行することが制約条件を満たしている場合には、作業7の場所に移動する。そして、作業者グループAについては、作業7の作業開始にあたって合流条件などの制約条件を満たしている場合には、作業7を開始する。そうすると、図8Gに示すような状態となる。また、記憶部1500には、図9Gに示すようなデータが格納される。
その後、作業者グループBについては、作業6を完了すると、作業予定順番において以降の作業10、作業7、作業4、作業1、作業3及び作業2を実行することが制約条件を満たしているか判断する。ここでは、既にこれらの作業を作業者グループAにより完了している。従って、作業者グループBは、これらの作業の場所に移動せず、ゴール地点に移動する。
同様に、作業者グループAについては、作業7を完了すると、作業予定順番において以降の作業8及び作業6を実行することが制約条件を満たしているか判断する。ここでは、既にこれらの作業を作業者グループBにより完了している。従って、作業者グループAは、これらの作業の場所に移動せず、ゴール地点に移動する。そうすると、図8Hに示すような状態となる。なお、作業者グループAについては、ゴール地点に矢印が届いていないが、単に作業者グループBよりも短い時間でゴール地点に到達したことを示している。
このように時間を進めつつ、ステップバイステップで次の作業の場所への移動可否、次の作業場所に到着すると作業開始の是非などを判断して、制約条件を満たしている作業について、各作業者グループについて記憶部1500に格納する。そうすると、作業分担のデータが記憶部1500に格納されることになる。なお、図10に示すように、図7に示した実行予定順番に含まれる作業のうち、丸が付された数字の作業が、実行すべき作業として特定されている。図10からも分かるように、実行予定順番に含まれていても実施しない作業もあるし、飛び飛びの順番で実施される場合もある。
さらに、巡回処理部1200は、例えば作業者グループA及び作業者グループBの移動時間及び作業時間の総和を算出することで評価値を求め、又は作業者グループAの移動時間及び作業時間の総和と作業者グループBの移動時間及び作業時間の総和のうちいずれか長い方を特定することで評価値を求め、記憶部1500に格納する。例えば図9Hに示すような評価値が、記憶部1500に格納される。
図6の処理の説明に戻って、制御部1400は、局所改善部1300に、記憶部1500に格納されている、各作業者グループの実行予定順番に対して局所改善法の処理を実施することで実行予定順番を変更させ、記憶部1500に変更後のデータを格納させる(ステップS5)。例えば、2点交換アルゴリズムを実施する。但し、他の局所改善法(例えば2−opt(k−opt)法、or−opt法、k点交換アルゴリズム、遺伝的アルゴリズム、焼きなまし法、タブー探索法など)でも良い。この処理においても、制約データ格納部1600に優先度条件が格納されている場合には、優先度条件については満たすようにする。本実施の形態では、図7に示すように、各作業者グループについて、巡回実行すべき全作業を並べるので、作業者グループ間について優先度条件や合流条件などの制約条件を満たすか否かを確認することなく、従来からある局所改善法のアルゴリズムを適用可能となる。例えば、図11に示すような変更後の実行予定順番が得られたものとする。作業者グループBの実行予定順番における作業6及び作業9の順番が入れ替えられている。
その後、制御部1400は、巡回処理部1200に、記憶部1500に格納されている変更後の実行予定順番について、ステップS3の処理を実施させる(ステップS7)。すなわち、時間を進めつつ、変更後の実行予定順番に従って各作業の作業場所への移動及び当該作業の開始が、制約データ格納部1600に格納されている、優先度条件などを含む制約条件を満たすか否かを判断することで、各作業者グループについて、変更後の実行予定順番において実行すべき作業を決定し、当該実行すべき作業のデータを、記憶部1500に格納する。さらに、当該決定された作業分担について評価値を算出し、記憶部1500に格納する。
この場合、図12に示すように、作業者グループAについては、実行予定順番が変更されなかったにも拘わらず、実行すべき作業は、作業1、作業2、作業3、作業4、作業9及び作業10となる。また、作業者グループBについては、変更された実行予定順番に従って、実行すべき作業は、作業5、作業6、作業8及び作業7となる。実行状態は、図13に模式的に示すようになる。この例では、図8Hの作業時間+移動時間を表す実線aと、この例における作業時間+移動時間を表す点線bとを比較すると、局所改善法の効果が現れて、最後に帰ってくる作業者グループの作業時間+移動時間に相当する評価値が小さくなっていることが分かる。
その後、制御部1400は、基準となる評価値(最初の場合にはステップS3で計算された評価値。次回以降は採用されて次の処理のための領域に格納された評価値)と、記憶部1500に格納されており且つステップS7で計算された評価値とを比較して、小さい方のデータを採用する(ステップS9)。図13のような場合には、ステップS7で計算された評価値の方が小さくなるので、ステップS7で決定された作業分担のデータ及び評価値を、記憶部1500において次の処理に用いるための領域に格納する。採用しなかったデータについては破棄して良い。但し、履歴を後から参照するためには、保持しておく。
その後、制御部1400は、処理を終了すべきか判断する(ステップS11)。例えば、評価値が、予め定められた閾値未満になった場合、ステップS7の実行回数又は全体の実行時間が閾値を超えた場合、評価値の履歴データを保持している場合には評価値の低下度合いが閾値未満になった場合などに該当するかを判断する。処理を終了すべき場合には、制御部1400は、記憶部1500において次の処理に用いるための領域に格納されている作業分担のデータ及び評価値を、出力装置に出力する(ステップS15)。そして処理を終了する。
一方、処理を終了しない場合には、制御部1400は、ステップS9で採用すべきとされた実行予定順番を処理対象に設定して(ステップS13)、ステップS7に戻る。すなわち、さらに局所改善法を実施する。
このように、各作業者グループについて、巡回実行すべき全作業を含む実行予定順番をベースに処理を実施することで、一般的な局所改善法のアルゴリズムを適用することができるようになる。さらに、ステップS3の処理を実施することで、複雑な制約条件をも取り込んだ形で、作業者グループについての作業分担を適切に特定することもできる。
なお、本実施の形態では、各作業は、対応する作業場所で実行されることを前提としている。すなわち、作業の順番は、巡回する作業場所の順番に相当する。
[実施の形態2]
本技術の第2の実施の形態に係る情報処理装置100を図14に示す。
情報処理装置100は、初期設定処理部10と、巡回処理部20と、局所最適化部30と、制御部40と、データ格納部50と、条件データ格納部60と、出力装置70とを有する。
条件データ格納部60は、図15乃至図17に示すようなデータを格納する。例えば図15の移動コストテーブルに示すように、開始地点P0及び作業地点P1乃至PN間の移動コストとして移動時間のデータが格納される。なお、開始地点P0から移動を開始して、作業が全て完了した場合には、開始地点P0に戻るものとする。また、例えば図16の制約条件テーブルに示すように、各作業について、作業量と、親リストと、子リストと、最低作業員数と、合流条件及び合流可能条件とが格納される。図16は、作業数が10である場合の例であるが、一般的にはN個の作業について上で述べたデータを用意する。また、親リスト及び子リストによって優先度条件を規定しており、図2のような優先度条件を表すと図16に示すような子リスト及び親リストの設定になる。また、最低作業員数については、「1」であれば合流せずとも実行でき、合流不可であれば1班で実行することになる。また、合流条件及び合流可能条件については、該当する条件を設定する。さらに、図17の処理能力テーブルに示すように、班ごとに、単位時間当たりの作業の処理能力についても格納する。作業量/処理能力によって作業時間が算出できる。
データ格納部50は、処理途中及び処理結果のデータを格納する。例えば、図18Aの班管理テーブルに示すように、各班について、状態と、現在位置と、残時間とが格納される。状態は、作業開始前を表す初期、ある作業地点から他の作業地点への移動中を表す移動中、ある地点に到着し且つ作業を実行している状態を表す作業中、優先度や合流条件などで作業地点に到着したが作業を開始できない状態を表す待機中、作業を完了して開始地点に戻った状態を表す完了が含まれる。位置は、状態が移動中であればその行き先を表し、それ以外は現在その班が存在する地点を表す。残時間は、移動又は作業が完了するまでの時間を表す。但し、状態が完了の場合には、その班の作業時間及び移動時間の総和である。また、図18Bの現作業量管理テーブルに示すように、データ格納部50は、現作業量についても管理する。すなわち、初期的には、図16に示した制約条件テーブルに含まれる作業量を、現作業量として設定するが、作業が進むと現作業量が減少する。
さらに、図19の巡回路管理テーブルに示すようなデータもデータ格納部50に格納する。図19の例では、これまでの巡回路のうちの最適巡回路についてのデータと、現在の巡回路についてのデータとが格納されるようになっている。それぞれについて、班ごとに、以下の配列における現インデックスを表すIDと、巡回すべき地点の配列(例えば1乃至N)とを含む。
制御部40は、初期設定処理部10、巡回処理部20と、局所最適化部30とに対して、以下のように処理を実施するように制御する。
初期設定処理部10は、制約データ格納部60の制約条件テーブルに優先度条件が設定されている場合には当該優先度条件を満たすように、各班について、巡回すべき全作業場所を並べて、巡回予定路を決定し、巡回予定路のデータを記憶部50に格納する。
巡回処理部20は、各班について、時間を進めつつ、巡回予定路に係る各作業の作業場所への移動及び当該作業の開始が、条件データ格納部60に格納されている制約条件を満たすか否かを判断して、各班について、巡回予定路における作業地点を決定し、データ格納部50に格納されている巡回路管理テーブルに登録する。また、巡回処理部20は、決定された巡回順番についての評価値としての時間(班管理テーブルにおける残時間の値)を更新して、データ格納部50の班管理テーブルに登録する。なお、巡回処理部20は、時間を進める際には、各作業にかかる時間、作業地点間を移動するのにかかる時間を、条件データ格納部60に格納されているデータを用いて計算する。
局所最適化部30は、条件データ格納部60における制約条件テーブルに優先度条件が登録されている場合には当該優先度条件を満たすように、データ格納部50に格納されている巡回予定路を変更し、変更後の巡回予定路のデータをデータ格納部50に格納する。この局所最適化部30の処理は、従来の局所改善法のアルゴリズムに従って行われる。
制御部40は、変更後の巡回予定路について巡回処理部20に処理を実行させ、変更後の巡回予定路についての評価値(時間)を算出させる。そして、制御部40は、変更後の巡回予定路についての評価値が、それより前に算出された評価値より低くなっているか判断し、評価値が低下していれば、当該評価値、巡回順番(又は作業の実行順番)のデータ及び変更後の巡回予定路などを次処理のためのデータとして、データ格納部50に格納する。変更後の巡回予定路についての評価値が低下していなければ、制御部40は、当該変更後の巡回予定路及び関連データを破棄する。そして、制御部40は、終了条件を満たすようになるまで、局所最適化部30及び巡回処理部20に処理を実行させる。
次に、図20乃至図33Bを用いて、図14に示した情報処理装置100の処理内容について説明する。まず、制御部40は、初期設定処理部10に、初期設定処理を実施させる(図20:ステップS101)。初期設定処理には、初期的な巡回予定路を生成する処理が含まれる。
初期的な巡回予定路を生成する処理は、例えば2つの方法のいずれかで行われる。第1の方法は、例えば各班について巡回実行すべき作業をランダムに並べて、並べられた作業に従って対応する作業地点を並べた初期の巡回予定路を生成する。そして、条件データ格納部60における制約条件テーブルに優先度条件が設定されている場合には、班ごとに、当該優先度条件を満たすように例えば順番を入れ替えるような処理を実施する。第2の方法は、他の手法で生成された巡回路(すなわち解)を初期値にして、各班について巡回予定路を生成する方法である。例えば、図21Aに示すような解が得られている場合、各班について優先度条件を満たさない部分があるか探索して、満たさない部分があれば、直前に親地点を挿入するようにする。図21Aの場合、班1において、地点P10の前に親地点が存在していないので、図21Bに示すように、直前に親地点P9を挿入する。残りについては、優先度条件を満たすようにランダムに作業地点を設定する。図21Cに示すように、班1については、8番目乃至10番目については、残余の作業地点を優先度条件を満たすように挿入している。具体的には、作業地点P5は親地点で作業地点P6は子地点であるから、この順番については維持する。一方、班2については、残余の作業地点には優先度条件が関係するものが含まれていないので、ランダムに作業地点を付加する。なお、図21A乃至図21Cの例では作業地点を並べることで巡回予定路を生成しているが、作業を同様の手順で並べるようにして作業予定順番を生成しても良い。この作業予定順番から巡回予定路を生成しても良い。すなわち、本実施の形態においても、作業場所(すなわち作業地点)と作業とは1対1対応している。
次に、制御部40は、巡回処理部20に、巡回時間計算処理を実施させる(ステップS103)。巡回時間計算処理については、図22乃至図25を用いて説明する。
まず、巡回処理部20は、班管理テーブル、巡回路管理テーブルを初期化すると共に、現在時刻を0に設定する(図22:ステップS111)。班管理テーブルについては、図23に示すように、状態を「初期」に設定し、現在位置を開始地点P0に設定し、指示位置を「1」に設定し、残時間を「0」に設定する。巡回路管理テーブルについては、図24に示すように、現巡回路についての各班のIDを「0」に初期化される。なお、現作業量管理テーブルにも制約条件テーブルにおける作業量のデータをコピーして格納する。
その後、巡回処理部20は、班管理テーブルにおいて全班の状態が完了に設定されているか判断する(ステップS113)。まだ完了となっていない班が存在する場合には、巡回処理部20は、ステージ処理を実施する(ステップS115)。ステージ処理については、図25乃至図27を用いて説明する。なお、ステージとは、次のイベントが発生するまでの最小時間を表している。具体的には、ある班の移動が完了するまで、又は作業が完了するまでである。
ステージ処理において、巡回処理部20は、班のカウンタであるiを1に初期化し(図25:ステップS131)、iが班の最大値M以下であるか判断する(ステップS133)。iがMを超えている場合には、呼び出し元の処理に戻る。
一方、iがM以下であれば、巡回処理部20は、班iの残時間が0であり且つ状態≠「完了」且つ状態≠「待機中」であるかを、班管理テーブルのデータから判断する(ステップS135)。班iの残時間が0というのは、移動又は作業が完了した状態であり、状態≠「完了」であるというのは、班iが開始地点に戻っていないということであり、状態≠「待機中」であるというのは、班iが他の班の作業の完了を待機している状態ではないということである。このような条件を満たしていない場合には、端子Aを介して図26の処理に移行する。
一方、このような条件を満たしている場合には、巡回処理部20は、班iの状態=「移動中」であるか判断する(ステップS137)。状態=「移動中」であれば端子Bを介して図27の処理に移行する。一方、状態=「移動中」でなければ、状態=「作業中」であり、班iが実行していたある作業が完了したことになる。そうすると、巡回処理部20は、制約条件テーブルに規定されている制約条件に従って、巡回予定路[i,指示位置]の作業地点に移動可能であるかを判断する(ステップS139)。巡回予定路[i,指示位置]の作業地点に移動可能かどうかについては、まず合流条件又は合流可能条件を満たしているかを判断する。
例えば、先に移動した班があればその班を優先し、合流可能条件が設定されていれば合流可能を満たしているかを判断する。もし、「合流を許さない」という合流条件が設定されていれば、最初に移動を開始した班が移動し、それ以外は「移動不可」と判断する。他の班が作業を完了している場合にも移動不可と判断する。また、優先度制約等のために他の班の作業を待つことを許すか否かについての待機オプションが設定される場合もある。この場合には、合流条件を満たしているが、直ぐには実行できない作業であっても待機可能と設定されていれば、移動可能と判断する。
移動不能と判定された場合には、巡回処理部20は、班管理テーブルにおける班iの指示位置を1インクリメントし(ステップS143)、指示位置が作業の数N以下であるかを判断する(ステップS145)。指示位置が作業の数N以下であればステップS139に戻る。一方、指示位置が作業の数Nを超えた場合には、巡回処理部20は、班管理テーブルにおける現在位置を変数Pに設定し、この現在位置に開始地点P0を設定する(ステップS147)。すなわち、これ以上作業を実行せずに開始地点P0に戻ることになる。そして端子Cを介して図26の処理に移行する。
これに対して、ステップS139で巡回予定路[i,指示位置]に移動可能と判定された場合、巡回処理部20は、変数Pに現在位置を設定し、巡回予定路[i,指示位置]を現在位置に設定し、指示位置を1インクリメントし、巡回路管理テーブルにおいて現巡回路[i].ID(現巡回路の行において班iのID)を1インクリメントし、現巡回路[i].巡回路[ID](現巡回路の行において班iの巡回路[ID]の列)に現在位置を設定する(ステップS141)。すなわち、次の移動先を巡回路[ID]に格納している。その後端子Cを介して図26の処理に移行する。
端子C以降の処理を図26を用いて説明する。巡回処理部20は、班管理テーブルにおける状態を「移動中」に変更し、班管理テーブルにおける残時間に移動コストテーブルにおける変数Pと現在位置との間の移動時間を設定する(ステップS149)。そして、巡回処理部20は、iを1インクリメントする(ステップS151)。その後端子Dを介して図25のステップS133に戻る。
一方、端子B以降の処理を図27を用いて説明する。巡回処理部20は、班管理テーブルにおける現在位置が開始地点P0であるか判断する(ステップS153)。現在位置がP0であれば、巡回処理部20は、班管理テーブルにおいて、状態を完了に設定し、残時間に現在時刻を設定する(ステップS155)。そして端子Aを介して図26のステップS151に移行する。一方、現在位置が開始地点P0ではない場合には、巡回処理部20は、現在位置における作業について作業開始が可能であるか判断する(ステップS157)。作業が開始可能かは、優先度条件が設定されていれば親の作業が全て完了しているか否かで判断される。さらに、現在位置において、状態が「待機中」又は「作業中」の人数が、自班を合わせて「最低作業員数」以上となっているかを判断する。このような条件を満たしていれば、作業開始可能と判断される。作業開始可能であれば、巡回処理部20は、班管理テーブルにおける班iの状態を作業中に変更する(ステップS159)。そして端子Aを介して図26のステップS151に移行する。一方、作業開始不可能と判断された場合には、巡回処理部20は、班管理テーブルにおける班iの状態を待機中に設定する(ステップS161)。そして端子Aを介して図26のステップS151に移行する。
このようにすれば、各班について移動を開始したり作業を開始したりすることの是非を判断することができる。
図22の処理の説明に戻って、巡回処理部20は、次に調整処理を実施する(ステップS117)。調整処理については、図28を用いて説明する。実際には「同時に」状態変更が行われるはずであるが、処理フローでは班1から順番に状態変更を行うことになるため、状態変更に時間的なずれが発生してしまう可能性がある。例えば、最低作業員数「2」の作業地点に同時に2つの班が到着した場合、作業を開始できるはずだが、上で述べた処理ではその点については判断できないので「待機中」のままになってしまう。そこで、以下に述べる処理を実施して、作業を開始させるようにする。
まず、巡回処理部20は、班のカウンタiを1に初期化する(ステップS171)。そして、巡回処理部20は、iが班の最大値M以下であるか判断する(ステップS173)。iがM以下であれば、巡回処理部20は、班管理テーブルにおける班iの状態が待機中であるか判断する(ステップS175)。状態が待機中でなければステップS181に移行する。一方、状態が待機中であれば、巡回処理部20は、現在位置の作業が作業開始可能であるか判断する(ステップS177)。この判断はステップS157と同じである。現在位置の作業が作業開始不能である場合にはステップS181に移行する。
一方、現在位置の作業が作業開始可能である場合には、巡回処理部20は、班iの状態を作業中に変更し(ステップS179)、iを1インクリメントする(ステップS181)。その後ステップS173に戻る。
一方、ステップS173でiがMを超えたと判断された場合には、巡回処理部20は、iを1に初期化し(ステップS183)、iが班の最大値M以下であるか判断する(ステップS185)。iがMを超えている場合には、呼び出し元の処理に戻る。
一方、iがM以下であれば、巡回処理部20は、班管理テーブルにおける班iの状態が作業中であるか判断する(ステップS187)。状態が作業中ではない場合には、ステップS191に移行する。一方、状態が作業中であれば、巡回処理部20は、(班iにおける作業地点における作業量)/総処理能力(班iの作業位置で作業中の班の処理能力の総和)を残時間に設定する(ステップS189)。その後、巡回処理部20は、iを1インクリメントする(ステップS191)。そして、処理はステップS185に戻る。
図22の処理の説明に戻って、巡回処理部20は、時間進行処理を実施する(ステップS119)。時間進行処理については、図29を用いて説明する。
まず、巡回処理部20は、班管理テーブルにおいて残時間の最小値を抽出してTに設定し、現在時刻にTを加算して時間を進める(図29:ステップS201)。また、巡回処理部20は、班のカウンタiを1に初期化する(ステップS203)。さらに、巡回処理部20は、iが班の数M以下であるか判断する(ステップS205)。iがMを超えた場合には呼び出し元の処理に戻る。一方、iがM以下であれば、巡回処理部20は、班管理テーブルにおいて班iの状態が移動中又は作業中であるか判断する(ステップS207)。状態が移動中又は作業中以外であれば、ステップS215に移行する。一方、状態が移動中又は作業中であれば、巡回処理部20は、班iの残時間をTだけ少なくする(ステップS209)。さらに、巡回処理部20は、班iの状態が作業中であるか判断する(ステップS211)。作業中でない場合には、ステップS215に移行する。
一方作業中である場合には、巡回処理部20は、班iがいる作業地点の作業量を、T×(班iの処理能力)だけ削減する(ステップS213)。そして、巡回処理部20は、iを1インクリメントする(ステップS215)。その後ステップS205に戻る。
このようにして時間をステップバイステップで進行させて、各班の状態を遷移させつつ、制約条件に従って移動先を決定してゆく。
図22の処理の説明に戻って、ステップS113で全班の状態が完了となっていると判断された場合には、巡回処理部20は、現巡回路の評価を、全班の移動時間+作業時間のうち最長のもので行うようになっているかを判断する(ステップS121)。現巡回路の評価を、全班の移動時間+作業時間のうち最長のもので行うようになっている場合には、巡回処理部20は、評価値のための変数Tに現在時刻を設定する(ステップS123)。そして呼び出し元の処理に戻る。変数Tはデータ格納部50に格納されているものとする。
一方、現巡回路の評価を、全班の移動時間+作業時間のうち最長のもので行うようになっていない場合には、巡回処理部20は、変数Tに、全班の残時間の合計を設定する(ステップS125)。残時間には完了時の現在時刻が設定されているので、この時間を用いて、全班の移動時間+作業時間の総和を求めるものである。そして呼び出し元の処理に戻る。このようにして現巡回路の評価値が得られたことになる。
なお、評価値として全班の移動時間+作業時間の総和を求める場合には、巡回予定路において、次の作業地点には移動せずに開始地点に戻ることを表す「0」を追加するものとする。例えば図30に示すように、初期的には最後に「0」を追加する。但し、他の制約条件を無視してどの位置にも配置して良いものとする。なお、処理自体は基本的に上で述べたものと同様であるが、「0」の影響で全体の巡回が完了せずに、全班が作業を完了した場合には、評価値が無限大になるようにする。又は、最後に「0」を選択することになった班は、この「0」を無視して残りの作業を実施するものとして、評価値については上で述べた処理のとおりに計算するものとする。
図20の処理の説明に戻って、制御部40は、toptに変数Tの値を設定し、さらに、巡回路管理テーブルにおいて、現巡回路のデータを、最適巡回路の領域に設定する(ステップS105)。初期的には、ステップS103で生成された現巡回路を最適であるものとして設定する。
例えば、上で述べた処理を行うと図31Aに示すようなデータが、巡回路管理テーブルに格納される。すなわち、現巡回路の行にデータが設定される。本ステップでは、現巡回路のデータを、最適巡回路の行にコピーするので、図31Bに示すような状態になる。
その後、制御部40は、終了条件を満たしているか判断する(ステップS107)。例えば、処理を開始してからの時間が、所定の時間を経過しているか、toptが予め定められた閾値を下回っているか、例えば一定時間又は一定繰り返し回数toptが所定値以上低下しない場合などは、終了条件を満たしているものと判断する。終了条件を満たしている場合には、制御部40は、データ格納部50に格納されている巡回路管理テーブルにおける最適巡回路の領域のデータを、出力装置70に出力する(ステップS110)。そして処理を終了する。評価値toptを出力するようにしても良い。
一方、終了条件を満たしていない場合には、制御部40は、局所最適化部30等に局所最適化処理を実施させる(ステップS109)。ステップS109が終了するとステップS107に戻る。局所最適化処理については、上でも述べたように従来技術をそのまま適用可能である。ここでは2点交換アルゴリズムについて図32乃至図33Bを用いて説明する。
まず、局所最適化部30は、データ格納部50に格納されている巡回予定路の仮変更を実施し、変更後の巡回予定路をデータ格納部50に格納する(図32:ステップS221)。2点交換アルゴリズムの場合には、班番号をランダムに1つ決定し変数gに設定する。さらに、これまでに選択していないインデックスの組み合わせ(i,j)を選択する。そして、巡回予定路の班gにおけるi番目の作業地点とj番目の作業地点とを入れ替える。具体的には、図33Aに示すような巡回予定路(一部)が存在しており、g=1、i=1、j=3と設定されると、図33Bに示すように、1番目の作業地点と3番目の作業地点とが入れ替えられる。
そして、局所最適化部30は、各班について、制約条件テーブルに規定されている優先度条件を満たすか判断する(ステップS223)。優先度条件を満たしていない場合には、ステップS221に戻って巡回予定路の変更を行う。一方、優先度条件を満たしている場合には、局所最適化部30は、巡回処理部20に、仮変更後の巡回予定路に対して巡回路時間計算処理を実施するように要求する(ステップS225)。そうすると、巡回処理部20は、上で述べた巡回路時間計算処理を実施する。
ステップS225が終了して処理結果がデータ格納部50に格納されると、制御部40は、ステップS225で算出されたTがtoptより小さいか判断する(ステップS227)。Tがtopt以上である場合には、制御部40は、ステップS221で実施した仮変更後の巡回予定路については破棄する(ステップS233)。そして呼び出し元の処理に戻る。
一方、Tがtoptより小さい場合には、制御部40は、巡回路管理テーブルにおいて、最適巡回路のデータを、現巡回路のデータで更新する(ステップS229)。ステップS5の処理と同様である。さらに、制御部40は、Tの値をtoptに設定する(ステップS231)。そして呼び出し元の処理に戻る。
以上のような処理を実施することで、すなわち局所探索を行うことで、toptが小さい値となる巡回路(作業分担)が得られるようになる。
なお、局所改善法のアルゴリズムは種々存在しており、本実施の形態のような構成を採用することで複数班で作業を行う巡回セールスマン問題を取り扱うことができない局所改善法のアルゴリズムでも採用することができる。
さらに、様々な制約条件が設定されても、巡回時間計算処理において移動可能か、作業開始可能かの判断によって吸収することができる。移動コストについても、固定的ではなく、時間に応じて変化するような移動コストについても移動コストテーブルを切り替えることで対処できる。さらに、休憩時間を考慮に入れることも可能である。
なお、1つの初期的な巡回予定路について局所最適化を繰り返すのではなく、多数の初期的な巡回予定路について局所最適化を繰り返すようにしても良い。
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、機能ブロック図は一例であって必ずしも実際のプログラムモジュール構成とは一致しない場合もある。さらに、処理フローについても、処理結果が変わらない限り、処理順番を入れ替えたり、並列実行するようにしても良い。複数台のコンピュータを用いて機能分担を行う場合もある。
また、上で述べた例では、問題設定において開始地点と終了地点が同じとしていたが、これは一例にすぎず、異なるようにしても良い。さらに、開始地点を固定にしなくても良い。
なお、上で述べた情報処理装置100及び1000は、コンピュータ装置であって、図34に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本実施の形態をまとめると、以下のようになる。
本実施の形態に係る情報処理方法は、(A)複数の作業者グループで少なくとも一部を分担して巡回実行すべき所定数の作業を、複数の作業者グループの各々について並べることで、実行予定順番を決定し、当該実行予定順番を記憶部に格納する第1のステップと、(B)複数の作業者グループの各々について、時間を進めつつ、記憶部に格納されている実行予定順番に従って各作業の作業場所への移動及び当該作業の開始が、制約データ格納部に格納されている、所定数の作業について設定されている制約条件を満たすか否かを判定することで、複数の作業者グループの各々について、実行予定順番において実行すべき作業を決定し、決定された作業順番についての評価値を算出し、記憶部に格納する第2のステップとを含む。
複数の作業者グループの各々について、はじめから実行する作業順番を決めてしまうと、制約条件によっては一般的な局所改善法のアルゴリズムを適用できなくなる。このように、各作業者グループについて、実行すべき全作業について実行予定順番を決定すれば、作業者グループ間について制約条件を満たすような処理を行わずに済むため、一般的な局所改善法のアルゴリズムを適用可能になる。さらに、最終的な作業の実行順番については、時間を進めつつ、制約条件を考慮した上で決定しているので、複雑な制約条件についても取り扱うことができる。なお、作業と作業場所が一対一対応していれば、作業場所の巡回順番についての処理を行うのと同じである。なお、既に他の作業グループが実行完了した作業については、実行予定順番において実行せずにスキップする。
本情報処理方法は、(C)記憶部に格納されている実行予定順番の一部に対して、所定のルールに従って変更を加え、記憶部に変更後の実行予定順番を格納する第3のステップと、(D)記憶部に格納されている変更後の実行予定順番について、上記第2のステップを実行する第4のステップと、(E)第4のステップにおいて算出された評価値が、第2のステップにおいて算出された評価値より小さい場合に、第4のステップにおいて算出された評価値と第4のステップにおいて決定された実行順番と変更後の実行予定順番とを、記憶部における次処理のための領域に格納する第5のステップとをさらに含むようにしても良い。第3のステップにおける所定のルールには、様々なものを採用することができ、作業者グループ間で制約条件を満たすことができないものでもよい。
さらに、本情報処理方法においては、第3のステップ、第4のステップ及び第5のステップを、算出された評価値が所定の値未満になるという第1の条件、第1のステップ乃至第5のステップの実行時間が所定時間を超えたという第2の条件、評価値の変化が閾値未満で且つ当該状態が一定時間継続されるという第3の条件のいずれかが満たされるまで繰り返すようにしてもよい。このようにすれば、各作業者グループについて、より好ましい、作業の実行順番を得ることができるようになる。
なお、上で述べた第2のステップにおいては、複数の作業者グループの各々について、作業状態と、移動先又は作業場所とを時間経過に応じて記憶部に格納して管理するようにしてもよい。さらに、複数の作業者グループの各々について、所定数の作業のうち実行することが決定された作業の識別子又は当該作業の作業場所を順番に記憶部に格納して管理するようにしてもよい。
さらに、上で述べた第1のステップにおいて、制約データ格納部に優先度条件のデータが格納されている場合には、当該優先度条件を満たすように実行予定順番を決定するようにしても良い。同様に、第3のステップにおいて、制約データ格納部に優先度条件のデータが格納されている場合には、当該優先度条件を満たすように変更後の実行予定順番を決定するようにしても良い。
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROMなどの光ディスク、光磁気ディスク、半導体メモリ(例えばROM)、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、RAM等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
複数の作業者グループで少なくとも一部を分担して巡回実行すべき所定数の作業を、前記複数の作業者グループの各々について並べることで、実行予定順番を決定し、当該実行予定順番を記憶部に格納する第1の処理と、
前記複数の作業者グループの各々について、時間を進めつつ、前記記憶部に格納されている前記実行予定順番に従って各作業の作業場所への移動及び当該作業の開始が、制約データ格納部に格納されている、前記所定数の作業について設定されている制約条件を満たすか否かを判定することで、前記複数の作業者グループの各々について、前記実行予定順番において実行すべき作業を決定し、決定された作業順番についての評価値を算出し、前記記憶部に格納する第2の処理と、
を、コンピュータに実行させるためのプログラム。
(付記2)
前記記憶部に格納されている前記実行予定順番の一部に対して、所定のルールに従って変更を加え、前記記憶部に変更後の実行予定順番を格納する第3の処理と、
前記記憶部に格納されている前記変更後の実行予定順番について、前記第2の処理を実行する第4の処理と、
前記第4の処理によって算出された評価値が、前記第2の処理によって算出された評価値より小さい場合に、前記第4の処理によって算出された評価値と前記第4の処理において決定された前記実行順番と前記変更後の実行予定順番とを、前記記憶部における次処理のための領域に格納する第5の処理と、
をさらに、前記コンピュータに実行させるための付記1記載のプログラム。
(付記3)
前記第3の処理、前記第4の処理及び前記第5の処理を、算出された前記評価値が所定の値未満になるという第1の条件、前記第1の処理乃至前記第5の処理の実行時間が所定時間を超えたという第2の条件、前記評価値の変化が閾値未満で且つ当該状態が一定時間継続されるという第3の条件のいずれかが満たされるまで繰り返す
付記2記載のプログラム。
(付記4)
前記第2の処理においては、
前記複数の作業者グループの各々について、作業状態と、移動先又は作業場所とを時間経過に応じて前記記憶部に格納して管理し、
前記複数の作業者グループの各々について、前記所定数の作業のうち実行することが決定された作業の識別子又は当該作業の作業場所を順番に前記記憶部に格納して管理する
付記1乃至3のいずれか1つ記載のプログラム。
(付記5)
前記第1の処理において、前記制約データ格納部に優先度条件のデータが格納されている場合には、当該優先度条件を満たすように前記実行予定順番を決定する
付記1乃至4のいずれか1つ記載のプログラム。
(付記6)
前記第3の処理において、前記制約データ格納部に優先度条件のデータが格納されている場合には、当該優先度条件を満たすように前記変更後の実行予定順番を決定する
付記1乃至4のいずれか1つ記載のプログラム。
(付記7)
複数の作業者グループで少なくとも一部を分担して巡回実行すべき所定数の作業を、前記複数の作業者グループの各々について並べることで、実行予定順番を決定し、当該実行予定順番を記憶部に格納する第1の処理部と、
前記複数の作業者グループの各々について、時間を進めつつ、前記記憶部に格納されている前記実行予定順番に従って各作業の作業場所への移動及び当該作業の開始が、制約データ格納部に格納されている、前記所定数の作業について設定されている制約条件を満たすか否かを判定することで、前記複数の作業者グループの各々について、前記実行予定順番において実行すべき作業を決定し、決定された作業順番についての評価値を算出し、前記記憶部に格納する第2の処理部と、
を有する情報処理装置。
(付記8)
複数の作業者グループで少なくとも一部を分担して巡回実行すべき所定数の作業を、前記複数の作業者グループの各々について並べることで、実行予定順番を決定し、当該実行予定順番を記憶部に格納する第1の処理と、
前記複数の作業者グループの各々について、時間を進めつつ、前記記憶部に格納されている前記実行予定順番に従って各作業の作業場所への移動及び当該作業の開始が、制約データ格納部に格納されている、前記所定数の作業について設定されている制約条件を満たすか否かを判定することで、前記複数の作業者グループの各々について、前記実行予定順番において実行すべき作業を決定し、決定された作業順番についての評価値を算出し、前記記憶部に格納する第2の処理と、
を、コンピュータが実行する情報処理方法。
1000 情報処理装置
1100 初期設定処理部
1200 巡回処理部
1300 局所改善部
1400 制御部
1500 記憶部
1600 制約データ格納部
100 情報処理装置
10 初期設定処理部
20 巡回処理部
30 局所最適化部
40 制御部
50 データ格納部
60 条件データ格納部

Claims (5)

  1. 複数の作業者グループで少なくとも一部を分担して巡回実行すべき所定数の作業を、前記複数の作業者グループの各々について並べることで、実行予定順番を決定し、当該実行予定順番を記憶部に格納する第1の処理と、
    前記複数の作業者グループの各々について、時間を進めつつ、前記記憶部に格納されている前記実行予定順番に従って各作業の作業場所への移動及び当該作業の開始が、制約データ格納部に格納されている、前記所定数の作業について設定されている制約条件を満たすか否かを判定することで、前記複数の作業者グループの各々について、前記実行予定順番において実行すべき作業を決定し、決定された作業順番についての評価値を算出し、前記記憶部に格納する第2の処理と、
    を、コンピュータに実行させるためのプログラム。
  2. 前記記憶部に格納されている前記実行予定順番の一部に対して、所定のルールに従って変更を加え、前記記憶部に変更後の実行予定順番を格納する第3の処理と、
    前記記憶部に格納されている前記変更後の実行予定順番について、前記第2の処理を実行する第4の処理と、
    前記第4の処理によって算出された評価値が、前記第2の処理によって算出された評価値より小さい場合に、前記第4の処理によって算出された評価値と前記第4の処理において決定された前記実行順番と前記変更後の実行予定順番とを、前記記憶部における次処理のための領域に格納する第5の処理と、
    をさらに、前記コンピュータに実行させるための請求項1記載のプログラム。
  3. 前記第3の処理、前記第4の処理及び前記第5の処理を、算出された前記評価値が所定の値未満になるという第1の条件、前記第1の処理乃至前記第5の処理の実行時間が所定時間を超えたという第2の条件、前記評価値の変化が閾値未満で且つ当該状態が一定時間継続されるという第3の条件のいずれかが満たされるまで繰り返す
    請求項2記載のプログラム。
  4. 複数の作業者グループで少なくとも一部を分担して巡回実行すべき所定数の作業を、前記複数の作業者グループの各々について並べることで、実行予定順番を決定し、当該実行予定順番を記憶部に格納する第1の処理部と、
    前記複数の作業者グループの各々について、時間を進めつつ、前記記憶部に格納されている前記実行予定順番に従って各作業の作業場所への移動及び当該作業の開始が、制約データ格納部に格納されている、前記所定数の作業について設定されている制約条件を満たすか否かを判定することで、前記複数の作業者グループの各々について、前記実行予定順番において実行すべき作業を決定し、決定された作業順番についての評価値を算出し、前記記憶部に格納する第2の処理部と、
    を有する情報処理装置。
  5. 複数の作業者グループで少なくとも一部を分担して巡回実行すべき所定数の作業を、前記複数の作業者グループの各々について並べることで、実行予定順番を決定し、当該実行予定順番を記憶部に格納する第1の処理と、
    前記複数の作業者グループの各々について、時間を進めつつ、前記記憶部に格納されている前記実行予定順番に従って各作業の作業場所への移動及び当該作業の開始が、制約データ格納部に格納されている、前記所定数の作業について設定されている制約条件を満たすか否かを判定することで、前記複数の作業者グループの各々について、前記実行予定順番において実行すべき作業を決定し、決定された作業順番についての評価値を算出し、前記記憶部に格納する第2の処理と、
    を、コンピュータが実行する情報処理方法。
JP2011158552A 2011-07-20 2011-07-20 巡回路決定についてのプログラム、方法及び装置 Active JP5772332B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011158552A JP5772332B2 (ja) 2011-07-20 2011-07-20 巡回路決定についてのプログラム、方法及び装置
US13/527,824 US20130024227A1 (en) 2011-07-20 2012-06-20 Information processing technique for determining traveling route

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011158552A JP5772332B2 (ja) 2011-07-20 2011-07-20 巡回路決定についてのプログラム、方法及び装置

Publications (2)

Publication Number Publication Date
JP2013025509A true JP2013025509A (ja) 2013-02-04
JP5772332B2 JP5772332B2 (ja) 2015-09-02

Family

ID=47556411

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011158552A Active JP5772332B2 (ja) 2011-07-20 2011-07-20 巡回路決定についてのプログラム、方法及び装置

Country Status (2)

Country Link
US (1) US20130024227A1 (ja)
JP (1) JP5772332B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014179837A (ja) * 2013-03-15 2014-09-25 Omron Corp 情報処理装置、および作業員割当方法
WO2015019806A1 (ja) * 2013-08-09 2015-02-12 株式会社ゼスト 業務割当装置及び業務割当プログラム
JP2017101971A (ja) * 2015-11-30 2017-06-08 富士通株式会社 元素識別装置、元素識別プログラムおよび元素識別方法
JP2018129001A (ja) * 2017-02-10 2018-08-16 株式会社リコー 情報処理装置、情報処理システム、移動経路決定方法及びプログラム
JP2021170239A (ja) * 2020-04-16 2021-10-28 株式会社豊田中央研究所 工程設計の支援装置、支援方法および支援プログラム
JP7268719B1 (ja) 2021-11-22 2023-05-08 フジテック株式会社 出向計画システム、制御方法およびプログラム
JP7298666B2 (ja) 2021-11-22 2023-06-27 フジテック株式会社 出向計画システム、制御方法およびプログラム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016093066A1 (ja) * 2014-12-08 2016-06-16 株式会社リコー 光偏向器、画像表示装置及び物体装置
JP5809382B1 (ja) * 2014-12-10 2015-11-10 楽天株式会社 サーバ、表示制御方法、および表示制御プログラム
US20220164739A1 (en) * 2015-03-05 2022-05-26 Quitchet,LLC Real-time scheduling and synchronization of real estate transactions

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187799A (ja) * 1996-12-19 1998-07-21 Hitachi Eng Co Ltd 計画立案装置および計画立案方法
JP2002215219A (ja) * 2001-01-23 2002-07-31 Mitsubishi Heavy Ind Ltd スケジューリング評価装置およびスケジューリング評価方法
JP2009009312A (ja) * 2007-06-27 2009-01-15 Jfe Steel Kk 生産計画作成支援装置、生産計画作成支援方法および生産計画作成支援プログラム

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5272638A (en) * 1991-05-31 1993-12-21 Texas Instruments Incorporated Systems and methods for planning the scheduling travel routes
US5799263A (en) * 1996-04-15 1998-08-25 Bct Systems Public transit system and apparatus and method for dispatching public transit vehicles
US6754634B1 (en) * 1998-04-01 2004-06-22 William P. C. Ho Method for scheduling transportation resources
US6453298B2 (en) * 1998-07-10 2002-09-17 Honda Giken Kogyo Kabushiki Kaisha Method of operating a vehicle redistribution system based upon predicted ride demands
JP3900394B2 (ja) * 1998-10-22 2007-04-04 本田技研工業株式会社 配車システム
US6411897B1 (en) * 2000-07-10 2002-06-25 Iap Intermodal, Llc Method to schedule a vehicle in real-time to transport freight and passengers
US6356838B1 (en) * 2000-07-25 2002-03-12 Sunil Paul System and method for determining an efficient transportation route
KR20000063909A (ko) * 2000-08-10 2000-11-06 기준성 통신망을 이용한 운송정보 처리시스템과 그 방법
JP2002154612A (ja) * 2000-11-15 2002-05-28 Internatl Business Mach Corp <Ibm> 経路探索システム及び経路探索方法
US6904421B2 (en) * 2001-04-26 2005-06-07 Honeywell International Inc. Methods for solving the traveling salesman problem
GB2381884A (en) * 2001-07-16 2003-05-14 Pablo D Cappellini A search engine of flexibly-defined paths applicable to the search of transportation-related routes
US6980885B2 (en) * 2001-09-24 2005-12-27 I2 Technologies Us, Inc. Routing shipments according to criticality
US20030135304A1 (en) * 2002-01-11 2003-07-17 Brian Sroub System and method for managing transportation assets
US7363126B1 (en) * 2002-08-22 2008-04-22 United Parcel Service Of America Core area territory planning for optimizing driver familiarity and route flexibility
US7840434B2 (en) * 2002-10-29 2010-11-23 At&T Intellectual Property I, L. P. Methods and systems for assigning multiple tasks
US20040107110A1 (en) * 2002-12-02 2004-06-03 Jens Gottlieb Optimization of transport with multiple vehicles
US7627535B2 (en) * 2002-12-13 2009-12-01 Newspaper Delivery Technologies, Inc. Method and apparatus for supporting delivery, sale and billing of perishable and time-sensitive goods such as newspapers, periodicals and direct marketing and promotional materials
US20040133411A1 (en) * 2003-01-08 2004-07-08 Derrick Babb Automated Transit System
US20040225544A1 (en) * 2003-05-06 2004-11-11 Dorothy Camer Method, apparatus, and program for efficiently deploying vehicles to meet the mobility needs of a densely populated urban area
US20050216182A1 (en) * 2004-03-24 2005-09-29 Hussain Talib S Vehicle routing and path planning
GB0420097D0 (en) * 2004-09-10 2004-10-13 Cotares Ltd Apparatus for and method of providing data to an external application
US20060161335A1 (en) * 2005-01-14 2006-07-20 Ross Beinhaker Routing system and method
US7624024B2 (en) * 2005-04-18 2009-11-24 United Parcel Service Of America, Inc. Systems and methods for dynamically updating a dispatch plan
CA2554651A1 (en) * 2006-07-31 2008-01-31 Trapeze Software Inc. System and method for optimizing a transit network
US20080077464A1 (en) * 2006-09-22 2008-03-27 Sap Ag Vehicle scheduling and routing with trailers
EP2135200A4 (en) * 2007-02-12 2011-12-28 Sean O'sullivan DISTRIBUTED TRANSPORT SYSTEM AND SERVICE NETWORK
US8893130B2 (en) * 2007-03-26 2014-11-18 Raytheon Company Task scheduling method and system
EP2179385A2 (en) * 2007-07-09 2010-04-28 Technion Research & Development Foundation Ltd. Routing methods for multiple geographical entities
US20090048890A1 (en) * 2007-08-16 2009-02-19 Burgh Stuart G Delivery Management System for Quick Service Restaurants
US8082095B2 (en) * 2008-09-12 2011-12-20 General Motors Llc Enhanced passenger pickup via telematics synchronization
US8886453B2 (en) * 2008-12-11 2014-11-11 Telogis, Inc. System and method for efficient routing on a network in the presence of multiple-edge restrictions and other constraints
US9727829B2 (en) * 2009-11-25 2017-08-08 General Electric Company Systems and methods for multi-resource scheduling

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187799A (ja) * 1996-12-19 1998-07-21 Hitachi Eng Co Ltd 計画立案装置および計画立案方法
JP2002215219A (ja) * 2001-01-23 2002-07-31 Mitsubishi Heavy Ind Ltd スケジューリング評価装置およびスケジューリング評価方法
JP2009009312A (ja) * 2007-06-27 2009-01-15 Jfe Steel Kk 生産計画作成支援装置、生産計画作成支援方法および生産計画作成支援プログラム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014179837A (ja) * 2013-03-15 2014-09-25 Omron Corp 情報処理装置、および作業員割当方法
WO2015019806A1 (ja) * 2013-08-09 2015-02-12 株式会社ゼスト 業務割当装置及び業務割当プログラム
JP2017101971A (ja) * 2015-11-30 2017-06-08 富士通株式会社 元素識別装置、元素識別プログラムおよび元素識別方法
JP2018129001A (ja) * 2017-02-10 2018-08-16 株式会社リコー 情報処理装置、情報処理システム、移動経路決定方法及びプログラム
JP2021170239A (ja) * 2020-04-16 2021-10-28 株式会社豊田中央研究所 工程設計の支援装置、支援方法および支援プログラム
JP7194147B2 (ja) 2020-04-16 2022-12-21 株式会社豊田中央研究所 工程設計の支援装置、支援方法および支援プログラム
JP7268719B1 (ja) 2021-11-22 2023-05-08 フジテック株式会社 出向計画システム、制御方法およびプログラム
JP2023076185A (ja) * 2021-11-22 2023-06-01 フジテック株式会社 出向計画システム、制御方法およびプログラム
JP7298666B2 (ja) 2021-11-22 2023-06-27 フジテック株式会社 出向計画システム、制御方法およびプログラム

Also Published As

Publication number Publication date
US20130024227A1 (en) 2013-01-24
JP5772332B2 (ja) 2015-09-02

Similar Documents

Publication Publication Date Title
JP5772332B2 (ja) 巡回路決定についてのプログラム、方法及び装置
Bertsimas et al. Online vehicle routing: The edge of optimization in large-scale applications
Nguyen et al. A tabu search for time-dependent multi-zone multi-trip vehicle routing problem with time windows
Zhang et al. Flexible job-shop scheduling/rescheduling in dynamic environment: a hybrid MAS/ACO approach
US10655975B2 (en) System and method for routing optimization
Battaïa et al. A taxonomy of line balancing problems and their solutionapproaches
CN103250031B (zh) 路线选择系统、路线选择方法和路线选择程序
Shahvari et al. Hybrid flow shop batching and scheduling with a bi-criteria objective
Ye et al. A genetic algorithm for job-shop scheduling
Chand et al. Evolving heuristics for the resource constrained project scheduling problem with dynamic resource disruptions
Solano-Charris et al. Local search based metaheuristics for the robust vehicle routing problem with discrete scenarios
Resende et al. Greedy randomized adaptive search procedures: Advances and extensions
Yolmeh et al. An efficient hybrid genetic algorithm to solve assembly line balancing problem with sequence-dependent setup times
Anagnostopoulos et al. Resource-constrained critical path scheduling by a GRASP-based hyperheuristic
Roh et al. A block transportation scheduling system considering a minimisation of travel distance without loading of and interference between multiple transporters
García-Magariño et al. ABSCEV: An agent-based simulation framework about smart transportation for reducing waiting times in charging electric vehicles
JP2007241340A (ja) N分割巡回経路探索システム、経路探索サーバ、n分割巡回経路探索方法
Lei et al. Hybrid heuristic search approach for deadlock-free scheduling of flexible manufacturing systems using Petri nets
Liu et al. Network-oriented household activity pattern problem for system optimization
Bahalke et al. Meta-heuristics to solve single-machine scheduling problem with sequence-dependent setup time and deteriorating jobs
AitZai et al. A branch and bound and parallel genetic algorithm for the job shop scheduling problem with blocking
Park et al. A GRASP approach to transporter scheduling and routing at a shipyard
Soltani et al. Cyclic hybrid flow shop scheduling problem with limited buffers and machine eligibility constraints
WO2021237350A1 (en) Methods and systems for solving an optimization problem using a flexible modular approach
CN109255462B (zh) 一种货物配送方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140404

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150424

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: 20150602

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150615

R150 Certificate of patent or registration of utility model

Ref document number: 5772332

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150