Типовые задачи, решаемые методами линейного программирования

Круг задач, решаемых при помощи методов линейного программирования достаточно широк:

· задача об оптимальном использовании ресурсов при производственном планировании;

· задача о смесях (планирование состава продукции);

· задача о нахождении оптимальной комбинации различных видов продукции для хранения на складах (управление товарно-материальными запасами или "задача о рюкзаке");

· транспортные задачи (анализ размещения предприятия, перемещение грузов).

1.Задача об оптимальном использовании ресурсов при производственном планировании. Общий смысл задач этого класса сводится к следующему. Предприятие выпускает n различных изделий. Для их производства требуется m различных видов ресурсов (сырья, материалов, рабочего времени и т.п.). Ресурсы ограничены, их запасы в планируемый период составляют, соответственно, b1, b2,..., bm условных единиц. Известны также технологические коэффициенты aij, которые показывают, сколько единиц i-го ресурса требуется для производства единицы изделия j-го вида ( ). Прибыль, получаемая предприятием при реализации изделия j-го вида, равна cj. В планируемом периоде значения величин aij, bi и cj остаются постоянными. Требуется составить такой план выпуска продукции, при реализации которого прибыль предприятия была бы наибольшей.

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

3. Транспортная задача. Под транспортной задачей понимают целый ряд задач, имеющих определенную специфическую структуру. Наиболее простыми транспортными задачами являются задачи о перевозках некоторого продукта из пунктов отправления в пункты назначения при минимальных затратах на перевозку. Три поставщика одного и того же продукта располагают в планируемый период следующими его запасами: первый – 120 условных единиц, второй – 100 условных единиц, третий – 80 условных единиц. Этот продукт должен быть перевезен к трем потребителям, потребности которых равны 90, 90 и 120 условных единиц, соответственно. Обычно начальные условия транспортной задачи записывают в так называемую транспортную таблицу. В ячейках таблицы в левом верхнем углу записывают показатели затрат (расходы по доставке единицы продукта между соответствующими пунктами), под диагональю каждой ячейки размещается величина поставки xij (т.е. xij - количество единиц груза, которое будет перевезено от i-го поставщика j-му потребителю). Необходимо определить наиболее дешевый вариант перевозок, при этом каждый поставщик должен отправить столько груза, сколько имеется у него в запасе, а каждый потребитель должен получить нужное ему количество продукции.

Задача (модель) линейного программирования, как и любая задача исследования операций, включает три основных элемента:

1. Переменные, которые следует определить.

2. Целевая функция, подлежащая оптимизации.

3. Ограничения, которым должны удовлетворять переменные.

В общем виде модель записывается следующим образом.

Целевая функция:

c1x1 + c2x2 + ... + cnxn → max(min) (1.1)

Ограничения:

a11x1 + a12x2 + ... + a1nxn {≤ = ≥} b1, a21x1 + a22x2 + ... + a2nxn {≤ = ≥} b2, ... am1x1 + am2x2 + ... + amnxn {≤ = ≥} bm (1.2)

Требование неотрицательности:

xj ≥ 0 (1.3)

При этом aij, bi, cj() - заданные постоянные величины. Задача состоит в нахождении оптимального значения функции (1.1) при соблюдении ограничений (1.2) и (1.3). Систему ограничений (1.2) называют функциональными ограничениями задачи, а ограничения (1.3) - прямыми. Вектор, удовлетворяющий ограничениям (1.2) и (1.3), называется допустимым решением (планом) задачи линейного программирования. План, при котором функция (1.1) достигает своего максимального (минимального) значения, называется оптимальным.

Пример решения задачи линейного программирования

Рассмотрим на конкретном примере.Для изготовления изделий A, B, C и D, фабрика расходует в качестве сырья сталь и цветные металлы, имеющиеся в ограниченном количестве. Указанные изделия производят спомощью токарных и фрезерных станков. Определить план выпуска продукции, при котором будет достигнута максимальная прибыль. Необходимые данные приведены в таблице:



Вид ресурса Объем ресурса Нормы расхода на одно изделие
A B C D
Сталь, кг
Цв. Металлы, кг
Токарные станки, станко-час
Фрезерные станки, станко-час
Прибыль, ден. ед.

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

2) сформулировать в экономических терминах двойственную задачу и составить еематематическую модель;

3) используя решение исходной задачи и соответствие между двойственными переменными, найти компоненты оптимального плана двойственной задачи — двойственные оценки у*i;

