|
发表于 2012-8-16 23:39:06
|
显示全部楼层
其實我不太了解kelitina主 是要抓出每tick資料嗎? 還是你是要抓每一tick的運行時間?
/ N8 A- n: n& h# Q8 N3 @6 ?( m) @1.如果是抓每一tick的時間, 我的印象中你的agent如果太多就會超慢(有時還會當掉)" E/ N! ~. M' X7 [; i- ]( c6 Y' Y$ j3 Z
2.如果是抓出每tick資料我再回你~!
. B0 I* b; {9 @3 J3.如果都不是我講的這些, 在和我說一聲感謝!!
& c9 ~ p0 E9 K/ R$ U) Q---: F$ }+ V" w9 \; |- n+ M5 p$ B
或是說, 你可能遇到的困擾可能是我下面提的這個也有可能:
0 c9 W; g9 h/ ^2 Y: k a/ @時間這部分牽扯到兩種模式, 我把它叫做"時間模式" 和 "流程模式". s' o9 q: j, d+ x" X; M, z! l
1 d1 W6 ?( k8 r" Q5 {+ p
「時間模式」就是一個tick代表一個時間單位, 可能是秒, 是時 ,是天' C' n0 f% n' t) h( w4 X
但這有個問題, 因為我們在寫agent的時候, 很難去分說agent做這件事花多少時間! w' ~4 C5 M5 p6 j
可能在一個市場仿真中, 顧客每一tick移動是一分鐘(或30秒)
M: [4 M% z9 S$ r( T但是補貨員可能兩天才來補一次(等於你要寫個IF條件判斷說時間到了2天才能GO)% H, y( O5 W2 {
但是這會有個"誤差"存在才對, 所以如果真的要這樣寫我是建議加上一個random variable
9 {% q) H; b* |7 Y+ O7 U" w6 h2 Y- x6 N |2 b' U, q
「流程模式」就是一個tick代表一個階段性任務的完成, 可能是火車過一站算一個tick: L# q) b' M# }+ @4 t( ~
這也是ok的, 但是火車過每一站的時間其實不同, 所以這部分就會被忽略掉, 但是要小心; x$ ~3 C6 X1 O, c, Y" O- E
這可能是會影響你的結果的關鍵因素! Y! h9 v' I5 m, P- I! b; O: H
(例如其實火車可能因為某一站路途過長, 原則上應該會在半途沒油之類的)
/ e2 X7 b& w6 R) l6 c7 W) I4 A
/ a+ a) r5 b8 M- S) P4 m4 x---4 n4 B4 a2 i8 J4 ^7 a
至於我的經驗是這樣, 和你分享:
& Y* U8 e1 X4 Q* s: U5 p/ X6 G像我跑的大部分都是以日為單位
2 b' O& L3 n( x* [8 r可能跑個10年20年, 如果是這樣的話, 我是以tick轉換成office日期為主5 {+ Z) t; \2 u! b5 V
所以tick=1時就是1900年1月1日(office的設定)
0 L' F% d6 ~+ R: z6 Q依此類推, 我在做期貨仿真會有些不同, 原因是我從2000年起做期貨交易仿真/ s+ T- b( H/ ?2 Z4 @# n0 H
可能有幾天有颱風天(台灣遇到颱風大部分會放假) 彈性休假 閏年 過年等等, 會仿真的比較全面 |
|