Постановка задачиквадратическогопрограммирования и способеёрешения с помощьюпрограммнойсреды МАТLAB.

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

Программирование в управлении можно представить как процесс распределения ресурсов. Существует ряд различных методов, основанных на идеях математического программирования, среди которых широкое применение нашел метод квадратичного программирования.

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

  1. Постановка задачи квадратичного программирования

Пусть задана квадратичная функция Постановка задачиквадратическогопрограммирования и способеёрешения с помощьюпрограммнойсреды МАТLAB. - student2.ru

Постановка задачиквадратическогопрограммирования и способеёрешения с помощьюпрограммнойсреды МАТLAB. - student2.ru (1*)

или в векторно-матричной форме

Постановка задачиквадратическогопрограммирования и способеёрешения с помощьюпрограммнойсреды МАТLAB. - student2.ru (1)

и линейные неравенства

Постановка задачиквадратическогопрограммирования и способеёрешения с помощьюпрограммнойсреды МАТLAB. - student2.ru Постановка задачиквадратическогопрограммирования и способеёрешения с помощьюпрограммнойсреды МАТLAB. - student2.ru , (2*)

которые в векторно-матричной форме запишем так:

, Постановка задачиквадратическогопрограммирования и способеёрешения с помощьюпрограммнойсреды МАТLAB. - student2.ru (2)

и пусть неравенства (2) определяют некоторую область Ω, содержащую внутренние точки.

Будем предполагать, что матрица Постановка задачиквадратическогопрограммирования и способеёрешения с помощьюпрограммнойсреды МАТLAB. - student2.ru симметричная и положительно определенная, так что Постановка задачиквадратическогопрограммирования и способеёрешения с помощьюпрограммнойсреды МАТLAB. - student2.ru - выпуклая функция.

Задача квадратичного программирования формулируется так: отыскать точку Постановка задачиквадратическогопрограммирования и способеёрешения с помощьюпрограммнойсреды МАТLAB. - student2.ru , для которой достигается минимум функции (1) при ограничениях (2):

Постановка задачиквадратическогопрограммирования и способеёрешения с помощьюпрограммнойсреды МАТLAB. - student2.ru (3)

При этом задача квадратичного программирования является просто задачей нелинейного программирования с квадратичной целевой функцией и линейными ограничениями. И может формулироваться следующим образом: найти

Постановка задачиквадратическогопрограммирования и способеёрешения с помощьюпрограммнойсреды МАТLAB. - student2.ru при Постановка задачиквадратическогопрограммирования и способеёрешения с помощьюпрограммнойсреды МАТLAB. - student2.ru Постановка задачиквадратическогопрограммирования и способеёрешения с помощьюпрограммнойсреды МАТLAB. - student2.ru ,

где -мерный вектор, Постановка задачиквадратическогопрограммирования и способеёрешения с помощьюпрограммнойсреды МАТLAB. - student2.ru - симметричная матрица Постановка задачиквадратическогопрограммирования и способеёрешения с помощьюпрограммнойсреды МАТLAB. - student2.ru , Постановка задачиквадратическогопрограммирования и способеёрешения с помощьюпрограммнойсреды МАТLAB. - student2.ru - Постановка задачиквадратическогопрограммирования и способеёрешения с помощьюпрограммнойсреды МАТLAB. - student2.ru -мерный вектор и Постановка задачиквадратическогопрограммирования и способеёрешения с помощьюпрограммнойсреды МАТLAB. - student2.ru - матрица Постановка задачиквадратическогопрограммирования и способеёрешения с помощьюпрограммнойсреды МАТLAB. - student2.ru .

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

Пример:Финансист обдумывает, как распределить свои фонды между возможными инвестициями. Предположим, что инвестиция Постановка задачиквадратическогопрограммирования и способеёрешения с помощьюпрограммнойсреды МАТLAB. - student2.ru имеет ожидаемую прибыль Постановка задачиквадратическогопрограммирования и способеёрешения с помощьюпрограммнойсреды МАТLAB. - student2.ru на каждый вложенный доллар. Тогда, если Постановка задачиквадратическогопрограммирования и способеёрешения с помощьюпрограммнойсреды МАТLAB. - student2.ru - количество вклада в Постановка задачиквадратическогопрограммирования и способеёрешения с помощьюпрограммнойсреды МАТLAB. - student2.ru -ю инвестицию, то ожидаемая прибыль выражается, как Постановка задачиквадратическогопрограммирования и способеёрешения с помощьюпрограммнойсреды МАТLAB. - student2.ru .

В среде MATLAB задачи квадратичного программирования решаются с помощью функции quadprog. Доклад посвящён краткому описанию её воз-можностей. 1 ◦ . Функция quadprog решает задачу квадратичного программирования в форме 1 2 x T · H · x + f T · x → inf, A · x 6 b, Aeq · x = beq, lb 6 x 6 ub. (1) Основными входными параметрами quadprog являются: матрица H и век- тор f из целевой функции, матрица ограничений-неравенств A, вектор пра- вых частей ограничений-неравенств b, матрица ограничений-равенств Aeq, вектор правых частей ограничений-равенств beq, вектор lb, ограничивающий план x снизу, вектор ub, ограничивающий план x сверху. На выходе функция quadprog выдаёт оптимальный план x задачи (1) и экстремальное значение целевой функции fval.



Наши рекомендации