|
|
发表于 2012-8-16 23:39:06
|
显示全部楼层
其實我不太了解kelitina主 是要抓出每tick資料嗎? 還是你是要抓每一tick的運行時間?
' `2 R! E+ w: D# k! Q/ l5 |7 m1.如果是抓每一tick的時間, 我的印象中你的agent如果太多就會超慢(有時還會當掉)
. L; h2 D X' B5 _* [0 s* ^2.如果是抓出每tick資料我再回你~!
/ p9 f- R% A& i* g3.如果都不是我講的這些, 在和我說一聲感謝!!
4 q9 u9 a( K' @. ?---; c4 ^4 P( b* |
或是說, 你可能遇到的困擾可能是我下面提的這個也有可能:/ b) i i$ A2 `) q
時間這部分牽扯到兩種模式, 我把它叫做"時間模式" 和 "流程模式"
# C( {* X% C0 s2 e& @& p; k- O5 \+ o4 x5 j
「時間模式」就是一個tick代表一個時間單位, 可能是秒, 是時 ,是天3 V& h; u- D( a( I5 ^
但這有個問題, 因為我們在寫agent的時候, 很難去分說agent做這件事花多少時間
+ W- Y. a) Z! Y: K" {可能在一個市場仿真中, 顧客每一tick移動是一分鐘(或30秒)
; P' X4 C, o( i但是補貨員可能兩天才來補一次(等於你要寫個IF條件判斷說時間到了2天才能GO)
, }7 G& T$ Q2 K7 Y但是這會有個"誤差"存在才對, 所以如果真的要這樣寫我是建議加上一個random variable
% K0 b5 Z. G4 L/ Y
$ ~# q8 r$ C! c {8 c7 e& r6 [# ~「流程模式」就是一個tick代表一個階段性任務的完成, 可能是火車過一站算一個tick9 X/ U8 F# [% t9 ^
這也是ok的, 但是火車過每一站的時間其實不同, 所以這部分就會被忽略掉, 但是要小心6 `. @0 V; x/ W+ _& T) M k: Y0 `
這可能是會影響你的結果的關鍵因素
* }7 y5 {0 f& t" f8 b(例如其實火車可能因為某一站路途過長, 原則上應該會在半途沒油之類的)# J C% y: z8 v4 x9 m( i# r/ ?
( w( E* a: I# D+ }9 r" E/ z3 {
---
# w6 E& B2 M4 d0 a# N' p. e至於我的經驗是這樣, 和你分享:, F% P( f9 Q6 h6 a8 C' I
像我跑的大部分都是以日為單位- D9 y! F/ c) N: L. r. D5 g
可能跑個10年20年, 如果是這樣的話, 我是以tick轉換成office日期為主; T: i/ c7 c n, w# K2 a
所以tick=1時就是1900年1月1日(office的設定)7 U: [- G/ {* \ b S
依此類推, 我在做期貨仿真會有些不同, 原因是我從2000年起做期貨交易仿真8 t& S B& v: x" L2 M( V: r! a5 m
可能有幾天有颱風天(台灣遇到颱風大部分會放假) 彈性休假 閏年 過年等等, 會仿真的比較全面 |
|