JP4377792B2 - 配車計画作成装置、配車計画作成方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体 - Google Patents

配車計画作成装置、配車計画作成方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体 Download PDF

Info

Publication number
JP4377792B2
JP4377792B2 JP2004292780A JP2004292780A JP4377792B2 JP 4377792 B2 JP4377792 B2 JP 4377792B2 JP 2004292780 A JP2004292780 A JP 2004292780A JP 2004292780 A JP2004292780 A JP 2004292780A JP 4377792 B2 JP4377792 B2 JP 4377792B2
Authority
JP
Japan
Prior art keywords
transport
state
vehicle
vector
agv
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2004292780A
Other languages
English (en)
Other versions
JP2006107121A (ja
Inventor
政典 塩谷
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.)
Nippon Steel Corp
Original Assignee
Nippon Steel Corp
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 Nippon Steel Corp filed Critical Nippon Steel Corp
Priority to JP2004292780A priority Critical patent/JP4377792B2/ja
Publication of JP2006107121A publication Critical patent/JP2006107121A/ja
Application granted granted Critical
Publication of JP4377792B2 publication Critical patent/JP4377792B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/60Electric or hybrid propulsion means for production processes

Landscapes

  • General Factory Administration (AREA)

Description

本発明は、配車計画作成装置、配車計画作成方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体に関し、特に、無人搬送台車の配車計画(搬送命令の割り付け)を行うための装置に用いて好適なものである。
鉄鋼を始めとする多くの産業における製造プロセスでは、複数の製品を異なる複数の工程で処理して製造している。そのため、各製造ライン間で材料や製品を搬送することが必要となる。従来、物を搬送するための物流システムとして、例えば複数の無人搬送台車(AGV=Automatic Guided Vehicle)を用いたシステムが利用されている。
このAGVを用いたシステムでは、AGVと上位のプロセスコンピュータ(以下、プロコンと言う)とで通信をしながら、上位プロコンから与えられる搬送命令をAGVに割り付けることによって各AGVに走行ルートデータを設定し、あらかじめ設定した走行路上を無人で走行することにより、複数のAGVスキッド(物を蓄えておくバッファのようなもの)間で物を搬送するようになっている。
このとき、複数の光空間伝送装置(OCD)がAGVの走行ルートに沿って設置されており、このOCDを介して、AGVと上位プロコン本体との間で通信が行われる。これにより、上述したように上位プロコンからの搬送命令を各AGVに割り付けることができるとともに、どのAGVによりどういう物をどこへ搬送しているのかが上位プロコンで把握可能なようになっている。
上述のようなAGVを用いた搬送システムにおいては、材料や製品を各AGVスキッド間で搬送する際に、複数個あるAGVのうちどのAGVを使って搬送させるか、つまり、上位プロコンから出力される1つ以上の搬送命令をどのAGVに割り付けるかを決める必要がある。そして、この決定方式に関して従来は、搬送が終わるなどして空車となったAGVのうち、現在の位置から搬送命令中に示されている荷受け位置までの距離が短い順に割り付けを行うようにしていた(特許文献1を参照)。
特開平11−327644号公報
ところで、上述したような搬送システムでは、例えば、AGVの走行路の状態によっては、荷受け位置までの距離は近くても、荷受け位置までの走行時間が長くなる場合がある。しかしながら、上述した従来の手法では、このような場合であっても、荷受け位置までの距離が近いAGVに搬送命令を割り付けてしまう。すなわち、上述した従来の技術では、荷受け位置までの距離は近いが必ずしも荷受け位置までの走行時間がより短くなるAGVに搬送命令の割り付けが行われるとは限らないという問題があった。
一般にAGVが走行する走行路は、設備コストや工場内の物理的スペースの問題などから単線で設計され、双方向にAGVが走行することが多い。このため、複数のAGVが走行中に衝突(干渉)を起こすことがある。AGVが干渉を起こすと、停止したり退避走行や逆走をしたりする必要があるので、結果として長い時間がかかってしまうことになる。
また、このような干渉が起こらなくても、走行路の状態(例えば、走行路が直線であるか曲線であるかによって走行速度は異なる)やその他の要因により、他のAGVより距離が短くても走行時間が上記他のAGVより短くならないことがあった。
本発明は、このような問題を解決するために成されたものであり、搬送物を目的地まで搬送するのに適したAGVなどの搬送車を自動的に割り付けることを第1の目的とする。
また、このような搬送命令の割り付けにより、搬送車の走行時間を短くしたり、搬送物が運び出されるまでの搬送待ち時間を短くしたり、搬送車の空車走行時間と搬送待ち時間両者のトレードオフとを最適に調整したりすることができるようにすることを第2の目的とする。
本発明の配車計画作成装置は、搬送プロセスをペトリネットモデルで表し、上記ペトリネットモデルから搬送命令の搬送車に対する割り付けを決定する配車計画作成装置であって、上記搬送プロセスのペトリネットモデルとして、上記搬送車の走行路をプレースと移動操作端とで表すとともに、搬送物及び搬送車をトークンで表したペトリネットモデルを構築するモデル構築手段と、上記モデル構築手段により構築されたペトリネットモデルの状態方程式を求めるとともに、上記求めた状態方程式と、設定した評価行列及び目標状態量によって表される評価関数とから、線形二次制御を利用して、該評価関数を最小にするフィードバックゲイン行列を求めるゲイン行列算出手段と、上記搬送プロセスにおけるトークンの仕掛状態を表す状態ベクトルを取得する状態ベクトル入力手段と、上記ゲイン行列算出手段により求められたフィードバックゲイン行列と、上記状態ベクトル入力手段により取得された仕掛状態を表す状態ベクトルと、上記搬送車の状態及び与えられる搬送命令に応じて設定される目標状態量とを用いて、上記搬送物及び搬送車の移動操作端に対する操作ベクトルを求める操作ベクトル算出手段と、上記操作ベクトル算出手段により求められた操作ベクトルに基づいて、各移動操作端に対して、上記操作ベクトルの中の正値で大きい操作量が得られた順に各搬送物及び各搬送車を移動可能な数だけ移動させる操作を行うことにより、その操作後の状態ベクトルを求め、求めた操作後の状態ベクトルを用いて、上記各搬送車に対して各搬送物を割付ける配車問題の解を求める制御手段とを備え、上記制御手段は、上記求めた操作後の状態ベクトルを、上記搬送プロセスにおけるトークンの仕掛状態を表す新たな状態ベクトルとして上記状態ベクトル入力手段にフィードバックさせることを特徴とする。
また、本発明の他の特徴とするところは、上記モデル構築手段は、上記搬送車が作業を行う場所であるスキッド用のペトリネットモデルモジュールと、上記搬送車が通信を行う場所である中継用ペトリネットモデルモジュールとを組み合わせてペトリネットモデルを構築することにある。
また、本発明のその他の特徴とするところは、上記モデル構築手段によって上記ペトリネットモデルを上記搬送車ごとに構築し、上記搬送命令が割り付け済みの搬送車については個々にペトリネットモデルを用い、上記搬送命令が未割り付けの搬送車については1つのペトリネットモデルをまとめて用いるようにし、上記搬送命令を上記未割り付けの搬送車に対して割り付けるようにしたことにある。
また、本発明のその他の特徴とするところは、上記制御手段は、上記操作ベクトル算出手段によって上記搬送車ごとに算出された操作ベクトルを統合した操作ベクトルに基づいて、各移動操作端に対して、上記統合した操作ベクトルの中の正値で大きい操作量が得られた順に各搬送物及び搬送車を移動可能な数だけ移動させるようにする操作を行うことにある。
また、本発明のその他の特徴とするところは、上記搬送車と上記搬送物の状態遷移を上記移動操作端の発火に応じて記憶し、上記ペトリネットモデルの搬送物及び搬送車のトークンの属性として与える状態管理手段を備えることにある。
また、本発明のその他の特徴とするところは、上記各搬送車の位置及び作業状態と、上記各搬送車に割り付いた各搬送物の搬送元及び搬送先とにより定義されるコスト関数を設定するコスト関数設定手段と、上記目標状態量を、上記コスト関数の係数比の関数として変更する目標値変更手段と、上記コスト関数の値ができるだけ小さくなるように、上記各搬送車に対して各搬送物を割付ける配車問題の解を、組み合わせ最適化手法を用いて複数求める配車組合わせ計算手段と、上記制御手段より得られた配車問題の解と、上記配車組み合わせ計算手段により得られた配車問題の解とに対して、各々シミュレーションを行い、上記コスト関数の値を計算するシミュレーション手段と、上記シミュレーション手段で計算された全てのコスト関数の値を比較し、最も小さい値に対応した配車問題の解を出力するコスト関数比較手段とを備え、上記操作ベクトル算出手段は、上記ゲイン行列算出手段により求められたフィードバックゲイン行列と、上記状態ベクトル入力手段により取得された仕掛状態を表す状態ベクトルと、上記目標値変更手段により変更された目標状態量とを用いて、上記搬送物及び搬送車の移動操作端に対する操作ベクトルを求めることにある。
また、本発明のその他の特徴とするところは、上記コスト関数設定手段は、各搬送車の空車走行時間の単調増加関数と各搬送物の搬送待ち時間の単調増加関数との線型和をコスト関数として用いることにある。
また、本発明のその他の特徴とするところは、上記コスト関数設定手段は、各搬送車の空車走行時間の単調増加関数と各搬送物の搬送待ち時間の単調増加関数と、特定のゾーン付近に搬送車が集中することによって値が大きくなる関数との線型和をコスト関数として用いることにある。
また、本発明のその他の特徴とするところは、上記配車組合わせ計算手段は、上記各搬送車のバッテリ残量が指定された値を下回らないように、上記各搬送車が最寄りのバッテリ場に到着するまでに走行する時間及び上記最寄りのバッテリ場における上記各搬送車の充電時間を加味して、上記配車問題の解を求めることにある。
また、本発明のその他の特徴とするところは、上記配車組合わせ計算手段は、上記搬送車の走行路を複数のエリアに分割して、そのエリアで空車と荷卸し中の搬送車とが、指定された台数以上になった場合には、上記指定された台数以下になるよう上記搬送車を別エリアに退避させるように、上記配車問題の解を求めることにある。
本発明の配車計画作成方法は、搬送プロセスをペトリネットモデルで表し、上記ペトリネットモデルから搬送命令の搬送車に対する割り付けを決定する配車計画作成方法であって、上記搬送プロセスのペトリネットモデルとして、上記搬送車の走行路をプレースと移動操作端とで表すとともに、搬送物及び搬送車をトークンで表したペトリネットモデルを構築するモデル構築ステップと、上記モデル構築ステップにより構築されたペトリネットモデルの状態方程式を求めるとともに、上記求めた状態方程式と、設定した評価行列及び目標状態量によって表される評価関数とから、線形二次制御を利用して、該評価関数を最小にするフィードバックゲイン行列を求めるゲイン行列算出ステップと、上記搬送プロセスにおけるトークンの仕掛状態を表す状態ベクトルを取得する状態ベクトル入力ステップと、上記ゲイン行列算出ステップにより求められたフィードバックゲイン行列と、上記状態ベクトル入力ステップにより取得された仕掛状態を表す状態ベクトルと、上記搬送車の状態及び与えられる搬送命令に応じて設定される目標状態量とを用いて、上記搬送物及び搬送車の移動操作端に対する操作ベクトルを求める操作ベクトル算出ステップと、上記操作ベクトル算出ステップにより求められた操作ベクトルに基づいて、各移動操作端に対して、上記操作ベクトルの中の正値で大きい操作量が得られた順に各搬送物及び各搬送車を移動可能な数だけ移動させる操作を行うことにより、その操作後の状態ベクトルを求め、求めた操作後の状態ベクトルを用いて、上記各搬送車に対して各搬送物を割付ける配車問題の解を求める制御ステップとを備え、上記状態ベクトル入力ステップは、上記制御ステップにより求められた上記操作後の状態ベクトルを、上記搬送プロセスにおけるトークンの仕掛状態を表す新たな状態ベクトルとして取得することを特徴とする。
本発明のコンピュータプログラムは、搬送プロセスをペトリネットモデルで表し、上記ペトリネットモデルから搬送命令の搬送車に対する割り付けを決定することをコンピュータに実行させるためのコンピュータプログラムであって、上記搬送プロセスのペトリネットモデルとして、上記搬送車の走行路をプレースと移動操作端とで表すとともに、搬送物及び搬送車をトークンで表したペトリネットモデルを構築するモデル構築ステップと、上記モデル構築ステップにより構築されたペトリネットモデルの状態方程式を求めるとともに、上記求めた状態方程式と、設定した評価行列及び目標状態量によって表される評価関数とから、線形二次制御を利用して、該評価関数を最小にするフィードバックゲイン行列を求めるゲイン行列算出ステップと、上記搬送プロセスにおけるトークンの仕掛状態を表す状態ベクトルを取得する状態ベクトル入力ステップと、上記ゲイン行列算出ステップにより求められたフィードバックゲイン行列と、上記状態ベクトル入力ステップにより取得された仕掛状態を表す状態ベクトルと、上記搬送車の状態及び与えられる搬送命令に応じて設定される目標状態量とを用いて、上記搬送物及び搬送車の移動操作端に対する操作ベクトルを求める操作ベクトル算出ステップと、上記操作ベクトル算出ステップにより求められた操作ベクトルに基づいて、各移動操作端に対して、上記操作ベクトルの中の正値で大きい操作量が得られた順に各搬送物及び各搬送車を移動可能な数だけ移動させる操作を行うことにより、その操作後の状態ベクトルを求め、求めた操作後の状態ベクトルを用いて、上記各搬送車に対して各搬送物を割付ける配車問題の解を求める制御ステップとをコンピュータに実行させ、上記状態ベクトル入力ステップは、上記制御ステップにより求められた上記操作後の状態ベクトルを、上記搬送プロセスにおけるトークンの仕掛状態を表す新たな状態ベクトルとして取得することを特徴とする。
本発明のコンピュータ読み取り可能な記録媒体は、上記記載のコンピュータプログラムを記録したことを特徴とする。
本発明によれば、搬送プロセスをペトリネットモデルで表し、ペトリネットモデルから得られる状態方程式と、設定した評価行列及び目標状態量によって表される評価関数に応じて、各搬送車へ搬送命令を割り付けるようにしたので、距離的に近い搬送車に搬送命令を割り付けていた従来例に対して、搬送車の走行時間を短くすることができるとともに、搬送車間の干渉も格段に少なくすることができ、干渉によって搬送車の走行時間が長くなることを防止することができる。
また、本発明の他の特徴によれば、シミュレーションを行って、搬送車の位置及び作業状態と、搬送車に割り付いた搬送物の搬送元及び搬送先とにより定義されるコスト関数の値が小さくなる解を求め、その解に基づいて搬送車の割り付けを行うようにしたので、搬送車の空車走行時間と搬送物の搬送待ち時間とのトレードオフを考慮した割り付けを行うことができる。
以下、本発明の実施形態を図面に基づいて説明する。
(配車計画作成装置の概要)
図1は、本実施形態の配車計画作成装置の概略構成の一例を説明するブロック図である。
図1において、配車計画作成装置は、配車シミュレータ1aを備えたシミュレーション制御部1、及び最適化計算装置2等によって構成されている。
本実施形態では、配車シミュレータ1aは、無人搬送台車(AGV)の状態と、無人搬送台車(AGV)を配車する際の制約とを表現した搬送プロセスを模擬したシミュレータ、いわばAGVを用いて稼動する工場を模擬した大型のシミュレータである。より具体的に説明すると、例えば、配車シミュレータ1aは、ペトリネットモデルを用いて構築され、事象(シミュレータ1aのイベント)毎に物を動かす離散系として構成されている。
また、配車計画作成装置には、配車シミュレータ1aを数学的に表現した数式モデル3が構成されている。本実施形態においては、搬送プロセスにおけるAGVの状態と、AGVを配車する際の制約との中から、作成する配車計画に関連する要素を取り込んで、以下の式(イ)に示すような状態方程式を用いて、数式モデル3が作成されている。なお、数式モデル3は、半導体記憶装置等により構成される数式モデル保持手段(図示せず)によって保持されるようにしてもよい。
M(k+1)=M(k)+B・u(k) ・・・(イ)
すなわち、離散化したある時刻kにおいて各プレースに存在するトークンの数を示す状態ベクトル、言い換えれば状態量をM(k)で表し、各トランジションの発火の有無を"1"及び"0"で表現した操作ベクトルをu(k)で表すと、次の時刻k+1における状態ベクトルM(k+1)は、接続行列Bを用いて上記式(イ)で表すことができる。ここで、接続行列Bとは、u(k)のj番目に相当するトランジションが発火した際に、M(k)のi番目に相当するプレースに存在するトークンの増減数を(i,j)要素とする整数行列である。
最適化計算装置2では、上記数式モデル3に対して最適化計算処理を行い、フィードバックゲインKを算出するようにしている。最適化計算装置2によって行われる最適化計算は、線形二次(LQ)制御を利用するものであり、以下の式(ロ)に示すような評価関数Sを用いて行われる。
S=Σ[M´(k)QM(k)+u´(k)Ru(k)] ・・・(ロ)
評価関数Sにおいて、Q、Rは制御目的にあわせて設定された適当な行列であり、M´(k),u´(k)は、それぞれ状態ベクトルM(k)、操作ベクトルu(k)の転置ベクトルである。Σはk=0〜∞までの{ }内の値の合計を表している。そして、この評価関数Sが最小となるように制御することを考えれば、
u(k)=−K・M(k) ・・・(ハ)
とした状態フィードバック制御を行うフィードバックゲインKを最適制御理論により求めることができる。
シミュレーション制御部1の最適制御方策部1bでは、最適化計算装置2で算出されるフィードバックゲインKと、AGVの状態(状態ベクトルM)とを用いて、配車指示(操作ベクトルu)を算出して配車シミュレータ1に与えて、シミュレーションを進め、AGVの新たな状態を得て、この新たなAGVの状態をもとに新たな配車指示を算出するという処理を繰り返す。そして、このようにして得られたシミュレーション結果4から、搬送プロセスにおける配車スケジュールを作成する。
(第1の実施形態)
図2は、本発明の第1の実施形態を示し、無人搬送台車(AGV)の配車計画作成装置を実施したスケジューリングシステムの全体構成の一例を示すブロック図である。なお、以下の実施形態では、製鉄プロセスにおいて複数のAGVスキッド間でコイルを搬送する場合を例にとって説明する。
図2に示すように、本実施形態のスケジューリングシステムは、上位プロコン100と、AGVの配車計画作成装置としての機能を有するパソコン101とを具備して構成されている。上位プロコン100は、所定の搬送命令、AGV状態やコイル状態及びAGVの現在位置などを表す情報を配車計画作成装置(パソコン)101に供給する。搬送命令としては、搬送すべきコイルを識別するためのコイル番号、コイルをどこからどこへ搬送するかを示すFrom/Toなどの情報が含まれる。
また、AGVの状態や現在位置は、実プロセスにおいてはAGVの走行ルートに沿って設置されている複数の光空間伝送装置(OCD)を介してAGVと上位プロコン100とが通信を行うことにより上位プロコン100で把握されるが、配車計画をあらかじめ作成する際には、離散時間毎のシミュレーションの結果より把握される。すなわち、現在どのAGVがどのような作業をしているのかとか、各AGVが現在存在する位置がどこであるかといったことが、上位プロコン100で把握される。
本実施形態で扱うAGVの状態とは、空車、要求走行、荷受け、搬送、荷卸し、充電走行、充電、退避走行のようなAGVの作業状態を示すものである。「空車」とは、コイルを積んでおらず、かつ搬送命令も割り付けられていない状態のAGVを言う。すなわち、何ら作業を行っておらず、しかも行うべき作業が決められてもいない状態を言う。例えばコイルの搬送完了によってAGVが空車となったときは、基本的にはそのAGVはその搬送完了位置に居続ける。
また「要求走行」とは、実際にコイルを搬送中ではないが、空車であったAGVが搬送命令を受信し、コイルの荷受け位置(搬送命令中のFrom位置)に向かって走行している状態を言う。「荷受け」とは、要求走行状態のAGVがその後荷受け位置に到着して、コイルをAGVスキッドからAGVに移載している状態を言う。「搬送」とは、荷受けが完了して実際にコイルを積んで荷卸し位置(搬送命令中のTo位置)に向かって搬送している状態を言う。
また「荷卸し」とは、AGVが荷卸し位置に到着して、コイルをAGVからAGVスキッドへと降ろしている状態を言う。この荷卸しが完了すると、AGVは再び「空車」の状態に戻る。「充電走行」とは、AGVのバッテリ交換のために、充電場に向かって走っている状態を言い、「充電」とは実際に充電を行っている状態を言う。「退避走行」とは、AGV間の干渉を避けるために、あらかじめ規則等によって決められた退避位置に向かって走行している状態を言う。この退避走行の指令は、空車のAGVに対して行われる。
図2に示したように、上位プロコン100は、以上のような状態遷移中にその時々の状態を表すデータを配車計画作成装置101に送信しており、これが状態管理手段205により管理される。状態管理手段205は、このような空車、要求走行、搬送のような作業状態だけでなく、各AGVの現在位置も記憶している。本実施形態の配車計画作成装置は、状態管理手段205にてどのAGVが空車になったかの情報を得て、その空車AGVに対して搬送命令を割り付ける。
具体的に、配車計画作成装置101は、図2に示すように、入力手段301と、ゲイン行列算出手段302と、記憶手段201と、操作ベクトル算出手段202と、状態ベクトル入力手段204と、状態管理手段205と、搬送命令管理手段206と、処理計画出力手段207と、モデル構築手段212と、制御手段213とを具備しており、以下に述べるような本実施形態によるAGVの配車計画作成方法を実施する。
入力手段301は、AGVによる搬送プロセスを構成する各AGVスキッドやOCD、各AGVスキッド間の走行路やその距離、ペトリネットモデルに関する所定の評価関数を表す評価行列Q,R、更には各AGVの目標状態(初期状態に対して達成したい状態)を表す目標状態量Mrの各情報をAGVごとに入力するためのものであり、例えばキーボード等により構成される。なお、上記評価行列Q,Rは、
Q=QT≧0、R=RT>0
を満たすものとする(行列Q,Rの肩のTは転置行列であることを示す)。
モデル構築手段212は、入力手段301により入力された情報に従って、AGVの走行路をプレースとトランジションとで表すとともに、AGVとコイルとをトークンで表したペトリネットモデルをAGVごとに構築する。このとき、そのペトリネットモデルの状態方程式を記述する接続行列Bを求める。この接続行列Bにより、トークン(AGV及びコイル)の移動操作端であるトランジションの発火によるトークンの移動が数式で表される。
ここで、離散化したある時間kにおいて各プレースに存在するトークンの数を示す状態ベクトルすなわち状態量をM(k)で表し、各トランジション発火の有無を"1"及び"0"で表現した操作ベクトルをu(k)で表すとすると、次の時間k+1における状態ベクトルM(k+1)は、以下の式(1)に示す状態方程式で表すことができる。
M(k+1)=M(k)+B・u(k) ・・・(1)
図3に、ペトリネットモデルの一例を示す。図3(a)は現実の搬送プロセスの簡単な例を示し、図3(b)はこの搬送プロセスに従って作成したペトリネットモデルの例を示している。すなわち、走行路中の各AGVスキッドやOCDのある位置をゾーンとし、各ゾーン内のAGVスキッドやOCDをプレースで表すとともに、各ゾーンを矢印で接続して走行路を表す。各ゾーン内はモジュール単位のペトリネットモデルになっており(詳しくは後述する)、矢印はペトリネットモデルのアークを示している。なお、OCDは、各AGVスキッドの繋がりを表すノードである。
ゲイン行列算出手段302は、入力手段301により入力された評価行列Q,R及び目標状態量Mrと、モデル構築手段212により求められた接続行列Bとを用いて、所定の評価関数の値を最小にするようなペトリネットモデルのフィードバックゲイン行列Kを求める。このフィードバックゲイン行列Kの計算について、以下に詳しく述べる。
上述したように、ペトリネットモデルの状態方程式は上記式(1)で表される。さらに、本実施形態で導入している目標状態量Mrを考慮すると、上記式(1)は、以下の式(2)のように書ける。
M(k+1)−Mr=(M(k)−Mr)+B・u(k) ・・・(2)
ここで、M(k)−Mrを新たな状態x(k)と見ることができ、式(2)は、次の式(3)のように書ける。
x(k+1)=x(k)+B・u(k) ・・・(3)
なお、上記式(1)の状態方程式は、各プレースの状態の目標量が0の場合に相当するものである。これに対して、上記式(2)あるいは上記式(3)の状態方程式のように、目標状態量Mrを導入することで、各プレースの状態の目標量を自由に設定することができる。詳しくは後述するが、本実施形態では、入力手段301によって入力する初期状態に対する目標状態量Mr以外は、シミュレーションの過程で刻々と遷移するAGVの状態(上述した空車、要求走行、搬送、…などの状態)に応じて目標状態量Mrの設定内容を変化させる。
本実施形態においては、上記式(2)あるいは上記式(3)上の移動操作端(トランジション)と、実プロセスの移動操作端とは一致している。すなわち、操作ベクトルu(k)の信号は、実プロセスの操作信号である。これにより、各プレースに存在するトークンの数から目標状態量を引いた値を並べた状態ベクトルをxで表し、各トランジションの発火の有無を"1"及び"0"で表した操作ベクトルをuとすれば、接続行列Bを用いて上記式(3)のように、ベクトルx(k)からベクトルx(k+1)への状態変化を表現することができる。
このように、ペトリネットモデルを用いて接続行列BでAGVの走行路を表すことにより、離散時間kが1進むたびに複数の離散きざみ時間を要するプレースをトークンが移動していくことを表現でき、その結果、離散時間系の最適制御理論を適用できる形にすることができる。
このように本実施形態では、ペトリネットモデルを離散時間系の最適制御理論を適用できる形にすることができるので、制御の目的にあわせて適当な評価行列Q,Rを設定して、下記の式(5)に示す評価関数Jが最小になるように操作ベクトルu(k)を制御することを考えれば、
u(k) =−K(M(k)−Mr)=−K・x(k) ・・・(4)
とした状態フィードバック制御を行うフィードバックゲイン行列Kを最適制御理論より求めることができる。
Figure 0004377792
上述の評価行列Q,Rは、それぞれプレース数の次元及びトランジション数の次元を有する正方行列で、それぞれ制御の過渡特性とトランジション操作の入力エネルギーとを評価関数として表すためのものであり、制御目的に応じて適宜設定すればよい。例えば、過渡特性を重視する場合は、大きな数値をもつ評価行列Qを設定すればよい。また、操作に要する入力エネルギーを小さく抑えたい場合は、大きな数値をもつ評価行列Rを設定すればよい。
このようにして接続行列Bと所定の評価関数Jを定義する評価行列Q,Rとが定まれば、離散時間系における最適制御理論によりフィードバックゲイン行列Kを求めることができる。なお、フィードバックゲイン行列Kの計算法としては、例えば(安藤和昭、他編著「数値解析手法による制御系設計」計測自動制御学会発行、pp.126-130、平成5年初版第2刷)に記載された幾つかの方法がある。
このようにしてゲイン行列算出手段302により求められたフィードバックゲイン行列Kは、モデル構築手段212により求められた接続行列Bと共に、操作ベクトル算出手段202及び制御手段213において実際に制御を行う際に使用するため、記憶手段201に記憶されて保存される。
次いで、状態管理手段205は、ペトリネットモデルのトークンとして表されるAGVやコイルの状態を上位プロコン100から受け取り、記憶する。AGVの状態とは、上述した空車(Empty)、要求走行(Request)、荷受け(Load)、搬送(Carry)、荷卸し(Unload)、充電走行(Battery)、充電(Charge)、退避走行(Escape)の各状態を言う。また、コイルの状態とは、未割り付け(Unassigned)、割り付け済(Assigned)、荷受け(Load)、搬送(Carry)、荷卸し(Unload)、搬送完了(Complete)の各状態を言う。本実施形態では、これらの状態に応じてAGV及びコイルのトークンに属性(カラー)を持たせる。
搬送命令管理手段206は、上位プロコン100から与えられる1つ以上の搬送命令を管理し、この搬送命令と、状態管理手段205によって管理されているAGV状態とに基づいて、AGV及びコイルの各トークンを生成し、それらに属性を設定する。また、与えられたAGV状態に応じて目標状態量Mrを設定する。目標状態量Mrの設定の仕方は、例えば所定のルールによってあらかじめ決められている。
一例を挙げると、AGV状態が要求走行のとき(属性がRequestのとき)は、その要求走行の目的地、すなわちその搬送命令中のFrom位置(荷受け位置)に目標値を設定する。また、AGV状態が搬送のとき(属性がCarryのときは、その搬送の目的地、すなわちその搬送命令中のTo位置(荷卸し位置)に目標値を設定する。
操作ベクトル算出手段202は、ゲイン行列算出手段302により求められて記憶手段201に記憶されたフィードバックゲイン行列Kと、状態ベクトル入力手段204により入力される仮想的な搬送プロセスの現時点における各ゾーンでのトークンの仕掛状態を表す状態ベクトルM(k)と、搬送命令管理手段206よりAGVごとに供給される初期状態以降の目標状態量Mrとから、トークンの移動操作端(トランジション)に対する発火の有無を表す操作ベクトルu(k)を求める。
制御手段213は、操作ベクトル算出手段202により求められた操作ベクトルu(k)に基づいて、操作量(操作ベクトルu(k)の要素)の正値で大きい順に発火可能性を調べ、仮想的な搬送プロセス内の各移動操作端に対して発火可能な操作端を全て発火させて、移動可能な数だけ移動操作を順次行うという方法を用いて、全ての搬送命令が何らかのAGVに割り付くまで搬送プロセスのシミュレーションを実行して、配車問題の解Sol(0)を求める。
すなわち、上記計算された操作ベクトルu(k)に基づいて、各トランジションに対して、正値で大きい操作量の順に発火可能性を調べ、移動可能な数のトークンに対して操作量を改めて"1"とおき、その他のトークンに対しては操作量を"0"とおいて最終的な操作ベクトルu(k)を求める。これにより、操作量が"1"であるトランジションを発火させれば、式(1)に示した値{M(k)+B・u(k)}として状態ベクトルM(k+1)を得ることが可能となる。
このとき、ある1つの時刻単位のシミュレーションを行ったら、そのとき記憶手段201より入力される接続行列Bと、搬送命令管理手段206より入力される目標状態量Mr等と、状態ベクトル入力手段204より入力される現時点での状態ベクトルM(k)とを用いて、上記状態方程式から移動操作後の状態ベクトルM(k+1)を求め、それを次の時刻単位におけるシミュレーションに利用するために状態ベクトル入力手段204にフィードバックする。そして、1つの移動操作を仮想的に行ったら直ぐに次の移動操作を行うというようにしてシミュレーションを順次行う。
処理計画出力手段207は、以上のようにして制御手段213により行われたシミュレーションの結果を上位プロコン100にフィードバックする。その際処理計画出力手段207は、どのトークンがいつどこからどこへ移動したかという記録ファイルを解析し、どのAGVにどのように搬送命令が割り付けられ、どのルートを通って搬送したかというデータを上位プロコン100のフォーマットに従って生成し、出力する。上位プロコン100では、図示しないディスプレイやプリンタなどの出力装置にそのシミュレーション結果を出力する。
ところで、上記した図3(b)のペトリネットモデルは、AGVが1台の場合について示したものである。AGVが複数台ある場合は、この図3(b)に示すようなモデルを1つのモジュールとして、AGVの台数分だけ同様のモジュールを作成する。このとき、搬送中及び搬送命令割り付け確定済のAGVは、走行先の目的地が1台ごとに決まっている。一方、空車(退避走行中のものを含む)のAGVの目的地は、新たな搬送命令がどのように割り付くかにより異なる。
そこで、搬送中及び搬送命令割り付け確定済のAGVについては、図4の上段(AGV1、AGV2、AGV3、…)のように1台ごとに区別し、空車及び退避走行中のAGVについては図4の下段(AGV0)のように区別しないこととする。つまり、図4の上段の各モジュール内にAGVはそれぞれ1台ずつしか入らないが、下段のモジュールには空車のAGVが複数台入り得る。新たな搬送命令の割り付けは、この空車及び退避走行中のAGVに対して行われる。
各モジュールにおいて、対応するゾーン(AGVスキッドやOCDのある位置)は、物理的には同一の場所を表し、一般に容量が制限されている。例えば、AGV1のスキッドAとAGV2のスキッドAは、物理的には同一の場所を表し、AGV1がスキッドAにあるとき、スキッドAの容量が1ならば、他のAGVはスキッドAには進入できない。
このような制約をソフトウェア上で実現するためには、AGVの状態、コイルの状態に加え、容量に関する状態として、各ゾーンのトークンの個数を状態管理手段205により管理させれば良い。すなわち、1つの時刻単位のシミュレーションを進めるたびに、各ゾーンの容量(入ることが許されるトークン数の上限値)と、現在の各ゾーンのトークン数とを比較し、各ゾーンの容量を越えるような発火を禁止する。
なお、図4では各AGVのモジュールを明確に分けた図を示しているが、各モジュールを分けることは本質的ではなく、数式モデル上(ソフトウェア上)で各AGVを区別することができれば良い。
このようにペトリネットモデルをAGVごとに分けて考えることにより、搬送命令管理手段206によってAGV状態に応じて設定される目標状態量MrもAGVごとに設定される。そのため、上記式(5)に示した評価関数JもAGVごとに異なることとなる。例えば、4台あるAGVのうち、AGV1は搬送中、AGV2は要求走行中、AGV3とAGV4が空車であるとすると、それぞれの評価関数J1、J2、J3,4(空車や退避走行の場合はひとまとめにして考える)は、以下の式(6)のようになる。
Figure 0004377792
この式(6)において、Mr1はAGV1についての目標状態量であり、この場合はコイルの搬送先、すなわち割り付け済搬送命令中のTo位置を目標値として設定したものである。また、Mr2はAGV2についての目標状態量であり、この場合はコイルの搬送元、すなわち割り付け済搬送命令中のFrom位置を目標値として設定したものである。また、Mr3,4はAGV3、AGV4についての目標状態量であり、この場合は未割り付けの搬送命令の搬送元(From位置)を目標値として設定したものである。
目標値の設定の仕方は、例えば、目標状態量Mrの行列中で目的地に該当する要素の値を"1"とし、他の要素の値を"0"とする。また、目標値は"1"以外の値、例えばそれ以上の整数値あるいは小数値に設定するようにしても良く、他の要素の値も必ずしも"0"でなくても良い。要は、目的地の要素の値が他の要素の値よりも大きくなるように設定すれば良い。
これらAGVごとの評価関数J1、J2、J3,4を最小化する操作ベクトルu(k)は、AGVごとに上記式(4)により求められる。つまり、この場合は3つの操作ベクトルu(k) 1、u(k)2、u(k)3,4が求められる。操作ベクトル算出手段202は、各操作ベクトルu(k) 1、u(k)2、u(k)3,4を統合したベクトルu(k)(=〔u(k) 1 u(k)2 u(k)3,4〕)を更に生成する。
制御手段213は、操作ベクトル算出手段202により求められた上記統合した操作ベクトルu(k)に基づいて、操作量の正値で大きい順に発火可能性を調べ、仮想的な製造プロセス内の各移動操作端に対して発火可能な操作端を全て発火させて、移動可能な数だけ移動操作を順次行うという方法を用いて、所定期間の搬送プロセスのシミュレーションを実行する。
なお、上述したモデル構築手段212、ゲイン行列算出手段302、記憶手段201、操作ベクトル算出手段202、状態ベクトル入力手段204、状態管理手段205、搬送命令管理手段206、処理計画出力手段207、及び制御手段213は、例えば、CPU(中央処理装置)、RAM(ランダムアクセスメモリ)、ROM(リードオンリメモリ)などからなるマイクロコンピュータによって構成されており、CPUの作業プログラムは、ROMあるいはRAMに記憶されている。
また、ゲイン行列算出手段302が、図1に示した最適化計算装置2に相当し、モデル構築手段212から出力される接続行列Bを上記式(1)に代入することにより得られる数式モデル(例えば式(2))が、図1に示した数式モデル3に相当する。また、入力手段301のユーザによる操作に基づき入力される評価行列Q、R及び目標状態量Mrに基づいて得られる評価関数(式(5)の評価関数J)が、図1に示した評価関数Sに相当する。
さらに、シミュレーション制御部200が、図1に示したシミュレーション制御部1に相当する。特に、制御手段213及び状態ベクトル入力手段204が、図1に示した配車シミュレータ1aに相当し、操作ベクトル算出手段202が、図1に示した最適制御方策部1bに相当する。
以上に、AGV割り付け問題をペトリネットでモデリングする手法、ペトリネットモデルを数式変換する手法、AGV状態に応じて目標状態量Mrを設定した評価関数により搬送目的を達成できる手法、評価関数を最小化する手法について原理的なことを述べた。
次に、このような原理に基づいて実際に実施するための具体的なペトリネットモデル設定について説明する。
図5及び図6は、図3(b)に示した各ゾーン内のペトリネットモデルを詳細に示した図であり、図5は各AGVスキッド用ゾーンのペトリネットモデルを示し、図6はOCD用ゾーンのペトリネットモデルを示している。なお、図5及び図6において、白丸印はプレース、棒印はトランジション、白丸内の黒丸印はトークンを表しており、トークンはトランジションの発火によってプレース間を移動する。
各モジュール中"AGV"と書かれたプレースはAGV用のプレースであり、AGVスキッド用及びOCD用のモジュール内にそれぞれ1個ずつ備えられている。また、"From"及び"To"と書かれたプレースはコイル用のプレースであり、AGVスキッド用のモジュール内にそれぞれ1個ずつ備えられている。これらのプレースは容量が1個に制限されている。さらに、"Common"、"Complete"、"Request"と書かれたプレースは各モジュールに共通のプレースであり、全体でそれぞれ1つのみ備えられる。この共通プレースには複数のトークンを設定することが可能である。
また、"Load"、"Unload"、"Allocate"、"Reallocate"、"Move"と書かれたものはそれぞれトランジションである。ここで、トランジション"Load"は、プレース"AGV"とプレース"From"にトークンがあるとき発火可能である。また、トランジション"Unload"は、プレース"AGV"にトークンがあるとき発火可能である。また、トランジション"Move"は、プレース"AGV"にトークンがあるとき発火可能であり、AGVの移動を制御する。トランジション"Allocate"及び"Reallocate"は、任意に発火可能である。
図7は、図3(b)に示したペトリネットモデルを図5及び図6の具体例に従って書き直したものである。この図7に示したように、プレース"AGV"と"From"と"To"とに通し番号(カッコ内の数字)を付け、トランジション"Load"と"Unload"と"Move"とに通し番号(丸内の数字)を付けることにより、それぞれを区別している。AGV及びコイルの各トークンは、状態以外に現在位置、割り付け済みのコイル及びAGVの組があるときはそれらのそれぞれに対応する番号などの属性を持っている。
また、図5〜図7に示したように、本実施形態においてトランジション"Move"は、モジュールの外部に出ていく方向に対してのみ設け、入ってくる方向には設けていない。AGVスキッド及びOCDの全てのモジュールについてこのように構成することにより、必要に応じて入出力の足の本数を変えて各モジュールを接続するだけで、全体のペトリネットモデルを簡単に作成することができる。したがって、設計変更も容易である。
図8は、上記のように構成した本実施形態による配車計画作成装置101のシミュレーション時の動作の一例を示すフローチャートである。以下、この図8のフローチャートに従って動作を説明する。
図8において、最初にステップS1では、上位プロコン100から搬送命令及びAGV状態の情報を受信する。次に、ステップS2で、上記受信した情報をもとに前処理を行う。この前処理では、AGV及びコイルの各トークンを生成してそれぞれに属性を設定し、AGVのトークンはプレース"Common"にセットし、コイルのトークンはプレース"Request"にセットする。
次に、ステップS3では、上述した最適制御理論に基づく各トランジションの発火制御を利用してAGV割り付け処理を行う。例えば、図9に示すようなAGV及びコイルのトークンがあるとする。本実施形態ではこれだけの情報を状態管理手段205や搬送命令管理手段206にて管理している。これらの情報に基づいて、コイルのプレース"Request"に置かれた各トークンは、その属性が示す搬送元のプレースに繋がっているトランジションが発火することにより、搬送元にコイルのトークンがセットされる。また、AGVのプレース"Common"に置かれた各トークンは、各AGVに繋がっているトランジションが発火することにより、各AGVの現在位置に各AGVのトークンが振り分けられる。この際、各AGV状態に応じて搬送元または搬送先のプレースに目標値が付けられる。
また、本実施形態では、AGV状態のうち、"Empty "と"Escape"を除く各状態は、走行の目的地が確定しているので、AGVのカラー(属性)として本来のAGV番号を与える(この例ではAGV1はカラー1、AGV2はカラー2)。また、"Empty"と"Escape"の状態は、搬送命令の割り付けが可能であることを示すカラー(例えば、カラー0)を与える。コイルの状態も同様の考え方に従い、割り付け確定済み("Unassigned"以外)の場合は割り付いているAGV番号のカラーを、未割り付けの場合は、未割り付けの番号(例えば、カラー0)を与える。
このようにしてカラー番号を与え、同じ番号同士のトークンが揃ったときに限りトランジション"Load"を発火できるようにすると、割り付いたコイル及びAGV同士、未割り付き同士の正しい割り付けを実現することができる。
以上の方法で各プレースにセットされたトークンと目標値とに基づいて状態ベクトルM(k)と目標状態量Mrとが計算できるので、上記式(4)により操作ベクトルu(k)が計算できる。この操作ベクトルu(k)によってトランジション発火の優先順位が与えられ、この操作ベクトルu(k)に基づき上述した方法に従って発火するトランジションを決定する。そして、実際にトランジションを発火すると、次のステップの状態M(k+1)が求まり、以下逐次発火するトランジションが決まる。
図10は、各トランジション発火とそれによる状態(属性)遷移の様子を示したものであり、図10(a)はトランジションの発火を示し、図10(b)は状態遷移を示している。図10において、要求走行中(Request)のAGVは、搬送元(From位置)に到着すると、トランジション"Load"が発火し、AGV状態が"Load"に変化する。
また、空車(Empty)または退避走行中(Escape)のAGVは、未割り付けを表すカラーが与えられるが、未割り付けのコイルのトークンをセットする際に搬送元に目標値を付けることにより、空車または退避走行中のAGVを搬送命令(コイル)に割り付けることができる。すなわち、未割り付け同士のAGV及びコイルは、トランジション"Load"が発火することによってAGV状態が"Load"に変化し、以下"Request"と同様の動作をする。
次に、トランジション"Reallocate"が発火し、AGV状態が"Carry "へと変化する。このとき、この"Carry "の属性を持ったAGVのトークンがプレース"Common"に移動し、搬送中のAGV及びコイルがセットされたときと同様の働きにより、トランジション"Allocate"の発火により目標値が搬送先にセットされ、搬送が開始される。搬送は、トランジション"Move"の発火によって行われるが、この発火によってAGV状態は変化しない。
搬送中のAGVが搬送先(To位置)に到着すると、トランジション"Unload"が発火し、AGV状態が"Unload"に変化する。これと同時に、"Unload"の属性を持つコイルのトークンも生成される。次に、トランジション"Reallocate"が発火し、次に搬送するコイルがあるときは"Request"に、ないときは"Empty"にAGV状態がセットされる。
このようなAGVの走行によって搬送先にコイルのトークンが移動すると、そのコイルのトークンはプレース"Complete"に移動する。そして、全てのコイルが搬送されたら、図8のステップS3におけるAGV割り付け処理を終了する。上述したように、このプレース"Complete"は全てのモジュールに共通に1個のみ設けられており、複数のトークンを設定可能なように構成している。したがって、このプレース"Complete"の中を見ると、どのコイルのトークンがどの順番で搬送されてきたのかが分かる。
そして、ステップS4で後処理を行う。この後処理では、最終結果として記憶されたトークンの移動を表すファイルから上位プロコン100に返すべきデータ(未割り付けコイルの割り付きAGV番号、AGV走行経路などのデータ)を抽出する。この際、未割付けコイルに搬送余裕があり、特に緊急に運ばなくても良い場合には、AGV同士の干渉を押さえるため、ペトリネットでシミュレーションした際のコイルの搬送時間が、AGVの干渉が無い場合の搬送時間と比べ、大きく異なっているときには、その未割付けコイルは上位プロコン100へは返さないようにしても良い。
最後に、ステップS5で、抽出したデータを上位プロコン100のフォーマットに変換して送信する。
以上詳しく説明したように、本実施形態によれば、AGVの走行路をプレースとトランジションとで表すとともに、コイル及びAGVをトークンで表したペトリネットモデルを構築する。そして、AGV状態と搬送命令とに応じて目標状態量Mrを可変に設定するようにし、この目標状態量Mrを考慮した状態方程式から上記コイル及びAGVのトランジションに対する操作ベクトルu(k)を求め、この操作ベクトルu(k)に基づいて各コイル及びAGVの移動操作を行うようにしたので、搬送命令のAGVに対する割り付け問題を、ペトリネットモデルを用いた離散時間系の最適制御理論を適用できる形にすることができる。
特に、搬送プロセスの規模が差ほど大きくない場合には、評価行列Q,Rの要素数も少ないので、フィードバックゲインKの再計算も時間が掛からないため、オンラインで評価行列Q,Rの調整が可能であり、AGVの走行時間を短くしたり、搬送物が運び出されるまでの搬送待ち時間を短くしたりすることができる。したがって、搬送プロセスの規模が差ほど大きくない場合には、全体の構成を簡単にしながら、調整員が望む性能を達成することができる。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。なお、以下の説明において、上述した第1の実施形態と同一の部分については、詳細な説明を省略する。
上述したように、第1の実施形態の配車計画作成装置では、配車性能を調整するためには、評価関数Q、Rの要素を変更し、フィードバックゲインを再計算する必要が有る。そして、搬送プロセスの規模が大きくなると、フィードバックゲインの計算に時間を要する。このため、このフィードバックゲインの計算をオフラインで行う必要が有る。このように、規模が大きくなると配車性能をオフラインで調整員が簡単に調整することは困難である。また、評価行列Q、Rが配車性能に与える影響も調整員に理解しがたいものになってしまう。
そこで、本実施形態では、第1の実施形態におけるこのような問題を解決し、AGVへの搬送命令の割り付けを効率よく行うことにより、AGVの走行時間を短くしたり、搬送物が運び出されるまでの搬送待ち時間を短くしたり、両者のトレードオフを最適に調整することができるようにしている。
図11は、本発明の第2の実施形態を示し、無人搬送台車(AGV)の配車計画作成装置を実施したスケジューリングシステムの全体構成の一例を示すブロック図である。
図11に示すように、本実施形態のスケジューリングシステムは、図2に示した第1の実施形態のスケジューリングシステム(配車計画作成装置101)に、シミュレーション手段203と、コスト関数設定手段208と、配車組合わせ計算手段209と、目標値変更手段210と、コスト関数比較手段211とを加えた構成である。
コスト関数設定手段208は、各AGVの現在位置及び現在状態と、各AGVに割り付いたコイルの搬送元及び搬送先とから定義されるコスト関数を設定する。例えば、コスト関数は、以下の式(7)のように、各AGVの空車走行時間の合計と、各コイルの搬送待ち時間の合計とをKa、Kbという係数で線型結合した式とする。
Figure 0004377792
上記式(7)の係数Ka、KbはAGVの配車性能を左右する調整係数である。本実施形態の配車計画作成装置では、上記式(7)のコストCの値が小さくなるAGVとコイルとの割付け結果が求められる。この際、調整計数Kaを大きくすれば、AGVの空車走行時間が小さくなるとともに、コイルを搬送するためのAGVのエネルギーコストが小さくなるため、単位時間当りの搬送個数は多くなるという長所が有る。ただし、空車走行が長く掛かるような遠くのコイルは搬送されにくくなり、搬送遅れを生じるという欠点も有る。一方、調整計数Kbを大きくすると、コイルの搬送待ち時間が小さくなるため、搬送遅れが生じにくくなるという長所もあるが、AGVのエネルギーコストは相対的に大きくなってしまい、長時間でみると、単位時間当りの搬送個数が少なくなってしまうという欠点もある。
配車組合わせ計算手段209は、状態管理手段205より各AGVの現在位置とAGV状態(空車、要求走行、荷受け、搬送、荷卸し、充電走行、充電、退避走行)とを入力するとともに、搬送命令管理手段206より各コイルの搬送元と搬送先とを入力し、コスト関数設定手段208によって設定された、式(7)のコスト関数の値が小さくなる配車問題の解(どのAGVでどのコイルをどの順番で搬送するか)を複数計算する。ここで、上記式(7)のコスト関数の計算の際には、計算時間を短くするため、AGV同士の干渉を含まない標準走行時間に基づき計算を行う。また、分枝限定法のような厳密手法を用いると組み合わせの数が多いため、実用的な時間で解くことが出来ない。そこで、タブサーチやGA、シミュレーティッドアニーリング等の組み合わせ最適化手法を用い、繰り返し回数や計算時間に上限を設け、その時間内に求められた上位L個の解(Sol(1)〜 Sol(L))を求める。タブサーチを用いて配車問題の解を求める方法を後述する。
最適制御による配車計算の際にも、上記式(7)のコスト関数の値が小さくなる解が求まりやすくするため、目標値変更手段210でコスト関数設定手段208により設定された調整係数Ka、Kbを用いて、目標値Mrを変更する。具体的には、目標値を大きくすることと、AGVの空車走行時間の合計とコイルの搬送待ち時間の合計との割合(Kb/Ka)に相関があるため、目標値を以下の式(8)のように変更する。
r←Mr(0.1+Kb/Ka) ・・・(8)
シミュレーション手段203は、上記式(7)のコスト関数の値を再計算する。この際、AGV同士の干渉を含んでシミュレーションするため、上記式(7)のコスト関数の値は、AGV同士の干渉を含んだ実走行に近い厳密な値が算出される。ここで、最適制御による配車計算シミュレーションで求められた(制御手段213で求められた)配車問題の解Sol(0)をシミュレーションした際に求められるコスト関数の値をCost(0)とし、タブサーチで求めた配車問題の解Sol(1)〜Sol(L)をそれぞれシミュレーションした際に求められるコスト関数の値をCost(1)〜Cost(L)とする。
コスト関数値比較手段208は、上記コスト関数の値Cost(0)〜Cost(L)を単純に比較し、最も小さい値を求め、それに対応した、シミュレーションが出力する記録ファイル(どのトークンがいつどこからどこへ移動したかを記録したファイル)のみを残し、最終的な配車問題の結果とする。
なお、上述したシミュレーション手段203、コスト関数設定手段208、配車組合わせ計算手段209、目標値変更手段210、及びコスト関数比較手段211は、例えば、CPU(中央処理装置)、RAM(ランダムアクセスメモリ)、ROM(リードオンリメモリ)などからなるマイクロコンピュータによって構成されており、CPUの作業プログラムは、ROMあるいはRAMに記憶されている。
図12は、上記のように構成した本実施形態による配車計画作成装置101のシミュレーション時の動作の一例を示すフローチャートである。以下、この図12のフローチャートに従って動作を説明する。
図12において、ステップS11では、図8のステップS1と同様に、上位プロコン100から搬送命令及びAGV状態の情報を受信する。次に、ステップS12で、図8のステップS2と同様に、上記受信した情報をもとに前処理を行う。
次に、ステップS13では、図8のステップS3と同様に、上述した最適制御理論に基づく各トランジションの発火制御を利用してAGV割り付け処理を行う。ただし、本実施形態では、このAGV割付け処理と平行して、ステップS14でAGV組合わせ割付け処理を行う。このAGV組合わせ割付け処理では、前処理で得られたAGVのトークンとコイルのトークンとから、上記式(7)のコスト関数の値が小さくなる組み合わせを複数算出する。この方法には、タブサーチやGA,シミュレーティッドアニーリングなどの各種手法があるが、ここでは、タブサーチを例として説明する。タブサーチによる配車問題の解法の一例を図13に示す。
ここでは、コイルとAGVのトークンが図9に示したようになる場合を例に挙げて説明する。ただし、走行路のレイアウトを図14のようにし、AGV1201〜1204の各格子間における走行時間を空車走行時は60秒、積載走行時は90秒掛かると仮定する。また、コイル1211〜1214の荷受け時間・荷卸し時間を共に10秒とする。例えば、図14において、現在、位置A1に空車で存在するAGVが、位置C1から位置D1までコイルを搬送して位置D1で空車になるまでの時間は、800秒(=60×4+10+90×6+10)となる。また、上記式(7)のコスト関数の調整係数Ka、Kbをそれぞれ10.0、1.0とする。
図13において、ステップS21では、欲張り法により初期解を求める。欲張り法には様々な方法があるが、ここでは、各未割付けコイルを順番に調べ、最も早く搬送が開始できるAGVにコイルを割付けることとする。つまり、未割付けコイル100番は3号車に、未割付けコイル103番は4号車に割付ける(図9を参照)。このAGVとコイルの組み合わせを表1のように記述することにする。この表1で、括弧が付いているコイル番号は既に実施中を表し、確定済みであるため動かすことが出来ないことを意味している。
Figure 0004377792
次に、ステップS22では、未割付けコイルの任意の2つを選び交換する。図9に示す例では、コイル番号100、103の組み合わせしか存在しないので、コイル番号100、103を入れ替えると、AGVとコイルの組み合わせは、表2のようになる。
Figure 0004377792
そして、未割付けコイルを入れ替えた後の組み合わせのうち、コスト関数の値が最も小さくなる組み合わせAを求める。この例の場合では、交換する組み合わせは1つしか存在しないので、コスト関数の値が最も小さくなる組み合わせAは表2のケースとなる。
次に、ステップS23では、未割付コイルの任意の2つの組み合わせを選択し、片方をもう片方の前に挿入する。この例の場合では、表3と表4の2通りが存在する。
Figure 0004377792
Figure 0004377792
そして、これらの組み合わせのうち、コスト関数の値が最も小さくなる組み合わせBを求める。この例の場合では、コスト関数の値が最も小さくなる組み合わせBは表3のケースとなる。
次に、ステップS24では、任意の1つのコイルを選び、任意のAGVの最後に搬送するコイルとする。この例では、表5〜表10の6通りが存在する。
Figure 0004377792
Figure 0004377792
Figure 0004377792
Figure 0004377792
Figure 0004377792
Figure 0004377792
従って、この例では、任意の1つのコイルを選び、任意のAGVの最後に搬送するコイルとする操作を行った後の組み合わせのうち、最もコスト関数が小さくなる組み合わせCは表5のケースになる。
次に、ステップS25では、ステップS22〜S24で求めた組み合わせA〜Cの中で、コスト関数の値が最も小さくなる組み合わせを求める。この例では、表5のケースとなる。この解を新しい解とし、更に、この解をタブリストに加える。なお、ステップS22〜S24の処理を実行して組み合わせA〜Cを求める際には、タブリストに存在する解以外で最小となる解を探索する。
そして、ステップS26で、このような操作を指定回数繰り返したか否かを判定し、上記指定回数の処理で得られた解の中で、小さいものから上位L個を記憶する。
以上のようにして、AGV組み合わせ割付け処理を行った後、図12のフローチャートS15において、最適制御で得られた配車問題の解Sol(0)と、タブサーチで得られたL個の解Sol(1)〜Sol(L)のシミュレーションを各々行い、各々の解に対応するコスト関数の値Cost(0)〜Cost(L)を計算する。この際には、全てのコイルは何らかのAGVに割り付いているため、未割付けコイルが無い。全て割り付け確定済みコイルとしてシミュレーションを行う。すなわち、AGVのトークンは、すべて図4の上側の号車番号に対応したモジュールに入り、シミュレーションが行われる。
具体的に、ステップS15でシミュレーションする際には、式(7)のコスト関数の値をシミュレーションで求める。また、シミュレーションの際には、トークンの移動を表すファイルが作成される。
そして、ステップS16の比較処理では、最適制御に基づいたシミュレーションと、タブサーチで求めたL個の解に基づいたシミュレーションとからそれぞれ計算されたコスト関数値を比較し、最も小さい値を求め、それに対応したトークンの移動を表すファイルを最終結果として記憶する。
そして、図ステップS17及びステップS18において、それぞれ図8のステップS4及びステップS5と同様の後処理及び割付け結果送信処理を行う。
以上のように本実施形態では、AGVの走行をペトリネットモデルで構築し、AGV状態と搬送命令に応じて設定された目標状態量Mrを目標として、ペトリネットの状態方程式から操作ベクトルu(k)を決定する。制御手段213は、この操作ベクトルに基づき各コイルと各AGVの移動操作を行うことにより最適制御理論を用いて配車問題の解を求める。一方、コスト関数設定手段208でAGVの総空車走行時間とコイルの総搬送待ち時間との線型和となる関数を設定し、配車組み合わせ計算手段209で、このコスト関数が最小となる配車問題の解をタブサーチで複数求める。そして、シミュレーション手段203で、以上の配車問題の解を用いて各々シミュレーションを行い、コスト関数比較手段211にて最もコスト関数が小さくなる解を求め、その解を上位プロコン101へ返すようにした。これにより、AGVの走行時間を短くしたり、搬送物が運び出されるまでの搬送待ち時間を短くしたり、AGVの空車走行時間とコイルの搬送待ち時間とのトレードオフを考慮した最適な割り付けを行ったりすることができるようになる。
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。なお、以下の説明において、上述した第1の実施形態と同一の部分については、詳細な説明を省略する。
AGVの運行制御では、AGVの集中が問題となるケースがある。複数スキッドにまんべんなくコイルが発生する場合は良いが、一個所に集中してコイルが発生すると、そこにAGVが集中して、干渉が非常に大きくなったり、デッドロック発生の一因になったりする。そこで、AGVはなるべく分散していた方が望ましい。
これを実現するためには、AGVが集中することによって値が大きくなる渋滞度関数を考え、以下の式(9)のようにコスト関数を定義し、このコスト関数の値がなるべく小さくなる解を、以上説明した方法で求めれば良い。
Figure 0004377792
渋滞度の定義と計算方法の一例を説明する。まず、走向路上のスキッドを複数のエリアに分割し、エリア毎に在席しているAGVが指定された台数を超えると、渋滞度は大きな値を持つようにする。在席しているAGVとは、空車または荷受け・荷卸し中のAGVを指し、エリアを通過中のAGVは含まないとする。
渋滞度の計算例を次に説明する。簡単のため、エリア数を3、AGVの台数を3、エリアの台数制限値を全て2とする。そして、行をエリア、列を時間とした2次元マトリクス(渋滞マトリクスと呼ぶ)を考える。ここで、時間は1分毎に離散化して考え、列数を10(分)とする。また、渋滞マトリクスの各要素は当該エリアで当該時刻に在席しているAGVの合計台数を表すものとする。例えば、エリア1にあるAGVが在席し、3分後にエリア1のスキッドから離れ、5分後にエリア2のスキッドに到着したとすると、渋滞マトリクスは以下の表11のようになる。
Figure 0004377792
エリア1に1台のAGVが、エリア2に2台のAGVが在席し、エリア1からエリア2への搬送命令に、エリア1のAGVが割り付き、3分後にエリア1のスキッドを離れ、5分後にエリア2のスキッドに到着したとすると、渋滞マトリクスは次の表12のようになる。
Figure 0004377792
ここで、渋滞度は、以下の式(10)で定義する。
Figure 0004377792
先のマトリクスの(2,5)〜(2,10)要素はエリアの最大数2を超えている。従って、渋滞度は6になる。
一方、同じ搬送命令をエリア2のAGVが搬送するときには、エリア2を0分後に離れ、エリア1に2分後に到着し、エリア1を4分後に離れて、エリア2に6分後に戻ってきたとすると、渋滞マトリクスは以下の表13のようになる。
Figure 0004377792
この場合は全ての要素がエリアの最大数を超えていないため、渋滞度は0になる。この渋滞度に係数Kcが掛けられ、コスト関数に加えられる。計数Kcを大きな値にすることにより、渋滞度が少ない(AGVが1個所に集中しにくい)配車が得られる。
以上は、充電量を考慮しない場合であるが、現実のAGVはバッテリ駆動されている場合が多く、AGVが作業することによりバッテリを消耗する。この場合、バッテリ残量がある下限値を下回らないように、AGVを運行させる必要がある。例えば、図15のように、適当な場所に充電場1301を設け、AGV1311〜1314のバッテリが下限に近くなったら、コイル搬送を一時的に中断し、充電場に向かって走行し、充電場にて充電を行ってからコイル1321〜1324の搬送を再開する。
本実施形態は、このような充電量を考慮する場合にも適用できる。例えば、1つの搬送が終了すると必ず充電するという方案にした場合には、あるコイルの搬送終了後のスキッドから充電場までの空車走行時間と充電場から次に搬送するコイルの荷受けスキッドまでの空車走行時間を全空車走行時間と考え、また、2番目に搬送するコイルの搬送待ち時間は空車走行時間の増加分と充電時間分を増やせば良い。
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。なお、以下の説明において、上述した第1〜第3の実施形態と同一の部分については、詳細な説明を省略する。
製鉄所のコイル搬送のように、コイルが発生するスキッドが特定出来ない場合には、AGVを1個所に集中させず、適度に分散していた方が望ましい。そこで、本実施形態では、スキッドを複数のエリアに分割して、そのエリアで空車と荷卸し中のAGVが指定された個数以上になった場合には、指定個数以下になるよう空車AGVを別エリアに退避走行させることにより、AGVを分散化させることができるようにしている。
例えば、図16のようにスキッドを4つのエリアに分割する。そして、それぞれの許容台数を表14のように設定したとすると、エリア1402(エリア2)の台数は2台となっており、許容台数を超えているため、空車AGVである3号車1413または4号車1414を別エリア1401、1403、1404(エリア1、3、4)に退避走行させる。退避走行先はエリア1402から近く、且つ許容台数に余裕があるエリアを探索する。図16に示す例では、エリア1403のAGV台数は0であるため、退避先はエリア1403になる。退避走行させるAGVは、エリア1403に近い方のAGVとし、エリア1403の退避場所は、そのAGVから最も近いスキッドとする。すなわち4号車1414をスキッドD1に退避させる。これにより、各エリア1401〜1404のAGV台数は全て1となり、AGV1411〜1414を分散させることができる。
Figure 0004377792
なお、以上の各実施形態では、搬送システムの例として鉄鋼の製造ラインでコイルを搬送する例を挙げたが、本発明はこれに限定されるものではない。
また、以上の各実施形態では、物を搬送するためにAGVを用いたが、自動クレームやキャリアパレット等、他の搬送システムにも本発明を適用することが可能である。
また、上記実施形態では、本発明をシミュレーション装置に適用した場合について説明したが、実プロセスに適用して物流制御装置として用いるようにすることも可能である。
(本発明の他の実施形態)
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、上記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)に格納されたプログラムに従って上記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
また、この場合、上記ソフトウェアのプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているOS(オペレーティングシステム)あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
本発明の実施形態を示し、配車計画作成装置の概略構成の一例を説明するブロック図である。 本発明の第1の実施形態を示し、無人搬送台車(AGV)の配車計画作成装置を実施したスケジューリングシステムの全体構成を示すブロック図である。 本発明の第1の実施形態を示し、ペトリネットモデルの一例を示す図である。 本発明の第1の実施形態を示し、各AGVごとにペトリネットモデルのモジュールを生成する様子を示す図である。 本発明の第1の実施形態を示し、図3(b)に示した各AGVスキッド用ゾーン内のペトリネットモデルを詳細に示す図である。 本発明の第1の実施形態を示し、図3(b)に示したOCD用ゾーン内のペトリネットモデルを詳細に示す図である。 本発明の第1の実施形態を示し、図3(b)に示したペトリネットモデルを図4及び図5の具体例に従って書き直した図である。 本発明の第1の実施形態を示し、AGVの配車計画作成装置のシミュレーション時の動作の一例を説明するフローチャートである。 本発明の第1の実施形態を示し、AGV及びコイルのトークンの一例を示す図である。 本発明の第1の実施形態を示し、各トランジション発火とそれによる状態遷移の様子を示した図である。 本発明の第2の実施形態を示し、無人搬送台車(AGV)の配車計画作成装置を実施したスケジューリングシステムの全体構成を示すブロック図である。 本発明の第2の実施形態を示し、AGVの配車計画作成装置のシミュレーション時の動作の一例を説明するフローチャートである。 本発明の第2の実施形態を示し、タブサーチによる配車組合わせを求める際のAGVの配車計画作成装置の動作の一例を説明するフローチャートである。 本発明の第2の実施形態を示し、AGVの走行路の一例を示す図である。 本発明の第3の実施形態を示し、充電場を加えたAGVの走行路の一例を示す図である 本発明の第4の実施形態を示し、複数エリアに分割されたAGVの走行路の一例を示す図である。
符号の説明
1、200 シミュレーション制御部
1a 配車シミュレータ
1b 最適制御方策部
2 最適化計算装置
3 数式モデル
4 シミュレーション結果
100 上位プロコン
101 配車計画作成装置
201 記憶手段
202 操作ベクトル算出手段
203 シミュレーション手段
204 状態ベクトル入力手段
205 状態管理手段
206 搬送命令管理手段
207 処理計画出力手段
208 コスト関数設定手段
209 配車組合わせ計算手段
210 目標値変更手段
211 コスト関数値比較手段
212 モデル構築手段
213 制御手段
301 入力手段
302 ゲイン行列算出手段

