Теория принятия решений. Линейное программирование
Начальная страница. Содержание
Введение    Цели и задачи     Методологические основы     Линейное программирование     Нeлинейное программирование     Нeлинейное программирование: Безусловная однопараметрическая оптимизация     Нeлинейное программирование: Безусловная многопараметрическая оптимизация    Нeлинейное программирование: Условная многопараметрическая оптимизация    Целочисленное и дискретное программирование     Динамическое программирование     Принятие решений в условиях неопределенности     Принятие многоцелевых решений     Марковские процессы принятия решений     Литература    



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

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

Теоретические разделы

Задания к лабораторно-практическим работам

2.1. Постановка задачи и применение в лесном деле

2.2. Графическое решение задачи линейного программирования

2.3. Задача линейного программирования в стандартной форме

2.4. Основы симплекс - метода линейного программирования

2.5. Метод искусственных переменных

2.6. Анализ чувствительности в линейном программировании

2.7. Контрольные вопросы и задания

Вариант 1

Вариант 2

Вариант 3

Вариант 4

Вариант 5

Вариант 6

Вариант 7

Вариант 8

Вариант 9

Вариант 10

Задача решается с использованием пакета EXCEL или LINGO. В отчете отразить постановку задачи а также приложить распечатки созданных программ и тестовых решений.

 

 


 

 

2.1. Постановка задачи и применение в лесном деле

Постановка практической задачи ЛП включает следующие основные этапы: определение показателя эффективности, переменных задачи, задание линейной целевой функции W(x), подлежащей минимизации или максимизации, функциональных hk(x), gj(x) и областных xli <xi <xui ограничений.

 Пример 2.1. Оптимизация размещения побочного производства лесничества

Лесничество имеет 24 га свободной земли под паром и заинтересовано извлечь из нее доход. Оно может выращивать саженцы быстрорастущего гибрида новогодней ели, которые достигают спелости за один год, или бычков, отведя часть земли под пастбище. Деревья выращиваются и продаются в партиях по 1000 штук. Требуется 1.5 га для выращивания одной партии деревьев и 4 га для вскармливания одного бычка. Лесничество может потратить только 200 ч. в год на свое побочное производство. Практика показывает, что требуется 20 ч. для культивации, подрезания, вырубки и пакетирования одной партии деревьев. Для ухода за одним бычком также требуется 20 ч. Лесничество имеет возможность израсходовать на эти цели 6 тыс. руб. Годовые издержки на одну партию деревьев выливаются в 150 руб. и 1,2 тыс. руб. на одного бычка. Уже заключен контракт на поставку 2 бычков. По сложившимся ценам, одна новогодняя ель принесет чистый доход в 2,5 руб., один бычок - 5 тыс. руб.

Постановка задачи.

1. В качестве показателя эффективности целесообразно взять доход за операцию (годовой чистый доход с земли в рублях).

2. В качестве управляемых переменных задачи следует взять:

x1 - количество откармливаемых бычков в год;

x2 - количество выращиваемых партий быстрорастущих новогодних елей по 1000 шт. каждая в год.

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

5000 x1 + 2500 x2 (r) max,

где

5000- чистый доход от одного бычка, руб.;

2500 - чистый доход от одной партии деревьев (1000 шт. по 2,5 руб.).

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

4.1. По использованию земли, га:

4 x1 + 1,5 x2 Ј 24.

4.2. По бюджету, руб.:

1200 x1 + 150 x2 Ј 6000.

4.3. По трудовым ресурсам, ч:

20 x1 + 20 x2 Ј 200.

4.4. Обязательства по контракту, шт.:

x1 і 2.

4.5. Областные ограничения:

x1 і 0, x2 і 0.

 

Пример 2.2 Оптимизация программы рубок с учетом фактора биоразнообразия

Леса включают в себя приблизительно 12000 га и находятся на побережье. Приблизительно 2400 га - это устье реки или парки или используются для других рекреационных целей. Остальные 9500 га, которые состоят из 10 отдельных участков, размеры которых колеблются от 110 до 3870 га., доступны для многоцелевого использования и могут подвергаться техногенному воздействию. Участки леса находятся среди земель, на которых производится как сельскохозяйственная, так и лесная продукция. Доминирующая древесная порода - сосна: 85% лесной территории покрыты сосняками или смешанными сосновыми древостоями. Остающиеся 15% покрыты смешанными лиственными древостоями. Леса, предназначенные для многоцелевого использования, разделены на 66 выделов на основе данных последнего лесоустройства. Имеются таблицы хода роста древостоев. Планируемый 60-летний горизонт проведения лесозаготовок разделен на 3 промежутков по 20 лет каждый.

Цель управления многоцелевыми лесами заключается в максимизации выхода ликвидной древесины с учетом необходимости сохранения первозданной живой природы. Кроме того объем древесины, приблизительно равный расчетной лесосеке, полагается заданным. Лесозаготовки выполняются по сплошносечной технологии.

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

