Применение нелинейного программирования в экономике, управлении и хозяйственных областях

 

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

Первые работы по теории математического программирования в сегодняшнем понимании этих слов были опубликованы в 1939 году Л.В. Канторовичем. Правда, господствующие тогда и в последующее время взгляды на экономическую науку надолго задержали популяризацию, развитие и практическое использование идей Л. В. Канторовича, поэтому линейное программирование (оно возникло раньше нелинейного программирования) было переоткрыто в 1947 году в США.

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

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

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

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

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

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

Упомянутые применения нелинейного программирования концентрированы на задачах о принятии решений. Действительно, существенная сторона нелинейного программирования заключается в том, что оно является подспорьем индивидууму - исполнителю или человеку, принимающему государственное решение. Конечно, опытный человек, принимающий решение, не считает, что решение задачи нелинейного программирования непосредственно является лучшим ответом на вопрос реального мира. Полученное решение является, естественно, лишь рекомендуемым, и принимающий его должен исследовать предположения и точность постановки задачи нелинейного программирования, прежде чем принять окончательное решение. Несмотря на это, многие задачи программирования прошли проверку на практике и решение их, подсказанное оптимальной точкой, применяется почти без каких-либо изменений.

Широкой областью для применения нелинейного программирования является планирование цен, продукции и рекламы фирмы, то рассмотрим следующий пример.

Фирма хочет определить производственный план, оптимальный в смысле некоторого критерия (функции цели). При этом известна номенклатура тех продуктов, которые фирма может производить; производственная мощность; возможность по обеспечению производства сырьем, полуфабрикатами, энергией, рабочей силой и так далее; возможность сбыта этих продуктов (зависящие от цен и рекламы) и так далее. При этом, цели, которые преследует фирма при определении производственного плана, могут быть самыми разнообразными: либо просто максимизация прибыли, либо сложная комбинация различных требований, например максимальное расширение сбыта некоторого продукта с получением не менее 5% прибыли на вложенный капитал, и так далее. Ограничениями, при этом, являются технологические связи между затратами производственных факторов и объемом выпускаемой продукции (эти связи часто линейны, в противном случае, они искусственно аппроксимируются кусочно-линейными функциями), возможности обеспечения производства этими факторами, связи между ценой, рекламой и величиной спроса (которые также аппроксимируются кусочно-линейными функциями, если с самого начала не являются линейными) и, наконец, условия не отрицательности (поскольку количество продукции, цены и так далее - существенно неотрицательные величины). Такого рода задача формулируется в терминах нелинейного программирования, если цена выпускаемой продукции является одной из величин, подлежащих определению, и влияет на величину сбыта.

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

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

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