승객을 데려다 목적지로 가져가는 NetLogo 택시 모델이 있습니다.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_x 및 destin_y는 X이며, y는 택시의 현재 대상의 각각 좌표를 다음과 같이 택시 품종의 나의 현재 정의입니다.
각 택시 내 노선 또는 각 택시의 목적지 목록을 저장하고 싶습니다. 나는. [[x1 y1], [x2 y2] [x3 y3] ...].
에이전트는 다음과 같은 목록 구조를 소유 할 수 있습니까? 입문과 같은 목록 명령을 내에서 사용할 수 있습니까? 상담원에게 명령 하시겠습니까? 이 문제를 해결할 대안이 있습니까?
지금까지 시도한 것이 아닙니다. 아래를 참조
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
]
]
]
]
최종
또한'lput' 전에'set route ...'가 누락 되었습니까? –
네, 그렇습니다. 편집 됨. –
감사합니다. 내 문제는 @SethTisue가 지적한 것처럼'lput' 전에 놓친'set route '였다. –