Таблица 2.1.

Тип древо-стоя

 

Площадь, га

 

Запас вырубаемой древесины в будущем, м3/га, через

0-20 лет

21-40 лет

41-60 лет

1

100

3

10

30

2

200

12

17

20

3

60

25

20

18

1. В качестве показателя эффективности целесообразно взять годовой выход деловой древесины.

2. В качестве управляемых переменных задачи следует взять площади каждого из трех типов древостоя, которые могут быть вырублены в каждый из трех периодов, т.е. 9 переменных xij, где i - тип древостоя, j - период вырубки:

x11 - площадь древостоя типа 1 вырубаемого в период 1, га;

x12 - площадь древостоя типа 1 вырубаемого в период 2, га;

x13 - площадь древостоя типа 1 вырубаемого в период 3, га;

x21 - площадь древостоя типа 2 вырубаемого в период 1, га;

x22 - площадь древостоя типа 2 вырубаемого в период 2, га;

x23 - площадь древостоя типа 2 вырубаемого в период 3, га;

x31 - площадь древостоя типа 3 вырубаемого в период 1, га;

x32 - площадь древостоя типа 3 вырубаемого в период 2, га;

x33 - площадь древостоя типа 3 вырубаемого в период 3, га.

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

3 x11 + 12 x21 + 25 x31 + 10 x12 + 17 x22 + 20 x32 + 30 x13 + 20 x23 + 18 x33 (r) max.

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

4.1. По общей вырубаемой площади, га. Общая вырубаемая площадь в каждом типе древостоя за 3 периода не может превышать площадь типа древостоя. Это очевидное ограничение может быть формализовано следующим образом:

x11 + x12 + x13 Ј 100,

x21 + x22 + x23 Ј 200,

x31 + x32 + x33 Ј 60.

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

3 x11 + 12 x21 + 25 x31 = 2000,

10 x12 + 17 x22 + 20 x32 = 2000,

30 x13 + 20 x23 + 18 x33 = 2000.

4.3. По расчетной лесосеке, га. Равный периодическая вырубаемая лесосека принятая во внимание для целей сохранения первозданной природы и лесозаготовок. Предполагая что 360/3 или 120 га за период желателен. Это также говорит, что весь лес должен быть вырублен в 60 лет. Для трех периодов это условие формулируется следующим образом:

x11 + x21 + x31 = 120,

x12 + x22 + x32 = 120,

x13 + x23 + x33 = 120.

4.4. По ограничению в сохранении окружающей среды, га. Условие принимает во внимание ограничения биологов, вырубаемая лесосека для каждого типа древостоя в каждый период обеспечивает вегетационную структуру для обитателей. Это требование обеспечивает каждый вырубаемый период меньше, чем вся площадь в типе древостоя и помогает обеспечить сбалансированность распределения возрастного состава на земле. Максимальная вырубаемая площадь по каждому типу древостоя за каждый период: для древостоя 1 типа - 40 га, 2 типа - 90 га, 3 типа - 25 га:

x11 Ј 40, x21 Ј 90, x31 Ј 25,

x12 Ј 40, x22 Ј 90, x32 Ј 25,

x13 Ј 40, x23 Ј 90, x33 Ј 25.

4.5. Областные ограничения:

x11, x21, ... x33 і 0.

Пример 2.3. Оптимизация плана перевозок лесоматериалов.

Менеджер лесной компании должен решить как снабжать их три лесозавода древесиной, срубленной на трех лесосеках. Расстояния между лесозаводами и лесосеками приведены в табл. 2.2. Транспортные затраты на вывозку древесины лесовозами (одной модели) - 10 руб. за км. Каждый завод требует непрерывного снабжения древесиной, причем минимальное ежедневное снабжение каждого из них - 25 лесовозов. Ежедневный максимальный объем вырубаемой древесины по лесосекам (в лесовозах) следующий: первая - 25; вторая - 30; третья - 25.

Таблица 2.2.

 Лесосека

 Расстояние между лесозаводами и лесосеками, км

Лесозавод 1

Лесозавод 2

Лесозавод 3

1

80

150

500

2

100

170

200

3

300

250

150

Цель принятия решения - минимизация транспортных затрат. Требуется принять решение по количеству ежедневно отгружаемой древесины с лесосек к каждому лесозаводу.

Постановка задачи.

1. В качестве показателя эффективности целесообразно взять транспортные издержки (ежедневные в рублях).

2. В качестве управляемых переменных задачи следует взять число отгружаемых лесовозов в день из трех лесосек на три лесозавода, т.е. 9 переменных xij, где i - номер лесосеки, j - номер лесозавода.

x11 - площадь древостоя типа 1 вырубаемого в период 1,

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

