ilog user conference, 1997 travel time optimization for public utility job scheduling jacob feldman,...
TRANSCRIPT
![Page 1: ILOG User Conference, 1997 Travel Time Optimization for Public Utility Job Scheduling Jacob Feldman, IntelEngine, CTO (732) 287-1531 feldman@ilog.com Nicholas](https://reader031.vdocument.in/reader031/viewer/2022032104/56649cd75503460f9499f4cd/html5/thumbnails/1.jpg)
ILOG User Conference, 1997
Travel Time Optimization for Public Utility Job Scheduling
Jacob Feldman, IntelEngine, CTO(732) 287-1531 [email protected]
Nicholas P. Sekas, LILCO(516) 391-6729 [email protected]
![Page 2: ILOG User Conference, 1997 Travel Time Optimization for Public Utility Job Scheduling Jacob Feldman, IntelEngine, CTO (732) 287-1531 feldman@ilog.com Nicholas](https://reader031.vdocument.in/reader031/viewer/2022032104/56649cd75503460f9499f4cd/html5/thumbnails/2.jpg)
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
![Page 3: ILOG User Conference, 1997 Travel Time Optimization for Public Utility Job Scheduling Jacob Feldman, IntelEngine, CTO (732) 287-1531 feldman@ilog.com Nicholas](https://reader031.vdocument.in/reader031/viewer/2022032104/56649cd75503460f9499f4cd/html5/thumbnails/3.jpg)
ILOG User Conference, 1997
Family of Scheduling Engines
• Construction/Designer scheduling engines• Library Public Utility Scheduling Engines (PULSE)
CRMS
CSE
DSE
New Engine
LIBRARY
![Page 4: ILOG User Conference, 1997 Travel Time Optimization for Public Utility Job Scheduling Jacob Feldman, IntelEngine, CTO (732) 287-1531 feldman@ilog.com Nicholas](https://reader031.vdocument.in/reader031/viewer/2022032104/56649cd75503460f9499f4cd/html5/thumbnails/4.jpg)
ILOG User Conference, 1997
Application, Interface, Engine(Pattern “Engine”)
APPLICATION
Interface
Intelligent
Engine
![Page 5: ILOG User Conference, 1997 Travel Time Optimization for Public Utility Job Scheduling Jacob Feldman, IntelEngine, CTO (732) 287-1531 feldman@ilog.com Nicholas](https://reader031.vdocument.in/reader031/viewer/2022032104/56649cd75503460f9499f4cd/html5/thumbnails/5.jpg)
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;…..
};
![Page 6: ILOG User Conference, 1997 Travel Time Optimization for Public Utility Job Scheduling Jacob Feldman, IntelEngine, CTO (732) 287-1531 feldman@ilog.com Nicholas](https://reader031.vdocument.in/reader031/viewer/2022032104/56649cd75503460f9499f4cd/html5/thumbnails/6.jpg)
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;…..
};
![Page 7: ILOG User Conference, 1997 Travel Time Optimization for Public Utility Job Scheduling Jacob Feldman, IntelEngine, CTO (732) 287-1531 feldman@ilog.com Nicholas](https://reader031.vdocument.in/reader031/viewer/2022032104/56649cd75503460f9499f4cd/html5/thumbnails/7.jpg)
ILOG User Conference, 1997
Engine: Concrete ILOG-aware Classes
class ilogDesigner {public:IlcBool does(ilogJob* job); // may fail….private:Designer* _designer;IlcUnaryResource _resource;….
};
![Page 8: ILOG User Conference, 1997 Travel Time Optimization for Public Utility Job Scheduling Jacob Feldman, IntelEngine, CTO (732) 287-1531 feldman@ilog.com Nicholas](https://reader031.vdocument.in/reader031/viewer/2022032104/56649cd75503460f9499f4cd/html5/thumbnails/8.jpg)
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
![Page 9: ILOG User Conference, 1997 Travel Time Optimization for Public Utility Job Scheduling Jacob Feldman, IntelEngine, CTO (732) 287-1531 feldman@ilog.com Nicholas](https://reader031.vdocument.in/reader031/viewer/2022032104/56649cd75503460f9499f4cd/html5/thumbnails/9.jpg)
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”
![Page 10: ILOG User Conference, 1997 Travel Time Optimization for Public Utility Job Scheduling Jacob Feldman, IntelEngine, CTO (732) 287-1531 feldman@ilog.com Nicholas](https://reader031.vdocument.in/reader031/viewer/2022032104/56649cd75503460f9499f4cd/html5/thumbnails/10.jpg)
ILOG User Conference, 1997
Resources Inside Job Clusters
• Prefer a designer with max number of “nearby” jobs (hours)
Job-A5 min cluster
Tom
Bob
![Page 11: ILOG User Conference, 1997 Travel Time Optimization for Public Utility Job Scheduling Jacob Feldman, IntelEngine, CTO (732) 287-1531 feldman@ilog.com Nicholas](https://reader031.vdocument.in/reader031/viewer/2022032104/56649cd75503460f9499f4cd/html5/thumbnails/11.jpg)
ILOG User Conference, 1997
Resources Outside Job Clusters
• “Outside time” is a tiebreaker for designers with the same “inside time”
Job-A5 min cluster
Tom
Bob
![Page 12: ILOG User Conference, 1997 Travel Time Optimization for Public Utility Job Scheduling Jacob Feldman, IntelEngine, CTO (732) 287-1531 feldman@ilog.com Nicholas](https://reader031.vdocument.in/reader031/viewer/2022032104/56649cd75503460f9499f4cd/html5/thumbnails/12.jpg)
ILOG User Conference, 1997
Idle Resources
• Idle resources are sitting in headquarters• “Idle time” is an another tiebreaker
Job-A 5 min clusterTom
Bob
Jim (idle)
HQ
![Page 13: ILOG User Conference, 1997 Travel Time Optimization for Public Utility Job Scheduling Jacob Feldman, IntelEngine, CTO (732) 287-1531 feldman@ilog.com Nicholas](https://reader031.vdocument.in/reader031/viewer/2022032104/56649cd75503460f9499f4cd/html5/thumbnails/13.jpg)
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
![Page 14: ILOG User Conference, 1997 Travel Time Optimization for Public Utility Job Scheduling Jacob Feldman, IntelEngine, CTO (732) 287-1531 feldman@ilog.com Nicholas](https://reader031.vdocument.in/reader031/viewer/2022032104/56649cd75503460f9499f4cd/html5/thumbnails/14.jpg)
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
![Page 15: ILOG User Conference, 1997 Travel Time Optimization for Public Utility Job Scheduling Jacob Feldman, IntelEngine, CTO (732) 287-1531 feldman@ilog.com Nicholas](https://reader031.vdocument.in/reader031/viewer/2022032104/56649cd75503460f9499f4cd/html5/thumbnails/15.jpg)
ILOG User Conference, 1997
Skill Matching and Travel
• Skills are hierarchical:Skill-C can be replaced by Skill-BSkill-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
![Page 16: ILOG User Conference, 1997 Travel Time Optimization for Public Utility Job Scheduling Jacob Feldman, IntelEngine, CTO (732) 287-1531 feldman@ilog.com Nicholas](https://reader031.vdocument.in/reader031/viewer/2022032104/56649cd75503460f9499f4cd/html5/thumbnails/16.jpg)
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
![Page 17: ILOG User Conference, 1997 Travel Time Optimization for Public Utility Job Scheduling Jacob Feldman, IntelEngine, CTO (732) 287-1531 feldman@ilog.com Nicholas](https://reader031.vdocument.in/reader031/viewer/2022032104/56649cd75503460f9499f4cd/html5/thumbnails/17.jpg)
ILOG User Conference, 1997
Incremental Clustering
Job5 min
10 min
![Page 18: ILOG User Conference, 1997 Travel Time Optimization for Public Utility Job Scheduling Jacob Feldman, IntelEngine, CTO (732) 287-1531 feldman@ilog.com Nicholas](https://reader031.vdocument.in/reader031/viewer/2022032104/56649cd75503460f9499f4cd/html5/thumbnails/18.jpg)
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
![Page 19: ILOG User Conference, 1997 Travel Time Optimization for Public Utility Job Scheduling Jacob Feldman, IntelEngine, CTO (732) 287-1531 feldman@ilog.com Nicholas](https://reader031.vdocument.in/reader031/viewer/2022032104/56649cd75503460f9499f4cd/html5/thumbnails/19.jpg)
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?
![Page 20: ILOG User Conference, 1997 Travel Time Optimization for Public Utility Job Scheduling Jacob Feldman, IntelEngine, CTO (732) 287-1531 feldman@ilog.com Nicholas](https://reader031.vdocument.in/reader031/viewer/2022032104/56649cd75503460f9499f4cd/html5/thumbnails/20.jpg)
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
![Page 21: ILOG User Conference, 1997 Travel Time Optimization for Public Utility Job Scheduling Jacob Feldman, IntelEngine, CTO (732) 287-1531 feldman@ilog.com Nicholas](https://reader031.vdocument.in/reader031/viewer/2022032104/56649cd75503460f9499f4cd/html5/thumbnails/21.jpg)
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