Книга: Видеть лес за деревьями. Системный подход для совершенствования бизнес-модели

Моделирование в ithink

Моделирование в ithink

Программный продукт ithink был разработан специально для моделирования динамики систем и позволяет вам делать следующее:

• рисовать диаграммы запасов и потоков, подходящие к вашей модели;

• указывать вводные значения переменных;

• указывать связи между переменными;

• получать результаты в форме графиков и таблиц.

После того как диаграмма запасов и потоков нарисована и все вводные переменные и связи между ними указаны, модель начинает имитировать поведение системы во времени и выдавать запрошенные результаты.

Первый и самый важный этап в построении модели ithink не требует программного обеспечения, так как он происходит независимо от компьютера. Он включает анализ проблемы и составление диаграммы цикличной причинности, отражающей основные элементы системы. Компьютерное моделирование начинается только после одобрения диаграммы цикличной причинности соответствующей группой.

Таким образом, диаграммы цикличной причинности являются основной спецификацией для модели ithink, но, как уже отмечалось, представление в ithink имеет форму диаграммы запасов и потоков, которая обычно содержит больше переменных.

Главный экран ithink позволяет вам очень легко построить диаграмму запасов и потоков. В программном обеспечении содержатся все основные символы (прямоугольники, трубы с кранами, круги и полукруглые стрелки), которые вы можете перетаскивать на экран по своему желанию. В нем имеются и другие инструменты, например «динамитная шашка», с помощью которой вы можете «взорвать» символы, которые больше не требуются!

Следующий этап после составления диаграммы – указание числовых значений некоторых переменных и всех необходимых связей между ними. Числовых значений требуют следующие переменные:

• начальные значения всех запасов;

• значения всех входных свободных звеньев.

Все прочие переменные будут выражены в виде алгебраических отношений в соответствии со связями, указанными в диаграмме запасов и потоков. Поскольку ithink «знает» эти связи, указать их очень легко.

Позвольте пояснить это на примере очень простой модели роста населения (рис. 11.12).


Население – это запас, следовательно, он требует начального значения, скажем 10 000 человек в конкретном месте на начало 2000 г. Годовой уровень рождаемости показан с помощью входного свободного звена, пусть он составляет 15 родившихся на 1000 человек в год. Годовой уровень смертности также показан с помощью входного свободного звена и составляет, скажем, 12 умерших на 1000 человек в год. Количество родившихся и умерших в год рассчитывается следующим образом:

Количество родившихся в год = население ? годовой уровень рождаемости / 1000;

Количество умерших в год = население ? годовой уровень смертности / 1000.

В ithink вводимые значения данных и алгебраические выражения сводятся вместе на «экране равенств», который находится «позади» диаграммы запасов и потоков. Для данной модели населения экран равенств выглядит следующим образом:


Первая строчка выглядит самой загадочной, но в действительности все просто. В ней определяется, как рассчитывается запас население: население в конце текущего периода времени (t), скажем в конце 2005 г., равняется населению в конце предыдущего периода (t – dt), скажем 2004 г. Это значение, конечно, такое же, как в начале текущего периода, плюс разница между притоком и оттоком (количество родившихся в год – количество умерших в год) в течение текущего периода dt, скажем календарного 2005 г.

Бухгалтеры узнают здесь знакомый рецепт: сальдо на конец периода равен сальдо на начало периода плюс сальдо движения за период. Математики увидят разностное уравнение. Те из нас, кто доверяет здравому смыслу, оценят тот факт, что количество воды, которое наберется в ванну за пять минут, будет равно количеству, которое есть в ней сейчас, плюс то, что притечет в течение следующих пяти минут, минус то, что вытечет.

Следующая линия указывает начальное значение населения (10 000 человек на начало 2000 г.), а следующие две определяют, как рассчитывается количество родившихся и умерших в год. И наконец, две последние линии указывают значения для годового уровня рождаемости (15 родившихся на 1000 человек в год) и смертности (12 умерших на 1000 человек в год), которые будут применяться во всей модели.

Модель работает по алгоритму, указанному этими равенствами для каждого года. Учитывая значение населения в начале 2000 г., модель сначала рассчитывает потоки за календарный 2000 г., всего 150 родившихся и 120 умерших. В 2000 г. чистый рост населения (количество родившихся в год – количество умерших в год) равен 30, и количество населения в конце 2000 г. рассчитывается в соответствии с равенством, указанным в первой строчке, как 10 000 + (150–120) ? 1 = 10 030. Это число становится начальным значением на начало следующего, 2001 г., тот же процесс происходит в 2001 г. и т. д., в каждом году.

Все эти расчеты производятся автоматически. После того как вы ввели данные и соответствующее равенство (обычно это очень легко), модель работает сама, и вам не нужно возвращаться к равенству. Равенства вводятся только один раз, их не надо копировать, как в электронных таблицах: повторение во времени встроено в программу.

Но самое интересное – это, конечно, результат работы модели, который для периода в 50 лет выглядит так, как показано на рис. 11.13. Экспоненциальный рост, маскирующийся под линейный!

Предположим, что вы антрополог, изучающий население нескольких островов в Тихом океане. Построив эту модель для одного острова, вы захотите использовать ее для других, имеющих другое начальное население и другой годовой уровень рождаемости и смертности. Как было бы удобно, если бы была возможность ввести эти основные данные!


