Modeling methodologies The two main modeling methodologies are: Continuous and Discreteevent. Continuous modeling is used to describe a flow of values. Discreteevent models track unique entities. The two main modeling methodologies are: Continuous and Discrete event. In addition to these main modeling methodologies, other modeling approaches are useful and usually based on one of the two main methods: Monte Carlo, Agentbased and StateAction (Imagine That Inc., 2007). To model different aspects of the real system it is possible to use different methods. However, it should be understood that there is no such thing as “the” model of a system. A system can be modeled in a number of different ways depending on what it is one want to accomplish. How the system is modeled depends on the purpose of the model and what kind of information is needed (Imagine That Inc)
Trang 1Mô Phỏng Sự Kiện Rời Rạc
Discrete Event Simulation
LUONG DUC LONG (Ph.D, NUT JAPAN)
1 LUONG DUC LONG (Ph.D)
Trang 2• Modeling methodologies
The two main modeling methodologies are: Continuous and
Discrete-event Continuous modeling is used to describe a flow
of values Discrete-event models track unique entities.
The two main modeling methodologies are: Continuous and
Discrete event In addition to these main modeling
methodologies, other modeling approaches are useful
and usually based on one of the two main methods: Monte Carlo, Agent-based and State/Action (Imagine That Inc., 2007).
To model different aspects of the real system it is possible to use different methods However, it should be understood that there
is no such thing as “the” model of a system A system can be modeled in a number of different ways depending on what it is one want to accomplish How the system is modeled depends on the purpose of the model and what kind of information is needed (Imagine That Inc., 2007) LUONG DUC LONG (Ph.D) 2
Trang 3• Continuous Models
• In continuous models, the time step is fixed at the beginning of the simulation Time advances in equal increments and values change based directly on changes in time In this type of model, values
reflect the state of the modeled system at any particular time and simulated time advances evenly from one time step to the next, see figure 3.1 Continuous simulations are comparable to a constant
stream of fluid passing through a pipe The volume may increase or decrease at each time step, but the flow is continuous (Imagine
That Inc., 2007).
Trang 4LUONG DUC LONG (Ph.D) 4
Discrete event
In discrete-event models, the system changes state as events
occur and only when those events occur The mere passing of
time has no direct effect on the model Unlike a continuous
model, simulated time advances from one event to the next and it
is unlikely that the time between events will be equal, see figure 3.2 A factory that assembles parts is a good example of a discrete event system The individual entities (parts) are assembled based
on events (Imagine That Inc., 2007).
Trang 5• System state variables
• The system state variables are the collection of all information needed to define what is happening within the system to a sufficient level at a given point in time The determination of system state variables is a function of the purposes of the investigation So what may be the system state variables in one case may not be the same in another case even though the physical system is the same Determining the system state variables is
as much an art as a science (Banks, 2000).
• Having defined system state variables, a contrast can be made between discrete-event models and continuous models based on the variables needed to track the system state The system state variables in a discrete- event model remain constant over intervals of time and change value only
at certain well-defined points called event times Continuous models have system state variables defined by differential or difference equations giving rise to variables that may change continuously over time (Banks, 2000) Some models are mixed discrete-event and continuous There are also continuous models that are treated as discrete-event models after some reinterpretation of system state variables, and vice versa (Banks, 2000).
Trang 6LUONG DUC LONG (Ph.D)
Trang 7SIMULATION SYSTEMS
• Several simulation systems have been designed specifically for construction (e.g., Halpin 1992, Martinez 1996) These systems use some form of network based on Activity Cycle Diagrams to represent the essentials of a model.
• These systems are designed for both simple (e.g., CYCLONE) and very advanced (e.g., STROBOSCOPE) modeling tasks but do not satisfy the need for a very easy to learn and simple tool capable
of modeling moderately complex problems with little effort
EZStrobe is designed to fill this void in currently existing
simulation tools and to facilitate the transition to more advanced tools (e.g STROBOSCOPE) as the system is outgrown
7 LUONG DUC LONG (Ph.D)
Trang 8Các loại mô phỏng
• Mô phỏng trong XD có nhiều loại (liên tục, rời rạc) và bao gồm nhiều cấp bậc, từ Very basic đến very advance
• Ví dụ: Crystal Ball dùng cho mô phỏng liên tục (chức năng overlay sẽ cho nhiều hình chồng
lên nhau)- Bài toán nâng cao_ NETCOR_wang 200o
• Ví dụ: Strobocope/ EZstrobe là ngôn ngữ trong
mô phỏng rời rạc (bài học này)
Trang 9Ý nghĩa của mô phỏng
Mô phỏng sự kiện rời rạc sẽ hỗ trợ thấy được 8 loại của sự phí phạm
Trang 10• Từ đó: Cần phân biệt Khả năng và mức độ ápdụng của các tiến độ:
- Tiến độ phương pháp đường găng- CPM (MP 2007)
- Tiến độ thi công dựa theo Mô phỏng
(Strobocope), hoặc tiến độ công trường (LAST PLANNER==Lean Construction- Khai thác
những vấn đề về DÒNG CÔNG
ViỆC-WORKFLOW)
Trang 11LUONG DUC LONG (Ph.D) 11
Trang 12CÁC THÀNH PHẦN MÔ PHỎNG CƠ BẢN TRONG EZSTROBE
12 LUONG DUC LONG (Ph.D)
EZStrobe- là version đơn giản của STROBOCOPE- Mô
phỏng dựa vào TÀI NGUYÊN- dựa vào TRẠNG THÁI cho
các tiến trình xây dựng
Trang 13ACTIVITY CYCLE DIAGRAMS AND ACTIVITY
SCANNING
• Activity Scanning models are prepared based on the various activities that can take place in an operation
The modeler focuses on identifying activities, the
conditions under which the activities can happen, and the outcomes of the activities when they end
Martinez and Ioannou (1999) describe in detail the
differences between Activity Scanning and other
paradigms
• For an earth-moving operation where wheel loaders load trucks from a stockpile, for example, the modeler may identify activities as shown in Table 1 These
models are typically represented using Activity Cycle Diagrams (ACDs), which are networks of circles and
squares that represent idle resources, activities, and their precedence
13 LUONG DUC LONG (Ph.D)
Trang 14• The ACD of Figure 1 for example, is a graphical
representation of the information in Table 1 The rectangles represent activities (resources
collaborating to achieve a task), the circles
represent queues (idle resources), and the links between them represent the flow of resources
• ACDs of this type are used to express the main
concepts of a simulation model other details of the model such as startup conditions not related
to resource availability, are not shown
• The ACD is used as a guide for coding the model using a general-purpose or simulation
programming language
ACD
14 LUONG DUC LONG (Ph.D)
Trang 15Table 1
ACD
15 LUONG DUC LONG (Ph.D)
Trang 1616 LUONG DUC LONG (Ph.D)
Trang 17• EZStrobe ACDs are annotated extensions of
the standard ACD's described above The
EZStrobe ACD for the same earthmoving
operation described in Table 1 and Figure 1 isshown in Figure 2
EZStrobe
17 LUONG DUC LONG (Ph.D)
Trang 1818 LUONG DUC LONG (Ph.D)
Trang 19• The network of Figure 2 is more compact than the one
in Figure 1 Some queues such as RdyToHaul in Figure 1
are superfluous because they link activities that
immediately and unconditionally follow each other
• Such queues have been removed to indicate that some activities immediately follow their predecessors
because the conditions needed for them to start are
completely satisfied by the predecessor's outcome
• Hauling, for example, immediately follows loading,
making it unnecessary to show trucks in a 'ready to
haul' state.
EZStrobe
19 LUONG DUC LONG (Ph.D)
Trang 20• Unlike the ACD of Figure 1, the annotations of the EZStrobe ACD of Figure 2 make it a complete and
unambiguous representation of the operation
• The "1000" written in the bottom of SoilInStkPl
indicates that at the beginning of the operation the
Queue will contain 1000 units of resource (cubic
meters)
– The first part of the annotation shown on the link that
connects TrkWtLd to Load (">0") indicates that one of
the conditions needed for Load to start is that more than zero units of resource exist in TrkWtLd The other two
conditions needed for Load to start are that at least 15 units of resource exist in SoilInStkPl and that more than zero exist in WhlLdrIdle
EZStrobe
20 LUONG DUC LONG (Ph.D)
Trang 21- The second part of the annotations on those links
(",1", ",15", and ",1") indicate that 1, 15, and 1 units
will be removed (if possible) from TrkWtLd,
SoilInStkPl, and WhlLdrIdle every time Load starts
The "Uniform[1.3,1.8]" shown inside Load indicates
that its duration is sampled from a uniform
distribution with minimum 1.3 and maximum 1.8
(minutes) The "15“ shown on the link that connects
Dump to DumpdSoil indicates that one of the
outcomes of Dump is the insertion of 15 units of
resource into DumpdSoil.
EZStrobe
21 LUONG DUC LONG (Ph.D)
Trang 22• In EZStrobe models, all activity startup conditions and outcomes are in terms of resource amounts Resources that reside in the same location are
assumed to be indistinguishable,
interchangeable, and exist in bulk quantities (i.e., their amounts can be expressed with real
numbers and are not limited to integers)
• EZStrobe does not enforce the type of resources and the units with which they are measured
the modeler is responsible for maintaining
consistency.
22 LUONG DUC LONG (Ph.D)
Trang 2323 LUONG DUC LONG (Ph.D)
Trang 2424 LUONG DUC LONG (Ph.D)
Trang 2525 LUONG DUC LONG (Ph.D)
Trang 2626 LUONG DUC LONG (Ph.D)
Trang 2727 LUONG DUC LONG (Ph.D)
Trang 2828 LUONG DUC LONG (Ph.D)
Trang 2929 LUONG DUC LONG (Ph.D)
Trang 3030 LUONG DUC LONG (Ph.D)
Trang 3131 LUONG DUC LONG (Ph.D)
Trang 3232 LUONG DUC LONG (Ph.D)
Trang 3333 LUONG DUC LONG (Ph.D)
Trang 34Các lưu ý khi dùng EZStrobe
• Công tác có điều kiên (Conditional Act): màu xanh= vừa bắt đầu; màu đỏ vừa làm xong
Công tác thường Di_ve 2/5 có 5 công tác Di_ve đã bắt đầu và có 2 công tác Di_ve đã xong
Trang 35Bài tập
• Mô phỏng EZStrope cho thi công lắp ghép nhà công nghiệp vì kèo thép
• Cách làm: Đến công trường thực tế xác định mặt bằng, vị trí bải chứa, các chuyển động, số máy cẩu, xe tải… đo lường thời gian thực hiện các hoạt động để có Phân bố xác suất
• Lập ACD dùng EZStrobe mô phỏng
Trang 3737 LUONG DUC LONG (Ph.D)
Tại thời điểm
tức thời thì
Truck ko còn,
SoilStock còn
895
Trang 38Case 1
38 LUONG DUC LONG (Ph.D)
Trang 3939 LUONG DUC LONG (Ph.D)
Trang 40Case 2
40 LUONG DUC LONG (Ph.D)
Trang 4141 LUONG DUC LONG (Ph.D)
Trang 42Case 3
42 LUONG DUC LONG (Ph.D)
Trang 4343 LUONG DUC LONG (Ph.D)
Trang 44Case 4 (*a)
44 LUONG DUC LONG (Ph.D)
Trang 4545 LUONG DUC LONG (Ph.D)
Trang 46Case (4 *b)
46 LUONG DUC LONG (Ph.D)
Trang 4747 LUONG DUC LONG (Ph.D)
Trang 48Case 4*c
48 LUONG DUC LONG (Ph.D)
Trang 4949 LUONG DUC LONG (Ph.D)
Trang 50Case 4*d
50 LUONG DUC LONG (Ph.D)
Trang 5151 LUONG DUC LONG (Ph.D)
Trang 52Case as in Martinez
52 LUONG DUC LONG (Ph.D)
Trang 5353 LUONG DUC LONG (Ph.D)
Trang 54Case as in Martinez (6 Trucks)
54 LUONG DUC LONG (Ph.D)
Trang 5555 LUONG DUC LONG (Ph.D)
Trang 56Case as in Martinez (7 Trucks)
56 LUONG DUC LONG (Ph.D)
Trang 5757 LUONG DUC LONG (Ph.D)
Trang 58Probabilistic Branching
• EZStrobe can probabilistically select one
among several successors to an activity for
resource routing and activation
• This is achieved with a Fork and the Branch
Links that emanate from it The EZStrobe ACD
of Figure 3 illustrates this by expanding the
model of Figure 2 to include the possibility of
a truck breakdown
58 LUONG DUC LONG (Ph.D)
Trang 59• In the model there is a 5% chance that a truck will
break down after dumping and that repairs will take
between 10 and 60 minutes The probability of a
particular branch being selected is calculated by
dividing its P value by the sum of the P values of all the branches that leave the link
• Thus, the probability of the activity Repair starting
when Dump ends is 5/(95+5)=0.05 Regardless of
whether a truck breaks down or not, the DumpdSoil
Queue will receive 15 units of resource (cubic meters of
soil) because it is connected directly to Dump.
59 LUONG DUC LONG (Ph.D)
Trang 6060 LUONG DUC LONG (Ph.D)
Trang 61LOI GIAISOLUTION
61 LUONG DUC LONG (Ph.D)
Trang 6262 LUONG DUC LONG (Ph.D)
Trang 63TIM LOI SAI TRONG MO HINH NAY?
63 LUONG DUC LONG (Ph.D)
Trang 6464 LUONG DUC LONG (Ph.D)
Trang 6565
Trang 66MODELING COMPLEX LOGIC
Consider a more detailed and complex version
of an earthmoving operation where
• 1) an excavator is used instead of a wheel
loader and its cycle is modeled explicitly and
• 2) the haul road has a narrow portion that
allows travel in only one direction (i.e., either loaded traffic or emptytraffic, but never both simultaneously)
Trang 67Modeling The Excavator Cycle
• Wheel loaders load trucks with material that has already been excavated and stockpiled
Excavators, on the other hand, dig material from their undisturbed natural state
• This is done in a cycle where the excavator swings empty from the truck loading position to the
digging position, excavates, swings loaded from the digging position to the truck loading position, waits for a truck if one is not already there, and dumps the excavated material unto the truck.
Trang 68The components of the excavator cycle are
Trang 69LUONG DUC LONG (Ph.D) 69
Do gau chua
Trang 70• The conditions needed for DumpBucket to start are that a
truck be under the excavator (TrkUndrExc contains a truck) and that the excavator be waiting to unload its bucket unto
a truck (ExcWtDmp contains the excavator)
• The link that connects TrkUndrExc to DumpBucket indicates,
however, that zero trucks are removed from TrkUndrExc
when DumpBucket starts Because the truck needs to be
under the excavator to receive a bucket load, but remains under the excavator after receiving the load
• In this model, the truck that is under the excavator and the soil that it contains are represented by two separate
queues, TrkUndrExc and SoilInTrk Every time the
DumpBucket activity concludes, 2.5 m3 of soil are placed in SoilInTrk.
Trang 71• The Haul1 conditional activity takes place
whenever there is a full truck under the excavator
(TrkUndrExc contains a truck and SoilInTrk
contains 15 m3 of soil) It is when this activity
starts that the truck leaves the spot under the
excavator and that the TrkUndrExc and SoilInTrk
queues are cleared
• Haul1 represents the truck traveling loaded from
the load area towards the entrance to the narrow portion of the road
Trang 72LUONG DUC LONG (Ph.D) 72
Trang 73• In this detailed modeling of the truck loading, the next truck to be loaded needs to enter the loading area and position itself under the excavator
• This is represented by the EnterArea conditional
activity According to the ACD, EnterArea takes place
when there is at least one truck waiting to be loaded
(the content of TrkWtLd is >0), maneuvering space is available (the content of ManeuvSpc is >0), and there is
no truck under the excavator (TrkUndrExc is empty).
• The link that connects TrkUndrExc to EnterArea
indicates that no truck is removed from TrkUnderExc
when EnterArea starts.
Trang 74Modeling The Narrow Segment
• The haul road has a narrow portion that allows travel in only one direction (i.e., either loaded traffic or empty traffic, but never both simultaneously)
• The direction of travel is established by the first truck
to arrive at the segment when it is empty That
direction is maintained as long as trucks keep arriving
at the segment in that same direction or until the
segment is again empty
• If trucks are waiting at the other end when the
segment becomes empty, then the direction of travel is reversed to allow those trucks to travel.