Лабораторная работа № 1: решение уравнений

advertisement
Финансовая академия при Правительстве РФ
Н.В.Катаргин
ЭКОНОМИКО-МАТЕМАТИЧЕСКОЕ
МОДЕЛИРОВАНИЕ
Практикум для студентов по предметам “Информационные
технологии”, "Финансы и кредит", "Мировая экономика"
Москва 2005
УДК 683.1
Рецензенты:
Доктор технических наук, профессор МГАУ Е.И.Забудский
Доктор технических наук, профессор АТиСО В.Н.Квасницкий
Катаргин Н.В.
Экономико-математическое моделирование. Практикум для студентов по
предметам “Информационные технологии”, "Финансы и кредит", "Мировая
экономика". – М, 2005. – 20 с
Рассмотрено решение некоторых экономико-математических задач,
связанных с оптимизацией планирования закупок, перевозок, инвестиций,
сетевых графиков, стратегии игры, замены оборудования, а также с
прогнозированием. Основной используемый сервис - Поиск решения.
Приведены примеры вычисления предельной и суммарной функции и
эластичности, а также решения системы нелинейных дифференциальных
уравнений применительно к экологической задаче.
УДК 683.1
© Н.В.Катаргин, 2005
2
Введение
На Западе во второй половине 80-х годов, а в России в последние
несколько лет рынок насытился персональными компьютерами (ПК),
относительная стоимость их резко упала, и теперь ЭВМ - обычный атрибут не
только научной лаборатории или КБ, но и банка, бухгалтерии, склада, цеха,
офиса управленца и т.д. Изменилось назначение ЭВМ: если до 80-х годов
преобладали математические численные расчеты, то в настоящее время
компьютеры больше используются для хранения, поиска и пересылки
информации, графических построений, обучения. Расчеты проводятся по
готовым специализированным программам - бухгалтерским, математическим
и т.д. Программное обеспечение стало "дружественным", что позволило
работать на ПК не только профессиональным программистам и специально
обученным высококвалифицированным сотрудникам, но и пользователям, не
разбирающимся в тонкостях программирования и устройства ЭВМ. Уровень
общей технической подготовки пользователей ЭВМ также резко снизился вплоть до детей.
Экономико-математическое моделирование развивалось в течение ХХ
века, но его практическая реализация была ограничена из-за сложности
расчетов и осуществлялась научными коллективами НИИ и ВЦ.
Программирование сложных алгоритмов в качестве сервисов и функций
электронных таблиц Excel позволило их использовать широкому кругу
научных сотрудников и практиков, от которых требуется только грамотная
постановка задачи, подбор сервисов и функций для ее решения, подбор
исходных данных, построение целевых функций, начальных значений и
ограничений, проведение расчетов с помощью сервисов и функций,
интерпретация результатов и оценка их надежности. При этом знание
математических методов и моделей по-прежнему остается актуальным. В
данном практикуме рассмотрено решение некоторых экономикоматематических задач, связанных с планированием закупок, перевозок,
инвестиций, сетевых графиков, стратегии игры, а также с прогнозированием.
Основной используемый сервис - Поиск решения. Рассмотрены также две
задачи - решение уравнения и системы уравнений, которые предваряют
задачи по оптимизации планирования. Кроме того, приведены примеры
вычисления предельной и суммарной функции и эластичности, а также
решения системы нелинейных дифференциальных уравнений применительно
к экологической задаче.
Лабораторная работа № 1: Решение уравнений
Многие инженерные и экономические задачи сводятся к исследованию
функций одной или нескольких переменных вида Y=f(X) или Y=f(x1,x2,…xN).
Исследовать функцию - значит установить область ее существования (те
значения Х при которых возможно вычислить Y), определить области
значений Х, при которых Y принимает положительные, отрицательные и
3
аномально большие значения ("уходит в бесконечность"), найти максимумы,
минимумы, иногда - точки перегиба графика функции, а также корни
уравнения Y= f(x) – значения х, при которых Y обращается в 0 (график
функции пересекает ось абсцисс).
Наиболее простые методы исследования функциональных зависимостей
с помощью компьютера - итерационные, основанные на многократном
выполнении сравнительно простых операций. Один из итерационных методов
- табулирование функции (расчет значений Y при заданных X) в большом
диапазоне значений Х с большим шагом, затем табулирование с небольшим
шагом в наиболее интересных диапазонах - вблизи корней, максимумов и
минимумов, далее - сужать диапазоны Х и уменьшать шаг для получения все
более точных значений экстремумов и корней. Получаемые решения зависят
от того, в каких диапазонах Х и Y ведется их поиск, т.е. от их начальных
значений.
Различные итерационные методы разрабатывались начиная с XVIII
века, и в настоящее время имеется большое количество компьютерных
программ для их использования. Наиболее простые и удобные программы
оформлены в виде функций Excel "Подбор параметра" и "Поиск решения".
Используйте функцию "Подбор параметра" для решения уравнений:
1. Построить параболу Y=0,1*х2-х-11: задать область определения (х) от –20
до +20. Для этого занести в соседние ячейки (например А5 и А6) –20 и –19,
выделить обе ячейки, поставить курсор на черный квадратик в правом
нижнем углу, нажать левую клавишу мыши и потащить вниз до появления
числа 20; в ячейку рядом с –20 вставить формулу =0,1*А5^2-А5-11,
скопировать ее вниз и построить график. Сделать активной ячейку Y вблизи
одного из корней, вызвать Подбор параметра (в Меню Сервис), заставить
компьютер подобрать Х, чтобы Y обратился в 0: установить в окне Значение 0,
в нижнем окне - адрес Х, щелкнув по соответствующей ячейке мышью.
Щелкните по клавише ОК. Не забудьте найти второй корень, выбрав исходные
Y и X вблизи него.
2. Найти корни, двигая мышью точку графика в 0. Компьютер сам вызовет
Подбор параметра.
3. Найти корни уравнения третьего порядка: протабулируйте функцию
Y=х3-4х2-5х+6=0 на достаточно большом интервале, постройте график,
определите, сколько корней и где они примерно находятся, найдите корни
через Подбор параметра.
Лабораторная работа № 2: Решение систем уравнений
Решите систему из трех уравнений с тремя неизвестными вида
aiX+biY+ciZ=di (i = 1,2,3), используя команду Сервис-Поиск решения. Для
этого внесите в таблицу приблизительные значения неизвестных X, Y, Z,
значения коэффициентов при этих неизвестных ai, bi, ci
(i = 1,2,3);
перемножьте X, Y, Z на соответствующие коэффициенты и просуммируйте
4
произведения по строкам. Запустите Поиск решения; В качестве целевой
ячейки возьмите первую сумму, задайте установку в ней первого свободного
члена d1; на две другие суммы наложите ограничения: равенство двум другим
свободным членам d2 и d3; нажмите кнопку “Параметры” и ознакомьтесь с
параметрами и методами, используемыми при оптимизационных расчетах;
закройте окно “Параметры”, нажав ОК, и запустите выполнение программы
(Выполнить). Пример:
C
D
E
F
Комментарии
3
X
Y
Z
Неизвестные (числа)
4
5
a1
b1
c1
d1
Коэффициенты в
6
a2
b2
c2
d2
уравнениях
7
a3
b3
c3
d3
(числа)
8
9
a1*X
b1* Y
c1 *Z
F9-целевая, = d1
C9:E9)
10
a2*X
b2 *Y
c2 *Z
Ограничения:
C10:E10)
F10=d2,F11=d3
11
a3*X
b3 *Y
c3 *Z
C11:E11)
Лабораторная работа № 3. Математическое программирование.
Планирование закупок
Основная цель планирования
любой деятельности - получение
максимального результата (прибыли, объема производства и т.п.) при
имеющихся ограничениях. Разработке оптимальных программ-планов
посвящен
раздел
математики
под
названием
“математическое
программирование”, в частном случае - “линейное программирование”.
Стандартная формулировка задачи математического программирования:
изменяя значения аргументов, требуется найти минимум или максимум
зависящей от них целевой функции, наиболее полно характеризующей
эффективность производства или закупок, при наложенных ограниченияхравенствах и ограничениях-неравенствах. Допустимое решение, отвечающее
этим условиям, называется оптимальным планом. Его может не существовать,
если наложенные ограничения противоречивы, а иногда может существовать
множество решений.
В задачах линейного программирования целевая
функция и функции в ограничениях - линейные.
Для решения задач линейного программирования используются
различные методы (Ньютона, наискорейшего спуска, симплекс-метод), общий
принцип которых таков: выбирается неоптимальный опорный план
(аналогично приблизительным значениям X, Y, Z в Лаб. №2) и его параметры
варьируются с целью последовательного улучшения плана, то есть
оптимизации целевой функции при соблюдении всех ограничений, с
использованием сервиса Поиск решения, что дает возможность решать
оптимизационные задачи, не вникая в сложную математику.
5
Предлагаемое упражнение является предельно упрощенным вариантом
реальной задачи по составлению рациона для животных, которую можно
сформулировать следующим образом: заданы нормы потребления различных
компонент - жиров, белков и т.д. (в экономической интерпретации - благ) и их
содержания в различных видах кормов, а также цены кормов. Требуется
составить план закупки кормов, обеспечивающий минимальную стоимость
рациона при потреблении благ не меньше норм. Для решения задачи требуется
внести в таблицы Excel нормы, содержания компонент в кормах, цены кормов,
а также опорный план - произвольные значения масс закупаемых кормов.
Содержания компонент домножаем на массы кормов и суммируем по
компонентам, получая их суммарные количества (сколько всего съедено
жиров, белков и т.д.), которые в ограничениях Поиска решения
устанавливаются больше или равными нормам. Домножаем цены кормов на
их количества, суммируем произведения и получаем стоимость закупки целевую функцию, для которой в Поиске решения задаем минимизацию.
Изменяемые ячейки - массы закупаемых кормов, на них накладывается
глобальное ограничение - требование неотрицательности. Все числа в данном
примере - условные.
Составьте рацион для коровы из 4 видов кормов, содержащих 4 компонента
(жиры, белки, углеводы, витамины), имеющий минимальную стоимость:
 составьте таблицу по приведенному образцу; рацион (количество кормов)
