Тема 14. Принятие оптимальных решений в инвестиционном проектировании.
Цель лекции: Изучить оптимальные решения в инвестиционном проектировании.
Вопросы лекции:
- Суть методов оптимизации: линейное, нелинейное и динамическое программирование (планирование)
- Область применения методов экономико-математического моделирования
- Исследование операций в экономике: методы оптимизации (линейное, нелинейное и динамическое программирование (планирование))
- Использование теории вероятности и математической статистики принятия решения об инвестировании.
Модель управляемого объекта строят для того, чтобы применить какой-либо вычислительный аппарат для оптимизации функционирования этого объекта. Разработка модели почти всегда связана с попыткой достижения двух противоречивых целей: как можно точнее отобразить реальные процессы и получить модель максимально простую, чтобы ею было легко и удобно манипулировать.
Математические модели - в основе их построения лежит допущение о том, что все компоненты модели количественно измеримы.
В модели обязательно присутствуют следующие элементы:
- Управляемые факторы, т.е. факторы, на которые может влиять лицо, принимающее решение.
- Неуправляемые переменные. Ими не управляет лицо, принимающее решение, но кто-либо другой может и управлять.
- Внутренние или внешние ограничения, накладываемые на возможные значения управляемых и неуправляемых переменных.
Операция – это любое мероприятие, имеющее единый замысел и направленное к достижению определенной цели. Операция всегда является управляемым мероприятием. Всякий определенный выбор зависящих от нас параметров называется решением. Оптимальными называются решения, которые, по тем или иным соображениям, предпочтительнее других. Основная задача исследования операций – предварительное количественное обоснование оптимальных решений. Суть методов оптимизации: линейное, нелинейное и динамическое программирование (планирование)
Линейное программирование
Линейное программирование – обусловлено линейностью целевой функции и ограничений, накладываемых на решение.
Анализ модели на чувствительность
Интересно оценить влияние на оптимальное решение увеличения и уменьшения спроса, изменения запасов исходных продуктов, вариации рыночных цен.
Первая задача анализа на чувствительность: оценим степень влияния на оптимальное решение изменения запасов ресурсов. При анализе модели на чувствительность к правым частям определяются:1) предельно допустимое увеличение запаса дефицитного ресурса, позволяющее улучшить найденное оптимальное решение; 2) предельно допустимое снижение запаса недефицитного ресурса, не изменяющее найденного ранее оптимального значения целевой функции. Интересно также оценить влияние на оптимум сокращения объема дефицитных ресурсов.
Вторая задача анализа на чувствительность - вводится характеристика каждой дополнительной единицы дефицитного ресурса, выражаемая через соответствующее приращение оптимального значения целевой функции.
Третья задача анализа на чувствительность. Она состоит в том, чтобы определить, в каких пределах допустимо изменение коэффициентов целевой функции.
Для рассмотрения алгоритма решения задач линейного программирования желательно, чтобы каждая из них записывалась в стандартной математической форме. Она носит название «основной задачи линейного программирования» (ОЗЛП). К ней можно свести любую задачу линейного программирования.
Нелинейное программирование
В общем виде задача линейного программирования формулируется следующим образом: необходимо найти такие значения переменных Х1, Х2,…Хn, которые доставляли бы максимум (или минимум) целевой функции Z(x1,x2,….xn) и удовлетворяли системе ограничений
gi (x1, x2,…, xn)=bi, i=1,2,…,m1,
gj (x1,x2,…xn)>=bj, j=m1+1, m1+2,…,m2,
gk (x1,x2,…xn),<=bk, k=m2+1, m2+2,…,m.
Линейное программирование не имеет единой методики решения, а в ряде случаев вообще не имеет конструктивного алгоритма, гарантирующего нахождение оптимального решения.
Метод Лагранжа, изучаемый в курсе дифференциального исчисления применяется в тех задачах, у которых функции Z (x1,x2,…xn) и g (x1,x2,…xn) дифференцируемы.
Чаще всего при решении практических задач используют градиентные методы. Градиент определяет направление и величину наибольшего увеличения функции. В градиентном методе направление движения определяется на каждом шаге.
Дробно-линейное программирование
При решении экономических задач встречаются такие случаи, когда в исходной постановке целевая функция является нелинейной, но с помощью вспомогательных несложных преобразований может быть приведена к линейному виду. Ограничения же имеют вид линейных неравенств.
Целочисленное программирование
Целочисленное программирование является разновидностью нелинейного программирования. Специфика этого вида задач состоит в том, что все или некоторые переменные должны принимать только целочисленные значения. Задача называется полностью целочисленной, если условие целочисленности наложено на все ее переменные. Когда это условие относится лишь к некоторым переменным, задача называется частично целочисленной. Если при этом целевая функция и функции, входящие в ограничения, линейны, то задача является линейной целочисленной. Для решения линейных целочисленных задач используют метод отсечений и метод ветвей и границ.
Динамическое программирование
Динамическое программирование представляет собой математический аппарат, разработанный для эффективного решения некоторого класса задач математического программирования. Этот класс характеризуется возможностью естественного разбиения всей операции на ряд взаимосвязанных этапов. Самый простой способ решения задачи – полный перебор всех вариантов. Динамическое программирование использует идею пошаговой оптимизации. В этой идее есть принципиальная тонкость: каждый шаг оптимизируется не сам по себе, а с «оглядкой на будущее», на последствия принимаемого «шагового» решения. Оно должно обеспечить максимальный выигрыш не на данном конкретном шаге, а на всей совокупности шагов, входящих в операцию.
Принцип динамического программирования: планируя многошаговую операцию, нужно выбирать управление на каждом шаге с учетом всех его будущих последствий на еще предстоящих шагах. Управление на I-м шаге выбирается так, чтобы оказалось максимальной сумма выигрышей на всех оставшихся до конца шагах плюс данный. В этом состоит смысл принципа оптимальности в динамическом программировании (принципа оптимальности Беллмана). Среди всех шагов есть один, который может планироваться без «оглядки на будущее». Этот шаг последний. Его можно планировать так, чтобы он сам принес наибольшую выгоду. Поэтому процесс динамического программирования обычно разворачивается от конца к началу. В процессе оптимизации управления методом динамического программирования многошаговый процесс «проходится» дважды: первый раз – от конца к началу, в результате чего находятся условные оптимальные управления и условные оптимальные выигрыши за оставшиеся до конца процесса шаги; второй раз – от начала к концу, когда остается только «прочитать» уже готовые рекомендации и найти безусловное оптимальное управление, состоящее из оптимальных шаговых управлений.