ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ РЯЗАНСКИЙ ГОСУДАРСТВЕННЫЙ РАДИОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ С.А. НЕЛЮХИН ПРИМЕНЕНИЕ ПАКЕТА MAPLE К РЕШЕНИЮ ЭКОНОМИКО-МАТЕМАТИЧЕСКИХ ЗАДАЧ Рязань 2010 Федеральное агентство по образованию Рязанский государственный радиотехнический университет С.А. НЕЛЮХИН ПРИМЕНЕНИЕ ПАКЕТА MAPLE К РЕШЕНИЮ ЭКОНОМИКО-МАТЕМАТИЧЕСКИХ ЗАДАЧ УЧЕБНОЕ ПОСОБИЕ Рязань 2010 1 УДК 51-7 Применение пакета Maple к решению экономико-математических задач: учеб. пособие / С.А. Нелюхин; Рязан. гос. радиотехн. ун-т. – Рязань, 2010.- 98 с. Содержит теоретические сведения о некоторых экономико- математических моделях. Дается краткое описание математического пакета Maple, его применение к исследованию экономико-математических моделей. Предназначено студентам дневного отделения экономических специаль- ностей. Табл. 15. Ил. 24. Библиогр.: 13 назв. Maple, экономико-математические модели, модель межотраслевого ба- ланса Леонтьева, модель Леонтьева ограниченных трудовых ресурсов, модель поведения потребителя, функции полезности, функции спроса, уравнение Слуцкого, модель поведения производителя, производственные функции, функции спроса на ресурсы, моделирование рыночного равновесия, дискрет- ные паутинообразные модели с запаздыванием спроса и с запаздыванием предложения Печатается по решению редакционно-издательского совета Рязанского государственного радиотехнического университета. Рецензент: кафедра эконометрики и математического моделирования РГРТУ (зав. кафедрой проф. Е.П. Чураков) Н е л ю х и н Сергей Александрович Применение пакета Maple к решению экономико-математических задач Редактор М.Е. Цветкова Корректор С.В. Макушина Подписано в печать 05.10.10 Формат бумаги 60х84 1/16. Бумага газетная. Печать трафаретная. Усл. печ. л. 5,0. Тираж 50 экз. Заказ Рязанский государственный радиотехнический университет. 390005, Рязань, ул. Гагарина, 59/1. Редакционно-издательский центр РГРТУ. © Рязанский государственный радиотехнический университет, 2010 2 Оглавление Введение 4 Глава 1. Применение пакета Maple к решению математических задач 6 § 1. Математическая система Maple: основные принципы работы 6 § 2. Применение Maple к решению задач математического анализа 10 2.1. Дифференциальное исчисление функции одной переменной 11 2.2. Дифференциальное исчисление функции многих переменных 13 § 3. Описание пакета LinearAlgebra 18 § 4. Описание пакета Optimization 21 § 5. Описание пакета simplex 24 Глава 2. Исследование экономико-математических моделей средствами Maple 28 § 6. Матричные балансовые модели макроэкономики 28 6.1. Статическая модель межотраслевого баланса В.В. Леонтьева 28 6.2. Определение запаса продуктивности матрицы 32 6.3. Статическая модель Леонтьева трудовых ресурсов 33 § 7. Моделирование поведения потребителя 37 7.1. Модель потребительского выбора. Функции полезности 37 7.2. Аналитические однофакторные модели спроса. Предельные параметры модели потребительского выбора 40 7.3. Аналитическая многофакторная модель спроса 46 7.4. Уравнение Слуцкого 49 7.5. Построение функции спроса с помощью коэффициента эластич- 56 ности. Логистические кривые § 8. Моделирование поведения производителя 62 8.1. Производственные функции, их основные характеристики 62 8.2. Двухфакторные оптимизационные модели микроэкономики. Максимизация прибыли от производства одного вида продукции 67 8.3. Поведение производителя при изменении цен на ресурсы и выпуск продукции 72 8.4. Минимизация издержек при постоянном уровне выпуска 74 § 9. Моделирование рыночного равновесия 76 9.1. Понятие о рыночном равновесии 76 9.2. Дискретные паутинообразные модели с запаздыванием спроса 77 и с запаздыванием предложения Глава 3. Лабораторный практикум по экономико-математическим моделям 86 Задание 1. Матричные балансовые модели макроэкономики 86 Задание 2. Матричные балансовые модели макроэкономики 87 Задание 3. Линейная модель международной торговли 89 Задание 4. Моделирование поведения потребителя 91 Задание 5. Построение функции спроса с помощью коэффициента эластичности. Логистические кривые 93 Задание 6. Моделирование поведения производителя 94 Задание 7. Моделирование рыночного равновесия 96 Библиографический список 98 3 Введение Для современного уровня развития экономической теории характерно ши- рокое использование метода моделирования. При исследовании сложных эко- номических систем возникают ситуации, когда невозможно непосредственно получить знание о них или прогнозировать их поведение в будущем из-за сложности или отсутствия полной теории. В этом случае в процессе исследова- ния систему (оригинал) можно заменить определенным объектом, сходным с оригиналом по поведению или описанию (моделью). Вообще, математической моделью называют приближенное описание ка- кого-либо класса явлений внешнего мира, выраженное с помощью математиче- ской символики. Оперируя с моделью, исследователь получает новые знания, которые переносятся на оригинал. Все современные экономические теории – это модели функционирования экономических систем. Процесс моделирования состоит из четырех этапов. На первом этапе исследователь конструирует другой объект – модель ис- ходного оригинала, отображающую наиболее существенные черты последнего. На втором этапе процесса моделирования модель выступает как самостоя- тельный объект исследования. Основным вопросом на этом этапе является ре- шение так называемой прямой задачи, то есть получение в результате анализа модели выходных данных для их дальнейшего сопоставления с результатами наблюдений изучаемого явления или процесса. Одной из форм такого исследо- вания является проведение модельных экспериментов с помощью ЭВМ, при которых целенаправленно изменяются условия функционирования модели и систематизируются результаты ее поведения. Конечным результатом этапа яв- ляется совокупность теоретических знаний о модели в отношении выделенных существенных сторон объекта-оригинала. Третий этап заключается в выяснении того, удовлетворяет ли принятая мо- дель критерию практики, то есть согласуются ли результаты наблюдений с теоретическими знаниями о модели в предлагаемой точности наблюдений. Ес- ли модель не удовлетворяет критерию практики, то ее нельзя применять к ис- следованию объекта-оригинала, требуется коррекция модели. Если модель удовлетворяет критерию практики, то далее осуществляется перенос знаний с модели на оригинал и переход с языка модели на язык оригинала. Полученные знания используются как для построения обобщающей теории реального объ- екта, так и для управления им. Четвертый этап состоит в последующем анализе и модернизации модели в связи с накоплением новых данных об изучаемом объекте. В экономическом анализе сформировался четко выраженный круг средств для моделирования. Во главе стоит мощный аппарат современной математики, с помощью которого можно обрабатывать экспериментальные зависимости, решать экстремальные задачи прикладного характера (математического про- граммирования, теории массового обслуживания и т.д). Существенным моментом задач прикладной математики является то, что они имеют большую размерность, и решение реальных задач возможно только лишь с помощью ЭВМ и специализированных программ. Появился новый ме- 4 тод моделирования – имитационное моделирование, который базируется на прямом воспроизведении исходной системы программными средствами с ис- кусственной имитацией параметров, от которых зависит система. Развитие вычислительной техники и программирования дало возможность создать специализированные системы компьютерной математики, которые объединяют в себе свойства редактора текстов, языков программирования, имеют большое количество встроенных математических функций и методов решения основных задач математики. К таким системам относятся MathCad, Mathematica, MatLab, Maple. Значительным достижением является то, что не- которые из них способны выполнять достаточно сложные аналитические и символьные вычисления. Наиболее мощными возможностями в этом направле- нии обладает пакет символьной математики Maple (версии 10–12). Это позво- лило применить данный пакет для исследования экономико-математических моделей. Пособие разделено на две главы. В первой главе описываются основные возможности пакета Maple приме- нительно к решению математических задач. Более подробно рассматриваются специализированные пакеты LinearAlgebra, Optimization, simplex, на исполь- зовании которых основаны экономико-математические модели главы 2. Во второй главе рассмотрены матричные балансовые модели макроэконо- мики (статическая модель межотраслевого баланса Леонтьева, модель ограни- ченных трудовых ресурсов) и микроэкономические модели (модель потребите- ля, модель производителя, модели рыночного равновесия). Для каждой рас- сматриваемой модели сначала дается подробное теоретическое описание, после чего в среде Maple проводится ее исследование. 5 Глава 1. Применение пакета Maple к решению математических задач § 1. Математическая система Maple: основные принципы работы Система Maple (разработана канадской компанией Waterloo Maple Software) на сегодняшнее время является одной из ведущих вычислительных систем компьютерной математики (наряду с MathCad, MathLab, Mathematica). По сути, Maple – это не просто математическая программа, а целый комплекс так называемых пакетов (packages), каждый из которых на- правлен на решение различных задач линейной алгебры, аналитической гео- метрии, математического анализа, дифференциальных уравнений, математиче- ской статистики, линейного и нелинейного программирования и т.д. Maple традиционно считают системой аналитико-символьных вычислений (в отличие от нее MathCad – в основном программа для численных расчетов). Это означает, что система в большинстве случаев выдает ответ на решение за- дачи в самом общем – символьном виде. Maple одна из самых надежных и дос- товерных систем компьютерной математики. Надежных – в смысле высокой достоверности и точности полученных результатов при самых сложных сим- вольных вычислениях. Особенно эффективно использование Maple при обучении математике. Высочайший «интеллект» этой системы символьной математики объединяется в ней с мощными средствами математического численного моделирования и возможностями графической визуализации решений. Maple – интегрированная система. Она объединяет в себе: мощный язык программирования, основанный на языке С++ (он же язык для интерактивного общения с системой); редактор для подготовки и редактирования документов и программ; современный многооконный пользовательский интерфейс с возможно- стью работы в диалоговом режиме; мощную справочную систему [меню Help, вкладки Introduction (общая справочная система), Topic Search… (поиск справки по какому-то опре- деленному разделу или команде), Glossary (глоссарий)]; ядро алгоритмов и правил символьных и аналитических преобразований математических выражений; численный и символьный процессоры; систему диагностики ошибок при вычислениях и преобразованиях; библиотеки встроенных и дополнительных процедур и функций; пакеты (packages) внешних функций для решения различного рода задач и поддержи других языков программирования и программ. Рассмотрим кратко основные принципы работы в Maple. Более подробную информацию можно взять в [1, 9, 12, 13], а также на многочисленных сайтах, посвященных этой системе. Основой для работы с символьными преобразованиями в Maple является ядро системы. Оно содержит сотни базовых функций и алгоритмов численных 6 и символьных преобразований. В ядре имеются также библиотека операторов, команд и специально подключаемые пакеты (packages). При первоначальном запуске появляется рабочее окно программы Maple (см. рис. 1.1). Рис. 1.1. В некоторых новых версиях программы оно может несколько отличаться от этого (в данном пособии речь идет о версии Maple 12, большинство примеров и описаний идут корректно на версиях Maple 10 и Maple 11). Рабочее окно про- граммы состоит из следующих элементов: 1) основного (главного) меню (вкладки File, Edit, View, Insert, Format, Spreadsheet, Window, Help); 2) панели главных инструментов; 3) контекстной панели инструментов; 4) рабочей области (окно ввода и редактирования документов). Рабочий лист (worksheet) среды является основным документом, в котором вводятся команды пользователя и в который выдаются результаты работы. В рабочем листе Maple выделяются области ввода и области вывода. В области ввода пользователем вводятся команды (более подробное описание ви- дов команд смотри далее), а также комментарии и текстовая информация. В по- лях вывода отображаются результаты выполнения введенных команд, включая сообщения об ошибках и графика. Комментарии и текстовая информация ядром Maple не обрабатываются и предназначены только для разработчиков и поль- зователей программ. Основной режим работы системы Maple – командно-диалоговый режим. Это означает, что пользователь на запрос системы [ > должен ввести команды, понятные процессору Maple. Признаком окончания ввода команды служит символ точка с запятой (;) (результат действия процес- 7 сора и вычисления будет выведен на экран) или символ двоеточие (:) (вычисле- ния не будут выведены на экран, данный символ используется как знак разде- лителя при записи некоторых команд в одной строке). Область ввода и соответствующая ей область вывода называются группой вычислений. На рабочем листе она отмечается квадратной скобкой слева. В группе вычислений может содержаться несколько областей ввода и вывода: все команды и операторы в областях ввода одной группы вычислений обрабатыва- ются системой за одно обращение по нажатию клавиши <Enter>. Maple имеет следующие основные виды команд: 1) оператор присваивания. Имеет следующий синтаксис (правило описа- ния): [ > имя_переменной:=значение[;\:] Например, [ > x:=3; v:=vector([1,2,3]); f(y):=sin(ln(y)); x := 3 v := [1, 2, 3] f(y) := sin(ln(y)) 2) вызов процедуры или функции. Имеет следующий синтаксис: [> имя_процедуры(список параметров)[;\:] или [> имя_переменной:=имя_функции(список параметров)[;\:] В следующих строках определены функция f xtgx, дробно- рациональная функция hx, процедуры интегрирования функции f x, диф- ференцирования hx и функция упрощения производной от hx: [ > restart; f(x):=tan(x); g(x):=int(f(x),x); f(x) := tan(x) g(x) := ln(cos(x)) [ > h(x):=(x+2)/(x-2); diff(h(x),x); R:=simplify(diff(h(x),x)); x2 h(x) := x2 1 x2 x2 (x2)2 4 R := (x2)2 Приведем описание некоторых встроенных функций элементарных преоб- разований, которые нам потребуются в дальнейшем: restart – “обнуление” значений всех переменных, отмена подключен- ных пакетов и т.д. (рекомендуется использовать в качестве первой команды ра- бочего листа); evalf – преобразования числа в число с плавающей точкой (перевод точ- ного числа в приближенное). Имеет следующий синтаксис: [> evalf(<выражение>, <кол_цифр>); [> evalf[<кол_цифр>](<выражение>); Здесь параметры: 8 <выражение> – выражение, в котором все числа требуется привести к виду чи- сел с плавающей точкой; <кол_цифр> – целое число, указывающее количество значащих цифр для вы- числений (необязательный параметр); Digits – глобальная переменная пакета Maple, значение которой (по умолчанию оно равно 10) показывает количество значащих цифр, выводимых на экран; % (символ процента) – вывод результата выполнения предыдущей опера- ции; %% – вывод результата выполнения “предпредыдущей” операции; # (символ решетка) – использование комментария в программе; simplify – упростить выражение. Имеет следующий синтаксис: [> simplify(<выражение>); С полным списком функций, входящих в ядро Maple, и их обозначениями можно познакомиться, набрав команду inifcn, выделить ее мышкой и нажать кнопку <F1>; 3) подключение специальных пакетов Maple. Подключение пакета осуще- ствляется следующим образом: [> with(имя_пакета)[;\:] Например, с помощью следующих команд: [> restart; with(LinearAlgebra): [> with(simplex); [basis, convexhull, cterm, define_zero, display, dual, feasible, maximize, minimize, pivot, pivoteqn, pivotvar, ratio, setup, standardize ] в оперативную память загружаются пакет LinearAlgebra, ориентирован- ный на решение задач линейной алгебры, и пакет simplex, предназначен- ный для решения задач линейного программирования. Напомним, что при начальном запуске системы в оперативную память за- гружено только ядро системы. Однако при решении огромного класса задач, требующих сложных расчетов, встроенных процедур и функций ядра не хвата- ет. В состав Maple 12 входит около 80 пакетов. Дадим список наиболее часто используемых пакетов Maple (с полным списком пакетов можно ознакомиться, используя главное меню Help –> вкладка Introduction –> Mathematics… –> Packages…): DEtools – решение обыкновенных дифференциальных уравнений и систем в численном и аналитическом видах, представление результатов в виде фазо- вых портретов, полей направлений, интегральных кривых и т.д.; finance – пакет финансовой математики; geom3d, geometry – пакеты трехмерной и двумерной евклидовой геометрии; LinearAlgebra – линейная алгебра (основной и незаменимый пакет для ре- шения задач линейной и матричной алгебры); linalg – линейная алгебра и структуры данных массивов (до версии 6.0 яв- лялся основным пакетом для решения задач линейной алгебры); inttrans – интегральные преобразования и их обратные преобразования; 9