Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

Semester 2, 2022/2023

MATH6184 — Computational Machine Learning and Optimization

Coursework

This piece of work will count for 30% of the overall mark for MATH6184. It is intended that you carry out the analysis using the AMPL modeling software system.

(TENTATIVE DEADLINE) 16:00 on Monday, 24th of April, 2023. The deadline is strict.

Please refer to your programme handbook for the penalties applied to late assign- ments.

Your report should be word processed. Ensure that you take frequent and multiple backups of your work, since excuses concerning lost or corrupted files will not be treated sympathetically.

As a very rough guide, I would like about six to ten A4 sides of description, with any extra material (e.g., diagrams, tables or computer output) attached at the end. Your report should include:

• an introduction;

• the formulations of your models with a statement of any assumptions made;

• a brief description of how you solved them;

• a presentation of the results and your attempts at the tasks listed on page three;

• a summary of recommended policies that should be followed (and possible sugges- tions for further investigations);

• printouts of the AMPL model(s) and corresponding output in one or more appen- dices.

It should be written from the point of view of you, the analyst, describing some work that you have done to a manager (who will know the mathematical programming terminology).

Marks will be awarded on the basis of

• quality of the analysis;

• clarity of the presentation;

• originality.

Your work must be written up independently. The model and report must be your own work. You are reminded of the University policy on academic integrity. Your report must acknowledge clearly all people with whom you have  discussed  any  part  of the  coursework,  as  well  as  any  references  you might have used.

You are expected to complete the coursework without help from staff. No other assistance will be provided.

Greenhouse Optimisation

A farmer who owns several greenhouses has tasked you with operating the ventilation unit of the greenhouses for the next two days. The ventilation units can replace parts of the air within the greenhouses with the air outside, thereby changing the temperature within the greenhouses by mixing colder air with hotter air and vice versa. In what follows, all temperature data is given in C.

For each hour of the two days, the following lower and upper bounds on the temper- ature within the greenhouses must be observed:


hour     0      1      2      3      4      5      6      7      8      9     10    11    12    13    14    15    16    17    18

l.b.    18    18    18    18    18    18    18    18    18    18    19    20    21    22    23    23    24    23    22

u.b.    30    30    30    30    30    30    30    30    30    30    30    30    30    30    30    30    30    30    30

hour    19    20    21    22    23

l.b.    21    20    19    18    18

u.b.    30    30    30    30    30


Outside temperatures are predicted as follows, for each hour of the two days:

hour

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

temp.

17

16

15

15

15

17

18

20

22

24

26

28

30

31

32

33

31

29

28

hour

19

20

21

22

23

temp.

26

24

22

19

17

At each hour of each day, the ventilating units can mix air from outside with the air from inside the greenhouses. The operator can decide how much of the air inside is replaced by air outside. It can be assumed that mixing the air occurs immediately and the mixing is homogenous. Operating the ventilation units costs electricity; at hour i, the cost to replace q% of air in the greenhouses with air from outside is


1000 + bi q [in £],

ai q3 


 

where ai  and bi  are cost coefficients that vary with the hour i as follows during the day


hour i     0       1       2       3       4       5       6       7       8       9      10     11     12     13     14     15     16     17

ai      0.1    0.1    0.1    0.1    0.1    0.1    0.2    0.2    0.2    0.2    0.2    0.3    0.3    0.3    0.3    0.3    0.3    0.3

bi        1       1       1       1       1     1.5    1.6    1.6    1.6    1.8    1.8    1.8    1.8    1.8    1.7    1.6    1.6    1.6


hour i

18

19

20

21

22

23

ai bi

0.3

1.4

0.2

1.2

0.2

1

0.1

1

0.1

1

0.1

1

The forecast for the next two days is cloudy, so there will not be any heating of air inside the greenhouses due to sunshine.

Due to the condition on the previous day, the temperature of the air within the greenhouses is 19C at 0:00 of the first day.

According to the farmer, the ideal air temperature” for the plants inside the green- houses is 27C for every hour of every day.

The farmer wants to minimize the costs of operating his greenhouses while staying as close to the ideal temperature as possible. The lower and upper bounds for the temper- atures need to be maintained at all costs.

Your tasks are as follows:

1. Formulate a nonlinear programming model to minimize the electricity costs while maintaining lower and upper bounds for the temperatures within the green houses. Implement and solve the model using AMPL. Report on the best strategy to min- imize the costs.

2. Modify your nonlinear programming model such that the deviation from the ideal air temperature at every hour of each day is minimized. Implement and solve the model using AMPL and report on your findings.

3. The farmer is interested what the trade-offs are between minimizing electricity costs and maintaining the ideal air temperature.

For this, modify your model such that the objective is to minimize electricity costs, while maintaining the ideal air temperature is modeled as one or more equality constraints. Then, using AMPL, implement and solve a model in which you penalize deviations from the ideal temperature in the objective function. Solve the model for various choices of the penalty parameter and report your findings.

4. You have twelve solvers available within AMPL to solve your problems: baron, conopt, copt, gurobi, ilogcp, knitro, lgo, loqo, minos, octeract, snopt, and xpress. Which of these solvers performs best on your model from question 3? Which performs worst? Justify your answer.

5. What further information can you provide on the best performing solvers?

6.  Comment on extensions of your work.