Политика   |   Экономика   |   В мире   |   Происшествия   |   Природа   |   Социум   |   Онлайн

Нелинейное программирование в математическом программировании

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

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

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

Для решения задач линейности используют стандартные методы линейного программирования (например, симплекс-метод). А вот при нелинейном общего способа решения не существует, выбирается в каждом отдельном случае свое и оно также зависит от функции F(x).

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

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

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

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

Существуют следующие методы нелинейного программирования:

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

- метод Монте-Карло, при котором определяется параллелепипед n-ой размерности, включающий в себя множество планов, для последующего моделирования случайных N-точек с равномерным распределением в данном параллелепипеде.

- метод динамического программирования сводится к многомерной задаче оптимизации заданий к меньшей размерности.

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




Добавить комментарий