И она есть. Она называется «контрольной панелью», которая в данном случае выглядит как на рис. 11.14. На нем показан снимок экрана, где вы видите ручку и два «ползунка». Ручка с надписью начальное население используется для выставления начального уровня населения и в данный момент установлена на отметке 10 000. С помощью двух «ползунков» устанавливается годовой уровень рождаемости и смертности. Сейчас на них установлены значения 15 родившихся на 1000 человек в год и 12 умерших на 1000 человек в год.


Если вы отправляетесь на соседний остров и хотите использовать ту же модель, но с другими значениями, все, что вам нужно сделать, – это с помощью курсора повернуть ручку и сдвинуть «ползунки», например, в положения, как на рис. 11.15.


Когда вы изменяете значения с помощью ручки или «ползунков», на контрольной панели появляется буква U, которая напоминает, что текущее значение отличается от начального. Если вы щелкнете на U, начальные настройки восстановятся. На соседнем острове больше начальное население (10 500), но оно хуже питается. Годовой уровень рождаемости составляет 13,5 на 1000 человек в год, а годовой уровень смертности – 12,5 на 1000 человек в год. Если вы сейчас запустите модель, она будет использовать новые настройки и покажет вам прогнозы населения для двух островов в сравнении (рис. 11.16).

Этот график показывает, что если годовой уровень рождаемости и смертности на этих двух островах будет постоянным, то население первого острова превысит население второго через 25 лет.

А что, если годовой уровень рождаемости и смертности не будет постоянным все это время? Предположим, что на втором острове будет проводиться программа по улучшению питания, в результате чего повысится годовой уровень рождаемости и понизится годовой уровень смертности.


В этом случае годовые уровни рождаемости и смертности на втором острове уже не будут постоянными и начнут со временем меняться. На этот случай в ithink предусмотрена возможность ввода данных графическим способом, прямо на экран, и рисования курсором требуемой линии графика. Предположим, вы считаете, что эффективность программы питания изменит годовой уровень рождаемости и смертности, как на рис. 11.17 и 11.18.



Модель использует эти графики, чтобы определять годовой уровеньрождаемости и смертности для каждого года, и применяет их соответственно. На рис. 11.19 показан результат.


Контрольная панель тоже будет отличаться, потому что «ползунки» для годового уровня рождаемости и смертности заменены на введенные графики (рис. 11.20).


Эти введенные графики представляют особый взгляд на то, как, вероятно, будет меняться со временем годовой уровень рождаемости и смертности. Единственные данные, которые можно проверить, – это два известных уровня для 2000 г., а все остальное – гипотезы. У разных людей, конечно, будут разные мнения, разные ментальные модели. Кто-то может подумать, что с повышением качества питания молодые женщины станут здоровее, и годовой уровень рождаемости повысится быстрее. Другие решат, что самым быстрым результатом воздействия программы питания станет понижение годового уровня смертности. В действительности мы можем лишь строить предположения о том, что может произойти через 25 лет, не говоря уже о 50.

Среди этих мнений нет «правильных» или «неправильных», они просто разные. Позволяя ввести данные в виде графика, ithink облегчает их изменение для исследования результатов различных предположений, мнений, ментальных моделей. Таким образом, системная динамика обеспечивает мощную лабораторию, где можно провести испытания принимаемых решений, прежде чем реализовывать их. Подобно тому как летчики тренируются на пилотажных тренажерах, а бухгалтеры готовят в поддержку каждой инвестиции различные таблицы анализа, любой мудрый руководитель должен иметь модель системной динамики своего бизнеса.

Этот пример очень прост и не имеет непосредственного отношения к бизнесу, но он демонстрирует все основные элементы моделирования системной динамики. Реальные модели, конечно, больше и сложнее, но в их основе лежат элементы, о которых вы уже прочитали. Все это обобщено ниже.

Моделирование системной динамики вкратце

Все переменные можно выразить в виде запасов, которые накапливаются со временем, или потоков, которые увеличивают или уменьшают соответствующие запасы.

Реальные системы являются взаимосвязанными сетями запасов и потоков, представленными с помощью диаграмм запасов и потоков.

Диаграммы запасов и потоков всегда согласуются с соответствующими диаграммами цикличной причинности, но обычно содержат больше переменных и используют более конкретные слова и выражения.

Программное обеспечение для моделирования ithink работает на трех уровнях. Главный уровень – уровень диаграмм, демонстрирующий диаграммы запасов и потоков интересующей нас системы. «Позади» диаграммы находится уровень равенств, на котором указываются все правила расчетов, требуемые для моделирования. «Над» диаграммой находится контрольная панель, которая позволяет определять и менять значения вводимых переменных с помощью удобных в использовании ручек и «ползунков».

Еще одно полезное свойство этой программы – возможность определять переменные в виде графиков, что позволяет вам, например, отобразить ваше представление о том, как будет вести себя вводимая переменная со временем. Большинство реальных проблем включает ряд переменных, действительно меняющихся со временем, и вы не знаете алгебраических равенств для них. Это не страшно. Мысленно вы можете представить, каким, возможно, будет это поведение, пойдет переменная вверх или вниз, резко или плавно, выровняется или будет продолжать расти либо падать. Это ваш мысленный график; ментальная модель и ваше мнение о том, как он будет себя вести, определяют ваши решения и действия. Моделирование системной динамики позволяет вам явно отобразить эти «нечеткие переменные» и исследовать последствия альтернативных действий. И это помогает выбрать разумную политику и договориться о разумных действиях.

Оглавление книги


Генерация: 1.273. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз