В предыдущем разделе мы занимались только методикой исследования операций, оставляя в стороне математический аппарат. Задачи отыскания значений параметров, обеспечивающих экстремум функции при наличии ограничений, наложенных на аргументы, носят общее название задач математического программирования.
В настоящее время множество задач планирования и управления в отраслях народного хозяйства, а также большой объем частных прикладных задач решаются методами математического программирования.
Трудности, возникающие при решении задач математического программирования, зависят:
ü от вида функциональной зависимости, связывающей целевую функцию с элементами решения;
ü от «размерности» задачи, т.е. от количества элементов решения х1, х2, …,хn;
ü от вида и количества ограничений, наложенных на элементы решения.
Среди задач математического программирования самыми простыми (и лучше всего изученными) являются так называемые задачи линейного программирования. Характерно для них то, что;
ü целевая функция линейно зависит от элементов решения х1, х2, …,хn;
ü ограничения, налагаемые на элементы решения, имеют вид линейных равенств или неравенств относительно х1, х2, …,хn.
Такие задачи довольно часто встречаются на практике, например, при решении проблем, связанных с распределением ресурсов, планированием производства, организацией работы транспорта, определением оптимального ассортимента товаров в условиях ограниченной площади, установлением рационального режима работы и т.д. Это и естественно, так как во многих задачах практики «расходы» и «доходы» линейно зависят от количества закупленных или утилизированных средств.
Например:
ü суммарная стоимость партии товаров линейно зависит от количества закупленных единиц;
ü оплата перевозок производится пропорционально весам перевозимых грузов.
Разумеется, нельзя считать, что все встречающиеся на практике типы зависимостей линейны. Можно ограничиться более скромным утверждением, что линейные (и близкие к линейным) зависимости встречаются часто, а это уже много значит.
Если содержательный смысл требует решения в целых числах, то такая задача является задачей целочисленного программирования.
Если в задаче математического программирования имеется переменная по времени, а критерий эффективности выражается через уравнения, описывающие течение операций во времени, то такая задача является задачей динамического программирования.