|
发表于 2012-8-16 23:39:06
|
显示全部楼层
其實我不太了解kelitina主 是要抓出每tick資料嗎? 還是你是要抓每一tick的運行時間?
1 t0 ^, ]' U3 ~: X* ~' A @: `1.如果是抓每一tick的時間, 我的印象中你的agent如果太多就會超慢(有時還會當掉)+ C2 }* M* o# [1 `
2.如果是抓出每tick資料我再回你~!. ?- n' ?4 |# h4 `: u$ F5 E
3.如果都不是我講的這些, 在和我說一聲感謝!!3 Y# v1 c9 N( K' r# k* ?5 |
---1 W. b" ?6 |$ Q& E! ^9 K
或是說, 你可能遇到的困擾可能是我下面提的這個也有可能:0 m! {8 ?0 i+ a7 ]
時間這部分牽扯到兩種模式, 我把它叫做"時間模式" 和 "流程模式"
& h! _) P& R1 x' Q5 _! }; m7 X2 j* r/ @: ^5 i% u" z7 X: z( E# a
「時間模式」就是一個tick代表一個時間單位, 可能是秒, 是時 ,是天
' Q. C# x$ _5 e( N3 ?8 c, h但這有個問題, 因為我們在寫agent的時候, 很難去分說agent做這件事花多少時間. M0 |' N2 E9 J Y0 `: Y
可能在一個市場仿真中, 顧客每一tick移動是一分鐘(或30秒)1 k) _4 c! \) B
但是補貨員可能兩天才來補一次(等於你要寫個IF條件判斷說時間到了2天才能GO); Z- x- a! o2 T0 f
但是這會有個"誤差"存在才對, 所以如果真的要這樣寫我是建議加上一個random variable
8 }8 |4 M4 v& p3 q( B5 [& m5 d3 L# P% Q3 I a% W5 V
「流程模式」就是一個tick代表一個階段性任務的完成, 可能是火車過一站算一個tick- L( r5 V6 c9 O
這也是ok的, 但是火車過每一站的時間其實不同, 所以這部分就會被忽略掉, 但是要小心4 i2 Y. l$ i% k0 A9 [$ A9 f' p
這可能是會影響你的結果的關鍵因素) M5 k N, q0 b6 @2 b
(例如其實火車可能因為某一站路途過長, 原則上應該會在半途沒油之類的)
/ K4 v6 A( s$ C; w: f5 L& @8 H4 Q* o
---: w X2 `; y' ?$ [: Y: }1 K
至於我的經驗是這樣, 和你分享:
: G) H% l1 _* Y4 R6 ?. T像我跑的大部分都是以日為單位
$ Q! q# R# Z/ ?$ {/ ~可能跑個10年20年, 如果是這樣的話, 我是以tick轉換成office日期為主* P, z- [( @2 \7 g9 u' @6 u) J& _
所以tick=1時就是1900年1月1日(office的設定)3 R3 {, y) t/ a4 M# V; ]" n( l
依此類推, 我在做期貨仿真會有些不同, 原因是我從2000年起做期貨交易仿真) k3 p4 i, }+ b
可能有幾天有颱風天(台灣遇到颱風大部分會放假) 彈性休假 閏年 過年等等, 會仿真的比較全面 |
|