задайте произвольно;
 перемножьте содержание компонент в кормах и их цены на количество
соответствующих кормов (используйте копирование формулы);
 просуммируйте результаты умножения по столбикам (результаты – сколько
всего компонент будет съедено и сколько это стоит);
 вызовите Сервис – Поиск решения;
 задайте Целевую ячейку с суммарной стоимостью (здесь F18), цель –
Минимальное значение,
 Изменяя ячейки с количеством кормов (здесь G8:G11),
 Ограничения Добавить : суммарное потребление компонент должно быть
не меньше норм (здесь B16:E16  B6:E6) и количество кормов не может
быть отрицательным (здесь G8:G11  0);
 ознакомьтесь с Параметрами и нажмите Выполнить.
A
B
C
D
E
F
G
5
жиры
белки углеводы витамины цена количество
6 нормы
40
70
1200
150
7 Корма
8 Сено
5
3
100
10
5
1
9 Овес
22
12
120
20
10
1
10 Ячмень
33
17
88
30
15
1
11 Силос
55
23
100
80
25
1
12
6
13
14
15
16
17
18
Сено
Овес
Ячмень
Силос
=B8*$G8
22
33
55
3
12
17
23
100
120
88
100
10
20
30
80
5
10
15
25
Сумма
=(B13:B16)
55
408
140
55
Целевая
Применим данную технологию для изучения функции потребительского
предпочтения, называемой также функцией Р.Стоуна
U(x)=П(xi - ai)^ i
где
ai - минимально необходимое количество i - го блага, которое
приобретается в любом случае (в данном случае - нормы),
i характеризует степень важности блага.
Применительно к данной задаче функция Стоуна характеризует качество
молока, и мы можем минимизировать стоимость рациона при заданном
качестве молока или максимизировать качество при заданной стоимости. Для
этого зададим i и вычислим функцию Стоуна, которую используем в
качестве дополнительного ограничения. Целесообразно в выражение в скобках
добавить очень малое число, например 10-7, чтобы избежать отрицательных
чисел, которые могут возникнуть из-за погрешности расчетов при вычитании
равных величин.
жиры
белки углеводы витамины
i
0,3
0,3
0,15
0,25
Качество
(i -норма i)^ i 4,761711 3,265933 2,245139
2,864089
100
Здесь приведены числа после решения задачи минимизации стоимости
рациона при соблюдении норм и обеспечении качества 100.
Без изменения таблиц можно решить другую задачу - максимизировать
функцию Стоуна, объявив ее целевой ячейкой, при заданной стоимости
рациона, которая становится ограничением.
Лабораторная работа № 4. Планирование перевозок
Составьте оптимальный план перевозок бетонных блоков с трех заводов на
четыре стройки. Считаем, что за один рейс машина перевозит один бетонный
блок. Задайте мощности заводов, потребности строек и расстояния между
заводами и стройками. Холостые пробеги, состояние дорог и прочие факторы
не учитываются, что не влияет на общие принципы постановки задачи и ее
решения. Последовательность решения задачи:
Создайте таблицы:
- расстояния между заводами и стройками,
- потребности строек (строка),
7
- мощности заводов (столбец)
- первоначальный план перевозок - количество рейсов с i-го
завода на j-ю стройку:
Ячейка
C
D
E
F
I
J
3
Р а с с т о я н и я км
Стройка1 Стройка2 Стройка3 Стройка4 Планы заводов
4
5
Завод 1
6
9
2
11
900
6
Завод 2
12
3
6
7
200
7
Завод 3
8
14
15
9
300
Потребности
8
100
300
600
400
 (D8:I8)=(J5:J7)