80 x11 + 150 x21 + 50 x31 + 100 x12 + 170 x22 + 200 x32 + 300 x13 + 250 x23 + 150 x33 (r) min.

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

4.1. По вырубаемой древесине на лесосеках, лесовозы:

x11 + x12 + x13 Ј 25,

x21 + x22 + x23 Ј 30,

x31 + x32 + x33 Ј 25.

4.2. По потребности лесозаводов, лесовозы:

x11 + x21 + x31 і 25,

x12 + x22 + x32 і 25,

x13 + x23 + x33 і 25.

4.3. Областные ограничения:

x11, x21, ... x33 і 0.


 

 

2.2. Графическое решение задачи линейного программирования

 

Задачи ЛП с двумя переменными поддаются решению графическим способом. Продемонстрируем данный способ на примере 2.1 "Оптимизация размещения побочного производства лесничества":

5000 x1 + 2500 x2 (r) max,

4 x1 + 1,5 x2 Ј 24;

1200 x1 + 150 x2 Ј 6000;

20 x1 + 20 x2 Ј 200;

x1 і 2;

x1 і 0; x2 і 0.

На первом шаге следует определить все возможные неотрицательные значения переменных x1 и x2, которые удовлетворяют ограничениям. С этой целью в декартовой системе координат (рис.2.1) наносим линии, соответствующие уравнениям прямым

4 x1 + 1,5 x2 = 24;

1200 x1 + 150 x2 = 6000;

20 x1 + 20 x2 = 200;

x1 = 2; x2 = 0,

и заштриховываем область, в точках которой выполняются все ограничения. Каждая такая точка называется допустимым решением, а множество всех допустимых решений называется допустимой областью. Очевидно, что решение задачи ЛП состоит в отыскании наилучшего решения в допустимой области, которое, в свою очередь, называется оптимальным. В рассматриваемом примере оптимальное решение представляет собой допустимое решение, максимизирующее функцию 5000 x1 + 2500 x2. Значение целевой функции, соответствующее оптимальному решению, называется оптимальным значением задачи ЛП. В нашем случае, для нахождения оптимального решения достаточно через любую из вершин допустимой области провести прямую целевой функции и, вслед за этим, путем параллельного переноса полученной прямой найти такие вершины, в которых происходит только касание с допустимой областью.

Максимальный доход в размере 34 тыс. руб. лесничество может извлечь придерживаясь следующей стратегии - выращивая 3,6 бычка и 6,4 партии новогодних елей. Однако окончательное решение должно быть представлено в целочисленной форме. Как правило, в на практике полученные результаты округляют до ближайших целых, что может привести к достаточно грубым ошибкам. В разбираемом примере округление даст x1=3 и x2=6, что приводит к доходу в 30 тыс. руб. Однако достаточно удаленная от оптимального решения стратегия x1=4 и x2=5 приводит к более оптимистичному результату в 32,5 тыс. руб. Более того, как будет показано далее, еще более далекая точка x1=3 и x2=7 приводит к аналогичному результату. Поэтому расчеты необходимо продолжить с использованием методов целочисленного программирования, которые нами будут обсуждаться ниже.

Рис.2.1. Решение задачи ЛП графическим способом

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


 

 

 

2.3. Задача линейного программирования в стандартной форме

Задача ЛП в стандартной форме с m ограничениями и n переменными имеет следующий вид:

W = c1Ч x1 + c2Ч x2 + ... + cnЧ xn (r) min (max)

при ограничениях

a11Ч x1 + a12Ч x2 + ... + a1nЧ xn = b1;

a21Ч x1 + a22Ч x2 + ... + a2nЧ xn = b2;

...

am1Ч x1 + am2Ч x2 + ... + amnЧ xn = bm;

x1 і 0; x2 і 0;...; xn і 0;

b1 і 0; b2 і 0;...; bm і 0.

В матричной форме

W = cЧ x (r) min (max)

при ограничениях

AЧ x = b; x і 0; b і 0,

где

A - матрица размерности mxn,

x - вектор-столбец переменных размерности nx1,

b - вектор-столбец ресурсов размерности mx1,

с - вектор-строка оценок задачи ЛП 1xn.

В исходной задаче ЛП ограничения часто имеют вид не равенств, а неравенств. В некоторых инженерных задачах не все переменные являются неотрицательными. Следовательно требуется уяснить механизм преобразования неравенств к равенствам и неограниченных по знаку переменных к неотрицательным.

Преобразования неравенств

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

Уравнение из примера 1

4 x1 + 1,5 x2 Ј 24

можно преобразовать в равенство при помощи остаточной переменной

4 x1 + 1,5 x2 + x3 = 24.

Переменная x3 неотрицательна и соответствует разности правой и левой частей неравенства.

Аналогично

x1 і 2

можно преобразовать путем введения избыточной переменной x4:

x1 - x4 = 2 .

Преобразование неограниченных по знаку переменных

