Вы находитесь на страницах старой версии сайта. Перейдите на новую версию OLAP.ru |
Поиск по сайту | ||||||
Новости | ||||||
Основы OLAP | ||||||
Продукты | ||||||
Business Objects/ Crystal Decisions | ||||||
Каталог | ||||||
OLAP в жизни | ||||||
Тенденции | ||||||
Download | ||||||
| ||||||
Что, если... ? Или экономическое моделирование средствами ORACLE ExpressРУССКОЕ ИЗДАНИЕ ORACLE MAGAZINE - №3(5) 1997г. "Будущее принадлежит тому, кто сможет его
Сергей Архипенков
Одним из основных назначений хранилищ данных является поддержка принятия решений средствами оперативного анализа данных (OLAP), другими словами - повышение эффективности деятельности руководcтва организаций. В связи с этим активно обсуждаются технические вопросы об организации этих хранилищ, однако, интересно взглянуть на хранилища данных с другой стороны, с точки зрения системного аналитика - конечного потребителя новой технологии. Можно утверждать, что любое хранилище и в 10 гигабайт, и в 10 терабайт не поможет нам ответить на ключевой вопрос “что, если... ?” при принятии решения, если мы не будем располагать совокупностью моделей, адекватно отражающих предметную область. Даже когда мы оцениваем тривиальное среднее значение на некотором множестве данных, например, средний доход подразделений компании, то, оперируя с полученным значением, мы априори полагаем (к сожалению, как правило, неосознанно), что низкий доход в одних подразделениях компенсируется более высоким доходом в других. Однако, далеко не всегда такая модель может быть оправдана. Вряд ли кому придет в голову, опираться при принятии решения на оценку средней по палатам температуры больных. Начиная с 60-х годов активное применение в качестве средства анализа сложных экономических систем получила машинная имитация - проведение на ЭВМ экспериментов с математическими моделями, которые описывают поведение сложной системы в течение заданного или формируемого интервала времени. Известно, что многие крупнейшие корпорации США, такие как КСЕРОКС, Сан Ойл, Филадельфия Электроник, ИБМ и другие, эффективно используют разработанные для своих нужд сложные имитационные модели. Вместе с тем, в силу конкуренции, вне этих корпораций о данных моделях, включая классификацию параметров, гипотезы функционирования, результаты расчетов, практически ничего не известно. Адекватная экономическая модель предпринимательской деятельности в условиях рыночной неопределенности позволяет руководящему персоналу фирмы:
Методологические вопросы имитационного моделирования рассмотрены в [1]. В данной статье предлагается рассмотреть возможности семейства программных продуктов ORACLE Express [2,3] в качеств средства экономического моделирования. Основные требования к моделиМногофункциональность. Модель должна позволять проводить имитационные эксперименты в следующих режимах:
Представительность. Полезная модель должна быть достаточно представительной и включать в себя ключевые элементы моделируемой экономической системы: основные компоненты, определяющие факторы, необходимые управления, переменные состояния и взаимосвязи между ними. В общем случае к основным моделируемым компонентам экономической системы можно отнести следующие подмодели:
Моделируемая экономическая единица (фирма или компания) должна иметь возможность определять значения следующих основных управлений:
Основными переменными состояния модели должны быть:
Доступность. Модель должна позволять за приемлемое время освоить технологию моделирования, подготовить и провести имитационные эксперименты. Модель должна иметь интуитивно понятный, дружественный пользовательский интерфейс, позволять использование при задании исходных данных и управлений лексические переменные со значениями типа: “увеличить”, “сильно увеличить”, “максимально увеличить”, “скорее увеличить, чем уменьшить” и т.п. Параметричность. Модель должна обеспечивать задание при проведении имитационных экспериментов достаточного множества параметров и начальных условий моделирующих алгоритмов, необходимых для настройки модели по реально данным. Открытость. Возможность доработки и усовершенствования модели в соответствие с изменением условий деятельности фирмы и выявлением новых определяющих факторов. Описание моделиэкономического моделирования можно, лишь реализовав полномасштабный проект моделирования экономической деятельности фирмы, включающий в себя базу данных от нескольких гигабайт. В нашем случае оценка продукта проводилась в ходе разработки упрощенного макетного варианта, представляющего модификацию экономической модели Management (Avalon Hill Company, Baltimor).
Моделируемые компоненты.Экономическая деятельность фирмы. Деятельность фирмы заключается в ежемесячной закупке сырья на рынке и производстве некоторое продукции на имеющихся фабриках. Фирма может обрабатывать сырье на фабриках двух типов: обычных и автоматизированных. Сырьевой рынок. Ежемесячно на сырьевом рынке объявляется количество предлагаемых единиц сырья (ЕС) и минимальная продажная цена каждой единицы. Каждая фирма представляет на рынок заявку на некоторое количество ЕС и цену (не ниже рыночной минимальной), которую она готова заплатить за каждую единицу. Удовлетворение заявок фирм осуществляется в порядке убывания цен за ЕС, начиная с максимальной. Потребительский рынок. На потребительском рынке ежемесячно объявляется количество закупаемых единиц продукции (ЕП) и максимально возможная закупочная цена. Каждая фирма представляет на рынок заявку на продажу некоторого количества ЕП и цену (не выше рыночной максимальной), за которую она готова продать каждую единицу. Удовлетворение заявок фирм осуществляется в порядке возрастания цен за ЕП, начиная с минимальной. Рынок транспортных услуг. Данный рынок моделируется в виде случайного потока событий - транспортных кризисов. При транспортном кризисе фирма, которую он затронул (предполагается, что фирмы производители находятся в различных географических регионах) не имеет возможности в данном месяце ни продать продукцию, ни закупить сырье. Финансовый рынок. Каждая фирма сроком на один год может получить кредит в банке в объеме 50% стоимости своей недвижимости (имеющихся фабрик) под определенный месячный процент 1%(опция). Новый кредит может быть получен только после полного расчета за предыдущий. Срочная ссуда - кредит на 4 месяца стоимостью 2 х 1% процентов в месяц.
Определяющие факторы.Тенденции общенационального производства. Объемы спроса и предложения на рынках определяются в зависимости от общего состояния национальной экономики (опция), которое может быть на подъеме, стабильным и в состоянии коллапса. Социальные. Моделируются в виде случайного потока событий - забастовок служащих фирмы. Фирма, на которой началась забастовка может прекратить производство на неопределенный срок (в среднем 3 месяцев - опция), или на 10% (опция) увеличить до конца игры производственные расходы. Законодательные. Каждая фирма платит 300 $ за каждую не обработанную в данном месяце ЕС и 500 $ - за каждую наличную не проданную ЕП, 1000 $ за владение каждой обычной фабрикой и 1500 $ - за владение автоматизированной фабрикой. Выплаты производятся независимо от объемов производства (постоянные издержки). Чрезвычайный налог. Те фирмы которых он коснулся, выплачивают в текущем месяце налог, в размере P% (опция) от имеющихся наличных средств. Чрезвычайные происшествия:
Управления.Цена и количество закупаемых в данном месяце ЕC. Цена и количество продаваемых в данном месяце ЕП. Производство. Каждая фирма решает сколько ЕП и на каких фабриках она произведет в данном месяце. Количество производимых ЕП не может превосходить количества наличных ЕС. Обычная фабрика за месяц может переработать одну ЕС при затратах 2000 $ . Автоматизированная фабрика может сделать то же, либо переработать две ЕС при затратах 3000 $ Расширение / снижение производственных мощностей. Каждая фирма может строить фабрики. Строительство обычной фабрики стоит 5 000 $ и длится 5 месяцев. Строительство автоматизированной фабрики стоит 10 000 $ и длится 7 месяцев. Обычную фабрику можно автоматизировать за 7 000 $ реконструкция продолжается 9 месяцев, но все это время фабрика может работать как обычная. Половину стоимости фабрики необходимо оплачивать в начале строительства, а вторую половину - за месяц до начала выпуска продукции. Фирма может также временно закрыть любую из своих фабрик. Начиная со следующего месяца постоянные издержки по закрытой фабрике сократятся вдвое. Закрытую фабрику можно открыть, через два месяца фабрика снова вступит в строй.
Моделирующие алгоритмы.Спрос на готовую продукцию и предложения по продаже сырья моделируются в виде Марковских процессов с пятью (опция) состояниями. Переход рынка из одного состояния в другое определяется в соответствии с матрицей Pnm вероятности перехода из состояния n в состояние m. Кроме того, в конкретном состоянии рынка объемы закупок и продаж, а также минимальная цена ЕС и максимальная цена ЕП определяются в соответствие с состоянием общенациональной экономики (см. выше). Случайные события (забастовки, транспортные кризисы, чрезвычайные налоги и др.) моделируются в виде Пуассоновских потоков однозначно определяемых средним интервалом времени Т (опция) между событиями. Хотя данная модель сильно упрощена и не отражает ни одну реальную отрасль производства, она является достаточно представительной и, путем подбора большого числа параметров (опций), может быть с определенной степенью адекватности подстроена в соответствие с реальными экономическими данными. Конспект реализации модели средствами ORACLE ExpressПервым делом создадим многомерную базу данных:
Ключевым элементом многомерной базы данных являются размерности (dimensions), определяющие пространство, в котором будет происходить изменение переменных модели. Определим главные:
Определим основные переменные (variables) модели, которые в ходе имитации будут изменяться по времени и описывать состояние каждого предпринимателя:
Еще одна вспомогательная иерархическая размерность line позволит наглядно отражать структуру текущих доходов и расходов (рис.3). Она даст нам возможность с необходимым уровнем детализации анализировать как свое финансовое положение, так и положение конкурентов при помощи механизма отношений (relations) и агрегирования данных в Oracle Express.
Текущее финансовое состояние участников будем характеризовать переменной cash:
В соответствие с описанием модели целесообразно ввести еще одну размерность state, по которой будем различать плановые заявки на продажу-покупку сырья и готовой продукции и фактически реализованные сделки:
Текущее состояние рынка будем описывать заявками на продажу сырья и закупку готовой продукции:
Взаимодействие предпринимателей с рынками сырья и готовой продукции будем описывать переменными:
Аналогично вводятся переменные, описывающие заявки предпринимателей на производство, получение кредитов, строительство и реконструкцию фабрик. Константы и параметры(опции) модели задаются в виде обычных безразмерных переменных. Безусловно целесообразно определить вспомогательные размерности quarter (квартал) и year (год) связанные с размерностью month необходимыми отношениями. Введенная иерархия позволит более эффективно анализировать исторические данные. Для облегчения создания и наполнения базы можно использовать Express Administrator (рис.3) Основные компоненты модели хранятся в базе в виде программ:
Реализация перечисленных программ на языке Express не вызывает затруднений. Для иллюстрации изящности многомерных операций приведем программу product_tax:
При этом предполагается, что настройка на текущий шаг выполнена в головной программе step:
Здесь cur_step безразмерная переменная задающая текущий шаг моделирования, а tax.product многомерная переменная, определяющая текущее значение ежемесячной платы за хранение ЕП для каждого участника.
Более сложная задача - написание программы-игрока. Для этого целесообразно использовать Express Objects, визуальную объектно-ориентированной средой разработки, которая поддерживает объектные механизмы и язык программирования Express Basic. Стандартные объекты предоставляют возможность разработчику использовать любые необходимые интерфейсные компоненты MS Windows и всю мощь таблиц и графиков, которые не только отображают многомерную информацию, в удобном для конечного пользователя виде, но и позволяют ему эффективно гибко манипулировать как представлением данных на экране, так и содержанием отображаемой информации (включая в том числе и прогнозирование временных рядов). Это является необходимым условием для их оперативного анализа при принятии управленческого решения. Поэтому главная трудность состояла в написании “болвана” - машинного имитатора игрока и носила чисто алгоритмический, не связанный со средой программирования характер.
Анализ опытаРеализация средствами Oracle Express описанного макетного варианта экономической модели заняла около месяца. Многомерное представление данных позволило легко и естественно описать моделируемое пространство. Язык программирования Express проявил себя как мощное средство манипулирования массивами данных, которое содержит все необходимые конструкции для эффективной реализации моделирующих алгоритмов. Express Objects позволил с минимальными затратами реализовать интерфейс конечного пользователя-игрока (рис.4), а технология клиент/сервер позволяет, не затрагивая базу данных на сервере, наращивать число игроков-клиентов, использующих разные алгоритмы, и проводить их состязания. Гибкость манипулирования представлением данных на экране и содержанием отображаемой информации может быть по достоинству оценена специалистом-аналитиком (рис.5).
Даже такая простая экономическая модель позволила сделать некоторые нетривиальные выводы. Первоначально программа “болван” была реализована по стратегии “добросовестной конкуренции”, которая исходила из того, что каждый участник рынка стремится обеспечить себе максимальную прибыль. При этом, управление осуществлялось по алгоритму “не высовывайся” - в соответствие со среднерыночными показателями фактической цены закупки сырья и продажи готовой продукции. Данный алгоритм хорошо зарекомендовал себя при числе игроков от 5 (олигополия). Однако уже после двух-трех игр в условиях дуполии (два конкурирующих на рынке монополиста) быстро удалось найти (подозреваю, что для специалистов этот результат может быть очевиден) по крайней мере два способа разорения конкурента и монополизации рынка. Первый способ более быстрый, но работает только при “жесткой” конкуренции на рынке готовой продукции, когда число закупаемых ЕП меньше, числа ЕП, находящихся в наличие у игроков. Способ состоит в продаже своей продукции по демпинговым ценам (возможно даже с убытком). Это позволяет заблокировать продажу ЕП конкурентом и заставляет его нести ежемесячные убытки, связанные с постоянными издержками и оплатой хранения готовой продукции. Второй способ несколько более медленный, но позволяет разорить конкурента независимо от текущего состояния рынка. Он состоит в “перекрытии кислорода” - закупке сырья по явно завышенным ценам (также возможно с убытком). Это позволяет остановить у конкурента производство, а следовательно и продажу, готовой продукции, что разоряет его, хотя и медленнее, за счет ежемесячных убытков, связанных с постоянными издержками. Наделение “болвана” способностью распознавать агрессивную стратегию конкурента и адекватно реагировать на нее сделало его более достойным соперником. Разработка нетривиальной экономической модели должна являться плодом серьезных совместных усилий специалистов бизнеса и информационных технологий. Полученный опыт позволяет надеяться, что применение Oracle Expresss позволит эффективно решить данную задачу. Литература.
© 2001 Interface Ltd |