Steel-making Production Line Scheduler
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
Project title: Steel-making Production Line Scheduler (PLS)
Scenario
A medium-size steel-making manufacturer owns three plants to produce a number of
different products. On average, the three plants (Plant_X, Plant_Y and Plant_Z) can produce
300, 400 and 500 products a day respectively (currently, they are producing finished steel
products (steel rails), semi-finished steel (rods/wire), and crude steel products(pig iron)).
Recently, the factory manager found that there were a number of orders which could not be
completed on schedule and caused the decline of the company’s profit. After an
investigation, it was found that the three plants were not fully utilized because there was no
good planning of the production schedule for the three plants, causing the utilization of the
plants to become low. Knowing that you have just learn the algorithms of “scheduling”
in Computing, PolyU, the factory manager would like to seek help from you to advise
them how to make a better way to schedule the production.
In this project, you are asked to create an application that can help the company to schedule
their production in order to produce the best utilization of the three plants. In addition,
the application should also report which order should be accepted and which one
should be rejected. This is because if an order was accepted but could not be completed
on time that would cause a loss not only in short-term profit, but also in long-term goodwill.
Project Requirements
In this project, it is an opportunity for you to apply the theory of process scheduling
which you have learn from COMP2432 to a daily-life scenario and to produce a
Schedule. The project simply consists of four parts:
Part 1. Write a program that allows user to add details of orders (due date, quantity, product
name, etc) to the scheduler. This is referred to as the Input Module.
Part 2. Extend your program developed in Part 1 with a scheduler to generate schedules.
The scheduler may implement different scheduling algorithms which are similar to
those covered in lectures. This is the Scheduling Kernel, within Scheduling
Module.
Part 3. Augment the program with the facilities to print out schedules for the factory
manager nicely according to the chosen algorithm in Part 2. This constitutes the
Output Module.
Part 4. Provide the program with the ability to generate a summary report to analyze the
results produced in Part 3. Compare the different schedules (generated from
different algorithms) and find out which one would be the best use of the three plants. Your program should preferably be able to process N plants (N = 3 in the
existing case). By the way, an outstanding (rejected) list may be included in this
report for those orders cannot be scheduled. This final module is the Analyzer
Module.
You must form a group of 3 to 5 (at most) persons for the project. The project must be
implemented using programming language C and it must be successfully executed on ANY
ONE of Linux Servers (apollo or apollo2) in the Department of Computing. You will have
to specify to us on which Linux server your project has been tested and/or executed.
***** Note that “cc” or “gcc” is the compiler that we would use in this project. *****
Implementation
User Interface
A user interface is needed for user to input commands and to add/create orders and activities
in the product line scheduler application (PLS). The input methods may look like the
followings (blue colored lines).
~~WELCOME TO PLS~~
Please enter:
> addPEIOD 2024-06-01 2024-06-30
Please enter:
> addORDER P0001 2024-06-10 2000 Product_A
Please enter:
> addORDER P0002 2024-06-13 3000 Product_D
Please enter:
> runPLS FCFS | printREPORT > report_01_FCFS.txt