Переменные, принимающие как положительные, так и отрицательные значения, следует заменять разностью двух неотрицательных:

x = x+ - x-; x+ і0; x- і 0.

Продолжение примера 2.1. Оптимизация размещения побочного производства лесничества

Приведем к стандартной форме следующую задачу ЛП:

W = x1 - 2 x2 + 3 x3 (r) max;

x1 + x2 + x3 Ј 8;

x1 - x2 + x3 і 9;

3 x1 - x2 - 2 x3 = -17;

x1 і 0; x2 і 0,

где x3 - переменная, неограниченная по знаку.

Последовательность действий следующая:

  1. Умножим обе части равенства на -1, так как все элементы матрицы ресурсов должны быть неотрицательными.
  2. Заменим x3 на x4-x5, где x4 и x5 і 0.
  3. Введем дополнительные остаточную x6 и избыточную x7 переменные в два первых неравенства.
  4. Припишем нулевые значения оценок задачи ЛП при переменных x6 и x7. Значение целевой функции при этом не изменится.

После преобразований имеем стандартную форму задачи ЛП:

W = x1 - 2 x2 + 3 x4 - 3 x5 (r) max;

x1 + x2 + x4 - x5 + x6 = 8;

x1 - x2 + x4 - x5 - x7 = 9;

-3 x1 + x2 + 2 x4 - 2 x5 = 17;

x1 і 0; x2 і 0; x4 і 0; x5 і 0; x6 і 0; x7 і 0.


 

 

 

2.4. Основы симплекс - метода линейного программирования

Симплекс - метод представляет собой итеративную процедуру решения задач ЛП, записанных в стандартной форме, система уравнений в которой и с помощью элементарных операций над матрицами приведена к каноническому виду:

x1 + a1,m+1Ч xm+1 + ... + a1sЧ xs+...+ a1nЧ xn = b1;

...

x2 + a2,m+1Ч xm+1 + ... + a2sЧ xs+...+ a2nЧ xn = b2;

...

xm + am,m+1Ч xm+1 + ... + amsЧ xs+...+ amnЧ xn = bm.

Переменные x1, x2,...,xm, входящие с единичными коэффициентами только в одно уравнение системы и с нулевыми - в остальные, называются базисными. В канонической системе каждому уравнению соответствует ровно одна базисная переменная. Остальные n-m переменных (xm+1, ...,xn) называются небазисными переменными.

Для приведения системы к каноническому виду можно использовать два типа элементарных операций над строками:

  1. Умножение любого уравнения системы на положительное или отрицательное число.
  2. Прибавление к любому уравнению другого уравнения системы, умноженного на положительное или отрицательное число.

Алгоритм симплекс - метода:

  1. Выбираем начальное допустимое базисное решение. Базисным решением называется решение, полученное при нулевых значениях небазисных переменных, т.е. xi=0, i=m+1,...,n. Базисное решение называется допустимым базисным решением, если значения входящих в него базисных переменных неотрицательны, т.е. xj = bj і 0, j=1,2,...,m. В этом случае целевая функция примет следующий вид: W = cbЧ xb = c1Ч b1 + c2Ч b2+...+cmЧ bm. Заполняем первоначальную таблицу симплекс - метода:

 

Таблица 2.3

cb

xb

c1

c2

...

cm

cm+1

...

cn

bi

 

базис

x1

x2

...

xm

xm+1

...

xn

 

с1

x1

1

0

...

0

a1,m+1

...

a1n

b1

с2

x2

0

1

...

0

a2,m+1

...

a2n

b2

...

...

...

...

...

...

...

...

...

...

cm

xm

0

0

...

1

am,m+1

...

amn

bm

 

 

 

 

 

 

 

 

 

W

  1. Вычисляем вектор относительных оценок c при помощи правила скалярного произведения

cj = cj - cbЧ Sj ,

где

сb - вектор оценок базисных переменных;

Sj - j-тый столбец в канонической системе, соответствующей рассматриваемому базису.

Дополняем первоначальную таблицу c - строкой.

Таблица 2.4

cb

xb

c1

c2

...

cm

cm+1

...

cn

bi

 

базис

x1

x2

...

xm

xm+1

...

xn

 

с1

x1

1

0

...

0

a1,m+1

...

a1n

b1

с2

x2

0

1

...

0

a2,m+1

...

a2n

b2

...

...

...

...

...

...

...

...

...

...

cm

xm

0

0

...

1

am,m+1

...

amn

bm

c - строка

0

0

...

0

...

W

  1. Если все оценки cj Ј 0 (cj і 0), i=1,...,n, то текущее допускаемое решение - максимальное (минимальное). Решение найдено.

  1. Впротивном случае в базис необходимо ввести небазисную переменную xr с наибольшим значением cj вместо одной из базисных переменных (табл. 2.5).
  2. При помощи правила минимального отношения min(bi /air) определяем переменную xp, выводимую из базиса. Если коэффициент air отрицателен, то bi /air = Ґ . В результате пересечение столбца, где находится вводимая небазисная переменная xr и строки, где находится выводимая базисная переменная xp определит положение ведущего элемента таблицы (табл. 2.6).

