model (2).jsonダウンロード:JSON • 1.16MB目的地を以下の条件で設定したいです。・まだ処理が完了しておらず、がれきが残っているリンク(gareki_vakue > 0)の中で最も近いリンクを目指すようにしたいです。どのように変更すればよいでしょうか
リンクの両端のどちらでも試してみたのですが、目的地リストにある目的地を削除して更新する工程も挟んでいるので、うまく作成することができませんでした。
双方向リンクにおける目的地の管理と処理方法についての質問
現在、エージェントが道路リンクを移動しながらがれきを処理するモデルを作成したいと考えています。
現状
CSVデータには同じリンクについて双方向の情報が2つ記載されています(例:0_1, 距離, がれき量 / 1_0, 距離, がれき量)。
シミュレーションでは、各リンクの両端ノード(例:0_1 に対して [0, 0, 1, 1])を目的地リストに追加しています。
エージェントがリンク上のいずれかのノードに到達し、そのリンクを通過すると、そのリンクに関するノード[0, 0, 1, 1]をすべて削除することで処理完了を表現しています。
問題
0_1 の 0 側から複数のエージェントが進入する場合、協力してがれきを処理することは問題なく行えています。
しかし、0 側から進入後に 1 側から進入した場合、本来同じリンクである 0_1 と 1_0 が別のリンクとして扱われてしまうため、双方向からの処理が正しく機能していません。
質問
0_1 と 1_0 のように双方向のリンクを、どちらから入っても同じ属性情報(距離・がれき量)を扱う方法はありますか
目的地リストの管理において、適切に目的地を設定し、処理完了時に適切に削除する方法についてアドバイスをいただけますか。具体的にはがれきがあるリンクを目的地とし、処理が完了すると目的地から外したいです。
長くなり申し訳ありませんが、教えていただけますと幸いです。よろしくお願いいたします。
まだ処理が完了していないリンクを配列(リンク配列)に入れる。
レシピブック09で定義している get_route_from_goal_id_list を参考に、 もっと近いリンクを取得する。
https://mas.kke.co.jp/howto/recipe09_artisoccloud/