СОДЕРЖАНИЕ
1. В в е д е н и е. 1
2. Практические задачи экономико-математического моделирования. 2
3. Классификация экономико-математических моделей. 3
4. Задачи многокритериальной оптимизации. 5
5. Нелинейное и динамическое программирование. 6
6. Условная оптимизация. 15
7. Безусловная оптимизация. 15
8. Оптимальное распределение инвестиций. 16
9. Выбор оптимальной стратегии обновления оборудования. 23
10. Модели сетевого планирования и управления. 31
11. Сетевое планирование в условиях неопределённости. 43
12. Функция полезности. Задача потребительского выбора. 47
13. Решение задач потребительского выбора и его свойства. 53
14. Общая модель потребительского выбора. 57
15. Взаимозаменяемость благ и эффекты компенсации. 58
16. Уравнение Слуцкого. 61
17. Кривые «доход-потребление». 63
18. Коэффициенты эластичности. 66
19. Формальные свойства производственных функций. 69
Основы математического моделирования помогут овладеть искусством принятия эффективных управленческих и инвестиционно-финансовых решений, распределения и оптимизации ресурсов, анализа и обработки данных, прогнозирования последствий.
Экономико-математическое моделирование, являясь одним из эффективных методов описания сложных социально-экономических объектов и процессов, в виде математических моделей, превращается тем самым в часть самой экономики, вернее в сплав экономики, математики и кибернетики.
[16.9] (Федосеев стр. 9)
-анализ социально-экономических объектов и процессов;
-социально-экономическое прогнозирование, предвидение развития социально-экономических процессов;
-выработка управленческих решений на всех уровнях хозяйственной деятельности.
Данные, полученные в результате экономико-математического моделирования, рассматриваются только как «консультирующие» средства. Принятие управленческих решений остается за человеком. Таким образом, экономико-математическое моделирование является лишь одним из компонентов (пусть очень важным) в человеко-машинных системах планирования и управления экономическими системами.
Важным понятием при экономико-математическом моделировании, как и при всяком моделировании, является понятие адекватности модели, то есть соответствие модели моделируемому объекту или процессу. Адекватность модели – в какой-то мере условное понятие, так как полного соответствия модели реальному объекту быть не может.
При моделировании имеется в виду не просто адекватность, а соответствие по тем свойствам, которые считаются существенными для исследования.
Проверка адекватности экономико-математических моделей является весьма серьезной проблемой, тем более что ее осложняет трудность измерения экономических величин. Однако без такой проверки применение результатов моделирования в управленческих решениях может не только оказаться мало полезным, но и принести существенный вред.
[16.17-19] (Федосеев стр. 17-19)
Если попытаться классифицировать сами экономико-математические модели, то можно выделить свыше десяти признаков, рассмотрим основные из них:
1.По общему целевому назначению экономико-математические модели делятся:
-на теоретико-аналитические модели, используемые при изучении общих свойств и закономерностей экономических процессов;
-на прикладные, применяемые в решении конкретных экономических задач анализа, прогнозирования и управления.
2.По степени агрегирования объектов моделирования модели разделяются на макроэкономические (экономика как единое целое) и микроэкономические (звенья экономики – предприятия и фирмы).
3.По конкретному предназначению, то есть по цели создания и применения, выделяют:
-балансовые модели (требование соответствия наличия ресурсов и их использования);
-трендовые модели (развитие моделируемой экономической системы отражается через тренд (длительную тенденцию) ее основных показателей);
-оптимизационные модели, предназначенные для выбора наилучшего варианта из определенного числа вариантов производства, распределения или потребления;
-имитационные модели, предназначенные для использования в процессе машинной имитации изучаемых систем или процессов;
-и др.
4.По типу информации:
-аналитические (на базе априорной информации)
-идентифицируемые (на базе апостериорной, экспериментальной информации)
5.По учету фактора времени модели:
-статические модели (в которых все зависимости отнесены к одному моменту времени)
-динамические, описывающие экономические системы в развитии.
6.По учету фактора неопределенности:
-детерминированные (если в моделях результаты на выходе однозначно определяются управляющими воздействиями);
-стохастические (вероятностные) если при задании на входе модели определенной совокупности значений на ее выходе могут получатся различные результаты в зависимости от действия случайного фактора
7.По характеристике математических объектов или аппарата:
-матричные модели
-линейного и нелинейного программирования
-корреляционно – регрессионные модели
-модели теории массового обслуживания
-модели сетевого планирования и управления
-модели теории игр
-и т.п.
8.По типу подхода к изучаемым системам
-дескриптивные (описательные) модели(например, балансовые и трендовые модели)
-нормативные модели (при нормативном подходе интересуются не тем, каким образом устроена и развивается экономическая система, а как она должна быть устроена и как должна действовать в смысле определенных критериев (например, нормативные модели уровня жизни))
-
В практике часто встречаются задачи заключающиеся в поиске лучшего (оптимального) решения при наличии различных несводимых друг к другу критериев оптимальности. Например, принятие решения о строительстве дороги в объезд города должно учитывать такие факторы как выигрыш города в целом по соображениям экологии, проигрыш отдельных предприятий и фирм, например, из-за уменьшения проезжающих через город потенциальных покупателей и многие другие. Такие задачи, решаемые математическим программированием, называют задачами многокритериальной оптимизации.
Эти задачи могут иметь как линейный, так и нелинейный характер.
Задачи многокритериальной оптимизации возникают, когда имеется несколько целей, которые не могут быть отражены одним критерием (например, стоимость, надежность).
Если речь идет не о разнородных критериях некоторой системы, а о сопоставлении однородных критериях разных ее подсистем (например, отрасли, группы населения и т.п.), то эти задачи называются задачами векторной оптимизации.
Кратко задачу многокритериальной оптимизации можно записать следующим образом:
Где – i-й частный
критерии;
–
допустимое решение, Q – область допустимых
решений.
Некоторые частные критерии могут противоречить друг другу, другие действуют в одном направлении, третьи индифферентны, безразличны к друг другу. Поэтому процесс решения многокритериальных задач неизбежно связан с экспертными оценками, как самих критериев, так и взаимоотношений между ними.
Задача нелинейного программирования формулируется так же, как и общая задача оптимального программирования, т.е.
со следующими
требованиями к целевой функции и допустимой области. Целевая функция или (и) хотя бы одна из функций
, являются нелинейными.
Особое место занимают задачи типа:
для решения которых можно воспользоваться классическим методом оптимизации Лагранжа, или методом разрешающих множителей.
При этом предполагают,
что функции и
(
) непрерывны вместе со своими первыми частными производными.
Для решения задачи составляют функцию Лагранжа:
. Далее определяют частные производные этой функции по
переменным
и множителям Лагранжа
приравнивают их к нулю
и получают систему уравнений:
(**)
В
основе метода Лагранжа решения классической задачи оптимизации (*) лежит
утверждение, что если в точке
имеет экстремум, то
существует такой вектор
что точка
является решением
системы (**).
Следовательно,
решая систему (**), получаем множество стационарных точек, в которых функция может иметь
экстремальные значения. При этом, как правило, неизвестен способ определения
точек глобального максимума или минимума. Однако, если решения системы найдены,
то для определения глобального максимума или минимума достаточно найти значения
функций в соответствующих точках области определения.
Пример. Найти экстремум функции
при
ограничениях
Решение:
Составляем функцию Лагранжа
Дифференцируем
ее по переменным и приравниваем к нулю
Отсюдаи
Поскольку, например,
точка (1/2;3/2;1/2) принадлежит области и в ней
, то делаем вывод, что точка (1;1;1) – точка глобального
максимума.
К классу задач нелинейного программирования изученного наиболее основательно относятся задачи с нелинейной целевой функцией и линейными ограничениями
Но для решения таких задач разработаны вычислительные методы лишь в тех случаях, когда целевая функция сепарабельна, т.е
Далее
чтобы гарантировать решение задачи на функции где
накладывается
добавочное требование. Примером могут служить задачи, в которых целевая функция
может быть представлена как сумма линейной и квадратичной форм.
Такие
задачи называются задачами квадратичного программирования. Но для решения таких
задач на так же нужно
наложить некоторые ограничения.
Весьма полезным вычислительным методом для решения некоторых типов задач нелинейного программирования является метод динамического программирования (ДП). При решении задачи этим методом процесс решения разбивается на этапы, решаемые последовательно во времени и приводящие в конечном счете к искомому решению.
Типичные особенности многоэтапных (многошаговых) задач, решаемых методом динамического программирования, состоят в следующем:
- Процесс
перехода производственно-экономической системы из одного состояния в другое
должен быть Марковским (процессом с отсутствием последствий). Это значит, что
если система находится в некотором состоянии , то дальнейшее развитие процесса
зависит только от данного состояния и не зависит от того, каким путем система
приведена в это состояние.
- Процесс длится
определенное число шагов N. На каждом шаге
осуществляется выбор одного управления , под воздействием которого
система переходит из одного состояния
в другое
,
. Поскольку процесс Марковский,
то
зависит только от текущего состояния.
- Каждый шаг
(выбор очередного решения) связан с определенным эффектом, который зависит от
текущего состояния и принятого решения: .
- Общий эффект (доход) за N шагов слагается из доходов на отдельных шагах, то есть критерий оптимальности должен быть аддитивный (или приводящимся к нему).
Требуется
найти такое решение для каждого шага (n=1,
2, 3 … N), то есть последовательность
, чтобы получить максимальный
эффект (доход) за N шагов.
Любая возможная
допустимая последовательность решений называется стратегией
управления. Стратегия управления, доставляющая максимум критерию
оптимальности, называется оптимальной.
В основе общей концепции метода динамического программирования лежит принцип оптимальности Беллмана. Оптимальная стратегия обладает таким свойством, что независимо от того, каким образом система оказалась в рассматриваемом конкретном состоянии, последующие решения должны составлять оптимальную стратегию, привязывающуюся к этому состоянию. Математически этот принцип записывается в виде рекуретного соотношения ДП (РДП):
- все допустимые управления при условии, что
система находится в состоянии
– эффект от принятия решения
– эффект за оставшиеся n шагов.
Благодаря принципу оптимальности удается при последующих переходах испытывать не все возможные варианты, а лишь оптимальные выходы. РДП позволяют заменить трудоемкое вычисление оптимума по N переменным в исходной задаче решением N задач, в каждой из которых оптимум находится лишь по одной переменной.
Имеется, очень много практических важных задач, которые ставятся и решаются как задачи ДП (задачи о замене оборудования, о ранце, распределения ресурсов и т.д.)
В качестве примера построения РДП рассмотрим использование принципа оптимальности для реализации математической модели задачи оптимального распределения некоторого ресурса в объеме Х:
количество
ресурса, используемое j-м способом
- доход от применения способа j,
Рекуретные соотношения, с помощью которых находится решение этой задачи, имеют вид:
,
,
Пример
так как
,
,
то
,
то
,
то
так как
,
,
то
то
то
x |
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
0 1 2 3 4 5 6 7 8 |
0 0 0 0 0 0 0 0 0 |
3 3 3 3 3 |
12 |
0 0 0 0 3 3 3 3 12 |
-4 -4 -4 -4 -1 -1 |
-8 -8 -8 |
12 |
6 |
27 |
81 |
|
,
то
то
,
то
так как
,
Найдем только , так как это последний шаг и промежуточные расчеты нам уже
не нужны
При
При
При
При
При
x |
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
0 1 2 3 4 5 6 7 8 |
0 0 0 0 0 0 0 0 0 |
3 3 3 3 3 |
12 |
0 0 0 0 3 3 3 3 12 |
-4 -4 -4 -4 -1 -1 |
-8 -8 -8 |
12 |
6 |
27 |
81 |
192* |
значение находим для
значение находим для
итак, оптимальная
стратегия имеет вид (0;0;4)
Динамическое программирование можно использовать как для решения задач, связанных с динамикой процесса или системы, так и для статических задач, связанных, например, с распределением ресурсов. Это значительно расширяет область применения динамического программирования для решения задач управления. А возможность упрощения процесса решения, которая достигается за счет ограничения области и количества, исследуемых при переходе к очередному этапу вариантов, увеличивает достоинство этого комплекса методов.
Вместе с тем Динамическому программированию свойственны и недостатки. Прежде всего, в нем нет единого универсального метода решения. Практически каждая задача, решаемая этим методом, характеризуется своим особенностями и требует проведения поиска наиболее приемлемой совокупности методов для ее решения. Кроме того, большие объемы и трудоемкость решения многошаговых задач, имеющих множество состояний, приводят к необходимости отбора задач малой размерности либо использования сжатой информации.
Постановку задачи динамического программирования рассмотрим на примере инвестирования, связанного с распределением средств между предприятиями. В результате управления инвестициями система последовательно переводится из начального состояния S0 в конечное Sn. Предположим, что управление можно разбить на n шагов и решение принимается последовательно на каждом шаге, а управление представляет собой совокупность n пошаговых управлений. На каждом шаге необходимо определить два типа переменных - переменную состояния системы Sk и переменную управления xk . Переменная Skопределяет, в каких состояниях может оказаться система на рассматриваемом k-м шаге. В зависимости от состояния Sна этом шаге можно применить некоторые управления, которые характеризуются переменной xk которые удовлетворяют определенным ограничениям и называются допустимыми.
Допустим. Х= (x1, x2, ..., xk, ..., xn ) - управление, переводящее систему из состояния S0 в состояние Sn,
a Sk - есть состояние
системы на k-м шаге управления. Тогда последовательность состояний
системы можно представить в виде графа, представленного ниже:
Применение управляющего воздействия xk на каждом шаге переводит систему в новое состояние S1 (S, xk)и приносит некоторый результат Wk(S, xk). Для каждого возможного состояния на каждом шаге среди всех возможных управлений выбирается оптимальное управление x*k , такое, чтобы результат, который достигается за шаги с k-го по последний n-й, оказался бы оптимальным.
При выборе шагового управления необходимо учитывать следующие требования:
1)Возможные исходы предыдущего шага Sk-1 ;
2)Влияние управления xk на все оставшиеся до конца процесса шаги (n-k).
В задачах динамического программирования первое требование учитывают, делая на каждом шаге условные предположения о возможных вариантах окончания предыдущего шага и проводя для каждого из вариантов условную оптимизацию. Выполнение второго требования обеспечивается тем, что в этих задачах условная оптимизация проводится от конца процесса к началу.
На первом этапе
решения задачи, называемом условной оптимизацией, определяются функция Беллмана
и оптимальные управления для всех возможных состояний на каждом шаге, начиная с
последнего в соответствии с алгоритмом обратной прогонки. На последнем, n-м
шаге оптимальное управление - х*n определяется
функцией Беллмана: F(S) = max
{Wn (S, xn )}, в соответствии с которой максимум выбирается из
всех возможных значений xn , причем
Дальнейшие вычисления производятся
согласно рекуррентному соотношению, связывающему функцию Беллмана на каждом
шаге с этой же функцией, но вычисленной на предыдущем шаге. В общем виде это
уравнение имеет вид
Fn(S) = max {Wn (S, xn ) + Fk+1(S1(S, xk ))}
Этот максимум (или минимум) определяется по всем возможным для k и S значениям переменной
управления X.
После того, как функция Беллмана и соответствующие оптимальные управления найдены для всех шагов с n-го по первый, осуществляется второй этап решения задачи, называемый безусловной оптимизацией. Пользуясь тем, что на первом шаге (k = 1) состояние системы известно - это ее начальное состояние S0 , можно найти оптимальный результат за все nшагов и оптимальное управление на первом шаге x1, которое этот результат доставляет. После применения этого управления система перейдет в другое состояние S1(S, x*1), зная которое, можно, пользуясь результатами условной оптимизации, найти оптимальное управление на втором шаге x*2, и так далее до последнего n-го шага. Вычислительную схему динамического программирования можно строить на сетевых моделях, а также по алгоритмам прямой прогонки (от начала) и обратной прогонки (от конца к началу). Рассмотрим примеры решения различных по своей природе задач, содержание которых требует выбора переменных состояния и управления.
Требуется распределить имеющиеся В единиц средств среди nредприятий, доход gi(xi) от которых, в зависимости от количества вложенных средств xi, определяется матрицей (n×n), приведенной в следующей табл.1, так, чтобы суммарный доход со всех предприятий был бы максимальным.
Таблица 1
gi Х |
g1 |
g2 |
… |
gi |
… |
gn |
x1 |
g1(x1) |
g2(x1) |
… |
gi(x1) |
… |
gn(x1) |
x2 |
g1(x2) |
g2(x2) |
… |
gi(x2) |
… |
gn(x2) |
… |
… |
… |
… |
… |
… |
… |
xi |
g1(xi) |
g2(xi) |
… |
gi(xi) |
… |
gn(xi) |
… |
… |
… |
… |
… |
… |
… |
xn |
g1(xn) |
g2(xn) |
… |
gi(xn) |
… |
gn(xn) |
Запишем математическую модель задачи.
Определить , удовлетворяющей условиям
(1)
и обеспечивающий максимум целевой функции
(2)
Эта задача может быть решена простым перебором всех возможных вариантов распределения В единиц средств по nпредприятиям, например сетевой модели. Однако решим её более эффиктивным методом, который заключается в замене сложной многовариантой задачи многократным решением простых задач с малым количеством исследуемых вариантов.
С этой целью разобьем процесс оптимизации на n шагов и будем на каждом k- том шаге оптимизировать инвестирование не всех предприятий, а только предприятий с k-го по n-е. При этом естественно считать, что в остальные предприятия (с первого по (k-1)-е) тоже вкладываются средства, и поэтому на инвестирование предприятий с k-го по n-е остаются не все средства, а некоторая меньшая сумма. Эта величина и будет являться переменной состояния системы. Переменной управления на k-ом шаге назовем величину хkсредств, вкладываемых в k-ое предприятие. В качестве функции Беллмана Fk(Ck) на k-ом шаге можно выбрать максимально возможный доход, который можно получить с предприятий с k-го по n-е при условии, что на их инвестирование осталось Сkсредств. Очевидно, что при вложении в k-ое предприятие хkсредств будет получена прибыль gk(xk), а система к (k+1)-му шагу перейдет в состояние Sk+1и, следовательно, на инвестирование предприятий с (k+1)-го до n-го останется Сk+1=(Сk-хk) средств.
Таким
образом, на первом шаге условной оптимизации при k=n функция Беллмана представляет
собой прибыль только с n-го
предприятия. При этом на инвестирование может остаться количество средств Сn, Чтобы получить
максимум прибыли с этого предприятия, можно вложить в него все средства, т.е.
На
каждом последующем шаге для вычисления функции Беллмана необходимо использовать
результаты предыдущего шага. Пусть на k-ом
шаге для инвестирования предприятий с k-го
по n-ое
осталось Сkсредств Тогда от вложения в k-ое предприятие хk средств будет получена
прибыль gk(Ck), а на инвестирование
остальных предприятий (с k-го
по n-ое)
останется
средств. Максимально возможный доход, который может быть
получен с предприятий (с k-го
по n-ое),
будет равен:
(3)
Максимум
выражения (3) достигается на некотором значении , которое является оптимальным управлением на k-ом шаге для состояния системы Sk. Действуя, таким
образом, можно определить функции Беллмана и оптимальное управление до
шага k=1.
Значение
функции Беллмана F1(C1)
представляет собой максимально возможный доход со всех предприятий, а значение , на котором достигается максимум дохода, является
оптимальным количеством средств, вложенных в первое предприятие. Далее на этапе
безусловной оптимизации для всех последующих шагов вычисляется величина
оптимальным управлением
на k-ом
шаге является то значение хk,
которое обеспечивает максимум дохода при соответствующем состоянии системы Sk.
Пример 1.
На развитее трех предприятий выделено 5 млн. руб. Известна эффективность капитальных вложений в каждое предприятие, заданная значением нелинейной функции gi(xi), представленная в табл. 2. Необходимо распределить выделенные средства между предприятиями таким образом, чтобы получить максимальный суммарный доход.
Для
упрощения расчетов предполагаем, что распределение средств осуществляется в
целых числах млн. руб.
Таблица 2
х |
g1 |
g2 |
g3 |
0 |
0 |
0 |
0 |
1 |
2,2 |
2 |
2,8 |
2 |
3 |
3,2 |
5,4 |
3 |
4,1 |
4,8 |
6,4 |
4 |
5,2 |
6,2 |
6,6 |
5 |
5,9 |
6,4 |
6,9 |
Решение
I этап. Условная оптимизация.
1-й
шаг: k=3.
Предположим, что все средства в количестве х3=5 млн. руб. отданы
третьему предприятию. В этом случае максимальный доход, как это видно из табл.
3, составит g3(x3)=6,9
тыс. руб., следовательно:
Таблица 3
x3 C3 |
0 |
1 |
2 |
3 |
4 |
5 |
|
|
0 |
0 |
|
|
|
|
|
0 |
0 |
1 |
|
2,8 |
|
|
|
|
2,8 |
1 |
2 |
|
|
5,4 |
|
|
|
5,4 |
2 |
3 |
|
|
|
6,4 |
|
|
6,4 |
3 |
4 |
|
|
|
|
6,6 |
|
6,6 |
4 |
5 |
|
|
|
|
|
6,9 |
6,9 |
5 |
2-й шаг: k=2. Определяем оптимальную стратегию при распределении денежных
скачать dle 10.6