
- •Г.В. Бабенко Математическая экономика
- •Г.В. Бабенко
- •Предисловие
- •Глава 1 посвящена вопросам финансовых вычислений - процентные вычисления, дисконтирование, расчет доходности в случае совершения операций несколько раз в году.
- •Глава 4 раскрывает подходы к расчетам, применяемым при определении параметров сделок по краткосрочному и долгосрочному страхованию жизни.
- •Введение
- •1. Финансовые вычисления
- •Проценты простые
- •1.1.1. Наращивание по простой процентной ставке
- •1.1.2 Сложные проценты
- •1.1.3 Наращивание по сложным процентам
- •1.1.4 Определение суммы по смешанным процентным ставкам
- •1.1.5 Эквивалентная ставка
- •1.1.6 Номинальная ставка
- •1.1.7 Эффективная ставка
- •1.2 Математическое дисконтирование и банковский учёт
- •1.2.1 Математическое дисконтирование
- •1.2.2 Банковский учёт или учёт векселей
- •1.3 Учёт платёжного обязательства с начислением простых процентов.
- •1.3.1 Наращение по простой процентной ставке
- •1.3.2. Дисконтирование по сложным годовым учётным ставкам
- •1.3.3 Наращение по сложным учётным ставкам
- •1.3.4 Наращение по сложной учётной ставке m раз в году.
- •Вопросы и задачи:
- •2. Наращение процентов и инфляция.
- •2.1. Консолидация платежей
- •2.2 Методы составления планов погашения обязательств
- •2.3 Обыкновенная годовая рента
- •2.4 Оценки инвестиционных проектов
- •2.4.1 Внутренняя норма окупаемости
- •2.4.2 Граничный дисконтный множитель
- •2.5 Барьерная ставка
- •Вопросы и задачи:
- •3. Риски и их измерители
- •3.1. Методы уменьшения финансового риска
- •3.2. Оптимизация портфеля ценных бумаг
- •Вопросы и задачи:
- •4. Распределение рисков в страховании
- •4.1. Актуарная математика
- •4.2 Основные вероятностные характеристики продолжительности жизни
- •4.3. Анализ моделей краткосрочного страхования жизни
- •Откуда получим, что
- •4.4 Анализ модели долгосрочного страхования
- •Вопросы и задачи
- •5. Линейное программирование
- •5.1 Основные понятия математического программирования экономических процессов
- •5.1.1 Исследование операций. Оптимальное решение.
- •5.1.2 Классификация оптимизационных методов и моделей
- •5.1.3 Основные понятия и этапы построения оптимизационных моделей
- •5.1.4 Примеры задач линейного программирования
- •5.1.5 Общая постановка задачи линейного программирования
- •5.1.6 Теоретические основы методов линейного программирования. Выпуклые множества точек
- •5.2 Геометрический метод решения задач линейного программирования
- •5.2.1 Свойства задачи линейного программирования
- •5.2.2Геометрическое изображение системы ограничений.
- •5.3 Симплексный метод
- •5.3.1 Геометрическая интерпретация симплексного метода
- •5.3.2 Аналитические методы поиска оптимального решения
- •5.3.3. Симплексные таблицы
- •5.3.4 Метод искусственного базиса
- •5.4 Двойственные задачи
- •5.4.1 Экономическая интерпретация двойственной задачи
- •5.4.2 Взаимно двойственные задачи линейного программирования и их свойства
- •5.4.3 Первая теорема двойственности
- •5.4.4 Вторая теорема двойственности
- •5.5 Транспортная задача.
- •5.5.1. Экономико-математическая модель транспортной задачи.
- •5.5.2 Нахождение первоначального базисного распределения поставок
- •5.5.3. Поиск оптимального решения методом потенциалов.
- •5.6. Открытая модель транспортной задачи.
- •Вопросы и задачи:
- •6. Управление запасами
- •6.1 Модели управления запасами в экономике
- •6.2 Управление запасами при случайном спросе и задержке в поставках
- •Вопросы и задачи.
- •Заключение
- •Библиографический список
5.2.2Геометрическое изображение системы ограничений.
Линия уровня линейной функции.
Выше говорилось, что множество допустимых решений (многогранник решений) задачи линейного программирования представляет собой выпуклый многогранник (или выпуклую многогранную область), а оптимальное решение задачи находится, по крайней мере, в одной из угловых точек многогранника решений.
Рассмотрим задачу в стандартной форме с двумя переменными (n = 2). К такой форме может быть сведена и каноническая задача (с ограничениями в виде уравнений), когда число переменных n больше числа уравнений m на 2, т.е. n - m = 2.
Пусть геометрическим изображением системы ограничений является многоугольник ABCDE (рис. 2.1). Необходимо среди точек этого многоугольника найти такую точку, в которой линейная функция F=c1x1 + c2x2 принимает максимальное (или минимальное) значение.
Рассмотрим так называемую линию уровня линейной функции F, т.е. линию, вдоль которой эта функция принимает одно и то же фиксированное значение а, т.е. F = а, или
.
(5.2.1)
На многоугольнике решений следует найти точку, через которую проходит линия уровня функции F с наибольшим (если линейная функция максимизируется) или наименьшим (если она минимизируется) уровнем.
Уравнение линии уровня функции (5.2.1) есть уравнение прямой линии. При различных уровнях а линии уровня параллельны, так как их угловые коэффициенты определяются только соотношением между коэффициентами с1 и с2 и, следовательно, равны. Таким образом, линии уровня функции F - это своеобразные "параллели", расположенные под каким-то углом к осям координат.
F = Fmax
B C
F = Fmin
F = 0
D
A
E
F
= a
0
Рисунке 5.2.1
Важное свойство линии уровня линейной функции состоит в том, что при параллельном смешении линии в одну сторону уровень только возрастает, а при смещении в другую сторону только убывает.
Пусть имеются три линии уровня:
F = c1x1 + c2x2 = a1 (I),
F = c1x1 + c2x2 = a2(II),
F = c1x1 + c2x2 = a3(III),
причем линия II заключена между линиями I и II. Тогда a1 < a2 < a3 или a1>a2>a3.
В самом деле, на штриховой линии - (перпендикулярной к линиям уровня, (рис. 5.2.2) уровень является линейной функцией, а значит, при смещении в одном из направлений возрастает, а в другом - убывает.
Х
2
III
I II
F = a
F = a1 F = a2
0 Х 1
Рисунке 5.2.2
Для определения направления возрастаниия рекомендуется изобразить две линии уровня и определить, на которой из них уровень больше. Например, одну из линий можно взять проходящей через начало координат (если линейная функция имеет вид F = с1х1 + с2х2, т.е. без свободного члена, то это соответствует нулевому уровню). Другую линию можно провести произвольно, так, например, чтобы она проходила через множество решений системы ограничений. Далее, определив направление возрастания линейной функции (обозначим его вектором q), найдем точку, в которой функция принимает максимальное или минимальное значение (на рис. 2.1 - это точка С или А).
Этапы решения задачи
Таким образом, геометрически задача линейного программирования представляет собой поиск такой точки многогранника решений, координаты которой доставляют линейной функции наибольшее (наименьшее) значение, причем допустимыми решениями являются все точки многогранника решений.
Графический метод решения задачи линейного программирования состоит из следующих этапов.
Этап 1. Сначала на координатной плоскости х1Oх2, строится допустимая многоугольная область (область допустимых решений, область определения), соответствующая ограничениям. Далее строится вектор q, координаты которого являются частными производными функции F. Вектор показывает направление возрастания линейной функции F в какой-нибудь точке X0, принадлежащей допустимой области.
Этап 2. Прямая F = c1x1 + c2x2, перпендикулярная вектору q, передвигается в направлении этого вектора в случае максимизации F до тех пор, пока не покинет пределов многоугольной области. Предельная точка (или точки) области при этом движении и является точкой максимума F.
Этап 3. Для нахождения координат точки максимума достаточно решить два уравнения прямых, получаемых из соответствующих ограничений и дающих в пересечении точку максимума. Значение F, найденное в получаемой точке, является максимальным.
В случае минимизации F прямую F = c1x1 + c2x2 надо двигать в направлении, противоположном вектору q. Ясно, что если прямая F = с1х1 + c2x2 при своем движении не покидает допустимой области, то соответствующий максимум или минимум F не существует.
Рассмотрим пример. Решить графическим методом следующую задачу:
F = 30 x1 + 60 x2 max
при ограничениях:
Прямые ограничения х1, х2 0 означают, что область решений будет лежать в первой четверти декартовой системы координат; отметим штриховкой эту область на рисунке 5.2.3.
Этап 1. Определим множество решений первого неравенства. Оно состоит из решения уравнения и строгого неравенства. Решением уравнения служат точки прямой х1 + Зх2 - 21 = 0. Построим прямую по двум точкам (0; 7) и (21; 0), которые легко получить в результате последовательного обнуления одной из переменных. На рисунке обозначим ее цифрой I.
Множество решений строгого неравенства - одна из полуплоскостей, на которую делит плоскость построенная прямая. Какая из них является искомой, можно выяснить при помощи одной контрольной точки. Если в произвольно взятой точке, не принадлежащей прямой, неравенство выполняется, то оно выполняется и во всех точках той полуплоскости, которой принадлежит контрольная точка, и не выполняется во всех точках другой полуплоскости. В качестве такой точки удобно брать начало координат. Подставим координаты (0; 0) в неравенство, получим -21 < 0, т.е. оно выполняется. Следовательно, областью решения неравенства служит нижняя полуплоскость.
Аналогичным образом построим области решения двух других неравенств:
3x1 + 2x2 – 21 = 0;
x1 = 0, x2 = 10,5;
x2 = 0, x1 = 7.
(на рисунке прямая II);
3x1 + 2x2 – 21 < 0 при х1 = х2 = 0, – 18 < 0 выполняется, берётся нижняя полуплоскость.
Заштрихуем общую область для всех неравенств, обозначим вершины многоугольника латинскими буквами и определим их координаты, решая систему уравнений двух пересекающихся соответствующих прямых. Например, определим координаты точки С, являющейся точкой пересечения второй и третьей прямой:
3x1 + 2x2 = 21, x2 = 3, x1 = 5,
3x1 + x2 =18.
Вычислим значение целевой функции в этой точке:
F = 30x1 + 60x2 = 150 + 180 = 330.
Аналогично поступим для других точек, являющихся вершинами замкнутого многоугольника OABCD, представляющего собой область допустимых решений рассматриваемой задачи. Координаты этих вершин имеют следующие значения: O (0;0), A (0;7), B (3;6), C (5;3), D (6;0).
Этап 2. Приравняем целевую функцию постоянной величины а: 30х1+60х2 = а.
Это уравнение является множеством точек, в котором целевая функция принимает значение, равное а. Меняя значение а, получим семейство параллельных прямых, каждая из которых называется линией уровня. Пусть а=0, вычислим координаты двух точек, удовлетворяющих соответствующему уравнению 30х1 + 60х2. В качестве одной из этих точек удобно взять точку О (0;0), а так как при х1 = 2х2 = 0, то в качестве второй точки возьмём точку G (2; -1).
Через эти две точки проведём линию уровня F = 30x1 + 60x2 = 0 (пунктирная прямая на рис. 5.2.3).
Рисунке 5.2.3
Этап 3. Для определения направления движения к оптимуму построим вектор q, координаты которого являются частными производными функции F, т.е. q = (30;60).
Чтобы построить этот вектор, нужно соединить точку (30;60) с началом координат. При максимизации целевой функции необходимо двигаться в направлении вектора q, а при минимизации - в противоположном направлении. Для удобства можно строить вектор, пропорциональный вектору q. Так, на рисунке 5.2.3 изображен вектор 1/3 q= (10;20).
В нашем случае движение линии уровня будем осуществлять до ее пересечения с точкой В; далее она выходит из области допустимых решений. Следовательно, именно в этой точке достигается максимум целевой функции. Отсюда легко записать решение исходной задачи линейного программирования : max F = 450 и достигается при х1 = 3; x2 = 6.
Если поставить задачу минимизации функции F = 30x1 + 60x2 при тех же ограничениях, линию уровня необходимо смещать параллельно самой себе в направлении, противоположном вектору q. Как это видно на рисунке 5.2.3, минимум целевой функции достигается в точке 0 (0;0), следовательно, можно записать min Х = 0 и достигается при х1 = 0; x2 = 0.
При решении некоторых задач линейного программирования графическим методом может встретиться случай, когда линия уровня параллельна одной из сторон выпуклого многоугольника допустимых решений, причем эта сторона расположена в направлении смещения линии уровня при стремлении целевой функции к своему оптимуму. В этом случае оптимальное значение целевой функции достигается не в одной, а в двух угловых точках (вершинах) многоугольника решений и, следовательно, во всех точках отрезка, соединяющего эти вершины, т.е. задача будет иметь бесчисленное множество решений.
Если область допустимых решений является незамкнутым выпуклым многоугольником в направлении оптимизации целевой функции, то целевая функция будет неограниченной и задача линейного программирования не будет иметь решений.
Очевидно также, что задача линейного программирования не будет иметь решений в случае, когда область допустимых решений есть пустое множество, т.е. система ограничений задачи линейного программирования содержит противоречивые неравенства и на координатной плоскости нет ни одной точки, удовлетворяющей этим ограничениям.
Рассмотренный в этой главе геометрический метод решения задач линейного программирования обладает рядом достоинств. Он прост, нагляден, позволяет быстро и легко получить ответ.
Однако только геометрический метод решения никак не может удовлетворить ни математиков, ни экономистов. Возможны "технические" погрешности, которые неизбежно возникают при приближенном построении графиков. Второй недостаток геометрического метода заключается в том, что многие величины, имеющие четкий экономический смысл (такие как остатки ресурсов производства, избыток питательных веществ и т.п.), не выявляются при геометрическом решении задач. Но самое главное - геометрический метод неприемлем для решения практических задач. Его можно применить только в том случае, когда число переменных в стандартной задаче равно двум. Поэтому необходимы: аналитические методы, позволяющие решать задачи линейного программирования с любым числом переменных и выявлять экономический смысл входящих в них величин. Эти методы будут рассмотрены в следующих главах.