Tweaked problem definition and data file for problem 1
[ou-summer-of-code-2017.git] / 01-ticket-prices / ticket-pricing-question.ipynb
diff --git a/01-ticket-prices/ticket-pricing-question.ipynb b/01-ticket-prices/ticket-pricing-question.ipynb
new file mode 100644 (file)
index 0000000..5ad6637
--- /dev/null
@@ -0,0 +1,110 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Ticket pricing\n",
+    "\n",
+    "You've been shopping around for a holiday package deal and its time to make your choice of which deal to go with. The file [01-holidays.txt](01-holidays.txt) contains a summary of your investigations. \n",
+    "\n",
+    "It's a simple text file, with one possible holiday package per line.\n",
+    "\n",
+    "Each line has four fields, separated by spaces. They are:\n",
+    "* The deal ID, from the price comparison website you found it.\n",
+    "* The holiday price, in whole pounds.\n",
+    "* The location of the holiday, always a single word.\n",
+    "* The number of nights you'd be staying. \n",
+    "\n",
+    "For example, the data file might look like this:\n",
+    "\n",
+    "```\n",
+    "db61bb90 769 Morgantown 3\n",
+    "202c898b5f 1284 Morgantown 21\n",
+    "def36ffcd 1514 Giessenmestia 21\n",
+    "389018bd0707 1052 Estacada 21\n",
+    "a487c4270 782 Geoje-Si 14\n",
+    "6caf2584a55 724 Stonington-Island 14\n",
+    "199608abc5 1209 Nordkapp 21\n",
+    "```"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Part 1\n",
+    "You have a budget of £1200. How many of the holidays can you afford?\n",
+    "\n",
+    "Given the example data above, you could afford four of the holidays: the trips to Estacada, Geoje-Si and Stonnington-Island, and the three-day trip to Morgantown. \n",
+    "\n",
+    "The 21 day trip to Morgantown and the trips to  Giessenmestia and Nordkapp are all too expensive."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Part 2\n",
+    "You don't just want _a_ holiday. You want the _best_ holiday. What is the code of the holiday which would give you the best value?\n",
+    "\n",
+    "The \"value\" of a holiday is the duration per pound. Because some destinations are better than others, you'll want to scale the value for some locations. For instance, a night in Timbuktu is worth three times as much as a holiday in Bletchley.\n",
+    "\n",
+    "Assume all holidays have a relative value of 1, apart from these destinations.\n",
+    "\n",
+    "| Destination | Score |\n",
+    "|-------------|-------|\n",
+    "| Almaty | 2.0 |\n",
+    "| Brorfelde | 0.9 |\n",
+    "| Estacada | 0.4 |\n",
+    "| Jayuya | 0.6 |\n",
+    "| Karlukovo | 2.2 |\n",
+    "| Morgantown | 2.9 |\n",
+    "| Nordkapp | 1.5 |\n",
+    "| Nullarbor | 2.2 |\n",
+    "| Puente-Laguna-Garzonkuala-Penyu | 0.4 |\n",
+    "| Uzupis | 0.9 |\n",
+    "\n",
+    "## Example\n",
+    "\n",
+    "Given the holiday list above, the holiday to Geoje-Si (with the standard weighting of 1) has a value of $\\frac{14}{782} = 0.0179$ nights per pound. \n",
+    "\n",
+    "The trip to Estacada looks promising, at $\\frac{21}{1052} = 0.0200$ nights per pound. Unfortunately, the weighting for Estacada is low, to the adjusted cost is $0.4 \\times \\frac{21}{1052} = 0.00798$ nights per pound.\n",
+    "\n",
+    "The best value holiday is the 21 day trip to Morgantown, with a value of $2.9 \\times \\frac{21}{1284} = 0.0474$ nights per pound. Unfortunately, it's unaffordable. \n",
+    "\n",
+    "The best value affordable holiday is the trip to Stonnington Island, with $\\frac{14}{1284} = 0.0193$ nights per pound."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "collapsed": true
+   },
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.5.2+"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}