
Методы оптимизаций / Раздел 3
.7.doc
3.7. Применение основной задачи линейного
программирования к решению некоторых
экономических задач
Линейное программирование возникло из практических потребностей, поэтому оно находит применение при решении широкого класса различных практических, в частности, экономических задач. Рассмотрим постановку и решение некоторых из них.
1. Задача использования ресурсов.
Предприятие
имеет m видов ресурсов, количество
которых соответственно равно bi,
(i = 1, m) единиц, из которых производится
n видов продукции. Предприятие может
обеспечить выпуск продукции j-го вида
в количестве не более dj
(j = 1, n) единиц (рынок не может поглотить
более dj
единиц). Для производства единицы j-й
продукции необходимо aij
единиц i-го ресурса. При реализации
единицы j-й продукции прибыль составляет
cj
единиц.
Необходимо составить план выпуска продукции, который обеспечивал бы получение максимальной прибыли при реализации всей выпущенной продукции.
Если
обозначить через хj
(j= 1, n) количество единиц j-й продукции,
которое необходимо выпустить, то
поставленная задача имеет следующую
математическую модель.
Найти
максимальное значение линейной функции
Ф =
(cj∙xj)
при
ограничениях
(aij∙xj)
≤ bi,
i = 1, m (3.32)
0 ≤ xj ≤ dj, j = 1, n
2. Задача оптимального использования удобрений.
Пусть для выращивания некоторой культуры применяется m видов удобрений, соответственно, в количестве bi, (i = 1, m) единиц. Вся посевная площадь разбита на n почвенно - климатических зон, каждая по dj, (j = 1, n) единиц. Пусть аij - количество удобрения i-го типа, вносимого на единицу площади j-й зоны, а cj - повышение средней урожайности, получаемой с единицы площади j-й зоны. Составить план распределения удобрений между посевными зонами, который обеспечивал бы максимальный суммарный прирост урожайности культуры.
Обозначим через хj (j = 1, n) площадь j-й зоны, которую необходимо удобрить; тогда математическая модель поставленной задачи имеет вид (3.32).
3. Задача составления диеты.
Дневная
диета должна содержать m видов различных
питательных веществ, соответственно,
в количестве не менее bi
(i = 1, m) единиц. Имеется n различных
продуктов в количестве dj
(j=1, n) единиц.
Пусть аij - количество единиц i-го питательного вещества, содержащегося в единице j-го продукта; cj - стоимость единицы j-го продукта.
Определить,
какие продукты и в каком количестве
необходимо включить в диету, чтобы она
удовлетворяла минимальной дневной
потребности в каждом питательном
веществе при наименьшей общей стоимости
используемых продуктов.
Обозначим через хj (j = 1, n) количество единиц j-го продукта в диете; тогда задача имеет следующую математическую модель.
Найти
минимальное значение линейной функции
Ф =
(cj·xj)
при
ограничениях
(aij∙xj)
≥ bi,
i = 1, m (3.33)
0 ≤ xj ≤ dj, j = 1, n
К этому виду относятся также задачи составления дневного рациона, задачи на составление смесей, а также некоторые задачи планирования производства.
4. Задача об использовании мощностей ( задача о загрузке
оборудования)
Предприятию
задан план производства m
видов продукции по времени и номенклатуре:
требуется за время Т выпустить bi
(i
= 1, m)
единиц продукции каждого типа. Продукция
производится на станках n
типов. Для каждого станка известны
производительность aij
(то
есть, количество продукции j-го
вида, которое можно произвести на станке
i-го
типа за единицу времени) и затраты
cij
на изготовление продукции j-го
вида на станке i-го
типа.
Необходимо составить такой план работы станков (т.е. так распределить выпуск продукции между станками), чтобы затраты на производство всей продукции были минимальными.
Обозначим
xij
– время, в течение которого станок i-го
типа будет занят изготовлением продукции
j-го
вида (i
= 1, m;
j
= 1, n).
Затраты на производство всей продукции
выразятся функцией F
=
cijּxij,
которую нужно минимизировать.
Для
выполнения плана выпуска по номенклатуре
необходимо, чтобы выполнялись следующие
равенства:
aijּxij
= bi (i
=1,
m)
Кроме
того, xij
≥
0 (i
= 1,m;
j
= 1, n)
Так как время работы каждого станка ограничено и не превышает Т, то система ограничений может быть дополнена неравенствами:
xij
≤
T (i
= 1, n)
5. Задача о раскрое материалов.
На
раскрой (распил, обработку) поступает
материал одного образца в количестве
A
единиц. Требуется изготовить из него m
разных комплектующих изделий в
количествах, пропорциональных числам
bi
(i
= 1, m)
– условие комплектности. Каждая единица
материала может быть раскроена n
различными способами, причем использование
j-го
способа (j
= 1, n)
дает aij
единиц
i-го
изделия (i=1,
m).
Необходимо найти план раскроя, обеспечивающее максимальное количество комплектов.
Обозначим xj – число единиц материала, раскраиваемых j-ым способом,
k – число изготавливаемых комплектов изделий.
Так
как общее количество материала равно
сумме его единиц, раскраиваемых различными
способами, то
xj
=
A.
Требование
комплектности выразится уравнениями
xjּaij
= biּk (i
= 1, m)
Кроме
того xj
≥
0 (j
= 1, n)
6. Транспортная задача.
Одной из типичных задач линейного программирования является, так называемая, транспортная задача. Она возникает при планировании рациональных перевозок грузов. В одних случаях это означает определение такого плана перевозок, при котором их стоимость была бы минимальна, а в других - более важным является выигрыш во времени. Первая задача называется транспортной задачей по критерию стоимости, а вторaя - транспортной задачей по критерию времени.
Первая задача является частным случаем задачи линейного программирования и может быть решена симплексным методом. В силу особенностей этой задачи она решается проще.
Пусть в m пунктах отправления (А1, А2, …, Аm) находятся, соответственно, ai (i=1, m) единиц однородного груза (запасы), который должен быть доставлен n потребителям (В1, В2, …, Вn) в количествах bj (j=1, n) единиц (заявки). Заданы стоимости cij перевозок единицы груза из i-го пункта отправления j-му пункту потребления. Обозначим через xij ≥ 0 (i =1, m; j =1, n) количество единиц груза, перевозимого из i-го склада j-му потребителю; тогда переменные xij должны удовлетворять следующим ограничительным условиям:
1)
xij
= ai
(i
= 1, m),
(все запасы израсходованы);
2)
xij
= bj
(j
= 1, n),
(все заявки удовлетворены) (3.34)
3) xij ≥ 0.
Суммарные
затраты на перевозки равны Ф =
(сij·xij
).
Следовательно, требуется на множестве неотрицательных решений найти переменные xij, (i = 1, m; j = 1, n ), удовлетворяющих указанным условиям и минимизирующих целевую функцию Ф.
Математическая модель транспортной задачи обладает следующими особенностями:
а) система ограничений задана в виде уравнений (задача задана в канонической форме);
б) коэффициенты при переменных в системе ограничений равны единице или нулю;
в) каждая переменная входит в систему ограничений два раза: один раз в сумму по i и один раз в сумму по j;
Транспортные
задачи, в которых выполняется условие
ai
=
bj,
то есть, суммарные запасы равны суммарным
потребностям, называются закрытыми
транспортными задачами (закрытая модель
транспортной задачи). В противном случае
задача называется открытой
(открытая модель транспортной задачи).
А. Закрытая транспортная задача является частным случаем задачи линейного программирования и методы ее решения представляют собой компактные интерпретации общих методов линейного программирования. Наиболее эффективные методы решения транспортной задачи основаны на методе последовательного улучшения плана (симплексный метод) и на методе последовательного сокращения невязок (венгерский метод).
Специфичная форма системы ограничений данной задачи позволяет существенно упростить обычный симплексный метод. Модификациями симплексного метода применительно к закрытой транспортной задаче являются распределительный метод и его разновидности (метод северо-западного угла, метод минимальной стоимости, метод двойного предпочтения), а также метод потенциалов.
В. Открытая модель транспортной задачи имеет две разновидности:
а)
суммарные запасы превышают суммарные
потребности
ai
>
bj;
б)
суммарные потребности превышают
суммарные запасы
ai
<
bj;
Целевая функция одинакова в обоих случаях, изменяется только система ограничений.
Открытая задача решается приведением к закрытой модели.
В случае (а), когда суммарные запасы превышают суммарные потребности, вводится фиктивный (n+1)-ый потребитель, потребности которого равны
bn+1
=ai
-
bj.
В случае (б), когда суммарные потребности превышают суммарные запасы, вводится фиктивный (m+1)-ый поставщик, запасы которого равны
am+1
=
bj
-
ai
Стоимость перевозки единицы груза как до фиктивного потребителя, так и стоимость перевозки единицы груза от фиктивного поставщика полагают равными нулю, так как груз в обоих случаях не перевозится. После преобразований задача принимает вид закрытой модели и решается обычным способом.
2.Транспортная задача по критерию времени заключается в минимизации времени перевозок. Выразим время Т через времена tij и объемы xij (от i–го поставщика до j–го поставщика). Так как все перевозки заканчиваются в тот момент, когда кончается самая длительная из всех перевозок, то время Т есть максимальное из всех времен tij ненулевых перевозок, то есть, T = max tij ,
Xij>0
где символ хij>0 означает, что берется максимальное не из всех tij, а только из тех, для которых перевозки отличны от нуля.
Требуется,
чтобы
Поставленная задача не является задачей линейного программирования, так как величина Т – нелинейная функция переменных хij. Эту задачу можно свести к решению задач линейного программирования, но не одной, а нескольких. А для непосредственного решения транспортной задачи по критерию времени применяется, так называемый «метод запрещенных клеток».