- •Приднестровский государственный универсистет им. Т.Г. Шевченко
- •Математическое моделирование в экономике
- •Содержание
- •Предисловие
- •Введение
- •Лабораторная работа №1
- •Теоретический раздел Методы линейного программирования
- •Общая задача линейного программирования (злп)
- •Постановка злп
- •Построение экономико-математической модели задачи
- •Переход от стандартной записи задачи к канонической
- •Примеры типовых задач
- •Надстройка «Solver» (Поиск решения)
- •Параметры средства Поиск решения
- •Отчеты поиска решения
- •Математический редактор Mathcad
- •Общие задания
- •Индивидуальные задания
- •Контрольные вопросы:
- •Лабораторная работа №2
- •Теоретический раздел Симплексный метод решения злп
- •Алгоритм симплексного метода
- •Примеры типовых задач
- •Симплексная таблица
- •Практический раздел
- •Общие задания
- •Контрольные вопросы
- •Лабораторная работа №3
- •Теоретический раздел Взаимодвойственные злп
- •Построение двойственной задачи
- •Правила построения двойственных задач
- •Теоремы двойственности
- •Соотношение переменных прямой и двойственной задач
- •Пример типовой задачи
- •Практический раздел
- •Общие задания
- •Контрольные вопросы
- •Лабораторная работа №4
- •Теоретический раздел Транспортная задача
- •Построение экономико-математической модели задачи
- •Построение опорного плана
- •Метод наименьшей стоимости (тарифов)
- •Метод северо-западного угла (диагональный)
- •Получение оптимального плана. Метод потенциалов
- •Алгоритм оценки оптимальности плана методом потенциалов
- •Примеры типовых задач
- •Практический раздел
- •Общие задания
- •Индивидуальные задания
- •Контрольные вопросы
- •Лабораторная работа №5
- •Теоретический раздел Теория игр
- •Основные понятия теории игр
- •Постановка игровых задач, методы и модели их решения
- •Принцип минимакса
- •Характерные оценки
- •Решение игр в смешанных стратегиях
- •Метод линейного программирования
- •Примеры типовых задач
- •Производственные стратегии фирмы
- •Платежная матрица
- •Практический раздел
- •Общие задания
- •Индивидуальные задания
- •Контрольные вопросы
- •Лабораторная работа №6
- •Теоретический раздел Инвестиционный портфель ценных бумаг
- •Оптимальный портфель инвестиций
- •Доходность портфеля ценных бумаг
- •Измерение риска портфеля ценных бумаг
- •Оптимизация портфеля ценных бумаг
- •Построение экономико-математической модели задачи
- •Практический раздел Оптимальный портфель инвестиций с максимальным доходом
- •Проценты доходности ценных бумаг и рынка
- •Оптимальный портфель инвестиций с минимальным риском
- •Общие задания
- •Индивидуальные задания
- •Контрольные вопросы
- •Лабораторная работа №7
- •Теоретический раздел Нелинейные модели
- •Задача управления запасами
- •Постановка задачи
- •Основные понятия и определения
- •Основная модель управления запасами. Модель Уилсона
- •Входные:
- •Выходные:
- •Построение экономико-математической модели задачи
- •Модель планирования экономичного размера партии
- •Построение экономико-математической модели задачи
- •Практический раздел
- •Общие задания
- •Индивидуальные задания
- •Контрольные вопросы
- •Лабораторная работа №8
- •Теоретический раздел Теория массового обслуживания
- •Определение характеристик и моделирование систем массового обслуживания Потоки событий
- •Простейшая одноканальная модель
- •Примеры типовых задач Анализ входного потока заявок
- •Анализ потока обслуживания заявок
- •Анализ одноканальной смо
- •Практический раздел
- •Общие задания
- •Индивидуальные задания
- •Контрольные вопросы
- •Список литературы
- •Приложение
- •Математическое моделирование в экономике
Контрольные вопросы:
Каковы особенности задач линейного программирования?
Как формулируется общая ЗЛП?
Какое решение системы линейных уравнений является планом?
Что называют планом ЗЛП, опорным планом, оптимальным планом?
Какой опорный план называется вырожденным, невырожденным?
В чем отличие стандартной ЗЛП от канонической ЗЛП?
Как привести к канонической форме ЗЛП: а) если требуется найти минимум линейной функции цели; б) если функциональные ограничения заданы в виде неравенств разного вида
и
?Дайте краткую характеристику программ Solver и Mathcad.
Опишите технологию нахождения оптимального плана при помощи Поиска решения.
Лабораторная работа №2
Тема: Симплексный метод решения ЗЛП.
Цель: Научиться решать ЗЛП с помощью симплексного метода, строить табличную модель и находить решение с помощью Поиска решения.
Теоретический раздел Симплексный метод решения злп
Для решения ЗЛП предложено немало различных алгоритмов. Наиболее эффективным среди них является алгоритм, известный под названием симплексный метод, или метод последовательного улучшения плана.
Впервые симплексный метод был предложен американским ученым Дж. Данцингом в 1949 г., однако еще в 1939 г идеи метода были разработаны российским математиком Л.В. Канторовичем.
Симплексный метод – это итеративный процесс направленного решения системы уравнений по шагам, который начинается с опорного решения и в поисках лучшего варианта движется по угловым точкам области допустимого решения, улучшающих значение целевой функции до тех пор, пока целевая функция не достигнет оптимального значения.
Количество перебираемых допустимых базисных решений можно сократить и проводить не беспорядочный перебор, а последовательный по специальному алгоритму, улучшая значение целевой функции.
В тех случаях, когда модель содержит m уравнений, для построения опорных решений используются m переменных, принимающих некоторые положительные значения при нулевых значениях остальных свободных переменных. Вычислительная процедура может быть представлена в виде следующей последовательности.
Итеративный переход от одного допустимого базисного решения проводится направленно от одной вершины области допустимых решении к другой, заключающегося в обмене базисных и свободных переменных: базисная переменная приравнивается к нулю и переходит в свободную, а соответственно свободная переменная переводится на место базисной. Если в столбце свободных членов все элементы положительны, то решение является допустимым. Если в строке целевой функции все элементы неотрицательные, то решение является оптимальным при решении задачи на максимум.
Алгоритм симплексного метода
В соответствии с симплексным методом на первом шаге находят начальное опорное решение – допустимый вариант, удовлетворяющий всем ограничениям. Затем последовательно за определенное число итераций направленно осуществляется переход от одного опорного решения к другому вплоть до оптимального. Следует заметить, что на первом шаге в качестве базисных переменных следует выбрать такие m переменные, каждая из которых входит только один раз в одно из m уравнений системы, при этом нет таких уравнений системы, в которые не входит ни одна из этих переменных. При этом если выбранные переменные имеют те же знаки, что и соответствующие им свободные члены в правых частях, то полученное базисное решение будет допустимым. В процессе решения системы линейных уравнений необходимо ориентироваться на сохранение неотрицательности всех переменных, поскольку это определяет допустимость решения.
Для использования
рассмотренного алгоритма симплексного
метода к минимизации линейной формы
связи
следует искать максимум функции
,
а затем полученное решение взять с
обратным знаком.
Предложенный алгоритм приводит к оптимальному решению для любой модели линейного программирования за конечное число итераций, если система линейных уравнений задачи совместна.
Симплексный метод основан на последовательном переходе от одного базисного решения (опорного плана) ЗЛП к другому опорному плану, при этом значение целевой функции изменяется в лучшую сторону.
Рассмотрим алгоритм симплексного метода на примере решения задачи планирования товарооборота предприятия торговли.
Коммерческое
предприятие реализует n
товарных групп, располагая m
ограниченными материально-денежными
ресурсами
.
Известны расходы ресурсов каждого
i-вида
на реализацию единицы товара по каждой
группе, представленной в виде матрицы
,
и прибыль
получаемая предприятием от реализации
единицы товара j-группы
(табл. 2.1).
Необходимо определить объем и структуру
товарооборота
,
при которых прибыль коммерческого
предприятия была бы максимальной.
Математическую модель задачи запишем следующим образом.
Определить вектор , который удовлетворяет ограничениям вида
и обеспечивает максимальное значение целевой функции
Алгоритм симплексного метода включает следующие этапы.
1. Составление
первого опорного плана.
Система ограничений задачи, решаемой
симплексным методом, задана в виде
системы неравенств смысла «
»,
правые части которых
.
Перейдем от системы неравенств к системе
уравнений путем введения неотрицательных
дополнительных балансовых переменных.
Векторы-столбцы при этих переменных
представляют собой единичные векторы
и образуют базис, а соответствующие им
переменные называются базисными:
Где
–
дополнительные переменные,
,
– базисные
переменные,
.
Решим эту систему относительно дополнительных переменных:
а функцию цели перепишем в виде уравнения
Следует заметить, что опорным решением называется базисное
неотрицательное решение.
Полагая, что
основные переменные
, получим допустимое базисное решение
– опорный план
,
который заносим в симплексную табл.
2.1. Она состоит из коэффициентов системы
ограничений и свободных членов. Последняя
строка таблицы называется индексной и
заполняется коэффициентами функции
цели, взятыми с противоположным знаком.
2. Проверка плана на оптимальность. Если значения базисных переменных неотрицательны, то решение является допустимым. В противном случае, который чаще всего встречается в задачах на минимизацию целевой функции, такой план является псевдопланом и необходимо определить новые неотрицательные базисные переменные (алгоритм рассмотрен в примере 3).
Если все коэффициенты индексной строки симплексной таблицы при решении задачи на максимум неотрицательны ( 0), то план является оптимальным. Если найдется хотя бы один коэффициент индексной строки меньше нуля, то план не оптимальный, и его необходимо улучшить.
3. Определение ведущих столбца и строки. Из отрицательных коэффициентов индексной строки выбираем наибольший по абсолютной величине, что и определяет ведущий столбец, который показывает, какая переменная на следующей итерации перейдет из свободных в базисные.
Затем элементы
столбца свободных членов симплексной
таблицы делим на элементы того же знака
(
)
ведущего столбца (т.е. без отрицательных
элементов). Результаты заносим в отдельный
столбец
,
которые должны быть всегда положительны.
Строка симплексной таблицы, соответствующая
минимальному значению
,
является ведущей. Она и определяет
переменную
,
которая на следующей итерации выйдет
из базиса и станет свободной (обмен).
Элемент симплексной таблицы, находящийся на пересечении ведущих столбца и строки, называют разрешающим и выделяют, например, кружком.
4. Построение нового опорного плана. Переход к новому плану осуществляется в результате пересчета симплексной таблицы методом Жордана-Гаусса. Сначала заменим переменные в базисе, т.е. вместо в базис войдет переменная соответствующая ведущему столбцу (замена).
Разделим все элементы ведущей строки предыдущей симплексной таблицы на разрешающий элемент и результаты деления занесем в строку следующей симплексной таблицы, соответствующей введенной в базис переменной . В результате этого на месте разрешающего элемента в следующей симплексной таблице запишем 1, а в остальных клетках j столбца, включая клетку столбца индексной строки, записываем нули. Остальные новые элементы нового плана находятся по правилу прямоугольника:
где СТЭ – элемент старого плана;
РЭ – разрешающий элемент;
А и В – элементы старого плана, образующие прямоугольник с элементами СТЭ и РЭ.
Далее возвращаемся ко второму этапу алгоритма – проверке плана на оптимальность.
Если в ведущем
столбце все коэффициенты
,
то функция цели
не ограничена на множестве допустимых
планов, т.е.
и
задача не имеет решения.
Если в столбце
симплексной таблицы содержатся два или
несколько одинаковых наименьших
значений, то новый опорный план будет
вырожденным (одна или несколько базисных
переменных станут равными нулю).
Вырожденные планы могут привести к
зацикливанию, т.е. к многократному
повторению процесса вычислений, не
позволяющему получить оптимальный
план. В таких случаях для выбора ведущей
строки используют метод Креко, который
заключается в следующем. Элементы строк,
имеющие одинаковые наименьшие значения
,
делятся на предполагаемые разрешающие
элементы, а результаты заносятся в
дополнительные строки. За ведущую строку
выбирается та, в которой раньше встретится
наименьшее частное при чтении таблицы
слева направо по столбцам. Например,
таблица, содержащая три равных значения
= 2, имеет следующий вид (табл. 2.1).
Таблица 2.1
План |
Базисные переменные |
Значения базисных переменных |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
|
I |
x4 |
4 |
2 |
3 |
6 |
1 |
0 |
0 |
2 |
4/2=2 |
x5 |
8 |
4 |
8 |
1 |
0 |
1 |
0 |
4 |
8/4=2 |
|
x6 |
10 |
5 |
12 |
-1 |
1 |
0 |
1 |
5 |
10/5=2 |
Допустим, разрешающим
столбцом является
,
тогда разрешающим элементом может быть
2, 4 или 5. Следуя указанному правилу,
получим таблицу (табл. 2.2).
Таблица 2.2
Значения базисных переменных |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
2 |
1 |
1,5 |
3 |
0,5 |
0 |
0 |
1 |
2 |
1 |
2 |
0,25 |
0 |
0,25 |
0 |
1 |
2 |
1 |
2,4 |
-0,2 |
0,2 |
0 |
0,2 |
1 |
Сравниваем последовательно слева направо полученные частные по столбцам. В первом и втором столбцах все частные одинаковы, а в третьем столбце наименьшее частное 1,5 в первой строке, следовательно, эта строка и будет разрешающей с разрешающим элементом 2.
Если в оптимальный
план вошла дополнительная переменная
,
то при реализации такого плана имеются
недоиспользованные ресурсы i-го
вида в количестве, полученном в столбце
свободных членов симплексной таблицы.
Если в индексной строке симплексной таблицы оптимального плана находится нуль, принадлежащий свободной переменной, не вошедшей в базис, а в столбце, содержащем этот нуль, имеется хотя бы один положительный элемент, то задача имеет множество оптимальных планов. Свободную переменную, соответствующую указанному столбцу, можно внести в базис, выполнив соответствующие этапы алгоритма. В результате будет получен второй оптимальный план с другим набором базисных переменных.
