Постановка задач линейного программирования
Введение
При постановке задач принятия оптимального решения должна быть сформулирована цель, то есть конечный результат, которого хочет добиться лицо принимающее решение.
Выбор решения из множества альтернатив подразумевает наличие некоторого критерия и возможность сравнения имеющихся вариантов по этому критерию. Вариант, для которого принятый критерий имеет наилучшее значение, называют оптимальным, а задачу нахождения оптимального решения — задачей оптимизации.
В экономике задачи оптимизации часто удаётся свести к тому или иному классу экономико-математических моделей.
Выделяются три основных типа моделей: детерминированные, модели принятия решений в условиях неполной информации и модели принятия решений в условиях конфликта.
Детерминированными называются модели принятия решений в условиях полной информации о значениях всех параметров, входящих в условие задачи. К этому классу задач относятся модели математического и динамического программирования, многокритериальные задачи, сетевые модели.
Модели принятия решений в условиях неполной информации называются вероятностными моделями или стохастическими. К вероятностным моделям относятся, например, теория массового обслуживания и управление запасами. К этому классу задач относятся также модели принятия решений в условиях стохастической неопределенности и имитационные модели. Задачи в условиях неопределённости возникают при отсутствии информации о точных значениях параметров задачи и предварительной вероятностной оценки их возможных значений.
Модели принятия решений в условиях конфликта являются объектом изучения теории игр.
Независимо от типа модели задачи оптимизации делятся на линейные и нелинейные. Линейными называют задачи, в которых все зависимости между входящими параметрами являются линейными. Решение линейных задач оптимизации часто называют линейным программированием.
Глава 1. Линейное программирование
Постановка задач линейного программирования
Методы линейного программирования используются для широкого круга задач в естественных и гуманитарных науках, а также в хозяйственной деятельности. Так, например, математическое моделирование производственных процессов применяются при формировании плана производства, обеспечивающего максимизацию прибыли при заданных ограничениях на ресурсы.
Математически задача линейного программирования (ЗЛП) заключается в нахождении наибольшего или наименьшего значения линейной функции многих переменных при линейных ограничениях типа равенств и неравенств, когда на переменные есть или нет ограничений на знак.
В общем случае математическая постановка задачи линейного программирования может быть записана в виде:
(1)
(2) ,
(3) , , (1.1)
(4) , .
Здесь — целевая функция, линейная относительно своих аргументов, — число переменных, — число ограничений задачи. Условия (2), (3) задают линейные ограничения на ресурсы в виде неравенств и равенств, условия (4) определяют ограничения на знак переменных.
Целевая функция , где выражает критерий оптимизации, отражающий основную цель преследуемую субъектом управления — повышение эффективности использования ресурсов. В производственной сфере показателями эффективности являются обычно выручка или прибыль, что приводит к задачам максимизации. Именно (1.1) представляет собой формулировку задачи максимизации целевой функции.
Аналогично можно записать задачу минимизации целевой функции. В этом случае целью является обычно минимизации затрат.
Условия (2) могут выражать ограниченность ресурсов. Например, затраты материалов, труда и времени, необходимые для реализации плана производства, не должны превышать имеющиеся запасы. Ограничения могут также отражать спрос на продукцию. Так в задачах о диете и суточном рационе, условия (2), задают необходимый минимум потребности в ингредиентах (витаминах, кормовых единицах и т.п.).
Переменные называют управляемыми. На эти переменные обычно накладывают условия неотрицательности (4), что соответствует их экономическому смыслу. Допустимо и наличие свободных переменных, на которые не накладываются условия на знак.
Решением задачи линейного программирования являются оптимальные значения управляемых переменных, которые обеспечивают максимум или минимум целевой функции.
Любой упорядоченный набор чисел , называется планом задачи или альтернативой. В ЗЛП трактуют как вектор из пространства .
План, удовлетворяющий всем ограничениям ЗЛП, называется допустимым планом.
В случае задачи максимизации (минимизации) допустимый план, доставляющий максимум (минимум) целевой функции, называется оптимальным планом.
Так как любое ограничение в виде равенства может быть приведено к ограничению в виде неравенства, а любое ограничение в виде неравенства может быть приведено к ограничению в виде равенства путем введения новых фиктивных переменных, исходная ЗЛП может быть записана в одном из специальных видов, стандартном или каноническом.
При записи в стандартном виде, ограничения формулируются в виде неравенств. Стандартный вид задачи максимизации:
, , (1.2)
, .
Обратите внимание на знак неравенств в ограничениях.
Стандартный вид задачи минимизации:
, , (1.3)
, .
При записи в каноническом (или классическом) виде, ограничения формулируются в виде равенств.
Канонический вид задачи максимизации:
, , (1.4)
, .
Канонический вид задачи минимизации:
, , (1.5)
, .
ЗЛП можно записывать в матричном виде.
Стандартная задача максимизации в матричном виде:
, , . (1.6)
Стандартная задача минимизации в матричном виде:
, , , (1.7)
где
,
(1.8)
Иногда используют другую форму записи ограничений, вводя обозначение для множества допустимых планов.
, (1.9)
Таким образом, задача линейного программирования (1.2) с использованием обозначения (1.9), заключается в нахождении неотрицательных значений управляемых переменных , максимизирующих заданную целевую функцию .
В силу того, что целевая функция линейна, а, следовательно, непрерывна, решение существует, если множество допустимых планов непустое и ограниченное.
При решении ЗЛП обычно нужно перейти от словесной формулировки к математическому описанию. Для этого нужно:
1. Идентифицировать искомые переменные задачи, то есть указать перечень управляемых переменных , набор которых описывает возможное решение.
2. Задать ограничения, задающие множество допустимых планов, записать их в форме неравенств или уравнений относительно компонент плана.
3. Сформулировать критерий для оценки альтернатив. То есть построить целевую функцию.
Задача А1.41. Для изготовления различных изделий А, В, С предприятие использует три различных вида сырья. Нормы расхода сырья на производство одного изделия каждого вида, цена одного изделия А, В и С, а также общее количество сырья каждого вида, которое может быть использовано предприятием, приведены в табл. 1.1. Изделия А, В и С могут производиться в любых соотношениях (сбыт обеспечен), но производство ограничено выделенным предприятию сырьем каждого вида. Составьте план производства изделий, при котором общая стоимость всей произведенной предприятием продукции является максимальной.
Таблица 1.1 | ||||
Виды сырья | Нормы затрат сырья на одно изделие | Общее количество сырья | ||
А | В | С | ||
I | ||||
II | ||||
III | ||||
Цена одного изделия (руб.) |
Построим математическую модель задачи.
1). Укажем искомые переменные задачи:
— суточный объем производства изделия А (шт.);
— суточный объем производства изделия B (шт.);
— суточный объем производства изделия C (шт.).
2). Зададим ограничения задачи.
а). Ограничения на ресурсы. Расход используемых ресурсов не должен превышать их запас.
(ресурс I)
(ресурс II)
(ресурс III)
б). Ограничения на знак. Объемы производства изделий не могут быть отрицательными.
, , .
3). Построим целевую функцию.
максимизирует общую стоимость произведенной продукции.
Запишем окончательно математическую постановку задачи максимизации в стандартном виде:
(1.10)
Задача. Требуется составить диету, содержащую, по крайней мере, 20 единиц белков, 30 единиц углеводов, 10 единиц жиров и 40 единиц витаминов. Как дешевле всего составить диету из 5 имеющихся продуктов: хлеба, сои, сушеной рыбы, фруктов молока? В табл. 1.2 указаны цены продуктов за 1 кг (или л) в денежных единицах и содержание в продуктах компонентов диеты в условных единицах.
Таблица 1.2. | |||||
Питательные вещества | Продукты | ||||
Хлеб | Соя | Сушеная рыба | Фрукты | Молоко | |
Белки | |||||
Углеводы | |||||
Жиры | |||||
Витамины | |||||
Цена |
Построим математическую модель задачи.
1). Искомые переменные задачи – количество каждого из 5 ингредиентов, входящих в диету.
— количество -го ингредиента (кг или л), .
2). Ограничения задачи.
а) Ограничения на ресурсы. Диета должна содержать,
не менее, 20 единиц белков: ,
не менее, 30 единиц углеводов: ,
не менее, 10 единиц жиров: ,
не менее, 40 ед. витаминов: .
b) Ограничения на знак.
Искомые переменные по условию не могут быть отрицательными: , , , , .
3). Целевая функция
минимизирует общую сумму, потраченную на продукты.
Запишем математическую постановку задачи минимизации в стандартном виде:
(1.11)