Claims (13)

  1. 搬送プロセスをペトリネットモデルで表し、上記ペトリネットモデルから搬送命令の搬送車に対する割り付けを決定する配車計画作成装置であって、
    上記搬送プロセスのペトリネットモデルとして、上記搬送車の走行路をプレースと移動操作端とで表すとともに、搬送物及び搬送車をトークンで表したペトリネットモデルを構築するモデル構築手段と、
    上記モデル構築手段により構築されたペトリネットモデルの状態方程式を求めるとともに、上記求めた状態方程式と、設定した評価行列及び目標状態量によって表される評価関数とから、線形二次制御を利用して、該評価関数を最小にするフィードバックゲイン行列を求めるゲイン行列算出手段と、
    上記搬送プロセスにおけるトークンの仕掛状態を表す状態ベクトルを取得する状態ベクトル入力手段と、
    上記ゲイン行列算出手段により求められたフィードバックゲイン行列と、上記状態ベクトル入力手段により取得された仕掛状態を表す状態ベクトルと、上記搬送車の状態及び与えられる搬送命令に応じて設定される目標状態量とを用いて、上記搬送物及び搬送車の移動操作端に対する操作ベクトルを求める操作ベクトル算出手段と、
    上記操作ベクトル算出手段により求められた操作ベクトルに基づいて、各移動操作端に対して、上記操作ベクトルの中の正値で大きい操作量が得られた順に各搬送物及び各搬送車を移動可能な数だけ移動させる操作を行うことにより、その操作後の状態ベクトルを求め、求めた操作後の状態ベクトルを用いて、上記各搬送車に対して各搬送物を割付ける配車問題の解を求める制御手段とを備え、
    上記制御手段は、上記求めた操作後の状態ベクトルを、上記搬送プロセスにおけるトークンの仕掛状態を表す新たな状態ベクトルとして上記状態ベクトル入力手段にフィードバックさせることを特徴とする配車計画作成装置。
  2. 上記モデル構築手段は、上記搬送車が作業を行う場所であるスキッド用のペトリネットモデルモジュールと、上記搬送車が通信を行う場所である中継用ペトリネットモデルモジュールとを組み合わせてペトリネットモデルを構築することを特徴とする請求項1に記載の配車計画作成装置。
  3. 上記モデル構築手段によって上記ペトリネットモデルを上記搬送車ごとに構築し、上記搬送命令が割り付け済みの搬送車については個々にペトリネットモデルを用い、上記搬送命令が未割り付けの搬送車については1つのペトリネットモデルをまとめて用いるようにし、
    上記搬送命令を上記未割り付けの搬送車に対して割り付けるようにしたことを特徴とする請求項1又は2に記載の配車計画作成装置。
  4. 上記制御手段は、上記操作ベクトル算出手段によって上記搬送車ごとに算出された操作ベクトルを統合した操作ベクトルに基づいて、各移動操作端に対して、上記統合した操作ベクトルの中の正値で大きい操作量が得られた順に各搬送物及び搬送車を移動可能な数だけ移動させるようにする操作を行うことを特徴とする請求項3に記載の配車計画作成装置。
  5. 上記搬送車と上記搬送物の状態遷移を上記移動操作端の発火に応じて記憶し、上記ペトリネットモデルの搬送物及び搬送車のトークンの属性として与える状態管理手段を備えることを特徴とする請求項1〜4の何れか1項に記載の配車計画作成装置。
  6. 上記各搬送車の位置及び作業状態と、上記各搬送車に割り付いた各搬送物の搬送元及び搬送先とにより定義されるコスト関数を設定するコスト関数設定手段と、
    上記目標状態量を、上記コスト関数の係数比の関数として変更する目標値変更手段と、
    上記コスト関数の値ができるだけ小さくなるように、上記各搬送車に対して各搬送物を割付ける配車問題の解を、組み合わせ最適化手法を用いて複数求める配車組合わせ計算手段と、
    上記制御手段より得られた配車問題の解と、上記配車組み合わせ計算手段により得られた配車問題の解とに対して、各々シミュレーションを行い、上記コスト関数の値を計算するシミュレーション手段と、
    上記シミュレーション手段で計算された全てのコスト関数の値を比較し、最も小さい値に対応した配車問題の解を出力するコスト関数比較手段とを備え、
    上記操作ベクトル算出手段は、上記ゲイン行列算出手段により求められたフィードバックゲイン行列と、上記状態ベクトル入力手段により取得された仕掛状態を表す状態ベクトルと、上記目標値変更手段により変更された目標状態量とを用いて、上記搬送物及び搬送車の移動操作端に対する操作ベクトルを求めることを特徴とする請求項1〜5の何れか1項に記載の配車計画作成装置。
  7. 上記コスト関数設定手段は、各搬送車の空車走行時間の単調増加関数と各搬送物の搬送待ち時間の単調増加関数との線型和をコスト関数として用いることを特徴とする請求項6に記載の配車計画作成装置。
  8. 上記コスト関数設定手段は、各搬送車の空車走行時間の単調増加関数と各搬送物の搬送待ち時間の単調増加関数と、特定のゾーン付近に搬送車が集中することによって値が大きくなる関数との線型和をコスト関数として用いることを特徴とする請求項6に記載の配車計画作成装置。
  9. 上記配車組合わせ計算手段は、上記各搬送車のバッテリ残量が指定された値を下回らないように、上記各搬送車が最寄りのバッテリ場に到着するまでに走行する時間及び上記最寄りのバッテリ場における上記各搬送車の充電時間を加味して、上記配車問題の解を求めることを特徴とする請求項6〜8の何れか1項に記載の配車計画作成装置。
  10. 上記配車組合わせ計算手段は、上記搬送車の走行路を複数のエリアに分割して、そのエリアで空車と荷卸し中の搬送車とが、指定された台数以上になった場合には、上記指定された台数以下になるよう上記搬送車を別エリアに退避させるように、上記配車問題の解を求めることを特徴とする請求項6〜9の何れか1項に記載の配車計画作成装置。
  11. 搬送プロセスをペトリネットモデルで表し、上記ペトリネットモデルから搬送命令の搬送車に対する割り付けを決定する配車計画作成方法であって、
    上記搬送プロセスのペトリネットモデルとして、上記搬送車の走行路をプレースと移動操作端とで表すとともに、搬送物及び搬送車をトークンで表したペトリネットモデルを構築するモデル構築ステップと、
    上記モデル構築ステップにより構築されたペトリネットモデルの状態方程式を求めるとともに、上記求めた状態方程式と、設定した評価行列及び目標状態量によって表される評価関数とから、線形二次制御を利用して、該評価関数を最小にするフィードバックゲイン行列を求めるゲイン行列算出ステップと、
    上記搬送プロセスにおけるトークンの仕掛状態を表す状態ベクトルを取得する状態ベクトル入力ステップと、
    上記ゲイン行列算出ステップにより求められたフィードバックゲイン行列と、上記状態ベクトル入力ステップにより取得された仕掛状態を表す状態ベクトルと、上記搬送車の状態及び与えられる搬送命令に応じて設定される目標状態量とを用いて、上記搬送物及び搬送車の移動操作端に対する操作ベクトルを求める操作ベクトル算出ステップと、
    上記操作ベクトル算出ステップにより求められた操作ベクトルに基づいて、各移動操作端に対して、上記操作ベクトルの中の正値で大きい操作量が得られた順に各搬送物及び各搬送車を移動可能な数だけ移動させる操作を行うことにより、その操作後の状態ベクトルを求め、求めた操作後の状態ベクトルを用いて、上記各搬送車に対して各搬送物を割付ける配車問題の解を求める制御ステップとを備え、
    上記状態ベクトル入力ステップは、上記制御ステップにより求められた上記操作後の状態ベクトルを、上記搬送プロセスにおけるトークンの仕掛状態を表す新たな状態ベクトルとして取得することを特徴とする配車計画作成方法。
  12. 搬送プロセスをペトリネットモデルで表し、上記ペトリネットモデルから搬送命令の搬送車に対する割り付けを決定することをコンピュータに実行させるためのコンピュータプログラムであって、
    上記搬送プロセスのペトリネットモデルとして、上記搬送車の走行路をプレースと移動操作端とで表すとともに、搬送物及び搬送車をトークンで表したペトリネットモデルを構築するモデル構築ステップと、
    上記モデル構築ステップにより構築されたペトリネットモデルの状態方程式を求めるとともに、上記求めた状態方程式と、設定した評価行列及び目標状態量によって表される評価関数とから、線形二次制御を利用して、該評価関数を最小にするフィードバックゲイン行列を求めるゲイン行列算出ステップと、
    上記搬送プロセスにおけるトークンの仕掛状態を表す状態ベクトルを取得する状態ベクトル入力ステップと、
    上記ゲイン行列算出ステップにより求められたフィードバックゲイン行列と、上記状態ベクトル入力ステップにより取得された仕掛状態を表す状態ベクトルと、上記搬送車の状態及び与えられる搬送命令に応じて設定される目標状態量とを用いて、上記搬送物及び搬送車の移動操作端に対する操作ベクトルを求める操作ベクトル算出ステップと、
    上記操作ベクトル算出ステップにより求められた操作ベクトルに基づいて、各移動操作端に対して、上記操作ベクトルの中の正値で大きい操作量が得られた順に各搬送物及び各搬送車を移動可能な数だけ移動させる操作を行うことにより、その操作後の状態ベクトルを求め、求めた操作後の状態ベクトルを用いて、上記各搬送車に対して各搬送物を割付ける配車問題の解を求める制御ステップとをコンピュータに実行させ、
    上記状態ベクトル入力ステップは、上記制御ステップにより求められた上記操作後の状態ベクトルを、上記搬送プロセスにおけるトークンの仕掛状態を表す新たな状態ベクトルとして取得することを特徴とするコンピュータプログラム。
  13. 上記請求項12に記載のコンピュータプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
