Scheduling Operators at Lancaster
Lancaster University employs a powerful mainframe computer dedicated to supporting research
activities for its students and staff. This computer is managed by the director of the computer facility,
Eleanor Mitchell, who is in charge of making sure everything runs smoothly.
As the new academic year begins, Eleanor has a big job on her hands. She needs to figure out when her
team of student operators can work. These student operators serve as the guardians of the computer,
ensuring its smooth operation and assisting with programming tasks.
Now, these student operators have different availabilities and abilities, and Eleanor has to juggle all of
that to make sure the computer is always taken care of. Some student operators can only work on
certain days, and they have different levels of experience, so they get paid different amounts.
As Eleanor embarks on the task of planning the schedule, she plays the role of a puzzle solver, ensuring
everyone’s time fits together without causing any conflicts.
In this endeavour, you, a business analytics expert, have been brought in by Eleanor to assist in
planning the schedule for the student operators. This involves examining each student’s schedule,
taking into account their experience, and ensuring they work enough hours to stay on top of things.
You will dig into the details of each student’s schedule, their pay rates, and the challenges Eleanor
faces in creating a schedule that keeps everyone happy and the computer running smoothly
throughout the academic year. You will provide Eleanor with your code and report the findings of your
analyses to make sure the schedule works well for everyone involved.
There are four student operators who are still studying for their bachelor’s degree (E. Khan, Y. Chen, A.
Taylor, and R. Zidane) and two who are doing their master’s degree (R. Perez and C. Santos). Each
student operator has to work a minimum number of hours per week.
Eleanor is sharing the data and model used to optimise the schedule for the student operators. Until
now, they have relied on Excel for modelling and optimisation. However, they aim to employ more
advanced and easily generalisable tools. Your role is to implement their existing model using Python
and then compare the resulting schedules with the current one.
As part of the analysis, Eleanor tasks you with modelling and optimising the schedule to minimise
overall costs while achieving a more equitable distribution of hours. The model will allow you to
evaluate the trade-offs between fairness and cost-effectiveness.
Finally, Eleanor proposes the introduction of two distinct skills, with each operator possessing at least
one of these skills. The challenge involves optimising the schedule not only based on minimum
commitments and availability, but also on skill distribution.
Data and model
All operators are current university students, including four bachelor’s students (E. Khan, Y. Chen, A.
Taylor, and R. Zidane) and two master’s students (R. Perez and C. Santos). They have limited daily
availability, as outlined in the table below:
Operator Mon Tue Wed Thu Fri
E. Khan 6 0 6 0 6
Y. Chen 0 6 0 6 0
A. Taylor 4 8 4 0 4
R. Zidane 5 5 5 0 5
R. Perez 3 0 3 8 0
C. Santos 0 0 0 6 2
The operators have different wage rates based on their computer experience and programming ability.
Below is a summary of the operators’ wage rates:
Operator Wage Rate
E. Khan £25/hour
Y. Chen £26/hour
A. Taylor £24/hour
R. Zidane £23/hour
R. Perez £28/hour
C. Santos £30/hour
The operators have a minimum weekly commitment set at 8 hours for bachelor’s students and 7 hours
for master’s students to ensure a solid understanding of the operation.
The mainframe operates from 8am to 10pm, Monday through Friday, with one operator on duty
during these hours. On Saturdays and Sundays, operational shift changes occur, and the computer is to
be operated by other staff.
The challenge lies in optimising operator schedules to meet weekly minimum commitments,
considering their availability, wage rates, and operational hours.
Due to budget constraints, Eleanor employs the model provided below to minimise costs by
determining the number of hours she should assign to each operator on each day. Here, ‘XD’
represents the number of hours operator ‘X’ is assigned to work on day ‘D’, where ‘X’ corresponds to
the initials of the student operators (EK, YC, AT, RZ, RP, CS), and ‘D’ corresponds to the days (Mo, Tu,
We, Th, Fr, i.e., Monday-Friday).
Minimise:
25 * (EKMo + EKWe + EKFr) + 26 * (YCTu + YCTh) + 24 * (ATMo + ATTu + ATWe + ATFr) +
23 * (RZMo + RZTu + RZWe + RZFr) + 28 * (RPMo + RPWe + RPTh) + 30 * (CSTh + CSFr) Subject to:
EKMo ≤ 6 (EK availability on Monday)
EKWe ≤ 6 (EK availability on Wednesday)
EKFr ≤ 6 (EK availability on Friday)
EKMo + EKWe + EKFr ≥ 8 (Weekly minimum for EK)
YCTu ≤ 6 (YC availability on Tuesday)
YCTh ≤ 6 (YC availability on Thursday)
YCTu + YCTh ≥ 8 (Weekly minimum for YC)
. . . (Repeat similar constraints for AT, RZ, RP and CS for their respective weekly minimums and
availability constraints)
EKMo + ATMo + RZMo + RPMo = 14 (Constraint for Monday)
YCTu + ATTu + RZTu = 14 (Constraint for Tuesday)
. . . (Repeat the same pattern for the remaining days)
EKMo ≥ 0 (Non-negativity constraint)
EKTu ≥ 0 (Non-negativity constraint)
. . . (Repeat the same for all other decision variables)
Analysis requirements (60 Marks)
This model aims to create efficient schedules that meet the weekly commitments for each student while
minimising costs, considering their availability and the operational hours of the mainframe.
Analysis requirement 1: Eleanor would like you to implement their model in Python. (Ideally, all of the
analyses should be conducted in Python.) You should compare your results from Python to the solution
produced by Eleanor who used Excel for their analyses. They expect any differences between the two
solutions to be minor. The table below presents the number of hours assigned to each operator.
Operator Number of hours
E. Khan 9
Y. Chen 8
A. Taylor 19
R. Zidane 20
R. Perez 7
C. Santos 7
Overall cost = £1755
The table below shows the overall schedule (note that there could be more than one optimal schedule):
Operator Mon Tue Wed Thu Fri
E. Khan 2 hours 4 hours 3 hours
Y. Chen 2 hours 6 hours
A. Taylor 4 hours 7 hours 4 hours 4 hours
R. Zidane 5 hours 5 hours 5 hours 5 hours
R. Perez 3 hours 1 hour 3 hours
C. Santos 5 hours 2 hours
Conduct a sensitivity analysis to measure the impact of variations in operator availability on the
overall cost.
Analysis requirement 2: In the context of the optimal schedule generated, it becomes evident that the
allocation of hours is not entirely equitable. For instance, some operators, like R. Zidane, are assigned
significantly more hours (20) compared to others who are allocated only 7 hours. To address this
fairness issue, Eleanor would like you to re-model and optimise the schedule that will achieve a more
equitable distribution of hours while keeping the wage rates unchanged. Provide answers in the
following two scenarios with detailed explanations:
i. Eleanor is only willing to increase up to 1.8% in the overall cost to achieve this fairer
distribution.
ii. Eleanor aims to achieve the fairest possible distribution of hours and wants to
determine the minimum overall cost increase required to achieve this distribution.
Analysis requirement 3: Eleanor suggests incorporating a skill-based dimension to the optimisation
process. Specifically, Eleanor aims to ensure that on any given day, there are at least 6 hours of operation
contributed by operators with each skill. Each operator is now associated with at least one of two
distinct skills, categorised as “Programming” or “Troubleshooting” as illustrated in the table below. In
the table, a ✔ indicates that the corresponding operator possesses the specified skill.
Operator Programming Troubleshooting
E. Khan ✔
Y. Chen ✔
A. Taylor ✔
R. Zidane ✔
R. Perez ✔
C. Santos ✔ ✔
Reformulate the problem to meet the minimum requirements of these skills throughout the operational
days as a linear program and explain it.
Eleanor wants to determine the necessary increase in the total cost to achieve a schedule with a more
balanced distribution of skills on operational days. If it is not feasible, provide an explanation. Management Report (20 Marks)
The maximum length of the report is 10 pages (not counting the title page or the appendix). You can use
any readable font (i.e., not too small) and use single spacing. There is no penalty for a shorter report,
although it is unlikely that you would be able to address all the issues properly in a very short report.
You need to provide the information requested and explain the analysis you have done.
The report should follow the guidelines set out in the recorded lecture on Report Writing. However,
since this is a short report:
• You do not need to start different sections of the main body on separate pages;
• A contents page is not required. If you include a contents page it will count towards the total
page limit;
• For the appendix, state which analyses tasks have been completed in Python. You then need to
copy and paste the Python code (as a text, not screenshot) into the appendix.
• No other details should be entered in the appendix. Anything relevant to the report should be in
the main body of the report. Any additional details in the appendix that have not been requested
will be ignored and will not contribute to your overall mark.
Python Code (20 Marks)
These marks will go to programs that are:
• Well-structured and well-commented
• Intuitive to use (i.e., straightforward for us to run the code)
• Generalisable (i.e., your code can be used with any parameter values)
• Flexible (i.e., provide user options via a user interface, covering all the analysis performed)
An example of a user interface is as follows:
> Choose one of the following options:
> 1: Show the overall cost
> 2: Show the number of hours assigned to an operator
> 3: Show the schedule on a particular day
> 4: Show the schedule of an operator
> 5: Show the overall schedule
> . . .
> Q: Quit the program
1
> The overall cost is £1755
> Do you want to continue (Y/N)?
Y
> Choose one of the following options:
> 1: Show the overall cost
> 2: Show the number of hours assigned to an operator
> 3: Show the schedule on a particular day
> 4: Show the schedule of an operator
> 5: Show the overall schedule
> . . .
> Q: Quit the program
2
> Enter the name of the operator:
E. Khan
> The number of hours assigned to E. Khan is 9 hours
> Do you want to continue (Y/N)?
N
> Good bye! The program should run without errors and sensibly uses programming techniques developed on the
module. The source code should be programmed with Jupyter Notebook as an Editor. It is important to
break your code into small, meaningful functions and appropriately comment your code.
Note: If you are unable to use Python for all of the analyses, you may use Excel in order to gain marks
for that element of the coursework instead. However, your mark for the Python code will be negatively
affected.
Academic Malpractice
This coursework is to be done as an individual piece of work. All of your analyses and the whole of your
report must be your own work alone. Collusion between students and plagiarism are regarded as very
serious offences and will be penalised severely. Please note that software to detect plagiarism and
collusion will be used.
Submission Instructions
• Your coursework should be submitted to the MSCI151 Moodle site as two documents. Your
python code and a Word or PDF document containing the management report.
• If possible, please submit your report as a PDF file (you should be able to save it in PDF format
from Word). Alternatively, submit it as a Word file if that is not possible.
• Your python code should be submitted as a single Python file (.ipynb) that contains the Python
code used to create the output/results for the analysis. If the Python file is not submitted, you
will receive zero marks allocated for Python. Please ensure to submit the file with the .ipynb
extension.
• The name of the Python file should be your Library Card/Student Number. E.g.,
12345678.ipynb, where 12345678 is an example Library Card/Student Number.
• The place to submit your files is in the MSCI151 Moodle site in the Methex 2 (individual)
submission link under the “Individual Methex (Summer term)” section.
• You are required to provide both the Python file and the relevant Python code segments in the
appendix to the report.
• Do not submit any other files.
• The deadline for submission is 4pm on Thursday 9th May 2024.
Remember to give yourself the opportunity to complete the task with time to spare. Leaving it to the last
minute often results in a poor submission and a low mark. Late work without an agreed extension will
be penalised according to the University rules (deduction of marks as shown in the assessment rules
table for work up to 3 days late; a mark of 0 for work more than 3 days late). Extensions may, in certain
rare circumstances, be given but to obtain an extension you must download the extension request form
from the Management Science FAQ Moodle site. You are very strongly advised to make back-up copies
of your work during the project, e.g., on your hard drive, a USB and/or on a cloud storage service – loss
of work due to computer problems will not be accepted as a reason for an extension.
请加QQ:99515681 邮箱:99515681@qq.com WX:codinghelp
标签: