Математическое программирование

Математическое программирование [mathematical prog­ramming] — (см. также Оптимальное программирование) — раздел математики, который «… изучает методы решения задач на нахождение экстремума функций (показателя качества решения) при ограничениях в форме уравнений и неравенств»[1]. Оно объединяет различные математические методы и дисциплины исследования операций: линейное программирование, нелинейное программирование, динамическое программирование, вы­пуклое программирование, геометрическое программирование, целочисленное программирование и др.

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

U = f(x) → max; xM,

где x = (x1, x2,…, xn);  M — область допустимых значений переменных x1,…, xn; f(x) —  целевая функция.

Частный случай задачи М.п. — «классическая задача«. В ней область M представлена равенствами:

g (x) = b,

где g (x) — вектор функций ограничений, b — вектор констант ограничений.

Названные выше разнообразные дисциплины отличаются друг от друга видом целевой функции f(x)  и области   М. Например, если f(x)   и   M — линейны, имеем задачу линейного программирования; если же дополнительно ставится условие, чтобы переменные были целочисленны, — имеем задачу целочисленного программирования; если зависимость U от x (т.е. форма f) носит нелинейный характер — задачу нелинейного программирования.

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



[1] Математический аппарат эконо­мического моделирования. М.: “Наука”, 1983, стр 8.