|
发表于 2012-8-16 23:39:06
|
显示全部楼层
其實我不太了解kelitina主 是要抓出每tick資料嗎? 還是你是要抓每一tick的運行時間?4 ]# g6 P- d9 Y$ \) A( Q
1.如果是抓每一tick的時間, 我的印象中你的agent如果太多就會超慢(有時還會當掉)' b" O8 K5 d4 l0 ^' s( d$ T
2.如果是抓出每tick資料我再回你~!
8 i9 K7 {# N* M3.如果都不是我講的這些, 在和我說一聲感謝!!* w2 a* o V% @
---
$ c$ M* ~, p: H0 b9 ~/ K! F' @/ N或是說, 你可能遇到的困擾可能是我下面提的這個也有可能:
7 b% d1 x- V4 A0 m( z/ P( m" J時間這部分牽扯到兩種模式, 我把它叫做"時間模式" 和 "流程模式"
) v% P/ |, \9 U
) w {% L) [9 b" _「時間模式」就是一個tick代表一個時間單位, 可能是秒, 是時 ,是天' y' ^+ K; x* }3 ^
但這有個問題, 因為我們在寫agent的時候, 很難去分說agent做這件事花多少時間+ ~( r& i: P. v4 D6 u8 ?( S
可能在一個市場仿真中, 顧客每一tick移動是一分鐘(或30秒)# i6 F" H! B% U0 V7 ~0 L
但是補貨員可能兩天才來補一次(等於你要寫個IF條件判斷說時間到了2天才能GO); a) Y/ b$ y8 D& T
但是這會有個"誤差"存在才對, 所以如果真的要這樣寫我是建議加上一個random variable. c' A8 J! G- R# Y& |% D5 a: m
& S$ s* t! o7 I* j! f1 {% X
「流程模式」就是一個tick代表一個階段性任務的完成, 可能是火車過一站算一個tick0 A3 W6 X ?" v
這也是ok的, 但是火車過每一站的時間其實不同, 所以這部分就會被忽略掉, 但是要小心
# b1 _1 r8 x, O+ o這可能是會影響你的結果的關鍵因素! s0 @7 A8 s3 F" e: q
(例如其實火車可能因為某一站路途過長, 原則上應該會在半途沒油之類的)
0 I, {) [/ b! ~, F. [& J( p5 G, l1 w3 D- l/ `! B) O
---% V) @8 k6 l! h" j# ~8 C; K
至於我的經驗是這樣, 和你分享: N3 f5 ?' T9 A9 i9 H3 |
像我跑的大部分都是以日為單位
' z2 z5 g( g5 |* i7 M: r可能跑個10年20年, 如果是這樣的話, 我是以tick轉換成office日期為主( V4 D; v/ ~; g( X+ _( X1 H
所以tick=1時就是1900年1月1日(office的設定)
" x" t7 L8 f( @' |, Y7 i4 S; F依此類推, 我在做期貨仿真會有些不同, 原因是我從2000年起做期貨交易仿真
# h* t: M/ U% O$ m% d' d2 ?( J$ s可能有幾天有颱風天(台灣遇到颱風大部分會放假) 彈性休假 閏年 過年等等, 會仿真的比較全面 |
|