Таблица 2.5

cb

xb

c1

c2

...

cm

cm+1

...

cr

...

cn

bi

 

базис

x1

x2

...

xm

xm+1

...

xr

...

xn

 

с1

x1

1

0

...

0

a1,m+1

...

a1r

...

a1n

b1

с2

x2

0

1

...

0

a2,m+1

...

a2r

...

a2n

b2

...

...

...

...

...

...

...

...

...

...

...

...

cm

xm

0

0

...

1

am,m+1

...

amr

...

amn

bm

c - строка

0

0

...

0

...

...

W

 

 

 

 

 

 

 

 

max

 

 

 

Таблица 2.6

cb

xb

c1

c2

...

cm

cm+1

...

cr

...

cn

bi

bi/

air

 

 

 

x1

x2

...

xm

xm+1

...

xr

...

xn

 

 

 

с1

x1

1

0

...

0

a1,m+1

...

a1r

...

a1n

b1

b1/a1r

 

с2

x2

0

1

...

0

a2,m+1

...

a2r

...

a2n

b2

b2/a2r

 

...

...

...

...

...

...

...

...

...

...

...

...

...

 

сp

xp

0

0

...

0

ap,m+1

...

apr

...

apn

bp

bp/apr

min

...

...

...

...

...

...

...

...

...

...

...

...

...

 

cm

xm

0

0

...

1

am,m+1

...

amr

...

amn

bm

bm/anr

 

c -стро-ка

0

0

...

0

...

...

W

 

 

 

 

 

 

 

 

 

 

max

 

 

 

 

 

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

В качестве примера решим задачу ЛП примера 2.1 "Оптимизация размещения побочного производства лесничества":

5000 x1 + 2500 x2 (r) max,

4 x1 + 1,5 x2 Ј 24;

1200 x1 + 150 x2 Ј 6000;

20 x1 + 20 x2 Ј 200;

x1 і 2;

x1 і 0; x2 і 0.

Приведем задачу к стандартной форме:

5000 x1 + 2500 x2 (r) max,

4 x1 + 1,5 x2 + x3 = 24;

1200 x1 + 150 x2 +x4 = 6000;

20 x1 + 20 x2 + x5 = 200;

x1 - x6 = 2;

x1 ... x6 і 0.

Приведем систему равенств к каноническому виду. Первые три уравнения имеют соответственно по базисной переменной x3, x4, x5, однако в четвертом она отсутствует ввиду того, что при переменной x6 стоит отрицательный единичный коэффициент. Для приведения системы к каноническому виду используем метод искусственных переменных. Идея метода заключается в следующем. Введем искусственную переменную x7 в последнее уравнение

5000 x1 + 2500 x2 (r) max,

4 x1 + 1,5 x2 + x3 = 24;

1200 x1 + 150 x2 +x4 = 6000;

20 x1 + 20 x2 + x5 = 200;

x1 - x6 + x7 = 2;

x1 ... x7 і 0.

Вспомогательная система имеет следующее допустимое базовое решение:

x1 = x2 = 0, x3 =24, x4= 6000, x5 = 200, x7 = 2.

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

  1. Вводится искусственная целевая функция, равная сумме искусственных переменных (в нашем случае она одна), которая минимизируется при помощи симплекс - метода. Если минимальное значение вспомогательной задачи равно 0, то все искусственные переменные (x7 в частности) обращаются в ноль и получается допустимое базисное решение начальной задачи.
  2. На втором этапе допустимое базовое решение, полученное на первом этапе, улучшается в соответствии с целевой функции исходной задачи ЛП.

В соответствии с рассмотренным алгоритмом на первом этапе решаем симплекс - методом следующую задачу ЛП:

x7 (r) min,

4 x1 + 1,5 x2 + x3 = 24;

1200 x1 + 150 x2 +x4 = 6000;

20 x1 + 20 x2 + x5 = 200;

x1 - x6 + x7 = 2;

x1 ... x7 і 0.

Строим первоначальную таблицу

Таблица 2.7

cb

xb

0

0

0

0

0

0

1

bi

bi/air

 

 

базис

x1

x2

x3

x4

x5

x6

x7

 

 

 

0

x3

4

1,5

1

0

0

0

0

24

24/4

 

0

x4

1200

150

0

1

0

0

0

6000

60/12

 

0

x5

20

20

0

0

1

0

0

200

20/2

 

1

x7

1

0

0

0

0

-1

1

2

2/1

min

c

строка

-1

0

0

0

0

1

0

W=2

 

 

 

 

min

 

 

 

 

 

 

 

 

 

