Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЧАСТЬ II.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
387.58 Кб
Скачать

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

Задачи математического программирования возникли из по­требностей решения практических проблем в области экономи­ки, промышленности, техники, военного дела, связанных с по­строением наилучшей программы действий, и являются матема­тическими моделями таких проблем выбора. Общая постановка задачи математического программирования представлена соот ношениями (7.3). К числу основных относятся следующие зада­чи математического программирования:

  1. з адача линейного программирования с линейным критери­ем и линейными ограничениями

где — заданные постоянные; множество допустимых решений Ха — выпуклый многогранник;

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

и линейными ограничениями, аналогичными приведенным вы­ше, где — заданные постоянные; множество Ха — выпуклый многогранник;

  1. задача выпуклого программирования, где критерии и огра­ничения — нелинейные выпуклые функции векторного аргумен­та, в частности квадратичные функции; множество Ха — выпук­лый многогранник;

  2. задача дискретного программирования, где все переменные Хi принимают дискретные, в частности целочисленные, значе­ния.

Существуют и другие специализированные задачи матема­тического программирования — динамическое программирова­ние, стохастическое программирование, задачи с сепарабельными критериями оптимальности: аддитивным мультипликативным

Общий метод решения задачи линейного программирования разработал выдающийся математик и экономист, лауреат Нобе­левской премии JT. В. Канторович (СССР, 1938). Теория выпук­лого программирования опирается на теорему Куна — Таккера о существовании седловой точки функции Лагранжа. В осно­ве ряда методов программирования лежит принцип оптималь ности Беллмана (США, 1957). Универсальные методы решения задач дискретного программирования отсутствуют. Для отдель­ных видов дискретных задач созданы специальные методы по­иска экстремума целевых функций.

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

7.4. Задача линейного программирования

Задачи линейного программирования (7.4) относятся к чис­лу наиболее простых и хорошо изученных задач математическо­го программирования. Основная их особенность состоит в том, что скалярный критерий оптимальности у = f(х) является ли­нейной функцией n переменных x1, ..., хп, составляющих в со­вокупности вариант х = (x1, ..., хп) решения задачи оптималь­ного выбора, а все ограничения представляют собой систему линейных уравнений и неравенств. Рас­смотрим в качестве примера задачи оптимального планирования производства, имеющие одинаковую математическую постанов­ку, но разное содержание.

Пример 7.1. На предприятии выпускается n различных ви­дов изделий и используется р разных видов ресурсов. Обозна­чим: Хi — количество выпускаемых изделий i-го вида, Сi — це­на i-го вида изделий, aqi — затраты q-го вида ресурсов на вы­пуск единицы i-го вида изделий, bq — запасы q-го вида ресурсов. Вариантом планирования производства является распределение х = (x1, ...,хп) объемов выпуска различных видов изделий, определяет общий доход от продажи выпущенной продукции, — общие затраты q-го вида ресурсов. Требует ся найти такие оптимальные объемы х1* = ,..., хn*) выпуска каждого вида продукции, чтобы общий доход от ее продажи был максимальным. ■

Пример 7.2. На предприятии, выпускающем однородную продукцию, применяется п различных технологических спосо­бов производства. Для выпуска изделий используются р раз­ных видов ресурсов: рабочая сила, оборудование, сырье, элек­троэнергия и т. п. Обозначим через Xi — время работы по i-му технологическому способу, q — количество изделий, выпускае­мых в единицу времени при работе по i-му технологическому способу, aqi — затраты q-го вида ресурсов в единицу времени при работе по i-му технологическому способу, bq — запасы q-го вида ресурсов. Вариантом планирования производства является распределение х = (х1, ...п) времени работы по технологическим способам, определяет общий объем выпускаемой продукции, — общие затраты q-ro вида ресурсов. Требуется найти такое оптимальное распределение времени работы по каждому технологическому способу, чтобы общий объем выпускаемой продукции был максимальным. ■

Можно усложнить постановку задачи оптимального плани­рования, если ввести дополнительные ограничения. Например, ограниченияна объемы выпуска i-го вида изделий — минимальный и максимальный объ­емы продукции, которые характеризуют план выпуска и величи­ну спроса на соответствующее изделие.

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

н а множестве всех неотрицательных решений системы линейных алгебраических уравнений Хi > 0 (i = 1, ..., n, р < n):

которое определяет множество допустимых значений Xa.

Для записи задачи линейного программирования в стандарт­ной форме могут понадобиться дополнительные преобразова­ния. Нередко из содержательных соображений может потребо­ваться минимизация критерия оптимальности. Например, в за­даче оптимального планирования производства необходимо ми­нимизировать расходы на выпуск определенных видов продук­ции. В таком случае достаточно заменить критерий оптималь­ности /(х) на противоположный по знаку критерий —f(х). Оче­видно, что при этом будет выполняться равенство Отметим, что подобное сведение задачи минимизации к задаче максимизации справедливо для произвольной (необязательно линейной) целевой функции и произвольного до­пустимого множества Ха.

Если среди ограничений задачи присутствуют ограничения в

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

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

  1. система несовместна, т. е. не имеет ни одного, в том числе неотрицательного, решения (число переменных n меньше числа уравнений р);

  2. система совместна, т. е. имеет хотя бы одно решение (число переменных n больше числа уравнений р), но среди ее решений нет ни одного неотрицательного;

  3. система имеет неотрицательные решения, но целевая функ­ция f(х) не достигает максимума на множестве неотрицатель­ных решений, так как она не ограничена сверху на этом множе­стве;

  4. система имеет неотрицательные решения, среди которых существует такое (или такие), при котором функция f(х) дости­гает максимума на этом множестве решений.

  5. Совместную систему r линейных уравнений с n переменны­ми, среди коэффициентов которой хотя бы один отличен от ну­ля, при всегда можно разрешить относительно г пере­менных. Эти переменные называют базисными, или главными, а остальные переменных, через которые выражаются ба­зисные переменные, — свободными. В таком случае критерий оп­тимальности f(х) также можно выразить через свободные пере­менные. Число переменных уменьшается на r. Все оставшиеся s переменных удовлетворяют ограничениям-неравенствам. Заме­тим, что выбор базисных и свободных переменных в общем слу­чае не является однозначным. Поэтому неоднозначен и переход от стандартной формы к форме (7.4) записи задачи линейного программирования.