FACTORY SCHEDULE SHOW (FSS)

Concept and Design:  B. Khoshnevis

Chief Programmer: W. Tan

(C) Copyright 1997, University of Southern California

< Download FSS >

1. Introduction

Factory Schedule Show is a software which provides a dynamic display of factory operations schedule and machine loads based on any scheduling algorithm output that the user provides. FSS also has the capability to show some relevant statistical data and performance measures. FSS is useful for teaching, research, and actual application.

In teaching, the graphical presentation capability of FSS can be used to effectively demonstrate the performance of various scheduling algorithms to students.

In research, visual analysis of schedule graphs and examination of various performance measures that FSS provides can be used to evaluate the performance of various research algorithms and procedures.

In actual application settings, factory operations can be monitored and schedule performance evaluated, if the FSS input file is routinely maintained and updated.

FSS is coded in Borland C++ 4.0 for Windows. It runs on IBM PC and requires Microsoft Windows 3.1 or higher.

2. System Functions

The system consists of two main menus: File and View. Under File, there are five menu items: 'Open - Run', 'Reset - Run' , 'Close', 'Print Screen', 'Print Statistics', and 'Exit'. Under View, there are two menu items: 'Performance measures' and 'Input data'. Following are brief descriptions of these menu items:

File | Open - Run: Opens an input file and runs it immediately after opening. The default file extension is '.fss'. The system works on one input file at a time. To open a new file the currently open file must be closed first.

File | Print Screen: Prints the current screen, including the pie chart, the statistics table, and the Gantt chart.

File | Print Statistics: Prints a complete copy of current statistics for all machines, and values of ten scheduling performance measures.

File | Close: Closes the currently open input file and allows opening a new input file.

File | Exit: Exits the application and returns to Windows.

View | Performance Measures: Invoke a dialog box that displays current values of ten performance measures which include: makespan, mean flow-time, number of tardy jobs, mean lateness, mean tardiness, maximum tardiness, minimum tardiness, mean earliness, maximum earliness, and minimum earliness.

View | Input file: Invokes a dialog box that displays the content of the input file. The display may be scrolled up and down.

3. Windows Objects and Their Usage

There are five objects within the display window: top form, a child window, legend, system clock, speed gauge.

In the top form there are three items: a machine list box from which a desired machine may be highlighted, a pie chart that shows the fractions of different types of activities on the chosen machine, and a statistic table that shows detailed statistics of the chosen machine, including figures such as utilization, sum, percentage, average, and standard deviation.

The function of the child window is to display the status of machines using a Gantt chart. Colors are used to represent different types of states for machine status (idle, busy, down, and blocked). The legend box shows the color scheme used to represent various machine states. Note that clicking on any segment of Gantt charts triggers a dialog box that indicates the details of the machine status during the related time segment.

The system clock shows the current simulated time and runs from 0 to 1000 time units. This clock stops running when the end of input data file is reached (i.e., the last activity is scheduled).

The speed gauge is used to control the pace of the simulated time. The clock may be slowed down or speeded up by clicking 'Fast' or 'Slow' buttons, respectively.

4. Input File Format

It is the responsibility of the user to make sure about the integrity of the input data. FSS does not check the input file for detection of possible errors. Therefore, the required format of the input file must be observed.

The input file consists of three parts: machine data, part (job) data, and activity data.

Machine data starts with the number of machines, and the names of machines are listed one by one thereafter. The maximum number of machines is set to 50. Following is an example of machine data:

number_of_machines: 5 plain-mill vertical-mill universal-mill drill bore

Part data starts with the number of parts, each part has two entries: part_name and due_date. The following is an example of part data:

number_of_parts: 5 part_name: part_1 due_date: 330

part_name: part_2 due_date: 360

part_name: part_3 due_date: 390

part_name: part_4 due_date: 300

part_name: part_5 due_date: 350

Activity data immediately follows part data. The user need not specify the number of activities. Each activity consists of six entries: machine_number (an index on the machines described earlier, for example, '0' may denote 'plain-mill'), activity_type (may be BUSY, IDLE, BLOCKED, or DOWN), start_time (the time the activity starts, an integer), end_time (the time the activity ends, an integer), part_name (the name of the part to which the activity belongs - could be NULL), feature_name (name of the feature to be produced - could be NULL). The maximum number of activities is set to 100. The following is an example of activity data:

machine_number: 0

activity_type: BUSY

start_time: 0 end_time: 50

part_name: part_1

feature_name: hole_1


You are the visitor since March 5th 1997.


Back to Software page.