|
|
发表于 2012-8-16 23:39:06
|
显示全部楼层
其實我不太了解kelitina主 是要抓出每tick資料嗎? 還是你是要抓每一tick的運行時間?& {! Z6 t- Y8 u
1.如果是抓每一tick的時間, 我的印象中你的agent如果太多就會超慢(有時還會當掉)
( ~' w$ W. B# \9 D: N7 y9 B5 f2.如果是抓出每tick資料我再回你~!
. M5 z$ c- A, r3.如果都不是我講的這些, 在和我說一聲感謝!!, k& h, x' A$ u- [7 i/ [
---) s; d1 v3 c7 ]+ u3 I9 P# G. g
或是說, 你可能遇到的困擾可能是我下面提的這個也有可能:
- H/ F6 P$ [ `6 ]( T時間這部分牽扯到兩種模式, 我把它叫做"時間模式" 和 "流程模式"4 Q( N# d* I* |# O( n# h; }/ \6 S
6 m8 h6 ], l8 T5 a$ w* f0 J8 c! {「時間模式」就是一個tick代表一個時間單位, 可能是秒, 是時 ,是天
' c; {( P& H0 R6 A: B但這有個問題, 因為我們在寫agent的時候, 很難去分說agent做這件事花多少時間
- T W$ r: S" U) }5 W可能在一個市場仿真中, 顧客每一tick移動是一分鐘(或30秒)
' Q+ p0 j0 E z& w3 C) a) y( u但是補貨員可能兩天才來補一次(等於你要寫個IF條件判斷說時間到了2天才能GO)5 q, t5 S( v- N5 h5 [1 k8 m1 @ P+ I& e
但是這會有個"誤差"存在才對, 所以如果真的要這樣寫我是建議加上一個random variable! w# w9 k: ~$ T1 M# n
* I3 e" {# }. A0 E8 I- B
「流程模式」就是一個tick代表一個階段性任務的完成, 可能是火車過一站算一個tick
@/ u5 K/ |( s* ]這也是ok的, 但是火車過每一站的時間其實不同, 所以這部分就會被忽略掉, 但是要小心5 b q8 C. S( F9 h8 Z
這可能是會影響你的結果的關鍵因素
9 M) k& V% g2 ^7 O/ q- q6 T! ](例如其實火車可能因為某一站路途過長, 原則上應該會在半途沒油之類的)- N1 E, u* ~ e
% c( A5 {3 M* e! y9 u7 a
---7 k3 n8 u5 y) P+ O& }% m5 J( R
至於我的經驗是這樣, 和你分享:- j* d( \& U+ v6 W0 a
像我跑的大部分都是以日為單位
5 o( ]5 K. ?# N3 U- H% n7 T可能跑個10年20年, 如果是這樣的話, 我是以tick轉換成office日期為主
" r- D; E7 F) G8 K所以tick=1時就是1900年1月1日(office的設定)* `- Y, R8 _) r7 y) f
依此類推, 我在做期貨仿真會有些不同, 原因是我從2000年起做期貨交易仿真
, U3 @! k6 v/ j+ w# \! W可能有幾天有颱風天(台灣遇到颱風大部分會放假) 彈性休假 閏年 過年等等, 會仿真的比較全面 |
|