JP2004292780A 2004-10-05 2004-10-05 配車計画作成装置、配車計画作成方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体 Active JP4377792B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004292780A JP4377792B2 (ja) 2004-10-05 2004-10-05 配車計画作成装置、配車計画作成方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004292780A JP4377792B2 (ja) 2004-10-05 2004-10-05 配車計画作成装置、配車計画作成方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体

Publications (2)

Publication Number Publication Date
JP2006107121A JP2006107121A (ja) 2006-04-20
JP4377792B2 true JP4377792B2 (ja) 2009-12-02

Family

ID=36376790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004292780A Active JP4377792B2 (ja) 2004-10-05 2004-10-05 配車計画作成装置、配車計画作成方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体

Country Status (1)

Country Link
JP (1) JP4377792B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110250559A (zh) * 2019-06-28 2019-09-20 浙江中烟工业有限责任公司 一种基于agv的废烟支机组呼叫回收系统及方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105679168A (zh) * 2015-12-04 2016-06-15 南京航空航天大学 一种模拟机坪车辆调度的教学实验平台
CN107065888A (zh) * 2017-05-26 2017-08-18 金陵科技学院 一种基于磁导航机器人及导航调度系统和方法
CN110852660A (zh) * 2018-08-20 2020-02-28 富晋精密工业(晋城)有限公司 物流调度装置、物流调度方法及存储设备
CN109676280B (zh) * 2019-02-02 2021-03-19 宁波吉利汽车研究开发有限公司 车身制造通用化系统和车身制造通用化智能工厂系统
CN111813054B (zh) * 2019-04-11 2021-09-03 阜阳师范学院 一种有轨制导车辆的动态调度方法及系统
CN110045715B (zh) * 2019-04-15 2021-10-01 中国民航大学 基于Petri网与改进二元决策图模型的最小割集求解方法
CN111950943A (zh) * 2019-05-14 2020-11-17 北京京东尚科信息技术有限公司 一种配送车调度方法、装置、设备及存储介质
CN113469511B (zh) * 2021-06-18 2022-05-13 武汉理工大学 一种agv小车任务分配、充电管理方法及装置
CN113923520B (zh) * 2021-11-25 2024-02-02 北京天创绿能科技发展有限公司 一种利用运输小车的移动多led屏幕组合布置方法及系统
CN115083198B (zh) * 2022-06-15 2023-11-24 国汽(北京)智能网联汽车研究院有限公司 一种多车运力资源调度方法及装置
CN117742260A (zh) * 2023-12-12 2024-03-22 天津大学 一种考虑组合缓冲和无人运输的流水车间调度方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110250559A (zh) * 2019-06-28 2019-09-20 浙江中烟工业有限责任公司 一种基于agv的废烟支机组呼叫回收系统及方法
CN110250559B (zh) * 2019-06-28 2021-10-29 浙江中烟工业有限责任公司 一种基于agv的废烟支机组呼叫回收系统及方法

Also Published As

Publication number Publication date
JP2006107121A (ja) 2006-04-20

Similar Documents

Publication Publication Date Title
Jonker et al. Coordinated optimization of equipment operations in a container terminal
Kaveshgar et al. Integrated quay crane and yard truck scheduling for unloading inbound containers
JP4377792B2 (ja) 配車計画作成装置、配車計画作成方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体
Briskorn et al. Cooperative twin-crane scheduling
Azevedo et al. Solving the 3D stowage planning problem integrated with the quay crane scheduling problem by representation by rules and genetic algorithm
CN109375601A (zh) 基于数据驱动建模与仿真优化的流水线规划方法及设备
Lee et al. Integrated scheduling of flexible manufacturing systems employing automated guided vehicles
US20140046635A1 (en) Facility Design and Management Systems Using Bi-Directional Cad-Des Interface
CN108959783B (zh) 一种智能车间的布局仿真优化方法及装置
Valmiki et al. A study on simulation methods for AGV fleet size estimation in a flexible manufacturing system
Ma et al. An improved shuffled frog leaping algorithm for multiload AGV dispatching in automated container terminals
Wang et al. Simulation-based optimisation of logistics distribution system for an assembly line with path constraints
Durga Prasad et al. Experimental investigation on FMS environment with operational completion time
Xing et al. Integrated automated guided vehicle dispatching and equipment scheduling with speed optimization
Li et al. Design and simulation analysis of PDER: A multiple-load automated guided vehicle dispatching algorithm
Golias et al. Scheduling of inbound trucks at a cross-docking facility: Bi-objective vs bi-level modeling approaches
Bayona et al. Optimization of trajectory generation for automatic guided vehicles by genetic algorithms
Homayouni et al. Optimization of integrated scheduling of handling and storage operations at automated container terminals
Shakeri et al. An efficient incremental evaluation function for optimizing truck scheduling in a resource-constrained crossdock using metaheuristics
CN115409448A (zh) 仓储调度决策方法、装置、终端设备以及存储介质
US20210319528A1 (en) Information processing device, optimization method, and non-transitory computer-readable storage medium for storing optimization program
Miklić et al. A modular control system for warehouse automation-algorithms and simulations in USARSim
Pourvaziri et al. Combining metaheuristic search and simulation to deal with capacitated aisles in facility layout
Wang et al. Performance evaluation of tandem and conventional AGV systems using generalized stochastic Petri nets
JP2004018137A (ja) 部品配置演算装置、部品配置演算方法、部品配置演算用プログラム、該プログラムを記録した記録媒体および部品配置支援システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060907

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090616

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090811

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090911

R151 Written notification of patent or utility model registration

Ref document number: 4377792

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120918

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120918

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130918

Year of fee payment: 4

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130918

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350