Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мет прин реш.docx
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
1.39 Mб
Скачать

Лекция 8. Математическое программирование

 

Подобного рода задачи решаются в различных отраслях деятельности: в экономике, при разработке проектов, составлении расписаний, планировании военных операций и т.п. Модели математического программирования относятся к категории детерминированных моделей. Термин программирование в применении к рассматриваемому типу задач понимается как поиск наилучших планов (от английского слова programming - составление плана, программы действий). Когда говорят о задачах математического программирования, имеют в виду задачи, цель которых состоит в повышении эффективности промышленных, транспортных систем, систем управления деятельностью учебных, проектных, научных организаций.

 Математическое программирование подразделяется на линейное, целочисленное, нелинейное, динамическое программирование. Рассмотрим некоторые постановки задач, методы и алгоритмы их решения.

Одним из направлений  математического программирования является линейное программирование, в котором ярко проявляются специфические трудности нахождения экстремума на границе допустимой области переменных. В отличие от линейного программирования теория экстремальных задач, в которой целевая функция и/или функции, задающие ограничения, не линейны, называетсянелинейным программированием. В частности, таковым является квадратичное программирование, в котором изучается задача нахождения экстремума квадратичной функции при линейных ограничениях типа равенств и/или неравенств.

Линейное программирование первоначально развивалось как направление, разрабатывающее новые подходы к решению задач минимизации выпуклых функций, т. е. в рамках выпуклого программирования. Выпуклое программирование посвящено нахождению экстремума выпуклой целевой функции на выпуклом множестве, обычно задаваемом в виде системы выпуклых неравенств.

Класс задач оптимизации, в которых область определения переменных состоит из отдельных изолированных точек, составляет предмет изучения дискретного программирования.

Широкий класс нелинейных и дискретных задач может решаться с использованием идеи рекуррентного подхода (методов типа математической индукции), являющихся основой динамического программирования, идея которого первоначально была предложена Р. Беллманом[1].

Для решения задач оптимизации со случайными параметрами разработано стохастическое программирование.

К математическому программированию относят также бесконечномерное программирование, в рамках которого предложены методы решения экстремальных задач с бесконечным числом переменных (например, такие, в которых набором переменных являются функции или набор функций) и минимизируется (максимизируется) функционал.

Развиты также методы решения задач оптимизации, в которых переменная принимает только два значения «истинно» - «ложно» или «да» — «нет». Такие методы относят к булевому программированию .

Методы математического программирования находят свое применение в самых различных областях техники и экономики.

В настоящее время экономическую теорию невозможно представить без экономико-математических методов, основанных на результатах математического программирования. Здесь достаточно упомянуть модели календарного планирования или упорядочения во времени, расписания, потоковые или транспортные модели; модели распределения и назначе­ния; модели износа и замены оборудования (см. [5,7,9,10,15] и др.).

Экстремальные задачи независимо от рассматриваемого направления исследовались в математике Л.С. Понтрягиным (принцип максимума Понтрягина [13, 14]), Р.Л. Стратоновичем [17], применительно к теории управления - В.Г. Болтянским [2]. В результате сформировалась теория оптимальных процессов.

Анализ постановки и решения задачи математического программирования позволяет выявить следующие особенности:

  • введение понятий целевая функция и ограничения и ориентация на их формирование является фактически некоторыми средствами постановки задачипричем эти средства могут быть полезны, даже если не удается сформировать систему непротиворечивых ограничений или записать целевую функцию в формальном виде;

  • при использовании методов математического программирования появляется возможность объединения в единой модели разнородных критериев (разных размерностей, предельных значений), что очень важно при отображении реальных проектных и производственных ситуаций;

  • модель математического программирования допускает (и даже ориентирует на это) выход на границу области определения переменных (в то время как методы классической математики в основном приспособлены для поиска точек экстремумов во внутренней части области изменения переменных);

  • изучение методов решения задач математического программирования позволяет получить представление о пошаговом приближении к решению, т. е. о пошаговом алгоитме получения результата моделирования.

Привлекательность методов математического программирования для решения слабоформализованных задач (каковыми, как правило, являются задачи планирования, распределения работ и ресурсов, загрузки оборудования и другие задачи управления современным предприятием на начальном этапе их постановки) объясняется рядом особенностей, отличающих эти методы от методов классической математики.