4) указать наиболее дефицитный и недефицитный (избыточный) ресурс, если он имеется;

5) с помощью двойственных оценок уi* обосновать рациональность оптимального плана, сопоставив оценку затрат fmin израсходованных ресурсов и максимальный доход zmaxот реализации готовой продукции по всему оптимальному плану и по каждому виду продукции в отдельности;

6) построить матрицу взаимозаменяемости ресурсов;

7) оценить целесообразность приобретения ∆bk = 3 единиц ресурса Рkпо цене сk=0,5 (к=3) за единицу;

8) установить размеры максимальной прибыли при изменении ресурса Р1, на -20 единиц, Р2— на 40 единиц, Р3 — на -10 единиц, Р4 — на 30 единиц. Оценить раздельное влияние этих изменений и суммарное их влияние на прибыль.

9) установить, целесообразно ли выпускать новую продукцию, на единицу которой ресурсы Р1, Р2и Р3 4 расходуются в количествах 12, 5, 17 и 9 единиц, а цена единицы готовой продукции составляет 5 ден. ед.

10) Компьютерная реализация:

10.1. Решить прямую и двойственную задачи. Построить диаграммы по полученным результатам (т.е. представить в виде диаграммы полученные прямое и двойственное решения)

10.2. Создать отчеты по результатам, пределам и устойчивости для прямой и двойственной задач. Дать пояснения к полученным в отчетах результатам и сравнить полученные результаты с результатами п. I. (т.е. с результатами, полученными без использования компьютера)

10.3. Решить задачи из п. I. 8) (4 задачи) и оценить раздельное и суммарное влияние этих изменений с помощью диаграммы.

Решить исходную задачу при условии, что решение должно быть целочисленным.

2.1.Обозначим через Х1 , Х2 , Х3 , Х4 - количество изделий каждого вида соответственно, планируемого к выпуску, а через f – величину прибыли от реализации этих изделий. Тогда, учитывая значение прибыли от единицы продукции П1 = 4 ден. ед., П2= 2 ден. ед., П3= 4 ден. ед., П4= 3 ден. ед., запишем сум­марную величину прибыли – целевую функцию в следующем виде:

f = 4Х1 + 2Х2 +4Х3 + 3Х4 (мах) (2.1)

Переменные Х1, Х2, Х 3, Х4 должны удовлетворять ограничениям, наклады­ваемым на расход имеющихся в распоряжении предприятия ресурсов. Так, затраты ресурса P1(сталь, кг) на выполнение плана (Х1, Х2, Х3, Х4) составят (10Х1 + 20Х2 +15Х3+18Х4) ед., где 10Х1 – затраты ресурса P1 на выпуск Х1 ед. изделий А; 20Х2- затраты ресурса P2 на выпуск Х2 ед. изделий Б и т.д. Понятно, что указанная сумма не может превышать имеющийся запас P1 в 250 кг., т.е.

10Х1 + 20Х2 +15Х3+18Х4≤250 (2.2)

Аналогично получаем ограничение по расходу ресурса P2 (цветные металлы, кг.)

1 + 5Х2 + 8Х3+ 7Х4 ≤40 (2.3)

ограничение по расходу ресурсов P3 (токарные станки, станко-час)

15Х1 + 18Х2 +12Х3+ 20Х4 ≤100 (2.4)

ограничение по расходу ресурсов P4 (фрезерные станки, станко-час)

1 + 12Х2 + 11Х3+ 10Х4 ≤80. (2.5)

По смыслу задачи переменные Х1, Х2, Х 3, Х4 не могут выражаться отрицатель­ными числами, т.е.

Хj≥0 (j=1,4) (2.6)

Соотношения (2.1) - (2.6) образуют экономико-математическую модель данной задачи.

Итак, математически задача сводится к нахождению числовых значений Х1*, Х2*, Х 3*, Х4* переменных Х1, Х2, Х 3, Х4, удовлетворяющих линейным нера­венствам (2.2) - (2.6) и доставляющих максимум линейной функции (2.1)

Прежде чем решать задачу линейного программирования симплекс-методом, ее модель приводят к канонической форме. Основным признаком канонической формы является запись ограничений задачи в виде равенств. В нашем же случае ограничения (2.2) - (2.5) имеют вид неравенств типа "≤". Чтобы преобразовать их в эквивалентные уравнения, введем в левые части неравенств дополнительные (балансовые) неотрицательные переменные Х5, Х6, Х7, Х8, обозначающие разности между правыми и левыми частями этих нера­венств. В результате модель можно записать в виде

