|
发表于 2012-8-16 23:39:06
|
显示全部楼层
其實我不太了解kelitina主 是要抓出每tick資料嗎? 還是你是要抓每一tick的運行時間?, e; k. m5 y0 K; @ X% \
1.如果是抓每一tick的時間, 我的印象中你的agent如果太多就會超慢(有時還會當掉)
& u( h+ d$ m" ]! b b, |0 B2.如果是抓出每tick資料我再回你~!$ T" X$ n+ W, ^9 D& {
3.如果都不是我講的這些, 在和我說一聲感謝!!
! x7 C7 W4 K$ u: h* \) z* u---
+ z5 y0 w7 G. q% p, W8 i或是說, 你可能遇到的困擾可能是我下面提的這個也有可能:8 w) C5 N- P- i. p+ N
時間這部分牽扯到兩種模式, 我把它叫做"時間模式" 和 "流程模式"
, q6 A5 `" o% F9 [" x& n1 I' i5 s# l. c- j" K0 u1 l5 V
「時間模式」就是一個tick代表一個時間單位, 可能是秒, 是時 ,是天2 p: o" A1 D4 p/ Q% y1 B) `: f9 g
但這有個問題, 因為我們在寫agent的時候, 很難去分說agent做這件事花多少時間6 r+ U! [+ x: |
可能在一個市場仿真中, 顧客每一tick移動是一分鐘(或30秒)% V: r1 ~( B$ v4 q
但是補貨員可能兩天才來補一次(等於你要寫個IF條件判斷說時間到了2天才能GO), E; h1 h3 n, e' e' K
但是這會有個"誤差"存在才對, 所以如果真的要這樣寫我是建議加上一個random variable# q, p6 F2 K, }7 ?6 `$ o/ u
& d# \( M+ R- I5 ^+ N x8 G
「流程模式」就是一個tick代表一個階段性任務的完成, 可能是火車過一站算一個tick1 b4 }; u7 K, I& T8 l: e! z- [* i. f6 d
這也是ok的, 但是火車過每一站的時間其實不同, 所以這部分就會被忽略掉, 但是要小心( e- f( M. i2 i w/ p) m' d' r
這可能是會影響你的結果的關鍵因素
, e C6 Z, L# X2 h& e5 _' f(例如其實火車可能因為某一站路途過長, 原則上應該會在半途沒油之類的)) T% q. X+ I! K9 T
. n1 [$ q+ n# E2 u$ ~9 S' ?---* [' H8 f/ P: U; o2 {- _
至於我的經驗是這樣, 和你分享:7 {: |/ V* i H4 m% B/ w
像我跑的大部分都是以日為單位
; d5 T {* Z6 g" a3 z可能跑個10年20年, 如果是這樣的話, 我是以tick轉換成office日期為主( }( i- b, d& _5 q6 d( Z
所以tick=1時就是1900年1月1日(office的設定)
3 l$ _- v% w& H8 |6 P: g依此類推, 我在做期貨仿真會有些不同, 原因是我從2000年起做期貨交易仿真
$ s: u, K1 U8 N# A* c# U; O可能有幾天有颱風天(台灣遇到颱風大部分會放假) 彈性休假 閏年 過年等等, 會仿真的比較全面 |
|