Очевидно, что первоначальную таблицу необходимо модифицировать путем введения в базис переменной x1 вместо x7. Строим смежную симплекс-таблицу

Таблица 2.8

cb

xb

0

0

0

0

0

0

1

bi

 

базис

x1

x2

x3

x4

x5

x6

x7

 

0

x3

0

1,5

1

0

0

4

-4

16

0

x4

0

150

0

1

0

1200

-1200

3600

0

x5

0

20

0

0

1

20

-20

160

0

x1

1

0

0

0

0

-1

1

2

c

строка

0

0

0

0

0

0

1

W=0

В табл.2.8 все коэффициенты в строке c положительны или равны нулю, поэтому текущее базисное решение оптимальное (минимальное), которое используем на втором этапе двухэтапного симплекс - алгоритма. С этой целью возвращаемся к первоначальной целевой функции W = 5000 x1 + 2500 x2 и продолжаем вычисления в симплекс - таблицах:

Таблица 2.9

cb

xb

5000

2500

0

0

0

0

0

bi

bi/air

 

 

ба-зис

x1

x2

x3

x4

x5

x6

x7

 

 

 

0

x3

0

1,5

1

0

0

4

-4

16

16/1,5

 

0

x4

0

150

0

1

0

1200

-1200

3600

360/15

 

0

x5

0

20

0

0

1

20

-20

160

16/2

min

5000

x1

1

0

0

0

0

-1

1

2

Ґ

 

c - строка

0

2500

0

0

0

0

-5000

W=

10000

 

 

 

 

 

max

 

 

 

 

 

 

 

 

Таблица 2.10

cb

xb

5000

2500

0

0

0

0

0

bi

bi/air

 

 

ба-зис

x1

x2

x3

x4

x5

x6

x7

 

 

 

0

x3

0

0

1

0

-1,5

2,5

-2,5

4

4/2,5

min

0

x4

0

0

0

1

-150

1050

-1050

2400

240/105

 

2500

x2

0

1

0

0

1

1

-1

8

8/1

 

5000

x1

1

0

0

0

0

-1

1

2

Ґ

 

c - строка

0

0

0

0

-2500

2500

-5000

W=

30000

 

 

 

 

 

 

 

 

 

max

 

 

 

 

Таблица 2.11

cb0  

 

 

 

 

     

 

базис

x1

x2

x3

x4

x5

x6

x7

 

0

x6

0

0

0,4

0

-0,6

1

-1

1,6

0

x4

0

0

-420

1

480

0

0

720

2500

x2

0

1

-0,4

0

1,6

0

0

6,4

5000

x1

1

0

0,4

0

-0,6

0

0

3,6

c -строка

0

0

-1000

0

-1000

0

0

W=34000

Полученые в табл. 2.11 окончательные результаты полностью соответствуют оптимальному решению в графическом методе (см. рис.2.1). Остается открытым вопрос о целочисленности получаемых результатов. Если в графической интерпретации задачи ЛП мы можем визуально оценить ситуацию и принять окончательное решение путем субъективного округления, то в табличном методе, а тем более при решении задачи на ЭВМ требуется применение специальной процедуры, которая получила название целочисленное программирование.

 


 

 

 

2.5. Метод искусственных переменных

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


 

 

 

2.6. Анализ чувствительности в линейном программировании

Решение практической задачи нельзя считать законченным, если найдено оптимальное решение. Дело в том, что некоторые параметры задачи ЛП (финансы, запасы сырья, производственные мощности) можно регулировать, что, в свою очередь, может изменить найденное оптимальное решение. Эта информация получается в результате выполнения анализа чувствительности. Анализ чувствительности позволяет оценить влияние этих параметров на оптимальное решение. Если обнаруживается, что оптимальное решение можно значительно улучшить за счет небольших изменений заданных параметров, то целесообразно реализовать эти изменения. Кроме того, во многих случаях оценки параметров получаются путем статистической обработки ретроспективных данных (например, ожидаемый сбыт, прогнозы цен и затрат). Оценки, как правило, не могут быть точными. Если удается определить, какие параметры в наибольшей степени влияют на значение целевой функции, то целесообразно увеличить точность оценок именно этих параметров, что позволяет повысить надежность рассматриваемой модели и получаемого решения.


 

 

 

2.7. Контрольные вопросы и задания

 

 

 

Фирма выпускает три продукта: A, B, C. На производство единицы продукта A требуется затратить 1 ч. труда ИТР, 10 ч. физического труда и 3 кг сырья. Для единицы продукта B соответствующие показатели равны 2 ч., 4 ч и 2 кг, для продукта C - 1 ч, 5 ч. и 1 кг. Ресурсы составляют 100 ч. труда ИТР, 700 ч. физического труда и 400 кг сырья. При оптовых закупках покупателю предоставляются скидки, так что прибыли от продажи продукции изменяются как показано в табл. 2.12. Например, если продается 120 ед. продукта A, то первые 40 ед. приносят по 10 долл. прибыли; следующие 60 - по 9 долл., а остальные 20 - по 8 долл. Сформулируйте задачу линейного программирования, решение которой определяет наиболее доходный производственный план.