f = 75Х1 + 35Х2 +40Х3 +20Х4 (мах) (2.7)

10Х1 + 20Х2 +15Х3+18Х4+ Х5 = 250

1 + 5Х2 + 8Х3+ 7Х4 + Х6 = 40

15Х1 + 18Х2 +12Х3+ 20Х4 + Х7 = 100 (2.8)

1 + 12Х2 + 11Х3+ 10Х4 + Х8 = 80

Хj≥0 (j=1,8) (2.9)

Заметим здесь же, что дополнительные переменные Х5, Х6, Х7, Х8имеют вполне определенный экономический смысл - это возможные остатки ресур­сов соответственно P1, P2, P3 4. Их еще называют резервами.

Анализируя каноническую модель (2.7) - (2.9), замечаем, что каждая из переменных Х5, Х6, Х7, Х8 входит только в одно из уравнений системы (2.8). Это обстоятельство свидетельствует о том, что в системе (2.8) переменные Х5, Х6, Х7, Х8являются базисными, а остальные переменные Х1, Х2, Х3, Х4 - свободными. В связи с этим в первую симплекс-таблицу систему ограничительных урав­нений (2.7) можно записать в виде, разрешенном относительно базиса Х5, Х6, Х7, Х8(табл. 2.1).

Таблица 2.1

БП СП
- Х1 - Х2 - Х3 - Х4
Х5=
Х6=
Х7= 15
Х8=
f   -4 -2 -4 -3

Все элементы столбца свободных членов положительны, поэтому со­держащийся в табл. 2.1 план (0; 0; 0; 0; 250; 40; 100; 80), является опорным. Однако этот план не является оптимальным: в f — строке имеются отрицательные элементы. Чтобы получить опорный план, более близкий к оптимальному, выпол­ним симплексное преобразование табл. 2.1. С этой целью выберем перемен­ные, участвующие в преобразовании базиса Х5, Х6, Х7, Х8в новый базис. Наи­больший по модулю отрицательный элемент (-4) f-строки указывает, что в новый базис следует ввести переменную Х1 ,т.е. в качестве разрешающего в предстоящем симплексном преобразовании надо взять первый столбец. Что­бы определить переменную, выводимую из базиса, составляем симплексные отношения и выбираем наименьшее из них

min(250/10; 40/0; 100/15; 80/8)= 100/15 = 6,667

Итак, из базиса надо исключить переменную, стоящую в третьей (разре­шающей) строке, т.е. Х7. На пересечении разрешающих столбца и строки на­ходится разрешающий элемент 15, с которым и выполняется симплексное преобразование (шаг жорданова исключения). В результате приходим к табл. 2.2.

В f-строке табл. 2.2 есть отрицательные элементы, значит, опорный план оптимальным не является.

Таблица 2.2

БП СП
- Х7 - Х2 - Х3 - Х4
Х5= 183,3 -0,667 4,667
Х6= 8
Х1= 6,667 0,067 1,2 0,8 1,333
Х8= 26,667 -0,533 2,4 4,6 0,667
F 26,667 0,267 2,8 -0,8 2,333

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

Таблица 2.3

БП СП
- Х7 - Х2 - Х6 - Х4
Х5= 148,3 -0,667 3,625 -0,875 -1,46
Х3= 0,625 0,125 0,875
Х1= 2,667 0,0667 0,7 -0,1 0,633
Х8= 3,667 -0,5333 -0,475 -0,575 -4,69
F 30,667 0,2667 3,3 0,1 3,033

Следовательно, опорный план (2,667; 0; 5; 0; 148,3; 0; 0; 3,667) является опти­мальным, а соответствующее ему значение 30,667 целевой функции будет макси­мальным.

Итак, по оптимальному плану следует производить 2,667 ед. изделий А; 0 ед. изделий Б; 5 ед. изделий В; 0 ед. изделий С.

При этом предприятие получит максимальную прибыль в размере 30,667 ден. ед. Останут­ся неиспользованными 148,3 ед. ресурса P1 (сталь, кг.), и 3,667 ед. ресурса Р4 (фрезерные станки, станко-час), а ресурсы P2 и Р3 будут израсходо­ваны полностью.

2.2. Двойственная переменная Yi. выступает коэффициентом при bi,следовательно, определяет зависимость целевой функции от изменения ресурсов bi на единицу.

Чтобы составить модель двойственной задачи, напишем матрицу ис­ходной

