Построение модели кпв с использованием языка программирования Wolfram Mathematica - Модель кривой производственных возможностей с расчетом альтернативных издержек (линейный случай для нескольких агентов)

2.1 Код для построения модели

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

При изучении КПВ никак не обойтись без построения ее графика. Однако делать это от руки не всегда удобно и уместно, и к тому же может привести к определенным погрешностям в вычислениях. Для удобства использования модели КПВ и концепции альтернативных издержек стоит использовать достижения современных информационных технологий. В данной курсовой работе мы решили воспользоваться языком программирования Wolfram Mathematica. Этот язык применяется в областях, требующих технических вычислений, что позволяет избежать погрешностей. С его помощью мы написали код, позволяющий построить интерактивную модель КПВ (см. рис.2.1.1).

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

Хотелось бы обратить внимание на основные функции, использованные при написании кода.

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

Plot -- задает графики функций y=(m*(a-b*x)) и y=(n*(c-d*x)). Так как мы рассматриваем линейный случай, то КПВ задается через уравнения прямых. В этих уравнениях переменные m и n отвечают за изменение наклона по оси y (ось товара "Волшебные палочки"), переменные a и c -- за параллельный сдвиг кривых, b и d -- за изменение наклона по оси x ( ось товара "Кольца Всевластия").

код для модели кпв с расчетом альтернативных издержек (линейный случай для двух агентов)

Рис.2.1.1. Код для модели КПВ с расчетом альтернативных издержек (линейный случай для двух агентов)

PlotLegends отвечает за легенду графика, а также задает ее расположение через команду Placed. Через нее мы задаем названия наших агентов.

Функции, начинающиеся с Axes, отвечают за оси: AxesLabel задает названия осей, т. е. в нашем случае, совпадает названиями изготавливаемых продуктов, AxesOrigin задает пересечение осей в точке (0;0), AxesStyle -- задает стиль.

PlotRange -- задает отображаемый диапазон графика, т. е. количество отображаемых значений по оси y.

PlotLabel -- отвечает за название графика.

LabelStyle -- задает стиль названия графика. Для нашего графика, используя командное слово Directive, задаем стиль Bold (делает текст жирным).

ImageSize -- задает размер. В нашем коде эта функция используется дважды. В первом случае она задает размер окошка с графиком, а во втором -- размер движков, изменяющих значения переменных.

ImagePadding - задает отступы (см. рис.2.1.2):

функция imagepadding

Рис.2.1.2. Функция ImagePadding

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

Row - функция, прописывающая заданные данные в виде информационного ряда. В нашем случае записывает изменяющиеся значения альтернативных издержек, например (см. рис.2.1.3):

пример использования функции row

Рис. 2.1.3. Пример использования функции Row

В этом случае первая часть итогового ряда состоит из фразы в кавычках ("Альтернативные издержки изготовления одного кольца Всевластия для Средиземья = "), а вторая часть -- из пересчитываемого значения, заданного через функцию Dynamic. В итоге, при заданных значениях, выводится подобная запись ряда (см. рис.2.1.4):

запись информационного ряда

Рис. 2.1.4. Запись информационного ряда

Рассмотрим подробнее, как заданы переменные, их значения и возможные диапазоны изменений (см. рис.2.1.5).

часть кода, отвечающая за значения переменных

Рис. 2.1.5. Часть кода, отвечающая за значения переменных.

Каждой из переменных отведена отдельная фигурная скобка. После открытия первой фигурной скобки, сразу открывается вторая, в которой последовательно прописывается название переменной, ее изначальное значение (т. е. то значение, которое будет использовано при первоначальном построении графика и вычислениях). Далее в кавычках задается название движка, за который отвечает данная переменная, после закрывается одна из фигурных скобок. Внутри первых фигурных скобок, после того, как закрыты вторые, задается диапазон возможных изменений значения данной переменной, а также размер одного шага. Также мы используем функцию ImageSize, задающую размер движков переменных, которая упоминалась выше, и Appearence, которая задает формат отображения движков.

