|
发表于 2012-8-16 23:39:06
|
显示全部楼层
其實我不太了解kelitina主 是要抓出每tick資料嗎? 還是你是要抓每一tick的運行時間?
: z7 Y( g4 ?* @" k+ r1.如果是抓每一tick的時間, 我的印象中你的agent如果太多就會超慢(有時還會當掉)
' }5 M7 s! B6 s2 w2.如果是抓出每tick資料我再回你~!
% H/ J: \ ?% q" L- O6 a( D3.如果都不是我講的這些, 在和我說一聲感謝!! r3 |6 }7 W" ?- L1 {- c0 j4 H( h
---5 Z$ R% H; v7 K1 ?6 M" U- B
或是說, 你可能遇到的困擾可能是我下面提的這個也有可能:
3 U$ A6 T ^. N' E時間這部分牽扯到兩種模式, 我把它叫做"時間模式" 和 "流程模式"! J; E4 @1 ^# X; I! f8 D# n6 N
$ u j z# I o1 P! X4 m) u
「時間模式」就是一個tick代表一個時間單位, 可能是秒, 是時 ,是天, R+ {9 c; y/ M% q+ ~, A, `! G0 T
但這有個問題, 因為我們在寫agent的時候, 很難去分說agent做這件事花多少時間! v# b; h- V2 p$ P6 j; M' u# u
可能在一個市場仿真中, 顧客每一tick移動是一分鐘(或30秒)
" } ]# z$ V! W; j0 s0 a5 |但是補貨員可能兩天才來補一次(等於你要寫個IF條件判斷說時間到了2天才能GO)& @, G8 l5 ^+ k5 B- x* P
但是這會有個"誤差"存在才對, 所以如果真的要這樣寫我是建議加上一個random variable% l! R* X0 T4 y* n4 }. X U! f
2 I0 a/ V& M5 ~4 \「流程模式」就是一個tick代表一個階段性任務的完成, 可能是火車過一站算一個tick+ }) Z5 r% g8 Q4 e. }
這也是ok的, 但是火車過每一站的時間其實不同, 所以這部分就會被忽略掉, 但是要小心
7 p) P: d) {! c5 J, S這可能是會影響你的結果的關鍵因素
4 T& M. |& Z+ L2 u4 m. v(例如其實火車可能因為某一站路途過長, 原則上應該會在半途沒油之類的)
' p* _! {! q P% v% t3 y0 O0 G7 |( _$ r
---
1 y0 p: A2 s* h- d( Y/ S至於我的經驗是這樣, 和你分享: [! W& k+ u* ~% C
像我跑的大部分都是以日為單位0 f: r2 ]1 {/ q1 P- a4 }
可能跑個10年20年, 如果是這樣的話, 我是以tick轉換成office日期為主, W$ H; L6 Q. R4 w# ~
所以tick=1時就是1900年1月1日(office的設定)0 b1 H- G- [. u2 c* Q8 b1 F" ?4 f
依此類推, 我在做期貨仿真會有些不同, 原因是我從2000年起做期貨交易仿真
7 y( t/ m1 x( N K2 M可能有幾天有颱風天(台灣遇到颱風大部分會放假) 彈性休假 閏年 過年等等, 會仿真的比較全面 |
|