Simulation And Resource-Based Scheduling - MIT OpenCourseWare

1y ago
14 Views
2 Downloads
1.02 MB
60 Pages
Last View : 22d ago
Last Download : 6m ago
Upload by : Grady Mosby
Transcription

Simulation and ResourceBased SchedulingNathaniel Osgood3-30-2004

Topics Simulation Methods Resource algorithms Static vs dynamic schedulingScheduling granularityGERTDemosProcess interaction languagesActivity scanning languagesOptimalHeuristicLine of balance method

Static vs. Dynamic Scheduling Static Scheduling Dates known ahead of time Coordination with stakeholders Coordination with subcontractorsCoordination pre-planned (e.g. reservation system) Can’t take advantage of early finishes, arrivals, etc. Dynamic Scheduling (“Wait and See”)Dynamic coordination takes time (queuing) Prevents needless waiting if finish early Both get done!

Topics Simulation Methods9 Resource algorithms Static vs dynamic schedulingScheduling granularityGERTDemosProcess interaction languagesActivity scanning languagesOptimalHeuristicLine of balance method

Granularity of Scheduling Fine-grained (particular crews, indiv.) advantages Can reason about Crew productivity Balancing workload among crews Distance traveled for particular crews Coarser-grained advantagesCombinatorially more challenging May inhibit creativity in dynamic scheduling Generally, leave dynamic (or “quasi-dynamic”)factors that don’t consider statically

Topics Simulation Methods99 Resource algorithms Static vs dynamic schedulingScheduling granularityGERTDemosProcess interaction languagesActivity scanning languagesOptimalHeuristicLine of balance method

Major Types of Simulation Discussed here: Discrete Event SimulationOldest: GERT/Q-GERT (Pritsker) Common representation: Activity Cycle Diagrams Transaction-based (“Process interaction”) approaches SLAMGPSS Activity-scanning approaches CYCLONESTROBOSCOPENot discussed today: System DynamicsNB: graphical rep. & implementation may differ

GERT Basics Builds on Activity-on-Arrow diagramsDiscrete semantics“Transactions” (“entities”) flow through system Fire off additional transactions Transactions secure resources for processing Must wait until needed resources are availableProbabilisticDurations Branching & Looping Time no longer linearly increasing to right!

Most Common Q-GERT Node

Arrows Represent activitiesSometimes use dummies, sometimese not Representation 1:Exp(λ)N(µ,σ) Exp(λ)(Dummy)Representation 2:N(µ,σ)

GERTLooping/Branching Constructs BranchingDeterministic (like CPM/PERT) Probabilistic Rework CycleExample of Probabilistic Branching and Looping-noEquivalent Arrow Diagram Possible.Drop projectInitialprojectactivitiesEvaluation ofalternative enginedevelopment1110Rework (Recycle loop)1120Proceed to developsolid fuel engineProceed to developliquid fuel engine

Corresponding Aggregate CPMRepresentation

Additional GERT Node Types Source/Sink nodesStatistics nodesFirst/all realizations Interarrival time Time interval from mark node Etc. Mark nodesDiversity in realization types, etc.

Q-GERT: Introduces Queues Delivers entities to outgoing activities Outgoing activities are associated with # of servers # clients that can process in parallel Accumulates objects up to some capacityBacks up if cannot process immediately “Balks” if reaches capacity Combination elements to combine transactionsLed to development of GASP, SLAM

GERT Applications Offshore Oil Rigs (Granli)Alaska PipelineReservoir construction (Pena Mora)

Construction Simulation Languages Equally powerful: All “Turing Equivalent” i.e. Any language can simulate any otherDiffer in terms ofEase of use Extensibility Expressiveness for construction domain How natural is it to describe construction scenarios? Two main framework: process interaction andactivity scanning

Topics Simulation Methods999 Resource algorithms Static vs dynamic schedulingScheduling granularityGERTDemosProcess interaction languagesActivity scanning languagesOptimalHeuristicLine of balance method

Activity Cycle Diagrams:Common Visual RepresentationRectangles: ActivitiesCircles: Queues (resources in particular state)ACD for Scraper and Pusher umpedSoilDumpandSpreadReturnSoilRdyToReturnScraper Soil