задачи (2.1)- (2.6) в следующем виде:

fmax

Транспонируем матрицу (2.11). В результате получим матрицу (2.12) двойственной задачи:

φ min

По матрице (2.12) легко написать модель задачи, двойственной к ис­ходной задаче:

φ = 250Y1 + 40Y2 +100Y3+ 80Y4 (min) (2.13)

10Y1 + 0Y2+ 15Y3+ 8Y4 ≥4

20Y1 + 5Y2 + 18Y3+ 12Y4 ≥2

15Y1 + 8Y2 +12Y3+ 11Y4 ≥4 (2.14)

18Y1 + 7Y2+ 20Y3+ 10Y4 ≥3

Yi≥0 (j=1,3) (2.15)

2.3. Из теорем двойственности следует, что если решена одна из пары двойственных задач, то одновременно найдено решение и другой задачи. Компоненты оптимального плана этой задачи находятся в строке целевой функции последней симплекс - таблицы решенной задачи.

В п. 1 мы нашли оптимальный план исходной задачи, его компоненты находятся в табл. 2.3. В f-строке этой же таблицы содержатся и компоненты Yi* оптимального плана двойственной задачи (2.13) - (2.15). Выписать ком­поненты Yi* поможет соответствие между переменными двойственных задач. Чтобы установить это соответствие, преобразуем ограничения-неравенства (2.14) в эквивалентные уравнения, вычитая из левых частей до­полнительные неотрицательные переменные Y1, Y2 и Y3 ,Y4 равные разностям между левыми и правыми частями этих неравенств. Тогда модель (2.13)-- (2.15) запишется в виде

φ = 250Y1 + 40Y2 +100Y3+ 80Y4 (min)

10Y1 + 0Y2+ 15Y3+ 8Y4 – Y5= 4

20Y1 + 5Y2 + 18Y3+ 12Y4 – Y6= 2

15Y1 + 8Y2 +12Y3+ 11Y4 - Y7= 4

18Y1 + 7Y2+ 20Y3+ 10Y4 - Y8= 3

Yi≥0 (j=1,8)

В этой записи переменные Y5, Y6 и Y7, Y8 являются базисными, а Y1, Y2 и Y3, Y4 - свободными. В исходной задаче (2.7) - (2.9) переменные Х1, Х2 и Х3, Х4 яв­ляются свободными, a Х5, Х6 и Х7, Х8 - базисными.

Соответствие, о котором шла речь выше, устанавливают, сопоставляя базисным переменным одной задачи свободные переменные двойственной задачи и наоборот, т.е.

Х5ÛY1, Х6ÛY2, Х7ÛY3, Х8ÛY4, Х1ÛY5, Х2ÛY6 , Х3ÛY7, Х4ÛY8.

(2.16)

Воспользуемся соответствием (2.16) следующим образом. Как видно, переменная Y1 связана с переменной Х5 (поэтому их называют двойственными переменными), а в табл.2.3 переменная Х5 находится в базисе, значит, двой­ственная ей переменная Y1 на этом этапе расчетов является свободной и, как свободная переменная, равна нулю (в любой двойственной паре всегда одна переменная базисная, а другая свободная). Итак, Y1* = 0. Далее, Y2 соответст­вует Х6, а в табл.2.3 под Х6 в f- строке находится элемент 0,1, следовательно, Y2* = 0,1. Точно так же устанавливается, что Y3* = 0,2667; Y4* = 0; Y5* = 0; Y6* = 3,3; Y7* = 0; Y8* =3,033.

Из теорем двойственности следует, что экстремальные значения целе­вых функций разрешимых двойственных задач совпадают, поэтому φmin = fmax = = 30,667.

2.4. Оценки ресурсов Р2 и Р3являются положительными, следовательно эти виды сырья используется постоянно и является дефицитным. Наиболее дефицитным ресурсом будет ресурс Р3, так он имеет наибольшую оценку. Избыточным ресурсами является ресурсы Р1и Р4, так как их оценки равны нулю.

2.5.Чтобы определить изменение максимальной прибыли при изменении ресурсов, необходимо найти интервалы устойчивости двойственных оценок, в пределах которых они точно измеряют влияние ограничений на целевую функцию.Определим интервал устойчивости по отношению к ограничению по ресурсу 1-го вида. Для этого выпишем матрицу из коэффициентов при базисных неизвестных. Базисными переменными в оптимальном решении являются Х4, Х6, Х7, Х1. Матрица коэффициентов при этих переменных в системе ограничений имеет вид:

