|
发表于 2012-8-16 23:39:06
|
显示全部楼层
其實我不太了解kelitina主 是要抓出每tick資料嗎? 還是你是要抓每一tick的運行時間? v# I5 S$ B+ J* |0 f
1.如果是抓每一tick的時間, 我的印象中你的agent如果太多就會超慢(有時還會當掉)
5 A/ Q( G4 w5 ~2.如果是抓出每tick資料我再回你~!
, Y( ?1 m9 o* z0 t+ D }' E$ j3 `0 t3.如果都不是我講的這些, 在和我說一聲感謝!!
, d) s# t4 c! |) r$ X---
, H; r4 R- U# p/ I, E( c或是說, 你可能遇到的困擾可能是我下面提的這個也有可能:0 A* \ n; s+ I/ a" Z( {7 D& d8 y
時間這部分牽扯到兩種模式, 我把它叫做"時間模式" 和 "流程模式"5 f1 d) d4 H3 H4 s
: ~6 E& D: o% E$ Z) N
「時間模式」就是一個tick代表一個時間單位, 可能是秒, 是時 ,是天
/ @- u3 w Z1 k6 }3 _& L但這有個問題, 因為我們在寫agent的時候, 很難去分說agent做這件事花多少時間4 e7 F" x) H* x" [, j) n5 r/ F2 B
可能在一個市場仿真中, 顧客每一tick移動是一分鐘(或30秒)3 m/ j, K; v" f, a! Z. q
但是補貨員可能兩天才來補一次(等於你要寫個IF條件判斷說時間到了2天才能GO)
* v5 O! q6 \ U但是這會有個"誤差"存在才對, 所以如果真的要這樣寫我是建議加上一個random variable# B3 V* Y$ o7 w1 S
6 T2 m6 N2 @5 |9 R. e3 b3 l5 d) ?+ T
「流程模式」就是一個tick代表一個階段性任務的完成, 可能是火車過一站算一個tick; c+ o1 ?7 x& H5 {/ ~
這也是ok的, 但是火車過每一站的時間其實不同, 所以這部分就會被忽略掉, 但是要小心
0 r5 i4 y+ j9 K& s這可能是會影響你的結果的關鍵因素
2 X4 T7 _4 T7 ^! d/ }(例如其實火車可能因為某一站路途過長, 原則上應該會在半途沒油之類的)' O; @! [+ e( {; G+ Z4 o+ [) ?
y$ x% S2 s [6 M---7 \1 ]0 p* J- h! t% E- s; W
至於我的經驗是這樣, 和你分享:
6 u5 H4 }5 d* |% s像我跑的大部分都是以日為單位
* U/ L8 v# _0 g M可能跑個10年20年, 如果是這樣的話, 我是以tick轉換成office日期為主2 p( @3 t" k, p# h3 [7 L) V
所以tick=1時就是1900年1月1日(office的設定)
8 m7 {6 N# o9 I) {8 ?" v依此類推, 我在做期貨仿真會有些不同, 原因是我從2000年起做期貨交易仿真6 q' U9 M, n! D8 l0 ^
可能有幾天有颱風天(台灣遇到颱風大部分會放假) 彈性休假 閏年 過年等等, 會仿真的比較全面 |
|