- •Содержание
- •Введение
- •Тема 1. Экономико-математические методы и модели и их классификация
- •1.1. Социально-экономические системы, методы их исследования и моделирования
- •1.2.Этапы экономико-математического моделирования, классификация экономико-математических моделей и методов
- •Примеры описательных моделей
- •Тема 2. Балансовый метод в экономике
- •2.1. Общие понятия балансового метода, принципиальная схема межпродуктового баланса
- •2.2. Экономико-математическая модель межотраслевого баланса
- •2.3. Плановые расчеты на основе матричных моделей систем производства и распределения продукции
- •2.3.1. Методика расчета планового баланса по заданным валовым выпускам продукции Xiпл
- •2.3.2. Коэффициенты полных материальных затрат и методы их расчета
- •2.3.3. Методика расчета планового баланса по заданным плановым уровням конечной продукции Yiпл
- •2.4. Пример расчета планового баланса для трехотраслевой экономической системы
- •2.5. Использование балансового метода на предприятии
- •Тема 3. Математические методы сетевого планирования и управления
- •3.1. Основные понятия сетевой модели
- •Распределение (расслоение) вершин сетевого графика по рангам
- •3.2. Анализ сетевого графика и расчет его временных характеристик
- •3.2.1. Расчет временных характеристик событий
- •3.2.2. Расчет временных характеристик работ
- •3.3. Сетевое планирование в условиях неопределенности
- •Вероятностные оценки продолжительности работ
- •3.4. Оптимизация сетевой модели
- •Краткая характеристика метода оптимизации
- •Тема 4. Классификация задач математического программирования и область их эффективного применения в экономике
- •4.1. Математическая постановка и структура задачи оптимизации
- •4.2. Краткая классификация методов математического программирования
- •Тема 5. Линейное программирование
- •5.1. Предмет линейного программирования
- •5.2. Построение оптимизационных моделей для решения экономических задач
- •5.3. Общая задача линейного программирования. Основные определения
- •5.4. Графический метод решения задач линейного программирования
- •I этап. Графическая интерпретация области допустимых решений
- •II этап. Графическая интерпретация целевой функции
- •III этап. Нахождение оптимального решения
- •5.5. Примеры решения задач линейного программирования графическим методом
- •5.6. Понятие о симплекс-методе озлп
- •5.7. Каноническая форма задач линейного программирования
- •5.8. Базисные решения задачи линейного программирования
- •5.9. Алгоритм симплекс-метода озлп
- •5.10.Примеры решения задач линейного программирования симплекс-методом
- •Тема 6. Двойственность в линейном программировании
- •6.1.Понятие двойственности. Построение двойственных задач и их свойства
- •6.2. Основные теоремы двойственности и их экономическое содержание
- •Первая теорема двойственности
- •Вторая теорема двойственности (теорема о дополняющей нежесткости)
- •6.3.Экономическая интерпретация двойственной задачи Пример 1. Задача оптимального использования ресурсов.
- •6.4.Экономико-математический анализ полученных оптимальных решений
- •Свойство 1. Оценки как мера дефицитности ресурсов
- •Свойство 2. Оценки как мера влияния ограничений на функционал
- •Свойство 3. Оценки - инструмент определения эффективности отдельных вариантов (технологических способов) с позиций общего оптимума
- •Тема 7. Транспортная задача линейного программирования
- •7.1. Постановка транспортной задачи
- •Классическая постановка транспортной задачи
- •Модели транспортной задачи
- •7.2.Методы построения исходного плана
- •Метод северо-западного угла
- •Метод минимального элемента
- •7.3.Оптимизация исходного базисного плана перевозок. Метод потенциалов
- •Основные процедуры метода потенциалов
- •Алгоритм метода потенциалов
- •7.4. Пример решения транспортной задачи
- •7.5. Применение модели транспортной задачи при решении различных экономических задач
- •Тема 8. Модели и методы дискретного программирования
- •8.1. Постановка задачи дискретного программирования
- •Задача о назначении (проблема выбора, задача о женихах и невестах)
- •8.2.Краткая классификация математических моделей дискретного программирования
- •8.3.Методы решения задач дискретного программирования
- •8.3.1. Методы отсечения для решения полностью целочисленной задачи линейного программирования
- •8.3.2.Сущность метода ветвей и границ
- •Тема 9. Модели и методы динамического программирования
- •9.1. Моделирование процессов наилучшего распределения ресурсов методом динамического программирования
- •Итоговая таблица условно-оптимальных решений
- •Графики предельной и средней эффективности
- •Тема 10. О других моделях и методах математического программирования
- •10.1.Нелинейное программирование
- •10.2.Стохастическое программирование
- •Тема 11. Модели конфликтных ситуаций в теории игр
- •11.1.Основные понятия теории игр
- •11.2.Решение игры в чистых стратегиях
- •11.3.Решение игры без седловой точки
- •Графический способ решения матричной игры
- •11.4. Пример решения экономической задачи методами теории игр
- •Тема 12. Модели управления запасами
- •12.1. Основные понятия
- •12.2. Статические модели управления запасами Уилсона
- •12.2.1. Статическая модель без дефицита
- •12.2.2. Статическая модель с дефицитом
- •12.3. Модели со случайным спросом
- •Тема 13. Модели массового обслуживания
- •Литература
7.5. Применение модели транспортной задачи при решении различных экономических задач
Наряду с задачами транспортировки грузов модель транспортной задачи находит широкое применение в различных видах экономической деятельности. Целый ряд задач линейного программирования, базирующихся на модели транспортной задачи, не имеют ничего общего с транспортировкой груза. Поэтому в зависимости от конкретной задачи величины сij, ai, bj и переменные xij могут иметь различный экономический смысл. Например, это может быть однопродуктовая модель оптимального размещения промышленного производства, в основе которой лежит открытая модель транспортной задачи.
В качестве другого примера использования модели транспортной задачи сформулируем задачу о назначениях и построим ее модель.
Пусть имеется n работников и n рабочих мест (работ). Известно, что i-й работник затрачивает на j-ю работу tij единиц времени (i= j=).
Требуется так распределить работников по рабочим местам, чтобы каждый работник был назначен на одну работу, каждая работа выполнялась одним работником при минимальном времени выполнения всеми работниками всех работ.
Обозначим через хij число, равное единице, если i-й работник назначен на j-ю работу, и нулю, если для j-й работы выбран другой работник, т.е.
(8)
|
Время, затрачиваемое всеми работниками на выполнение всех работ, должно быть минимальным, поэтому целевая функция задачи примет следующий вид:
. |
|
Условия, гарантирующие прикрепление каждого исполнителя к одной работе, записываются в виде:
(9) |
Условия, гарантирующие закрепление за каждой работой одного исполнителя, имеют вид:
(10) |
Вместо условия (8), накладывающего ограничения на значение переменных, запишем:
|
Модель задачи о назначениях является частным случаем модели транспортной задачи. В ней m=n, а все ai=bj=1. Любая транспортная задача с целыми ai и bj всегда имеет целочисленное решение, причем в данном случае единственным возможным целым является единица. Поэтому условие (3) оказывается лишним.
Замечание. Вместо времени выполнения работником работы можно рассматривать производительность работника при выполнении определенной работы, и тогда целевая функция задачи будет максимизироваться. Возможно проводить и различные назначения: программистов назначать на составление определенных программ, преподавателей - на преподавание предметов, башенные краны - на монтаж объектов.
На практике может возникнуть ситуация, когда число работников (m) отлично от числа работ (n). Тогда, как и для транспортной задачи, можно рассматривать открытые модели задачи о назначениях. Если число работников меньше числа работ (m<n), то вводят n-m фиктивных работников. Время выполнения фиктивными работниками работ принимается равным нулю. В случае m>n вводят m-n фиктивных работ, а время выполнения фиктивных работ полагают очень большим (М).
Тема 8. Модели и методы дискретного программирования
8.1. Постановка задачи дискретного программирования
Дискретное программирование - раздел математического программирования, изучающий экстремальные задачи, в которых на искомые переменные налагается условие целочисленности, а область допустимых решений конечна.
Задача целочисленного линейного программирования формулируется так же, как и задача линейного программирования, только добавляется требование (ограничение) целочисленности значений всех или некоторых переменных.
В общем виде задача целочисленного линейного программирования может быть представлена следующим образом:
(1) |
|
(2) |
|
(3) |
|
(4) |
В случае, когда задача имеет ограничения целочисленности для всех переменных (n1=n), т.е. значения всех переменных в оптимальном плане должны быть целыми числами, она называется полностью целочисленной. Если задача имеет ограничения целочисленности только для некоторых переменных (n1<n), она называется частично целочисленной.
Задачи целочисленного линейного программирования могут возникать различными путями. Существуют задачи линейного программирования, которые формально к целочисленным не относятся (требование целочисленности переменных в них отсутствует), но значения переменных в оптимальном плане получаются целые. В частности, при целочисленных исходных данных все допустимые решения транспортной задачи, а следовательно, и оптимальное, будут целочисленными. Это происходит потому, что численные методы решения транспортной задачи (в частности, рассмотренный ранее метод потенциалов) требуют применения к исходным данным только действий сложения и вычитания. Симплекс-метод содержит операцию деления и поэтому в большинстве случаев целочисленного решения не дает.
В ряде случаев при построении математических моделей реальных систем естественным образом приходят к задачам целочисленного линейного программирования. В некоторых задачах дробные значения переменных противоречат их физическому смыслу. К таким задачам относятся, в частности, так называемые задачи с неделимостями, в которых требуется определить либо количество автомобилей, судов, самолетов, необходимых для осуществления заданного плана перевозок, либо количество станков, требуемых для выполнения определенного плана, либо количество неделимой продукции (автомобилей, станков, самолетов, тракторов и т.п.), которое может произвести определенное предприятие, и т.д.
Рассмотренная в гл. 5 задача об использовании ресурсов может быть отнесена к задачам целочисленного линейного программирвоания, если все виды продукции или часть из них, производимые на предприятии, для которого решается задача, являются неделимыми. В задаче о диете продукты, из которых составляется диета, могут оказаться фасованными. В транспортной задаче единицы перевозимого груза могут быть неделимыми.
Одной из простейших и наиболее распространенных задач целочисленного линейного программирования, в которой требование целочисленности также естественно, является так называемая задача о ранце (о рюкзаке). Сформулируем условие этой задачи и построим ее модель.
Турист, отправляющийся в длительный поход, может взять с собой n предметов. Известно, что каждый предмет вида j имеет массу аj, кг (j=). Для переноски предметов используется рюкзак, в который можно поместить груз массой не более b, кг. Ограничение на общую массу предметов является естественным, так как, во-первых, рюкзак может не выдержать слишком большой массы и, во-вторых, двигаться с тяжелым рюкзаком в походе затруднительно. По каждому предмету вида j задана его ценность с точки зрения незаменимости в походе - сj (j=). Требуется определить количество предметов каждого вида, которое турист может положить в рюкзак, чтобы суммарная ценность груза была максимальной.
Обозначим через хj (j=) - количество предметов j-го вида. Тогда математическая модель задачи будет иметь вид:
(5) |
|
(6) |
|
(7) |
|
(8) |
Замечание. Впервые данная задача была сформулирована как задача заполнения ранца и поэтому получила такое название, которое чаще всего используется в литературе. Модель данной задачи можно рассматривать как типовую модель целочисленного линейного программирования, поскольку с ее помощью решаются, например, задачи загрузки судов, самолетов, автомобилей, вагонов и других транспортных средств, имеющих ограниченный объем и грузоподъемность. Ценность груза в каждом конкретном случае может задаваться некоторыми числовыми оценками, определенными на основании критерия ценности (продолжительности хранения, потребности в данном грузе и т.п.).
Другими задачами, в которых переменные могут принимать только целочисленные значения (как в допустимом, так и в оптимальном плане), являются задачи выбора вариантов, широко используемые на практике. К этому типу относится, например, рассмотренная в главе 6 задача о назначениях. Возникают также задачи выбора оптимальных вариантов размещения предприятий, проектов различных объектов (зданий, сооружений) и т.п.
В задачах выбора вариантов переменные могут принимать значения только 0 и 1. Если в такой задаче значение переменной, например, хj=1, то вариант или проект с номером j включается в план. Значение хj=0 означает, что вариант или проект с номером j не удовлетворяет условиям задачи.