Типовые задачи, решаемые методами линейного программирования - student2.ru

Обратная матрица Типовые задачи, решаемые методами линейного программирования - student2.ru


-0,875 -0,667
0,125
-0,1 0,0667
-0,575 -0,533

используя формулы Типовые задачи, решаемые методами линейного программирования - student2.ru ; Типовые задачи, решаемые методами линейного программирования - student2.ru , находим

Типовые задачи, решаемые методами линейного программирования - student2.ru min (148,3/1)= 148,3

Типовые задачи, решаемые методами линейного программирования - student2.ru

В соответствии с формулой : Типовые задачи, решаемые методами линейного программирования - student2.ru , интервал устойчивости оценок по отношению к первому ресурсу примет вид: (250 – 148,3; 250 + ∞) = (101,7; ∞)

Аналогично находим интервал устойчивости для остальных видов ресурсов.

Типовые задачи, решаемые методами линейного программирования - student2.ru 5/0,125 = 40 Типовые задачи, решаемые методами линейного программирования - student2.ru 3,667/0,575 = 6,377

Р2:(40 – 40; 40 + 3,677) = (0; 43,677)

Типовые задачи, решаемые методами линейного программирования - student2.ru 2,6667/0,06667 = 40 Типовые задачи, решаемые методами линейного программирования - student2.ru 3,667/0,533 = 6,875

Р3:(100 – 40; 100 + 6,875) = (60; 106,875)

Типовые задачи, решаемые методами линейного программирования - student2.ru 3,667/1 = 3,667 Типовые задачи, решаемые методами линейного программирования - student2.ru

Р4:(80 – 3,667; 80 + ∞) = (76,333; +∞)

Величина двойственной оценки численно равна изменению целевой функции при изменении соответствующего ресурса на одну единицу.

При увеличении ресурса Р2 на одну весовую единицу значение целевой функции оптимального плана увеличится на 0,1 ден. ед. При увеличении ресурса Р3 на одну весовую единицу значение целевой функции оптимального плана увеличится на 0,2667 ден. ед. Оценки ресурсов Р1 и Р4 равны нулю, следовательно данные ресурсы не является дефицитным, при их увеличении значение целевой функции не изменится. Оценка изделий Б и С больше нуля, следовательно производство данных изделий не будет рентабельным и при производстве одной единицы изделия Б значение целевой функции оптимального плана уменьшится на 3,3 ден. ед., а при производстве одной единицы изделия С значение целевой функции оптимального плана уменьшится на 3,033ден. ед.

2.6. Матрица коэффициентов взаимозаменяемости ресурсов:

Типовые задачи, решаемые методами линейного программирования - student2.ru

-0,875 -0,667
0,125
-0,1 0,0667
-0,575 -0,533

2.7. Оценим целесообразность приобретения Db= 3 единиц ресурса P3по цене c3=0,5 заединицу. Определим значение ∆ = y3 – C3 = 0,1 – 0,5 = -0,4. Увеличение прибыли при закупке 1 единицы ресурса Р3 меньше цены данного ресурса, следовательно не имеет смысла закупать данный ресурс.

2.8.Изменение второго вида ресурса не находится в пределах устойчивости оценок, следовательно мы не можем оценить влияние изменения на целевую функцию. Изменения ресурсов 1, 3, 4 находятся в пределах устойчивости оценок, то их раздельное влияние на величину прибыли, Dfimax определяется произведением оценки yi и величины изменения Dbi.

Df1max=Db1·y1= -20· 0= 0 ден. ед.

Df3max=Db3·y3= -10·0,2667 = -2,667 ден. ед.

Df4max=Db4·y4= 30·0 = 0 ден. ед.

Суммарное влияние Dfmax=Df1max+Df3max +Df4max= 0 – 2,667 + 0= -2,667 ден. ед.

2.9. Установим, целесообразно ли выпускать новую продукцию, на единицу которой ресурсы Р1, Р2 и Р3, Р4 расходуются в количествах 12; 5; 17 и 9 единиц, а цена единицы готовой продукции составляет 5 ед. Для этого вычисляем характеристику:

Типовые задачи, решаемые методами линейного программирования - student2.ru (12·0+ 5·0,1+ 17·0,2667+ 9) – 5 = 0,0339 > 0

Так как прибыль не превышает затраты то введение в план производства нового изделия не целесообразно.

Наши рекомендации