1

乗客を乗せて目的地まで運ぶタクシーの NetLogo モデルがあります。タクシーの品種の私の現在の定義は次のとおりです。

taxis-own [
  route                     ; List of destinations in order, each an x y pair
  destin_x                  ; Coordinates of the taxis current destination
  destin_y
  trip_distance             ; Distance of current trip in Netlogo cells = 100 meters 
  speed                     ; Travel speed in Netlogo cells = 100 meters per minute
  time_left                 ; Time left in current trip until arrival
  status                    ; Waiting ; Picking Up ; Psngr Boarding; En Route ; Psngr Alighting ; Dropping off
  vmt                       ; Vehicle miles traveled
]

destin_xdestin_yは、それぞれタクシーの現在の目的地の x 座標と y 座標です。

各タクシー内にルート、または各タクシーの目的地のリストを保存したいと思います。すなわち [[x1 y1],[x2 y2][x3 y3]...].

エージェントはこのようなリスト構造を所有できますか? エージェントのaskコマンド内でlputなどのリスト コマンドを使用できますか? この問題を解決する別の方法はありますか?

これまでのところ、これを行う試みはうまくいきません。下記参照:

to hail-taxi ;
  let available-taxis taxis with [status = "waiting"] ; Create a set of available taxis
  let hailing-psngrs psngrs with [status = "hailing"] ; Create list of hailing passengers
  foreach sort-by [ [wait_time] of ?1 > [wait_time] of ?2] hailing-psngrs [
    ask ? [
      let free-taxi min-one-of available-taxis [distance myself] ; Find the closest available taxi
      let picked-taxi free-taxi
      if ( picked-taxi != nobody )[
        set status "waiting"
        create-link-with picked-taxi
        ask picked-taxi [
          set status "picking up"
          set available-taxis taxis with [status = "waiting"] ; Revise set of available taxis
; NEXT LINE DOES NOT WORK
          lput list ( [xcor] of myself [ycor] of myself ) route
      ]
    ]
  ]
]

終わり

4

1 に答える 1