9
10
11
12
13
14
15
16
17
строек
План перевозок (число рейсов с заводов на стройки)
Вывезено с заводов
=CУММА(D9:I9)
=CУММА(D10:I10)
=CУММА(D11:I11)
Завод 1
1
1
1
1
Завод 2
1
1
1
1
Завод 3
1
1
1
1
Завезено
(D10: (E10: (F10:
(I10:
на стройки D12)
Целевая:
E12)
F12)
I12)
Число рейсов * расстояния
Cуммарный
Завод 1
=D10*D5
пробег
Завод 2
Скопируйте формулу на всю таблицу
всех машин
=СУММА(D14:I16)
Завод 3
Суммарная потребность всех строек должна совпадать с суммарной
мощностью всех заводов.
- Запустите Сервис - Поиск решения и заполните окна появившейся
экранной формы. Целевая ячейка в данном случае - J17, в которой находится
суммарный пробег машин со всех заводов на все стройки, и значение в
которой надо сделать минимальным (или заданным, если надо “нагнать” план
по километражу). Изменять можно ячейки D10 - I12 (план перевозок) при
условии равенства мощностей заводов и потребностей строек, то есть ячеек
J10 - J12 и D13 - I13 значениям, заданным в J5 - J7 и D8 - I8. Кроме того,
следует задать условие, что количества рейсов - величины положительные и
целые. Запустите выполнение программы (Выполнить).
Лабораторная работа № 5. Выбор оптимального пути в
транспортной сети
Транспортная сеть состоит из n узлов (будем называть их также
пунктами или городами), некоторые из которых соединены магистралями.
Стоимость проезда по каждой из таких магистралей известна и отмечена на
схеме. Найти оптимальный маршрут проезда из 1-го пункта в n-ый. В данном
примере целевая функция - суммарная стоимость проезда - нелинейная, а
область допустимых решений является дискретным множеством - набором
8
единиц и нулей, означающих проезд из одного города в другой или отказ от
проезда.
Пусть сеть состоит из 10 узлов, соединённых магистралями согласно
схеме:
2
7
5
10
9
5
7
1
3
4
6
8
8
6
6
8
3
10
4
11
6
5
9
9
Стоимость проезда из пункта i в пункт k равна Rik , и элементы этой
матрицы приведены на схеме.
Требуется найти оптимальный маршрут из 1-ого пункта в 10-ый.
Внесите стоимости проезда (расстояния) Rik в таблицу Excel и задайте
опорный план поездки Xik, который в данном случае представляет из себя
матрицу из единиц и нулей, соответствующих перемещению или не
перемещению из одного пункта в другой. В отличие от предыдущего примера
(Лаб. № 4), здесь не задаются стоимости проезда (расстояния) между
пунктами, дорога между которыми проходит через промежуточный пункт, и
используется только часть матрицы выше главной диагонали, что позволяет
резко сократить количество изменяемых ячеек, т.е. упростить и ускорить
решение задачи. Для удобства настройки Поиска решения создайте
дополнительную таблицу План поездки Xik в компактном виде, из которой
копируются значения в зависимые от нее ячейки таблицы План поездки Xik. В
ячейки таблицы План поездки Xik внесите формулы, связывающие ее с
таблицей План поездки Xik в компактном виде. Просуммируйте строки и
столбцы таблицы План поездки Xik ; ненулевое значение в сумме по строке
означает выезд из соответствующего пункта (из п.1 - обязательно); ненулевое
значение в сумме по столбцу означает приезд в соответствующий пункт (в
п.10 - обязательно). Приезд в какой-либо пункт, кроме п.10, требует
обязательного выезда из него, т.е. соответствия сумм по столбцам суммам по
строкам. Перемножьте таблицу стоимостей на План поездки Xik и вычислите
целевую функцию как сумму по таблице произведений Rik * Xik (аналогично
Лаб. №4).
Запустите Поиск решения и установите Целевую ячейку
Сумма Rik * Xik, Изменяя ячейки - План поездки Xik в компактном виде,
Ограничения: План поездки Xik в компактном виде ≤ 1, ≥ 0, целые; суммы по
строкам таблицы План поездки (выезд), начиная со второй (с п.2) должны
равняться суммам по столбцам (приезд), исключая последнее значение (п.10).
9
Суммы по первой строке (выезд из п.1) и последнему столбцу (приезд в п.10)
должны равняться 1. Установите флажок Показывать результаты итераций в
меню Параметры и запустите Выполнить.
Стоимость проезда (расстояния)
Rik
куда
откуда
1
2
3
4
5
6
7
8
9
2
10
3
8
4
6
5
6
7
8
9
6
8
6
4
5
10
5
7
9
9
3
11
План поездки Xik в компактном виде
16
17
B
1
C
1
D
1
E
1
1
F
1
G
1
1
H
1
1
I
1
1
J
1
1
План поездки Xik
суммы по
строкам:
куда
откуда
1
2
3
4
5
6
7
8
9
2
3
=B16
4
=C16
5
6
7
8
10 выезд
3
1
1
1
2
3
=I17
1
=J16
1
=J17
1
9
=D16
=E16
=E17
=F16
=G16
=G17
=H16
=H17
=I16
Приезд: суммы по столбцам
1
1
1
2
3
4
5
10
0
0
0
0
8
0
0
0
0
6
7
8
9
0
0
0
0
0
0
0
0
1
Rik * Xik
6
0
0
0
0
0
0
0
0
2
1
0
5
7
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
10
2
Целевая:
0
0
0
0
6
8
0
0
0
2
1
3
Sum Rik * Xik =
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
4
0
0
0
5
0
0
0
0
9
3
11
97
В результате выполнения программы получаем:
План поездки Xik
откуда
2
3
4
1
2
3
4
5
6
7
8
9
0
0
1
5
6
7
8
10выезд
9
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
1
0
Приезд: суммы по столбцам
0
0
1
0
1
0
1
0
1
Оптимальный план поездки: пункты 1 => 4 => 6 => 8 => 10.
Приезд в город становится обязательным, если введено дополнительное
ограничение - равенство 1 суммы по соответствующему столбцу таблицы
План поездки. Если необходимо сделать обязательным приезд в один из
группы городов - вычислите сумму по ячейкам приезда в эти города и введите
ограничение: равенство этой суммы единице.
Лабораторная работа № 6. Оптимальное распределение
ресурсов между отраслями на N лет
При вложениях Х1 и Х2 отрасли дают прибыль 0,6*Х 1 и 0,5*Х2, кроме
того они дают средства для реинвестирования с перераспределением в конце
каждого года, равные 0,7*Х1 и 0,8*Х2. Сумма инвестиций за первый год равна
10000 у.е. Требуется составить план вложений средств на 5 лет с целью
получения максимальной суммарной прибыли. Заполните таблицу с
произвольным опорным планом:
2
3
4
5
6
7
8
9
10
11
B
Год
1
2
3
4
5
C
1
2
2
2
2
2
D
E
Вложено
2
Всего
=C4+D4
2
2
4
2
4
2
4
2
4
Опорный план
F
G
H
Прибыль
Возврат
10000
=I4+J4
3
3
3
1
=0,6*C4
1,2
1,2
1,2
1,2
2
=0,5*D4
1
1
1
1
I
J
Возврат
1
2
=0,7*C4 =0,8*D4
1,4
1,6
1,4
1,6
1,4
1,6
1,4
1,6
Целевая: сумм.прибыль (G4:H8)
11
Запустите Поиск решения с суммарной прибылью в качестве целевой ячейки,
которую надо максимизировать, изменяя план вложений (здесь C4:D8), при
ограничениях: вложения  0, вложения в обе отрасли за первый год равны
10000, в последующие годы - возврату за предыдущий год (E4:E8=F4:F8).
Ниже представлены результаты расчетов.
11
2
3
4
5
6
7
8
9
10
11
B
Год
1
2
3
4
5
C
1
0
0
0
5120
3584
D
Вложено
2
10000
8000
6400
0
0
E
Всего
10000
8000
6400
5120
3584
F
Возврат
10000
8000
6400
5120
3584
G
H
Прибыль
1
2
0
5000
0
4000
0
3200
3072
0
2150,4
0
I
J
Возврат
1
0
0
0
3584
2508,8
2
8000
6400
5120
0
0
Целевая: сумм.прибыль
17422,4
Лабораторная работа № 7 . Оптимизация сетевого графика
плана комплекса работ
Задача сетевого планирования - построение рационального плана
проведения сложного комплекса работ, состоящего из отдельных
элементарных взаимно обусловленных работ, т.е. выполнение некоторых
работ нельзя начать раньше, чем будут завершены другие, опорные работы.
При составлении сетевого графика используется структурная таблица
комплекса работ, содержащая перечень элементарных работ комплекса,
перечень работ, на которые опираются элементарные работы и время
выполнения каждой работы. Метод сетевого планирования позволяет на
основе этой информации указать сроки начала каждой работы комплекса,
вычислить время, необходимое для выполнения всего комплекса работ,
выявить работы, его определяющие - критические, а также провести
оптимизацию плана путем перераспределения средств и, соответственно,
сроков выполнения работ.
а2
а5
а1
а3
а4
а6
а8
а7
Оптимизация плана комплекса работ может быть проведена после
нахождения критических работ и резервов, содержащихся в некритических
работах. Далее рассмотрены два варианта сокращения критического пути: с
вложением дополнительных средств в критические работы и с
перераспределением средств между критическими и некритическими
работами без изменения их суммы. Предполагается, что время i- й работы ti'
изменяется по закону ti нов = ti * (1-bi * xi) в зависимости от дополнительных
вложений (или изъятий) xi  ci. В первом варианте минимизируется целевая
функция - сумма дополнительных вложений в критические работы,
при
ограничениях: tкрит =40, все 0 xi  ci. Во втором варианте минимизируемая
целевая функция tкрит при ограничениях -ci  xi  ci и  xi = 0. Обратите
12
внимание на то, что в обоих вариантах не организована проверка на
превращение некритических путей в критические. При реальном
планировании это надо учитывать.
Вариант 1
Вариант 2
Работа Опорные работы
a1
a2
a3
a4
a1,a2
a5
a1,a2,a3
a6
a1,a2,a3
a7
a6
a8
a4,a5,a7
t Sum t
20
10
8
20 40
10 30
5
25
5
30
10 50
b
0,2
0,1
0,2
0,3
0,4
0,1
0,3
0,1
c
2
3
1
2
1
2
4
5
Целевая xi
Критич.путь a1+a4+a8
t нов
x
0
20
0
10
0
8
1,666667 9,999999
0
10
0
5
0
5
0
10
1,666667
40
x t нов
2 12
-3 13
-1 9,6
2
8
-1 14
-2 6
-2 8
5
5
-c
-2
-3
-1
-2
-1
-2
-4
-5
xi
0
Критич.путь 25
Лабораторная работа № 8. Оптимизация вложения
средств в N предприятий
В данном примере показано применение функции Поиск решения при
нелинейной зависимости результатов от инвестиций и дискретном множестве
значений аргументов (здесь - инвестиций), т.е. аргументы могут принимать
значения из ограниченного набора. Обычно такие задачи решаются с помощью
функций и уравнений Беллмана.
Требуется оптимизировать вложение ограниченных ресурсов в N
предприятий с целью получения максимальной прибыли. Прибыль,
получаемая каждым предприятием, зависит от вложенных ресурсов
нелинейно, и эта зависимость задается таблично, т.е. величины вложений
представляют собой дискретное множество. В данном примере требуется
разделить 5 млн. руб. между 4 предприятиями. Прибыль fik k -го предприятия
в зависимости от вложения
xi задается таблично. План aik должен
представлять собой матрицу единиц и нулей, при этом 1 означает вложение xi
в k-е предприятие. Задайте опорный план aik, состоящий из одинаковых чисел,
например единиц. Сформируйте целевую функцию - сумму fik*aik.
Сформируйте таблицу произведений xi*aik, сумма которых равна суммарным
затратам. (Не забудьте поставить символ $ перед номером столбца Х).
Вызовите Поиск решения и задайте целевую ячейку
Sum(fik*aik)
и
ограничения: все aik целые и 0 aik 1, все k aik 1, Sum(xi*aik) =5.
13
x
1
2
3
4
5
f1
f2
8
6
10
9
11
11
12
13
18
15
Опорный
план aik
1
1
1
2
1
1
3
1
1
4
1
1
5
1
1
k aik 5
5
fik * aik
1
8
6
2
10
9
3
11
11
4
12
13
5
18
15
f3
3
4
7
11
18
f4
4
6
8
13
16
1
1
1
1
1
5
1
1
1
1
1
5
3
4
7
11
18
4
6
8
13
16
Ограни
чения xi* aik - инвестиции
1
1
2
2
0
3
3
1
Цел.
4
4
5
5
1
Sum(xi*aik)
Ограничение
Целевая
Sum(fik*aik)
1
2
3
4
5
1
2
3
4
5
60
=5
203
В результате выполнения Поиска решения должны получиться результаты:
x
1
2
3
4
5
f1
8
10
11
12
18
f2
6
9
11
13
15
f3
3
4
7
11
18
план aik
1
1
0
1
2
0
1
0
3
0
0
0
4
0
0
0
5
0
0
0
k aik 1 1
1
fik * aik дохо ды
1
8
0
3
2
0
9
0
3
0
0
0
4
0
0
0
5
0
0
0
f4
4
6
8
13
16
1
0
0
0
0
1
4
0
0
0
0
Ограни
чения xi* aik - инвестиции
1
0
0
2
0
0
0
1
Цел.
0
0
0
0
1
Sum(xi*aik)
Ограничение
Целевая
Sum(fik*aik)
1
0
0
0
0
1
0
0
0
0
5
=5
24
доход
Надо вкладывать по 1 млн.р. в предприятия №1, 2, 4 и 2 млн.р. в №3.
На этом примере можно изучать особенности нелинейного
программирования, в частности - зависимость решения от опорного плана.
Используя найденное решение в качестве опорного плана, измените f43 на
большое число, например 500 (вложить 4 млн.р. в предприятие 3 и получить
прибыль 500, т.е. сделать это вложение очевидно выгодным). Но после запуска
Поиска решения вы увидите старое решение, т.е. компьютер не может
преодолеть какую-то "горку" в пространстве решений. Только после замены
14
опорного плана на матрицу одинаковых чисел компьютер выдает правильное
решение.
Лабораторная работа № 9. Задача выбора стратегии
обновления оборудования
Важной экономической проблемой является своевременное обновление
оборудования: станков, автомобилей, компьютеров и др. Старение
оборудования включает физический и моральный износ, в результате чего
растут затраты на ремонт и обслуживание, снижается производительность
труда и ликвидная стоимость. Задача состоит в определении оптимальных
сроков замены старого оборудования. Критерием оптимальности являются
либо доход от эксплуатации оборудования (задача максимизации), либо
суммарные затраты на эксплуатацию (задача минимизации) в течение
планируемого периода. Рассмотрим пример:
Новое оборудование стоит р0=4000 р., его ликвидная стоимость убывает
по закону р= р0*2-t , где t - возраст в годах, затраты на годовую эксплуатацию
r(t) = 600*(t+1). Через сколько лет надо заменять оборудование, т.е. продавать
старое и покупать новое? В данном примере целевая функция нелинейная, а
оборудование можно заменять только в конце года, т.е. область допустимых
решений является дискретным множеством.
В таблице план замены оборудования представлен в виде единиц и
нулей, что означает замену оборудования в конце года или продолжение
эксплуатации. Стоимость эксплуатации за первый год равна 600, ликвидная
стоимость (Цена) 4000/2 = 2000. В последующие годы, начиная со второго,
стоимость эксплуатации вычисляем по формуле =ЕСЛИ(G5<0,1;600;600+B5),
Цена =ЕСЛИ(G5<0,1;C5/2;2000). Стоимость продажи (Продажа) равна Цене
или нулю в зависимости от Плана. Покупка = 4000*План, Покупка последнего
года равна нулю. Целевую ячейку формируют затраты на эксплуатацию и
покупку, а также доходы от продаж:  r(t) +  p0(t) -  p(t) . Ограничения на
План: 0 План 1, целые.
A
Год
1
2
3
4
5
6
7
8
9
10
5
6
7
8
9
10
11
12
13
14
15
16  r(t)=
17
18
B
Эксплуат.
600
600
1200
600
1200
600
1200
600
1200
600
8400
C
Цена
2000
2000
1000
2000
1000
2000
1000
2000
1000
2000
D
E
F
G
Продажа Покупка План
2000
4000
1
0
0
0
1000
4000
1
0
0
0
1000
4000
1
0
0
0
1000
4000
1
0
0
0
1000
4000
1
2000
0
1
p0(t)=
 p(t)=
