|
|
发表于 2012-8-16 23:39:06
|
显示全部楼层
其實我不太了解kelitina主 是要抓出每tick資料嗎? 還是你是要抓每一tick的運行時間?6 v4 m$ ^) c' `; \7 g2 T. o
1.如果是抓每一tick的時間, 我的印象中你的agent如果太多就會超慢(有時還會當掉); {. k7 |; f/ N8 Y4 J. ^
2.如果是抓出每tick資料我再回你~!+ l- `9 j% }) }" f
3.如果都不是我講的這些, 在和我說一聲感謝!!
! F1 C5 {* r+ s4 n, t8 S---
! K# a7 t; |6 X( E或是說, 你可能遇到的困擾可能是我下面提的這個也有可能:
/ P6 M& r4 C7 m8 r0 F/ \5 } [時間這部分牽扯到兩種模式, 我把它叫做"時間模式" 和 "流程模式"! o9 X' i7 N0 y C9 \+ S
9 A1 K3 J& I! c5 K2 @) n* g4 D
「時間模式」就是一個tick代表一個時間單位, 可能是秒, 是時 ,是天3 y2 J! v2 P, m5 F/ V$ P) V6 s
但這有個問題, 因為我們在寫agent的時候, 很難去分說agent做這件事花多少時間
9 C+ I" k3 n& k( Q$ {+ P# S+ N可能在一個市場仿真中, 顧客每一tick移動是一分鐘(或30秒)) s l8 a" h- C& u# \; f0 b6 x: F
但是補貨員可能兩天才來補一次(等於你要寫個IF條件判斷說時間到了2天才能GO), s% ^# f3 I% v% l8 }" x% N
但是這會有個"誤差"存在才對, 所以如果真的要這樣寫我是建議加上一個random variable
/ ?4 f3 ^1 z2 D& e. V& q% S" _# d3 z4 a& |8 ]9 C3 j2 a' O" y! n6 G- A3 Q
「流程模式」就是一個tick代表一個階段性任務的完成, 可能是火車過一站算一個tick
3 e5 L( O% x3 P( E9 s" J) a; m這也是ok的, 但是火車過每一站的時間其實不同, 所以這部分就會被忽略掉, 但是要小心
0 t' c# E, u- e* x# A0 C這可能是會影響你的結果的關鍵因素1 K9 [. F5 {0 L* {7 H7 k! C
(例如其實火車可能因為某一站路途過長, 原則上應該會在半途沒油之類的)
. F( W0 p$ ]" t" W9 v; A3 f- I$ d
1 v; u, w, q: B- q---' d! N1 j9 b0 M X" l/ h
至於我的經驗是這樣, 和你分享:; ~& x$ b; _, o
像我跑的大部分都是以日為單位8 `; q' X. ~8 Y- G) |
可能跑個10年20年, 如果是這樣的話, 我是以tick轉換成office日期為主
0 `7 u5 j/ Y- u所以tick=1時就是1900年1月1日(office的設定)1 x1 _9 [; e& A j6 O' i9 ~
依此類推, 我在做期貨仿真會有些不同, 原因是我從2000年起做期貨交易仿真5 u' J f& X5 g8 G$ V
可能有幾天有颱風天(台灣遇到颱風大部分會放假) 彈性休假 閏年 過年等等, 會仿真的比較全面 |
|