{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "*This notebook contains material from [CBE40455-2020](https://jckantor.github.io/CBE40455-2020);\n", "content is available [on Github](https://github.com/jckantor/CBE40455-2020.git).*\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "< [3.11 Batch Chemical Process](https://jckantor.github.io/CBE40455-2020/03.11-Project-Batch-Chemical-Process.html) | [Contents](toc.html) | [7.0 Risk and Diversification](https://jckantor.github.io/CBE40455-2020/07.00-Risk-and-Diversification.html) >

\"Open

\"Download\"" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 1, "link": "[3.12 Little's Law and other Odds and Ends](https://jckantor.github.io/CBE40455-2020/03.12-Littles-Law-and-other-Odds-and-Ends.html#3.12-Little's-Law-and-other-Odds-and-Ends)", "section": "3.12 Little's Law and other Odds and Ends" } }, "source": [ "# 3.12 Little's Law and other Odds and Ends" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 2, "link": "[3.12.1 Notes regarding simulation of a Batch Chemical Process](https://jckantor.github.io/CBE40455-2020/03.12-Littles-Law-and-other-Odds-and-Ends.html#3.12.1-Notes-regarding-simulation-of-a-Batch-Chemical-Process)", "section": "3.12.1 Notes regarding simulation of a Batch Chemical Process" } }, "source": [ "## 3.12.1 Notes regarding simulation of a Batch Chemical Process\n", "\n", "The batch chemical process problem has some subtle modeling issues. Let's review." ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 2, "link": "[3.12.2 An important relationship among performance Indicators](https://jckantor.github.io/CBE40455-2020/03.12-Littles-Law-and-other-Odds-and-Ends.html#3.12.2-An-important-relationship-among-performance-Indicators)", "section": "3.12.2 An important relationship among performance Indicators" } }, "source": [ "## 3.12.2 An important relationship among performance Indicators\n", "\n", "Typical performance indicators for a manufacturing process (or almost any process, for that matter) include:\n", "\n", "* $\\lambda$ = average throughput (e.g, orders per hour)\n", "* $L$ = average number of items in progress (e.g. orders in progress)\n", "* $W$ = average waiting time per item (e.g, hours)\n", "\n", "Note that these are average quantities. The word average implies constant value, or statistical stationarity, or what chemical engineers would call a steady state.\n", "\n", "> Example: How many do you need for a waiting room at an auto repair shop?\n", "> \n", "> * An auto repair shop sees an average of 40 job (customers) per day over a 10 hour business day.\n", "> * There are an average of 8 jobs in progress at any given time of day.\n", "> * Each job takes 2 hours.\n", ">\n", "> Is this data consistent? " ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 3, "link": "[3.12.2.1 Little's Law](https://jckantor.github.io/CBE40455-2020/03.12-Littles-Law-and-other-Odds-and-Ends.html#3.12.2.1-Little's-Law)", "section": "3.12.2.1 Little's Law" } }, "source": [ "### 3.12.2.1 Little's Law\n", "\n", "Little's law is a basic principle of any stationary queuing system.\n", "\n", "$$ L = \\lambda W $$\n", "\n", "For the above example:\n", "\n", "$$\\begin{align*}\n", "\\lambda & = {40\\text{ jobs}}/{10\\text{ hours}} = 4 \\text{ jobs per hour} \\\\\n", "L & = 8 \\text{ jobs} \\\\\n", "W & = 2 \\text{ hours/job} \\\\\n", "\\\\\n", "L & = \\lambda W \\implies 8\\text{ jobs} = 4\\text{ jobs/hours} \\times 2\\text{ hours/job}\n", "\\end{align*}$$\n" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 3, "link": "[3.12.2.2 Chemical Engineering Context](https://jckantor.github.io/CBE40455-2020/03.12-Littles-Law-and-other-Odds-and-Ends.html#3.12.2.2-Chemical-Engineering-Context)", "section": "3.12.2.2 Chemical Engineering Context" } }, "source": [ "### 3.12.2.2 Chemical Engineering Context\n", "Chemical engineers know Little's law as a simple material balance. Let $V$ be quantity (e.g., liters) in a tank, $q$ be flowrate (e.g., liters/sec) through the tank, and $\\tau$ be average residence time (e.g., sec). Then \n", "\n", "$$ V = q \\tau$$ " ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 3, "link": "[3.12.2.3 Significance](https://jckantor.github.io/CBE40455-2020/03.12-Littles-Law-and-other-Odds-and-Ends.html#3.12.2.3-Significance)", "section": "3.12.2.3 Significance" } }, "source": [ "### 3.12.2.3 Significance\n", "\n", "The key point is that these three performance indicators, throughput, work in progress, and waiting tme, are not independent at steady state.\n", "\n", "* There are 120 emails per 10 hour day sent to a technical support service. Each email requires an average 2 hours to resolve. How many requests are progress at the same time?\n", "\n", "Despite it's apparent simplicity (this all seems pretty obvious, doesn't it?). This relationship first appeared in papers and textbooks in the 1950's, and a mathematical proof offered by J. D. C. Little in 1961. A subsequent generation of mathematicians and industrial engineers extended these proofs to very general settings. The key concept is statistical steady state, which we call stationarity." ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 2, "link": "[3.12.3 Simulation Paradigms](https://jckantor.github.io/CBE40455-2020/03.12-Littles-Law-and-other-Odds-and-Ends.html#3.12.3-Simulation-Paradigms)", "section": "3.12.3 Simulation Paradigms" } }, "source": [ "## 3.12.3 Simulation Paradigms\n", "\n", "* System Dynamics. A field often attributed to Jay Forrester at MIT (Sloan School). Characterized by largely graphical language for describing causal relationships. \n", "\n", "

\"Adoption
By <a href=\"//commons.wikimedia.org/wiki/User:Patrhoue\" title=\"User:Patrhoue\">Patrhoue</a> - <span class=\"int-own-work\" lang=\"en\">Own work</span>, CC BY-SA 3.0, Link

" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 3, "link": "[3.12.3.1 Stock Diagrams](https://jckantor.github.io/CBE40455-2020/03.12-Littles-Law-and-other-Odds-and-Ends.html#3.12.3.1-Stock-Diagrams)", "section": "3.12.3.1 Stock Diagrams" } }, "source": [ "### 3.12.3.1 Stock Diagrams\n", "\n", "

\"Simple
By The original uploader was <a href=\"https://en.wikipedia.org/wiki/User:Apdevries\" class=\"extiw\" title=\"wikipedia:User:Apdevries\">Apdevries</a> at <a href=\"https://en.wikipedia.org/wiki/\" class=\"extiw\" title=\"wikipedia:\">English Wikipedia</a>. - Transferred from <span class=\"plainlinks\"><a class=\"external text\" href=\"https://en.wikipedia.org\">en.wikipedia</a></span> to Commons., CC BY-SA 3.0, Link

" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 3, "link": "[3.12.3.2 Causal Loops (Positive and Negative, Feedforward and Feedback)](https://jckantor.github.io/CBE40455-2020/03.12-Littles-Law-and-other-Odds-and-Ends.html#3.12.3.2-Causal-Loops-(Positive-and-Negative,-Feedforward-and-Feedback))", "section": "3.12.3.2 Causal Loops (Positive and Negative, Feedforward and Feedback)" } }, "source": [ "### 3.12.3.2 Causal Loops (Positive and Negative, Feedforward and Feedback)\n", "\n", "

\"Adoption
By The original uploader was <a href=\"https://en.wikipedia.org/wiki/User:Apdevries\" class=\"extiw\" title=\"wikipedia:User:Apdevries\">Apdevries</a> at <a href=\"https://en.wikipedia.org/wiki/\" class=\"extiw\" title=\"wikipedia:\">English Wikipedia</a>. - Transferred from <span class=\"plainlinks\"><a class=\"external text\" href=\"https://en.wikipedia.org\">en.wikipedia</a></span> to Commons., CC BY-SA 3.0, Link

" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 3, "link": "[3.12.3.3 AnyLogic](https://jckantor.github.io/CBE40455-2020/03.12-Littles-Law-and-other-Odds-and-Ends.html#3.12.3.3-AnyLogic)", "section": "3.12.3.3 AnyLogic" } }, "source": [ "### 3.12.3.3 AnyLogic\n", "\n", "* Download and install the Personal Learning Edition (https://www.anylogic.com/downloads/)\n", "* Download \"AnyLogic in Three Days: Modeling and Simulation Textbook\" (https://www.anylogic.com/resources/books/free-simulation-book-and-modeling-tutorials/)\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "nbpages": { "level": 3, "link": "[3.12.3.3 AnyLogic](https://jckantor.github.io/CBE40455-2020/03.12-Littles-Law-and-other-Odds-and-Ends.html#3.12.3.3-AnyLogic)", "section": "3.12.3.3 AnyLogic" } }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "< [3.11 Batch Chemical Process](https://jckantor.github.io/CBE40455-2020/03.11-Project-Batch-Chemical-Process.html) | [Contents](toc.html) | [7.0 Risk and Diversification](https://jckantor.github.io/CBE40455-2020/07.00-Risk-and-Diversification.html) >

\"Open

\"Download\"" ] } ], "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.7.4" } }, "nbformat": 4, "nbformat_minor": 4 }