Presentation is loading. Please wait.

Presentation is loading. Please wait.

ILOG User Conference, 1997 Travel Time Optimization for Public Utility Job Scheduling Jacob Feldman, IntelEngine, CTO (732) 287-1531 Nicholas.

Similar presentations


Presentation on theme: "ILOG User Conference, 1997 Travel Time Optimization for Public Utility Job Scheduling Jacob Feldman, IntelEngine, CTO (732) 287-1531 Nicholas."— Presentation transcript:

1 ILOG User Conference, 1997 Travel Time Optimization for Public Utility Job Scheduling Jacob Feldman, IntelEngine, CTO (732) 287-1531 feldman@ilog.com Nicholas P. Sekas, LILCO (516) 391-6729 nsekas@lilco.com

2 ILOG User Conference, 1997 LILCO Resource Management System More than 1 million customers More than 5000 employees Service territory 1,230 square miles. Hundreds jobs per day Job requires a mix of people skills, vehicles and equipment

3 ILOG User Conference, 1997 Multi-objective Work Planning and Scheduling Travel time minimization Resource load levelization Skill utilization Schedule jobs ASAP Maximize number of scheduled jobs/hours

4 ILOG User Conference, 1997 Family of Scheduling Engines Construction/Designer scheduling engines Library Public Utility Scheduling Engines (PULSE) CRMS CSE DSE New Engine LIBRARYLIBRARY

5 ILOG User Conference, 1997 Application, Interface, Engine (Pattern “Engine”)

6 ILOG User Conference, 1997 Interface - Abstract Classes Each interface class specifies only virtual accessors & modifiers (no data members). Sample: class Designer { public: virtual Skill* getSkill() const = 0; virtual void assignJob(Job* job) = 0; virtual int getSelectionCost() = 0; ….. };

7 ILOG User Conference, 1997 Application: Concrete SubClasses of the Interface Classes class lilcoDesigner : public Designer { public: Skill* getSkill() const { return _skill; } void assignJob(Job* job); private: lilcoSkill* _skill; ….. };

8 ILOG User Conference, 1997 Engine: Concrete ILOG-aware Classes class ilogDesigner { public: IlcBool does(ilogJob* job); // may fail …. private: Designer* _designer; IlcUnaryResource _resource; …. };

9 ILOG User Conference, 1997 Pattern “Weighted Selection” Job selection cost –Weight of Job priority –Weight of LFD Resource selection cost –Weight of travel –Weight of skill matching, etc. Configuration files and run-time parameters

10 ILOG User Conference, 1997 Switching Scheduling Strategies Parameterized strategies –Assign Resources to Jobs Select the next most important job Choose the cheapest resource for this job –Assign Jobs to Resources For the latest scheduled crew of resources find the most important job this crew can do next Use the pattern “Strategy”

11 ILOG User Conference, 1997 Designer Scheduling Engine 1-person design jobs Unknown time for field and office components Weekly schedules vs. Day/time schedules Job duration “sliced” up over ESD and LFD Main criteria: –Travel optimization –Job importance –Skill matching

12 ILOG User Conference, 1997 Strategy “Assign Resources to Jobs” Prioritized job ordering Finds the lowest cost resource for the next most important job Competition between designer-candidates: –Required SKILL possession (directly or via skill replacement logic) –Availability –Preferences defined via weight-parameters

13 ILOG User Conference, 1997 Resources Inside Job Clusters Prefer a designer with max number of “nearby” jobs (hours) Job-A 5 min cluster Tom Bob

14 ILOG User Conference, 1997 Resources Outside Job Clusters “Outside time” is a tiebreaker for designers with the same “inside time” Job-A 5 min cluster Tom Bob

15 ILOG User Conference, 1997 Idle Resources Idle resources are sitting in headquarters “Idle time” is an another tiebreaker Job-A 5 min cluster Tom Bob Jim (idle) HQ

16 ILOG User Conference, 1997 Unavailability Tolerance Actual job duration is far different from the original estimate First, the Engine tries to allocate 100% available resources If fails, it tries again tolerating partial unavailability but no more the a certain percent of the job duration

17 ILOG User Conference, 1997 Relaxed Job Slicing Constraint Job duration: 40 hours over 4 weeks

18 ILOG User Conference, 1997 Resource Levelization and Travel Question: utilize All resources at 60% or utilize only 60% of all resources at 100%? Initially, it serves as a good tiebreaker for resources with the same travel cost Later, when resources are more utilized, may lead to too many new clusters Tweaking weight of levelization vs. weight of travel

19 ILOG User Conference, 1997 Skill Matching and Travel Skills are hierarchical: Skill-C can be replaced by Skill-B Skill-B can be replaced by Skill-A A has a qualification distance 2 from C Replacement C by A will increase the designer selection cost by 2 * WEIGHT_OF_SKILL_MATCHING Tweaking weight of skill matching vs. weight of travel

20 ILOG User Conference, 1997 Minimize Travel Vs. Start ASAP If the “closest” designer is busy during week-1 and ASAP-strategy is set, the Engine will assign another designer. If the TRAVEL-strategy is set, the Engine will assign the “closest” designer but will schedule start date to week-2

21 ILOG User Conference, 1997 Incremental Clustering Job 5 min 10 min

22 ILOG User Conference, 1997 Strategy “Assign Jobs to Resources” Daily job clustering –Assign a crew to a job with small duration –What else this crew can do nearby today Resource pattern hierarchy –Use over-staffed crews for nearby jobs –Use this strategy for jobs far away from HQ Solving travelling salesperson problem

23 ILOG User Conference, 1997 User Involvement Scheduling parameters defined via GUI What-if analysis –change weights and re-run the Engine –set frozen assignments and re-run the Engine Self-explanatory Engines –Engine Logs –Help from ILOG?

24 ILOG User Conference, 1997 Dynamic Weighting Provocative conclusion: each data set requires a customized scheduling strategy?! Computing scheduling metrics up front –Dynamic selection of scheduling weights –Dynamic selections of scheduling strategies

25 ILOG User Conference, 1997 Conclusion Consider not one but a Family of multi- objective intelligent engines Keep users involved during the entire system life-cycle. Use common ILOG design patterns


Download ppt "ILOG User Conference, 1997 Travel Time Optimization for Public Utility Job Scheduling Jacob Feldman, IntelEngine, CTO (732) 287-1531 Nicholas."

Similar presentations


Ads by Google