1 / 35

Efficient Schedule Optimization Techniques in Complex Environments

Explore case studies on scheduling optimization, NP-Complete problem, Syswerda/Palmucci work, U.S. Navy test station, logistics optimization at IUPUI, Facility Scheduling Example, and Transportation Resource Scheduling Example.

lamarb
Download Presentation

Efficient Schedule Optimization Techniques in Complex Environments

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 12Case StudiesPart C

  2. Schedule Optimization

  3. Schedule Optimization • One of the most common applications of EC optimization • Scheduling optimization is an NP-Complete problem • NP-Complete: Sufficiently complex such that any deterministic • search technique that completely searches the problem • domain will probably not find an acceptable answer in an • acceptable time • First case study summary based on the work of Syswerda and • Palmucci • Second case study summary based on logistics optimization done • at IUPUI

  4. The Facility Scheduling Example • Syswerda/Palmucci developed scheduler for U. S. Navy test • station laboratory with aircraft simulators • Schedulers usually schedule tasks • A task is a time and resource requirement • Basic decision for any scheduling project is selection of time • block; one-hour blocks selected in this case

  5. Available Time and Resources • 5 days/week; 16 hours/day • Run scheduler one week at a time • Scheduler must be able to run manually, or for only a part of the • week at a time • In this case study, there are 40 categories of equipment • resources, with multiple instances of some • Five time preference levels (preemptory – neutral – illegal) • More time is spent on rescheduling than on scheduling

  6. Constraints • Two major types of constraints exist: hard (strong) and • soft (weak) • Hard constraints cannot be violated by scheduler. • > Examples: scheduled maintenance • > Can sometimes be overridden manually • Soft constraints can be violated with a penalty assigned • to fitness function. Examples are time and resource • preferences

  7. Transportation Resource Scheduling Example • Multi-location corporation that manufactures electro-mechanical systems • Schedule the shipping of sub-assemblies from warehouse to three final assembly facilities • Facilities A1, A2, and A3 are 10 km equidistant; W and A1 are 20 km apart • Two types of cargo: pallets (two types) and cartons (two types) • Two types of trucks: heavy and light • Heavy trucks and pallets go only to A1 • Light trucks go anywhere but carry only cartons

  8. Geometry of Transportation Resource Scheduling Example

  9. Transportation Resource Scheduling Example, Continued • Orders are placed 6-8 hours in advance • Delivery is desired within a two-hour time window • Only one order per facility for each two-hour time window • Orders can be split among trucks • One truck can carry items for multiple facilities • Capability to reschedule is critical

  10. Major Components of Scheduling System The three major components listed below are common to many scheduling systems * Schedule Builder > Major job is to build “legal” schedules > May take (some) soft constraints into account * Schedule Evaluator > Calculates fitness value for each schedule > Fitness value assigned according to algorithm * Schedule Optimizer > Constructs a task order list > Can be domain independent (this case) or dependent

  11. Schedule Representation • Classic binary coding seldom used now; operators cause infeasible schedules which must be “repaired” • Direct representation: each element must specify the resource, process, and time span; use special operators to maintain feasibility (can’t use random initialization; maybe use traditional schedule builder to initialize) • Indirect representation: preference lists, dispatching rules, job-based representation

  12. Schedule Evaluation • Minimization of makespan: time from beginning to end • Weighted function of seven schedule quality criteria: • Maximum tardiness • Average tardiness • Weighted flow time • Weighted lateness • Weighted tardiness • Weighted number of tardy jobs • Weighted earliness plus weighted tardiness

  13. One Possible Penalty Approach Let di be the desired completion time of an event and ci the actual completion time Earliness (for one task) can be defined as: Lateness (for all tasks) can be defined as: Issues: Time slices (seconds, minutes, etc.), partial credit for orders, etc.

  14. Schedule Builder for Facilities Scheduling * In this case, relatively “simple-minded” – able to build legal schedules with only minor optimization * Is initialized with base schedule that includes hard constraints and some high-priority tasks * Each task is assigned a fitness value for each hour in the week, then sorted by fitness, then by hour in day/week – the result is a preference vector for each task

  15. Schedule Builder, Cont’d. * Tasks are scheduled by looking at “legal” positions * Depth of search is the maximum number of positions examined * The first legal time slot with highest fitness value is scheduled * If no time slots are found within the search depth, the task is not scheduled

  16. Schedule Evaluator * Each task is assigned a priority value - higher values for higher priorities (values: 40-100) * Fitness value is initialized to sum of all task priority values * Tasks scheduled without violating any constraints have priority values added to initial fitness value * Tasks scheduled that violate soft constraints have 1/2 priority values added (or subtract 10 for each soft constraint violated * Tasks not scheduled have priority values subtracted

  17. Data Structures * Each chromosome is a task list permutation * Simple task list, however, doesn’t comprise a schedule, because of: * Resource conflicts * Soft constraint violations * Starting times and stopping times not specified

  18. Crossover and Mutation A variety of crossover and mutation operators are used in scheduling systems. In this case: Order-based mutation: Select 2 tasks at random - then exchange their positions Position-based crossover: Set crossover probability (40% here) Select two parents at random Randomly select crossover positions Task positions in one parent are put in same positions in other parent Tasks not imposed from other parent fill in remaining positions in same order as before crossover

  19. Crossover Example Parent 1: A B C D E F G H I J Parent 2: E I B D F A J G C H Positions Selected: * * * * Child 1: A I B C F D E G H J Child 2: I B C D E F A H J G Crossover probability: .8 --> .2 (for entire chromosome) Mutation probability: .2 --> .8 (for entire chromosome)

  20. Summary of Approach * Simple chromosome representation - task list * Simple schedule builder - builds “legal” schedules with only local optimization * Fitness based on number and priority of tasks scheduled - penalties for soft constraint violations * Used order-based mutation and position-based crossover

  21. Transportation Resource Scheduling Example Three implementations developed: Genetic algorithm Particle swarm optimization Fuzzy logic Used Java 2, JDK 1.3

  22. The Genetic Algorithm Approach Used preference list representation (just an ordered list of tasks). Each individual is the sequence for delivering all items. For example, with 50 items, a chromosome might be: Fitness is sum of items delivered, penalized by linear earliness and sum-squared latenesses. A weighting factor <1 often is used for sum-squared latenesses. Can limit penalty to the priority value.

  23. Crossover for Transportation Example Used position-based crossover, as before. Used two-point crossover, as follows: ^ ^ Point 1 Point2 Exchange the parts between Point1 and Point2: Replace missing numbers in the same order they were originally:

  24. Mutation for Transportation Example Swap mutation was used, as previously. pmis probability of mutation for each item n is the generation index; g is the total number of generations

  25. The Particle Swarm Optimization Approach 2,880-cell individuals; two cells for each minute in a 24-hour day. The first cell for each minute is for heavy trucks, the second for light trucks. Each number in a cell represents a cargo item. If a truck is available to load the item in the list at the given minute, it is loaded. If the item has been delivered, or no resource is available, the cell is ignored.

  26. The PSO Approach, Continued A sample individual: ˆthe first ˆthe second ˆthe third ˆthe fourth ˆthe fifth ˆ…… minute minute minute minute minute The equation: vid = w * vid + c1 * rand( ) * ( pid - xid) + c2 * Rand( ) * ( pgd - xid ) xid = xid + vid where: w – the inertia weight. We use a linear function to change the value of w each generation. For the first generation, w is 0.9; it is 0.4 for the last generation. The function is w = 0.9 – 0.5 * ( current generation ) / ( total generation ) c2 and c1– two positive constants, each set to 2.0 for this application Fitness was calculated the same as for the GA version.

  27. The Fuzzy Logic Approach This is a simplified version of the system implemented. It has two input variables: Loading time (with respect to desired delivery time) Importance parameter = # of loaded items for an order total # of items for the order Output variable: Importance of loading and delivery of the item now.

  28. Examples of Linguistic Input Definitions Time input for heavy truck: (s = starting time of time window, e = ending time of window) Linguistic Range Lower Limit Upper Limit Very early s-450 s-300 Early s-350 s On-time s-150 e-150 Late e-200 e Very late e-50 e+100 Time input for light truck: (s = starting time of time window, e = ending time of window) Linguistic Range Lower Limit Upper Limit Very early s-180 s-120 Early s-150 s On-time s-80 e-60 Late e-100 e Very late e-20 e+30

  29. Trapezoidal Membership Function Example

  30. Linguistic Output Variable Definition (Importance of loading and delivery of each item.) Linguistic Range Lower Limit Upper Limit Very unimportant 0 0.3 Unimportant 0.25 0.55 Fairly important 0.5 0.75 Important 0.7 0.9 Very important 0.85 1.0

  31. Define Fuzzy Rules

  32. The Fuzzy Process Initialize the order list by requested time of delivery for each item. Implement the fuzzy logic by calculating the priority parameter for each item not yet delivered each minute of time. Determine items with the highest priority for the heavy and light trucks using the fuzzy rules defined above. Items thus determined are designated to be loaded at starting at that minute. The times included in the schedule include the times needed to load and unload items: one minute for each carton, and three minutes for each pallet. Use centroid defuzzification as follows:

  33. Other Scheduling Systems * Job Shop Scheduling is another major scheduling application * Input: customer order (product and quantity) * Output: products/parts * Process: sequences of machine operations * Requirements: time and resources * Objectives * Ship orders on time * Minimize unused resources * Minimize inventory * The objectives conflict

  34. Other Scheduling Systems, Cont’d. * Scheduler selects which process sequence to use for each product * Job shop scheduling is significantly different from traveling salesman problem, for which information is in connections and many permutations of optimum solution exist * “...the chromosome representation used should be much closer to the scheduling problem.” – Michalewicz * Schedule may better be done by machine than by time slot

  35. Other Scheduling Systems, Cont’d. * Each machine can have a “preference list” of parts or products Example: {part_3, part_6, part_1, ..., wait} * Can use strategy that first “legal” choice is made; if none available, go into waiting state * More direct representations of schedule are used as chromosomes * Special operators must then be developed for the problem- specific representation Examples: Scramble mutation: scrambles preference list Exchange crossover: exchanges preference lists

More Related