1. Homepage
2. Programming
3. MIS41160: Optimisation in Business - Assignment: Mathematical Programming

# Master of Science (Business Analytics)

Master of Science (Business Analytics) MIS41160: Optimisation in Business Assignment: Mathematical Programming

## 1. Introduction

This is a team assignment. Form teams of three (one or two teams of two may be necessary depending on class size). You will address Mathematical Programming (specifically, Linear and Integer Linear Programming) problems as described in §§3–5 using the approaches and tools discussed in class, and make recommendations to the decision maker. The mark for each question or part of a question is given in brackets [ ] in the right-hand margin.

Standard UCD policies on plagiarism and late assignments apply. Failure to correctly name a submission as described below will incur a one grade point penalty (e. g., B+ is reduced to B). Failure to submit in the form required (e. g., submitting .rar or .zip file) will also incur a one grade point grade penalty. These are cumulative. 1.1. Randomisation of problem data. In Problem 3, you will notice that I have used digits from student numbers. This is in order to make the problems differ from one team to another, and so enhance integrity of the assessment. A student number is largely random and so allows for some randomisation of problem data. Choose one team member and record that person’s student number. • Let s1 , s2 , . . . , s8 be the first, second, . . . , eighth digits, respectively, of the student number, with the extra condition that if a digit is 0, you should change it to 5. For example, if your student number is 18473025, then s1 = 1, s2 = 8, s3 = 4, s4 = 7, s5 = 3, s6 = 5 (not 0), s7 = 2 and s8 = 5. This si notation refers exclusively to student number digits, and will not be used for any other purpose in this assignment. • In Problem 3, you will see places where a student number digit comes after another digit, e. g., 12s3 . This does not mean multiplication, but simply inserting the third digit of the student number as the last digit in the parameter e. g., for student number 18473025, 12s3 = 124.

## 2. Deliverables

The deliverables comprise a report and a set of Mosel files. The report document is to describe, for each problem in §§3–5 below, your: • analysis of the problem; • approach to modelling and mathematically formulating the problem;

Optimisation in Business: Assignment: Mathematical Programming

• interpretation of the results; • recommendation, with reasons, to the decision maker(s). This document is to be of the form: (i) A cover/title page, containing • title and handup date of assignment • full name and student number of each team member • a statement that this is all your own work, signed by each team member; (ii) Up to ten pages of text containing your analysis, modelling, etc., as described above, no smaller than 10 point font. The cover/title page(s) do not count towards the page limit. This deliverable may be in Word, Openoffice.org or pdf format. Name the document, using team members’ surnames, according to the convention opb Surname1 Surname2 Surname3 LP.pdf (or .docx, .odt, etc.) You will implement a Mosel file for each problem in §§3–5. Name the Mosel files you produce opb Surname1 Surname2 Surname3 prob?.mos where ? means 1, 2 or 3 In all of these, stick to the case shown: opb in lower case, Surnames capitalised. You do not need to give a full description of your Mosel models in your report: just explain your mathematical formulation and your interpretation of the optimal solution. The comments in your Mosel model file serve to explain your implementation. Submit your deliverables through Brightspace for automatic passing through the plagiarism detection tool. Ideally, one team member should submit everything.

1. Problem 1 This problem requires modelling, implementation in Mosel and sensitivity analysis. SmellTheCoffee Ltd. produce three types of espresso coffee mix,Bronze, Silver and Gold. Each type is made from a blend of arabica and robusto coffee beans. Table 1 gives, for each type,

the the the the

quantities of arabica and robusto required per unit, time in hours needed to produce a unit, minimum demand in units as determined by Marketing, profit per unit in e .

The rightmost column of Table 1 gives the quantities of arabica and robusto, and total factory time, available per week to SmellTheCoffee. Unit requirements Raw material Bronze Silver Gold Available Arabica 4 7 10 65000 Robusto 6 3 0 30000 Time per unit (hrs) 2 3 4 42000 Minimum Demand 2800 2000 1100 Profit per unit (e ) 30 50 80 Table 1. SmellTheCoffee requirements and constraints In addition to these requirements, Marketing state that: • the number of units of Bronze produced must be between 3 and 5 times the number of units of Gold ; • the number of units of Silver produced must be between 2 and 4 times the number of units of Gold. SmellTheCoffee seek to maximise profit, while meeting the availability constraints of arabica, robusto and factory time, as well as meeting the minimum demands and Marketing requirements. Formulate this business problem as a Linear Programme, explaining each part of your formulation, and solve it, interpreting your results. Discuss the sensitivity of the optimal solution to changes in the constant terms of the constraints, and to changes in the objective function coefficients. Your Mosel model should be fully commented and demonstrate the use of Mosel functions to find dual values, reduced costs, slacks/surpluses and sensitivity ranges, for each constraint or decision variable as appropriate.

## 4. Problem 2

This problem requires modelling and implementation in Mosel. A large engineering firm, Heavy Automation Logistics (HAL), is changing its focus to become a services firm, and seeks an efficient way to do this. HAL has identified three categories of customerfacing staff: Engineers, IT Consultants and Business Consultants. It is embarked on a workforce repositioning effort, starting today (2022), wherein it wishes to decrease the number of engineers and increase the numbers of business consultants and IT consultants. Its approach to achieving this will be a combination of hiring, firing and training (new skills development). Coupled with this workforce repositioning, the current economic climate is expected to mean a short term reduction in the total number of staff required. Table 2 gives the expected number of staff of each category required over the next three years.

