- •Оглавление
- •Краткая классификация моделей и методов математического программирования
- •Линейное программирование
- •1. Примеры экономических задач линейного программирования
- •1.1. Задача оптимального производственного планирования
- •1.2. Задача о смесях
- •1.3. Задача о раскрое
- •1.4. Транспортная задача
- •1.5. Вопросы для самопроверки
- •2. Некоторые сведения из линейной алгебры
- •2.1. Основные понятия и теоремы
- •Решение систем линейных алгебраических уравнений методом Жордана–Гаусса
- •3.3. Переход от задачи минимизации целевой функции к задаче максимизации
- •3.4. Переход от одной формы модели задачи линейного программирования к другой
- •3.4.1. Переход к канонической форме модели
- •3.4.2. Переход от канонической формы модели задачи линейного программирования к стандартной
- •3. 5. Выпуклые множества
- •4. Графический метод решения задачи линейного программирования
- •4.1. Геометрическая интерпретация множества решений линейного неравенства
- •4.2. Геометрическая интерпретация множества решений системы линейных неравенств
- •Возможные случаи области допустимых решений
- •4.3. Вопросы для самопроверки
- •5. Свойства допустимых планов задачи линейного программирования. Опорный план
- •Опорный план. Теорема о соответствии опорного плана вершине многогранника допустимых планов
- •6. Симплекс-метод
- •6.1. Идея симплекс-метода
- •6.2. Алгебра симплекс-метода
- •6.2.1. Алгоритм симплекс-метода
- •6.2.2. Выбор разрешающей строки в симплексных преобразованиях
- •6.2.3. Альтернативный оптимум
- •6.2.4. Признак неограниченности целевой функции
- •6.3. Понятие о вырождении
- •Примеры решения задач симплекс-методом
- •Пример 6.4. Решить симплекс-методом злп:
- •6.4. Вопросы для самопроверки
- •6.5. Индивидуальное задание
- •6.6. Задачи для самостоятельной работы
- •7. Двойственность в линейном
- •7.1. Пример двойственных задач линейного программирования
- •7.2. Правила построения двойственных задач
- •7.3. Симметричные двойственные задачи
- •Пример 7.3. Для задачи:
- •7.4. Основные теоремы двойственности
- •7.5. Анализ устойчивости двойственных оценок
- •7.6. Вопросы для самопроверки
- •7.7. Индивидуальное задание
- •Заключение
- •Библиографический список
- •Приложение. Применение программы Excel к решению задач линейного программирования
Краткая классификация моделей и методов математического программирования
Модели и методы математического программирования можно классифицировать по различным признакам.
По числу критериев оптимальности (целевых функций) математические модели делятся на однокритериальные и многокритериальные, которые содержат две и более целевых функций.
В зависимости от особенностей рассматриваемого явления математические модели могут быть детерминированными, стохастическими и моделями с элементами неопределенности.
Детерминированные модели предполагают жесткие функциональные связи между управляемыми переменными и параметрами (коэффициентами при этих переменных). В моделях такого типа информация считается однозначной и достоверной.
Стохастические модели это модели, содержащие в качестве переменных случайные величины, для которых известны функции распределения и различные статистические характеристики (математическое ожидание, дисперсия, среднеквадратическое отклонение и т.п.).
К стохастическим моделям, в частности, относятся:
модели стохастического программирования, в которых в функцию цели и (или) в систему ограничений входят случайные величины;
модели теории случайных процессов, в которых состояние изучаемого процесса в каждый момент времени является случайной величиной;
модели теории массового обслуживания, предназначенные для изучения многоканальных систем, занятых обслуживанием требований.
Для моделирования ситуаций, зависящих от факторов, для которых невозможно собрать статистические данные и значения которых не определены, используются модели с элементами неопределенности: модели теории игр, имитационные модели.
В данном пособии приведены только детерминированные модели, в которых не рассматривается влияние случайных воздействий на исследуемые показатели. Несмотря на кажущуюся простоту этих моделей, к ним сводятся многие практические задачи, в том числе и большинство экономических. В зависимости от вида целевой функции Z и функций i(x), входящих в систему ограничений, модели математического программирования можно отнести к разделам линейного и нелинейного программирования.
Линейное программирование раздел математического программирования, применяемый при разработке методов отыскания экстремума (максимума или минимума) линейных функций нескольких переменных при линейных ограничениях, наложенных на переменные. По типу решаемых задач его методы можно разделить на универсальные и специальные. С помощью универсальных методов (например, симплекс-метод) могут решаться любые задачи линейного программирования. Специальные методы учитывают особенности целевой функции и системы ограничений. Методы линейного программирования могут широко применяться на промышленных объектах при оптимизации производственной программы, ассортиментной загрузке оборудования, планировании грузопотоков, составлении оптимальных смесей, решении раскройных, производственно-транспортных задач, выборе ресурсосберегающих технологий и т.д.
Если хотя бы одна из функций Z (целевая функция) и (или) (функции, входящие в систему ограничений) нелинейны по управляемым параметрам, то имеем задачу нелинейного программирования. Если целевая функция такой задачи выпукла и область допустимых решений также выпуклое множество, то говорят о задаче выпуклого программирования. Методы выпуклого программирования используются при решении задач расчета оптимальной партии выпуска деталей, управлении комплексными поставками и запасами, распределении ограниченных ресурсов и т.д.
Если параметры (коэффициенты) целевой функции или системы ограничений изменяются во времени или целевая функция имеет специальную структуру, являясь аддитивной
,
или мультипликативной
,
или сам процесс имеет многошаговый характер, то такие задачи решаются методом динамического программирования. В управлении промышленным предприятием таким методом решаются задачи оптимального размещения инвестиций, замены оборудования, текущего и перспективного планирования и др. В основе метода динамического программирования лежит принцип оптимальности, разработанный американским математиком Р. Беллманом.
Если на все или некоторые управляемые переменные наложено условие дискретности, например целочисленности, то такие задачи относятся к задачам дискретного программирования, в частности, целочисленного программирования. Методами целочисленного программирования решается широкий круг задач: задачи выбора (о назначениях), о ранце, коммивояжера, теории расписаний, календарного планирования и т.п.
Эвристическое программирование применяют для решения тех задач, в которых точный оптимум найти (алгоритмическим путем) невозможно из-за огромного числа вариантов.