|
|
发表于 2012-8-16 23:39:06
|
显示全部楼层
其實我不太了解kelitina主 是要抓出每tick資料嗎? 還是你是要抓每一tick的運行時間?! b# ? H) F8 d! s
1.如果是抓每一tick的時間, 我的印象中你的agent如果太多就會超慢(有時還會當掉): Y/ ^ @4 w8 I$ q- Y9 b
2.如果是抓出每tick資料我再回你~!
* Z: K# B6 K8 [3.如果都不是我講的這些, 在和我說一聲感謝!!
% {$ w: b& j, i. M: Y---
0 L$ K5 U1 W+ V4 \9 ^( E9 E或是說, 你可能遇到的困擾可能是我下面提的這個也有可能:
# s5 p( ?8 E; T' L. @" ^ E時間這部分牽扯到兩種模式, 我把它叫做"時間模式" 和 "流程模式"
; P5 C5 f3 M3 l0 P) `% u! h4 p- Z+ h- n0 F- ~& G/ R
「時間模式」就是一個tick代表一個時間單位, 可能是秒, 是時 ,是天
- }) P% C& l% ?& k但這有個問題, 因為我們在寫agent的時候, 很難去分說agent做這件事花多少時間0 y, u2 V' S: s) v) U
可能在一個市場仿真中, 顧客每一tick移動是一分鐘(或30秒)
6 D. S% d: g; D/ J但是補貨員可能兩天才來補一次(等於你要寫個IF條件判斷說時間到了2天才能GO)+ I0 C G5 T0 L$ z5 S
但是這會有個"誤差"存在才對, 所以如果真的要這樣寫我是建議加上一個random variable4 R; _$ N- o! t* l% ~$ T2 F
# m7 Q @2 Y5 e# L& R「流程模式」就是一個tick代表一個階段性任務的完成, 可能是火車過一站算一個tick
* z; b! ]4 n7 u: _這也是ok的, 但是火車過每一站的時間其實不同, 所以這部分就會被忽略掉, 但是要小心
# g5 R! a. K+ H7 b* i3 z這可能是會影響你的結果的關鍵因素
# B" Y: T. m: l(例如其實火車可能因為某一站路途過長, 原則上應該會在半途沒油之類的)
- X) O6 [# G+ f) `) ^, }1 r: u0 _
---9 A* r) H* H7 K4 |- _) J
至於我的經驗是這樣, 和你分享:
X8 s5 R( o" I1 v: o4 X$ O像我跑的大部分都是以日為單位
, Y/ Y) h; K+ t( n+ g: G可能跑個10年20年, 如果是這樣的話, 我是以tick轉換成office日期為主
; V" |0 R9 ^: k% s( m所以tick=1時就是1900年1月1日(office的設定)) J: h' P- S* ]' h6 m
依此類推, 我在做期貨仿真會有些不同, 原因是我從2000年起做期貨交易仿真2 ] p' D* S% E0 e8 _/ G( [
可能有幾天有颱風天(台灣遇到颱風大部分會放假) 彈性休假 閏年 過年等等, 會仿真的比較全面 |
|