ENGG1811–Assignment 2: Biofuel Production – Simulation and Design最先出现在Help Your Paper| Knowledge Platform。
]]>functions and others
4. Applying good software engineering practices, which includes proper documentation,
program style.
Aaron Quigley, October, 2020
Deliverables: Submit by 17:00 on Friday of Week-10.
Late Penalty: Late submissions will be penalised at the rate of 10% per day (including
weekends). The penalty applies to the maximum available mark. For example, if you
submit 2 days late, maximum available marks is 80% of the assignment marks.
Submissions will not be accepted after 9am Wednesday of Week-11.
To Submit this assignment, go to the Submission page and click the link named
“Make Submission”.
GENERAL RULES
1. This assignment is weighted at 20%
2. You are reminded that work submitted for assessment must be your own. It’s OK
to discuss approaches to solutions with other students, and to get general help
from tutors or others, but you must write the python code yourself. Increasingly
sophisticated software is used to identify submissions that are unreasonably
similar, and marks will be reduced or removed in such cases.
3. The Student Code of Conduct sets out what the University expects from students
as members of the UNSW community. As well as the learning, teaching and
research environment, the University aims to provide an environment that enables
students to achieve their full potential and to provide an experience consistent
with the University’s values and guiding principles. A condition of enrolment is that
students inform themselves of the University’s rules and policies affecting them, &
conduct themselves accordingly. (see the course outline page with links).
4. You should also read the following page which describes your rights and
responsibilities in the CSE context: Essential Advice for CSE Students
Essential
The University views plagiarism very seriously. UNSW and CSE treat plagiarism as
academic misconduct, which means that it carries penalties as severe as being
excluded from further study at UNSW. [see: UNSW Plagiarism Procedure]
Resources Provided to you
There are a number of python files that you need to do this assignment. These files are
in assign2.zip. We introduce these supplied files, see the section on Supplied Files.
ENGG1811 20T3 Assignment 2: Biofuel Production – Simulation and Design
Introduction
In these days, with the worlds attention turned to viruses, infection and disease
transmission some people think that bacteria are harmful. In reality there are many
different types of bacteria in this world. Some bacteria are harmful to humans but some
bacteria help us (e.g. curdling milk) or in our bodies (e.g. our digestion) help us to live.
Have you ever considered the possibility that bacteria can also be “factory workers”?
Engineers and scientists are working on using bacteria to produce certain chemicals and
materials. An example is to use bacteria to produce fuel for us. In engineering, we often
want to optimise the process, so we may want to make the bacteria to produce as much
fuel as possible in a given time. However, there are often constraints in nature. The truth is
that fuel is toxic to bacteria, so we need to find a way for the bacteria to make a lot of fuel
but at the same time keep them alive! This biofuel production process is the theme of this
assignment.
The aim of this assignment is to give you an opportunity to work on a small-scale
engineering design problem in python. The engineering system that you will be working on
is biofuel production. Your goal is to determine the design parameters so that the bacteria
can produce as much fuel as possible while respecting a couple of constraints. You will
use simulation as part of the design process.
For this assignment, given the marks allocated, you need to work alone.
Assignment overview
This assignment is design to imitate engineering design. You will see the following
elements:
1. (Simulation) Simulation of a biofuel production system with different design
parameters.
2. (Design) Evaluate the performance of the systems that you have simulated.
As noted on page 1, there are a number of files provided to get you started please see the
section on Supplied Files below for more details.
We will first give an introduction to biofuel production. This introduction is meant to give
you some intuition on the design problem. After that we will tell you what you need to do
for the assignment.
Biofuel production process
We will give you a basic mental picture that you can use to visualise biofuel production. A
pictorial representation of a bacterium is in Figure 1. A bacterium is a single-cell organism.
It has a cell membrane, which you can think about as the “skin” of a bacterium. By using
bioengineering, we can get the bacteria to produce fuel for us. This production will take
place within the bacteria, i.e. inside the cell membrane of the bacteria.
Now that you know that fuel is produced inside the membrane of bacteria, the next thing
you need to know is that having the fuel staying inside the bacteria is neither good for us
nor the bacteria. It is not good for us because we cannot collect the fuel. It is not good for
Aaron Quigley, October, 2020
ENGG1811 20T3 Assignment 2: Biofuel Production – Simulation and Design
the bacteria because it is toxic to them. This means we need a way to get the fuel from the
inside of the membrane to the outside. A good news is that bacteria can make efflux
pumps on the membrane to push the fuel from the inside of the membrane to the outside.
With these efflux pumps, we can reduce the amount of fuel in the bacteria (i.e. toxicity
level) and collect the fuel, solving the problem that we talked about in the last paragraph,
but there is one catch. Efflux pumps, though useful, can be a burden to the bacteria. This
means that a bacterium should not have too many efflux pumps. A clever way is to get the
bacteria to make efflux pumps on demand. If a bacterium senses that there is a lot of fuel
inside its membrane, it should make more efflux pumps to expel the fuel; and vice versa.
With the help of bioengineering, it is possible to have biosensors in bacteria to sense the
amount of fuel in the bacteria.
The above mental picture should give you the intuition you need for the biofuel production
process. In order to do engineering design, we need a mathematical model which we will
discuss next.
“One mechanism for dealing with toxicity is to export the fuel molecules using efflux
pumps. These pumps are protein complexes in the cell membrane that recognize toxic
substrates and expel them. Once a toxin is sensed, a channel in the membrane opens in
an iris-like fashion and the toxin is pushed out using the electrochemical gradient across
the cell membrane.” From, Dunlop, Mary J., Jay D. Keasling, and Aindrila Mukhopadhyay.
“A model for improving microbial biofuel production using a synthetic feedback loop.”
Systems and synthetic biology 4.2 (2010): 95-104.
Aaron Quigley, October, 2020
Figure 1: (a) Biofuel production using microbes (e.g. bacteria) to convert sugar into fuel.
(b) Efflux pumps can be used to export biofuel out of the cell (adapted from Dunlop 2010)
ENGG1811 20T3 Assignment 2: Biofuel Production – Simulation and Design
A mathematical model for the biofuel production process
From the biofuel production description that we have discussed above, you know that we
are interested in a few quantities: the amount of biofuel inside the bacteria because this is
related to the toxicity level; and, the amount of biofuel outside the bacteria because this is
the amount that we can collect. We would like to have a mathematical model which tells us
how these two quantities vary over time. The mathematical model can tell us how the
following five quantities vary over time:
• The amount of bacteria in the colony denoted by the mathematical symbol n. Note
that we scale the amount by the maximum possible of bacteria so n is a number in
the interval [0,1].
• The biosensor output denoted by R which is a non-negative real number.
• The amount of efflux pumps, denoted by p, which is a non-negative real number.
• The amount of biofuel in the interior of the bacteria, denoted by bi, which is a nonnegative
real number. We also call this internal biofuel.
• The amount of biofuel in the exterior of the bacteria, denoted by be, which is a nonnegative
real number. We also call this external biofuel.
You will use simulation to determine these five quantities.
There are two design parameters which we will vary, they are:
• The biofuel production rate αb. (python variable name alpha_b)
• The efflux pump production rate αp. (python variable name alpha_p)
We have placed the mathematical model for the biofuel in the appendix 1. We believe it is
best for you to understand what you need to do for this assignment first before exploring
the mathematical model. You should be able to understand what you need to do for the
assignment without going into the mathematical model at this stage.
The mathematical model (in Appendix 1) for biofuel production is based on Reference [1].
Overview of tasks
We have divided the work into a number of tasks.
• Task 1 and Task 2: are on simulation
• Task 3: is on engineering design
Task 1: Simulate the biofuel production system with a python function
The aim of this task is to write a python function sim_biofuel (which should be in a file
with name sim_biofuel.py) to simulate the biofuel production process. You can find a
template for this function in sim_biofuel_template.py (in assign2.zip). You should
rename it as sim_biofuel.py before you start. The declaration of the function
sim_biofuel is:
def sim_biofuel(data_set_to_use, time_array, init_bacteria_amount, alpha_b, alpha_p) :
The above function returns five arrays. All these five arrays should have the same length
as the input array arrayTime. These five arrays contain the following simulation outputs
Aaron Quigley, October, 2020
ENGG1811 20T3 Assignment 2: Biofuel Production – Simulation and Design
in this order of expected function output:
• bacteria_amount_array for the amount of bacteria n
• sensor_array for the biosensor output denoted by R
• pump_array for the amount of efflux pumps p
• biofuel_int_array for the amount of biofuel in the interior of the bacteria bi,
• biofuel_ext_array for the amount of biofuel in the exterior of the bacteria be,
The inputs are:
• data_set_to_use is an integer indicating data set to use containing constants
you need for simulation.
• time_array is a array of time instances that you need for simulation.
• init_bacteria_amount is a scalar for the initial amount of bacteria in the
colony.
• alpha_b is a scalar for the design parameter for biofuel production rate αb
• alpha_p is a scalar for the design parameter efflux pump production rate αp
The implementation of sim_biofuel requires the mathematical model for the biofuel
production process. (The model is in Appendix 1 and the suggestion is that you read the
model later.)
Hint: You can use the python simulation program para_ODE_ext_lib.py and
para_speed_height_by_ODE.py (code from Week 7’s lecture) or the material from “Lab
08: Simulation and its applications” as a starting point to develop the function sim_biofuel.
The only non-zero initial condition is the amount of bacteria. This is defined by the
constant INITIAL_BACTERIA_AMOUNT, which is specified in the simulation data set. The
python files provided for testing load this constant in for you, so you can assume this
constant is available and use it. You can assume the initial conditions for R, p, bi and be
are zero.
The array time_array is a uniformly spaced array of time instances. The start and end
times, as well as time increments, are specified in the simulation data set. The python files
provided for testing your function load these constants in for you, as well as define the
array time_array. So, you can assume the time array is available and use it.
When you call the function sim_biofuel, the only inputs that you need to adjust are the
values of alpha_b and alpha_p.
For example, if you want to do simulation with αb = 0.1 and αp = 0.6, you should use:
def sim_biofuel(data_set_to_use, time_array, INITIAL_BACTERIA_AMOUNT, 0.1, 0.6) :
Note that you can leave the first three inputs (shown in red) as they are shown in the
above line. You may want to read through the file test_1.py to give you an example on
how to call the function.
You can use the python program test_1.py (in assign2.zip) to test your sim_biofuel.
The program test_1.py first reads in the constants and parameters for the selected
data set. It then creates an equally spaced array time_array. The program then calls the
function sim_biofuel to compute the five outputs of the simulation, and compares them
Aaron Quigley, October, 2020
ENGG1811 20T3 Assignment 2: Biofuel Production – Simulation and Design
to the reference values. If you see the error is small, i.e. less than 10-6, then your
sim_biofuel should be working correctly.
Note that we have provided two different sets of system and simulation parameters. You
can choose between them by assigning the variable data_set_to_use to either 1 or 2.
You can find this variable near the beginning of the file. For each system parameter set,
you can use three different pairs of design parameters in test_1 to test your
data_set_to_use. The selection is done by setting the variable test_index to 1, 2 or
3.
You can test this function by using the script test_1. If you adjust the value of the
variable test_index, you can choose between 3 different set of design parameters.
Task 2: Generate the design objective and constraints for many pairs of (alpha_b,
alpha_p)
We have mentioned earlier that biofuel is toxic to the bacteria. It would be desirable if we
can choose our design parameters αb and αp to limit the maximum amount of biofuel
inside the bacteria. This is one design constraint that we want to impose. For our design,
we would like to find design parameters which limit the maximum amount of internal
biofuel. We want to do this quantitatively. Let us assume that you have done the simulation
and have the amount of internal fuel stored in the array biofuel_int_array. The
maximum amount of internal biofuel is then the maximum value in the array for
biofuel_int_array.
You have seen that different values of αb and αp can lead to different behaviour of internal
biofuel level. In the same way, different values αb and αp can lead to different amount of
fuel that we can collect. Our design objective is to collect as much fuel as possible at the
end of the production process. We can measure this design objective quantitatively by
using the value of the last element of the array biofuel_ext_array, which represents
the amount of external biofuel at the end time of the simulation.
In this task, you will use many different pairs of (alpha_b, alpha_p) for simulation. For
each pair of (alpha_b, alpha_p), you will simulate the biofuel production and use the
output of the simulation to determine: (1) The amount of biofuel you can collect and (2)
The maximum amount of internal biofuel.
The steps for this task are:
1. Create an array of alpha_p_array of equally spaced αp values. The first value is
ALPHA_P_LOWER and the last value is ALPHA_P_UPPER with an increment of
ALPHA_P_STEP. These three constants are specified in a parameter set that the
program test_2.py reads in. You can use them directly. Hint: Note that the
program test_2.py has a line which creates an equally spaced array
time_array. You can similarly create an array equally spaced alpha_p_array
using the above three values (lower, upper and step values).
2. Create two zero arrays whose number of rows is the number of elements
in alpha_b_array and the number of columns is the number of elements in
alpha_p_array. You should call these two arrays max_internal_biofuel
and final_external_biofuel.
Aaron Quigley, October, 2020
ENGG1811 20T3 Assignment 2: Biofuel Production – Simulation and Design
3. Perform simulations for all possible pairs of (alpha_b, alpha_p) where
alpha_b comes from the elements in alpha_b_array and alpha_p comes from
the elements of alpha_p_array. For each pair of (alpha_b, alpha_p), we
need to do the following:
◦ The (i,j) element of the array max_internal_biofuel, i.e.
max_internal_biofuel(i,j), should be assigned the maximum amount
of internal biofuel when alpha_b_array(i) and alpha_p_array(j)
are used. For example,
◦ The (i,j) element of the array final_external_biofuel, i.e.
final_external_biofuel(i,j), should be assigned the amount of
biofuel that can be collected when alpha_b_array(i) and
alpha_p_array(j) are used. This array final_external_biofuel
will be similar to the above example for max_internal_biofuel.
Hint: please read the examples in the file numpy_2d_examples.py
In this part you need to implement the following function:
def generate(data_set_to_use, time_array, INITIAL_BACTERIA_AMOUNT, alpha_b_array,
ALPHA_P_LOWER, ALPHA_P_UPPER, ALPHA_P_STEP) :
Input (7 values):
• data_set_to_use, time_array,
INITIAL_BACTERIA_AMOUNT, alpha_b_array,
ALPHA_P_LOWER, ALPHA_P_UPPER, ALPHA_P_STEP
Output (4 values):
• alpha_b_array, alpha_p_array,
max_internal_biofuel, final_external_biofuel
You can use the file test_2.py to check whether you have calculated the two arrays
max_internal_biofuel and final_external_biofuel correctly.
Aaron Quigley, October, 2020
ENGG1811 20T3 Assignment 2: Biofuel Production – Simulation and Design
Task 3: Engineering design
The engineering design problem is to choose good design parameters to meet our design
requirements. In our case, a design has two design parameters alpha_b and
alpha_p. In Task 2, you have associated each design, or each pair of (alpha_b,
alpha_p), with two quantitative measures:
• Amount of biofuel that can be collected
• Maximum amount of internal biofuel
We want to choose the best pair of (alpha_b, alpha_p) based on these two
quantitative measures. We know that large amount of internal biofuel is undesirable. What
we want to do is to impose an upper limit on maximum amount of internal biofuel. We
introduce the following threshold:
• THRESHOLD_MAX_INTERNAL_FUEL is a threshold on the maximum amount of
internal biofuel
The above constant is specified in a parameter set that the program test_3.py reads in.
We say that a design is acceptable if
• Maximum amount of internal biofuel is less than or equal to
THRESHOLD_MAX_INTERNAL_FUEL,
Out of all the designs that are acceptable, we will choose the design that allows us to
collect the largest amount of biofuel. We will call this design the best design.
For comparison purpose, we will also determine a poor design which we define as the
design that maximises the amount of biofuel that can be collected, without considering the
above constraint.
Once you have obtained the best design and the poor design, you need to return these
four values from the following function you need to implement for his part.
A requirement for Task 3 is that you should complete this task without using any loops.
You can only get full marks if your solution does not use loops. If your solution requires
loops, then you can only get a reduced mark.
Hint: You can easily implement this function WITHOUT using a loop structure. Please read
(or re-read!) lecture notes and labs on numpy, and also the related code examples. In
particular, look for numpy functions that may help you to solve problems related to Task-3.
In this part, you need to implement the following function:
def design( THRESHOLD_MAX_INTERNAL_FUEL,
alpha_b_array, alpha_p_array,
max_internal_biofuel, final_external_biofuel) :
Output (return values):
• best_alpha_b, best_alpha_p, poor_alpha_b, poor_alpha_p
You should be able to determine whether your answers are correct by manually checking
on the elements of the arrays. You can do that. The arrays are big so you may want to
come out with some smaller arrays yourselves to test your work. We strongly encourage
Aaron Quigley, October, 2020
ENGG1811 20T3 Assignment 2: Biofuel Production – Simulation and Design
you to do that because it is always good to try to check your own work. When you go out
to work, you will need to check your own work. We have also placed the answers here
but we encourage you to check your own work before looking at them.
Remark: We have used exhaustive search here to determine the design parameters. This
is certainly not the most efficient algorithm but you will learn better optimization methods in
later years.
Style
You should make sure that all your files are properly documented with appropriate
comments. Variables that you use should have well chosen names and their meaning
explained. Appropriate style should be used.
Supplied Files
The supplied files are (in assign2.zip):
• The file sim_biofuel_template.py is for Task 1. You should rename it as
sim_biofuel.py
• The file generate_template.py is for Task 2. You should rename it as
generate.py
• The file design_template.py is for Task 3. You should rename it as design.py
• We have two sets of parameters. You can choose between the two sets of
parameters by using the variables data_set_to_use. Each set of parameters is
made up of constants in two files:
1. System parameters which are the constants you need for the mathematical
model in biofuel_system_parameter_sets.py.
2. Simulation and design parameters in
biofuel_simulation_design_parameter_sets.py.
• Files for testing
1. test_1 for testing Tasks 1.
2. test_2 for testing Tasks 2.
3. test_3 for testing Tasks 3.
4. These files require support files, which are set1_check.pickle and
set2_check.pickle files.
Aaron Quigley, October, 2020
ENGG1811 20T3 Assignment 2: Biofuel Production – Simulation and Design
Getting Started
1. Download the zip file assign2.zip, and unzip it
2. Rename/move the directory (folder) you just created named ‘assign2’ to ‘ass2’. The
name is different to avoid possibly overwriting your work if you were to download
the ‘assign2.zip’ file again later.
3. First browse through all the files provided, and importantly read comments in the
files.
4. Do not try to implement too much at once, just one function at a time and test that it
is working before moving on.
5. Start implementing the first function, properly test it using the given testing file, and
once you are happy, move on to the the second function, and so on.
6. Please do not use ‘print’ or ‘input’ statements. We won’t be able to assess your
program properly if you do. Remember, all the required values are part of the
parameters, and your function needs to return the required answer. Do not ‘print’
your answers.
Testing
Test your functions thoroughly before submission. You can use the provided python
programs to test your functions.
Please note that the tests provided in these files cover only basic scenarios (cases), you
need to think about other possible cases, modify the files accordingly and test your
functions.
Submission
A complete submission should contain the following three files (as described above):
1. sim_biofuel.py
2. generate.py
3. design.py
The submission system will accept the above three filenames. You must not submit any
other files.
To Submit this assignment, go to the Submission page and click the tab named “Make
Submission”.
Assessment Criteria
We will test your program thoroughly and objectively. This assignment will be marked out
of 20 where 18 marks are for correctness and 2 marks are for style.
Correctness
The 18 marks for correctness are awarded according to these criteria.
Criteria Nominal marks
Task 1 (Function sim_biofuel) 6
Task 2 (Correct max_internal_biofuel and
final_external_biofuel) 6
Aaron Quigley, October, 2020
ENGG1811 20T3 Assignment 2: Biofuel Production – Simulation and Design
Style
Two (2) marks are awarded by your tutor for style and complexity of your solution. The
style assessment includes the following, in no particular order:
• Use of meaningful variable names where applicable
• Use of sensible comments to explain what you’re doing
• Use of docstring for documentation to identify purpose, author, date, data dictionary,
parameters, return value(s) and program description at the top of the file
Assignment Originality
You are reminded that work submitted for assessment must be your own. It’s OK to
discuss approaches to solutions with other students, and to get help from tutors and
consultants, but you must write the python code yourself. Sophisticated software is used to
identify submissions that are unreasonably similar, and marks will be reduced or removed
in such cases.
Further Information
• Use the forum to ask general questions about the assignment, but take specific
ones to Help Sessions.
• You can ask your tutor during your lab time any queries you may have regarding
this assignment.
• Keep an eye on the class webpage notice board for updates and responses.
Task 3 (Correct values of alpha_b and
alpha_p for the two designs). Reduced
maximum: 1.5
6
Aaron Quigley, October, 2020
ENGG1811 20T3 Assignment 2: Biofuel Production – Simulation and Design
Appendix 1
Mathematical model for biofuel
The model consists of five ordinary differential equations:
Some helpful intuition for some of these equations at the end of the
appendix.
Note that for the purpose of simulation, there are three groups of
quantities:
1. Time dependent variables: n(t), p(t), R(t), bi(t) and be(t). These are
quantities that you want to use simulation to obtain.
2. Two design parameters: αb (python variable: alphaB) and αp
(python variable: alphaP). You will use different values of these two
parameters in simulation to see how they change the amount of fuel
produced internally and externally. Note that alphaB and alphaP
are two inputs to the simulation function that you need to write.
3. The rest of the parameters (αn, δn etc.) are constants. A mapping
between the mathematical symbols and their python constant names
is below. You will need to make use of these constants in your python
simulation code. Essentially, you replace the mathematical symbol
by its corresponding python name in your simulation code.
Aaron Quigley, October, 2020
ENGG1811 20T3 Assignment 2: Biofuel Production – Simulation and Design
The next step is to apply Euler’s forward method to the ordinary
differential equations, which result in the following equations you need for
simulation.
Mapping between symbol names and python constant
names
The python constant names are in upper case. For most symbols, the first
part is the name of the Greek alphabet, followed by an underscore and then
the subscript. The values of these constants are defined in files with the
name that contains the words “biofuelSystemParameterSet”.
Aaron Quigley, October, 2020
ENGG1811 20T3 Assignment 2: Biofuel Production – Simulation and Design
Meaning behind the equations
Right-hand side (RHS) of (1) describes the rate of change in the amount of
bacteria. The first term is the logistic growth function taking into account
the limitation of resources. You can learn more on logistic growth from
this Wikipedia page (https://en.wikipedia.org/wiki/Logistic_function ). The
second term is the death rate of bacteria due to biofuel. The third term is
the death rate due to efflux pumps.
RHS of (3) is the rate of change in the number of efflux pumps. The first
term is a base production rate. The second term describes how biofuel in
the bacteria affects the production rate. Essentially, the more the biofuel
inside the bacteria, the higher the production rate. The last term is the
pump degradation rate.
RHS of (4) is the rate of production of biofuel in the interior of bacteria.
The first term says the production rate is proportional to the amount of
bacteria. The second term is the rate at which biofuel is pumped out of the
bacteria by efflux pumps.
RHS of (5) is the rate at which biofuel is pumped into the exterior.
Aaron Quigley, October, 2020
ENGG1811–Assignment 2: Biofuel Production – Simulation and Design最先出现在Help Your Paper| Knowledge Platform。
]]>ENGG1811: Assignment 1, Peak Detection最先出现在Help Your Paper| Knowledge Platform。
]]>
PLEASE NOTE this assignment was updated on October 13th
The correct file you should be using is ENGG1811-Assignment-1-20T3_version_2.pdf which notes these changes
Change Log:
1. Your functions max_peak, total_peaks, peak_list_from_file should import peak_list in your code for these three functions [Updated Oct 13th].
2. If there are no peaks in the inputs given max_peak should return the string “No Peaks” [Updated Oct 13th]
3. The text file format is one number per line (as shown in voltage_data_complete.txt in week 3) [Update Oct 13th]
4. For the purposes of this assignment we are only looking to identify peaks above the mean (and we will only test for such conditions) [Oct 13th]
FAQ
What do I do with peaks/values that may occur within the first smoothing window?
You may assume that your code does not need to (and should not) identify peaks that occur before one complete smoothing window.
If I haven’t completed peak_list, how can I work on other functions?
A simple trick is to assume that your peak_list function is working. You can do this by adding a return line in peak_list under the def line and return one of the expected answers from the test file. For example, using the following return line will allow you to use test case 1 for max_peak and total_peaks and determine if these functions are operating correctly. Just make sure to remove this line when you are working on peak_list!
def peak_list(inputs, smoothing, th, influence): return [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0] # rest of code below here (It may or may not be working at the moment) # you may need to comment it out if it isn't working
I don’t know where to start on peak_list?
I recommend breaking the specifications down and creating a flow chart of the steps you may have to take (yes, maybe with pen and paper!). This will help you note down the important steps in the specifications, without initially thinking about how to code it. Then, see if you can get your code working for one smoothing window first, and then move on to allowing your code to test all smoothing windows. And of course attend a help session, they a getting quite busy, so rock up early if you can.
My input list keeps updating when I change my filtered list. My max_peak is not working as it should be. What do I do?
The error may be occuring because when you set up the filtered list in peak_list, you did something like filtered_list = inputs. This is not creating a copy of the inputs list, but rather, passing the reference or location that the inputs list is stored in the computer memory. A similar thing also occurs if you do something like data_series[i] = 7. To avoid this, see if you can use your knowledge of splicing to extract all the values from inputs and add them to the filtered (or duplicate) list. Or a for loop works too!
What do I do if the standard deviation is zero?
See the discussion here in the forums
ENGG1811: Assignment 1, Peak Detection最先出现在Help Your Paper| Knowledge Platform。
]]>Title: An International Macroeconomic analysis and critical review of the Singaporean economy 2020 – current challenges and future directions. Is Singapore well positioned to recover in 2021最先出现在Help Your Paper| Knowledge Platform。
]]>Word Count: 3000-4000 (with diagrams), Max 4,500
Apply knowledge developed from each course topic in your scenario analysis – for example the final piece of work may follow a structure such as: –
Rubrics:
Title: An International Macroeconomic analysis and critical review of the Singaporean economy 2020 – current challenges and future directions. Is Singapore well positioned to recover in 2021最先出现在Help Your Paper| Knowledge Platform。
]]>BAFI-1070 Financial Statement Analysis最先出现在Help Your Paper| Knowledge Platform。
]]>BAFI-1070 Financial Statement Analysis最先出现在Help Your Paper| Knowledge Platform。
]]>Corporate Finance (BAFI1059) S2 2020最先出现在Help Your Paper| Knowledge Platform。
]]>Due Date
• Your report must be submitted via Turnitin/Canvas by 11:59 PM (Melbourne time) on the due date Friday 2nd October 2020.
• Late submissions where special consideration has not been granted will be penalised. Please go through the course guide to understand the implications.
Submission Instructions
1) Go to the following link to download RMIT’s Assignment Cover Sheet, fill in your details and attach it to the front page of your Word document.
https://www.rmit.edu.au/students/student-essentials/forms/assessment-forms
2) Save a PDF version of your document with file name saved in the following format:
BAFI1059_Project_Group_Number.pdf (e.g., BAFI1059_Project_Group_11.pdf). Your assigned group number is listed on Canvas under the People tab.
3) Upload the PDF file to the Turnitin/Canvas submission link.
Corporate Finance (BAFI1059) S2 2020 Page 2 of 9
Objective
The objective of this exercise is to enhance students’ understanding of some of the main issues in corporate finance and related business decision-making process. In this project students are required to prepare a business report based on a case study. Details about the case study and its requirements are set out below.
Scenarios
It is 31st December 2019.
Your team of four people form a financial analysis team at Aussie Finance Consulting (AFC), a renowned financial institution. The executive management of AFC has assigned you a task to carry out a special project for its client Whitehaven Coal Limited (WHC), which requires preparing a business report. This report will be presented to AFC executive management and the senior management of WHC.
Whitehaven Coal Limited (WHC) is a New South Wales based coal producer, with operations and development projects in The Gunnedah Basin. WHC has a portfolio of producing mines including the Werris Creek Mine, the Narrabri Underground Mine Stage 3 Extension Project, the Maules Creek Project and other projects.
The coal mining industry has been hard-hit by environmental regulations. Recently, however, a combination of increased demand for coal and new pollution reduction technologies has led to an improved market demand for coal. WHC has just been approached by Mid-Cen Electric Company with a request to supply coal for its electric generators for the next eight years. WHC does not have enough excess capacity at its existing mines to guarantee the contract. The company is considering opening a strip mine in The Gunnedah Basin on 5,000 acres of land purchased 10 years ago for $12 million. Based on a recent appraisal, the company feels it could receive $15.5 million if it sold the land today.
Strip mining is a process where the layers of topsoil above a coal vein are removed and the exposed coal is removed. Some time ago, the company would simply remove the coal and leave the land in an unusable condition. Changes in mining regulations now force a company to reclaim the land; that is, when the mining is completed, the land must be restored to near its original condition. The land can then be used for other purposes.
Because it is currently operating at full capacity, WHC will need to purchase additional necessary equipment, which will cost $77 million. To get the equipment in running order, there would be a $2 million shipping fee and a $3 million installation charge. The equipment will be depreciated to zero on a straight-line basis over its economic life of 15 years. The contract runs for only eight years. At that time the coal from the site will be entirely mined. The company feels that the equipment can be sold for 10 percent of its initial purchase price in eight years. However, WHC plans to open another strip mine at that time and will use the equipment at the new mine. The equipment also requires staff to be specially trained; fortunately, a similar equipment was purchased a year ago, and at that time the staff went through the $500,000 training program needed to familiarise themselves with the type of equipment. WHC’s
Corporate Finance (BAFI1059) S2 2020 Page 3 of 9
management is uncertain whether to charge half of this $500,000 training fee to the new project. The equipment also requires annual maintenance cost of $325,000.
The contract calls for the delivery of 500,000 tons of coal per year at a price of $93 per ton. WHC feels that coal production will be 620,000 tons, 680,000 tons, and 730,000 tons, respectively, over the first three years, and 590,000 tons per year over the remaining years. The excess production will be sold in the spot market at an average of $75 per ton in Year 1 with an expected decrease of 2% per annum in the following years. Variable costs amount to $35 per ton in Year 1 with an expected increase of 5% per annum in the following years. Fixed costs are $5,000,000 per year. The mine will require a net working capital investment of 5 percent of sales. The net working capital will be built up in the year prior to the sales.
WHC will be responsible for reclaiming the land at termination of the mining. The company uses an outside company for reclamation of all the company’s strip mines. It is estimated the cost of reclamation will be $2.5 million. In order to get the necessary permits for the strip mine, the company agreed to donate the land after reclamation to the state for use as a public park and recreation area. This will occur in Year 9 and result in a charitable expense deduction of $15.5 million.
You are required to analyse the project and make recommendations to WHC whether they should take the contract and open the mine.
For the purpose of the analysis, you have already assembled the following information:
Balance Sheet of WHC as of 31 December 2019
Assets
Cash at Bank
$121,345,000
Accounts receivable
$142,393,000
Inventory
$101,884,000
Marketable securities
$788,000
Plant, machinery and equipment
$4,070,382,000
Intangible assets
$22,946,000
Exploration and evaluation
$570,194,000
Total Assets
$5,029,932,000
Liabilities
Accounts payable
$214,564,000
Bank overdraft
$550,000
Commercial bills (due 31st Dec 2020)
$119,253,000
4.75% Coupon bonds (due Dec 2029 issued @$100 each)
$1,439,226,000
Shareholders’ Fund
Common stock 1,026,250,427 shares @ $2.927 each
$3,003,835,000
Retained Earnings
$252,504,000
Liabilities + Shareholders’ Fund
$5,029,932,000
Corporate Finance (BAFI1059) S2 2020 Page 4 of 9
Additional Information:
• The applicable interest rate on bank overdraft is 3.25% per annum and has monthly compounding.
• The commercial bills are currently yielding 3.75% per annum with quarterly compounding. They will mature on 31st December 2020 however, will be replaced by newer issues on that date. Thus, commercial bills may be assumed to run in perpetuity.
• The bonds are currently priced at $98 each and pay coupons semi-annually on 30th June, and 31st December.
• The coupon payment due to be paid on 31st December 2019 has been paid.
• The applicable company tax rate is 30% and the proportion of tax collected from the company and is claimed by shareholders is 0.50.
• The current yield on Australian Government 10-year bonds is 1.95% per annum.
• The expected market return including franking premium is 8.35% per annum.
Requirements
You are required to advise the company on the following:
a) Capital Budgeting Decision (35 marks)
(i) Should WHC take the contract and open the mine?
Steps in part (a):
The first part of the analysis requires you to work out the Weighted Average Cost of Capital (WACC) for WHC with the help of the given information.
As a part of the WACC calculation, you will need to collect monthly adjusted closing stock prices of WHC and index values of the All Ordinaries Index for the 2015-2019 period from the Yahoo Finance website or MorningStar DatAnalysis Premium database accessed via RMIT library website.
(15 marks)
Secondly, evaluate the project using NPV analysis and make recommendation to WHC.
(20 marks)
b) Capital Structuring Decision (25 marks)
In the next phase, WHC aims at expanding its operation beyond New South Wales. WHC needs to raise more capital for the purpose. It is advised that the company would be more valuable if it included more debt in its capital structure.
Corporate Finance (BAFI1059) S2 2020 Page 5 of 9
(i) Analyse WHC’s capital structure and give advice with reasonings to the WHC executives if they should use more debt to finance their future expansions.
Steps in part (b):
Determine whether WHC is under or over leveraged relative to the industry. According to Global Industry Classification Standard (GICS), WHC is classified to the Energy sector, the Energy industry group, and the Oil, Gas, & Consumable Fuels industry.
(10 marks)
Give your advice with reasonings to the WHC executives if they should use more debt to finance their future expansions. You might want to discuss advantages and disadvantages of using debt financing in your answer. Also consider WHC’s business risk and how it compares with the industry average. Note that a firm’s business risk can be measured as the standard deviation of the firm’s 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝑇 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴 𝐴𝐴 over the last five years.
(15 marks)
Instructions on how to obtain data for the calculations of industry average values for the debt ratio and business risk measure are provided in the file:
BAFI1059_S2_2020_Industry_Average_Guidance.pdf.
c) Dividend Policy Decision (15 marks)
Another aspect that WHC executives are perplexed about is the dividend policy they should adopt.
(i) Analyse WHC’s dividend payout policy, including discussion of the type of dividend policy employed, changes in dividend payout amounts or patterns, and the consideration of taxation, dividend imputation and franking credit issues. WHC’s dividend history can be obtained from the MorningStar DatAnalysis Premium database.
(5 marks)
(ii) Given the possibility of WHC significant future expansions, give your advice with reasoning to the WHC executives if they should maintain their current dividend distribution or pursue retention as their dividend policy.
(10 marks)
d) Evaluating Leasing Possibility (15 marks)
Instead of purchasing the equipment, your team, being experienced consultants, wishes to propose to WHC that they have another option which is leasing it. Coincidently, your other client, Resolute Leasing Limited (RLL), may be a suitable lessor. On discussions, the executives at RLL have asked you to prepare a lease quotation that could be
Corporate Finance (BAFI1059) S2 2020 Page 6 of 9
forwarded to WHC for consideration. For the purpose, RLL has provided the following information:
• RLL can get a 20% discount on the purchase price of the machinery.
• They expect the life of the machinery to be 15 years with a salvage value of $5 million after that. WHC may use this machinery for eight years, and RLL is confident that it can be leased to others after that.
• RLL uses the straight-line method for calculating depreciation.
• As the owner of the machinery, RLL is responsible for its annual maintenance cost.
• RLL’s effective tax rate is 10%.
(i) If the RLL’s after-tax required rate of return is 10% per annum, what will be the minimum annual lease payment that RLL would charge? Consider that RLL requires lease payments to be made annually in advance.
(8 marks)
(ii) Calculate the maximum annual lease payment that would make leasing a viable option for WHC?
(7 marks)
e) Business Report Overall Quality (10 marks)
The assignment is to be presented as a business report to both AFC and WHC executive management. This report needs:
• Page numbering
• Informative heading and sub-headings
• Numbered sections
• Executive summary
• Table of contents
• Reference list
Your report is to be submitted as a PDF version of your work.
The report must use a font/fonts suitable for business communication.
The reference style to be used is Harvard style referencing (author-date).
Your main report will have 4-5 pages (with a maximum of 3,000 words) excluding appendix and will be professionally presented. A concise, relevant and visually appealing report is essential for business communication.
Corporate Finance (BAFI1059) S2 2020 Page 7 of 9
General Instructions
Essential Contents:
Your report needs to set out the following at it least:
• An executive summary
• A table showing the calculation of WHC’s WACC using market data / CAPM
• A selection of NPV spreadsheet used in the NPV analysis
• A recommendation to WHC’s management whether they should take the contract
• Calculation of industry average debt ratio and business risk
• Discussion about capital structure and dividend policy suggested for WHC
• Calculation of RLL’s lease quotation for WHC
• A list of references
• Appropriate appendices.
Guidelines
Regarding the WACC calculations, whilst you need to present your final work in a table in the main body of your report, all subsidiary calculations need to be provided in an appendix. You need to provide detailed steps (e.g. formulae) that lead to the final answers. Correct final answers alone will not earn full marks. Also, annotate your appendix so that the examiners can understand your work.
Refer to the tutorial/additional questions for the topics – Capital Budgeting, Cost of Capital and Leasing to present your calculations.
Please round off your values to 4 decimal places for interest rates and two decimal places for amounts, e.g. 0.0659 or 6.59%, and $10,369.78
All assessment of numerical work is marked consequentially. So, you will be awarded marks for all correct calculations and procedures.
Marking Rubric
Marking rubrics are provided on the next pages.
Corporate Finance (BAFI1059) S2 2020 Page 8 of 9
Criteria
High Distinction
80-100%
Distinction
70-79%
Credit
60-69%
Pass
50-59%
Fail
0-49%
Pts
Capital Budgeting Decision
WACC and NPV calculations are mostly accurate. All workings are shown.
Presented in an easy to follow layout.
Recommendation is consistent with the findings.
WACC and NPV calculations have minor inaccuracies. All workings are shown.
Presented in an easy to follow layout.
Recommendation is consistent with the findings.
WACC and NPV calculations have some errors. All workings are shown.
Difficult to follow the calculations.
Recommendation is not clear or not consistent with the findings.
WACC and NPV calculations are mostly inaccurate. All workings are shown.
Difficult to follow the calculations or presentation or flow of information.
Recommendation not provided or not consistent with the findings.
WACC and NPV calculations are mostly inaccurate or incomplete. Workings are not shown.
Difficult to follow the calculations or presentation or flow of information.
Recommendation not provided.
35.0 pts
Capital Structuring Decision
Calculations on industry average debt ratio and business risk are mostly accurate. All workings are shown.
Discussion is provided and demonstrate a mastery of the relevant theory.
Capital structure recommendation is consistent with the findings.
Calculations on industry average debt ratio and business risk have minor inaccuracies. All workings are shown.
Discussion is provided and demonstrate a good understanding of the relevant theory.
Capital structure recommendation is consistent with the findings.
Calculations on industry average debt ratio and business risk have some errors. All workings are shown.
Discussion is provided, and a reasonable understanding of the relevant theory is shown.
Capital structure recommendation is not clear or not consistent with the findings.
Calculations on industry average debt ratio and business risk are mostly inaccurate. All workings are shown.
Discussion is provided but show poor understanding of the relevant theory.
Recommendation is not provided or not consistent with the findings.
Calculations on industry average debt ratio and business risk are mostly accurate or incomplete. Workings are not shown.
No discussion is provided.
Recommendation not provided.
25.0 pts
Corporate Finance (BAFI1059) S2 2020 Page 9 of 9
Dividend Policy Decision
Correctly commenting on the current situation. Advise the policy consistent with the reasonings.
Commenting on the current situation. Advise the policy consistent with the reasonings.
Advise the policy consistent with the reasonings.
Advise but no reasoning or inconsistent reasoning.
No advice or reasoning provided.
15.0 pts
Leasing
Leasing calculations are mostly accurate.
Correctly mention the viability conditions for leasing options.
Leasing calculations have minor inaccuracies.
Correctly mention the viability conditions for leasing options.
Leasing calculations have some errors.
Correctly mention the viability conditions for leasing options.
Leasing quotation calculations is mostly inaccurate.
Failed to mention the viability conditions for leasing option.
Leasing calculations mostly inaccurate or incomplete.
Failed to mention the viability conditions for leasing options.
15.0 pts
Report Writing Quality
Writing and presentation is business like, precise and elegant. Consistently use correct grammar with rare spelling errors.
Writing and presentation is business like and precise. Few grammatical or spelling errors.
Writing and presentation is precise and business like. Some grammatical or spelling errors.
Writing and presentation lacks professionalism or does not use an appropriate business style. Many errors in spelling and grammar.
Poor communication, spelling and grammar characterise the work.
10.0 pts
Total points
100.0
Corporate Finance (BAFI1059) S2 2020最先出现在Help Your Paper| Knowledge Platform。
]]>ENGG1811 Lab 09: File handling, numpy最先出现在Help Your Paper| Knowledge Platform。
]]>Please watch the lecture Week 08B (Video): File Handling.
You can find the lecture notes and exercises under “Week 08B”, see Lectures.
After completing this lab, students should be able to:
This lab has three parts: Parts A to C. You need to show your tutors all three parts.
For all the programs, we expect that you choose informative variable names and document your program.
There is also an online multiple choice question which is worth 1 mark. We suggest that you attempt this question after completing Parts A-C.
You should make a directory called lab09 to store your files for this lab.
The aim of the exercise is to practice using Python to read data files. For this exercise, you need to download the zip-file lab09A.zip [Note: right click to download] and move it into the directory lab09 that you created. This file contains 30 files zipped together. If you unzip this file on a Windows or an Apple machine, the computer will create a directory called lab09A within the directory lab09.
(In case you are doing your lab by remotely logging into a CSE computer using Vlab, these instructions on this page will apply to you. Note that the instructions were written assuming lab09, but you should still be able to follow.)
If you use your file explorer (on Windows) or finder (on Apple), you should find 30 files in the directory lab09A. These files have names temp00.txt, temp01.txt, temp02.txt, …, temp29.txt. All these 30 files have the same format. If you double click on a file, a text editor window will pop up and you will be able to see the contents of the file. You need to take care not to edit the files because you do not wish to change the format of the file. The contents of temp00.txt are:
A 4
23.31 20.89 27.04 27.50 29.70
The contents of temp01.txt are:
B 2
29.65 25.46 29.44 21.81 28.75
The format of the files are:
We ask you to write a Python program, with the name file_proc.py, whose task is to read in these files and then use their contents to:
Note that you will need to put your Python file file_proc.py in the directory lab09A so that it can read the files temp00.txt, temp01.txt etc. This is because, by default, a Python program will look for files in the directory that it is in. However, it is possible to put the Python program file in one directory and the data files in a different directory. If you want to learn how to do this, you can consult this text, in particular Section 11.2.
If you want to check some answers for this question, see here.
Hints:
This exercise is based on the Python file distance.py. We suggest that you download the file distance.py and open it in Spyder because it will make it easier for you to follow the description below.
The Python file distance.py defines two numpy arrays with the name pos and ref. The array pos has a shape of (6,2). You can consider each row of pos is used to store the position of an object. For example, pos[0,0] and pos[0,1] store, respectively, the x- and y-coordinates of the first object.
The array elements ref[0] and ref[1] store, respectively, the x- and y-coordinates of a reference point.
Your task is to compute the distance between each of the 6 objects in pos from the reference point. If the co-ordinates of the object is (x,y) and those of the reference point are (a,b), then their distance is given by the formula:
We require that you complete this task using numpy functions and arithmetic operators. You are not allowed to use any loops. You can also find the expected answers in the file distance.py.
Hints: You will need to use numpy broadcasting discussed in Week 7A’s lecture and some numpy mathematical functions (link to numpy manual page on maths functions)
In Part B of Week 7’s lab, you used numpy to analyse the data on the sea ice extent. In this exercise, you will use the same data set to perform some additional data analysis using numpy.
You will need to download these two files: sea_ice.txt (the data file, which was also used in Week 7) and sea_ice_lab09.py which is the Python file that you will use to complete this exercise.
The existing code in sea_ice_lab09.py does exactly the same preliminary processing on the data in sea_ice.txt that we asked you to do in Week 7. You had to type the code yourselves in Week 7 but we have done it for you this time. If you run the existing code in sea_ice_lab09.py, it will create three numpy arrays and plot a graph. The numpy arrays created are: years, months, data_sea_ice. Some information that you need to know are:
The graph plotted by sea_ice_lab09.py contains 35 curves which show the annual variation of sea ice extent. You can see that the sea ice extent is larger in the beginning of the year (which corresponds to the Northern winter) than the later part of the year.
The following is a number of questions on the data set which you should answer using numpy. There is a restriction that you must not use any loops in your answer. If you want to check your answers, some of them are on this page.
At the End of the Lab
You should be able to show your tutor the exercises. You should be comfortable with using: Python file processing; numpy broadcasting, indexing.
Finally, do not forget to complete your online multiple choice question if you have not done it yet.
If you have completed everything, please do not forget to logout. Simply double click on the “Log Out” icon
ENGG1811 Lab 09: File handling, numpy最先出现在Help Your Paper| Knowledge Platform。
]]>ENGG1811 Assignment 2: Simulation and Design of Passive Suspensions最先出现在Help Your Paper| Knowledge Platform。
]]>Change log:
Nothing as yet!
Introduction
This assignment gives you an opportunity to work on a small-scale engineering design problem in python. The engineering system that you will be working on is a passive suspension, which is used in vehicles to reduce the amount of vertical vibration. A passive suspension is made of multiple components and the parameter of each component must be chosen correctly so that the passengers get a comfortable ride. The engineering design problem is to choose the right parameters and you will use python programming to solve this problem. The first step is to write a program to simulate the motion of a vehicle with suspension. You will then use the simulation result to evaluate the level of comfort for different choices of suspension parameters.
Learning objectives
Applying programming to solve a simple engineering design problem
Writing a python program to simulate an engineering system
Applying a number of python features, which include vectorisation, built-in functions and others
Applying good software engineering practices, proper documentation, program style
Assignment overview
This assignment is divided in 4 main tasks:
Task-1 and Task-2 (Simulation): Simulation of a vehicle with a passive suspension.
Task-3 and Task-4: (Design) Evaluating the comfort level of different suspension designs, and choose the designs that give the most and least comfortable rides. (Note: The normal practice is to look at the best few designs and don’t care about the worst. As an exercise, we look at the best and the worst so that you can see the contrast.)
In the following, we will first give an introduction to passive suspension and vehicle modelling. The introduction is meant to give you some intuition on the design problem. After that we will tell you what you need to do for each task.
Passive suspensions
Passive suspensions are used to reduce the vibration experienced by passengers, but they can also be used to improve the tyre grip and other performance measures. For this assignment, we will only be concerned about vibration reduction or comfort.
There are many designs for passive suspension. For this assignment, we consider a passive suspension consisting of a spring, a damper and an inerter in parallel, as depicted in Figure 1.
Figure 1. A passive suspension. Figure modified from [1].
The classical method to reduce vibration is to use a spring and a damper where the damper is used to slow down the motion of the car body. A new method is to use a new mechanical device called an inerter [1]. An inerter can store kinetic energy temporarily. Intuitively, a shaking car has excessive kinetic energy in the vertical axis, so the inerter can absorb and store some of this energy temporarily. The energy in the inerter can be released later in an orderly manner without the passengers feeling sudden movements. The first ever deployment of inerter was in the 2005 Spanish Grand Prix by the MaLaren Formula 1 racing team, which also happened to have won that race. There are a few interesting tidbits surrounding the use of inerters, including McLaren invented the decoy name J-damper so that its rivals would not know that it was actually an inerter and a spy scandal, see [1] if you are interested.
The passive suspension has three parameters:
Spring stiffness k. (A large k means a stiff spring which is hard to stretched.) (python variable k)
Damping coefficient c. (A larger c means a larger resistance to movement.) (python variable c)
Inertance b. (A large b means the interter can store more kinetic energy.) (python variable b)
The design problem is to choose values of k, c and b so that the ride is comfortable. A passive suspension can only be designed together with a vehicle, so we need to look at the vehicle model now.
The vehicle model
For this assignment, we will use a quarter car model for the vehicle. The quarter car model consists of one wheel/tyre and a quarter of the car body. It is commonly used to evaluate suspension designs at the initial stage. Of course, a full car model will be used for the final design but it is too complicated for this assignment.
Engineers very often have to make simplified models in order to derive mathematical models for real-life engineering systems. You will learn how to do this in later years. Figure 2 shows a simplified quarter car model.
Figure 2. A quarter car. Figure modified from [1].
The quarter car model consists of two lumps of masses. The mass ms (python variable name ms), which is on top, is the mass of 1/4 of the car body. (Note: The technical name is the sprung mass, hence the subscript s.) The lower mass mu (variable name mu) is the mass of the tyre and wheel. (Note: Technically this is the unsprung mass, hence subscript u.) The tyre is a bit elastic and is represented by a spring with stiffness kt (variable name kt). The passive suspension sits between the car body and the wheel/tyre.
There are three vertical displacements (see Figure 2) that we are interested in:
yr is the height of the road surface from a reference level (variable name yRoad)
yu is the vertical displacement of the center of wheel/tyre from a reference level (variable name yu)
ys is the vertical displacement of the center of the quarter car body from a reference level (variable name ys)
As the quarter car moves, yr, yu and ys change. That means these displacements are functions of time and we should write them as yr(t), yu(t) and ys(t). The corresponding python variables yRoad, yu and ys are therefore arrays.
We also need two velocities for the quarter car model:
vu is the vertical velocity of the wheel/tyre (variable name vu)
vs is the vertical velocity of the quarter car body (variable name vs)
These velocities should be functions of time and we write them as vu(t) and vs(t). The corresponding python variables vu and vs are arrays.
The aim of the mathematical model for the quarter car is to determine ys(t), yu(t), vs(t) and vu(t). The mathematical model assumes the following are given:
The height of the road yr(t) over time. We call this the road profile.
The parameters: k, c and b (from the passive suspension) and ms, mu and kt (from the quarter car)
We have placed the mathematical model for the quarter car on a separate page. We believe it is best for you to understand what you need to do for this assignment first before dwelling into the mathematical model. You should be able to understand what you need to do for the assignment without going into the mathematical model at this stage. (The model is here and you can read it later.) We will now describe what you need to do for the three tasks.
Overview of tasks
We have divided the work into a number of tasks.
Task 1 and Task 2: are on simulation
Task 3 and Task 4: are on engineering design
Supplied files
The supplied files are in assign2.zip (click here)
Hint: You are strongly encouraged to read (or re-read!) the lecture notes, the code examples and the labs on numpy. In particular, look for numpy functions relevant to the following tasks. See the code examples on numpy from week-05 (click), week-07 (click) and week-08 (click) .
Task 1: Simulation of the quarter car
The aim of this task is to write a python function simulate_qc (which should be in a file with name simulate_qc.py) to simulate the quarter car. You can find a template for this function in simulate_qc_template.py (in assign2.zip). You should rename it as simulate_qc.py before you start. The declaration of the function simulate_qc is:
def simulate_qc(time_array, y_road, ms, mu, kt, k, b, c) :
The above function returns four arrays . These four arrays contain the following simulation outputs:
Outputs:
ys the verticle displacement of the center of the car body
from a reference level (array of floats)
yu the verticle displacement of the center of the wheel/tyre
from a reference level (array of floats)
vs the verticle velocity of the quarter car body (array of floats)
vu the verticle velocity of the wheel/tyre (array of floats)
The inputs are:
Inputs:
time time_array
y_road an array of road heights
ms the mass of 1/4 of the car body
mu the mass of the tyre and wheel
kt tyre stiffness
k spring stiffness
b inertance
c damping coefficient
The implementation of simulate_qc requires the mathematical model for the quarter car. The model is here (click here), you need to use equations 7 to 12. You can use the python simulation programs from the lab.
Hint: You can use the python simulation program para_ODE_ext_lib.py andpara_speed_height_by_ODE.py (code from Week 7’s lecture) or the material from “Lab 08: Simulation and its applications” as a starting point to develop the function for this task.
You can assume the following initial conditions: vs(0) = vu(0) = ys(0) = yu(0) = 0.
Testing: You can test “Task 1” using the file test_task1_task2.py (available in assign2.zip).
Task 2: A function to calculate discomfort
The aim of Task 2 is to determine the discomfort level for a given set of suspension parameters. Intuitively, a comfortable ride means the passengers are not experiencing much vibration. We can express this quantitatively by calculating how much acceleration the car body experiences. The higher or longer the acceleration is, the more uncomfortable the ride is. (Note: An important part of using computers to perform engineering design is to express the design objective quantitatively. You will learn that in later years but this assignment will show you how to do that.)
Since the function simulate_qc gives us the velocity of the car body, we can use it to determine the acceleration and subsequently the discomfort level. For this task, you are asked to write a python function
def calc_discomfort(vs , dt):
The above function should be in a file calc_discomfort.py .
The inputs and output values are:
Purpose:
Determining the discomfort level for a given set
of suspension parameters
Inputs:
vs the verticle velocity of the quarter car body
dt time increment
Output:
discomfort: a scalar representing the discomfort level
for the given vehicle and suspension parameters
Let us assume that the array vs has n elements and let us use dt to denote the time increment used in the array time. We can use vs to calculate the acceleration at (n-1) time instances:
a[i] = ( vs[i+1] – vs[i] ) / dt
where i = 0, 1, …, n-3, n-2
where vs[i] is the i-th element of the array vs and a[i] is the i-th element of the acceleration array a. The discomfort level is then given by
discomfort = a[0]2 + a[1]2 + … + a[n-3]2 + a[n-2]2
This should be the output of the function calc_discomfort. Intuitively, this calculation says the discomfort is higher if the acceleration is higher.
Hint: Consider the python and numpy functions like numpy.sum, and numpy.diff, they may prove useful here.
Testing: You can use the python program test_task1_task2.py (a file in assign2.zip) to test whether your calc_discomfort function is working correctly. If the reported error is small, i.e. less than 10-4, then it should be fine.
Important requirement on implementation: The calculation of the discomfort level from the array vs can be done without using any loops. You will only receive full marks for this part if the calculation is done without using loops, otherwise you will receive a reduced mark if loops are used.
Task 3: Calculating discomfort level for many pairs of (inertance,damping coefficient)
The function calc_discomfort allows you to determine the discomfort level for each set of suspension parameters: spring stiffness k, damping coefficient c and inertance b. For simplicity, we will not change the value of k. We will calculate the discomfort level for many different pairs of (inertance,damping coefficient) or (b,c) values.
def explore_qc(time_array, y_road, ms, mu, kt, k, inerter_array, damping_coefficient_array):
The above function should be in a file explore_qc.py .
Purpose:
Determining the discomfort levels for a given damper values and inerter values
Inputs:
time time_array
y_road an array of road heights
ms the mass of 1/4 of the car body
mu the mass of the tyre and wheel
kt tyre stiffness
k spring stiffness
inerter_values inertance values (array of type float)
damping_coefficient_values damping coefficient values (array of type float)
Output:
discomfort_array 2-dimentional numpy array with discomfort values for
given damper values and inerter values (read the specs)
The steps for this Task are:
Create a 2-dimentional zero array discomfort_array with len(inerter_array) rows and len(damping_coefficient_array) columns.
The (i, j) element of the 2-dimentional array discomfort_array, i.e. discomfort_array(i,j), should be assigned the discomfort level of a suspension when inerter_values[i] anddamping_coefficient_values[j] are used.
For example,
You can assume all other parameters are as specified.
You can use loops to complete this task.
Testing: You can use the file test_task3_task4.py to check whether you have calculated the arraydiscomfort_array correctly or not.
Hint: please read the examples in the file numpy_2d_examples.py
Task 4: Determining the (inertance, damping coefficient) pairs that give, respectively, the best and worst comfort
The engineering design problem is to choose good design parameters to meet our design requirements. In our case, a design has two design parameters inertance and damping coefficient.
By using the discomfort_array, determine the (inertance, damping coefficient) pair that gives the best comfort. For example, the pair that gives the smallest value of discomfort level in the array discomfort_array.
For comparison purpose, we will also determine a poor design which we define as the design that maximises the level of discomfort, that is less than or equal to discomfort_upper_limit. Determine the (inertance, damping coefficient) pair that gives the worst comfort, that is less than or equal to discomfort_upper_limit. For example, the pair that gives the largest value of discomfort level in the array discomfort_array, that is less than or equal to discomfort_upper_limit.
Once you have obtained the best design and the poor design, you need to return these four values from the following function you need to implement for his task.
def optimise_qc(discomfort_array, inerter_array, damping_coefficient_array, discomfort_upper_limit):
The input and output values are:
Inputs:
discomfort_array 2-dimentional numpy array with discomfort values for
given inerter_values and damping_coefficient_values (read the specs)
inerter_values inertance values (array of type float)
damping_coefficient_values damping coefficient values (array of type float)
discomfort_upper_limit maximum discomfort value to calculate worst comfort
(i.e. ‘max_inerter’ and ‘max_damping_coefficient’ values)
Output:
min_inerter and min_damping_coefficient the pair that gives the smallest value of discomfort
max_inerter and max_damping_coefficient the pair that gives the worst value of discomfort, that
is less than or equal to a given ‘discomfort_upper_limit’
You should complete this task using the min and max functions, without using any loops. You can only get full marks if your solution does not use loops. If your solution requires loops, then you can only get a reduced mark.
A requirement for Task 4 is that you should complete this task without using any loops. You can only get full marks if your solution does not use loops. If your solution requires a loop(s) for this task, then you can only get a reduced mark.
Hint: You can easily implement this function WITHOUT using a loop structure. Please read (or re-read!) lecture notes, the code examples and the labs on numpy. In particular, look for numpy functions that may help you to solve problems related to Task-4. For example, min, max, argmin, argmax, boolean indexing, boolean masking (Boolean addressing for assignment ), etc. See the code examples on numpy from week-05 (click), week-07 (click) and week-08 (click) . You may find the following example useful, week-08 lecture example (click) .
Testing: You can use the file test_task3_task4.py to check your answers for this task.
Remark: We have used exhaustive search here to determine the best and worst suspension parameters. This is certainly not the most efficient algorithm but you will learn better optimization methods in later years.
Style
You should make sure that all your files are properly documented with appropriate comments. Variables that you use should have well chosen names and their meaning explained. Appropriate style should be used.
Assessment
The following table shows the maximum possible marks for the tasks. Note that there are specific requirements for some tasks and the maximum is reduced is those requirements are not met.
Marks
Feature/Assessable Item
7
Task 1 (Simulation of the quarter car).
3
Task 2 (A function to calculate discomfort). Reduced maximum (for loop usage): 1.5
6
Task 3 (Calculating discomfort level for many pairs of (inertance, damping coefficient)).
4
Task 4 (Determining the best and worst suspension), Reduced maximum (for loop usage): 1.5
5
Style analysis
25
Total mark (rescaled to 10% of overall assessment)
Submission
The complete submission should contain the following four files, you need to submit all four files together.
In case you have not completed a task(s), you need to submit the corresponding empty file(s).
simulate_qc.py
calc_discomfort.py
explore_qc.py
optimise_qc.py
The submission system will accept the above four filenames. You must not submit any other files.
Instructions on how to submit this assignment will be available later.
Originality of Assignments
As with all material submitted for assessment, this must be substantially your own work. It’s OK to discuss approaches to solutions with other students, and to get help from tutors and consultants, but you must write the Basic code yourself. Sophisticated software is used to identify submissions that are unreasonably similar, and marks will be reduced or removed in such cases.
Further Information
Use the forum to ask general questions about the assignment, and keep an eye on it for updates and responses.
Reference
[1] M.Z.Q. Chen et al. The missing mechanical circuit element. IEEE Circuits and Systems Magazine (First Quarter, 2009), pp. 10-26, 2009. URL: http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=4799284. (Note: As a UNSW student, you can download this research article for free. You get direct access if you are on the university computer network, otherwise you need to access through the library if you are outside of the university.)
ENGG1811 Assignment 2: Simulation and Design of Passive Suspensions最先出现在Help Your Paper| Knowledge Platform。
]]>ENGG1811 Assignment 1: Pattern detection最先出现在Help Your Paper| Knowledge Platform。
]]>Change Log
In this assignment, your goal is to write a python program to determine whether a given pattern appears in a data series, and if so, where it is located in the data series. This type of problems is very common in many disciplines, including computer science, engineering, medicine and science. There are many different types of pattern detection problems, the setting of this assignment is similar to that used in radars. A radar transmits a pulse of a specific shape and waits for a pulse of similar shape to return, in order to determine the position of an object. The method described below is known as matched filtering and is widely used in communication systems. This means your mobile phones perform the same type of calculations that you will be programming below!
By completing this assignment, you will learn:
The goal is to detect whether a certain pattern appears in the data series. In the following example, the pattern to be detected is a sequence of 4 numbers (see Fig 2); and the data series contains 10 data points (see Fig 1).
If you compare these two figures, you can see that this pattern appears between 5th (at index 4) to 8th (at index 7) data points of the data series. Note that it is not an exact match, but a fairly close one. Now you can spot the pattern using your eyes, let us see how an algorithm can do it.
Since the given pattern has 4 data points, we will take a segment of 4 consecutive data points from the data series at a time and compute a similarity measure. The similarity measure should have the property that if a segment of the data series is similar to the given pattern, then the similarity measure of that segment is large, and vice versa. Hence, if we can compute the similarity measures of all possible segments, then we can identify the segment that is most similar to the given pattern. We will now provide more details.
The algorithm begins with computing the similarity measure between the given pattern and the first segment, which is formed by the first 4 data points of the data series. In terms of the two lists above, the similarity measure for the first segment is:
After this, we compute the similarity measure between the given pattern and the second segment, which is formed by the second to fifth data points of the data series. For the above example, the similarity measure for this segment is:
We then do the same with the segment formed by the third to sixth data points (the third segment), giving a similarity measure equals to:
We repeat this until we have computed the similarity measure for the last possible segment, which is formed by the 7th to 10th data points. The following is the similarity list for the above example and a plot:
We need to consider the following cases.
Case 1: It is possible that the given data series is shorter than the given pattern, in this case, we return “Insufficient data”.
Case 2: All the similarity measures are (strictly) less than the given threshold value. This means none of the segments is similar to the given pattern. In this case, we say the pattern is not present in the data series and return “Not detected”. This is not the case for this example.
Case 3: At least one similarity measure is greater than or equal to the given threshold value. This is the case for this example. The similarity measure plot above shows that the fifth similarity measure is the largest. You can work out that the fifth similarity measure is computed by using the segment formed by the fifth (index 4) to eighth (index 7) data points of the data series. This procedure is therefore telling us that the segment consisting of fifth to eighth data points is most similar to the given pattern. Indeed this is what we had found by using visual inspection earlier. We will identify the location of the pattern by using the first index of the segment that has the highest similarity measure.
In the following example, selected indices are marked with green circles. Here, index 6 is not selected because the value at index 5 (distance of 1) is greater than the value at index 6. Similarly index 32 is not selected because the value at index 34 (distance 2) is higher. The example in Fig 4 will return the list [5, 16, 34].
There are many different approaches to calculate similarity measures between data segments and a pattern, above we have discussed just one of them! Therefore, a given data series representing similarity measures may or may not have clearly defined ‘pyramid’ patterns as shown in Fig 3. For example, there are no clearly defined ‘pyramid’ patterns in Fig 4.
This completes the description of the tasks
You need to implement the following four functions, each in a separate file (provided). You need to submit these four files, each containing one function you implement.
1. def calculate_similarity(data_segment, pattern):
2. def calculate_similarity_list(data_series, pattern):
3. def pattern_search_max(data_series, pattern, threshold):
4. def pattern_search_multiple(data_series, pattern_width, threshold):
We say two indices are overlapping if the distance between them is less than the width of the pattern.
Please note that you must not use numpy library for this assignment.
Test your functions thoroughly before submission. You can use the provided python programs (files like ‘test_calculate_similarity.py’, ‘test_pattern_search_max.py’, ‘test_pattern_search_multiple.py’, etc.) to test your functions.
Please note that the tests provided in these files cover only basic scenarios (cases), you need to think about other possible cases, modify the files accordingly and test your functions. For example, you need to add cases to test for “Insufficient data” and “Not detected” scenarios.
You need to submit the following four files. Do not submit any other files. For example, you do not need to submit your modified test files.
To Submit this assignment, go to the Submission page and click the tab named “Make Submission“.
The 20 marks for correctness are awarded according to these criteria.
Criteria | Nominal marks |
Function calculate_similarity | 4 |
Function calculate_similarity_list | 4 |
Function pattern_search_max | 3 |
Function pattern_search_multiple | 5 |
Case “Insufficient data” | 2 |
Case “Not detected” | 2 |
Five (5) marks are awarded by your tutor for style and complexity of your solution. The style assessment includes the following, in no particular order:
You are reminded that work submitted for assessment must be your own. It’s OK to discuss approaches to solutions with other students, and to get help from tutors and consultants, but you must write the python code yourself. Sophisticated software is used to identify submissions that are unreasonably similar, and marks will be reduced or removed in such cases.
ENGG1811 Assignment 1: Pattern detection最先出现在Help Your Paper| Knowledge Platform。
]]>MEISHA, LTD: COST MANAGEMENT ANALYSIS PAPER最先出现在Help Your Paper| Knowledge Platform。
]]>SEMESTER 2
A.Y. 2019-2020
STRATEGIC COST MANAGEMENT
Jerald James G. Montgomery, CPA
Submission Date: on or before June 12, 2020
Where to submit: jeraldjames1997@gmail.com
Note: Please answer religiously and cautiously. Do not cheat or share answer sheets. Remember that I have the means to know if your answers have been copied elsewhere.
Put your name, year and section, and task description on the file name.
MEISHA, LTD: COST MANAGEMENT ANALYSIS PAPER
This Case aims to focus on:
Basic financial statements: from interpretation to analysis
The usefulness of these statements to aid cost management decisions
Techniques used for costing and pricing decisions
Assessment method: Individual Report
Word length: 1200 words (minimum)
The following knowledge, skills and aptitudes must be refined and utilized:
Critically examine the needs of different users (internal & external) of accounting information.
Display critical understanding of the role of budgeting within a business.
Calculate business costs by applying the theory of cost behaviour and break-even analysis and evidence this by writing a business report.
Assignment Brief for Assessment 1 – Business Accounting
This assessment is in two parts. Part one is assessing the use of financial information for planning and decision-making. Part two looks at the use of financial information for control purposes. You are required to present your work in a report format. A suggested structure/outline is included at the end of the assessment paper.
PART ONE: Information for Planning and Decision-Making
Meisha, Ltd.
Meisha, Ltd. is a very successful company that has its headquarters in Vigan, Ilocos Sur, and specialises in the manufacture and sale of health products. It has developed a new product called ‘’isprikitik”. At the beginning of the year 2020 the management of the company approached its bankers, JJGM International, for a loan facility to enable them to buy the equipment that will be used to produce the new product in larger quantities. The bank is interested in how the company can control the costs associated with the new product as well as generate enough sales revenue in order to make decent profit.
The bank has accordingly asked the company to submit its sales revenue and production costs budgets over a three-month period together with a breakeven analysis for study. The bank requires a margin of safety percentage minimum of 20% to be met by the company in order to progress the loan application.
Meisha, Ltd. reliably budgets to produce and sell 3,000 units of the new product in the first three months of its introduction, and has estimated its variable production cost per unit in much detail shown in the standard cost card below. The company plans to sell each unit of the product for PHP 130. It estimates that the product’s specific fixed cost within the relevant range will be PHP 70,000.00.
Standard variable production cost per unit of product ‘isprikitik ’:
Cost elements
Quantity/Hours, Price/Rate (PHP ), Cost per unit (PHP )
Direct material
10 kg per unit
PHP 5 per kilogram
= PHP 50
Direct labour
2 hours per unit
PHP 20 per direct labour hour
= PHP 40
Variable production overheads
2 hours per unit
PHP 2.5 per direct labour hour
= PHP 5
Variable production cost per unit
= PHP 95
Contribution per unit
= PHP 35
Selling price
= PHP 30
The equipment to be purchased has the capacity to produce 5,000 units of the product every quarter (three months). Beyond this level of activity there will be the need to expand capacity and the specific fixed cost will increase by PHP 30,000.
Your role in Meisha, Ltd.:
You are a newly employed management accountant of Meisha . The finance director of the company, Mrs. Ash Wang, has assigned you all tasks relating to the application for the required loan, and has accordingly asked you to perform the relevant analysis and to compile the necessary reports that will be forwarded to JJGM International for consideration.
Required:
You are to prepare a draft report addressed to the finance director, Mrs Ash Wang , for review. An outline of the required report has been suggested as an appendix to this if you may want to use it, but you are free to use any report structure that you deem appropriate. There are two parts of the main report, part one and part two. Use your answers in questions 1 and 2 below to complete Part One of the main report.
Question 1
(a) Using information in part one of the case study as above, perform the necessary calculations and use your answers to complete the following CVP analysis table.
Activity level (units)
Fixed Costs (FC)
(PHP )
Total Variable Costs (TVC)
(PHP )
Total Costs (TC)
(PHP )
Sales Revenue (SR)
(PHP )
Total Contribution
(PHP )
Total Profit
(PHP )
0
Breakeven
Budgeted
Maximum Capacity: 5,500
(b) Calculate the margin of safety percentage
(c) Prepare a Breakeven chart using data you have provided in (a) above
(d) Prepare a budget for variable production costs to show the budgeted cost for (i) direct materials, (ii) direct labour, and (iii) variable production overheads.
(e) Include a pie chart or bar chart to show the values and percentages of budgeted direct material costs, budgeted direct labour costs and budgeted variable production overhead costs.
Question 2
With reference to the analysis you have performed in question 1 above answer the following questions:
(a) State the assumptions underlying the breakeven (CVP) analysis.
(b) Explain how the theory of cost classifications and cost behaviour has been applied in your calculations/analysis shown in the table in Question 1 (a).
(c) Explain how the management of Meisha, Ltd. can use the results of your analysis (both CVP analysis and the variable production cost budgets) in planning and decision-making. Use information from the case and your analysis to support your discussion.
(d) Explain how reliable the result of your CVP analysis is for users of the information, including (i) the management of Meisha, Ltd., (ii) the company’s bankers (JJGM International), and (iii) potential suppliers.
PART TWO: Information for Performance Evaluation and Control – six months after the loan application
Assume we are now in January 2020. The company, Meisha ’s application for a loan was successful, and it started its operations four (4) months ago. Below are the actual results for the first three months (October, November and December, 2019) of producing and selling product ‘isprikitik’.
Actual information (October, November and December, 2019):
Production/Sales
3,500 units
Direct material usage
11 kilograms per unit of product
Direct material price
PHP 5.5 per kilogram of direct material
Direct labor hours
2 hours per unit of product
Direct labour rate
PHP 17 per direct labour hour
Variable production overhead
PHP 2.40 per direct labour hour
Market report compiled shows that a competitor of Meisha, Ltd. called ‘BigMovers’ also introduced a similar product into the market. The competitor’s product uses the same material that Meisha uses to produce isprikitik. The production manager of Meisha in charge of isprikitik received intelligence suggesting that the material used in producing isprikitik would be in short supply in the near future, but thought that he could use an alternative cheaper material. The managing director, however, rejected the idea of a cheaper material. Instead, she approached the suppliers of the required material and entered into an agreement with them to make Meisha, Ltd. the buyer of choice. This means that the supplier would always, firstly, meet the orders of Meisha, Ltd. before any other orders could be met. In this regard Meisha, Ltd. agreed to pay PHP 0.50p more for each kilogramme of the required material.
A slowdown in other sectors of the economy caused a lot of workers to be made redundant, making job search very competitive. This resulted in many job seekers offering to accept a reduced rate of pay, which the production manager duly took advantage of by offering to pay a lower rate per hour.
Your role:
The finance director has asked you to prepare a budgetary control statement to show any variances arising from activities in respect of product isprikitik, and to investigate the causes of any significant variances. The investigation requires that your variance analysis is much detailed to be able to identify control points for management action. The investigation should reveal what variances can be attributed to the decisions and actions of the production manager.
Required:
You are required to prepare a part two to the draft report to be addressed to the finance director. Use your answers in question 3 below to complete this part of the report.
Question 3:
Use information in part two of the case study to perform the following:
(a) Prepare a budgetary control statement to show direct material cost variance, direct labour cost variance, variable production overheads cost variance, and total variable production cost variance.
(b) Calculate the following detailed variances that can be used to investigate/explain the sources of the variances you have calculated in the budgetary control statement and comment on them.
– Direct material usage variance
– Direct material price variance
– Direct labour efficiency variance
– Direct labour rate variance
– Variable overhead expenditure variance
General Guidelines:
The report will be individually and digitally assessed.
Start with an introduction and end with a conclusion.
Include subheadings to distinguish between different parts of the discussions.
Show BE charts relevant to the study in the main report.
Show calculations in the appendices.
Include references in the appendices part.
Use APA reference for both in-text and final reference list.
Word count is excluded for Overview, headings and introduction of
the course works.
Give proper highlights /captions in every paragraph in each answer to make it clear
You will be allowed to submit EVEN after the submission deadline. Note, however, that I will abide to the set of guidelines for this medium of learning.
Recommended Resources:
From:
To:
Subject:
Date:
Reference to remit
Purpose of analysis
Scope of analysis/report
Highlights from report
CVP Analysis:
Commentary & Discussions:
Purpose of Break Even Analysis
Assumptions
Interpretation or implications of the analysis to management and the bank
How the theory of cost behaviour has been applied in the analysis (use information from the analysis in support).
Schedule/Table of Costs, Sales, Contributions & Profits
Breakeven chart
Variable Production Cost Budgets (for 3000 units)
Commentary & Discussions:
Purposes/uses of a budget
Assumptions
Interpretation or implications of the analysis to management
Budget Summaries (Table/Schedule)
Charts: bar charts or pie charts
(NB: percentages may be shown in table and charts)
Limitations of Analysis
CVP Analysis
Limitations – based on relaxing assumptions, etc.
Implications of limitations for management, bankers, potential suppliers
Variable Production Cost Analysis
Limitations – based on assumptions, etc.
Implications of limitations for management
Actual Variable Production Costs & Variances
Commentary & Discussions:
Purposes of Budgetary Control Statements and Variance analysis
Interpretation (adverse/favourable variances) and implications for management
Budgetary Control Statement
Schedule/Table of Variances
Charts – Pie/Bar Chart
Investigation and Interpretation of Significant Variances
Causes of different types of variances, theoretically
Significant variances in the analysis
Causes of the significant variances based on the case study information.
Any useful comment(s).
References
Workings/calculations
MEISHA, LTD: COST MANAGEMENT ANALYSIS PAPER最先出现在Help Your Paper| Knowledge Platform。
]]>ECMT6002: Econometric Applications最先出现在Help Your Paper| Knowledge Platform。
]]>1
2
”. Handwritten answers can unfortunately not be
accepted for this exam.
Submit your answers no later than 11:59 PM on Friday 19 June 2020, using the TurnItIn tool on
the Canvas Final Exam page for this unit. (Note that this is a different page than the regular Canvas
page for this unit.) In order to comply with our anonymous marking policy, please ensure that your
submission includes your SID but not your name.
This exam is not timed and may obviously be completed with open book/notes/anything. In particular,
you can find any critical values that you need in Wooldridge’s textbook.
However, this is still an individual exam. I trust you to do the right thing, but any suspected
plagiarism or collaboration will be referred to the Academic Integrity Board.
Good luck!
Question 1. We have collected seventy years of annual data on the average price of all houses sold
in Sydney during each year, yt in dollars, and the average temperature at a research station in Central
Greenland during the same year, xt in hundredths of degrees Celsius. We decide to use OLS to estimate
the model ln(yt) = + xt + ut, and we find that ^ = 0:04 with standard error 0:01.
(a) (2 marks) What is the economic interpretation of the number 0.04 here?
(b) (2 marks) Show that H0 : = 0 can be rejected here, against the two-sided alternative. Also argue
why this is a strange result.
(c) (6 marks) Discuss which econometric problem could have caused this strange result.
(d) (5 marks) How would you test whether the problem in part (c) is in fact present?
(e) (5 marks) If the problem from parts (c) and (d) was found to be present and you still wanted to
estimate , how would you do that?
Question 2. In this question, we study the economy of two small neighbouring countries. Country 1
has GDP growth y1t, which it mainly earns by exporting gold; the inflation of the price of its gold is
x1t. Similarly, country 2 has GDP growth y2t, which it mainly earns by exporting oil; the inflation of the
price of its oil is x2t. Both countries are so small that they have no real market power in the international
commodities markets, so we can take x1t and x2t as exogenous. Two macroeconomic shocks e1t and e2t
influence these economies, and they have all the nice properties that we want: normal, homoskedastic,
not autocorrelated, and independent of each other. Long story short, we are studying the model
y1t = 1 + 1x1t + e1t + e2t
y2t = 2 + 2x2t + e2t:
We have been hired by the government of country 1, which is mainly interested in estimating 1.
(a) (4 marks) Describe an economic argument for the presence of a “+e2t” term in the first equation.
(b) (2 marks) Suppose that country 2 is unwilling to share its data, so all you have are the time series
y1t and x1t. What is the best estimator ^ 1 that you can produce? Motivate your answer.
For the remaining parts of this question, assume that you have managed to convince country 2 to share
its data, so you now have access to y2t and x2t in addition to y1t and x1t.
(c) (5 marks) Argue why it should now be possible to improve on the estimator that you suggested
in part (b). In addition to some intuition, your answer should also contain the words
“(un)biased”, “(in)consistent”, and “(in)efficient”.
(d) (5 marks) Assume that is known, but the remaining parameters are not. Write a regression model
that exploits all the data that you have, that can be estimated by OLS, and that provides
an estimator ^ 1 that benefits from the improvements that you suggested in part (c).
(e) (4 marks) In reality, is not known, so we will need to turn the GLS procedure from part (d) into
an FGLS procedure by coming up with an estimator ^. Describe how to compute this ^.
Question 3. We have collected data on a random sample of homeowners with a mortgage. For each of
them, we know their annual income at the time the house was bought (in thousands of dollars), the initial
size of the loan (also in thousands of dollars), as well as whether they have defaulted on their repayments
(dummy variable). We use Stata to estimate the following model.
. generate ln_income=ln(income)
. generate ln_loan=ln(loan)
. logit default ln_income ln_loan
Logistic regression Number of obs = 117
LR chi2(2) = 7.03
Prob > chi2 = 0.0297
Log likelihood = -24.472186 Pseudo R2 = 0.0765
——————————————————————————
default | Coef. Std. Err. z P>|z| [95% Conf. Interval]
————-+—————————————————————-
ln_income | -57.47886 34.62703 -1.66 0.097 -125.3466 10.38887
ln_loan | 56.38969 34.44848 1.64 0.102 -11.12809 123.9075
_cons | -126.8349 78.20496 -1.62 0.105 -280.1138 26.444
——————————————————————————
. margins, dydx(ln_income)
Average marginal effects Number of obs = 117
——————————————————————————
| dy/dx Std. Err. z P>|z| [95% Conf. Interval]
————-+—————————————————————-
ln_income | -3.115679 2.044844 -1.52 0.128 -7.123499 .8921409
——————————————————————————
. margins, dydx(ln_income) atmeans
Conditional marginal effects Number of obs = 117
——————————————————————————
| dy/dx Std. Err. z P>|z| [95% Conf. Interval]
————-+—————————————————————-
ln_income | -2.428992 1.216568 -2.00 0.046 -4.813421 -.0445629
——————————————————————————
(This question continues on the next page.)
(a) (3 marks) The last two tables report estimated marginal effects of –3.12 and –2.43, respectively.
Describe carefully how each of these numbers should be interpreted.
(b) (5 marks) A person has an annual income of 70 000 dollars and applies for a home loan of 700 000
dollars. Predict how likely it is that this person will default on their loan.
(c) (6 marks) Compute the marginal effect of a small change in income, holding the loan size constant,
on the probability in part (b).
(d) (3 marks) As you can see from the first table, ln income and ln loan are both individually
insignificant. Show that they are jointly significant.
(e) (3 marks) What is the economic intuition behind the contradictory results in part (d)?
Question 4. Suppose that we have obtained survey data on the new price of the most expensive car
owned by each household. However, we do not know the exact price, but we do know whether it is $0
(no car), in (0, 20k], in (20k, 50k], in (50k, 100k], or greater than $100k. We are trying to model these
car prices as a function of household income, the number of children living in the household, and a set
of dummies indicating whether the household is located in an urban, suburban, regional, or rural area.
There are various models that we could use for this task.
(a) (4 marks) Between the multinomial logit and multinomial probit models, which one would you
prefer to use here? Motivate your answer.
(b) (4 marks) Between the multinomial probit and ordered probit models, which one would you prefer
to use here? Motivate your answer.
(c) (4 marks) Between the ordered probit and interval regression models, which one would you prefer
to use here? Motivate your answer.
For the remainder of this question, we will be interested in the marginal effect of an additional child
being born, holding everything else constant, on the price of a household’s main car. (They may want to
buy a larger car to make sure the entire family still fits inside; or they may want to downsize to a smaller
car because kids are expensive.) That is, we are trying to estimate @ E[pricei]
@ childreni
.
(d) (4 marks) The ordered probit model includes a “: : : + childreni + : : :” term. Does this
represent the desired marginal effect? Why or why not?
(e) (4 marks) The interval regression model also includes a “: : :+ childreni +: : :” term. Does this
represent the desired marginal effect? Why or why not?
Question 5. In this final question, we investigate how many times people visit a medical doctor over the
course of a year, based on whether or not they have a chronic disease, a disability, and health insurance,
as well as their gender and the size of their family. We obtain the following results; note that family size
is included in logarithms, so a person who lives alone would have ln family= ln(1) = 0.
. summarize visits
Variable | Obs Mean Std. Dev. Min Max
————-+———————————————————
visits | 20,190 2.860426 4.504365 0 77
. regress visits chron_dis disabled insured female ln_family, robust
——————————————————————————
| Robust
visits | Coef. Std. Err. t P>|t| [95% Conf. Interval]
————-+—————————————————————-
chron_dis | .1058531 .006246 16.95 0.000 .0936105 .1180957
disabled | 1.254728 .1311765 9.57 0.000 .9976112 1.511845
insured | 1.595272 .0611246 26.10 0.000 1.475463 1.715081
female | .511249 .0609712 8.39 0.000 .3917405 .6307575
ln_family | -.2548986 .0592984 -4.30 0.000 -.3711284 -.1386688
_cons | .263288 .1121838 2.35 0.019 .0433987 .4831774
——————————————————————————
. poisson visits chron_dis disabled insured female ln_family, robust
——————————————————————————
| Robust
visits | Coef. Std. Err. z P>|z| [95% Conf. Interval]
————-+—————————————————————-
chron_dis | .0288251 .001523 18.93 0.000 .0258402 .03181
disabled | .320908 .0325414 9.86 0.000 .2571281 .3846878
insured | .7544583 .0354006 21.31 0.000 .6850744 .8238423
female | .1914363 .0221097 8.66 0.000 .148102 .2347705
ln_family | -.0749335 .0197642 -3.79 0.000 -.1136706 -.0361965
_cons | -.0232276 .0471662 -0.49 0.622 -.1156717 .0692165
——————————————————————————
(This question continues on the next page.)
(a) (3 marks) Show that the number of doctor visits is overdispersed, and argue why one would have
expected this to be the case even before looking at any data.
(b) (2 marks) Consider a man who is part of a family of five, has no insurance (these are US data)
and no chronic diseases or disabilities. How often do we expect him to visit a doctor,
according to the OLS results?
(c) (7 marks) Repeat part (b) using the Poisson regression results. Also compute the expected probability
that this person will visit a doctor at least once during this year.
(d) (3 marks) Consider the first estimated regression coefficient in each table, so 0.1058531 for OLS
and 0.0288251 for Poisson regression. Describe carefully how each of these two numbers
should be interpreted.
(e) (5 marks) According to the Poisson regression model, what is the average marginal effect of having
a disability? And finally, what does this number mean?
ECMT6002: Econometric Applications最先出现在Help Your Paper| Knowledge Platform。
]]>