Saturday, April 20, 2013

Планиране на проект с помощта на Закона на Литъл

Въведение


Законът на Литъл работи със средни стойности. Той ни помага да изчислим средното време което една заявка прекарва във системата. Когато изпълняваме проект ние разбиваме на части продукта, който трябва да се достави като резултат от проекта. Ние се интересуваме колко време ще отнеме на системата за да изработи всички части. Точно това е което прави Формулата на Андерсън – тя ни дава зависимостта между средното оперативно време за дадена част и времето за което целият проект ще може да се достави.


Закон на Литъл


Нека си припомним, че за производствени системи Законът на Литъл се записва по малко по-различен начин, а именно:

където WIP (количество незавършена продукция) e складовата наличност между началната и крайната точка на производственият процес; TH (дебит) e средният брой произведени продукти; CT (оперативно време) е средното време между постъпването на една заявка в производството до складирането и като готов продукт или с други думи времето което заявката прекарва като WIP. Този закон е валиден за всяка една система още повече, че може да се приложи и за подсистеми или система в системата. Например в банка, опашката пред касиерите може да е една система, а всеки един от касиерите друга система и Законът на Литъл може да се приложи за всяка една от тях както и към всички заедно. Нарочно използвам TH, WIP и CT за по-лесна ориентация при четене на документи на английски.



Формула на Андерсън


Нека разгледаме следният случай от практиката - планиране на проект. На Фиг.1 имаме две нива на производствената система и съответно две гледни точки (перспективи):

  • • Ниво Проект - проект или работа значима за клиента
  • • Ниво Разработка - компонент или работа значима за екипа. Един пример са сторитата използвани при разработката на софтуер
Проекта ще се достави за времето T. Ние разбиваме доставката на N броя неща за правене или единици работа. Всички те влизат едновременно във Опашка Разработка. Размера на отделните единици работа е без значение. Когато разбиваме проекта ние не вземаме предвид от колко стъпки се се състои процеса на сървъра S2. Важно е да се отбележи, че имаме две опашки - Проект и Разработка. Опашката Проект е с размер N и Опашката Разработка е с размер [0,N]. Сървър S1 може да има оперативно време по-голямо от 0 ако това което прави е да определи коя ще е следващата работа изтеглена от опашката Проект в опашката Разработка.





Фиг.1


Ние можем да получим времето на доставка използвайки формулата:




или ако искаме да разберем колко човека ни трябват за да доставим за определено време:




 Където:

  T              - времето за което проекта ще бъде завършен
  N              - броят единици работа, които трябва да се свършат в интервала [0,T]
      – средното оперативното време на ниво проект или както го вижда клиента
 – средното количеството незавършена работа на ниво проект
 – средното количеството незавършена работа на ниво екип
     – средното оперативното време на ниво екип
     – средният дебит на ниво проект
    – средният дебит на ниво екип


Разбира се THе средната стойност на случайна величина с даден вид разпределение. Ако изходящият поток може да се моделира като Поасонов процес с интензитет THтогава нужното време за N-тата единица работа да излезе от системата се моделира с Гама разпределение Γ(α,β) със a=N и b=1/THt.

Доказателство на Формулата на Андерсън



Прилагаме Законът на Литъл за клиентското ниво:
Прилагаме Законът на Литъл и за производственото ниво:


На Фиг. 1 двете системи – клиентската и производствената са свързани като изхода на производствената се влива в изхода на клиентската. Следователно дебита на клиентската система е равен на дебита на производствената или 
. И в двата случая при пресмятания с помощта на Законът на Литъл трябва да използваме една и съща мерна единица за времето - минути, часове, дни и т.н. Не може да се пресмята когато дебита да е измерен в часове, а пък оперативното време да е в дни. Също така трябва да имаме една мерна единица за работата.









By noting that

Следва:


Също както и:
or



Примери


Оригиналният пример на Дейвид Андерсън


Имаме да доставим голям проект от 2200 единици работа. Клиента иска доставката на целият проект след 10 месеца.Трябва да отговорим на въпросите: Колко ще ни струва доставката на проекта? От колко човека ще се нуждаем?
Тоест имаме N = 2200 единици работа, T=10 месеца = 40 седмици. Ние имаме исторически данни за организацията разработчик които показват, че средното оперативно време за единица работа е 0,4 седмици. Използвайки Формулата на Андерсън (2) имаме:
Организацията разработчик следва правилото за само една единица работа на човек в даден момент следователно ще ни трябват 22 души. Тук приемаме, че опашката Разработка има дължина 0 единици работа. Ако тя има дължина от 2 единици работа то ние ще се нуждаем от 20 човека.
Този резултат трябва да се използва за средната част на Z-кривата, но това е друга тема.


Пример за определяне на датата на доставка


Нека имаме да доставим голям проект от 2200 единици работа. Клиента иска да знае кога ще можем да го доставим. Нямаме опции за добавяне на допълнителен персонал към организацията, която в момента е 22 човека и следователно средното количеството незавършена работа ще ни е 22 единици. Ние имаме исторически данни за организацията разработчик които показват, че средното оперативно време за единица работа е 0,4 седмици. Използвайки Формулата на Андерсън (1) имаме:

Този резултат трябва да се използва за средната част на Z-кривата, но това е друга тема.


Източници:

Little, J. D. C., S. C. Graves. 2008. Little’s Law. D. Chhajed, T. J. Lowe,eds. Building Intuition: Insights from Basic Operations Management Models and Principles. Springer Science + Business Media LLC,New York.

J. D. C. Little. Little's law as viewed on its 50th anniversary. Oper. Res. 59 (2011) 536{539.

No comments: