<共生自律分散システムの概要説明>
図1は、本実施形態における共生自律分散システムの概念を示す図である。国内における社会インフラ事業の新規投資は飽和状態にあり、海外インフラについても競争が激化し参入が難しい状況にある。また、企業間の合併、併合または同種類の業務提携も行われてはいるが、設備やサービスの共用による経費削減の効果しか期待できない状況にある。
そうした中、同種または異種の事業を協業させる場所(以下「場」という)を作り、その「場」において複数の現存システムを共生させることで、未知の新しいサービスやビジネスを創成する方法が模索されている。このような共生を実現するシステムを、共生自律分散(登録商標)システムといい、また、当該システムによって創成されるサービスを共生自律分散サービスという。
ここで、異種または同種の事業における、異種または同種の業務の実施主体を「自律個」、また、当該自律個サーバ群2のサーバに共生の「場」を提供する実施主体を「協調場」、と称する(図1)。
−−−実施例1−−−
<共生自律分散システムの適用例>
図2は、本実施形態におけるスケジュール調停システム10の構成を示す図である。本実施形態のスケジュール調停システム10は、スケジュール調停サーバ1を少なくとも含んで構成されている。このスケジュール調停サーバ1は、上述の「協調場」に対応したサーバである。
一方、本実施形態における上述の「自律個」に対応する存在は、例えば、高速道路における各種保守業務を担うサーバ、を想定出来る。図2で例示する構成のうち、路面保守計画サーバ2−T、灯具保守計画サーバ2−L、電力保守計画サーバ2−P、および、交通管理サーバ2−O、が自律個に対応したサーバとなる。以後、これらサーバらをまとめて自律個サーバ群2と称する。
なお、上述の自律個サーバ群2および協調場のスケジュール調停サーバ1のそれぞれに対応した具体的な構成例については後述する(図10、図13)。
自律個サーバ群2を構成する各サーバは、自律個サーバ群2における目的を達成する為のシステムの構成要素であり、これを自律個システムという。自律個サーバ群2のサーバには、自律個システムを運用するKPI(Key Performance Indicator:重要業績評価指標)の情報を保持している。このKPIは「個別KPI」という。また、自律個システムとは、自律個サーバ群2のサーバにおける個別KPIを達成あるいは最大化する為に存在する。自律個システムは、鉄道交通管理システム、鉄道保守システム、電力管理システム等、どのようなシステムであってもよく、既設でも新設でも運用中のシステムでも構わない。
一方、スケジュール調停サーバ1も、協調場の目的を達成する為のシステム構成要素であり、これを協調場システムという。協調場には、協調場システムを運用するKPIがあり、これを「全体KPI」という。協調場システムは、この全体KPIを達成あるいは最大化する為に存在する。こうした協調場システムを具体化するスケジュール調停サーバ1を、協調場サーバという。
共生自律分散における「共生」とは、協調場が全体KPIの最大化を目指しつつ、同時に、各自律個が自己の個別KPIの最大化を目指して共存している状態をいう。理想的には、全体KPIと個別KPIの両方が常に同時に最大化されることが望ましいが、全体KPIと個別KPIとは、相反関係となる場合がある。
上述の協調場サーバたるスケジュール調停サーバ1と自律個サーバ群2とは、所定の調停プロトコルに基づくアサーションメッセージの交換を行う。以後、このアサーションメッセージの交換のことを「調停」という。
ここに「アサーションメッセージ」とは、自己の要求を主張する内容を記載したメッセージを言う。「アサーション」とは、相手方の主張を考慮しつつ行う主張であり、自己の状況の説明、相手方への相談、相手方への譲歩を伴う点において、「クレーム」とは、その考え方において異なる。
図3は、本実施形態におけるバルブ調整システムの構成を示す図である。また、本実施例における共生自律分散システムは、例えば、水道事業者が運用するバルブ調整システムにも適用できる。
図3で例示するバルブ調整システムが含むバルブ調整サーバ251は、「協調場」に対応したサーバ、すなわち上述の協調場サーバである。一方、ネットワーク256を介してバルブ調整サーバ251と接続された、地域A水運用サーバ252、地域B水運用サーバ253、地域C水運用サーバ254、および、地域D水運用サーバ255は、それぞれ「自律個」に対応し、自律個サーバ群2を構成する。
このように、本実施例における共生自律分散システムがバルブ調整システムに適用された場合、バルブ調整サーバ251は、当該システムにおけるトータル電力コストを削減するため、地域A〜地域Dの各水運用サーバ252〜255の運用スケジュールを調整する。また、該当各地域の水運用サーバは、バルブ調整サーバ251によって調整されたスケジュールに従い、配水系統等のバルブを制御することになる。
図4は、本実施形態における会議スケジューリングシステムの構成を示す図である。また、本実施例における共生自律分散システムは、例えば、複数のユーザが出席予定の会議に関して、各ユーザの都合を踏まえて会議の日時や場所を調整する、会議スケジューリングシステムにも適用できる。
図4で例示する会議スケジューリングシステムが含む会議スケジューリングサーバ261は、「協調場」に対応したサーバ、すなわち上述の協調場サーバである。一方、ネットワーク266を介して会議スケジューリングサーバ261と接続された、ユーザA端末262、ユーザB端末263、ユーザC端末264、および、ユーザD端末265、は、それぞれ「自律個」に対応し、自律個サーバ群2を構成する。
このように、本実施例における共生自律分散システムが会議スケジューリングシステムに適用された場合、会議スケジューリングサーバ261は、会議出席者の予定を調整するために、各ユーザの端末から当該ユーザのスケジュール情報を取得し、会議の日時と場所を調整し、各ユーザの端末に該当日時と当該場所の情報を送付することになる。
<共生自律分散システムをスケジュール調停システムに適用した例>
共生自律分散システムの適用対象として上述のような様々な例が考えられるが、本実施
例では、図2で既に示したスケジュール調停システム10を想定するものとする。図5は、本実施形態におけるスケジュール調停システム10での全体シーケンス例を示す図であり、具体的には、スケジュール調停サーバ1が、路面保守計画サーバ2−Tと灯具保守計画サーバ2−Lのスケジュール調停を行う場合の全体シーケンスとなる。
当該シーケンスにおいて、まず路面保守計画サーバ2−Tと灯具保守計画サーバ2−Lは、予め記憶しているスケジュールの作成制約(以下、スケジュール作成制約)と、所定期間のスケジュール(例:計画A、計画B)とを、スケジュール調停サーバ1に送信する(Step2401、Step2402)。
一方、スケジュール調停サーバ1は、所定の担当者等からの入力を受け付けるインターフェイスたるスケジュール作成方針入力部131(図13)において、全ての自律個のスケジュールの実行期間を○月○日から○月△日に至る期間内とする、などといった、システム全体のスケジュール方針に関する情報であるスケジュール方針情報(全体最適制約情報)を取得する。
また、スケジュール調停サーバ1は、不整合判定部132(図13)において、路面保守計画サーバ2−Tと灯具保守計画サーバ2−Lから取得したスケジュールおよびその作成制約と、上述のスケジュール方針情報とに基づいて、スケジュール(計画A、計画B)間の不整合を検出する(Step2403)。
上述のスケジュール間の不整合検出は、例えば以下の(式1)を用い、全体KPIを計算することで行う。
−−−−式1
ここにnは、初期スケジュールとして提出するスケジュールの数(上述の例の場合、計画A,計画Bの2つのスケジュールであるから、nは「2」)、AKは、k番目のスケジュールにおける保守エリア(高速道路のうち保守対象の区間)、TKは、k番目のスケジュールにおける時間帯(保守作業を行う時間帯)を示す。
上述のAKの一例としては、あるインターチェンジから別のインターチェンジまでの高速道路の区間を想定出来る。また、TKの一例としては、午前1時から午前3時までの2時間、などと想定出来る。なお、AKの単位としては、インターチェンジ間の区間数としても良いし、TKの単位としては、その時間帯の「分」を使っても良い。
また、A’K、T’Kは、それぞれ初期スケジュール後に変更されたスケジュール(修正スケジュール)と初期スケジュールとで重複する保守エリアおよび時間帯を示す。従って、初期スケジュールの内容が、全て調停後のスケジュール(修正スケジュール)と全く同じになっている場合、式1で算定するKPIは「100%」となる。
例えば、初期スケジュールにおける、AK×TKの集計値=保守対象区間の数×各保守対象区間の作業時間=8時間で、A’K×T’Kの集計値=初期スケジュールと修正スケジュールとの間で一致する保守対象区間の数×該当各区間の作業時間=6.5時間であった場合、式1で求まるKPIは、(6.5/8)×100=81.25%となる。なお、
このKPIの定義は、スケジュール問題には好適な方法の一つであるが、この方法に限定する必要はない。
続いてスケジュール調停サーバ1は、記憶装置たるHDD11−04(図7参照)で予め保持する全体最適制約情報を読み出し、この全体最適制約情報に基づいて、スケジュール(計画A、計画B)を修正して修正スケジュール(計画A’、計画B’)を生成する(Step2404)。
次にスケジュール調停サーバ1は、上述のStep2404でのスケジュール修正度合いに応じてクレジットを算出する(Step2405)。このクレジットの値については、当初スケジュールから修正があった時間(分)をそのまま数値として利用しても良い。例えば、スケジュール調停サーバ1は、各スケジュールのうち「計画A」について生成した修正スケジュールにおいて、当初スケジュールから計30分の修正が生じた場合、クレジットの値を「30」と算出する。
続いてスケジュール調停サーバ1は、送信部である通信処理部1−2(図13)が、修正スケジュール(計画A’、計画B’)とクレジット値の各情報を、路面保守計画サーバ2−Tと灯具保守計画サーバ2−Lの夫々に送信する(Step2406、2408)。
この場合、路面保守計画サーバ2−Tと灯具保守計画サーバ2−Lは、スケジュール調停サーバ1から受信した修正スケジュール(計画A’、計画B’)を、ディスプレイ等の所定の表示装置にて表示させ、当該修正スケジュールに対する所定担当者等による承認または拒否の入力を受け付けると共に、これをスケジュール調停サーバ1に返信する(Step2407、2409)。
他方、スケジュール調停サーバ1は、上述のStep2406、2408で送信した修正スケジュールについて、自律個サーバたる全サーバ(この例では、路面保守計画サーバ2−Tと灯具保守計画サーバ2−L)から承認が得られた場合、当該修正スケジュールとクレジットが決定された旨を、該当サーバに送信する(Step2410)。
この場合の路面保守計画サーバ2−Tと灯具保守計画サーバ2−Lは、スケジュール調停サーバ1にて決定された修正スケジュールとクレジットの各情報を、ディスプレイ等の所定の表示装置に表示(図6:自律個サーバ群2の表示画面例)させ、修正スケジュールに応じた所定処理を実行する。
<ハードウェア構成>
図7は、スケジュール調停サーバ1、自律個サーバ群2のサーバ、のそれぞれのハードウェアの構成例を示す図である。図に示すように、スケジュール調停サーバ1や自律個サーバ群のサーバらは、一般的なコンピュータ装置と同様のハードウェア構成を備えている。
すなわち、演算装置であるCPU11−01、記憶装置であるメモリ11−02、通信NIC11−03、記憶装置であるハードディスクドライブ(以下HDD)11−04、入出力コントローラ11―05、およびモニタコントローラ11―06を備え、これらは、バス11―07等で接続されている。なお、入出力コントローラ11―05は、入力装置であるキーボード、マウスと接続し、入出力コントローラ11―05は、表示装置であるディスプレイと接続する。
こうした構成のスケジュール調停サーバ1や、自律個サーバ群2の各サーバは、CPU11−01がメモリ11−02のプログラム11−021を実行することで、必要な機能
を実装する。
<スケジュール調停の具体例>
図8は、本実施形態におけるスケジュール調停の具体例を示す図である。図中のN1〜N10は、ある高速道路のインターチェンジを示している。また、これらインターチェンジの各間をつなぐ線は、高速道路を示している。こうした構成の高速道路の保守業務に関し、路面(Track)、灯具(Light)、電力(Power)、および、交通(Operation)の各保守区間は、インターチェンジを終端としている。保守区間とは、保守業務を行う単位となる。
上述の保守業務のうち路面保守とは、高速道路の路面の保守業務を意味する。例えば、高速道路の路面は通行車両の加重で沈下し続けるため、これを持ち上げる作業は、路面保守業務の一つである。
また、灯具保守とは.高速道路の灯具の保守業務のことである。例えば、故障した灯具や所定の期間を経過した灯具を交換する作業は、灯具保守業務の一つである。
また、電力保守とは、高速道路の各所に電力を安定して提供するために電力機器の修理や交換を行うことである。また、交通保守とは、自動車の交通制御に関する保守業務をいう。但し、本実施例においては、電力保守区間と交通保守区間は、電気が流れる区間と、自動車の交通を制御する区間として取り扱う。
例えば、路面保守はインターチェンジN1〜N3を一つの業務単位(T1)として行う。このT1区間で2つの路面保守を行うことはできないが、T1とT2の区間を同時刻に行うことは可能である。しかし、路面保守区間T1と灯具保守区間L1は、区間が重複しているので、同時刻に路面保守業務と灯具保守業務を実施することはできない。
また、業務員の安全を確保するため、路面保守も灯具保守も、該当区間にて電気通電中には作業ができないものとする。つまり、電力保守区間P1が通電している時間帯においては、区間T1、T2、L1、L2のいずれの区間も保守業務が行えない。
一方、電気が通電していないと、自動車を走らせることができない場合がある。そのため、例えば交通保守区間O1で自動車の交通制御が行われている間は、電力保守区間P1は通電されていなければならない場合がある。また、自動車の交通制御中には、路面保守も灯具保守も行えないものとする。
ここで、発明の実施の態様について理解を助けるために、以下のように設定を単純化する。まず、一週間に一度の路面保守(Track)、灯具保守(Light)、電力保守(Power)、交通保守(Operation)の各スケジュールの調整を行うケースを想定する。実際には、もっと長い期間(1ヶ月、半年)のスケジュールの調整を行うようにしてもよい。また、同様に、路面保守と灯具保守は、1つの保守の実施主体(保守チーム)のみを有する設定としているが、実際には、2以上の保守チームが、同時刻に別の保守区間で業務をしてもよい。
スケジュール調停サーバ1においてスケジュール調整を行うに際しては、各自律個サーバがスケジュール調停サーバ1に対して最初に提案する保守スケジュール(以下、初期保守スケジュールという)から大きく逸脱しないスケジュール調整が行われることが望ましい。
初期保守スケジュールから大きく逸脱しないスケジュール調整を行う理由は、それぞれ
の保守業務を実施する会社(以下、保守会社という)において、それぞれの保守会社にとって個別KPIを最大化するもっとも都合の良いスケジュールを組むと考えられるためである。
具体的には、保守員の都合のよい日時や時間、保守員の詰所から保守業務を行う場所までの距離などがスケジュールに反映されると考えられる。なぜなら保守員の移動や残業、業務時間は、コストに影響する為である。
そこで本実施例においては、自律個サーバ群2の各サーバの保守スケジュールを、「個別KPI」として把握する。初期保守スケジュールに一切の変更なく調停が完了した状態を「個別KPIの最大化(100%)が達成された状態」と考えるものとする。
また、例えば路面保守(Track)、灯具保守(Light)の保守業務を行う場所や時間が重複する場合は、いずれかの保守業務を断念させなければならないが、当然これはそれぞれの保守会社にとっては、個別KPIの最大化が達成できず、不利益が発生したものと考えるものとする。
一方、スケジュール調停サーバ1における「全体KPIが最大化された状態」とは、自律個サーバ群2の全てのサーバから提出された初期スケジュールの案件数に対して、自律個サーバ群2の各サーバの調停によって採用されたスケジュールが全て採用された状態と考えるものとする。
本スケジュール調停システム10の目的は、スケジュール調停サーバ1のKPIの最大化を目指しつつ、自律個サーバ群2の各サーバの個別KPIの最大化も目指すことである。
そこでまず、それぞれの保守業務を管理する自律個サーバ群2の各サーバは、翌週の保守スケジュールを決めるために、所定の日時の時間までに希望する初期保守スケジュールを、スケジュール調停サーバ1に送信する。
こうした初期保守スケジュールの具体例としては、図9−1に、路面(Track)の初期保守スケジュールを、図9−2に、灯具(Light)の初期保守スケジュールを示す。また同様に、図9−3に、交通(Operation)の初期保守スケジュールを、図9−4に、電力(Power)の初期保守スケジュールを示す。
一方、スケジュール調停を受ける自律個サーバ群2の各サーバについて、その構成を説明する。図10は、自律個サーバ群2の各サーバにおいて、メモリ11−2に記憶されているソフトウェア構成を示す図である。図中の矢印は、ソフトウェアモジュールが呼び出され、または、参照される関係を示し、プログラムのアルゴリズムとしても把握されるものとする。これらのプログラムは、図7のメモリ11―02に展開され、演算装置たるCPU11−01によって実行される。
図10で例示する構成のうち通信処理部2―2、オンライン処理部2―3の各モジュールに必要な記憶情報は、メモリ11―02に格納されている。また、オフライン処理部2―4の各モジュールに必要な記憶情報は、メモリ11―02だけではなく、HDD11−04にも記録されている。
こうした自律個サーバ群2の各サーバにおけるオペレーション処理部2−1は、初期保守スケジュール作成部2−11において初期保守スケジュールが作成される。この作成は、図7のディスプレイ、キーボード、マウスを操作するオペレータが、所定ツールを用い
て行うものとできる。作成された初期保守スケジュールは、通信処理部2−2のアサーションメッセージ送信部2−21に格納される。
なお、上述した初期保守スケジュールの作成は、作成制約を踏まえる必要がある。図11に、路面保守(Track)スケジュールの作成制約(以下、スケジュール制約条件という)を示す。
図11に示すスケジュール制約条件の例において、9月22日(火)と9月26日(土)は、保守会社の定休日であるため保守業務が全時間帯にわたり100%実施できないことを示している。また、9月27日(日)の全時間帯は、30%の重みで業務の実施が難しいことを示している。また、9月21(月)、9/24(木)、および9/25(金)の、26時以降は、50%の重みで業務の実施が難しいことを示している。また、9月23日(水)の27時30分以降は、70%の重みで業務の実施が難しいことを示している。なお、こうしたスケジュール制約条件における各重みに関しては、自律個サーバ群2の各サーバを運営するそれぞれの保守会社の方針で決められることになる。その方針の指標の例としては、その時間帯に業務を行う場合の追加コスト(残業代や移動コスト)などを勘案して数値化する、などの手法を採りうる。
上述のスケジュール制約条件は、オペレーション処理部2−1におけるスケジュール制約作成部2−12において、所定アルゴリズムによって作成され、オンライン処理部2−3の実行可能性推測部2−31に転送される。このスケジュール制約条件も、保守会社のオペレータ等が所定のツールを用いて作成するとしても良い。
こうして自律個サーバ群2の各サーバにおいて作成された初期保守スケジュールは、通信処理部2−2のアサーションメッセージ送信部2−21により、スケジュール調停サーバ1に送信されることとなる。
アサーションメッセージ送信部2−21から送信される初期保守スケジュールの具体例を図12に示す。図12は、自律個サーバ群2の各サーバのうち、路面保守計画サーバ2−Tにおいて作成され、スケジュール調停サーバ1に送信した初期保守スケジュールのメッセージ(suggestionアサーションメッセージ)の内容を示す図である。
図12で例示する初期保守スケジュールのアサーションメッセージにおいて、最初から4行目までは、保守業務時間帯と保守業務区間を示している。また、最初の1行目は、「2015年9月21日の25時から27時までの時間帯」で区間「T1」の保守業務を初期保守スケジュールとして提案している旨の記述となる。
また、5行目は、火曜日と土曜日は業務ができない日として記載している。この日は、例えば、保守会社の定休日が該当する。このような日は、スケジュール調停サーバ1による調停を行ったところで、そもそも業務を行えない日であり、路面保守計画サーバ2−Tから必ず拒否されることになる。但し、初期保守スケジュールの記載は必須であるが、このような定休日情報の記載は必須ではない。
図12と同様の初期保守スケジュールの作成、送信の処理は、路面保守計画サーバ2−T2−W、電力保守計画サーバ2−P、交通計画サーバ2−Oでも同様に実行する。
ここで、スケジュール調停サーバ1におけるソフトウェア構成の例について説明する。図13は、スケジュール調停サーバ1のメモリ11−2に展開されているソフトウェア構成を示す図である。図中の矢印は、ソフトウェアモジュールが呼び出される、または、参照される関係を示し、プログラムのアルゴリズムとして把握されるものとする。
これらのプログラムは、図7のメモリ11―02に展開され、演算装置たるCPU11−01によって実行され、必要な機能を実装するものとなる。また、通信処理部2―2、オンライン処理部2―3の各モジュールに必要な記憶情報は、メモリ11―02に格納され、オフライン処理部2―4の各モジュールに必要な記憶情報は、メモリ11―02だけではなくHDD11−04にも記録される。
こうした構成のスケジュール調停サーバ1は、上述の自律個サーバ群2の各サーバにおいて作成された初期保守スケジュールのアサーションメッセージ(suggestionアサーションメッセージ)を、ネットワーク3を介して、通信処理部1−2で受信する。同様に、この初期保守スケジュールのアサーションメッセージは、自律個サーバ群2における他のサーバの通信処理部2−2のアサーションメッセージ受信部2−22(図10)で受信される。
さらに、このアサーションメッセージは、スケジュール調停サーバ1における、オンライン処理部1−3のアサーションメッセージ確認部133に転送され、フォーマット等の形式チェックを受け、フォーマットに瑕疵がある場合は所定アルゴリズムによって修正される。
アサーションメッセージ確認部133で形式チェックを受けたアサーションメッセージは、欠損情報推測部134に送付される。但し、本ケースのアサーションメッセージには欠損情報がないため、アサーションメッセージ確認部133にそのままのアサーションメッセージとして戻される。
アサーションメッセージ確認部133は、路面保守計画サーバ2−T、灯具保守計画サーバ2−L、電力保守計画サーバ2−P、および交通管理サーバ2−Oからの初期保守スケジュールのアサーションメッセージ(suggestionアサーションメッセージ)が揃ったら、それらが含む初期保守スケジュールを不整合判定部132に転送する。
不整合判定部132は、各サーバから得たスケジュールの衝突(以下、競合という)が発生していないかをチェックする。
図14−1、図14−2に、路面保守計画サーバ2−Tと灯具保守計画サーバ2−Lとの間での、初期保守スケジュールにおける競合発生例を示す。図8で示した保守区間と初期保守スケジュールとを照合して比較すると、9月21日(月)のT1区間の保守とL1区間の保守が競合していることが分かる。また、9/24(木)のT3区間の保守とL3区間の保守、9/25(金)のT4区間の保守とL4区間の保守も競合している。
また、図14−3、図14−4に、電力保守計画サーバ2−Pと交通管理サーバ2−Oと間での、初期保守スケジュールにおける競合発生例を示す。ここでは、9/26(土)の25時から29時の車両の交通時間に、電気が通電されてない状況があることが分かる。
これらの初期保守スケジュールは、オンライン処理部1−3の全体KPI計算部135に入力され、修正スケジュールの生成が行われる。この全体KPI計算部135での修正スケジュールの生成に際しては、オペレーション処理部1−1のスケジュール作成方針部131から、スケジュール方針情報が付与され、当該スケジュール方針を制約としてスケジュール修正がなされる。
図15に、上述のスケジュール作成方針のビューアにおけるGUI例を示す。スケジュ
ール調停サーバ1のオペレータは、スケジュール作成方針部131がディスプレイ等の所定の表示装置で図15のように表示するGUIにて、スケジュール作成方針を指定する。
続いて、スケジュール調停のパターンについて説明する。図16は、協調場サーバとして振舞うスケジュール調停サーバ1と、自律個サーバ群2のサーバとして振舞う路面保守計画サーバ2−Tおよび灯具保守計画サーバ2−Lとを例として、スケジュール調停のパターンを説明したものである。
図中における調停パターンAは、自律個サーバ群2のサーバ間では競合は発生していないが、自己のKPIを最大化したいスケジュール調停サーバ1と自律個サーバ群2のサーバとの間で競合が発生している状態を示している。調停を何度繰り返しても纏まらない場合は、スケジュール調停サーバ1または自律個サーバ群2のサーバは自己の有するクレジット値(以後、優先権ポイントという)に基づく優先権を主張することが可能となる。
この優先権ポイントは、スケジュール調停サーバ1と自律個サーバ群2のサーバとの間で利用可能な共通通貨として把握することができる。こうした優先権ポイントによる優先権の主張が競合した場合には、この共通通貨の額である優先権ポイントの値が大きいほうの優先権の主張を採用するものとして競合を解決する。
換言すると、こうした優先権を定量化したものが「優先権ポイント」である。これは、調停で取り扱う資源である「時間(分)」をベースとするものとする。例えば30分の時間を調停の対象とする場合、その時間の価値は、原則として30優先権ポイント程度を基準に考える。もちろん、この優先権ポイントの価値は、その時間を欲するスケジュール調停サーバ1または自律個サーバ群2のサーバによって流動的に決定されるので、この30優先権ポイントはあくまで目安でよい。
上述の優先権は、修正スケジュールたる調停案を自律個サーバ群2のサーバに受け入れて貰いたいスケジュール調停サーバ1、あるいは初期保守スケジュールたる初期時の提案、または修正スケジュールに対して改変を要求する再提案をスケジュール調停サーバ1に受け入れて貰いたい自律個サーバ群2のサーバから、優先権ポイント(数値)を付与して提案されることになる。
競合解決に際しては、上述のように優先権ポイントの多い方の提案または再提案が採用され、その優先権ポイントは採用されなかった側に移動する。つまり、採用されなかった側は、別の機会にその優先権ポイントを使った優先権主張が可能となる訳である。例えば、自律個サーバ群2の所定サーバからスケジュール調停サーバ1に初期保守スケジュールを送付する際に、優先権ポイントを合わせて送付する(図5のStep2401)こととなる。
また、調停パターンBは、スケジュール調停サーバ1のKPIすなわち全体KPIには影響がない範囲で、自己のKPIを最大化したい2以上の自律個サーバ群2のサーバ間で競合が発生している状態を示している。調停を何度繰り返しても纏まらない場合は、自律個サーバ群2の各サーバは、再提案に際して自己の有する優先権ポイントに基づく優先権を主張することが可能となる。スケジュール調停サーバ1は、自律個サーバ群2のサーバから提案されてきた優先権ポイントに応じて、調停を実施する。この調停の方法としては、自分以外の自律個への影響の度合い等を勘案して再調停をしてもよい。もっとも簡単な方法としては、もっとも高い優先権ポイントを付与してきた提案を最優先に採用することである。
提案が受理された自律個サーバ群2のサーバの優先権ポイントは、受理されなかった自
律個サーバ群2のサーバに分配配分される。他の自律個への影響の度合い等を勘案して配分をしてもよいし、等分して配分しても良い。
また、調停パターンCは、スケジュール調停サーバ1と2以上の自律個サーバ群2のサーバのKPIの全てに影響があり、これらの間で競合が発生している状態を示している。調停を何度繰り返しても纏まらない場合は、スケジュール調停サーバ1と自律個サーバ群2の各サーバは再提案に際して自己の有する優先権ポイントに基づく優先権を主張することが可能となる。スケジュール調停サーバ1は、スケジュール調停サーバ1も含む自律個サーバ群2のサーバから提案されてきた優先権ポイントに応じて、調停を実施する。調停方法や優先権ポイントの配分については、上記の内容に順ずるものとする。
なお、これらの調停の状態は、スケジュール調停サーバ1だけではなく、自律個サーバ群2の全てのサーバに開示されるものとする。具体的には、調停案や再提案を含む全てのアサーションメッセージは、自律個サーバ群2の全てのサーバにも転送される。調停の公平性を、共生自律分散システムの全てのサーバで監視するためである。
但し、開示する調停の情報が、自律個サーバ群2のサーバの営業秘密情報の開示等に該当するなどの場合には、調停の状態を秘密にできるようにしても良い。
また、スケジュール調停サーバ1が指定した時間内であれば、再提案や優先権ポイントの増加は何度でも可能であるが、後発的にその提案や優先権ポイントを取り下げることはできない。
図17は、スケジュール調停サーバ1における、オペレーション処理部1−1の調停時間入力部136が表示するGUI例を示す図である。本実施形態では、上述の調停のおける競合の解決方法をスケジュール調停サーバ1のオペレータ等が指定可能となっている。
指定出来る解決方法のうち、「オークション方式」とは、所定の時間までに最も良い条件の優先権を提示したスケジュール調停サーバ1または自律個サーバ群2のサーバが希望する時間帯を確保できるものである。一方、「協調場裁定方式」とは、スケジュール調停サーバ1のルールで条件を指定できるものである。例えば、スケジュール調停サーバ1が優先権ポイントの上限を予め決めておき、その優先権ポイントに至ったら優先権を主張できる主体を決定できるものである。この条件は、編集ボタンを押下すると画面に出てくるエディタ等で編集することができる。
なお、図17の例では、「オークション方式」と「協調場裁定方式」の2種類の解決方法を例示したが、これに限定されるものではない。
上述の競合の解決に用いられる優先権ポイントの発行ポリシーは以下のとおりである。図18は、スケジュール調停サーバ1、自律個サーバ群2のサーバで有する、優先権ポイント発行ポリシーの設定画面例を示す図である。
これらの発行ポリシーは、自律個サーバ群2の各サーバにおける、オペレーション処理部2−1のクレジット発行方針入力部2−13(図10)、および、スケジュール調停サーバ1における、オペレーション処理部1−1のクレジット発行方針入力部137にて、それぞれのオペレータ等が入力する。
図中で示す「初期発行ポイント」欄では、優先権ポイントの最初の値を設定する。デフォルト値は、競合が起きている時間(分)の値であるが、オペレータが手動で入力することもできる。また、「最終発行ポイント」欄では、優先権ポイントの最大値を設定する。デフォルト値は、競合が起きている時間(分)の倍の値であるが、オペレータが手動で倍
数の値を入力することもできる。但し、スケジュール調停サーバ1、自律個サーバ群2のサーバともに、自分の所持している優先権ポイントの値を超えて付与することはできない。そのような場合は、付与はその上限値になる。
また、「オークション運用方針」欄の編集ボタンは、これを押下することで、オークションの分割回数、開始時または終了直前に高い優先権ポイントを付与するなどの各種のオークションの戦略を記述したスクリプトの読み込み動作を指示できる。
ここで競合の解決に関する説明に戻る。スケジュール調停サーバ1における、オンライン処理部1−3の不整合判定部132は、オペレーション処理部1−1のスケジュール作成方針入力部131が与えるスケジュール作成方針に従って、競合を解決する新しいスケジュール、すなわち修正スケジュールを作成し、これを全体KPI計算部135に渡す。
一方、全体KPI計算部135は、その修正スケジュールをベースに全体KPIの最大化を図る、更に新しい修正スケジュールを作成する。もし、全体KPI計算部135は、作成した修正スケジュールの間で競合が発生してしまう場合、その修正スケジュールを不整合判定部132に戻す。
不整合判定部132と全体KPI計算部135は、上述の処理を繰り返すことで、各スケジュールを収束させるように働きあうものとする。
図19−1〜図19−4に、スケジュール調停サーバ1にて修正、作成された修正スケジュールの具体例を示す。ここで示す修正スケジュールは、初期保守スケジュールの間の競合を解決した、路面保守、灯具保守、電力保守、交通の各修正スケジュールである。
また、図20−1は、路面保守計画サーバ2−Tが、スケジュール調停サーバ1に対し、優先権ポイントを送付した場合の路面保守計画サーバ2−Tの修正スケジュール例である。同様に、図20−2は、路面保守計画サーバ2−Tが、スケジュール調停サーバ1に対し、優先権ポイントを送付した場合の灯具保守計画サーバ2−Lの修正スケジュール例である。
これら図19−1〜図19−4、図20−1、図20−2の修正スケジュールが示すのは、例えば、スケジュール調停サーバ1から修正スケジュール(図19−1)が路面保守計画サーバ2−Tに送信されたが、これを路面保守計画サーバ2−Tが拒否した状況である。この場合の路面保守計画サーバ2−Tは、スケジュール調停サーバ1に対し、再提案のスケジュール(路面保守計画サーバ2−Tのオペレータが修正スケジュールを再修正したもの)と優先権ポイントを送信する。
一方、スケジュール調停サーバ1は、自律個群2の他のいずれのサーバ(ここでは、灯具保守計画サーバ2−L)よりも、路面保守計画サーバ2−Tから送付された優先権ポイントが大きい場合、当該路面保守計画サーバ2−Tから送付された再提案のスケジュールを許可し、自律個群2の他のサーバ(ここでは、灯具保守計画サーバ2−L)については更にスケジュールを修正する。なお、路面保守計画サーバ2−Tの再修正スケジュールは、図20−1に示すもので、灯具保守計画サーバ2−Lの再修正スケジュールは、図20−2に示すものとなる。ここで、灯具保守計画サーバ2−Lに関して、初期保守スケジュール(図9−2)と、再修正スケジュール(図20−2)とを比較すると、9/21(月)で1時間分、9/24(木)で2時間分、9/25(金)で1時間分、計4時間、すなわち240分のスケジュール修正がなされているため、この灯具保守計画サーバ2−Lに対してスケジュール調停サーバ1から240優先権ポイントが付与されることになる。
また、上述のサーバのうち路面保守計画サーバ2−Tの初期保守スケジュールのsug
gestionアサーションメッセージに対する、スケジュール調停サーバ1からのofferアサーションメッセージ(図19−1の修正スケジュールに対応したもの)を図21に示す。このofferアサーションメッセージの具体的内容、すなわちスケジュール修正の提案内容16−1は、上から5行目〜8行目までに記載され、このofferアサーションメッセージに対する応答の制限時間指定16−2は、9行目に「60分」と記載されている。
このofferアサーションメッセージは、路面保守計画サーバ2−Tにおける、通信処理部2−2のアサーションメッセージ送信部2−21(図10)に転送されて、自律個サーバ群2に含まれる全サーバに最初の調停結果として配布される。
offerアサーションメッセージを自律個サーバ群2の全てサーバに配布することで、自律個サーバ群2の各サーバは、他のサーバに関する調停内容を知ることができるため、自律個サーバ群2の各サーバは自分だけが不利益な取り扱いを受けていないかを確認することができる。但し、前述した通り、必要に応じて秘密の通信としても良い。
なお、上述したアサーションメッセージ受信部2−22で受信したアサーションメッセージと、アサーションメッセージ送信部2−21から送信するアサーションメッセージは、オフライン処理部2−4のアサーション情報記録部2−41に記録される。この記録は、オフライン処理部2−4の過去履歴情報部2−42に格納される。
また、そのアサーションメッセージは、オフライン処理部2−4の自己モデルチューニング部2−43にも転送される。この自己モデルチューニング部2−43では、後述するモデルチューニングに必要な情報が取り出され、自律個サーバ群2の各サーバの特性モデルのチューニングに使用される。
上述したスケジュール調停サーバ1または自律個サーバ群2のサーバからのアサーションメッセージは、自律個サーバ群2のサーバにおける、通信処理部2−2のアサーションメッセージ受信部2−22で受信され、さらに、オンライン処理部2−3のアサーションメッセージ確認部2−32に転送される。さらに、アサーションメッセージは、実行可能性推測部2−31に転送され、オペレーション処理部2−1のスケジュール制約作成部2−12において作成されたスケジュール制約条件と比較する。
図22−1と図22−2に、初期保守スケジュールとスケジュール制約条件とを比較する例を示す。すなわち、路面および灯具の初期保守スケジュール(図9−1、図9−2)と、路面保守スケジュールおよび灯具保守スケジュールの各修正スケジュール(図19−1、図19−2)とを比較している。
このうち図22−1は、路面保守計画サーバ2−Tのスケジュールに関する比較結果であり、図22−2は、灯具保守計画サーバ2−Lのスケジュールに関する比較結果である。両比較結果によれば、9月21日(月)および25日(金)の27:00〜27:30の時間帯において、50%制約の条件に抵触していることが分かる。路面保守計画サーバ2−Tは、こうした抵触が生じている修正スケジュールを拒否することもできる。一方、この修正スケジュールを受け入れた場合、制約条件に抵触しつつスケジュールを実行するためのコスト(例:従業員の残業代や追加の移動費など)が高まることになる。
そこで、例えば、上述の修正スケジュールを容認するとした路面保守計画サーバ2−Tにおける、オンライン処理部2−3の実行可能性推測部2−31は、その修正スケジュールに、上述のコストに見合う優先権ポイントを付与して、「re_suggestion_with_priorityアサーションメッセージ」を生成し、スケジュール調停サ
ーバ1に再提案することになる。ここで、路面保守計画サーバ2−Tは、修正スケジュールが初期保守スケジュールから30分修正されていることを踏まえ、30優先権ポイントが付与されることになる。
「_with_priority」タイプのアサーションメッセージは、要求を相手側に認めさせるために自己の所有する優先権ポイントの提供を申し入れるが、相手側に優先権ポイントを差し出させることを要求する方法として、マイナス値の優先権ポイントを使うことができる。
つまり「○○(数値)優先権ポイントを付与するので、この再提案を認めて欲しい」という使い方ではなく、「もし○○(数値)優先権ポイントを付与してくれるなら、この内容の再提案を受け入れてもよい」という意味になる。
このようなマイナスの優先権ポイントを使うと、当初から相手方の要求(相手側に提供して欲しい優先権ポイント)が明確になるため、調停が少ない回数で終了することが期待できるというメリットがある。
この場合、自律個サーバ群2のサーバにおける、オンライン処理部2−3の実行可能性推測部2−31は、最初の優先権ポイントとして、時間(分)を50%で乗算した優先権ポイントの要求を試みる。具体的には、9月21日(月)と25日(金)のそれぞれに、30分×50%=15優先権ポイントである。
もちろん、個別KPI計算部2−33において、9月21日(月)と25日(金)のスケジュールを30分短くして、優先権ポイントを要求しないという選択もとり得るし、あるいは、スケジュール調停サーバ1が提示してきた修正スケジュールそのものを拒否することも可能である。
この場合、自律個サーバ群2のサーバは、当初の要求通りの初期保守スケジュールを、スケジュール調停サーバ1から認可される可能性もあるが、逆に調停が不調となり、他の自律個サーバ群2のサーバにその時間を押さえられ、全く別の時間帯に動かされるリスクも払わなければならない。これは自律個サーバ群2のサーバのポリシーを作成するオペレータの運用方針次第となる。
図23に、上述のマイナスの優先権ポイント付きの再提案のアサーションメッセージ(re_suggestion_with_priorityアサーションメッセージ)18−1と、了承メッセージ(accpetアサーションメッセージ)18−2を併記したアサーションメッセージの内容を示す。
また、図24に、スケジュール調停サーバ1からのオファ、すなわち修正スケジュールを拒否するアサーションメッセージ(rejectアサーションメッセージ)19−1の例を示す。これはスケジュール調停サーバ1からの修正スケジュールを拒否し、当初の提案すなわち初期保守スケジュールのまま維持することを要求する内容となる。
また、図25に、スケジュール調停サーバ1が、自律個サーバ群2のサーバから、上述のrejectアサーションメッセージ(図24。または、図23のre_proposalアサーションメッセージ)を受け取り、プラスの優先権ポイントをつけて、当該自律個サーバに、再度同じスケジュールをオファするアサーションメッセージ(offer_with_priorityアサーションメッセージ)20−1を示す。
図23、図24に例示したアサーションメッセージは、自律個サーバ群2のサーバにお
ける、オンライン処理部2−3のアサーション情報作成部2−34(図10)にて所定アルゴリズムにより作成され、通信処理部2−2のアサーションメッセージ送信部2−21から、原則として、スケジュール調停サーバ1と全ての自律個サーバに転送される。
なお、自律個サーバ群2のサーバにおける、通信処理部2−2のアサーションメッセージ受信部2−22で受信されたアサーションメッセージ、およびアサーションメッセージ送信部2−21から送信されるアサーションメッセージは、オフライン処理部2−4のアサーション情報記録部2−41および自己モデルチューニング部2−43に転送され、また、過去履歴情報部2−42でデータベース化され、自己特性モデル部2−44で自己シミュレータのチューニングパラメータとして使用される。
また、オフライン処理部2−4の過去履歴情報部2−42と自己特性モデル部2−44と参考アサーションメッセージ記録部2−45は、オンライン処理部2−3の実行可能性推測部2−31から参照され、自律個アサーションメッセージを作成する際の参考情報として利用される。
上述してきたように、スケジュール調停サーバ1との間で種々の処理を実行する、自律個サーバ群2のサーバにおける状態遷移について、図26に示す。図26は、アサーションメッセージを送付する自律個サーバ群2のサーバの状態遷移を示す図である。
この場合、自律個サーバ群2のサーバは、その起動後に、(1)スケジュール作成の状態21−1に移行する。スケジュール作成を行った各サーバは、suggestionアサーションメッセージを使って、自己の希望するスケジュールを協調場サーバとして振舞うスケジュール調停サーバ1に送信した後、(2)(優先権ポイント付与)修正スケジュール案受信待ちの状態21−2に遷移する。
その後、自律個サーバ群2のサーバは、スケジュール調停サーバ1からのofferまたはoffer_with_priotiryアサーションメッセージを受信すると、(3)拒絶、(優先権ポイント付与)再提案、受諾判断状態21−3に移行する。
その後、自律個サーバ群2のサーバは、reject、re_suggestionまたはre_suggestion_with_priorityアサーションメッセージを スケジュール調停サーバ1に転送することで、再び(2)(優先権ポイント付与)修正スケジュール案受信待ちの状態21−2に遷移する。一方、自律個サーバ群2のサーバは、acceptアサーションメッセージをスケジュール調停サーバ1に送信することで、当該スケジュールについては、その内容が確定され、遷移状態も終了する。
なお、優先権ポイントの取り扱いについては、スケジュール調停サーバ1における、オフライン処理部1−4のクレジット記録部138、また、自律個サーバ群2の各サーバにおける、オフライン処理部2−4のクレジット記録部2−46で記録されることになる。
このようにして、スケジュール調停サーバ1による調停のもと、自律個サーバ群2の各サーバらと交渉を続けることによって、協調場サーバ、自律個サーバの双方の利益を追求することが可能なスケジュールが完成することになる。
−−−実施例2−−−
本実施例では、自律個サーバ群2のサーバのいずれかが、協調場サーバとして振舞うスケジュール調停サーバ1が予定している形のスケジュールを提出しない場合について記載する。
例えば、灯具保守計画サーバ2−Lが、図9−2のようなスケジュールを提出せずに、図27のような、保守区間と必要な時間のみをsuggestionアサーションメッセージで送信する場合を考える。なお、この場合の個別KPIは、保守区間と必要な時間が達成されれば、どの時間に割り当てられたとしても「個別KPIが100%達成された状態」と考えるものとする。すなわち、初期保守スケジュールのメッセージにおいて明確な意思表示をしないと、他の自律個サーバ群2のサーバとの間において不利益な取り扱いを受けることを甘受するという意志表明となる。
また、灯具保守計画サーバ2−Wを運用する保守会社は、毎週1日完全な定休日があり、また曜日によって保守業務ができない時間帯もあるが、それを自律個サーバ群2の他のサーバには通知しないものとする。例えば、ここでは、それらの情報は、競合他社に対する営業上の秘密に相当すると考えることができるためである。
この灯具保守計画サーバ2−Wのsuggestionアサーションメッセージは、協調場サーバとして振舞うスケジュール調停サーバ1における、通信処理部1−2のアサーションメッセージ受信部139で受信される。また、このアサーションメッセージは、オンライン処理部1−3のアサーションメッセージ確認部133に転送され、そこで、時間情報はあるが時刻情報が欠落している不完全なスケジュールとして確認され、欠損情報推測部134に転送されることとなる。
この欠損情報推測部134は、オフライン処理部1−4の過去履歴情報参照部140にアクセスし、灯具保守計画サーバ2−L用の過去履歴情報を参照し、過去のスケジュール情報(過去のスケジュール修正情報)から、上述の「不完全なスケジュール」と最も近似しているスケジュールを検索し、今回の不完全な初期保守スケジュールと対応づける。具体的には、過去において、例えば保守区間W1〜W4の保守業務が1週間に一回ずつ実施され、かつ、それぞれの保守時間が今回の時間と近いものを検索することになる。
または、十分に近いと判定される過去のスケジュール情報が発見できない場合、欠損情報推測部134は、オフライン処理部1−4の自律個特性モデル参照部141のうち灯具保守計画サーバ2−L用の領域にアクセスし、過去において、rejectアサーションメッセージや、re_suggestionアサーションメッセージが発行されやすい時間帯を抽出し、これらの時間帯を回避するような暫定的なスケジュールを所定アルゴリズムで作成する。
図28は、rejectアサーションメッセージや、re_suggestionアサーションメッセージが発行されやすい時間帯を示す図である。ここに記載された値は、全てのアサーションメッセージ数に対する、rejectアサーションメッセージや、re_suggestionアサーションメッセージ数の比率を示している。この値の大きい時間帯へのofferアサーションメッセージの送付は、受け入れられにくいことになる。
このスケジュールは、暫定的に、灯具保守の自律個サーバ、すなわち灯具保守計画サーバ2−Lから送付されたものとして取り扱われ、これ以後は実施例1に記載の方法で、調停が実施される。
なお、上述で示した例では、高速道路の保守スケジュールに関する事象について記載しているが、これは、別の事象に関するシステムでも援用可能である。例えば、路面保守計画サーバ2−T(図2)を保線保守サーバとし、灯具保守計画サーバを架線保守計画サーバ、また、交通計画サーバを運行計画サーバとして、インターチェンジN1〜N1(図8)を鉄道駅として取り扱うことで、鉄道メンテナンスのスケジュール調停システムとする
ことも可能である。
上述の保線保守とは、鉄道レールの保守業務のことである。例えば、レールは走行する列車の加重で沈下し続けるため、これを土や砂利で持ち上げる作業がその具体例である。また、架線保守とは、列車に電力を供給するために上部に張られる電線の保守業務のことである。例えば、列車のパンダグラフとの摩擦によって磨耗した電線を張り替える作業はその一つである。また、電力保守とは、列車に電力を安定して提供するために電力機器の修理や交換を行う保守業務である。また、運行とは、列車運行に関する事項をいう。但し、本実施例においては、電力保守区間と運行区間は、電気が流れる区間と、列車を動かす区間として取り扱う。
−−−実施例3−−−
本実施例では、「協調場」として機能するスケジュール調停サーバ1と、「自律個」として機能する、路面保守計画サーバ2−T、灯具保守計画サーバ2−L、電力保守計画サーバ2−P、および交通管理サーバ2−O(これらをまとめて自律個サーバ群2という)を、人間の代りとなるエージェントプログラムを使って自律的に動作させる実施例を示す。
図29は、このエージェントプログラムを使った調停のフローを示す図である。以後、「協調場」用のエージェントを協調場エージェント、「自律個」用のエージェントを、自律個エージェントと称呼する。
上述の協調場エージェントが、調停開始のメッセージを自律個エージェントに通知する(Step2901)と、調停に参加したい自律個エージェントが参加を要求するメッセージを協調場エージェントに返信する(Step2902)。
協調場エージェントは、上述の参加要求のメッセージを受信し、その参加を受諾する(Step2903)。
なお、この参加要求は、上述の調停開始の通知がなされた後、調停終了通知(Step2913)が行われるまで、どのタイミングでも行うことができるものとする。
上述の参加を要求した自律個エージェントは、自己の希望する初期保守スケジュール(或いは、初期保守スケジュールに対する修正スケジュールを改変したスケジュール)を作成し、協調場エージェントに提案(初期保守スケジュールの提案)ないし再提案(修正スケジュールを改変したスケジュールの提案)として送付する(Step2904)。
一方、協調場エージェントは、一定時間を待って、自律個エージェントから、提案または再提案が送付されてこないと、調停終了通知(Step2913)を行うが、それ以外の場合は、その提案または再提案に従った調停を実施し(Step2906)、調停結果に応じた修正スケジュール(以後、調停スケジュール)を自律個エージェントに送付する(Step2907)。
自律個エージェントは、上述の調停スケジュールを受信し、その内容を所定ルールに沿って確認後、調停から離脱することができる(Step2908、Step2909)。但し、離脱後であっても、調停終了通知(Step2913)が行われるまでは、再度参加することができるようにしてもよい(Step2902)。
自律個エージェントは、調停スケジュールを所定アルゴリズムにより検討し(Step2910)、新しいスケジュールを作成して再提案を行うか決定する(Step2911
)。
全ての自律個エージェントから再提案が行われなくなった段階で、調停は終了する(Step2914)。
こうした、Step2901の調停開始からStep2914の調停終了に至る一連の調停を「ステージ」という。協調場エージェントおよび自律個エージェントは、このステージの終了後、ステージの調停内容の解析を行うことが出来る(Step2915,Step2916)。
例えば、協調場エージェントは、自律個エージェントが調停において安易に譲歩した、あるいはなかなか譲歩しなかったスケジュール(時間、エリア)を解析し、当該解析で特定した時間、エリアを集約することで、図11に示したようなスケジュールの制約条件の推定を行うことができる。
協調場エージェントは、上述の推定の結果を用いることで、次のステージにおける調停開始通知(Step2901)の時点で、推定した制約条件を回避するような調停スケジュールの提案(Step2907)を行うとしても好適である。
自律個エージェントも同様に、協調場エージェントまたは他の自律個エージェントの振舞いから、他の自律個エージェントのスケジュールの制約条件の推定を行うことができる。自律個エージェントは、この推定の結果を用いることで、次のステージにおける参加要求(Step2902)の時点で、推定した制約条件を回避するようなスケジュール提案(Step2904)を行ってもよい。
このように、ステージの開始時点において、調停の最終段階に近い提案を行うことで、少ない回数の調停が実施される可能性が高くなる。
図30は、協調場エージェントの調停アルゴリズムの一例を示す図である。協調場エージェントは、自律個エージェントからスケジュールを取得すると(Step1)、これらの全てを時間−空間上の二次元上の長方形301として展開する(Step2)。
図30の例では、2つのスケジュールA,Bに関するそれぞれの長方形301を表示しているが、実際には全てのスケジュールが長方形として座標上に展開されることになる。
次に協調場エージェントは、これらの長方形301の重なりで、自律個エージェントが提出してきた全てのスケジュールの競合の有無を調べる。本実施例の調停では、理解を容易にするため、インターチェンジの変更は行えず、また保守の作業時間も変更できないものとし、唯一、保守作業の開始時刻、終了時刻のみを変更できるものとしている。
図30で例示したケースでは、インターチェンジS2からインターチェンジS5の範囲において保守作業が競合する為、このスケジュールA、Bのままでは、いずれも保守作業が行えないことになる。しかし、02:30〜03:00の時間が重複しないようにスケジュールし直せば、スケジュールA、Bは共に保守作業が可能となる。
そこで協調場エージェントの調停アルゴリズムは、この重複を回避するためのスケジュールの計算を行う。このアルゴリズムは、作業時間の少ないスケジュールの方を大きく動かすものである。具体的には、保守作業時間を仮想的な質量(Virtual Weight(VW))と見なして、その重心点302を算出し(Step2)、その重心点302を境として、スケジュールの重複のない、新しいスケジュールを作る(Step3)。
図30で例示したケースでは、スケジュールAの保守作業時間は120分で、スケジュールBの保守作業時間は60分であるため、それぞれ1:2の比率で時間が移動されたスケジュールが提案されることになる。
次にこのアルゴリズムによる調停の妥当性を以下に説明する。例えば、10分間のスケジュールと3時間のスケジュールがあった場合、これらを等価に扱うとすると、10分のスケジュールの為に、3時間を要する保守作業ができなくなる場合がある。
本アルゴリズムにおいては、このような状況は、リソース(時間と空間)の有効活用の観点から望ましくないと考え、保守作業時間の長いものを優先的に取り扱うことしたものである。このような再スケジュールによって、当然別のスケジュールとの競合が、玉突き的に発生する場合がありえるが、その場合も上記の競合回避のアルゴリズムを実施し、競合するスケジュールが全てなくなるまで繰り返すことになる。
次に、自律個エージェントで用いているファジィ推論について説明する。図31は、自律個エージェントで用いているファジィ推論のメンバーシップ関数を示す図である。ここで採用する推論方式としては、計算負荷が軽く実装が簡単なMin−Max簡易重心法(特開平05−150991等で開示)を想定している。また、図32は、自律個エージェントのファジィルールの一例を示す表である。本ルールの概要を以下に述べる。
(1)調停回数が少ない初期時には、自律個エージェントは、自分の初期保守スケジュールに固執する。他の自律個の脱落を期待する為である。
(2)調停回数は中盤に至った状態で、協調場エージェントが提案してきたスケジュールが初期保守スケジュールと乖離している場合、自律個エージェントは、優先権ポイントを使ってでも自分の初期保守スケジュールに固執する姿勢を見せる。優先権ポイントの消費が少なくても、競合する初期保守スケジュールを主張する他の自律個に勝てる可能性が残っているからである。
(3)しかし、調停が十分な回数行われたにも関わらず、自分のスケジュールが受け入れなれない場合は、優先権ポイントの使用を止めて、修正スケジュールを受け入れる方向に方針を転換する。このステージでの優先権ポイントの消費を回避して、次のステージで生かす為である。このような自律個エージェントに人間の代替をさせることで、調停を高速に完了させることが可能となる。
図33は、上述の協調場エージェントと自律個エージェントを使ったシミュレーション結果を示すものである。調停毎に変化する自律個のKPIの変化を示している。なお、図中に記載のステージ2は、ステージ1の直後に行われたものである。
このようにステージ1では、灯具保守のKPIの値が大きいが、ステージ2では入れ替わっている。このように、自律個エージェントが、優先権ポイントを効率的に使うことによって、そのステージにおいてより良いKPIを確保しており、優先権ポイントが当初の予想通りの機能を発揮していることが分かる。
図34は、優先ポイントを使わなかった場合と使った場合の、全体KPIの評価を示すものである。自律個は、個別KPIを最大化する為に、時間の長いスケジュールを重要度の高いものとして、初期保守スケジュールをできるだけ保持するように振る舞う。そのため、自律個の初期保守スケジュールと近い状態で調停を完了できた場合に、評価となるような以下の式2を用いて、評価値を算出する。
−−−−式2
この結果からも、優先権ポイントが有効に機能していることが明らかである。
−−−実施例4−−−
図35は、スマートフォン(以下、スマホという)を有する観光客の観光スケジュールと、バス会社のバスダイヤを調停するシステムの構成を示す図である。
スマホユーザ1(のスマホ2―U1)、スマホユーザ2(のスマホ2−U2)、バス会社1のダイヤ計画サーバ2−B1、バス会社2のダイヤ計画サーバ2−B2は、それぞれ図2にて説明した「自律個」に対応するものであり、この場合のスケジュール調停サーバ1は、スマホユーザの観光スケジュールと、バス会社の運行スケジュールの両方を調停するシステムとなる。
本実施例では、スケジュール調停サーバ1に搭載される調停アルゴリズムの一例としてGenetic Algorism(GA)を用いるものとする。図36に、このGAで用いるアルゴリズムを示す。GAについては、例えば公開公報1944−161980にて詳細が開示済みである。
図37に、上述のGAで用いる染色体の構造を示す。この構造は、バスの運行ルート3601とその出発時刻3602を含んでいる。例えば、この運行ルート3601のうち”A→B”は、出発地Aから到着地Bを表し、”09:00”は、当該バスが午前9時に出発することを示している。なお、”A→B”の移動時間は固定とする。また、”09:00”は、実際のGAのコードとして展開される場合は、”00:00”からの経過時間の分の数(二値化)として表現される。例えば、”00:00”から”09:00”までの時間は、540分であるので、これを二値化すると”01000011100”という染色体列として表現され得る。
図37の例では、”09:00”、”11:34”、”10:23”、”12:34”という時間は、”01000011100010101101100100110111101011110010”という二値化された数値列(GAコード)として取り扱うことが可能となる。
ここで、図36に示した「評価」のプロセスで算出する評価値の求め方について説明する。ここでは話を単純にする為に以下のような条件とする。
(1)スマホユーザ1は、出発地Aから観光地Bに行き、再び出発地Aに戻ってくる。
(2)スマホユーザ2は、出発地Aから観光地Cに行き、再び出発地Aに戻ってくる。
(3)バス会社1は、A−B区間の運行を行い、保有しているバスは1台のみとする。
(4)バス会社2は、B−C区間の運行を行い、保有しているバスは1台のみとする。
上記の条件が満されない場合、評価値はゼロとなり、その染色体を有する固体は直ちに淘汰されるものとする。
なお、
(1)スマホユーザには、本来の観光地に加えて、別の観光地を提案することもできる。
(2)バス会社は、バスのダイヤの時間を変更することができる。
ものとする。
図38は、スケジュール調停サーバ1、スマホユーザ1、2、およびバス会社1、2による、翌日のバスの運行スケジュールとスマホユーザの観光スケジュールの両方の調停の様子を示すフローである。
この場合、バス会社1、2のダイヤ計画サーバ2−B1、2−B2は、翌日に運行するバスの本数、および希望するスケジュールを、協調場サーバ1に送信する(Step3801)。またスマホユーザ1、2のスマホ2―U1、2−U2は、翌日に観光を希望する場所、および時間を、協調場サーバ1に送信する(Step3802)。
一方、スケジュール調停サーバ1は、GAコード、個体数(スマホユーザおよびバス会社の数)、評価関数を設定する(Step3803)。初回は、GAコードは乱数を使って設定しても良い。
その後、スケジュール調停サーバ1は、GAの計算を行い(Step3805)、所定の回数、または所定の評価値の平均となったら計算を打ち切り(Step3806)、GAによって導かれた計算結果を、バススケジュールおよび観光スケジュールに変換して、スマホユーザ1、2のスマホ2―U1、2−U2と、バス会社1、2のダイヤ計画サーバ2−B1、2−B2に送信する(Step3807)。
スマホユーザ1、2、バス会社1、2は、スマホ2―U1、2−U2、ダイヤ計画サーバ2−B1、2−B2で受信し閲覧したスケジュールから、調停から離脱するか否か判断する。スマホ2―U1、2−U2、ダイヤ計画サーバ2−B1、2−B2は、こうした判断の結果を、所定の入力装置で受け付ける(Step3808、Step3809)。
上述の判断の結果が離脱を示すものである場合(Step3808:Y、Step3809:Y)、該当するスマホユーザのスマホ、またはバス会社のダイヤ計画サーバは、その旨をスケジュール調停サーバ1に通知し(Step3810)、処理を終了する。
一方、上述の判断の結果が離脱しないものである場合(Step3808:No、Step3809:No)、該当するスマホユーザまたはバス会社は、スケジュール調停サーバ1から受信したスケジュールを検討し、再提案を行うか否か判断する。この場合、スマホ2―U1、2−U2、ダイヤ計画サーバ2−B1、2−B2は、こうした判断の結果を、所定の入力装置で受け付ける(Step3811、Step3812)。
上述の判断の結果が再提案を示すものである場合(Step3813:Y、Step3814:Y)、該当するスマホユーザのスマホ、またはバス会社のダイヤ計画サーバは、その旨をスケジュール調停サーバ1に通知する。なお、再提案は前回と同一の内容としても良いものとする。
スケジュール調停サーバ1は、上述の通知に応じて再提案の有無を判定し(Step3804)、提案があった場合(Step3804:Y)、GAの再計算を実行する(St
ep3805)。
一方、スマホユーザ1、2、バス会社1、2のスマホおよびダイヤ計画サーバは、上述の再提案後、スケジュール調停サーバ1から調停終了通知(Step3817)を待ち(Step3815、Step3816)、当該通知を確認して処理を終了する。
上述の調停の前後のスケジュール例について図39−1、図39−2に示す。このうち図39−1は、調停前のスケジュールを示す図である。スマホユーザ1は、バス1(3903、3904)を使って、AからBに行って、BからAに戻り(3901)、スマホユーザ2は、バス1(3903、3904)、バス2(3905、3906)を使い、AからBを経由してCに行き、さらにBに戻ることができるが、Aに戻ることはできない。
一方、図39−2は、調停後のスケジュールを示す図である。この場合、スマホユーザ1、2は、バス1とバス2を使い(3908、3909、3910、3911)、共にAからBに行き、さらにCに行った後、Bに戻り、Aに戻ることができる(3907)。
−−−実施例5−−−
次に、タクシーの利用希望者と、当該タクシーを運行するタクシー会社との間で、スケジュール調停サーバ1が調停を行う場合の例について説明する。図40は、スマホを有するタクシーの利用希望者と、タクシーの運行を調停するシステムの構成を示す図である。この場合、協調場サーバたるスケジュール調停サーバ1は、ネットワーク3を介して、自律個たる、スマホ2−U1、2−U2、および、タクシー会社端末2−T1、2−T2らと接続されている。
図41に、スマホユーザ1、2が所有する上述のスマホ2−U1、2−U2における、GUI画面4100の例を示す。このGUI画面4100は、例えば、スマホ2−U1、2−U2が備える所定のアプリケーションによって提供され、タクシー利用に際しての配車条件の入力を受け付けるものとなる。
当該GUI画面4100における左側4101は、スマホユーザが希望するタクシーの配車条件4103を入力する画面である。このスマホユーザは、09:45に生田駅から鶴川駅の移動を希望し、乳幼児を連れており、また、女性ドライバーを希望しているが、相乗りでも良いという配車条件を提示している。また、地図41011上にて、出発地、到着地の希望を入力することもできる。
これに対して、GUI画面4100の右側4102は、タクシー会社1または2のタクシー会社端末2−T1、2−T2から当該アプリケーションに配信された、当該タクシー会社で提供可能な配車条件4104が表示される画面である。スマホユーザは、このGUI画面4100を閲覧して、タクシー会社側から提示された配車条件4104と、自身が希望する配車条件4103とを対照し、ボタン4105〜4107のいずれかを押下することで、タクシー会社の提示する配車条件について、受諾、再提案、あるいは調停の離脱の意思を示すことができる。この場合、当該スマホユーザのスマホ2−U1、2−U2は、上述のボタン4105〜4107の押下に応じた値を、スケジュール調停サーバ1に通知することとなる。
図42に、上述のスマホユーザとタクシー会社で配車条件のマッチングを行うフローを示す。この場合、タクシー会社1、2のタクシー会社端末2−T1、2−T2は、定期的に空車のタクシーの位置情報、および各タクシーの属性(禁煙車、女性ドライバー、チャイルドシート装備、その他)を、協調場エージェント(スケジュール調停サーバ1)に送付し続ける(Step4201)。
一方、スマホユーザ1、2のスマホ2−U1、2−U2は、図41で示したようなタクシーの配車条件を、協調場エージェント(スケジュール調停サーバ1)に送信する(Step4202)。
他方、上述のスケジュール調停サーバ1は、タクシー会社端末2−T1、2−T2や、スマホ2−U1、2−U2から配車条件を受信し、現時点におけるタクシーとスマホユーザの各配車条件をリスト化し(Step4203)、マッチングを試みる(Step4205)。具体的には、出発時間や出発地、到着地が近く、また相乗り可否等の各種条件のうち一致する項目が多いものを特定する。また、例えば、相乗りでも構わないスマホユーザが複数存在した場合、それを併わせるなどのマッチングを試みる。
スケジュール調停サーバ1は、所定の時間または回数のマッチングによって、マッチング計算を打ち切ると判断した後(Step4206:Y)、調停したスケジュールを各スマホユーザのスマホ、各タクシー会社のタクシー会社端末に送信し提案する(Step4207)。
また、スマホユーザ1、2、タクシー会社1、2は、スケジュール調停サーバ1から送信されてきたスケジュールに基づき、調停から離脱するか否かを判断する。スマホ2−U1、2−U2や、タクシー会社端末2−T1、2−T2は、この判断結果を受け付ける(Step4208、Step4209)。
上述の判断結果が離脱を示すものである場合(Step4208:Y、Step4209:Y)、スマホ2−U1、2−U2や、タクシー会社端末2−T1、2−T2は、スケジュール調停サーバ1に、その旨を通知し(Step4210)、処理を終了する。
他方、上述の判断結果が離脱しないことを示すものである場合(Step4208:No、Step4209:No)、スマホユーザ1、2やタクシー会社1、2は、スケジュール調停サーバ1から送信されてきたスケジュールを検討し、再提案を行うか否かを判断する。なお、再提案は前回と同一の内容としても良いものとする。
この場合、スマホ2−U1、2−U2や、タクシー会社端末2−T1、2−T2は、この判断結果を受け付ける(Step4213、Step4214)。
上述の判断結果が再提案を示すものである場合(Step4213:Y、Step4214:Y)、スマホ2−U1、2−U2や、タクシー会社端末2−T1、2−T2は、その旨をスケジュール調停サーバ1に通知する。一方、スケジュール調停サーバ1は、この通知を受けて再提案の有無を判定し(Step4204)、再提案があった場合は、再度、別のマッチングの処理を開始する。
他方、スマホ2−U1、2−U2や、タクシー会社端末2−T1、2−T2は、上述の再提案の後、スケジュール調停サーバ1から調停終了通知(Step4217)を待ち(Step4215:Y、Step4216:Y)、当該通知を確認して処理を終了する。
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
こうした本実施形態によれば、複数のシステム間で制約上の不整合が生じるような場合でもリソース配分が可能となる。
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態のスケジュール調停システムにおいて、前記スケジュール調停サーバの演算装置は、前記各サーバのうちいずれかのサーバより、前記修正スケジュールに対する承認の通知を受信した場合、当該修正スケジュールを前記各サーバに送信し、前記各サーバのうちいずれかのサーバより、前記修正スケジュールに対する拒否の通知を受信した場合、前記全体最適制約情報および前記各サーバの前記修正スケジュールの少なくともいずれかを修正するものである、としてもよい。
これによれば、サーバ側、すなわちスケジュール調停を受ける側の意思に応じた、スケジュールの修正が可能となり、ひいては、複数のシステム間で制約上の不整合が生じるような場合でもリソース配分が効率的に可能となる。
また、本実施形態のスケジュール調停システムにおいて、前記スケジュール調停サーバの演算装置は、前記各サーバの少なくともいずれかから所定のクレジット値を受信した場合、最も多いクレジット値を送信してきたサーバから提示されたスケジュールを優先し、他のサーバのスケジュールまたは全体最適制約情報を再修正するものである、としてもよい。
これによれば、すなわちスケジュール調停を受ける側におけるスケジュール実現に対する意思の強さを踏まえたスケジュールの修正が可能となり、ひいては、複数のシステム間で制約上の不整合が生じるような場合でもリソース配分が効率的に可能となる。
また、本実施形態のスケジュール調停システムにおいて、前記スケジュール調停サーバの演算装置は、前記クレジット算出処理において、前記修正スケジュールのうち少なくともいずれかのサーバの修正スケジュールが、前記各サーバのいずれかの前記作成制約に違反する修正によるものであった場合、当該作成制約を満たすスケジュールに対するクレジット値よりも高い値のクレジット値を算出するものである、としてもよい。
これによれば、スケジュール調停に伴う不都合に応じたインセンティブを各サーバに付与することが可能となり、ひいては、複数のシステム間で制約上の不整合が生じるような場合でもリソース配分が効率的に可能となる。
また、本実施形態のスケジュール調停システムにおいて、前記スケジュール調停サーバは、前記各サーバにおける過去のスケジュール修正情報を記憶する記憶装置を備え、前記演算装置において、前記スケジュール再作成処理に際し、前記スケジュール修正情報に基づき、前記各サーバのスケジュールを修正し、修正スケジュールを生成するものである、としてもよい。
これによれば、スケジュール調停を受ける側の過去の事例に沿ったスケジュールの修正が可能となり、ひいては、複数のシステム間で制約上の不整合が生じるような場合でもリソース配分が効率的に可能となる。
また、本実施形態のスケジュール調停システムにおいて、前記スケジュール調停サーバは、前記記憶装置において、各サーバに関して得ている、前記修正スケジュールに対する承認または拒否、および、クレジット値の受信、の各履歴を少なくとも含む調停内容の情報を更に記憶し、前記演算装置において、前記調停内容の情報に基づいて前記各サーバの作成制約の内容を推定し、以後のスケジュールの修正機会において、当該作成制約の内容に基づいたスケジュール修正を行うものである、としてもよい。
これによれば、スケジュール調停を受ける側での都合、すなわち作成制約に応じたスケ
ジュール修正が可能となり、ひいては、複数のシステム間で制約上の不整合が生じるような場合でもリソース配分が効率的に可能となる。
また、本実施形態のスケジュール調停システムにおいて、前記修正スケジュールに基づいて該当事象に関する所定手順を実行する前記各サーバの少なくともいずれかを含むとしてもよい。
また、本実施形態のスケジュール調停システムにおいて、前記各サーバは、前記スケジュール調停サーバから前記スケジュール調停の開始通知を受けて、当該スケジュール調停に参加する所定処理を実行し、当該参加の所定処理の実行後、当該調停の内容または所定イベントの発生に基づき当該スケジュール調停から離脱する所定処理を実行するものである、としてもよい。
これによれば、サーバ側、すなわちスケジュール調停を受ける側での調停参加の意思に応じた、スケジュールの修正等が可能となり、ひいては、複数のシステム間で制約上の不整合が生じるような場合でもリソース配分が効率的に可能となる。
また、本実施形態のスケジュール調停システムにおいて、前記スケジュール調停サーバの演算装置は、前記各サーバの前記スケジュールとして、サーバ間でスケジュールの構成および作成制約が異なるスケジュールに関して、前記不整合の検出、前記修正スケジュールの生成、前記クレジット値の算出、および、前記スケジュール調停の開始通知、を少なくとも実行するものである、としてもよい。
これによれば、サーバ間でスケジュールの構成自体が異なる状況などにも対応して、不整合の検出やスケジュールの修正など一連の処理が可能となり、ひいては、複数のシステム間で制約上の不整合が生じるような場合でもリソース配分が効率的に可能となる。
また、本実施形態のスケジュール調停方法において、情報処理システムが、前記各サーバのうちいずれかのサーバより、前記修正スケジュールに対する承認の通知を受信した場合、当該修正スケジュールを前記各サーバに送信し、前記各サーバのうちいずれかのサーバより、前記修正スケジュールに対する拒否の通知を受信した場合、前記全体最適制約情報および前記各サーバの前記修正スケジュールの少なくともいずれかを修正する、としてもよい。
また、本実施形態のスケジュール調停方法において、前記情報処理システムが、前記各サーバの少なくともいずれかから所定のクレジット値を受信した場合、最も多いクレジット値を送信してきたサーバから提示されたスケジュールを優先し、他のサーバのスケジュールまたは全体最適制約情報を再修正する、としてもよい。
また、本実施形態のスケジュール調停方法において、前記情報処理システムが、前記クレジット算出処理において、前記修正スケジュールのうち少なくともいずれかのサーバの修正スケジュールが、前記各サーバのいずれかの前記作成制約に違反する修正によるものであった場合、当該作成制約を満たすスケジュールに対するクレジット値よりも高い値のクレジット値を算出する、としてもよい。
また、本実施形態のスケジュール調停方法において、前記情報処理システムが、前記各サーバにおける過去のスケジュール修正情報を記憶する記憶装置を備え、前記スケジュール再作成処理において、前記スケジュール修正情報に基づき、前記各サーバのスケジュールを修正し、修正スケジュールを生成する、としてもよい。
また、本実施形態のスケジュール調停方法において、前記情報処理システムが、前記記憶装置において、各サーバに関して得ている、前記修正スケジュールに対する承認または拒否、および、クレジット値の受信、の各履歴を少なくとも含む調停内容の情報を更に記憶し、前記調停内容の情報に基づいて前記各サーバの作成制約の内容を推定し、以後のスケジュールの修正機会において、当該作成制約の内容に基づいたスケジュール修正を行う、としてもよい。
また、本実施形態のスケジュール調停方法において、前記各サーバが、前記修正スケジュールに基づいて該当事象に関する所定手順を実行するとしてもよい。
また、本実施形態のスケジュール調停方法において、前記各サーバが、前記スケジュール調停サーバから前記スケジュール調停の開始通知を受けて、当該スケジュール調停に参加する所定処理を実行し、当該参加の所定処理の実行後、当該調停の内容または所定イベントの発生に基づき当該スケジュール調停から離脱する所定処理を実行する、としてもよい。
また、本実施形態のスケジュール調停方法において、前記情報処理システムが、前記各サーバの前記スケジュールとして、サーバ間でスケジュールの構成および作成制約が異なるスケジュールに関して、前記不整合の検出、前記修正スケジュールの生成、前記クレジット値の算出、および、前記スケジュール調停の開始通知、を少なくとも実行する、としてもよい。