ControlPlacement - задает расположение движков. В нашем случае было задано Bottom -- снизу, под графиком.

2.2 Интерактивная модель КПВ

В результате длительной и усердной работы, как с учебниками по экономической теории, так и с различными обучающими материалами по Wolfram Mathematica, мы получили код, главное достоинство которого -- его интерактивность. При его запуске с первоначальными значениями переменных, получаем следующий график КПВ и значения альтернативных издержек для этих двух агентов (см. рис.2.2.1):

На приведенном выше рисунке (рис.2.2.1) видно, что в нашем распоряжении имеется шесть движков, каждый из которых соответствует одной из переменных. Таким образом, каждый из движком отвечает за то или иное изменение положения одной из прямых.

Первые три движка способны изменить значения переменных для КПВ Средиземья. Если изменить значение у первого из них, прямая параллельно сдвинется вверх-вправо или вниз-влево (см. рис.2.2.2).

модель кпв с расчетом альтернативных издержек при исходных значениях переменных

Рис. 2.2.1. Модель КПВ с расчетом альтернативных издержек при исходных значениях переменных

Вернем ее в исходное положение и посмотрим, что произойдет с кривой при изменении значений второго и третьего движка (см. рис. 2.2.3 и 2.2.4 соответственно).

параллельный сдвиг кпв средиземья

Рис. 2.2.2. Параллельный сдвиг КПВ Средиземья

Стоит отметить, что в первом случае, когда мы сдвигали КПВ параллельно, альтернативные издержки не менялись, в отличие от второго и третьего случая, в которых мы меняем наклон КПВ Средиземья по каждой из осей. Это связано с тем, что при параллельном переносе, углы наклона прямой оставались прежним и, соответственно, тангенсы углов также не подвергались изменениям. Однако, когда мы передвинули второй и третий движки, углы и, следовательно, их тангенсы, поменялись, что привело к перерасчету и изменению уровня альтернативных издержек.

изменение наклона кпв средиземья по оси y

Рис. 2.2.3. Изменение наклона КПВ Средиземья по оси y

Аналогично все происходит и для КПВ Косого переулка при сдвиге четвертого, пятого и шестого движков (см. рис. 2.2.5 -- 2.2.7).

изменение наклона кпв средиземья по оси x

Рис. 2.2.4. Изменение наклона КПВ Средиземья по оси x

Рис. 2.2.5. Параллельный сдвиг КПВ Косого переулка

Рис. 2.2.6. Изменение наклона КПВ Косого переулка по оси y

изменение наклона кпв косого переулка по оси x

Рис. 2.2.7. Изменение наклона КПВ Косого переулка по оси x

Кроме того, стоит отметить, что, если передвинуть движок в положение, не предусмотренное ограничениями, прописанными в коде, программа просчитает сдвиги на графике, а также проведет все необходимые вычисления, но предупредит о выходе за пределы, пометив соответствующий движок красным (см. рис.2.2.8).

установление значения, выходящего за пределы установленных в коде ограничений

Рис. 2.2.8. Установление значения, выходящего за пределы установленных в коде ограничений.

Вернемся к изначальным значениям переменных (рис.2.2.1).Изначальные значения переменных были таковы, что и абсолютное, и сравнительное преимущества в изготовлении волшебных палочек имел Косой переулок, а в изготовлении колец Всевластия -- Средиземье (рис.2.2.1). Однако, предположим, что в результате влияния некоторых факторов, например, благодаря НТП, ситуация изменилась. Для того, чтобы понять, каким именно образом это повлияло на кривые и альтернативные издержки, достаточно переместить движки под графиком и задать требуемые значения переменным (см. рис.2.2.9).

модель кпв после сдвига движков

Рис. 2.2.9 Модель КПВ после сдвига движков.

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

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

Похожие статьи




Построение модели кпв с использованием языка программирования Wolfram Mathematica - Модель кривой производственных возможностей с расчетом альтернативных издержек (линейный случай для нескольких агентов)

Предыдущая | Следующая