Таблица 2.12.

Продукт А

Продукт B

Продукт C

Прода-жа, ед.

Удельная прибыль, долл.

Прода-жа, ед.

Удельная прибыль, долл.

Прода-жа, ед.

Удельная прибыль, долл.

0-40

60000

0-50

36000

0-100

30000

40-100

54000

50-100

24000

Более 100

24000

100-150

48000

Более 100

18000

-

-

Более 150

42000

-

-

-

-

 


 

 

 

Леспромхоз, имеющий лесопильный и фанерный цеха, столкнулся с проблемой наиболее рационального использования выделенной лесосеки. Чтобы получить 2,5 м3 коммерчески реализуемых комплектов пиломатериалов, необходимо израсходовать 2,5 м3 еловых и 7,5 м3 пихтовой древесины. Для изготовления 100 м2 фанеры требуется 5 м3 еловых и 10 м3 пихтовой древесины. Выделенная лесосека содержит 80 м3 еловых и 180 м3 пихтовой древесины. Согласно условиям поставок, в течении планируемого периода необходимо произвести по крайней мере 10 м3 пиломатериалов и 1200 м2 фанеры. Доход с 1 м3 пиломатериалов составляет 80 000 руб., а со 100 м2 фанеры - 300 000 руб. Оптимизировать использование лесосеки.


 

 

 

 

 

 

 

 

 

Мебельное предприятие выпускает три вида наборов мебели, книжные полки и тумбу под телевизоры. Характеристики каждого вида продукции приведены в табл. 2.13. При условии получения максимальной прибыли объем товарной пилопродукции должен составить не менее 459 310 тыс. руб. Ситуация со сбытом продукции сложилась следующая. Книжными полками рынок насыщен поэтому торговые организации уменьшили объем договоров до 10 тыс. шт. Тумбы для телевизоров могут быть реализованы в объемах от 4 до 7 тыс. шт., наборы мебели 2 - от 7 до 10 тыс. шт. Спрос на наборы мебели 1 и 3 неограничен и требуется не менее 10 тыс. шт. Предприятие имеет технологическое оборудование, число единиц которого и нормы затрат времени оборудования каждой группы на изготовление единицы каждого вида продукции приведены в табл. 2.13.Предприятие работает в две смены с эффективным временем работы каждой машины в 3945 ч. (коэффициент сменности 1,9). Оптимизировать производственную программу предприятия.

Таблица 2.13.

Показатель

Виды продукции

Набор мебели 1

Набор мебели 2

Набор мебели 3

Книж-ные полки

Тумба под теле-визор

Оптовая цена единицы изделия, руб.

7200

14000

32000

180

1500

Прибыль от реализации, руб.

2400

4500

6000

60

450

Таблица 2.14

 

Наименование оборудования

 

Число, шт.

Виды продукции

Набор мебели

1

Набор мебели

2

Набор мебели

3

Книжные полки

Тумба под телевизор

Линия раскроя древесно-стружечных плит

2

0,068

0,096

0,207

0,018

0,042

Гильотинные ножницы

1

0,045

0,080

0,158

0,011

0,035

Линия облицо-вывания

2

0,132

0,184

0,428

0,020

0,060

Линия обрезания кромок

2

0,057

0,082

0,230

0,010

0,028

Лаконаливная машина

2

0,063

0,090

0,217

0,010

0,032

Полироваль-ные станки

4

0,170

0,280

0,620

0,020

0,096


 

В леспромхозе производится раскряжевка хлыстов на сортименты. Требуется получить сортименты трех видов - длиной 6, 2,2 и 1,5 м. Длина среднего хлыста 31 м, средний диаметр 0,3 м. План поставки сортиментов, соответственно, 30000 м3, 86000 м3 и 40000 м3. Используя карту раскроя хлыстов без учета толщины пропила (табл.2.15) определить оптимальный план раскроя.

Таблица 2.15

Сорти-

мент, м

Варианты раскроя хлыстов

1

2

3

4

5

6

7

8

9

10

11

6

2,2

1,5

5

0

0

4

2

1

4

1

3

3

5

1

3

0

8

2

4

6

2

1

11

1

9

3

1

2

13

0

10

6

0

1

19

Отходы

1

1,1

0,3

0,5

1,0

1,2

0,3

0,7

1,1

0

0,3

 


 

 

 

 

