(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-01-22
(54)【発明の名称】分散マルチ・エージェント割振り方法を使用してアイテムを運搬すること
(51)【国際特許分類】
G06Q 10/083 20240101AFI20250115BHJP
【FI】
G06Q10/083
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024537915
(86)(22)【出願日】2022-12-21
(85)【翻訳文提出日】2024-08-01
(86)【国際出願番号】 IB2022062565
(87)【国際公開番号】W WO2023119166
(87)【国際公開日】2023-06-29
(32)【優先日】2021-12-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】518286264
【氏名又は名称】ビー.ジー.ネゲブ テクノロジーズ アンド アプリケーションズ リミテッド, アット ベン‐グリオン ユニバーシティー
(74)【代理人】
【識別番号】110000855
【氏名又は名称】弁理士法人浅村特許事務所
(72)【発明者】
【氏名】ジヴァン、ロイエ
(72)【発明者】
【氏名】アマドール ネルケ、ソフィア
【テーマコード(参考)】
5L010
【Fターム(参考)】
5L010AA16
(57)【要約】
アイテムのグループ(GOI)をターゲットのセットに運搬するタスクを実行するためのコンピュータ・ベースの方法であって、本方法は、(a)コンピュータ化システムによって、(i)タスクを実行するようにとの要求と、(ii)アイテムのグループを運搬するために必要とされるGOI関係タスク・スキルと、(iii)タスク・ユーティリティ関数の1つ又は複数のパラメータとを受け取ることと、(b)コンピュータ化システムによってホストされるタスク・エージェントによって、リソース・スキル・エージェント(RSA)を各GOI関係タスク・スキルに関連付けることであって、RSAが異種である、関連付けることと、(c)GOI関係タスク・スキルに関してRSAに知らせることと、(d)タスク・エージェントによって、収束条件に達するまで複数のビッディング反復に参加することであって、ビッディング反復が、すべての可能なタスク割振りの一部分のみを探査する、参加することと、(e)少なくとも1つのアイテムをターゲットのセットのうちの少なくとも1つのターゲットのほうへ運搬するために、複数のビッディング反復の間に、コンピュータ化システムが割り振られたとき、コンピュータ化システムによって、少なくとも1つのアイテムを少なくとも1つのターゲットのほうへ運搬することとを含み得る。
【特許請求の範囲】
【請求項1】
アイテムのグループ(GOI)をターゲットのセットに運搬するタスクを実行するためのコンピュータ・ベースの方法であって、前記方法は、
コンピュータ化システムによって、(i)前記タスクを実行するようにとの要求と、(ii)アイテムの前記グループを運搬するために必要とされるGOI関係タスク・スキルと、(iii)タスク・ユーティリティ関数の1つ又は複数のパラメータとを受け取ることと、
前記コンピュータ化システムによってホストされるタスク・エージェントによって、リソース・スキル・エージェント(RSA)を各GOI関係タスク・スキルに関連付けることであって、前記RSAが異種である、関連付けることと、
前記GOI関係タスク・スキルに関して前記RSAに知らせることと、
前記タスク・エージェントによって、収束条件に達するまで複数のビッディング反復に参加することであって、前記ビッディング反復が、すべての可能なタスク割振りの一部分のみを探査する、参加することと、
少なくとも1つのアイテムをターゲットの前記セットのうちの少なくとも1つのターゲットのほうへ運搬するために、前記複数のビッディング反復の間に、前記コンピュータ化システムが割り振られたとき、前記コンピュータ化システムによって、前記少なくとも1つのアイテムを前記少なくとも1つのターゲットのほうへ運搬することと
を含み、
前記複数のビッディング反復のうちのビッディング反復に参加することは、
(a)前記RSAからビッディング・メッセージを受け取ることであって、前記ビッディング・メッセージが、(i)前記タスクの実行に対する前記RSAの提案される寄与と、(ii)前記RSAによって現在実行されている他のタスクを停止するためのRSAについての中断ペナルティとに関する情報を提供する、受け取ることと、
(b)前記タスク・エージェントによって、前記ビッディング・メッセージと前記タスク・ユーティリティ関数の前記1つ又は複数のパラメータとに基づいて、前記タスクの前記実行に対する前記RSAの要求された寄与を決定することであって、前記提案される寄与のうちの少なくともいくつかが、前記タスクの前記実行に対する前記RSAの前に要求された寄与に応答して前記RSAによって算出される、決定することと、
(c)前記コンピュータ化システムによって、及び前記RSAに、前記タスクの前記実行に対する前記RSAの前記要求された寄与を送ることと
を含む、コンピュータ・ベースの方法。
【請求項2】
前記タスク・ユーティリティ関数の前記1つ又は複数のパラメータが、(i)前記タスクを満たすことから獲得される利益又は(ii)アイテム配達緊急度パラメータのうちの少なくとも1つを備える、請求項1に記載の方法。
【請求項3】
前記GOI関係タスク・スキルが、アイテム・タイプ運搬能力、アイテム重量運搬能力及びアイテム・ボリューム運搬能力の中から少なくとも2つを備える、請求項2に記載の方法。
【請求項4】
前記アイテム・タイプが、壊れやすいアイテム、壊れにくいアイテム、アイテムであって、前記アイテムの運搬の間のある環境条件を必要とする、アイテム、又は環境条件にかかわらず運搬され得るアイテムの中から選択される、請求項3に記載の方法。
【請求項5】
前記決定することが、ローカル最適化プロセスを適用することを含む、請求項1に記載の方法。
【請求項6】
所与のRSAからのビッディング・メッセージが、本質的に、(i)タスク配送ロケーションへの前記RSAの予想される到着時間、(ii)1つ又は複数のRSAアイテム運搬スキル、(iii)前記RSAのステータス及び(iv)前記RSAによって現在実行されている他のタスクを停止するためのRSAについての少なくとも1つの中断ペナルティからなる、請求項1に記載の方法。
【請求項7】
前記少なくとも1つの中断ペナルティが、前記他のタスクの完了の異なる段階において前記他のタスクを停止することについての複数の中断ペナルティを備える、請求項6に記載の方法。
【請求項8】
ビッディング・メッセージのサイズが250バイトを超えない、請求項1に記載の方法。
【請求項9】
前記関連付けることと、前記知らせることと、前記参加することとが、フィッシャー市場クリアリング・プロセスの分散解決の一部を形成する、請求項1に記載の方法。
【請求項10】
前記コンピュータ化システムが第1のタイプのビークルに属し、前記RSAのうちの少なくともいくつかが、前記第1のタイプとは異なる1つ又は複数のタイプのビークルである、請求項1に記載の方法。
【請求項11】
前記GOIがエリア内に位置し、前記コンピュータ化システムが、前記GOIをエリア配送ロケーションに運搬するように構成され、前記RSAのうちの前記少なくともいくつかが、前記GOIのうちの異なるアイテムを前記エリア配送ロケーションからターゲットの前記セットに配送するように構成される、請求項10に記載の方法。
【請求項12】
前記GOIがエリア内に位置し、別のRSAが、前記GOIをエリア配送ロケーションに運搬するように構成され、前記コンピュータ化システムが、前記GOIの前記アイテムのうちのいくつかを前記エリア配送ロケーションからターゲットのセットのうちのいくつかに配送するように構成される、請求項10に記載の方法。
【請求項13】
前記受け取ることと、前記関連付けることと、前記知らせることと、前記参加することとがリアルタイムで実行される、請求項1に記載の方法。
【請求項14】
前記参加することの間の前記コンピュータ化システムのメモリ・リソース及び計算リソースの使用が、RSAの数において多項式又は準多項式である、請求項1に記載の方法。
【請求項15】
前記GOIが、異なるアイテム関係パラメータに関連付けられた異なるアイテムを備え、前記GOI関係タスク・スキルが前記異なるアイテム関係パラメータを反映する、請求項1に記載の方法。
【請求項16】
ビークルであって、
コンピュータ化システムを備え、前記コンピュータ化システムが、
(i)アイテムのグループ(GOI)をターゲットのセットに運搬するタスクを実行するようにとの要求と、(ii)アイテムの前記グループを運搬するために必要とされるGOI関係タスク・スキルと、(iii)タスク・ユーティリティ関数の1つ又は複数のパラメータとを受け取ることと、
前記コンピュータ化システムによってホストされるタスク・エージェントによって、リソース・スキル・エージェント(RSA)を各GOI関係タスク・スキルに関連付けることであって、前記RSAが異種である、関連付けることと、
前記GOI関係タスク・スキルに関して前記RSAに知らせることと、
前記タスク・エージェントによって、収束条件に達するまで複数のビッディング反復に参加することであって、前記ビッディング反復が、すべての可能なタスク割振りの一部分のみを探査する、参加することと、
少なくとも1つのアイテムをターゲットの前記セットのうちの少なくとも1つのターゲットのほうへ運搬するために、前記複数のビッディング反復の間に、前記コンピュータ化システムが割り振られたとき、前記少なくとも1つのアイテムを前記少なくとも1つのターゲットのほうへ運搬することと
を行うように構成され、
前記複数のビッディング反復のうちのビッディング反復に参加することは、
(d)前記RSAからビッディング・メッセージを受け取ることであって、前記ビッディング・メッセージが、(i)前記タスクの実行に対する前記RSAの提案される寄与と、(ii)前記RSAによって現在実行されている他のタスクを停止するためのRSAについての中断ペナルティとに関する情報を提供する、受け取ることと、
(e)前記タスク・エージェントによって、前記ビッディング・メッセージと前記タスク・ユーティリティ関数の前記1つ又は複数のパラメータとに基づいて、前記タスクの前記実行に対する前記RSAの要求された寄与を決定することであって、前記提案される寄与のうちの少なくともいくつかが、前記タスクの前記実行に対する前記RSAの前に要求された寄与に応答して前記RSAによって算出される、決定することと、
(f)前記コンピュータ化システムによって、及び前記RSAに、前記タスクの前記実行に対する前記RSAの前記要求された寄与を送ることと
を含む、ビークル。
【請求項17】
アイテムのグループ(GOI)をターゲットのセットに運搬するタスクを実行するための非一時的コンピュータ可読媒体であって、前記非一時的コンピュータ可読媒体は、コンピュータ化システムによって実行されると、前記コンピュータ化システムに、
(i)前記タスクを実行するようにとの要求と、(ii)アイテムの前記グループを運搬するために必要とされるGOI関係タスク・スキルと、(iii)タスク・ユーティリティ関数の1つ又は複数のパラメータとを受け取ることと、
前記コンピュータ化システムによってホストされるタスク・エージェントによって、リソース・スキル・エージェント(RSA)を各GOI関係タスク・スキルに関連付けることであって、前記RSAが異種である、関連付けることと、
前記GOI関係タスク・スキルに関して前記RSAに知らせることと、
前記タスク・エージェントによって、収束条件に達するまで複数のビッディング反復に参加することであって、前記ビッディング反復が、すべての可能なタスク割振りの一部分のみを探査する、参加することと、
少なくとも1つのアイテムをターゲットの前記セットのうちの少なくとも1つのターゲットのほうへ運搬するために、前記複数のビッディング反復の間に、前記コンピュータ化システムが割り振られたとき、前記少なくとも1つのアイテムを前記少なくとも1つのターゲットのほうへ運搬することと
を行わせる命令を記憶し、
前記複数のビッディング反復のうちのビッディング反復に参加することは、
(a)前記RSAからビッディング・メッセージを受け取ることであって、前記ビッディング・メッセージが、(i)前記タスクの実行に対する前記RSAの提案される寄与と、(ii)前記RSAによって現在実行されている他のタスクを停止するためのRSAについての中断ペナルティとに関する情報を提供する、受け取ることと、
(b)前記タスク・エージェントによって、前記ビッディング・メッセージと前記タスク・ユーティリティ関数の前記1つ又は複数のパラメータとに基づいて、前記タスクの前記実行に対する前記RSAの要求された寄与を決定することであって、前記提案される寄与のうちの少なくともいくつかが、前記タスクの前記実行に対する前記RSAの前に要求された寄与に応答して前記RSAによって算出される、決定することと、
(c)前記コンピュータ化システムによって、及び前記RSAに、前記タスクの前記実行に対する前記RSAの前記要求された寄与を送ることと
を含む、非一時的コンピュータ可読媒体。
【請求項18】
ソースのセットからアイテムのグループ(GOI)を運搬するタスクを実行するためのコンピュータ・ベースの方法であって、前記方法は、
コンピュータ化システムによって、(i)前記タスクを実行するようにとの要求と、(ii)アイテムの前記グループを運搬するために必要とされるGOI関係タスク・スキルと、(iii)タスク・ユーティリティ関数の1つ又は複数のパラメータとを受け取ることと、
前記コンピュータ化システムによってホストされるタスク・エージェントによって、リソース・スキル・エージェント(RSA)を各GOI関係タスク・スキルに関連付けることであって、前記RSAが異種である、関連付けることと、
前記GOI関係タスク・スキルに関して前記RSAに知らせることと、
前記タスク・エージェントによって、収束条件に達するまで複数のビッディング反復に参加することであって、前記ビッディング反復が、すべての可能なタスク割振りの一部分のみを探査する、参加することと、
ソースの前記セットのうちの少なくとも1つのソースから少なくとも1つのアイテムを運搬するために、前記複数のビッディング反復の間に、前記コンピュータ化システムが割り振られたとき、前記コンピュータ化システムによって、前記少なくとも1つのソースから前記少なくとも1つのアイテムを運搬することと
を含み、
前記複数のビッディング反復のうちのビッディング反復に参加することは、
(a)前記RSAからビッディング・メッセージを受け取ることであって、前記ビッディング・メッセージが、(i)前記タスクの実行に対する前記RSAの提案される寄与と、(ii)前記RSAによって現在実行されている他のタスクを停止するためのRSAについての中断ペナルティとに関する情報を提供する、受け取ることと、
(b)前記タスク・エージェントによって、前記ビッディング・メッセージと前記タスク・ユーティリティ関数の前記1つ又は複数のパラメータとに基づいて、前記タスクの前記実行に対する前記RSAの要求された寄与を決定することであって、前記提案される寄与のうちの少なくともいくつかが、前記タスクの前記実行に対する前記RSAの前に要求された寄与に応答して前記RSAによって算出される、決定することと、
(c)前記コンピュータ化システムによって、及び前記RSAに、前記タスクの前記実行に対する前記RSAの前記要求された寄与を送ることと
を含む、コンピュータ・ベースの方法。
【発明の詳細な説明】
【技術分野】
【0001】
相互参照
本出願は、その全体が本明細書に組み込まれる、米国仮特許63/293,101号、出願日202年12月23日からの優先権を主張する。
【背景技術】
【0002】
物流は、企業及び個人(カスタマー)の日常生活における重要な側面になった。計算及び通信は、世界中からの人々が光速で対話することを可能にするが、企業から他の企業への、及び企業からカスタマーへの商品の輸送は、依然として、大部分がローテクの船舶及びビークル(vehicle)によって実施される。その上、物流会社は、商品が配送される前に物流会社が商品を保管する倉庫を維持しなければならない。
【0003】
これらの物流問題において配達能力を提供するリソース、又は「コンピュータ化システム」は、それらが1つ又は複数のタイプのビークル、ロボット又はドローンであり得るので、異種である。これらの異種ビークルは、アイテムをそれらの出発ポイントからそれらの宛先に移送するために割り当てられる。
【0004】
配達されるべきアイテムも異種であり得る。アイテムは、それを移送するために必要とされる能力によって、及びシステムが移送から導出するユーティリティによって分類される。
【発明の概要】
【発明が解決しようとする課題】
【0005】
異種コンピュータ化システム間のアイテムの配達を割り振るための効果的な方法に基づき得る、アイテムを運搬するための効果的な方法を提供する必要が増大している。
【0006】
本発明と見なされる主題は、本明細書の結論部分において詳細に指摘され、明確に主張される。しかしながら、本発明は、編成と動作の方法の両方に関して、その目的、特徴、及び利点とともに、添付の図面とともに読まれるとき、以下の詳細な説明を参照することによって最も良く理解され得る。
【図面の簡単な説明】
【0007】
【
図7】コンピュータ化システム、GOPのアイテム、及びターゲットのセットの一実例を示す図である。
【
図8】コンピュータ化システム、ソースのセットに位置するGOPのアイテムの一実例を示す図である。
【
図9】倉庫からアイテムを運搬するロボットによってホストされるコンピュータ化システム、及びソースのセットの一実例を示す図である。
【
図10】タスク・エージェント及び関連付けられたエリアの一実例を示す図である。
【発明を実施するための形態】
【0008】
以下の詳細な説明では、本発明の完全な理解を提供するために多数の具体的な詳細が記載される。ただし、本発明はこれらの具体的な詳細なしに実施され得ることが、当業者によって理解されよう。他の事例では、本発明を不明瞭にしないように、よく知られている方法、手順、及び構成要素は詳細に説明されていない。
【0009】
説明の簡潔及び明快のために、図に示されている要素は、必ずしも一定の縮尺で描かれているとは限らないことが諒解されよう。たとえば、要素のうちのいくつかの寸法は、明快のために他の要素に対して誇張され得る。さらに、適切であると見なされた場合、対応する又は類似する要素を示すために参照番号が図の間で繰り返され得る。
【0010】
本発明の示されている実施例は、その大部分について、当業者に知られている電子的構成要素及び回路を使用して実装され得るので、本発明の基礎をなす概念の理解及び諒解のために、並びに本発明の教示を不明瞭にしないか又は本発明の教示からそらさないために、詳細は、上記で示された必要と見なされたものよりも大きい程度では説明されない。
【0011】
方法への本明細書における参照は、方法を実行することが可能なシステムに必要な変更を加えて適用されるべきであり、コンピュータによって実行されると方法の実行を生じる命令を記憶する非一時的コンピュータ可読媒体に必要な変更を加えて適用されるべきである。
【0012】
システムへの本明細書における参照は、システムによって実行され得る方法に必要な変更を加えて適用されるべきであり、コンピュータによって実行されると方法の実行を生じる命令を記憶する非一時的コンピュータ可読媒体に必要な変更を加えて適用されるべきである。
【0013】
「運搬すること」という用語への参照は、「配送すること」及び/又は「収集すること」及び/又は「配達すること」に必要な変更を加えて適用され得る。
【0014】
コンピュータ化システムは、計算リソースとメモリ・リソースとを含み、命令を実行するように構成された、システムである。計算リソースは、1つ又は複数の処理回路を含み得る。処理回路は、中央処理ユニット(CPU:central processing unit)、及び/又は特定用途向け集積回路(ASIC:application-specific integrated circuit)、フィールド・プログラマブル・ゲート・アレイ(FPGA:field programmable gate array)、フルカスタム集積回路など、1つ又は複数の他の集積回路、或いはそのような集積回路の組合せとして実装され得る。メモリ・リソースは、1つ又は複数のメモリ・ユニット並びに/或いは1つ又は複数のメモリ・バンク及び/又はレジスタなどを含み得る。コンピュータ化システムは、チップ及び/又は1つ又は複数のプリント回路板上の1つ又は複数の集積回路及び/又は1つ又は複数のシステムなどを含み得る。コンピュータ化システムは、コンピュータ化システムにタスク・エージェント又はリソース・スキル・エージェントであるエージェントをホストさせる命令など、命令を実行し得る。コンピュータ化システムは、ビークルであり得るか、又はビークル中に含まれ得る。ビークルは、アイテムを運搬し得るエンティティである。ビークルは、地上ビークル、航空ビークル、水上ビークル、ロボット、自律ビークル、運転者支援機能をもつビークルなどであり得る。
【0015】
アイテムのグループをターゲットのセットに運搬することへの参照は、ソースのセットからアイテムのグループを運搬することに必要な変更を加えて適用され得る。
【0016】
コンピュータ化システムへの参照は、ビークル或いは任意の他の自己推進又は可動コンピュータ化システムに必要な変更を加えて適用されるべきである。たとえば、コンピュータ化システムがアイテムを運搬するものとして説明される場合、そのコンピュータ化システムは、推進ユニット及び/又はモーター、並びに1つ又は複数のアイテムを搬送するための手段を含むと見なされる。
【0017】
アイテムのグループ(GOI:group of items)をターゲットのセットに運搬するタスクを実行するためのコンピュータ・ベースの方法が提供され得る。コンピュータ・ベースの方法は、収束するまで複数のコンピュータ化システム間の複数のビッディング反復を実施することを伴う分散方法である。収束したとき、複数のコンピュータ化システムのうちの少なくともいくつかの間のGOIのアイテムの割振りが取得される。複数のビッディング反復の間に、コンピュータ化システムのうちの1つがタスク・エージェントとして働き、他のコンピュータ化システムがリソース・スキル・エージェント(RSA:resource-skill agent)として働き得る。タスク・エージェントは、RSAよりも多くの計算を実施することを必要とされ得るが、いずれの場合も、計算は、比較的単純であり、広範な計算リソースを必要とせず、これは比較的限られた計算及びメモリ・リソースをもつコンピュータ化システムでさえタスク・エージェントとして働くことを可能にし得る。RSAは、一層少数の計算及びメモリ・リソースを複数のビッディング反復に割り振り得、実装することが一層容易であり得る。複数のビッディング反復は、(RSAの要求された寄与を伴うビッディング・メッセージ又はタスク・エージェント・メッセージなどの)メッセージの交換をも伴い、これらのメッセージは極めてコンパクトであり(たとえば、150、200、250バイトを超えないサイズを有し)得、これはまた、そのようなメッセージを記憶するために使用されるメモリ・リソースを劇的に低減し、そのようなメッセージを運搬するために必要とされる通信リソースを低減し、欠落したメッセージの再送信に関連付けられたコストを低減し、厳しい帯域幅制約の下でビッディング反復を実施することを可能にする。GOI関係タスク・スキルを知らせるタスク・エージェント・メッセージもコンパクトである。
【0018】
複数のビッディング反復の単純さは、リアルタイムでビッディング・プロセスを実行する、たとえば、1秒未満、5秒未満、10秒未満、1分未満などにおいて各ビッディング反復を実行することを可能にする。
【0019】
ビッディング・プロセスは、アイテムのいずれかを運搬することへのコンピュータ化システムのすべての可能な割振りを評価するとは限らず、ビッディング・プロセスを劇的に短縮し、計算及びメモリ・リソースの著しい節約を提供する、ローカル最適化プロセスを利用し得る。
【0020】
提案される方法は、タスク・エージェントをターゲットのセットを含むエリアに割り振ることによることを含み得るが、ビッディング・プロセスは、全体としてGOIに、同様に個々のアイテムに応答し得る。タスク・エージェントの割振りは、タスク・エージェントの1つ又は複数のパラメータ、たとえば(リソースの必要とされる量は限定されるが)利用可能な計算リソース及び/又は利用可能なメモリ・リソース、エリアに関するコンピュータ化エージェントのロケーション、タスク・エージェントがエリアにおいてアイテムをすでに運搬したかどうかなどに基づき得る。エリアへのタスク・エージェントの割振りは、(コンピュータ化エージェントのうちの少なくともいくつかが参加する)分散様式で、集中様式で、エージェント(タスク・エージェント又はRSA)として働き得るコンピュータ化システムとは異なるエンティティによってなど、決定され得る。
【0021】
エリアの定義は、アイテムを受け取るべきであるターゲットのロケーションに基づいて動的に決定され得るが、そのロケーションは時間とともに変化し得る。エリアは、任意の様式で、たとえばターゲットのセットを提供するためにターゲットをクラスタ化及び/又はグループ化することによって、並びに/或いは異なるGOIを提供するためにアイテムをクラスタ化及び/又はグループ化することによって、定義され得る。
【0022】
異なるエリアに割り振られ、異なるGOIに応答する、複数のタスク・エージェントがあり得る。単一のRSAが、同じ時間期間において、単一よりも多くのタスク・エージェントを伴う複数のビッディング反復に参加し得る。(与える側のタスク・エージェントに関連付けられた)所与のエリアに位置するアイテムの配送に参加するというRSAの判断が、そのRSAによって拒否された別のタスク・エージェントのRSAの割振りに影響を及ぼし得る。
【0023】
本方法は、フィッシャー市場クリアリング(Fisher market clearing)・タスク割振りアルゴリズムの少なくともいくつかの部分を利用し得るが、他のアルゴリズムを使用し得る。
【0024】
提案されるソリューションは、特にフィッシャー市場クリアリング・タスク割振りアルゴリズムの少なくともいくつかの部分を利用するとき、請求される方法の必要とされる計算及び/又はメモリ・リソースが、エージェント及びタスクの数(2よりも大きい量)において多項式又は準多項式(分散ソルバーでは2次)であり得るという意味で、スケーラブルである。実際には、数百個のエージェント及びタスクの割振りを判断するために数秒が必要とされる。
【0025】
フィッシャー市場クリアリング・プロセスの少なくともいくつかの部分を使用するときでも、本方法は、たとえば、エリアごとにタスク・エージェントを割り振ることと、1つ又は複数のGOIパラメータ、並びに単一アイテム・パラメータに基づいてビッディング反復を実施することとによって、様々な側面において、フィッシャー市場クリアリング・プロセスとは異なる。
【0026】
図1は、アイテムのグループ(GOI)をターゲットのセットに運搬するタスクを実行するためのコンピュータ・ベースの方法100の一実例を示す。
【0027】
方法100は、初期化ステップ110によって開始し得る。初期化ステップは、方法100を実行するためにコンピュータ化システムを割り振ることを含み得る。このコンピュータ化システムは、タスク・エージェント(TA:task agent)コンピュータ化システムと呼ばれることがある。
【0028】
ステップ110の後に、TAコンピュータ化システムによって、(i)タスクを実行するようにとの要求と、(ii)アイテムのグループを運搬するために必要とされるGOI関係タスク・スキルと、(iii)タスク・ユーティリティ関数の1つ又は複数のパラメータとを受け取るステップ120が続き得る。
【0029】
説明を簡単にするために、アイテムが最初に同じロケーションに(たとえば倉庫の出力部に)位置し得ると仮定される。
【0030】
ステップ120は、移送される必要があるアイテム、アイテムの宛先、(同じロケーションに位置しない場合)アイテムの現在のロケーション、(アイテムの重要性を考慮に入れて)アイテムを移送することから導出されるユーティリティ、アイテムの配達の緊急度、遅れた配達についてのコスト、ある重量を扱う能力など、アイテムを移送するビークルに必要とされる能力、移送ビークル(「ラスト・マイル・ビークル」)、ピックアップ・ロケーションに対するそれらの現在のロケーション、能力、それらの現在の割当てをそれらに完了させないことについてのコスト、及びそれらの現在のロケーションなど、情報を受け取ることを含み得る。
【0031】
ステップ120の後に、コンピュータ化システムによってホストされるタスク・エージェントによって、リソース・スキル・エージェント(RSA)を各GOI関係タスク・スキルに関連付けるステップ130が続き得る。RSAは異種である。
【0032】
TAコンピュータ化システムは、第1のタイプのビークルに属し得るか又は第1のタイプのビークルであり得、RSAは、1つ又は複数の他のタイプのコンピュータ化システムに属し得るか又は1つ又は複数の他のタイプのコンピュータ化システムであり得る。代替的に、THコンピュータ化システムは、RSAのうちの1つと同じタイプに属し得るか又はRSAのうちの1つと同じタイプのものであり得る。
【0033】
TAコンピュータ化システムは、RSAのうちの少なくともいくつかよりも多くの計算及び/又はメモリ・リソースを有するか、或いは、RSAのうちの少なくとも1つと同じ量のリソース、さらにはRSAのうちの1つ又は複数よりも少ない量のリソースを有し得る。
【0034】
ステップ130の後に、GOI関係タスク・スキルに関してRSAに知らせるステップ140が続き得る。
【0035】
GOI関係タスク・スキルは、全タスクを運搬するために必要とされる全体的スキルを反映し得る。たとえば、GOI関係タスク・スキルは、以下のうちの少なくとも1つを含み得る。
a. GOIのすべてのアイテムの合計重量である総重量を有するアイテムを運搬する能力。
b. GOIのすべてのアイテムの合計ボリューム(volume)である総ボリュームを有するアイテムを運搬する能力。
c. GOIのすべてのタイプのアイテムのうちのアイテムを運搬する能力。
d. GOIのすべてのアイテムのタイミング制約を表す緊急度においてアイテムを運搬する能力。任意のGOI緊急度決定関数が、GOIの異なるアイテムに関連付けられたタイミング制約に関して適用され得る。たとえば、最大緊急度レベル、また別の実例では、タイミング制約と、タイミング制約の各値に関係するアイテムの数との組合せ。
e. GOIのすべてのアイテムのタイミング制約を表す優先度においてアイテムを運搬する能力。任意のGOI優先度決定関数が、GOIの異なるアイテムに関連付けられたタイミング制約に関して適用され得る。たとえば、最大優先度レベル、また別の実例では、タイミング制約と、タイミング制約の各値に関係するアイテムの数との組合せ。
【0036】
ステップ140の後に、タスク・エージェントによって、収束条件に達するまで複数のビッディング反復に参加するステップ150が続き得る。ビッディング反復は、すべての可能なタスク割振りの一部分のみを探査する。ビッディング反復は、各RSAによってアイテムを運搬することのコスト、たとえば燃料消費などを、(タスク・ユーティリティ関数を使用して)考慮に入れ得る。
【0037】
ステップ150は、複数のビッディング反復のうちのビッディング反復に参加するステップ152の複数の反復を含み得る。
【0038】
ステップ152は、以下を含み得る。
a. RSAからビッディング・メッセージを受け取るステップ153であって、ビッディング・メッセージが、(i)タスクの実行に対するRSAの提案される寄与と、(ii)RSAによって現在実行されている他のタスクを停止するためのRSAについての中断ペナルティとに関する情報を提供する、受け取るステップ153。
b. タスク・エージェントによって、ビッディング・メッセージとタスク・ユーティリティ関数の1つ又は複数のパラメータとに基づいて、タスクの実行に対するRSAの要求された寄与を決定するステップ155であって、提案される寄与のうちの少なくともいくつかが、タスクの実行に対するRSAの前に要求された寄与に応答してRSAによって算出される、決定するステップ155。決定することは、ローカル最適化プロセスを適用し得る。それが網羅的ではなく、すべての可能な割振りをカバーするとは限らないという意味で、ローカル。
c. コンピュータ化システムによって、及びRSAに、タスクの実行に対するRSAの要求された寄与を送るステップ157。要求された寄与は、応答メッセージ中で送られ得る。タスク・エージェント・メッセージのサイズは、ビッディング・メッセージのサイズに等しくなり得るか、ビッディング・メッセージよりも小さくなり得るか、又はより大きくなり得る。ビッディング・メッセージよりも大きいときでも、応答メッセージはコンパクトであり得、たとえば、300、400バイトなどを超えないことがある。
【0039】
(ステップ157の)タスク・エージェント・メッセージは、タスク・エージェントがビッディングを受け付ける場合にタスク・エージェントに対してなされるべきRSA利益(たとえば支払い)を含み得る。複数のタスク・エージェントとネゴシエートするRSAが、最高の利益を与えるタスク・エージェントとともに働くことを優先させ得るか、又は、他の考慮事項に鑑みてタスク・エージェントの選択を実施し得る。タスク・エージェントは、任意の様式で、たとえば、タスク・ユーティリティ関数又は任意の他の関数を適用することによって、タスク・エージェントがタスクの履行から取得する利益のある割合として、RSA利益を決定し得る。
【0040】
(複数のビッディング反復のうちの)最後から2番目のビッディング反復の間に、RSAからのビッディング・メッセージは、前のビッディング反復からのRSAの要求された寄与に応答し得る。
【0041】
RSAは、複数のエリアに割り振られた複数のタスク・エージェントを伴うビッディング反復に参加し得、いずれかのビッディング反復の間に、複数のタスク・エージェントのうちの1つと協働することを選択し得、ビッディング反復の間にRSAの判断を変更することさえある。
したがって、あるビッディング反復に参加するRSAの識別情報及び/又は数は、別のビッディング反復に参加するRSAの識別情報及び/又は数とは異なり得る。
【0042】
複数のビッディング反復の結果は、エージェントをホストする選択されたコンピュータ化システムへのタスクの割振りである。選択されたコンピュータ化システムは、RSAをホストし得る。選択されたコンピュータ化システムのうちの1つが、タスク・エージェントをホストし得る。
【0043】
ステップ150の後に、GOIの1つ又は複数のアイテムを運搬するためにTAコンピュータ化システムが割り振られるかどうかを確認することが続き得る。
【0044】
答えが肯定であるとき、ステップ150の後に、コンピュータ化システムによって、少なくとも1つのアイテムをターゲットのセットのうちの少なくとも1つのターゲットのほうへ運搬するステップ160が続き得る。
【0045】
答えが否定であるとき、コンピュータ化システムは、GOIのアイテムのいずれも運搬しない。
【0046】
タスク・ユーティリティ関数は、GOIのアイテムを運搬することの結果として、獲得される金銭的利益に関する指示を運搬エンティティに提供し得る。したがって、タスク・ユーティリティ関数の1つ又は複数のパラメータは、タスクを満たすことから獲得される利益及び/又はアイテム配達緊急度パラメータを含み得る。タスク・ユーティリティ関数が他の利益、たとえば排出物の低減を考慮し得ることに留意されたい。
【0047】
GOI関係タスク・スキルは、GOIに関係し得、たとえば、アイテム・タイプ運搬能力及び/又はアイテム重量運搬能力及び/又はアイテム・ボリューム運搬能力を含み得る。
【0048】
アイテム・タイプは、たとえば、壊れやすいアイテム、壊れにくいアイテム、アイテムであって、そのアイテムの運搬の間のある環境条件を必要とする、アイテム、又は環境条件にかかわらず運搬され得るアイテムの中から選択され得る。異なるタイプのアイテムは、異なる運搬条件を必要とし得る。
【0049】
所与のRSAからのビッディング・メッセージはコンパクトであり得る。たとえば、そのビッディング・メッセージは、本質的に、(i)タスク配送ロケーションへのRSAの予想される到着時間、(ii)1つ又は複数のRSAアイテム運搬スキル、(iii)RSAのステータス及び(iv)RSAによって現在実行されている他のタスクを停止するためのRSAについての少なくとも1つの中断ペナルティからなり得る。ステータスは、RSAアイテム運搬スキル以外の、アイテムを運搬することに関連するパラメータ、たとえばバッテリーのステータス又はタンク中の燃料の量に限定され得る。
【0050】
少なくとも1つの中断ペナルティは、他のタスクの完了の異なる段階において他のタスクを停止することについての複数の中断ペナルティを備える。少なくとも1つの中断ペナルティは、RSAに他のタスクを割り当てたタスク・エージェントによって決定され得る。
【0051】
本方法が、フィッシャー市場クリアリング・プロセスの分散解決の少なくとも一部を利用するとき、その一部は、ステップ130、140及び150を実行することを含み得る。
【0052】
方法100の実装形態の一実例では、GOIは、コンピュータ化システムによってエリア配送ロケーションに運搬され、次いで、エリア配送ロケーションから、ターゲットのセットに配送される。
【0053】
TAコンピュータ化システムは、GOIをエリア配送ロケーションに運搬するように構成され得、及び/又は、GOIの1つ又は複数のアイテムをターゲットのセットのうちの1つ又は複数のターゲットに運搬するように構成され得る。TAコンピュータ化システムが上記のいずれかを実施するかどうかは、ビッディング反復の結果に依存する。
【0054】
コンピュータ化システムは、様々なタイプのビークル、すなわち、トラック、列車、飛行機、ドローン、オートバイ、ロボット、有人ビークル、無人ビークルなどに属し得るか又はそれらのビークルであり得る。
【0055】
たとえば、GOIは、倉庫から都市におけるカスタマーに配達されるべきである荷物のグループを含み得る。方法100は、荷物がカスタマーに提供される様式を決定するために使用され得る。ビークルは、方法100の実行に参加するコンピュータ化システムを含み得るか又はそのコンピュータ化システムであり得る。方法100の実行に参加するコンピュータ化システムのうちの1つ又は複数は、ビークルに属さないことがあるか又はビークルでないことがある。
【0056】
荷物は、それらが配達されるように指定された都市における地区に従ってトラックに積み込まれ、すなわち、同じ地区に宛てられた2つの荷物は同じトラックに積み込まれ得る。トラックは、それらが搬送する荷物が配達されるように指定された、その地区におけるロケーションに(可能な場合、その中心に)進む。荷物は、トラック、並びに、それらのカスタマーの住所までの「ラスト・マイル」において荷物を搬送する、配達無人航空ビークル、及び/又はスクーターなどの他の地上ビークルから降ろされる。同時に、戻される必要がある荷物がトラックに持ち込まれ得る。この配達が完了したとき、トラックは、戻された荷物を降ろし、配達されるべき荷物を再び積み込むために、倉庫に戻る。ドローン及びスクーターなど、ビークルは、他のトラックからの荷物を配達するために再割り当てされ得る。荷降ろしは、倉庫コンピュータ化システムを荷降ろしに割り振るための、(方法100などの)方法を適用し得る倉庫コンピュータ化システムによって実行され得る。
【0057】
図2は、ソースのセットからアイテムのグループ(GOI)を運搬するタスクを実行するための方法200の一実例を示す。
【0058】
方法200は、初期化ステップ210によって開始し得る。初期化ステップは、方法200を実行するためにコンピュータ化システムを割り振ることを含み得る。このコンピュータ化システムは、タスク・エージェント(TA)コンピュータ化システムと呼ばれることがある。
【0059】
ステップ210の後に、TAコンピュータ化システムによって、(i)タスクを実行するようにとの要求と、(ii)アイテムのグループを運搬するために必要とされるGOI関係タスク・スキルと、(iii)タスク・ユーティリティ関数の1つ又は複数のパラメータとを受け取るステップ220が続き得る。
【0060】
ステップ220の後に、コンピュータ化システムによってホストされるタスク・エージェントによって、リソース・スキル・エージェント(RSA)を各GOI関係タスク・スキルに関連付けるステップ230が続き得る。RSAは異種である。
【0061】
TAコンピュータ化システムは、第1のタイプのビークルに属し得るか又は第1のタイプのビークルであり得、RSAは、1つ又は複数の他のタイプのコンピュータ化システムに属し得るか又は1つ又は複数の他のタイプのコンピュータ化システムであり得る。代替的に、THコンピュータ化システムは、RSAのうちの1つと同じタイプに属し得るか又はRSAのうちの1つと同じタイプのものであり得る。
【0062】
TAコンピュータ化システムは、RSAのうちの少なくともいくつかよりも多くの計算及び/又はメモリ・リソースを有するか、或いは、RSAのうちの少なくとも1つと同じ量のリソース、さらにはRSAのうちの1つ又は複数よりも少ない量のリソースを有し得る。
【0063】
ステップ230の後に、GOI関係タスク・スキルに関してRSAに知らせるステップ240が続き得る。
【0064】
GOI関係タスク・スキルは、全タスクを運搬するために必要とされる全体的スキルを反映し得る。たとえば、GOI関係タスク・スキルは、以下のうちの少なくとも1つを含み得る。
a. GOIのすべてのアイテムの合計重量である総重量を有するアイテムを運搬する能力。
b. GOIのすべてのアイテムの合計ボリュームである総ボリュームを有するアイテムを運搬する能力。
c. GOIのすべてのタイプのアイテムのうちのアイテムを運搬する能力。
d. GOIのすべてのアイテムのタイミング制約を表す緊急度においてアイテムを運搬する能力。任意のGOI緊急度決定関数が、GOIの異なるアイテムに関連付けられたタイミング制約に関して適用され得る。たとえば、最大緊急度レベル、また別の実例では、タイミング制約と、タイミング制約の各値に関係するアイテムの数との組合せ。
e. GOIのすべてのアイテムのタイミング制約を表す優先度においてアイテムを運搬する能力。任意のGOI優先度決定関数が、GOIの異なるアイテムに関連付けられたタイミング制約に関して適用され得る。たとえば、最大優先度レベル、また別の実例では、タイミング制約と、タイミング制約の各値に関係するアイテムの数との組合せ。
【0065】
ステップ240の後に、タスク・エージェントによって、収束条件に達するまで複数のビッディング反復に参加するステップ250が続き得る。ビッディング反復は、すべての可能なタスク割振りの一部分のみを探査する。ビッディング反復は、各RSAによってアイテムを運搬することのコスト、たとえば燃料消費などを考慮に入れ得る。
【0066】
ステップ250は、複数のビッディング反復のうちのビッディング反復に参加するステップ252の複数の反復を含み得る。
【0067】
ステップ252は、以下を含み得る。
a. RSAからビッディング・メッセージを受け取るステップ253であって、ビッディング・メッセージが、(i)タスクの実行に対するRSAの提案される寄与と、(ii)RSAによって現在実行されている他のタスクを停止するためのRSAについての中断ペナルティとに関する情報を提供する、受け取るステップ253。
b. タスク・エージェントによって、ビッディング・メッセージとタスク・ユーティリティ関数の1つ又は複数のパラメータとに基づいて、タスクの実行に対するRSAの要求された寄与を決定するステップ255であって、提案される寄与のうちの少なくともいくつかが、タスクの実行に対するRSAの前に要求された寄与に応答してRSAによって算出される、決定するステップ255。決定することは、ローカル最適化プロセスを適用し得る。それが網羅的ではなく、すべての可能な割振りをカバーするとは限らないという意味で、ローカル。
c. コンピュータ化システムによって、及びRSAに、タスクの実行に対するRSAの要求された寄与を送るステップ257。
【0068】
(複数のビッディング反復のうちの)最後から2番目のビッディング反復の間に、RSAからのビッディング・メッセージは、前のビッディング反復からのRSAの要求された寄与に応答し得る。
【0069】
RSAは、複数のエリアに割り振られた複数のタスク・エージェントを伴うビッディング反復に参加し得、いずれかのビッディング反復の間に、複数のタスク・エージェントのうちの1つと協働することを選択し得、ビッディング反復の間にRSAの判断を変更することさえある。
したがって、あるビッディング反復に参加するRSAの識別情報及び/又は数は、別のビッディング反復に参加するRSAの識別情報及び/又は数とは異なり得る。
【0070】
複数のビッディング反復の結果は、エージェントをホストする選択されたコンピュータ化システムへのタスクの割振りである。選択されたコンピュータ化システムは、RSAをホストし得る。選択されたコンピュータ化システムのうちの1つが、タスク・エージェントをホストし得る。
【0071】
ステップ250の後に、GOIの1つ又は複数のアイテムを運搬するためにTAコンピュータ化システムが割り振られるかどうかを確認することが続き得る。
【0072】
答えが肯定であるとき、ステップ250の後に、コンピュータ化システムによって、ソースのセットのうちの少なくとも1つのソースから少なくとも1つのアイテムを運搬するステップ260が続き得る。
【0073】
答えが否定であるとき、コンピュータ化システムは、GOIのアイテムのいずれも運搬しない。
【0074】
タスク・ユーティリティ関数は、GOIのアイテムを運搬することの結果として、獲得される金銭的利益に関する指示を運搬エンティティに提供し得る。したがって、タスク・ユーティリティ関数の1つ又は複数のパラメータは、タスクを満たすことから獲得される利益及び/又はアイテム配達緊急度パラメータを含み得る。タスク・ユーティリティ関数が他の利益、たとえば排出物の低減を考慮し得ることに留意されたい。
【0075】
GOI関係タスク・スキルは、GOIに関係し得、たとえば、アイテム・タイプ運搬能力及び/又はアイテム重量運搬能力及び/又はアイテム・ボリューム運搬能力を含み得る。
【0076】
アイテム・タイプは、たとえば、壊れやすいアイテム、壊れにくいアイテム、アイテムであって、そのアイテムの運搬の間のある環境条件を必要とする、アイテム、又は環境条件にかかわらず運搬され得るアイテムの中から選択され得る。異なるタイプのアイテムは、異なる運搬条件を必要とし得る。
【0077】
所与のRSAからのビッディング・メッセージはコンパクトであり得る。たとえば、そのビッディング・メッセージは、本質的に、(i)タスク配送ロケーションへのRSAの予想される到着時間、(ii)1つ又は複数のRSAアイテム運搬スキル、(iii)RSAのステータス及び(iv)RSAによって現在実行されている他のタスクを停止するためのRSAについての少なくとも1つの中断ペナルティからなり得る。ステータスは、RSAアイテム運搬スキル以外の、アイテムを運搬することに関連するパラメータ、たとえばバッテリーのステータス又はタンク中の燃料の量に限定され得る。
【0078】
少なくとも1つの中断ペナルティは、他のタスクの完了の異なる段階において他のタスクを停止することについての複数の中断ペナルティを備える。少なくとも1つの中断ペナルティは、RSAに他のタスクを割り当てたタスク・エージェントによって決定され得る。
【0079】
本方法が、フィッシャー市場クリアリング・プロセスの分散解決の少なくとも一部を利用するとき、その一部は、ステップ230、240及び250を実行することを含み得る。
【0080】
図3は、アイテムのグループ(GOI)をターゲットのセットに運搬するタスクを実行するためのコンピュータ・ベースの方法300の一実例を示す。
【0081】
方法300は、初期化ステップ310によって開始し得る。
【0082】
ステップ310は、ターゲットの複数のセットに配送されるべきアイテムのグループ(GOI)を取得することを含み得る。ターゲットのセットへのGOIの配送は、タスクと見なされ得る。アイテムのセットは、ステップ310が実行されるとき、定義されることも定義されないこともある。
【0083】
ステップ310は、ターゲットの複数のセットに配送されるべきアイテムを受け取り、それらのアイテムをクラスタ化及び/又はグループ化してGOIを提供することを含み得る。クラスタ化及び/又はグループ化は、ターゲットのロケーション、ターゲットへのアクセス経路に関するアクセス情報、アイテムのタイプなどに応答し得る。たとえば、異なる運搬条件を必要とする異なるタイプのアイテムは、互いに別々に扱われ得る。
【0084】
ステップ310は、ターゲットの複数のセットに配送されるべき(すでにクラスタ化又はグループ化された)GOIを受け取ることを含み得る。
【0085】
ステップ310の後に、各タスクについてタスク・エージェントを割り振るステップ320が続き得る。タスクごとに(エリアごとに)単一のコンピュータ化システムがあり得る。代替的に、単一よりも多くのタスクを実行するために、単一のコンピュータ化システムが割り振られ得る。タスクは、タスク・ユーティリティ関数の関連付けられた1つ又は複数のパラメータである。
【0086】
ステップ310及び/又はステップ320は、集中又は分散様式で実行され得る。それは、各タスクへのエージェントの割振りに参加する同じコンピュータ化システムによって実行され得るか、又は異なるコンピュータ化システムによって実行され得る。
【0087】
分散様式で実行されたとき、1つ又は複数のコンピュータ化システムがステップ310の実行に参加し得、少なくとも1つのコンピュータ化システムがステップ320の実行に参加し得る。
【0088】
ステップ320の後に、各タスク・エージェントによって、及びそのタスク・エージェントに割り振られた各タスクについて方法100を実行することを含む、ステップ330が続き得る。
【0089】
図4は、ソースのセットからアイテムのグループ(GOI)を運搬するタスクを実行するための方法400の一実例を示す。
【0090】
方法400は、初期化ステップ410によって開始し得る。
【0091】
ステップ410は、ソースの複数のセットから運搬されるべきアイテムのグループ(GOI)を取得することを含み得る。ソースのセットからのGOIの運搬は、タスクと見なされ得る。
【0092】
ステップ410は、ソースの複数のセットから運搬されるべきアイテムを受け取り、それらのアイテムをクラスタ化及び/又はグループ化してGOIを提供することを含み得る。クラスタ化及び/又はグループ化は、ソースのロケーション、ソースへのアクセス経路に関するアクセス情報、アイテムのタイプなどに応答し得る。たとえば、異なる運搬条件を必要とする異なるタイプのアイテムは、互いに別々に扱われ得る。
【0093】
ステップ410は、ソースの複数のセットから運搬されるべき(すでにクラスタ化又はグループ化された)GOIを受け取ることを含み得る。
【0094】
ステップ410の後に、各タスクについてタスク・エージェントを割り振るステップ420が続き得る。
タスクごとに(エリアごとに)単一のコンピュータ化システムがあり得る。代替的に、単一よりも多くのタスクを実行するために、単一のコンピュータ化システムが割り振られ得る。
【0095】
ステップ410及び/又はステップ420は、集中又は分散様式で実行され得る。それは、各タスクへのエージェントの割振りに参加する同じコンピュータ化システムによって実行され得るか、又は異なるコンピュータ化システムによって実行され得る。
【0096】
分散様式で実行されたとき、1つ又は複数のコンピュータ化システムがステップ410の実行に参加し得、少なくとも1つのコンピュータ化システムがステップ420の実行に参加し得る。
【0097】
ステップ420の後に、各タスク・エージェントによって、及びそのタスク・エージェントに割り振られた各タスクについて方法200を実行することを含む、ステップ430が続き得る。
【0098】
図5は、アイテムのグループ(GOI)を配送するためのタスクを動的に割り振り、スケジュールするための方法500の一実例を示す。
【0099】
方法500は、ステップ510及び520によって開始し得る。
【0100】
ステップ510は、タスク・エージェントと複数のリソース・スキル・エージェント(RSA)とに関するエージェント情報を取得することを含み得る。各エージェントは、エージェント・スキル・セットを有する。RSAは、アイテムを運搬することに関係するRSAスキル・セットを有する。タスク・エージェントは、アイテムを運搬することに関係するタスク・エージェント・スキル・セットを有する。RSA及びタスク・エージェントはコンピュータ化システムのグループによってホストされ得、そのうちのいくつかはアイテムを運搬することが可能である。
【0101】
ステップ520は、ターゲットのセットに運搬されるべきアイテムのグループ(GOI)に関するタスク情報を取得することを含み得る。タスクは、タスク・ユーティリティ関数の関連付けられた1つ又は複数のパラメータである。
【0102】
ステップ510及び520の後に、リアルタイムで、(タスクの)複数のサブタスクを複数のエージェントに割り当てるステップ530が続き得る。サブタスクは、アイテムをターゲットに運搬することを伴い得る。
【0103】
ステップ530は、タスク割当てのすべての可能な組合せをテストすることなしに、フィッシャー市場クリアリング・プロセスの分散解決を実施することを含み得る。分散解決を実施することは、ステップ532及び534を含み得る。
【0104】
ステップ532は、リソース・スキル・エージェント(i,s)をタスク・エージェントの各タスク・スキルに関連付けることを含み得る。
【0105】
ステップ534は、収束条件に達するまで複数のビッディング反復を実施することを含み得る。
【0106】
単一のビッディング反復は、以下を含み得る。
(a)各リソース・スキル・エージェント(i,s)によって、リソース・スキル・エージェント・ビッディング・メッセージbisの値を算出すること。
(b)各リソース・スキル・エージェント(i,s)によって、リソース・スキル・エージェント・ビッディング・メッセージbisをタスク・エージェントに送ること。
(c)タスク・エージェントによって、各関連付けられたリソース・スキル・エージェント(i,s)の相対寄与値xisを算出すること。
(d)タスク・エージェントによって、及び各関連付けられたリソース・スキル・エージェントに、相対寄与値xisの値を有するタスク・エージェント・ビッディング・メッセージを送ること。
【0107】
複数のビッディング反復のうちの1つ又は複数の間に、ビッディング・メッセージの値はrisに基づき、ここで、risは、(スキルsについてのリソース・エージェントの遅延した開始ペナルティ)*(タスクについてスキルsを使用するリソース・スキル・エージェントのユーティリティ寄与)-(他のタスクに取り組むためのスキルsを使用するリソース・スキル・エージェントiについての中断ペナルティ)に等しい。
【0108】
ステップ534は、xisの値に基づいてサブタスクを割り振ることをも含み得る。
【0109】
第1のビッディング反復の間に、及び各リソース・スキル・エージェント(i,s)について、リソース・スキル・エージェント・ビッディング・メッセージはrisに等しい。
【0110】
第1のビッディング反復に続くビッディング反復の間に、及び各リソース・スキル・エージェント(i,s)について、リソース・スキル・エージェント・ビッディング・メッセージは、xis*risをタスク・エージェントからリソース・スキル・エージェント(i,s)によって受け取られたxis*risの和で除算したものに等しい。
【0111】
タスクの各ビッディング反復の間に、タスク・エージェント・ビッディング・メッセージは、bisの値をすべての関連付けられたリソース・スキル・エージェントからタスク・エージェントによって受け取られたbisの値の和で除算したものに等しくなり得る。
【0112】
ステップ534は、各リソース・スキル・エージェントによって、タスクを実施することからリソース・スキル・エージェントに生じる利益に従って、リソース・スキル・エージェントに割り当てられたタスクをランク付けすることを含み得る。
【0113】
利益は、risにxisを乗算したものに等しくなり得る。
【0114】
サブタスクの割振りは、各リソース・スキル・エージェントによって、リソース・スキル・エージェントがタスクを開始し得る最も早い時間で、タスクに割り当てられた他のリソース・スキル・エージェントに通知することを含み得る。
【0115】
サブタスクの割振りは、タスクのタスク開始時間を、タスクに割り当てられたリソース・スキル・エージェントによって報告された最も早い時間の間の最も遅い時間として定義することを含み得る。
【0116】
スケジュールを生成することは、タスクのタスク開始時間に応答し得る。
【0117】
タスクのためのスキルsを使用するリソース・スキル・エージェントのユーティリティ寄与は、現在のエージェント地理的ロケーションとタスク地理的ロケーションとの間の差に応答し得る。
【0118】
リソース・スキル・エージェントによって送られたリソース・スキル・エージェント・ビッディング・メッセージは、いくつかの値からなり、コンパクトであり、たとえば250バイトよりも小さくなり得る。
【0119】
ステップ530の後に、少なくとも1つのエージェント(タスク・エージェント及び/又はRSA)をホストした1つ又は複数のコンピュータ化システムによって1つ又は複数のアイテムを配送する1つ又は複数のサブタスクを実行するステップ540が続き得る。
【0120】
方法500が、GOIを配送するためのタスクを動的に割り振り、スケジュールすることに関係するが、マルチ・タスク方法が提供され得、複数のGOIをターゲットの複数のセットに配送するための複数のタスクを動的に割り振り、スケジュールすることを含み得ることに留意されたい。
【0121】
方法500は、ソースのセットからアイテムを運搬することに、必要な変更を加えて適用され得る。
【0122】
図6は、アイテムのグループ(GOI)をターゲットのセットに配送するためのタスクを動的に割り振り、スケジュールするための方法600の一実例を示す。
【0123】
方法600は、ステップ610及び620によって開始し得る。
【0124】
ステップ610は、タスク・エージェントと複数のリソース・スキル・エージェント(RSA)とに関するエージェント情報を取得することを含み得る。各エージェントは、エージェント・スキル・セットを有する。RSAは、アイテムを運搬することに関係するRSAスキル・セットを有する。タスク・エージェントは、アイテムを運搬することに関係するタスク・エージェント・スキル・セットを有する。RSA及びタスク・エージェントはコンピュータ化システムのグループによってホストされ得、そのうちのいくつかはアイテムを運搬することが可能である。
【0125】
ステップ620は、ターゲットのセットに運搬されるべきアイテムのグループ(GOI)に関するタスク情報を取得することを含み得る。タスクは、タスク・ユーティリティ関数の関連付けられた1つ又は複数のパラメータである。
【0126】
ステップ620及び630の後に、リアルタイムで、(タスクの)複数のサブタスクを複数のエージェントに割り当てるステップ630が続き得る。サブタスクは、アイテムをターゲットに運搬することを伴い得る。
【0127】
ステップ630は、タスク割当てのすべての可能な組合せをテストすることなしに、フィッシャー市場クリアリング・プロセスの分散解決を実施することを含み得る。分散解決を実施することは、ステップ632及び634を含み得る。
【0128】
ステップ632は、リソース・スキル・エージェント(i,s)を各タスク・エージェント(j)の各タスク・スキルに関連付けることを含み得る。
【0129】
ステップ634は、(各タスクごとに)収束条件に達するまで複数のビッディング反復を(各タスクごとに)実施することを含み得る。
【0130】
単一のビッディング反復は、以下を含み得る。
a. 各リソース・スキル・エージェント(i,s)によって、リソース・スキル・エージェント・ビッディング・メッセージbijsの値を算出すること。
b. 各リソース・スキル・エージェント(i,s)によって、リソース・スキル・エージェント・ビッディング・メッセージbijsを各関連付けられたタスク・エージェントに送ること。
c. 各タスク・エージェント(j)によって、各関連付けられたリソース・スキル・エージェント(i,s)の相対寄与値xijsを算出すること。
d. 各タスク・エージェント(j)によって、及び各関連付けられたリソース・スキル・エージェントに、相対寄与値xijsの値を有するタスク・エージェント・ビッディング・メッセージを送ること。
【0131】
複数のビッディング反復のうちの1つ又は複数の間に、ビッディング・メッセージの値はrijsに基づき、ここで、rijsは、(スキルsについてのリソース・エージェントの遅延した開始ペナルティ)*(タスクjについてスキルsを使用するリソース・スキル・エージェントのユーティリティ寄与)-(タスクjに取り組むためにスキルsを使用するリソース・スキル・エージェントiについての中断ペナルティ)に等しい。
【0132】
ステップ634は、xijsの値に基づいてサブタスクを割り振ることをも含み得る。
【0133】
第1のビッディング反復の間に、及び各リソース・スキル・エージェント(i,s)について、リソース・スキル・エージェント・ビッディング・メッセージはrijsに等しくなり得る。
【0134】
第1のビッディング反復に続くビッディング反復の間に、及び各リソース・スキル・エージェント(i,s)について、リソース・スキル・エージェント・ビッディング・メッセージは、xijs*rijsをすべての関連付けられたタスク・エージェントからリソース・スキル・エージェント(i,s)によって受け取られたxijs*rijsの和で除算したものに等しくなり得る。
【0135】
各ビッディング反復の間に、及び各タスク・エージェント(j)について、タスク・エージェント・ビッディング・メッセージは、bijsの値をすべての関連付けられたリソース・スキル・エージェントからタスク・エージェント(j)によって受け取られたbijsの値の和で除算したものに等しくなり得る。
【0136】
ステップ634は、各リソース・スキル・エージェントによって、タスクを実施することからリソース・スキル・エージェントに生じる利益に従って、リソース・スキル・エージェントに割り当てられたタスクをランク付けすることを含み得る。
【0137】
利益は、rijsにxijsを乗算したものに等しくなり得る。
【0138】
サブタスクを割り振ることは、各リソース・スキル・エージェントによって、リソース・スキル・エージェントがタスクを開始し得る最も早い時間で、同じタスクに割り当てられた他のリソース・スキル・エージェントに通知することを含み得る。
【0139】
サブタスクを割り振ることは、タスクのタスク開始時間を、同じタスクに割り当てられたリソース・スキル・エージェントによって報告された最も早い時間の間の最も遅い時間として定義することを含み得る。
【0140】
サブタスクを割り振ることは、複数のタスクの各々のタスク開始時間に応答し得る。
【0141】
タスクjのためのスキルsを使用するリソース・スキル・エージェントのユーティリティ寄与は、エージェント地理的ロケーションとタスク地理的ロケーションとの間の差に応答し得る。
【0142】
リソース・スキル・エージェントによって送られたリソース・スキル・エージェント・ビッディング・メッセージは、いくつかの値からなり、コンパクトであり、たとえば250バイトよりも小さくなり得る。
【0143】
リソース・スキル・エージェントによって送られたリソース・スキル・エージェント・ビッディング・メッセージは、いくつかの値からなり得、値の数は、リソース・スキル・エージェントに関連付けられたタスク・エージェントの数を超えない。
【0144】
タスク・エージェントによって送られたタスク・エージェント・ビッディング・メッセージは、いくつかの値からなり得、値の数は、タスク・エージェントに関連付けられたリソース・スキル・エージェントの数を超えない。
【0145】
ステップ630の後に、タスク・エージェントのいずれか及び/又はRSAのいずれかのうちの少なくとも1つのエージェントをホストした1つ又は複数のコンピュータ化システムによって1つ又は複数のアイテムを配送する1つ又は複数のサブタスクを実行するステップ640が続き得る。
【0146】
方法600は、ソースのセットからアイテムを運搬することに、必要な変更を加えて適用され得る。
【0147】
フィッシャー市場クリアリング・タスクを使用してアイテムを運搬することに関係する問題を解決するための方法の一実例が、以下で示される。
【0148】
方法は、以下を含み得る。
a. 問題をマルチ・ビークル配達最適化問題としてモデル化すること。モデルは、以下のパラメータ、すなわち、(i)移送される必要がある荷物、荷物のピックアップ・ロケーション、配達ロケーション、(アイテムの重要性、アイテムの配達の緊急度及び遅れた配達についてのコストを考慮に入れて)荷物を移送することから導出されるユーティリティ、ある重量を扱う能力など、荷物を移送するビークルに必要とされる能力、(ii)移送ビークル(「ラスト・マイル・ビークル」)、ピックアップ・ロケーションに対するそれらの現在のロケーション、能力、それらの現在の割当てをそれらに完了させないことについてのコスト、及びそれらの現在のロケーションを含み得る。
b. そのモデルをフィッシャー市場クリアランス(Fisher market clearance)アルゴリズムへの入力への表現に簡約化すること、旧来のアルゴリズムではビークルが「エージェント」を表す。アルゴリズムへの入力は、rijs項の行列であり、各項が、ビークルiが配達jに対して能力sを適用することから導出することになるユーティリティを定義する。
c. 配達の各々について形成された提携を含み得る、ビークル割当てユーティリティ値と、配達割当ての対応する割振りとの市場クリアリング均衡を見つけるために、フィッシャー市場クリアランスアルゴリズムに基づいてビッディング・プロセスを実施すること。
d. ビークルのアクションをスケジュールし、提携アクションを調整すること。スケジュールすることは、ビークルをサブタスクに割り振ることを含む。
【0149】
方法のより詳細な実例が、以下で提供される。
【0150】
方法は、1つ又は複数のコンピュータ化システムによって実行され得る。方法は、以下を含み得る。
a. ピックアップ及び配達ロケーションと、各オーダーにおける荷物のタイプと、荷物重量及び他の能力要件と、配達優先度(配達オーダー・ユーティリティ関数)とを含む、配達オーダーのセットを受け取ること。
b. フリートにおける各配達ビークルについての現在のロケーションを決定すること、ここで、各配達ビークルはまた、荷重能力及び速度など、能力のセットに関連付けられる。
c. 荷物ユーティリティ関数のパラメータ、並びに遅延したピックアップ及び配達ペナルティ、配達中断ペナルティ、及びビークル寄与関数からビークル割当てユーティリティ値を算出する反復ビッディング・シミュレーションを実施すること。
d. ビークル割当てユーティリティランク付けに従って、割り当てられた複数の配達をランク付けすることによって、各ビークルについての割り当てられた複数の配達のスケジュールを生成すること。
e. ピックアップ時間と配達時間とを調整するために、割り当てられた配達のスケジュールを変更すること。
f. 1つ又は複数のコンピュータ化システムのうちの少なくとも1つによって1つ又は複数のアイテムを(割り当てられたときに)運搬すること。
【0151】
所与のビークルに割り当てられた所与の配達についての、ビークル割当てユーティリティランク付けは、所与のビークルに割り当てられた所与の配達についての配達オーダー・ユーティリティ値を、配達オーダーの所与のビークルの部分で除算したものに等しくなり得る。
【0152】
遅延した開始ペナルティは、所与の配達の開始時間と、配達の通知がコンピューティング・システムによって受け取られた時間との間の差の関数であり得る。ビークル割当てユーティリティの配達中断ペナルティは、現在の配達のあらかじめ定義された中断ペナルティ係数と、所与のビークルによって実施される作業の量との関数である。寄与関数は、所与の配達へのビークルの最適割当てを仮定すると、所与のビークルが所与の配達のユーティリティに提供する最大寄与であり得る。
【0153】
少なくとも1つのビークルのスケジュールの割り当てられた配達のオーダーを変更することは、分散プロセスを適用することを含み得、分散プロセスは、共有配達への最も早い到着時間の通知を、複数のビークルの各々から他の複数のビークルの各々に送ることを含み得る。
【0154】
複数のビークルの各々は、共有配達のための開始時間を、すべての最も早い時間のうちの最も遅い時間として決定し得る。
【0155】
特定の配達を実施するビークルによる共同を奨励する必要があるとき、ビークル割当てユーティリティ値は、凹指数関数によって決定され得、ただし、それらの関数の指数は0よりも大きく、1よりも小さくなり得、したがって、シミュレートされたオークションは、ビークル割当てユーティリティ値が線形関数によって決定されたときよりも多くの共有配達をビークルに割り当てる。指数は、配達に関する協働の必要に従って設定される。
【0156】
トラック、スクーター及びドローンなど、ビークル内に位置するコンピュータ化システムを仮定する。複数のタスクがあるとき、各タスクに参加するビークルの提携は、関連する荷物を、配達のエリア中の中心位置であり得るエリア配送ロケーションに持ち込む、少なくとも1つのトラックを含み得る。スクーター又はドローン或いはその両方が、トラックから荷物を取り、それらを配達住所に配達する。
【0157】
ビークル(ドローン又はスクーター)がいくつかの提携におけるメンバーであり得、したがって、あるエリアにおいてあるトラックからの荷物を配達した後に、それが近くのエリアにおいて別のトラックからの荷物を配達することができることに留意されたい。その上、トラックが空にされ、トラックが荷物を再び積み込むために倉庫に戻ったとき、ドローン及びスクーターは他のトラックと協働し、配達を続けることができる。バッテリー充電及び充満は、配達のエリアの近くの特定のポイントにおいて行われ得る。
【0158】
スクーター及びドローンは、異なる能力をもつ配達ビークルのための現実的な実例であることに留意されたい。モデル及び方法は、これらのタイプの配達ビークルに制限されない。
【0159】
より正式に、荷物配達問題(PDP:Package Delivery Problem)は、以下から構成される。
中心ロケーションL(A
i)をもつ、M個の配送エリア-A
1、A
2、A
i...、A
M。
あらゆるエリアiは、k
i個の荷物-p
i,1、p
i,2、...、p
i,j、...、
【数1】
に対する需要を有する
【0160】
あらゆる荷物p
i,jは、以下を有する。
重量W(p
i,j)及びボリューム(p
i,j)
タイプ(分類)C(p
i,j)∈[c
1,c
l,...,c
C]
荷物からの収益-R(p
i,j)
重要性(緊急度)-I(p
i,j)
ロケーション
【数2】
納期DD(p
i,j)
実際の配達された時間AD(p
i,j)
遅れについてのペナルティ-
【数3】
【0161】
あらゆるエリアi及びあらゆるタイプt
lは、以下の必要とされる作業負荷を有する。
タイプt
lからの荷物の総重量
【数4】
タイプt
lからの荷物の総ボリューム
【数5】
タイプt
lからの荷物の総量
【数6】
【数7】
【0162】
荷物は、以下によって配達され得る。
限られたボリュームV(T)をもつ、k
T個のトラック:T
1、T
2、...、
【数8】
限られたボリュームV(S)をもつ、k
S個のスクーター-S
1、S
2、...、
【数9】
。あらゆるスクーターは、それが配達することができる荷物タイプの集合C(S)⊆[c
1,c
l,...,c
T]を有する
限られた重量W(D)をもつ、k
D個のドローン-D
1、D
2、...、
【数10】
。あらゆるドローンは、それが配達することができる荷物タイプの集合C(D)⊆[c
1,c
l,...,c
T]を有し、それは、スクーターが配達することができる荷物タイプの部分集合C(S)⊆C(D)である。
【0163】
各エリアについて、導出されるユーティリティは、配達される荷物の各々について導出されるユーティリティの和として算出される。
【数11】
【数12】
【0164】
解σについてのユーティリティは、エリア・ユーティリティの和である。
【数13】
【0165】
変数rijsは、ビークルが荷物を配達することから導出する(上記で説明された)ユーティリティの低減である、R行列のエントリであり得る。それらは、荷物配達の緊急度と、荷物を受け取ることから導出されるユーティリティと、ビークルが荷物を配達するのに要することになる時間と、他の配達を実施しないことについての損失とを考慮に入れることによって算出される。項rijsは、能力について固有であり、それは、荷物を梱包し、配達することができるビークル、又は異なる重量負荷について異なるキャパシティをもつビークルなど、複数の能力を有するビークルときである。
【0166】
また別の実例では、上述の方法のいずれも、倉庫内のアイテムを運搬することに適用され得る。たとえば、倉庫の異なるロケーションからアイテムを運搬するために、異なるタイプの可動ロボットが使用され得る。1つ又は複数の可動ロボットは、倉庫内の1つ又は複数のタスク・エージェント又は1つ又は複数のエリアであり得る。
【0167】
倉庫内のピッキング及び梱包プロセスを改善するために、運搬されるべきアイテムは、エリアごとにクラスタ化され得る。このクラスタ化プロセスは、ビークルが、倉庫中で近くに位置するいくつかのアイテムを、それらが異なるオーダーについて必要とされるか、さらには(倉庫外に運搬されるために)異なるトラックに積み込まれる必要があり得るとしても、収集することを可能にすることができる。
【0168】
クラスタ化方法は、収集タスクの数を削減し、人気があるアイテムが保管されている倉庫中のロケーションの近くのビークルの交通渋滞を回避し、収集プロセスの速度を上げることを可能にする。
【0169】
クラスタ化は、たとえば、ピッカー(picker)がいくつかのアイテムをピッキングし、それらを梱包エリアに搬送することができるとき、有益であり得る。この場合、クラスタ化方法の目的は、単一のタスクとして一緒にピッキングされ得るアイテムを識別することである。
【0170】
クラスタ化は、たとえば、ピッカーが少数のアイテムに限定されるとき、有益であり得る。この場合、クラスタ化方法の目的は、いくつかのピッカーによって実施され得る同様のタスクを識別することである。ピッカーは、ピッキング・タスクのクラスタのエリアに送られ、ピッカーの特定のタスクが、ピッカーが到着したときにピッカーに割り当てられる。
【0171】
図7は、コンピュータ化システム、GOPのアイテム、及びターゲットのセットの一実例を示す。
図7は、複数のターゲット752が位置するエリア750-1と、ターゲットに運搬されるべきQ個のアイテム740-1~740-Qと、トラック720-1に属する第1のコンピュータ化システム700-1によってホストされるタスク・エージェント710-1と、様々なビークルの様々なコンピュータ化システムによってホストされるRSAとを示し、様々なコンピュータ化システムは、第1のオートバイ721-1の第2のコンピュータ化システム700-2と、第2のオートバイ721-2の第3のコンピュータ化システム700-3と、第1のドローン722-1の第4のコンピュータ化システム700-4と、第2のドローン722-2の第5のコンピュータ化システム700-5と、第1の車723-1の6のコンピュータ化システム700-6とを含む。第1のコンピュータ化システム700-1は、(1つ又は複数の処理回路を含む)プロセッサ701-1などの計算リソースと、メモリ・ユニット702-1などのメモリ・リソースと、他のコンピュータ化システムと通信するための通信ユニット701-3とを含み得る。任意の他のコンピュータ化システムが、計算リソースと、メモリ・リソースと、通信リソースとを含み得る。
【0172】
図7は、タスク・エージェントからRSAに送られた報知メッセージ(informing message)731及び733と、732-2、732-4、732-5及び732-6など、個々のコンピュータ化システムからのビッディング・メッセージとをも示す。
【0173】
図8は、コンピュータ化システム、GOPのアイテム、及びソースのセットの一実例を示す。
図8は、ターゲットのセットの代わりにソース753のセットを示し、エリア内にアイテム(740-1~740-Q)を有することによって
図7とは異なり、アイテムはエリアから収集されるべきである。
【0174】
図9は、倉庫内のエリアからGOIのアイテムを取得するタスクを実行する複数のロボットを示す。アイテムは、星によって表される。倉庫は、アイテムを保管する棚を含む。
図9では、ロボット761はタスク・エージェントをホストする。他のロボット762及び他のドローン763は、RSAをホストする。
【0175】
図9は、コンピュータ化システム750-1を含むものとしてロボット791を示す。(1つ又は複数の処理回路を含む)プロセッサ751-1などの計算リソースと、メモリ・ユニット752-1などのメモリ・リソースと、他のコンピュータ化システムと通信するための通信ユニット751-3とを含み得るコンピュータ化システム750-1。任意の他のコンピュータ化システムが、計算リソースと、メモリ・リソースと、通信リソースとを含み得る。メモリ・ユニット752-1は、GOI関係タスク・スキルに関してRSAに知らせるタスク・エージェント・メッセージ751などのタスク・エージェント・メッセージと、N1個のRSAからのビッディング・メッセージ752(1)~752(N1)と、要求された寄与を示すタスク・エージェント・メッセージ753とを記憶するものとして示されている。ビッディング・メッセージ752(1)は、本質的に、到着時間と、ステータスと、タスクを中断することについてのペナルティとからなる。それらのメッセージはコンパクトであり、メモリ・ユニットは、著しいメモリ・スペースを消費することなしに、多くのビッディング反復に関係するメッセージを記憶し得る。特にRSAの計算負担はあまりにわずかであり得るので、それは、バックグラウンド・プロセスとして、或いはコントローラ又は弱いプロセッサによって実行され得る。
【0176】
ロボットのいずれも、及びRSAのいずれも、及びビークルのいずれも、エンジン又は任意の他の移動ユニットを使用して可動である。
【0177】
図10は、タスク・エージェントTA1及びTA2、第1のエリア1001及び第2のエリア1002、並びに関連付けられたエリアの一実例を示す。第1のエリア1001は、まとめて1011と示された、第1のタスク・エージェントTA1及び第1のRSAによってサービスされる。第2のエリア1002は、まとめて1012と示された、第2のタスク・エージェントTA2及び第2のRSAによってサービスされる。RSAは、2つ以上のタスク・エージェントを伴うビッディング反復に参加し得る。
図1は、ビッディング反復に参加し、タスク・エージェントのうちの1つを選択した、数個のRSAを示す。他のタスク・エージェントと協働するように選択したRSAによるタスク・エージェントのビッディングが、「失敗したビッディング」と示される。
【0178】
任意の組合せ並びにタスク・エージェント及び/又はRSAが提供され得ることに留意されたい。明細書及び/又は図面に示された任意の方法の任意のステップのその任意の組合せは組み合わせられ得、たとえば、ソースからGOIを収集するために方法200が実行され得、収集が完了されると、GOIをターゲットのセットに配達するために方法100が実行され得る。また別の実例では、方法100は方法200に先行し得る。
【0179】
本出願は、従来技術に勝る著しい技術的改善、特にコンピュータ・サイエンスにおける改善を提供する。
【0180】
「備える、含む(comprising)」又は「有する(having)」という用語への参照は、「~からなる」又は「本質的に~からなる」をも指すものとして解釈されるべきである。たとえば、いくつかのステップを含む方法は、それぞれ、追加のステップを含むことができるか、いくつかのステップに限定され得るか、又は方法の基本的な及び新規の特性に実質的に影響を及ぼさない追加のステップを含み得る。
【0181】
本発明はまた、少なくとも、コンピュータ・システムなどのプログラマブル装置上で稼働されたときに本発明による方法のステップを実施すること、或いはプログラマブル装置が本発明によるデバイス又はシステムの機能を実施することを可能にすることを行うためのコード部分を含む、コンピュータ・システム上で稼働するためのコンピュータ・プログラムにおいて実装され得る。コンピュータ・プログラムは、記憶システムに、ディスク・ドライブをディスク・ドライブ・グループに割り振ることを行わせ得る。
【0182】
コンピュータ・プログラムは、特定のアプリケーション・プログラム及び/又はオペレーティング・システムなど、命令のリストである。コンピュータ・プログラムは、たとえば、サブルーチン、関数、プロシージャ、オブジェクト方法、オブジェクト・インプリメンテーション、実行可能アプリケーション、アプレット、サーブレット、ソース・コード、オブジェクト・コード、共有ライブラリ/動的ロード・ライブラリ、及び/又はコンピュータ・システム上での実行のために設計された命令の他のシーケンスのうちの1つ又は複数を含み得る。
【0183】
コンピュータ・プログラムは、非一時的コンピュータ可読媒体など、コンピュータ・プログラム製品に内部的に記憶され得る。コンピュータ・プログラムの全部又は一部は、情報処理システムに永続的に、取外し可能に又はリモートで結合されたコンピュータ可読媒体上に提供され得る。コンピュータ可読媒体は、たとえば、限定はしないが、任意の数の、ディスク及びテープ記憶媒体を含む磁気記憶媒体、コンパクト・ディスク媒体(たとえば、CD-ROM、CD-Rなど)及びデジタル・ビデオ・ディスク記憶媒体など、光記憶媒体、フラッシュ・メモリ、EEPROM、EPROM、ROMなど、半導体ベース・メモリ・ユニットを含む不揮発性メモリ記憶媒体、強磁性デジタル・メモリ、MRAM、レジスタ、バッファ又はキャッシュ、メイン・メモリ、RAMなどを含む揮発性記憶媒体を含み得る。コンピュータ・プロセスは、一般に、実行(稼働)している、プログラム又はプログラムの部分と、現在のプログラム値及び状態情報と、プロセスの実行を管理するためにオペレーティング・システムによって使用されるリソースとを含む。オペレーティング・システム(OS:operating system)は、コンピュータのリソースの共有を管理し、それらのリソースにアクセスするために使用されるインターフェースをプログラマーに提供する、ソフトウェアである。オペレーティング・システムは、システム・データ及びユーザ入力を処理し、システムのユーザ及びプログラムにサービスとしてタスク及び内部システム・リソースを割り振り、管理することによって応答する。コンピュータ・システムは、たとえば、少なくとも1つの処理ユニットと、関連付けられたメモリと、いくつかの入出力(I/O:input/output)デバイスとを含み得る。コンピュータ・プログラムを実行するとき、コンピュータ・システムは、コンピュータ・プログラムに従って情報を処理し、I/Oデバイスを介して、得られた出力情報を作り出す。
【0184】
上記の仕様では、本発明は、本発明の実施例の特定の実例に関して説明された。しかしながら、添付の特許請求の範囲に記載されている本発明のより広い趣旨及び範囲から逸脱することなく、様々な修正及び変更が、それらにおいて行われ得ることが明らかであろう。
【0185】
その上、説明における及び特許請求の範囲における「前部の(front)」、「後部の(back)」、「上部の(top)」、「下部の(bottom)」、「上の(over)」、「下の(under)」などという用語は、もしあれば、説明のために使用され、必ずしも、永続的相対位置について説明するために使用されるとは限らない。そのように使用される用語は、本明細書で説明された本発明の実施例が、たとえば、示された、又はさもなければ本明細書で説明されたもの以外の他の配向における動作が可能であるように、適切な状況下で交換可能であることを理解されたい。
【0186】
当業者は、論理ブロック間の境界が例示にすぎず、代替実施例が論理ブロック又は回路要素をマージするか、或いは様々な論理ブロック又は回路要素に機能性の交互分解を課し得ることを認識されよう。したがって、本明細書で示されるアーキテクチャが例にすぎず、事実上、同じ機能性を達成する多くの他のアーキテクチャが実装され得ることを理解されたい。
【0187】
同じ機能性を達成するための構成要素の構成は、所望の機能性が達成されるように効果的に「関連付けられる」。したがって、特定の機能性を達成するために組み合わせられる本明細書の任意の2つの構成要素は、アーキテクチャ又は中間構成要素にかかわらず、所望の機能性が達成されるように互い「に関連付けられた」と見なされ得る。同様に、そのように関連付けられた任意の2つの構成要素はまた、所望の機能性を達成するために互いに「動作可能に接続」又は「動作可能に結合」されるものと見なされ得る。
【0188】
さらに、当業者は、上記で説明された動作間の境界が例示にすぎないことを認識されよう。複数の動作は単一の動作に組み合わせられ得、単一の動作は追加の動作において分散され得、動作は時間的に少なくとも部分的に重複して実行され得る。その上、代替実施例は、特定の動作の複数のインスタンスを含み得、動作の順序は様々な他の実施例において変えられ得る。
【0189】
また、たとえば、一実施例では、示された実例は、単一の集積回路上に又は同じデバイス内に位置する回路として実装され得る。代替的に、実例は、好適な様式で互いに相互接続された任意の数の別個の集積回路又は別個のデバイスとして実装され得る。
【0190】
また、たとえば、実例、又はその部分は、任意の適切なタイプのハードウェア記述言語などにおいて、物理回路の又は物理回路に変換できる論理表現のソフト又はコード表現として実装され得る。
【0191】
また、本発明は、非プログラマブル・ハードウェアにおいて実装される物理デバイス又はユニットに限定されないが、本出願では通常「コンピュータ・システム」として示される、メインフレーム、ミニコンピュータ、サーバ、ワークステーション、パーソナル・コンピュータ、ノートパッド、携帯情報端末、電子ゲーム、自動車の及び他の組込みシステム、セル・フォン並びに様々な他のワイヤレス・デバイスなど、好適なプログラム・コードに従って動作することによって所望のデバイス機能を実施することが可能なプログラマブル・デバイス又はユニットにおいても適用され得る。
【0192】
しかしながら、他の修正、変形形態及び代替形態も可能である。したがって、明細書及び図面は、限定的な意味ではなく例示的な意味で考えられるべきである。
【0193】
特許請求の範囲において、丸括弧間に入れられた参照符号は、請求項を限定するものとして解釈されないものとする。「備える、含む」という単語は、請求項に記載されているもの以外の要素又はステップの存在を除外しない。さらに、本明細書で使用される「a」又は「an」という用語は、1つ又は2つ以上として定義される。また、特許請求の範囲における「少なくとも1つの」及び「1つ又は複数の」などの導入句の使用は、不定冠詞「a」又は「an」による別の請求項要素の導入が、そのような導入された請求項要素を含んでいる特定の請求項を1つのそのような要素のみを含んでいる発明に限定することを、同じ請求項が「1つ又は複数の」又は「少なくとも1つの」という導入句及び「a」又は「an」などの不定冠詞を含むときでも、暗示するように解釈されるべきではない。同じことが、定冠詞の使用について当てはまる。別段に記載されていない限り、「第1の」及び「第2の」などの用語は、そのような用語が説明する要素を任意に区別するために使用される。したがって、これらの用語は、必ずしも、そのような要素の時間的な又は他の優先度付けを示すことを意図されるとは限らない。いくつかの方策が相互に異なる請求項に記載されているという単なる事実は、これらの方策の組合せが有利に使用され得ないことを示さない。
【0194】
本発明のいくつかの特徴が、本明細書で示され、説明されたが、現在、多くの修正、置換、変更、及び等価物が当業者に想起されることになる。したがって、添付の特許請求の範囲は、本発明の真の趣旨内に入るようにすべてのそのような修正及び変更をカバーすることを意図されることを理解されたい。
【国際調査報告】