// Numbas version: exam_results_page_options {"name": "Inventory analysis: constant demand", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "question_groups": [{"pickingStrategy": "all-ordered", "questions": [{"variable_groups": [{"variables": ["company_names", "company", "product_data", "chosen_product", "product", "products", "unit", "units"], "name": "Names"}, {"variables": ["demand", "labour", "clean", "clerical", "order_cost", "price", "holding_rate", "holding_cost"], "name": "Costs"}, {"variables": ["eoq", "minimum_cost"], "name": "Answers"}], "variables": {"minimum_cost": {"templateType": "anything", "group": "Answers", "definition": "order_cost*demand/eoq + holding_cost/2 * eoq", "description": "", "name": "minimum_cost"}, "labour": {"templateType": "anything", "group": "Costs", "definition": "random(4..7)", "description": "", "name": "labour"}, "clerical": {"templateType": "anything", "group": "Costs", "definition": "random(1..3)", "description": "", "name": "clerical"}, "holding_cost": {"templateType": "anything", "group": "Costs", "definition": "holding_rate*price", "description": "", "name": "holding_cost"}, "chosen_product": {"templateType": "anything", "group": "Names", "definition": "random(product_data)", "description": "", "name": "chosen_product"}, "company_names": {"templateType": "list of strings", "group": "Names", "definition": "[ \"ProdCo\", \"Amalgamated Things, Inc.\", \"Barker & Sons\" ]", "description": "", "name": "company_names"}, "units": {"templateType": "anything", "group": "Names", "definition": "chosen_product[3]", "description": "", "name": "units"}, "holding_rate": {"templateType": "anything", "group": "Costs", "definition": "random(0.05..0.3#0.01)", "description": "", "name": "holding_rate"}, "company": {"templateType": "anything", "group": "Names", "definition": "random(company_names)", "description": "", "name": "company"}, "product_data": {"templateType": "anything", "group": "Names", "definition": "[\n [\"dog tiara\",\"dog tiaras\",\"unit\",\"units\"],\n [\"diesel\",\"diesel\",\"gallon\",\"gallons\"],\n [\"stinky cheese\",\"stinky cheese\",\"kg\",\"kg\"]\n]", "description": "", "name": "product_data"}, "products": {"templateType": "anything", "group": "Names", "definition": "chosen_product[1]", "description": "", "name": "products"}, "unit": {"templateType": "anything", "group": "Names", "definition": "chosen_product[2]", "description": "", "name": "unit"}, "price": {"templateType": "anything", "group": "Costs", "definition": "random(4..12)", "description": "", "name": "price"}, "product": {"templateType": "anything", "group": "Names", "definition": "chosen_product[0]", "description": "", "name": "product"}, "order_cost": {"templateType": "anything", "group": "Costs", "definition": "labour+clean+clerical", "description": "", "name": "order_cost"}, "eoq": {"templateType": "anything", "group": "Answers", "definition": "sqrt((2*order_cost*demand)/holding_cost)", "description": "", "name": "eoq"}, "demand": {"templateType": "anything", "group": "Costs", "definition": "random(800..2500#50)", "description": "", "name": "demand"}, "clean": {"templateType": "anything", "group": "Costs", "definition": "random(1..5)", "description": "", "name": "clean"}}, "ungrouped_variables": [], "question_groups": [{"pickingStrategy": "all-ordered", "questions": [], "name": "", "pickQuestions": 0}], "name": "Inventory analysis: constant demand", "functions": {}, "showQuestionGroupNames": false, "parts": [{"prompt": "

Set-up cost for each batch: £[[0]]

\n

Annual holding cost per {unit}: £[[1]]

", "scripts": {}, "gaps": [{"precisionPartialCredit": 0, "allowFractions": false, "correctAnswerFraction": false, "minValue": "order_cost", "maxValue": "order_cost", "precision": "2", "type": "numberentry", "precisionType": "dp", "showPrecisionHint": false, "strictPrecision": false, "scripts": {}, "precisionMessage": "You have not given your answer to the correct precision.", "variableReplacementStrategy": "originalfirst", "showCorrectAnswer": true, "variableReplacements": [], "marks": 1}, {"precisionPartialCredit": 0, "allowFractions": false, "correctAnswerFraction": false, "minValue": "holding_cost", "maxValue": "holding_cost", "precision": "2", "type": "numberentry", "precisionType": "dp", "showPrecisionHint": false, "strictPrecision": false, "scripts": {}, "precisionMessage": "You have not given your answer to the correct precision.", "variableReplacementStrategy": "originalfirst", "showCorrectAnswer": true, "variableReplacements": [], "marks": 1}], "type": "gapfill", "showCorrectAnswer": true, "variableReplacementStrategy": "originalfirst", "variableReplacements": [], "marks": 0}, {"prompt": "

