|
发表于 2012-8-16 23:39:06
|
显示全部楼层
其實我不太了解kelitina主 是要抓出每tick資料嗎? 還是你是要抓每一tick的運行時間?1 }% X! y. q* M2 m7 n
1.如果是抓每一tick的時間, 我的印象中你的agent如果太多就會超慢(有時還會當掉)2 X' f% s6 z2 I
2.如果是抓出每tick資料我再回你~!, L6 [2 j6 J( x m" `
3.如果都不是我講的這些, 在和我說一聲感謝!!
7 P0 w2 s& q) P; Y5 i---8 e( u% _4 F" F; r5 v0 w
或是說, 你可能遇到的困擾可能是我下面提的這個也有可能:4 N! L5 F* R9 J- A
時間這部分牽扯到兩種模式, 我把它叫做"時間模式" 和 "流程模式" k+ @) ?9 f0 g2 h+ e0 f
9 D: J/ o- y* Y2 I# {* W1 F
「時間模式」就是一個tick代表一個時間單位, 可能是秒, 是時 ,是天7 D2 o, u7 F+ h# N; T
但這有個問題, 因為我們在寫agent的時候, 很難去分說agent做這件事花多少時間1 \* |7 a2 @# k% I3 a$ ~- t) p
可能在一個市場仿真中, 顧客每一tick移動是一分鐘(或30秒)
+ m( `2 o: F9 f但是補貨員可能兩天才來補一次(等於你要寫個IF條件判斷說時間到了2天才能GO)3 P2 s) `' M- D5 z W" N# O
但是這會有個"誤差"存在才對, 所以如果真的要這樣寫我是建議加上一個random variable" W8 f. W% V5 |' p# [! ^
& q2 O% v3 s& L0 \ u「流程模式」就是一個tick代表一個階段性任務的完成, 可能是火車過一站算一個tick
# u! _4 @7 I8 m7 _這也是ok的, 但是火車過每一站的時間其實不同, 所以這部分就會被忽略掉, 但是要小心
6 D0 [, l3 a8 R* F這可能是會影響你的結果的關鍵因素% c# J' v8 k2 a8 \8 v: e0 k+ s* c8 r
(例如其實火車可能因為某一站路途過長, 原則上應該會在半途沒油之類的)
! T3 q* j: {6 M0 s1 H8 s# |* O3 L8 Q2 w' [( Z$ i5 C3 k- S* S( M
---
$ V5 `& Q; r$ J" C e至於我的經驗是這樣, 和你分享:
0 M- J; w i( W5 N. [像我跑的大部分都是以日為單位5 d% ]: V2 [5 ?, Z( M
可能跑個10年20年, 如果是這樣的話, 我是以tick轉換成office日期為主
& I& f: N: w2 d; x0 {所以tick=1時就是1900年1月1日(office的設定)# c6 }6 w# m) I; q" ~: l4 l, k" i
依此類推, 我在做期貨仿真會有些不同, 原因是我從2000年起做期貨交易仿真; e0 _% e7 x9 C ^
可能有幾天有颱風天(台灣遇到颱風大部分會放假) 彈性休假 閏年 過年等等, 會仿真的比較全面 |
|