Scheduling is taught in courses for "Optimization & Operations Research" (OOR). OOR is a core subject in Maths & Statistics, Physics, Engineering (Civil, Electrical & Electronics, Mechanical , Chemical ) , Financial Engineerings, Management Science etc, and now (recently , over 5 years) I have seen it taught in post-graduate computer science papers for applications in Computer Vision, Digital Image Processing,Data Mining , and so forth.
I am not an expert in Scheduling but I am familiar with "Optimization & Operations Research", where my main interests is in numerical computing (NM). There are vast numbers of common algorithms that are overlap in OOR & NM. In most cases (about over 70%) they use the same common algorithm. Eg, "simplex" algorithm which is core in OOR cannot be solved unless you use common numerical algorithm such as linear matrix solvers (matrix factorizations) methods as QR, SVD (Singular Value Decomposition), Cholesky, Eigen-Value, etc.
The following books I would recommend for a start , which I have copies:
1)"Introduction to Operations Research" (6th Ed), by F.S.Hillier & G.J.Lieberman, published by McGraw-Hill International.
2)"Linear Programming & Network FLows" (2nd Ed), by M.S.Bazaraa, J.J.Jarvis and H.D.Sherali, published by Wiley.
3)"Operations Scheduling with Applications in Manufacturing & Services" ,by M.Pinedo and X.Chao , published by McGraw-Hill.
Book 3 covers industrial applications and theory (numerical methods). In chapter 10 it touches IF-THEN rules for scheduling. The author of Book 3 describes that enterprise software makers as SAP & BAAN uses a combinations of OOR & Rule-based (expert systems) for the development of scheduling in their products. Book 1 & 2 introduces you to the concept of optimizations and matrix computation. If you want and introduction to linear algebra (you need this for understanding solving optimizations problems), then I recommend the following which is used as a second year University course in Algebra.
4)"Linear Algebra and its applications" (2nd Ed), by D.C.Lay , published by Addison-Wesley.
You only need Book 4 if you need to code your own Java classes, however most commercial Java numerical APIs already implement them. ILOG have a commercial Java API for OOR which is called "JSolver" . I believe that this is the best API there is available for OOR. The only down side to that API is very expensive. I believe that it costs around ~ $12,000 U.S for a single developer license . JSolver eliminates the need to know any mathematics at all, and that is the good side to the developer who knows what "constraints" needed for an optimization model, but have no idea of how to code the algebra of how to solve it. JSolver is so advanced such that it implements functionalities as interval constraints. I did request the documentations about JSolver for a project in finance I got involved in where the functional spec requires an optimization model of how to optimize returns and minimize the risks of loss in allocating funds for different project investments. The company I was contracted to at the time thought it was not worth it buying a license for that. At the end, they bought a JMSL license from Visual Numerics which was 4 times cheaper. JMSL is a numerical computing API from Visual Numeric, where the investment optimization module was built using JMSL.
ILOG has a version in C called Solver and CPlex, where they are popular in academics. In January of this year (2004), I attended an industrial mathematics workshop and one operational research analysts did a presentation of how they (his company) design their scheduling systems using Solver and CPlex to allocate scheduling shifts work for an airline (Air New Zealand). He detailed upto interval as 10 minutes coffee break as an input to the systems as a "constraint" . Everybody asked question about mathematical techniques at the end of his presentation, but I never thought myself to ask him if they use both OOR and Rule-based.
I think that scheduling can be done solely either by OOR or Rule-based.I believe that the efficient way of doing scheduling is a combination of OOR plus Rule-based. OOR can do the calculations and the results (output) can be input to the rule-based as facts.
If you want to develop your own codes then the following links are valuable packages for Operations Research in Java.
1) OR-1.2.4 API (free-ware)
http://opsresearch.com/OR-Objects/
2) LPSolve API (A sub-package in JSci - Java Science API)
http://jsci.sourceforge.net/
You can use the aforementioned API to develop your own scheduling, BUT you really have to know mathematics (especially linear algebra) very well. This is in contrast to buying a commercial Java OOR package such as JSolver which eliminates the need to know math at all.
I hope this information will give you a good start.
Cheers, Sione.
Jason Morris wrote:
All,
I am looking for some good references (preferably online) about "scheduling theory" -- especially using rules to compute various resource scheduling scenarios.
Thanks! -Jason
------------------------
Jason Morris Morris Technical Solutions [EMAIL PROTECTED] www.morristechnicalsolutions.com fax/phone: 503.692.1088
-------------------------------------------------------------------- To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list (use your own address!) List problems? Notify [EMAIL PROTECTED] --------------------------------------------------------------------
-------------------------------------------------------------------- To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list (use your own address!) List problems? Notify [EMAIL PROTECTED] --------------------------------------------------------------------
