2. КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ
Пусть имеется торговая фирма, реализующая некоторый товар на рынке.
Спрос на товар на Т-м отрезке времени линейно зависит от текущей цены РТ и случайной переменной UТ, учитывающей влияние случайных факторов на величину спроса. Переменная UT имеет нормальное распределение с нулевым математическим ожиданием Мu и заданным СКО - σu. Таким образом, зависимость для спроса на товар имеет следующий вид:
DT = A - B*PT + UT.
Предложение на Т-м отрезке времени рассчитывается с учетом обучения системы. Поэтому оно зависит от цены на предыдущих (Т-1)-м и (Т-2)-м отрезках времени и случайной переменной VT, которая учитывает влияние случайных факторов на величину предложения. Переменная VT имеет нормальное распределение с нулевым математическим ожиданием Mv и заданным СКО σv. Таким образом, зависимости для предложения имеют следующий вид:
SТ=С+Е*Р()+VT,
Р()= РТ-1 – (РТ-1 – РТ-2),
где – весовой коэффициент, задаваемый в диапазоне (0<=<=1).
Условие локального равновесия рынка означает совпадение спроса и предложения с точностью до случайной величины WТ. Предполагается, что переменная WT имеет нормальное распределение с нулевым математическим ожиданием Мw и заданным СКО σw. Зависимость, учитывающая равновесие рынка, имеет вид:
ST = DT + WT. | (6) |
Подставляя выражения для DT , P(p) и ST в (6) и разрешая уравнение относительно РT, получаем:
PT= [A - C - E*[ PT-1 – *( PT-1 – PT-2 )] + UT – VT + WT] / B | (7) |
Поскольку для определения величины РT необходимо знать значения РT-1 и РТ-2 для двух предыдущих отрезков времени, то проводить расчеты по формуле (7) можно только, начиная с 3-го отрезка, при условии, что Р1 и Р2 известны.
Для их нахождения сделаем дополнительное допущение о том, что на первых двух отрезках обучение отсутствует, т. е. весовой коэффициент = 0. Без учета случайностей цена на 2-м отрезке определится по формуле
Р2 = (А - С - Е * Р1) / В. | (8) |
Если предположить, что перед началом работы фирмы исходная цена совпадает с ценой на 1-м отрезке, то величина P1 определится по формуле
Р1 = (А – С) / (В + Е). | (9) |
Задача моделирования заключается в исследовании влияния параметров системы на характер зависимости цены от времени.
3. СХЕМЫ АЛГОРИТМОВ МОДЕЛИ
В качестве языка программирования для разработки компьютерной модели рассматриваемого процесса можно выбрать Visual Basic. Один из возможных вариантов общего вида (макета) стартовой формы состоит из 8 текстовых полей для ввода и корректировки исходных данных (параметров А, В, С, Е, Ro, SigU, SigV и SigW) в верхней части окна. В нижней части окна располагаются три командные кнопки. Кнопка "Расчет" предназначена для проведения расчетов. Кнопка "График" служит для построения в центральной части окна графика зависимости цены от времени. Кнопка "Выход" используется при окончании работы с программой.
Схема алгоритма процедур обработки прерываний показана на рис. 1. После подачи команды Start на экране появляется активная стартовая форма. С этого момента программа находится в режиме ожидания действий пользователя.
Рисунок1
Цифрой 1 на схеме обозначено действие пользователя, которое заключается в корректировке исходных данных. Измененные данные заносятся в соответствующие текстовые поля. При этом они фиксируются в памяти не как числа, а как значения символьных переменных. Цифрой 2 на схеме обозначено действие пользователя, которое заключается в нажатии командной кнопки "Расчет". В результате вызывается одна из так называемых процедур прерываний. Внутри этой процедуры оператор 3 производит преобразование символьных данных в числовые.
Затем оператор 4 обращается к программному модулю общего назначения "Model 1", который производит расчет массива значений цен как функций времени. После окончания работы программного модуля оператор 5 делает кнопку "Расчет" неактивной, а оператор 6 активизирует кнопку "График". Одновременно производится очистка части стартовой формы, которая отведена для построения графика.
Цифрой 7 на схеме обозначено действие пользователя, которое заключается в нажатии кнопки "График" (если она активна). В результате группа операторов 8 обеспечивает построение в центре стартовой формы графика зависимости текущей цены на продукт от времени. Затем оператор 9 делает кнопку "График" неактивной, а оператор 10 вновь активизирует кнопку "Расчет".
Числом 11 на схеме обозначено действие пользователя, которое заключается в нажатии кнопки "Выход". В этом случае работа программы заканчивается.
Схема алгоритма модуля "Model 1" показана на рис. 2.
4
1
5
2
3
6
Рис. 2. Схема алгоритма модуля "Modell"
Внутри этого модуля группа операторов 1 определяет цены для 1-го и 2-го отрезков времени по формулам (8) и (9). Оператор 2 является началом циклического перебора временных отрезков, начиная с 3-го и заканчивая последним ТК-М
Группа операторов 3 вырабатывает три возможных значения эталонной (нормированной и центрированной) случайной величины ή с нормальным распределением, которые используются группой операторов 4 для расчета возможных значений случайных переменных UT, VT, WT с заданными СКО.
Оператор 5 осуществляет расчет выходной переменной РТ по формуле (7), Оператор 6 подготавливает новые значения переменных РТ-1 и РТ-2 для расчета РТ на следующем временном отрезке (следующем витке цикла).
4. ПРИМЕР РЕШЕНИЯ ЗАДАЧИМОДЕЛИРОВАНИЯ
Примем следующие входные данные:
TK = 30; A = 10; В =5; С = 3; = 0.2; σu = 0.1; σv== 0.1; σw = 0.1; Мu = 0; Mv = 0; Мw. =0,
Для варьируемой переменной Е выберем значения: 4; 5; 5,5. Результаты моделирования представлены графиком:
Рис.6. Зависимость цены от времени при Е=6 и В = 5
Анализ результатов моделирования показывает, что зависимость цены товара Р от времени имеет колебательный характер и зависит от соотношения параметров Е и В.
Если Е < В, то колебания незначительны, если Е = B, то колебания имеют постоянную амплитуду, а если Е > В, то амплитуда колебаний имеет тенденцию к безграничному возрастанию. Однако по физическим соображениям цена не может быть отрицательной, С учетом этого ограничения возрастание амплитуды происходит до тех пор, пока не начнут появляться нулевые значения цены. После этого колебания стабилизируются.
5. ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
Для рассматриваемой модели целесообразно совместить табличное представление исходных данных с графическим представлением результатов расчетов.
Задание
Создайте программу для "Паутинообразной модели фирмы".
Произведите проверку программы расчетом. Подставьте те же исходные данные, которые были выбраны в приведенном выше примере. Убедитесь в том, что результаты расчетов практически совпадают.
Произведите самостоятельное исследование закономерностей функционирования фирмы с помощью алгоритмической модели. Самостоятельно выберите исходные данные, проведите расчеты и проанализируйте результаты моделирования.
ПРОГРАММА "ПАУТИНООБРАЗНОЙ" МОДЕЛИ НА ЯЗЫКЕ VISUAL BASIC 5.0 и выше.
Таблица свойств
Объект | Свойства | Установки |
Форма | Name Caption | frmForm 1 Паутинообразная модель |
Метка 1 | Name Caption | IbllnputDat Измените исходные данные и нажмите кнопку <Расчет> |
Командная кнопка 1 | Name Caption | cmdRashet Расчет |
Командная кнопка 2 | Name Caption Enabled | CmdGrafic График False |
Командная кнопка 3 | Name Caption | CmdExit Выход |
Процедуры обработки прерываний
Private Sub cmdExit_Click()
End
End Sub
Private Sub cmdGrafic_Click()
Line (600, 3500)-(6600, 3500)
Line (600, 3500)-(600, 1500)
My = 1000
X1 = 600: Y1 = 3500 - P(1) * My
Dx = 100
S = 0: For j = 1 To Tk: S = S + P(j): Next
Pcp = S / Tk
CurrentX = 500: CurrentY = 1500: Print "P"
CurrentX = 6500: CurrentY = 3500: Print "T"
CurrentX = 650: CurrentY = 3300 - Pcp * My
Print "Pcp"
Xk = 600 + Tk * Dx: Ycp = 3500 - Pcp * My
'Form1.ForeColor = 98765
Line (X1, Ycp)-(Xk, Ycp)
For j = 1 To Tk - 1
X2 = X1 + Dx: Y2 = 3500 - P(j) * My
Line (X1, Y1)-(X2, Y2)
X1 = X2: Y1 = Y2
Next j
End Sub
Private Sub cmdRashet_Click()
A = Val(Text1): B = Val(Text2): C = Val(Text3)
E = Val(Text4): Ro = Val(Text5): Su = Val(Text6)
Sv = Val(Text7): Sw = Val(Text8)
Mu = 0: Mv = 0: Mw = 0
Call Model1
Cls
End Sub
Private Sub Form_Load()
frmForm.Show: Cls
End Sub
Модуль общего назначения Model1
Public Const Tk = 30
Public P(Tk) As Single
Public T As Integer, i As Integer, j As Integer
Public A, B, C, E, Ro, Su, Sv, Sw, Mu, Mv, Mw, Et
Public Sub Model1()
P(l) = (A - C) / (B + E)
P(2) = (A - C) / B - E / B * P(1)
For T = 3 To Tk
For j = 1 To 3
Et = 0
For i = 1 To 12
Et = Et + Rnd
Next
If j = 1 Then Ut = Mu + (Et - 6) * Su
If j = 2 Then Vt = Mv + (Et - 6) * Sv
If j = 3 Then Wt = Mw + (Et - 6) * Sw
Next
DP = P(T - 1) - P(T - 2)
P(T) = (A - C - E * (P(T - 1) - Ro * DP) + Ut + Wt - Vt) / B
If P(T) < 0 Then P(T) = 0
P(T - 2) = P(T - 1): P(T - 1) = P(T)
Next
End Sub
... моделей. Дискретные модели вида (4) представляют интерес потому, что в них более последовательно, чем в непрерывных, отражаются процедуры принятия решений. Паутинообразная модель с запаздыванием спроса Концептуальная модель любого процесса динамики цен включает взаимодействие трех подсистем, которые можно условно назвать “товаропроизводитель”, “потребитель” и “рынок” (рис.2). Паутинообразная ...
... модель при переменных параметрах роста населения, изменениях технического прогресса, а значит капиталовооруженности труда и изменениях нормы сбережений. Из неоклассической модели Солоу следует, что в условиях совершенной конкуренции при любой норме сбережений рыночная экономика тяготеет к сбалансированному росту, при котором национальный доход и капитал увеличиваются с темпом, равным темпу роста ...
... значение критерия . Табличное значение критерия при надежности Р=0,95 и степенях свободы k1 = 1, k2 = n – 2 = 9 равняется 5,12, поскольку наблюдаемое значение больше критического, то эта линейная модель является адекватной. Используя t-статистику, с надежностью Р=0,95 оценим значимость коэффициента корреляции. Вычислим наблюдаемое значение t-статистики . Табличное значение -критерия ...
... графиков невозможно. В связи с этим для пользователя удобнее, если пакет реализуется как пакет, работающий в режиме диалогового сопровождения. 2.3 Построение модели предметной области При решении задачи определения макроэкономических показателей в пакете используется определенная совокупность данных и связей между ними, или модель предметной области (МПО). В этой совокупности можно выделить ...
0 комментариев