Engineer IT Consultant Business Consultant Current (2022) 3000 500 1000 Required 2023 2000 600 1100 Required 2024 1200 1200 1900 Required 2025 500 2000 2500 Table 2. Current and expected required staff levels by category, up to 2025 HAL wishes to identify its policy to achieve these numbers, in terms of (a) hiring, (b) firing and (c) training. A complicating factor is that there is a normal turnover of staff (that is, staff leaving HAL). HAL’s experience is that staff are more likely to leave during their first year. HAL have forecast the staff turnover percentage rates as in Table 3. Engineer IT Consultant Business Consultant ≤ 1 year service 12% 15% 10%

1 year service 7% 10% 5% Table 3. Expected staff turnover rates, by category Currently, all staff have been working for HAL for more than one year. The information to hand regarding possibilities of hiring, firing and training is as follows. Hiring: It is possible to recruit from outside a limited number of people with appropriate skill sets for HAL. It is expected that in each of the years from now to 2025, the availabilities of the three categories will be as in Table 4: Firing: The costs of making staff redundant are as in Table 5:

Engineer IT Consultant Business Consultant Number available 400 900 800 Table 4. Expected staff availability for hiring, by category Engineer IT Consultant Business Consultant Redundancy cost 100 120 140 Table 5. Cost in thousands of e of making staff redundant, by category Training: Certain categories of staff may be retrained to other categories, as given below. However, it is considered too expensive to retrain Engineers to be Business Consultants, or vice versa, since their skillsets are so different. • Up to 400 Engineers may be retrained to be IT Consultants each year, at a cost of e 5000 each, by sending them on external courses. • IT Consultants may be retrained to be Business Consultants, at a cost of e 7000 each; however, some of this training is done on the job by existing HAL Business Consultants, which means that the number trained in this way each year is limited to at most one third of that year’s Business Consultant population. • Up to 300 Business Consultants may be retrained to be IT Consultants each year, at a cost of e 6000 each, again by sending them on external courses. • Up to 200 IT Consultants may be retrained to be Engineers each year, at a cost of e 4000 each, also by sending them on external courses. For simplicity, it is assumed that all of the events, namely, hiring, firing, training and staff turnover, occur once each year, on the first day of the year. HAL’s objective is to meet these staffing requirements while minimising the amount of staff redundancy (firing) required. Formulate this problem as a mathematical programme and solve. If their objective were changed to minimising costs, how much extra money could they save? Modify or extend your mathematical programme to answer this revised question. Implement and solve this problem in Mosel. Your Mosel model should be fully commented and demonstrate the use of one or more of each of the following:

• constant;
• real variable;
• string variable;
• decision variable;
• array (e. g., array of constraints);
• the sum language construct;
• the forall language construct;
• initialisation from a data file.

Do not hard code the data in your Mosel implementation: read it in from a file.

## 5. Problem 3

This problem requires modelling, implementation in Mosel and sensitivity analysis. It is the end of the financial year (the winter quarter). Floggit Ltd, a new startup, produces one product, for which the demand in units for the next four quarters is predicted to be as given in Table 6. Quarter Spring Summer Autumn Winter Demand 70 100 150 180 Table 6. Floggit demand levels for the next four quarters

Assuming all the demand is to be met, there are various production policies that might be followed: One extreme: Track demand with production and carry no inventory; The other extreme: Produce at a constant rate of 125 units per quarter (i. e., the average demand) and allow inventory to absorb the fluctuations in demand; Intermediate policy: Allow some variation (but not too much: how much is best?) in production, and absorb the remaining fluctuations in demand by (a smaller) inventory.

Floggit’s factory is limited to 100 units per quarter normal production. Above that production level, overtime rates must be paid, which increases production costs. There are costs associated with • Holding inventory: Floggit estimates an inventory holding cost of e 40 for each unit of inventory at the end of each period • Varying the production level: Floggit estimates that changing the production level from one period to the next costs e 30 per unit. [For example, if 140 were made in one period and 120 in the next, then the cost of changing would be e 30×(140−120) = 30×20 = 600.] • Normal production: up to 100 units per quarter, at a cost per unit of e 100 • Overtime production: this is seasonal, both in quantity that can be produced and in cost per unit: Quarter Spring Summer Autumn Winter Production capacity (units) 40 60 90 80 Production cost/unit (e ) 12s3 13s4 14s5 13s6 There is an inventory capacity of at most 60 units.

The initial inventory is zero and the current production level is 100 units in this (winter) quarter. Floggit require that these same levels be returned to at the end of next year’s winter quarter. All costs, including the cost of returning to these same levels, must be considered.

You must find the production and inventory policy that gives the least total cost while meeting these requirements. Formulate and solve this problem, assuming: (a) the production and inventory variables are continuous (e. g., the product is petrol); (b) the production and inventory variables are integer (e. g., the product is fridges). Where appropriate, carry out sensitivity analysis to determine to which constraint RHSs the objective function value is most sensitive.

Implement and solve this problem in Mosel. Your Mosel model should be fully commented and demonstrate the use of Mosel functions to find dual values, slacks/surpluses and sensitivity ranges, for each constraint.