How much {product} should {company} produce in each batch? Round your answer to the nearest {unit}.

\n

[[0]] {units}

", "scripts": {}, "gaps": [{"precisionPartialCredit": 0, "allowFractions": false, "correctAnswerFraction": false, "minValue": "eoq", "maxValue": "eoq", "precision": 0, "type": "numberentry", "precisionType": "dp", "showPrecisionHint": false, "strictPrecision": false, "scripts": {}, "precisionMessage": "You have not given your answer to the correct precision.", "variableReplacementStrategy": "originalfirst", "showCorrectAnswer": true, "variableReplacements": [], "marks": 1}], "type": "gapfill", "showCorrectAnswer": true, "variableReplacementStrategy": "originalfirst", "variableReplacements": [], "marks": 0}, {"prompt": "

What is {company}'s minimum cost per year? Round your answer to the nearest penny.

\n

£[[0]]

", "scripts": {}, "gaps": [{"precisionPartialCredit": 0, "allowFractions": false, "correctAnswerFraction": false, "minValue": "minimum_cost", "maxValue": "minimum_cost", "precision": "2", "type": "numberentry", "precisionType": "dp", "showPrecisionHint": false, "strictPrecision": false, "scripts": {}, "precisionMessage": "You have not given your answer to the correct precision.", "variableReplacementStrategy": "originalfirst", "showCorrectAnswer": true, "variableReplacements": [{"part": "p1g0", "must_go_first": false, "variable": "eoq"}], "marks": 1}], "type": "gapfill", "showCorrectAnswer": true, "variableReplacementStrategy": "originalfirst", "variableReplacements": [], "marks": 0}], "statement": "

The demand {company} receives for its {products} is $d = \\var{demand}$ {units} per year and is fairly constant throughout the year.

\n

The {product} is valued at £{price} per {unit} and is produced in batches. Each production run incurs the following costs:

\n\n

The costs of self-insurance and loss of investment income for money tied up in stock are rated at {holding_rate*100}%.

", "tags": ["MAS1901"], "rulesets": {}, "preamble": {"css": "", "js": ""}, "type": "question", "metadata": {"notes": "", "licence": "Creative Commons Attribution 4.0 International", "description": "

Given constant demand for a product, calculate the economic order quantity, and the minimum cost per year.

"}, "variablesTest": {"condition": "", "maxRuns": 100}, "advice": "

a)

\n

The set-up cost for each batch is the sum of the labour, cleaning, and clerical costs:

\n

\\[ \\simplify[]{{labour} + {clean} + {clerical}} = \\var{order_cost} \\]

\n

The annual holding cost per {unit} is the product of the price per {unit} of {products} and the rated holding cost. That is,

\n

\\[ \\simplify[]{{price}*{holding_rate}} = \\var{holding_cost} \\]

\n

b)

\n

The economic order quantity is given by

\n

\\[ \\mathrm{EOQ} = \\sqrt{\\frac{2ad}{h}} \\]

\n

where $a = \\var{order_cost}$ is the set-up cost of each order, $d = \\var{demand}$ is the annual demand, and $h = \\var{holding_cost}$ is the annual holding cost per {unit}.

\n

Using the values calculated above, we have:

\n

\\[ \\mathrm{EOQ} = \\simplify[]{sqrt((2*{order_cost}*{demand})/{holding_cost})} = \\var{round(eoq)} \\, \\var{units} \\text{ (to the nearest }\\var{unit}\\text{)} \\]

\n

c)

\n

The minimum cost per year is given by 

\n

\\[ \\sqrt{2adh} = £\\var{precround(minimum_cost,2)} \\]

", "contributors": [{"name": "Newcastle University Mathematics and Statistics", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/697/"}]}]}], "contributors": [{"name": "Newcastle University Mathematics and Statistics", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/697/"}]}