Expert system scheduler and scheduling method5270920Abstract A scheduling system and method for use with training systems. The exemplary embodiment of the scheduler is incorporated into an aircrew training system for a military aircraft. A training system for training aircrews involves the use of academic media such as classrooms, training devices such as ground-based flight simulation trainers, and training flights in the air. In addition, it involves a computer network having terminals located at a central site, a plurality of training sites, and other remote sites. The computer data base is located at a central site, and the training facilities are located at training sites. Typically, computer terminals are connected together in a computer network by both dedicated and dial-up telephone lines, and typically the network may employ Intel 80386 machines running UNIX V, release 3.2. The scheduler of the present invention comprises an integrated system of hardware and software which is integrated into the already existing training system. It is embedded as a software subsystem in the training system, and is delivered on a type 80386 integrated circuit based computer element at each training site. Claims What is claimed is: Description BACKGROUND
TABLE I
______________________________________
Document Inventory.
Report Description
______________________________________
Alert Report Detected constraint violations
Course Schedule Detailed event schedule per course
Crew Schedule Detailed event schedule per crew
Date Calendar Standard monthly calendar
Event Schedule Detailed event schedule per event
Flight Report Scheduled flight events, flight
requests
Instructor Schedule
Detailed event schedule per
instructor
Location Schedule
Detailed event schedule per
location
Master Plan Course flow, target event dates
Master Schedule Detailed event schedule per day
Next Opportunity Report
Alternative date, time & resource
for event
Projections Report
Potential schedule for modified
workshift
Resource Option Report
Alternative resource for event on
date
Resource Report Site inventory & resource
qualifications
Resource Schedule
Detailed event schedule per
resource
Resource Utilization Report
Projected resource supply vs
demand
Scheduling Parameters
Scheduling constraints &
preferences
Student Enrollment
Class Roster
Student Schedule
Detailed event schedule per student
Throughput Report
Projected number of graduates per
type
Workshift Calendar
Operating Hours per resource
______________________________________
In addition to the documents shown in Table I, the expert scheduler also displays a number of screens that are used in managing and administering the training system. The administrative screens available are shown in Table II.
TABLE II
______________________________________
Administration Screen Inventory.
Screen Description
______________________________________
Resource Item Admin.
Define resource inventory & workshifts
Course Administration
Define course syllabi
Preference Admin.
Define resource allocation preferences
Training Administration
Request training & schedule revisions
Appointment Admin.
Override automatic schedule
Student Administration
Enroll students in training courses
______________________________________
Selectors provide the user options during administration and reporting. The selectors available are listed in Table III, along with a brief description.
TABLE III
______________________________________
Selector Inventory.
Screen Description
______________________________________
sel.sub.-- ctype
Selects one course type
sel.sub.-- ctdr
Selects one course type, date range
sel.sub.-- cid
Selects one course type, course id
sel.sub.-- event
Selects one course type, event
sel.sub.-- event.sub.-- drg
Selects one course type, date range
sel.sub.-- cid.sub.-- ev
Selects one course type, course id, event
sel.sub.-- crew
Selects one course type, course id, crew
sel.sub.-- ev.sub.-- crew
Selects one course type, course id, event, crew
sel.sub.-- cidst
Selects one course type, course id, student id
sel.sub.-- ctdrg
Selects one course type, date range
sel.sub.-- rtype
Selects one resource type
sel.sub.-- rid
Selects one resource type, resource id
sel.sub.-- rypedrng
Selects one resource type, date range
sel.sub.-- res.sub.-- drng
Selects one resource type, resource id, date
range
sel.sub.-- stid
Selects one student id
sel.sub.-- date
Selects one date
sel.sub.-- drg
Selects one date range (i.e. begin date, end date)
sel.sub.-- indr
Selects one instructor, date range
sel.sub.-- loc.sub.-- drg
Selects one location, date range
sel.sub.-- month.sub.-- rng
Selects start month, year & end month year
______________________________________
The system may display various messages or prompts. These user interface messages are listed in Table IV, along with their meanings.
TABLE IV
______________________________________
Message Dictionary.
Message Text
______________________________________
err.sub.-- backup
err.sub.-- cid
Invalid course id
err.sub.-- config
err.sub.-- crew
Invalid crew
err.sub.-- ctype
Invalid course type
err.sub.-- date
Invalid date
err.sub.-- dbeg
Invalid start date
err.sub.-- delay
err.sub.-- dend
Invalid end date
err.sub.-- dur
Invalid time duration
err.sub.-- event
Invalid event
err.sub.-- fclose
System error during file close
err.sub.-- fcreate
System error during file create
err.sub.-- ferase
System error during file erase
err.sub.-- fname
System error during file naming
err.sub.-- fopen
System error during file opening
err.sub.-- fread
System error during file reading
err.sub.-- fseek
System error during file searching
err.sub.-- fwrite
System error during file writing
err.sub.-- inprqd
Input required to continue
err.sub.-- inst
Invalid instructor id
err.sub.-- loc
Invalid location
err.sub.-- lp
Printer not available
err.sub.-- nochoice
Choice list not available
err.sub.-- nodisksp
No disk space available
err.sub.-- prereq
err.sub.-- restore
err.sub.-- rid
Invalid resource id
err.sub.-- rtype
Invalid resource type
err.sub.-- stid
Invalid student id
err.sub.-- tbeg
Begin time must be less than end time
err.sub.-- time
Invalid time
pmt.sub.-- cid
Please input a course id
pmt.sub.-- crew
Please input a crew
pmt.sub.-- ctype
Please input a course type
pmt.sub.-- date
Please input a date
pmt.sub.-- dbeg
Please input a start date
pmt.sub.-- dend
Please input an end date
pmt.sub.-- dur
Please input a duration for the event
pmt.sub.-- event
Please input an event
pmt.sub.-- inst
Please input an instructor id
pmt.sub.-- loc
Please input a location
pmt.sub.-- rid
Please input a resource id
pmt.sub.-- rtype
Please input a resource type
pmt.sub.-- stid
Please input a student id
rpt.sub.-- full
Report requests are full - please try later
rpt.sub.-- nodata
No data to report
sos.sub.-- cid
A course id identifies a particular course;
e.g. 91001
sos.sub.-- crew
sos.sub.-- ctype
A course type
sos.sub.-- date
Dates are entered in form: MM-DD-YY;
e.g. 12-31-90
sos.sub.-- dbeg
Start date is the date of the first training event
sos.sub.-- dend
End date must be no later than start date
sos.sub.-- event
An event identifies a training activity;
e.g. hydraulics
sos.sub.-- inprqd
sos.sub.-- inst
sos.sub.-- loc
sos.sub.-- lp
sos.sub.-- nochoice
Sorry - no choices available at this point
sos.sub.-- nomsg
Sorry - no help available at this point
sos.sub.-- rid
sos.sub.-- rtype
sos.sub.-- stid
ver.sub.-- del.sub.-- apt
ver.sub.-- del.sub.-- cid
ver.sub.-- del.sub.-- ctype
ver.sub.-- del.sub.-- enrl
ver.sub.-- del.sub.-- rid
ver.sub.-- del.sub.-- rsv
ver.sub.-- del.sub.-- rtype
ver.sub.-- del.sub.-- trq
______________________________________
As indicated hereinabove, the scheduler of the present invention provides orderly generation of schedules for the training system. This function incorporates rule based Prolog expert system scheduling algorithms for the production of automated schedules to match student training requirements with available instructors, training resources, and training flights for the production of site-specific schedules for the C-141 aircrew training system (ATS). This function: (a) provides for long range (one year) predictions of resource requirements as compared to resource availability; (b) provides for resolution of scheduling conflicts; (c) schedules training events specified in the course syllabi and/or by instructor/training management system (TMS) recommendations against the site master calendar and available training media and instructors; (d) schedules training devices for Air Force-requested and conducted training events; (e) requests flight training to include mission requirements which fulfill student training needs; (f) considers student availability for training and priority for training in matching students and training events; (g) provides for on line scheduling in each flying squadron with the capability to update the local training flight and schedule files at least daily for ATS formal school training and continuation training (both flying and ground training events); (h) provides the capability to generate and update on a daily basis each student's ground and flight training requirements; (i) stores generated schedules for on line retrieval, modification, and printing; (j) alerts the scheduler when a training medium or device is in danger of exceeding its normally scheduled capacity, and when it is in danger of exceeding programmed surge capacity; and (k) provides for assignment of start-of-day time for instructor and student on a daily basis, or allow use of a default time (allows scheduling to the hour versus to the day). The expert scheduler of the present invention provides prioritization. Prioritization occurs on the following basis. Item (1) has priority over item (2), item (a) over item (b), and so on. ACADEMIC MEDIA (COMPUTER BASED TRAINING, COCKPIT PROCEDURES TRAINER, PART TASK TRAINER, EXCEPT AIR REFUELING PART TASK TRAINER) (1) Students enrolled in formal school course. (a) Within one week of graduation. (b) Those delayed by 1 day or more. (2) Students attending in-unit training courses. (a) Those delayed by 1 day or more. (3) Students in continuation training. Students in continuation training who are within one week of expiration for academic training events shall be priority (1)(a). Reserve students enrolled at a host base and taking academics (i.e. on Temporary Duty status) have priority (1)(a). Seminars which must be scheduled for a single date are given higher priority. TRAINING DEVICES (WEAPON SYSTEMS TRAINER, AIR REFUELING PART TASK TRAINER, LOAD MASTER PART TASK TRAINER, GROUND AIRPLANE) (1) Students enrolled in Formal School course; (a) Within one week of graduation; (b) Those delayed by 1 day or more; (c) Those who required additional training due to poor performance; (2) Students attending in-unit training courses; (a) Those delayed by 1 day or more; (3) Students in continuation training; (a) Reserve at host base due to Temporary Duty status; (b) Within one week of expiration of requirement; (c) Those delayed by 1 day or more; TRAINING FLIGHTS (1) Students enrolled in formal school course; (a) Within one flight of completing course; (2) Students attending in-unit training courses; (3) Students in continuation training; (a) Within one week of graduation; (b) All others. FLYING MISSIONS ARE ALLOCATED AGAINST TRAINING NEEDS ON THE FOLLOWING BASIS (1) Match specific missions against special mission requirements of crew members; (2) Match to less specific mission requirements; and (3) Match local proficiency sorties with requirements. Collate and transfer archive data--Schedule data, together with data on schedule conflicts, device, media, and resource availability, and scheduled training throughput shall be available for transfer to the TMS evaluation component of the TMS at the central site. Scheduling projections--A provision permits the scheduler and management to play "what-if" games by changing student throughput figures, training media availability, instructor numbers, maintenance schedules, etc. This function provides predictive information without affecting the daily operational parameters of the TMS. This function allows management and schedulers to make temporary modifications and see the effects of: (a) Varying instructor availability; (b) Varying training media availability; (c) Varying student availability; (d) Varying other scheduling data and parameters; (e) Varying Student throughput data with time; (f) Varying instructor numbers, qualification levels, crew member positions with time; (g) Varying the numbers and capabilities of training media; (h) Varying the number of training devices available; (i) Varying operating hours at the entire training site; (j) Varying the operating hours of the learning center; (k) Varying the operating hours simulator use; (l) Varying the maintenance schedule; and (m) Varying the master calendar. Student throughput projection--The TMS computes a projection of student throughput for long term for long-term scheduling. Student throughput projections are specified in terms of the number of students per year, categorized by qualification, position and course over time. This data is used for comparison to known registered students, in that, in the short term, the throughput specifies the number of seats that may be filled for an upcoming class. As students enroll, the number of seats decreases, replaced by actual student records. Online schedule--The TMS includes a function to facilitate the online markup of the current master schedule. This allows instructors and managers to review a schedule online. Reports--Predefined ATS scheduling and site management reports are as follows: Daily schedule report--a daily schedule report is the report indicating any conflicts and flagging the occurrence of overflows during scheduling. This kind of report is available on a daily basis for: Aircrew, Basic Flight Engineer students, and Maintenance Engine Run personnel-instructors; training resources; and instructors, site managers, schedulers and Air Force personnel. Weekly schedule report--This report is the same as above but produced on a weekly basis. Instructors, site managers, schedulers, Air Force personnel and students use the report. Monthly schedule report--This report is produced on a monthly basis. Instructors, site managers, schedulers and Air Force personnel use the report. This report is the most widely used. Database and application software--Database and application software utilizes the Prolog expert system programming language, Informix SQL and 4GL and, where necessary, the "C" programming language. The application software has been written so that it may be ported to any computer system and operating system supported by Informix. Typically, the computer system uses an Intel 80386 processor running UNIX V release 3.2. System capability relationships--System capability relationships are specified from the perspective of student management in the Formal School, student management in upgrade and continuation training, scheduling of ATS activities, and evaluation of the ATS. At ATS implementation, training records are created in the TMS for each C-141 aircrew member, for basic flight engineer (BFE) students, and for maintenance engine run (MER) personnel. For students enrolled in the BFE or a formal school course, a course training record is established. For aircrew members and MER personnel attending in-unit upgrade programs and/or continuation training, a summary training record is established. A new course training record is created for each formal course in which the crew member is enrolled. During the career of the C-141 crew member or MER personnel, the summary training record is updated for continuation training and formal school training. Referring now to FIG. 2 of the drawings, there is shown is a functional diagram illustrating the operation of the expert scheduler of the present invention. It forms a part of the Training Management System (TMS) which in turn forms a part of the Aircrew Training System for the C-141 Aircraft. The TMS computerizes or automates support for training service administration, management and operations and is deployed independently at a plurality of sites and provides a number of functions including access and security, student management and performance reporting, evaluation of the C-141 Aircrew Training System, and report generation to support management and operations. The expert scheduler of the present invention handles scheduling and training site management. The scheduler delivers earliest opportunity schedules that satisfy allocation policies under limited resource availability, and handles an unlimited number of students, resources and instructors. It generates schedules for a full year to the 15 minute interval level or resolution. It satisfies all priorities, and resolves or identifies all conflicts. At the center of FIG. 2 is the TMS data base which is located at the central site. Seven functional bubbles are shown around the TMS data base, and three additional functions are not illustrated. Bubble number one is related to the master calendar, and is labeled "establish, interrogate or modify master site calendar." The second bubble is related to student availability, and is labeled "specify and interrogate student availability". Bubble number three is related to instructor availability, and is labeled "specify and interrogate instructor availability." Furthermore, the space between bubble number three and the TMS database is labeled "instructor and evaluator availability and qualifications." Bubble number four is related to training media, and is labeled "specify and interrogate training media availability." The space between bubble number four and the TMS database is labeled "training media availability and specifications." An arrow from the outer margin pointing in to the bubble is labeled "scheduled maintenance." Bubble number five relates to training flights, and is labeled "specify and interrogate Air Force training flights." Bubble number six relates to schedules and is labeled "generate schedules." It has seven arrows pointing inward toward the TMS data base. They are labeled: training device schedule; CBT (computer based training) lesson schedule; instructor schedule; student schedule; master schedule; student training requirements; and historical training media availability data. Bubble number six has two arrows that extend outward toward the margin. They are labeled "training flight requirements" and "other requirements for AF (Air Force) training." Bubble number seven is labeled "collate and transfer archived scheduling reports." It has an arrow extending from the TMS data base toward the bubble labeled "master schedule". It has an arrow extending from the bubble toward the TMS data base at central site labeled "evaluation data archive." Items number eight, nine and ten are not illustrated with a bubble and arrows. Item number eight is labeled "scheduling projections." Item number nine is labeled "student throughput projection." Item number ten is labeled "online schedule markup." FIG. 3 is a diagram illustrating the transactional perspective of the training system incorporating the expert scheduler of the present invention. At the center is a circle labeled SSM (Scheduling and Site Management). This is where the expert scheduler of the present invention is embedded. Above the circle is a rectangle labeled "Student." An arrow labeled "Student Schedules" extends from the circle to the upper rectangle. Below the circle is a rectangle labeled "Instructor." An arrow extends downward labeled: Instructor Workshifts; Instructor Schedules; Crew Schedules; and Course Enrollment. To the left of the circle is a rectangle labeled "TMS Administrator." An arrow extends to the right labeled: Course Specifications; Resource Specifications: and Workshifts. An arrow extends to the left labeled: Schedule Parameters; Resource Inventory; Workshifts; Resource Utilization, Training Throughput; and System Logs. To the right of the circle is a rectangle labeled "Site Planner." An arrow extends to the left labeled: Student Enrollment; Training Requests; Resource Revisions; Schedule Revisions; Workshift Revisions; and Memos. An arrow extends to the right labeled Master Plans; Master Schedules; Resource Schedules; Course Schedules; Event Schedules; Team Schedules; Location Schedules; Resource Options; Flight Reports; Next Opportunity; Alerts; Student Enrollment; Memos; and Calendar. FIG. 4 is a diagram illustrating the service perspective of the training system incorporating the expert system of the present invention. At the center is the circle labeled SSM, on the right is the rectangle labeled Site Planner, and on the left is the rectangle labeled TMS Administrator. A first arrow extends from the left labeled: Add/delete resource types; Add/delete resource items; Set resource workshifts; and Set site workshifts. A second arrow extends from the left labeled: Add/delete course specifications; Set course scheduling priorities; and Set event sequence, duration, crew size, prerequisites and resource requirements. A first arrow extends from the right labeled: Review triggered alerts; Review resource options and utilization; and Record and review memos. A second arrow extends form the right labeled: Plan course flows; Generate and publish schedules; Delete or reschedule events; and Override automatic event date, time location or resource. FIG. 5 is a diagram illustrating the data flow perspective of the training system incorporating the expert scheduler of the present invention. At the top is an oval labeled UI (user interface). Below and to the left is an oval labeled ADM (administration). An arrow extends from the ADM oval to the UI oval and it is labeled: Resource Spec; Course Spec; Training Request: Schedule Preference; and Enrollment. Below and to the right of the UI oval is an oval labeled RPT (Report). An arrow extends from the RPT oval to the UI oval and it is labeled: Plans; Schedules; Options; Alerts; and Aux. Reports. An oval labeled DBX (data base change) is located below the UI oval and has a two headed arrow extending to the ADM oval. A single headed arrow extends from the DBX oval to the RPT oval. Between the UI oval and the DBX oval is an oval labeled SCHED. On the left, an arrow extends from the DBX oval to the SCHED oval and is labeled Params (Parameters). An arrow extends from the SCHED oval to the DBX oval and is labeled Appointments. Below the DBX oval is a straight line extending to a label DB (data base). Below and to the left of the DBX oval is an oval labeled RESTORE. An arrow extends from the RESTORE oval to the DBX oval. Below the RESTORE oval is an oval labeled PURGE. An arrow extends from the PURGE oval to the DBX oval. Below and to the right of the DBX oval is an oval labeled BACKUP. An arrow extends from the DBX oval to the BACKUP oval. Below the BACKUP oval is an oval labeled SHARED MEM (memory). A double headed arrow extends between the DBX oval and the SHARED MEM oval. Below the DBX oval is an oval labeled TRACE. The TRACE oval has an arrow connected to a legend: LOGS. The TRACE oval has an incoming open-ended arrowhead. At the bottom of FIG. 5 is a 2.times.4 matrix of unconnected ovals labeled: INSTALL; BOOT; CONFIG; TEST; REMOVE; SHUTDN; CRON; and MAINT. FIG. 6 is a diagram illustrating the object perspective of the training system incorporating the expert scheduler of the present invention. FIG. 7 is a diagram illustrating the student state perspective of the training system incorporating the expert scheduler of the present invention. FIG. 8 is a diagram illustrating the resource state perspective of the training system incorporating the expert scheduler of the present invention. FIG. 9 is a diagram illustrating the training event perspective of the training system incorporating the expert scheduler of the present invention. Thus there has been described a new and improved expert system scheduler that performs administrative and managerial functions necessary for operating, managing and revising of the schedules for training systems. It is to be understood that the above-described embodiment is merely illustrative of some of the many specific embodiments which represent applications of the principles of the present invention. Clearly, numerous and other arrangements can be readily devised by those skilled in the art without departing from the scope of the invention.
|
Same subclass Same class Consider this |
||||||||||