Нижний склад производит два вида продукции: обрезную доску и брус. Для изготовления 1 м3 бруса требуется 2,5 м3 сосны или 3 м3 ели. Для изготовления 1 м3 доски требуется 3 м3 сосны или 3,5 м3 ели. Максимальные суточные запасы сосны - 200 м3, ели - 300 м3. Суточный спрос на брус - 100 м3, на доску - 150 м3 при оптовых ценах за 1 м3 бруса - 200 000 руб., за 1 м3 доски - 300 000 руб. Определить оптимальные объемы выпуска бруса и доски.

 


 

 

 

 

 

 

 

 

Лесхоз для кормления животных использует два вида корма. В дневном рационе животного должно содержаться не менее 6 единиц вещества A и 12 единиц B. Какое количество корма надо расходовать ежедневно на одного животного, чтобы затраты были минимальны (по данным табл. 2.16).

Таблица 2.16

Питательные

вещества

 

Количество питательных веществ в 1 кг корма вида:

1

2

A

B

2

2

1

4

Цена 1 кг корма, руб

2

3


 

 

 

 

 

 

 

 

 

В деревообрабатывающий цех завода поступил заказ вырезать из фанеры заготовки двух видов для 1000 изделий. Известно, что на одно изделие идет две заготовки первого вида и 3 - второго. На складе имеется 1000 листов. Существуют три способа раскроя: при первом способе из листа фанеры получается 3 заготовок 1 вида и 2 заготовки 2 вида, при втором: 1 заготовка первого вида и 2 заготовки второго и при третьем - соответственно 2 и 4. Сколько листов фанеры надо выкроить по каждому способу, чтобы выполнить заказ и расход фанеры был минимальным?

 


 

 

 

 

 

Леспромхоз имеет древесину трех видов в количествах: 1 - 1000 м3, 2 - 500 м3, 3 - 700 м3 , для изготовления изделий A, B, C и D. Нормы расхода древесины в м3 на изготовление единицы каждого изделия и прибыль от реализации единицы изделия даны в табл. 2.17. Определить, сколько изделий каждого вида должно произвести предприятие, чтобы общая прибыль от реализации всех изделий была максимальной?

Таблица 2.17

Сырье

Нормы расхода сырья на единицу изделия

 

A

B

C

D

1

2

3

0,1

0,2

0,4

0,15

0,4

0,5

0,2

0,3

0,1

0,25

0,1

0,2

Прибыль, руб

10

20

30

10

 


 

 

 

Производство двух видов лесопродукции должно пройти три операции. Затраты времени на каждой операции на одно изделие, прибыль от реализации одного изделия в табл. 2.18. Сколько изделий каждого вида должно произвести предприятие, чтобы получить максимум прибыли, причем число изделий A должно быть не менее 10, а B - не более 70 единиц.

Таблица 2.18

Изделия

 

Затраты на одно изделие

Прибыль,

руб

1

2

3

A

B

11

6

7

8

16

9

25

38

Фонд времени на каждую операцию

600

700

1300

 

 

 


 

 

Предприятие должно выпустить по плану продукции A - 500 единиц, B - 300 единиц, C - 450 единиц на двух машинах. Каждая из двух машин может выполнить операции по производству всех трех видов продукции. Затраты времени на производстве единицы изделия каждой из двух машин приведены в табл. 2.19. Как распределить работу машин, чтобы затраты времени на выполнение плана были минимальны?

Таблица 2.19

Машины

 

Продукция

A

B

C

1

2

4

6

10

8

10

20

 


 

 

 

Предприятию задана месячная программа по изготовлению четырех видов изделий в количествах: вида A - 5000, B - 2000, C - 3000, D - 1600. На предприятии имеется три группы станков с различной производительностью. Задается суммарное допустимое время работы за этот период для каждой группы станков: первой - 800 ч., второй - 1000 ч., третьей - 1500 ч. Нормы времени (в часах) на изготовление одного изделия на каждом станке и данные об издержках (в рублях) на изготовление каждого изделия на станках различных групп приводятся в табл. 2.19. Требуется так распределить изготовление изделий по группам станков, чтобы была обеспечена заданная программа по изготовлению изделий и чтобы общие издержки были минимальны?

Таблица 2.20

Группы станков

Нормы времени на

станках, час

Издержки на изготовление единицы изделия, руб

 

1

2

3

4

A

B

C

D

1

11

111

0,5

0,4

0,4

0,3

0,2

0,1

0,4

0,2

0,3

0,1

0,5

0,6

0,12

0,15

0,18

0,25

0,15

0,35

0,3

0,4

0,5

0,4

0,2

0,1

 





Начальная страница. Содержание
Введение    Цели и задачи     Методологические основы     Линейное программирование     Нeлинейное программирование     Нeлинейное программирование: Безусловная однопараметрическая оптимизация     Нeлинейное программирование: Безусловная многопараметрическая оптимизация    Нeлинейное программирование: Условная многопараметрическая оптимизация    Целочисленное и дискретное программирование     Динамическое программирование     Принятие решений в условиях неопределенности     Принятие многоцелевых решений     Марковские процессы принятия решений     Литература