8000
20000
Сумм. затраты
15
24400
После выполнения Поиска решения получаем
A
Год
1
2
3
4
5
6
7
8
9
10
5
6
7
8
9
10
11
12
13
14
15
16  r(t)=
17
18
B
Эксплуат.
600
1200
1800
600
1200
600
1200
600
1200
1800
10800
C
Цена
2000
1000
500
2000
1000
2000
1000
2000
1000
500
D
E
F
G
Продажа Покупка План
0
0
0
0
0
0
500
4000
1
0
0
0
1000
4000
1
0
0
0
1000
4000
1
0
0
0
0
0
0
500
0
1
p0(t)=
 p(t)=
3000
12000
Сумм. затраты
19800
Задача является нелинейной, и ее успешное решение зависит от
опорного плана. Попробуйте ее решить, используя различные опорные планы.
Лабораторная работа № 10: Расчет стратегии в игре
Многие социально-экономические ситуации обладают тем свойством,
что в них сталкиваются не менее двух сторон с различными, часто
противоположными интересами, и они могут действовать различными
способами. Такие ситуации называются конфликтными. Математическая
модель конфликтной ситуации называется игрой. Если играют двое, и
проигрыш одного равен выигрышу другого, то такая игра называется игрой
двух сторон с нулевой суммой выигрыша. Любое возможное в игре действие
игрока называется чистой стратегией (например, выпуск одного товара), их
комбинация - смешанной стратегией (в данном примере - выпуск нескольких
видов товаров). Матрица, в которой представлены выигрыши игрока в
зависимости от его стратегий и ответных стратегий противника, называется
матрицей выигрышей, или платежной матрицей. Обычно оптимизация
плана игры сводится к выбору частот (или вероятностей) применения чистых
стратегий (например, соотношения выпускаемых товаров) с целью
минимального проигрыша при любых стратегиях противника (здесь - рынка),
и для проведения расчетов можно использовать Поиск решения.
Задана платежная матрица выигрышей при различных стратегиях
выпуска продукции А1, А2, А3 и возможных состояниях рынка В1, В2, В3,
В4. Требуется определить оптимальные стратегии SA*= (p1*, p2*, p3*) и
SВ*= (q1*, q2*, q3* , q4*). SA* обеспечивает средний выигрыш   (стоимости
игры) при любой стратегии В (спроса) и выигрыш =  при оптимальной
стратегии В:
16
a11p1+a21p2+a31p3  
a12p1+a22p2+a32p3  
a13p1+a23p2+a33p3  
a14p1+a24p2+a34p3  
a11x1+a21x2+a31x3  1
a12x1+a22x2+a32x3  1
a13x1+a23x2+a33x3  1
a14x1+a24x2+a34x3 1
Здесь xi=pi/.
Вводим произвольные значения x1, x2, x3 и домножаем на них столбцы
платежной матрицы. Столбец В2 игнорируем как доминируемый, т.е заведомо
невыгодный.
Спрос
Продукция
A1
A2
A3
B1
3
9
7
aik*xi
B2
3
10
7
Убрать как
доминируемый
6
18
14

