
Краткая характеристика задач, методов и программных средств математического программирования
Математическое программирование развивается довольно бурно и не существует достаточно полной и обоснованной классификации задач и методов, хотя ряд разделов приобрели устойчивое название и рассматривают определенный круг моделей. П
Первая группа задач, которую часто даже не относят к математическому программированию,- это поиск экстремума функции одной или нескольких переменных из области допустимых значений, заданной интервалами изменения переменных.
Нередко эти задачи называют оптимизацией без ограничений, но тем не менее рассматривают методы численного поиска экстремума на ограниченном интервале изменения переменных. Такие задачи чаще всего возникают при оптимальном управлении техническими системами.
В зависимости от характера целевой функции здесь используются следующие группы методов поиска экстремума:
целевая функция аналитически определена – детермированный поиск методом исключения интервалов, градиентным методом и т.д.;
целевая функция статистически определена или имеются случайные ошибки измерений – стохастические методы поиска экстремума;
целевая функция не определена и оптимум ищется на основе активного эксперимента – статистические методы планирования экстремальных экспериментов.
Вторая группа – задачи с линейной целевой функцией и линейными ограничениями в виде уравнений и неравенств. Решаются методами линейного программирования, обеспечивающего конечность и быструю сходимость алгоритмов. Кроме универсальных, в линейном программировании имеются и специализированные алгоритмы, позволяющие решать линейные задачи определенного типа большой размерности.
Третья группа – задачи с линейной целевой функцией и линейными ограничениями, уравнениями или неравенствами, и дополнительными условиями целочисленности всех и части переменных. Эти задачи рассматриваются в целочисленном программировании. Есть методы теоретически конечных алгоритмов поиска целочисленных решений, но практически их сходимость крайне низка из-за погрешностей вычислений.
Четвертая группа – задачи с нелинейными дифференцируемыми на всем интервале изменения переменных целевой функцией и ограничениями в виде уравнений. Оптимальное решение находится с помощью неопределенных множителей Лагранжа. Этот метод часто относят к способам классической оптимизации. Он дает конечный алгоритм решения, но его применение в задачах большой размерности вызывает значительные трудности.
Пятая группа – задачи с квадратичной целевой функцией и линейными ограничениями. Эти задачи решаются с помощью конечных алгоритмов квадратичного программирования.
Шестая группа – задачи с сепарабельной целевой функцией и сепарабельными функциями в ограничениях-равенствах или неравествах (сепарабельная функция представляет собой сумму функций одной переменной). Эти задачи решаются приближенными методами с помощью кусочно-линейной аппроксимации функции. В большинстве случаев получение глобального оптимума метод не гарантирует.
Седьмая группа – задачи с нелинейной целевой функцией, линейными и нелинейными ограничениями. Многие, но не все задачи этой группы решаются градиентными методами. Алгоритмы поиска оптимума бесконечны и в большинстве случаев обеспечивают поиск локального оптимума.
Восьмая группа – задачи с сепарабельной целевой функцией и сепарабельными односторонними или двусторонними ограничениями, целочисленными или непрерывными переменными. Решаются методами динамического программирования. Алгоритмы конечны и обеспечивают решение на ЭВМ задач весьма большой размерности.
Приведенная группировка весьма условна, т.к. многие задачи могут быть отнесены к нескольким группам и решаться разными методами. Особо отметим использование динамического программирования. Они могут быть нередко использованы при оптимизации на сетках и графах в тех случаях, когда отдельные переменные могут последовательно менять свои значения на отдельных шагах решения.
Для использования оптимизационных математических моделей реальной размерности, как правило, необходимо численное решение задач математического программирования на ЭВМ, а их распространенность потребовала создания универсальных программных средств для решения различных классов задач.
Рис. 1.1 Классификация моделирования в зависимости от выбора средств
Рис. 1.2 Классификация моделей в зависимости от типа ее элементов.