Simulation Example:Excavation and Transporting Given Front-end loader Trucks Output: ofront-end loaderInstantaneous time between loadsn vehiclesncncsl seo trucksCapacity cd d d ( se sl ) Load time tlsl seInstantaneous dump timeFully loaded speed sl , empty speed seDistance to dumpsite dNaïve productivity: min(ofront-end loader, otrucks)

Topics Simulation Methods9999 Resource algorithms Static vs dynamic schedulingScheduling granularityGERTDemosProcess interaction languagesActivity scanning languagesOptimalHeuristicLine of balance method

Process Interaction Frameworks Examples: SLAM, GPSS, ProModel, SimScript,ModSim, etc.Based on flow of transactions through system Capture and release resources (“machines”)Good in “job shops” where haveClear items moving through system Resources temporarily claimed by items

Process Interaction Shortcomings In construction, identifying what constitutes a“transaction” can be tricky Awkward to represent other entitiesChanging perspective to other entities difficultRisk of deadlock over resources duringsimulation

Process Interaction RepresentationProcess Interaction Flowchart for Scraper and Pusher OperationSplitGenerateAll Scrapers at time 0LoopQueueEnterScrapersWait(B k Track)Bk shersPushersSplitDepartScrapersWait(SoTerminate rTerminate 1

Topics Simulation Methods99999 Resource algorithms Static vs dynamic schedulingScheduling granularityGERTDemosProcess interaction languagesActivity scanning languagesOptimalHeuristicLine of balance method

Activity ScanningSimulation Packages General purposeRepresentation similar to activity cycle diagramsIdentify conditions to allow activities to proceedConstruction-specificCYCLONE STROBOSCOPE

CYCLONE tyThis element is always preceded by Queue Nodes.Before it can commence, units must be available ateach of the preceding Queue Nodes. If units areavailable, they are combined and processedthrough the activity. If units are available at somebut not all of the preceding Queue Nodes, theseunits are delayed until the condition for thecombination is metNormalActivityThis is an activity similar to the COMBI. However,units arriving at this element begin processingimmediately and are not delayedQueueNodeThis element precedes all COMBI activities andprovides a location at which units are delayedpending combination. Delay statistics are measuredat this elementFunctionNodeIt is inserted into the model to perform specialfucntion such as counting, consolidation, marking,and statistic collectionAccumulatorArcIt is used to define the number of timesthe system cyclesIndicates the logical structure of the modeland direction of entity flow

CYCLONE Brick ExampleQualitative Description Labor: 3 masons, 1 laborerScaffold can hold 3 pallets of 10 bricks each

CYCLONE Brick occupied4Positionavailable5Mason removespacket7MasonwaitsresupplyM M6Mason laysbrickM8P

CYCLONE Brick ExampleUnderlying Code NAME 'MASONRY' LEN 500 CYC 9NETWORK INPUT1 QUE 'LAB IDLE'2 COM SET 1 'RESUPPLY' FOL 1 3 PRE 1 43 QUE 'STACK OCCUP'4 QUE 'STACK EMPTY'5 COM SET 2 'PICKUP' FOL 4 6 PRE 3 76 NOR SET 3 'PLACE 10 BRK' FOL 87 QUE 'MASONS IDLE'8 FUN COU QUA 10 FOL 7RESOURCE INPUT1 'LABORER' AT 13 'POSITIONS' AT 43 'MASONS' AT 7DURATION INPUTSET 1 BETA 0.001 5.0 2.6 0.5SET 2 1SET 3 BETA 3 10 7 2.2ENDDATA

ACD for Scrapers and PushersACD for Scraper and Pusher umpedSoilDumpandSpreadReturnSoilRdyToReturnScraper Soil

Topics Simulation Methods999999 Resource algorithms Static vs dynamic schedulingScheduling granularityGERTDemosProcess interaction languagesActivity scanning languagesOptimalHeuristicLine of balance method

Recall Basic Steps ofNetwork Methods Define activities from WBS work packagesEstimate , time, resources for each activityDefine precedence relationships between activitiesIterate Perform CPM scheduling In a sense, we are assuming “infinite resources” here!Estimate time, cost, resource usage over project If acceptable, terminate If not acceptable, impose dependencies oradded/reduced resources

Resource Considerations Human resources most importantTime to procure Difficult to release Difficult to reuse on demand Must consider different trades as different types ofresources EquipmentHighly specialized equipment Normal equipment relatively easy to procure ondemand Note constraints -- Permitting issues, etc!

Resource Algorithms Resource Leveling Moving activities within float to minimize fluctuations Especially important for human resourcesNo guarantee that falls within limits of available resources!Resource Scheduling (“Constrained-resourcescheduling”, “Limited Resource Allocation”) No change to schedule duration!Scheduling resources within constraints with minimal extensionof schedule timeKey assumption: Holding individual activity resourceassignments, durations constant

Optimal ResourceScheduling/Leveling Methods Combinatorial problemComputationally very expensive (NP-complete) In principle, would need to compare all possibleorderings of conflicting activities Intuition: Lots of possible start/stop timeswithin constraints Typically too large to realistically enumerate Locally best choice not necessarily globally best ApproachesLinear Programminig Explicit Enumeration “Branch and Bound” (constrained search)

Example of Combinatorial FactorsResource Scheduling1B01A021CD440F10E4LEGEND:Required resourcesEDuration

Best local choice!Possible SchedulesBCCCCEEEECCCCDDDDDuration: 12CCCCBEEEECCCCDDDDDuration: 13CCCCBCCCCEEEEDDDDDuration: 13CCCCBCCCCDDDDEEEEDuration: 13CCCCEEEEBCCCCDDDDDuration: 13CCCCEEEEBCCCCDDDDDuration: 9

Detailed (Crew-Level Scheduling)SectionWork DurationABCDEFGHIJK99887766655

Assignment of Crews to Activities

Integer Programming Formulation Section i, crew j xij 1 if section i assigned to crew j, 0 otherwiseti time for section jProblem: Minimize z subject to constraintsz nactivities i 1ncrews xi jijti xij 1Need to account for assignment of time to resourcesOnly one crew assigned per resource

Topics9Simulation Methods999999 Resource algorithms9 Static vs dynamic schedulingScheduling granularityGERTDemosProcess interaction languagesActivity scanning languagesOptimalHeuristicLine of balance method

Heuristic Methods Use “rules of thumb” to get answer inacceptable timeTypically reach local minimum “Greedy” algorithms do what is locally – but notnecessarily globally – bestTypically use empirical evaluation to judgeSometimes highly problem-specific (e.g. SPAR)sometimes very general (branch & bound,simulated annealing, genetic algorithms, etc.)

Heuristic Scheduling Approaches “Serial” methods: Schedule activity-by-activityConsider prioritized activities in order Schedule as early as possible Less common “Parallel” methods: Schedule by timestepStart with some initial schedule For each timestep, decide which activities to delay Local optimization:Never reconsider activities in progress Based on characteristics of activities that would be active Most commonly used

Heuristic Resource SchedulingMethods: Typical Approach Assign priorities. Example metrics:Shortest Task First Most Resources First Minimum Slack First Most Critical Followers Most Successors Wait untilPredecessors complete Adequate resources available

Empirical Studies Patterson and Davis (1975) compared multipleheuristics, in “serial” and “parallel” modesExamples: Minimum late finish time, function ofEF&LS, greatest resource demand, minimizeresource “idling”, shortest durations first, greatest #of activities, random activity selection, min. slack Most effective: Min slack (i.e. min late start) Minimum late finishNon-optimal 60% of time Serial vs. parallel may be more important than rule

Example Leveling Heuristic(Burgess) Sort activities in reverse order of precedenceAssign activities to early start timeRepeat until sum of squares of resource use For each activity in sorted order Schedule at time that minimizes sum of squares ofresource use (subject to precedence constraints) Repeat with different initial ordering if resourcehighly criticalAdjust for any other factors omitted

Example Heuristic ResourceScheduling Algorithm1.Rank all resources from the most important to the least important2.Set the scheduled start day for each activity to Early Start3.Starting at t 0, compute demand for resource i4.If resource demand for i is greater than availability, select theactivity with the greatest Late Start and shift its start to t 15.Repeat [4] until resource constraint at t for resource i is satisfied.6.Repeat [4] for t t 17.Repeat [3] for resource i 1

Note on Prioritization of Algorithm Assuming no changing of already scheduledactivities, delaying activities in order of late startis same as prioritizing in terms of slackSame as minimizing extension to overall projectduration Selecting minimum slack shown empirically tooutperform others Late finish-based selection also effective

SPAR Algorithm Probabilistic assignment of jobs Not simply “greedy”: Reconsiders earlier decisionsMay change critical path (delay job or resources for crit)Linear time/resource tradeoff assumed Allows for finding multiple local minimai.e. Constant person-days required for activityCritical resources considered for higher resourceallocation If necessary, borrow resources from previously scheduledjobs – but only if don’t extend entire projectIf absolutely necessary, delay other active jobs

Topics9Simulation Methods9999999Resource algorithms99 Static vs dynamic schedulingScheduling granularityGERTDemosProcess interaction languagesActivity scanning languagesOptimalHeuristicLine of balance method

Line-of-Balance Applicability Repetitive ActivitiesSame CrewRate of ProgressMinimize Discontinuity by CrewsRepresented in the Network byContinuous Activities Repetitive Activities Use for planningCrew reuse Planning timing of work Planning speed of work

Plotting Activity Progress LinesEstimatedLocationProgressPLOTTING ACTIVITY PROGRESS LINESTime

Linear Scheduling MethodDiagram

LOB Planning Steps Design Crews Determine Task for Crews Sequence of Trades Location or Work Type Routing around the Job Buffer between Trade Crews

Use of Restraint on LSMDiagram

Activity Interference

Use of Activity Buffers in LSMSchedules

Activity Intervals for LSMSchedules

LOB Advantages Easier to Set-Up than NetworksMore Information Than Gantt ChartsGraphically Shows Rate of ProgressActivity DurationsResource assignmentsResource assignmentsCalendar datesGraphical risk of conflictsAugment Network Scheduling on Projects withRepetitive and Discrete ActivitiesLabor Histograms Can Be PreparedResources May Be BalanceEarnings Curves Can Be Developed

LOB Disadvantages Less Effective When Work is RegularlyInterrupted or When Activities Do NotFollow the Same Order in All LocationsDifficult to Determine Minimum Intervaland/or BuffersHard to represent both horizontal andvertical progression

Resource Algorithms Resource Leveling Moving activities within float to minimize fluctuations No change to schedule duration! Especially important for human resources No guarantee that falls within limits of available resources! Resource Scheduling ("Constrained-resource scheduling", "Limited Resource Allocation") Scheduling resources within constraints with minimal extension

Related Documents:

application to the occurrences of the observed scheduling problems. Keywords: scheduling; class-scheduling; collaborative scheduling; web-based scheduling . 1. Introduction . Academic institutions and universities often find difficulties in scheduling classes [1]. This difficult task is devoted with hefty amount of time, human, and material .

scheduling, focusing on scheduling problems that increased in complexity based on the number of activities to be scheduled and the number of planning constraints. Nine non-expert planners were recruited to complete scheduling tasks using Playbook, a scheduling software. The results of this pilot study show that scheduling

Production scheduling methods can be further classified as static scheduling and dynamic scheduling. Static operation scheduling is performed during the compilation of the application. Once an acceptable scheduling solution is found, it is deployed as part of the application image. In dynamic scheduling, a dedicated system component makes

tasks scheduling and aim for low resource consumption of the scheduling algorithms. In this paper we apply online learning to task scheduling in order to explore the trade-off between performance and energy consumption. We compare resource-aware task scheduling based on three online learning methods: independent rein-

Florida Linear Scheduling Program Florida Linear Scheduling Program (FLSP) v1.0 is a linear scheduling software developed by the University of Florida in 1999. The tool has two functions; the first function is scheduling a specific linear construction project by using the Linear Scheduling Method

the importance of the resource utilization. A. Packet scheduling for a single resource In the network field, packet scheduling is always an im-portant problem and attracts lots of attentions. Traditional scheduling methods are designed for a single resource, e.g., the link bandwidth and the buffer queue. Such methods are usually

Apr 10, 2014 · Operating System Concepts! 6.1! Silberschatz, Galvin and Gagne 2002 Chapter 5: CPU Scheduling! Basic Concepts! Scheduling Criteria ! Scheduling Algorithms! Multiple-Processor Scheduling! Real-Time Scheduling! Algorithm Evaluation!

Alfredo Lopez Austin/ Leonardo Lopeb anz Lujan,d Saburo Sugiyamac a Institute de Investigaciones Antropologicas, and Facultad de Filosofia y Letras, Universidad Nacional Autonoma de Mexico bProyecto Templo Mayor/Subdireccion de Estudios Arqueol6gicos, Instituto Nacional de Antropologia e Historia, Mexico cDepartment of Anthropology, Arizona State University, Tempe, AZ 85287-2402, USA, and .