38
B3
6
4
5
0
B4
8
2
4
x1
x2
x3
Целевая
12
8
10

30
2
2
2

6
16
4
8

28
1
1
1
После выполнения Поиска решения получим результаты для игрока А:
выпуск продукции 1 равен 0,4 , продукции 3 - 0,6. Применив ту же технологию
к стратегии игрока В получим оптимальную стратегию рынка: вероятности 0,5
для состояний 1 и 4.
Ограничения
Продукция
A1
A2
A3
Спрос
B1
3
9
7
B2
3
10
7
Убрать как
B3
6
4
5
x1=
x2=
x3=
Стратегии игрока А
0,074074
p1=
0
p2=
0,111111
p3=
0,4
0
0,6
1/=
0,185185 Выигрыш
5,4
0,090909 =1/= 0,181818 Выигрыш
5,5
B4
8
2
4
доминируемый
0,222222
0
0,777778

1
0,090909
q1
0,5
bikxk
0,272727
0,818182
0,636364
0,444444 0,592593
0
0
0,555556 0,444444


1
1,037037
0
Стратегии игрока В
q2
q3
0
0
0
0
0
q4
0,5
0,727273
0,181818
0,363636
17



1
1
1
Лабораторная работа № 11. Аппроксимация и экстраполяция
функции с использованием метода наименьших квадратов
и оценкой точности методом Монте-Карло
Прогнозирование тенденций развития или взаимной зависимости
переменных является не менее важной задачей, чем оптимальное
планирование. Для решения задачи прогнозирования требуется по
экспериментальным точкам провести гладкую кривую и выявить
функциональную зависимость (аппроксимация), продлить ее в неизученную
область (экстраполяция) и оценить надежность прогноза. Хорошо разработана
методика линейного регрессионного анализа (линейной аппроксимации),
нелинейные зависимости (степенные, показательные, логарифмические)
научились линеаризовать, т.е. сводить к линейной. Вид функции часто
задается из теоретических соображений, коэффициенты вычисляются методом
наименьших квадратов (МНК), т.е. подбираются таким образом, чтобы сумма
квадратов отклонений (разностей) теоретических и экспериментальных
значений при равных аргументах была минимальной.
Для конкретизации задачи будем исследовать продажу пива в
зависимости от температуры воздуха в диапазоне 0О - 30О. Нам известны
продажи при различных температурах в диапазоне 0 О - 20О, требуется дать
прогноз на диапазон 21О - 30О. В качестве функциональной зависимости
выберем квадратный трехчлен Y = at2 + bt+d, т.к. любую функцию в некотором
диапазоне можно достаточно точно представить многочленом. В качестве
истинной закономерности Yидеал возьмем функцию с коэффициентами a=0,1,
b=-1, d=5. "Экспериментальные" значения Y в диапазоне 0О - 20О можно задать
вручную, добавляя к Yидеал случайные числа в диапазоне 4, но лучше
генерить их по формуле
Yэкспер = Yидеал + (СЛЧИС()-0,5)*3* КОРЕНЬ(Yидеал).
Выражение (СЛЧИС()-0,5) генерит равномерно распределенные
случайные числа в диапазоне -0,5 … 0,5 , КОРЕНЬ(Yидеал) равен
стандартному отклонению для распределений Гаусса и Пуассона,
сомножитель 3 обеспечивает распределение в диапазоне 1,5. Разумеется,
лучше использовать настоящее распределение Гаусса или Пуассона, но это
потребует достаточно больших усилий и может быть рекомендовано для
проведения реальных научно-исследовательских работ. При каждом щелкании
мышью набор Yэкспер будет меняться, что мешает работе, и полученные
значения надо скопировать в столбец Yэкспер2, используя Правка Специальная вставка - Значения. Затем следует создать функцию
Yтеор = at2 + bt+d диапазоне 0О - 30О, используя произвольные коэффициенты
a, b, d, расположенные в ячейках с присвоенными именами ("опорный план").
Вычисляем квадраты отклонений (Yтеор -Yэкспер2)2 в диапазоне 0О - 20О и
их сумму, которая будет минимизируемой целевой функцией. Изменяемые
ячейки - a, b, d , ограничений нет. После выполнения Поиска решения
18
постройте графики Yидеал, Yэкспер2 и Yтеор в диапазоне 0О - 30О и сравните
полученные значения a, b, d и Yтеор с идеальными.
Для проверки точности получаемых результатов используйте метод
статистических испытаний, или метод Монте-Карло. Расчеты проводятся
многократно с использованием различных случайных совокупностей
исходных данных Yэкспер, результаты расчетов a, b, d и Yтеор(30О)
накапливаются, затем вычисляют их среднее значение и стандартное
отклонение с использованием функций СРЗНАЧ и СТАНДОТКЛОН.
Копирование результатов можно проводить, используя обычное копирование,
а можно использовать Visual Basic. Создайте кнопку: Вид -Панели
инструментов - Visual Basic - молоточки. Растянуть кнопку на таблице,
дважды быстро щелкнуть по ней и записать программу:
Private Sub CommandButton1_Click()
Dim a, k, k2, Y, Y2 As Range ' Задание переменных - диапазонов ячеек
Set a = Range("c5") : Set k = Range("d2") : Set k2 = Range("B38")
Set Y = Range("E35")
' Настройка переменных Set Y2 = Range("E38") ' указание начальных ячеек диапазонов
n = Range("B2")
' Номер стат.испытания
For i = 1 To 21: a(i, 2) = a(i): Next I
' Копирование Yэкспер в Yэкспер2
For i = 1 To 3: k2(n, i) = k(1, i): Next I ' Копирование a, b, d
Y2(n) = Y
' Копирование Yтеор(30О)
Range("B2") = Range("B2") + 1
' Увеличение номера стат.испытания
End Sub
Переход из режима Конструктора в рабочий режим осуществляется
щелканием мышью по синему треугольнику на Панели инструментов Visual
Basic. Проведите испытания 20 раз, копируя результаты и наблюдая графики
Yидеал, Yэкспер2 и Yтеор в диапазоне 0О - 30О.
Кнопка
n
a
b
0,089657 -0,81461
11
tO
0
1
2
3
4
5
6
7
8
9
10
11
12
13
Y идеал
6
5,1
4,4
3,9
3,6
3,5
3,6
3,9
4,4
5,1
6
7,1
8,4
9,9
d
5,003522
Y экспер
Y экспер2 Y теор
(Yтеор -Yэкс)^2
3,187615 7,896597 5,003522
8,369884
4,614822 3,482362 4,278563
0,633936
3,74168 4,760484 3,732918
1,055892
2,703701 4,266136 3,366586
0,809189
4,303793 3,335176 3,179567
0,024214
0,793039 1,990673 3,171862
1,395207
6,099188 5,762799 3,343469
5,853157
5,354349 6,250096 3,69439
6,531634
4,805577 1,96599 4,224624
5,101426
6,315834 3,494961 4,934171
2,071325
3,716927 7,093881 5,823031
1,615061
6,747879 7,266906 6,891204
0,141152
4,923486 8,628663 8,13869
0,240073
13,78128 10,19753 9,56549
0,39947
19
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Среднее
Стан.откл
11,6
16,15502 13,3959 11,1716
4,947498
13,5
18,05094 11,79125 12,95703
1,359036
15,6
15,68348 9,954463 14,92177
24,67411
17,9
23,02733 16,87283 17,06582
0,037245
20,4
14,2468 16,45532 19,38919
8,607551
23,1
28,27731 19,41054 21,89186
6,156983
26
25,06189 24,60926 24,57386
0,001253
29,1
27,43516 Целевая,
32,4
30,47578 (Yтеор-Yэкс)2
35,9
33,69571
80,0253
39,6
37,09495
43,5
40,67351
47,6
44,43138
51,9
48,36857
56,4
52,48506
61,1
56,78087
66
61,256
Накопление результатов
a
b
d
Y теор(30)
0,085604
-0,66809 4,900334 61,90122
0,091923
-0,71405 4,015668 65,3248
0,089466
-0,8983 6,661087 60,23185
0,12964
-1,45783 8,04561 80,98681
0,093119
-0,89987 6,109547 62,92096
0,090213
-0,76546 5,094091 63,3224
0,079159
-0,73099 5,285638 54,59921
0,063607
-0,58318 5,875455 45,62676
0,124878
-1,56341 8,591541 74,07946
0,089657
-0,81461 5,003522
61,256
0,093727
0,01971
-0,90958 5,958249 63,02495
0,332175 1,44601 9,638481
Лабораторная работа № 12. Производная, эластичность,
суммарная функция
Вычислите производную (предельную функцию), эластичность,
суммарную функцию (интеграл) для функции N(x)=100/x. В данном примере
можно интерпретировать х как цену товара, а N(x) - как спрос, предельную
функцию - как прирост спроса при росте цены на 1 рубль (здесь
отрицательный), а эластичность показывает, на сколько процентов изменится
спрос при
росте цены на 1%. Суммарную функцию здесь можно
интерпретировать как сумму продаж за х дней при ежедневном росте цен на 1
рубль.
Задайте диапазон х 10…30, вычислите N(x), производную dN/dx = (B7B6)/(A7-A6) - в данном случае. Эластичность Е=(N/N)/( x /x), в качестве N и
x возьмем их средние значения, тогда E=C6/(B6+B7)*(A6+A7). Суммарная
функция формируется добавлением первого значения спроса к начальному
значению (здесь 0): =E7+E6, а затем - добавлением следующих значений
20
спроса к предыдущим значениям суммы (копирование формулы вниз). При
правильном вычислении интеграла следует брать средние значения N по двум
соседним точкам и домножать их на x.
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
A
Цена x
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
B
N
10
9,090909
8,333333
7,692308
7,142857
6,666667
6,25
5,882353
5,555556
5,263158
5
4,761905
4,545455
4,347826
4,166667
4
3,846154
3,703704
3,571429
3,448276
3,333333
C
D
E
dN/dx
Эластичность Сумм.функция
-0,90909
-1
0
-0,75758
-1
10
-0,64103
-1
19,09090909
-0,54945
-1
27,42424242
-0,47619
-1
35,11655012
-0,41667
-1
42,25940726
-0,36765
-1
48,92607393
-0,3268
-1
55,17607393
-0,2924
-1
61,05842687
-0,26316
-1
66,61398242
-0,2381
-1
71,87714032
-0,21645
-1
76,87714032
-0,19763
-1
81,63904508
-0,18116
-1
86,18449962
-0,16667
-1
90,53232571
-0,15385
-1
94,69899238
-0,14245
-1
98,69899238
-0,13228
-1
102,5451462
-0,12315
-1
106,2488499
-0,11494
-1
109,8202785
-3,33333
113,2685544
Постройте графики N(x), dN/dx, эластичности и суммарной функции.
Лабораторная работа № 13. Решение дифференциальных уравнений
Дифференциальные уравнения могут быть использованы для
моделирования социальных, экономических и экологических процессов.
Проведем исследование системы нелинейных дифференциальных уравнений,
отражающих известную экологическую задачу: на ограниченной территории в
единицу времени вырастает определенное количество моркови (здесь
Eo=1000), появляются 10 зайцев и начинают размножаться со скоростью N*kr,
съедая моркови ed=N*ke, при этом остается Е моркови. Когда вся морковь
съедается и образуется дефицит D=E-Eo, зайцы начинают вымирать со
скоростью, пропорциональной их количеству и квадрату дефицита D:
vs=N*ks* D2 . Получаем систему уравнений:
dN/dt = kr*N - ks*N* D 2
E=1000- ke*N
D= ЕСЛИ(E>1000; (E-Eo)/N;0)
Присвойте ячейкам строки 3 имена соответствующих коэффициентов и
заполните строку 7 таблицы формулами: A7=A6+B7-C7; B7=kr*A6;
C7= ks*A6*E7^2; D7=ke*A6; E7=ЕСЛИ(F7>Eo;( F7-Eo)/A6; 0); F7=Eo-D7.
Скопируйте вниз всю строку 7. Постройте графики и исследуйте поведение N,
vr, vs, ed, E. Исследуйте поведение системы при различных зависимостях dN/dt
от D: линейной, логарифмической, показательной и т.д.
21
2
3
4
5
6
7
8
9
10
A
нач.кол
10
B
kr
0,05
C
ks
5000
D
ke
0,2
E
Eo
1000
F
N
vr
10
10,5
0,5
11,025
0,525
11,57625 0,55125
12,15506 0,578813
vs
0
0
0
0
дефицит
E
D
2
0
998
2,1
0
997,9
2,205
0
997,795
2,31525
0
997,6848
12,76282
13,40096
14,071
14,77455
15,51328
16,28895
17,10339
17,95856
18,85649
19,79932
20,78928
21,82875
22,92018
24,06619
25,2695
26,53298
27,85963
29,25261
30,71524
32,251
33,86355
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2,431013
2,552563
2,680191
2,814201
2,954911
3,102656
3,257789
3,420679
3,591713
3,771298
3,959863
4,157856
4,365749
4,584037
4,813238
5,0539
5,306595
5,571925
5,850521
6,143048
6,4502
ed
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0,607753
0,638141
0,670048
0,70355
0,738728
0,775664
0,814447
0,85517
0,897928
0,942825
0,989966
1,039464
1,091437
1,146009
1,20331
1,263475
1,326649
1,392981
1,46263
1,535762
1,61255
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
997,569
997,4474
997,3198
997,1858
997,0451
996,8973
996,7422
996,5793
996,4083
996,2287
996,0401
995,8421
995,6343
995,416
995,1868
994,9461
994,6934
994,4281
994,1495
993,857
993,5498
Литература
1. О.О.Замков, А.В.Толстопятенко, Ю.Н.Черемных. Математические методы в
экономике. "Дело и Сервис", М.-1999.
2. Экономико-математическое моделирование. Под редакцией
.Н.Дрогобыцкого. "Экзамен", М. - 2004.
23
Содержание
Введение ......................................................................................................................3
Лаб. № 1: Решение уравнений ..................................................................................3
Лаб. № 2: Решение систем уравнений ......................................................................4
Лаб. № 3: Математическое программирование. Планирование закупок ............5
Лаб. № 4: Планирование перевозок.........................................................................7
Лаб. № 5. Выбор оптимального пути в транспортной сети ...................................8
Лаб. № 6. Оптимальное распределение ресурсов между отраслями на N лет...11
Лаб. № 7 . Оптимизация сетевого графика плана комплекса работ ...................12
Лаб. № 8. Оптимизация вложения средств в N предприятий ..............................13
Лаб. № 9. Задача выбора стратегии обновления оборудования ..........................15
Лаб. № 10: Расчет стратегии в игре .......................................................................16
Лаб. № 11. Аппроксимация и экстраполяция функции с использованием
метода наименьших квадратов и оценкой точности методом Монте-Карло ....18
Лаб. № 12. Производная, эластичность, суммарная функция ............................20
Лаб. № 13. Решение дифференциальных уравнений ............................................21
24
Related documents
Download