Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Количественные методы анализа хозяйственной деятельности - Ричард Томас

.pdf
Скачиваний:
317
Добавлен:
24.05.2014
Размер:
7.39 Mб
Скачать

ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ

273

Зх + 4>' > 110;

X > О, у > О

Найдите значения х и у, с тем чтобы найти оптимальные значения функ­

ций:

Р = 20л: + 30>'.

а) Максимизация

б) Минимизация

С = 2х + 20^.

Эта задача линейного программирования решается следующим образом.

(1) Найдите область допустимых решений Мы должны определить об­ ласть, которая отвечает всем необходимым условиям.

Рассмотрим 5х + 2у <, 90.

Для уравнения 5х + 2у = 90 мы можем нанести две точки следующим образом: при х = 0: 5 х О + 2;' = 90 и j ' = 45.

Аналогично, при >» = 0: 5х + 2 х О = 90 и х = 18.

Точки X = О, >> = 45 и X = 18, у = О можно нанести на фафик и провести прямую линию 5х + 2>' = 90. Область, отвечающая условиям этого неравенства, находится под линией.

Рис. 8.10. Область допустимых решений.

Аналогичным образом рассмотрим другое неравенство: Зх + 4^ > ПО. Уравнение Зх + 4у= 110 дает точки х = О, >' = 27.5 и j» = О, х = 36.67. Эти точки

можно нанести на график и провести прямую линию уравнения. В этом случае неравенство идет со знаком «>», и, следовательно, область выделяется над пря­ мой линией. Эти два ограничения вместе с условиями х>0 и у>0 дают область допустимых решений, которая показана на рис. 8.10.

(2) Найдите оптимальное значение.

В данной задаче необходимо оптимизировать две объективные функции. а) Рассмотрим объективную функцию Р = 20х +30j'. Мы хотим максими­

зировать эту функцию.

Рассмотрим угловые точки области допустимых решений. На фафике (рис. 8.11) показаны эти угловые точки. Они дают следующие значения объективной

функции:

 

 

 

 

Точка А: X = О и >» = 45, тогда

/» = 20 х О + 30 х 45 = 1350.

Точка

Б: X =

10 и >' = 20, тогда

/> =

20 х 10 + 30 х 20 = 700.

Точка

В: х^

О и у = 27.5, тогда

Р =

20 х О + 30 х 27.5 + 825.

Следовательно, мы видим, что максимальное значение Р= 1350 получает­ ся при X = О и >' = 45.

274 ГЛАВА 8

70

60

51VТочка А

40

30

20

10

О

50

Рис. 8 . 11 . Угловые точки области допустимых решений

б) Теперь рассмотрим аналогичным образом минимизацию объективной функции С = 2х + 20у.

И снова, мы можем найти значения этой функции по угловым точкам:

Точка А: л: =

О и >' = 45, тогда С = 2 х О +

20 х

45 = 90.

Точка

Б: л: =

10 и у = 20, тогда С =

2 х 10 + 20

х 20 = 420.

Точка

В: X = О и у = 27.5, тогда С =

2 х 0

+ 20х 27.5 = 550.

Следовательно, минимальное значение С= 420 наступает при х = 10 и >' = 20.

Пример 2

Минимизируйте выражение С = 120л: + ЮОу при следующих условиях:

4х+ Зу > 60; Юх + 5у > 120; бд: + 12>' > 120;

О< X < 18;

О< у < 25.

(1)Область допустимых решений показана на рис. 8.12. Обратите внимание, что три основные условия даны со знаком «>», и поэтому вьшеленная область поднимается над линией. Условие ;с < 18 показывает участок слева от прямой ли­ нии X = 18. Аналогично, условие у < 25 показывает участок ниже линии у = 25. Сочетание этих участков и дает область допустимых решений, которую вы видите.

(2)Угловые точки области дадут оптимальное значение объективной фун­

кции С:

Точка А: л: =

О, :и = 25: С =

120

X О +

100 х 25 = 2500.

Точка

Б: X =

18, у =

25: С =

120 х 18 + 100 х 25 + 4660.

Точка

В: л: =

18, у =

1: С =

120

х 18 +

100 х 1 = 2260.

Точка Г: X =

12, у =

4: С =

120

х 12 +

100 х 4 =

1840.

Точка Д: X = 6, у =

12: С =

120 X 6 +

100 х 12 =

1920.

Точка Е: X = О, у =

24: С =

120

X О +

100 х 24 = 2400.

Таким образом, минимальное значение

С = 1840 получается при х = 12 и

у = 4. Можно заметить, что иногда метод вычисления значений объективной функции по всем угловым точкам области допустимых решений может оказать-

ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ

275

ся достаточно неук^тюжим Альтернативный метод отображения на графике объек­ тивной функции и последовательного параллельного сдвига для полумения минимального значения в этом примере, возможно, предпочтительнее. На рис. 8 13 показана объективная функция, где С= 3000, т. е проведена прямая линия 120.Y + 100>' = 3000. Теперь эту линию .можно параллельно сдвигать вниз до получения минимального значения в точке х — 12, у = 4. Это подтверждает значения, полученные с помощью другого метода.

35

 

 

30

 

 

А

Б

у=25

2bs

у

15

 

 

 

х=18

 

 

5

 

 

^

4х+3у=60

 

 

 

 

 

 

 

 

П

 

V

. В

 

 

 

 

 

 

 

 

0

5

1 о \ 1 5 \ 20^

• 25

30

35

Рис. 8.12. Область допустимых решений

о

5

10

15

20

ZS30

35

X

Рис. 8.13. Оптимальное значение области допустимых решений

8.5. Особые случаи

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

Неразрешимость. Ситуация, когда у задачи нет решения.

Множественность решений. В этом случае имеется несколько возможных решений, которые все дают оптимальное значение объективной функции.

Безграничность. Это ситуация, когда у оптимального значения нет пре­ дела. В этом разделе мы рассмотрим по одному примеру для каждого из этих случаев.

276

ГЛАВА 8

 

Пример 1 (Неразрешимость)

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

4.x + 5у > 40; Юл- + 2у < 30;

у < 3, ,v > 0.

Эти условия сходны с условиями примера 2 предыдущего раздела, за ис­ ключением того, что некоторые неравенства имеют обратный знак.

Два главных условия дают область А, как это показано на рис. 8.14. Условие у < 3 дает область Б на фафике. Видно, что точек, которые находились бы в обеих областях, нет, и поэтому нет точек, которые отвечали бы всем условиям. Таким образом, эта ситуация неразрешима, и для нее нельзя получить опти­ мального решения. На практике это будет ситуация, при которой существуют такие ограничения по затратам, людским и материальным ресурсам, которые делают производство чего-либо невозможным!

20

\

\

у

Y

^.^ Область А

 

 

Область 6

5

У=3

0

6 8

Рис. 8.14. Две разъединенные области

Пример 2 (множественность решений)

Рассмотрим задачу максимизации выражения Р = Sx + Юу при следующих ограничениях:

4х + 5у < 40; \0х + 2у < 30; у > 3, X > 0.

График, представленный на рис. 8.15, показывает область допустимых решений с учетом этих ограничений. На графике также проведена линия Р = Sx + 10>' = 40. Эту линию можно сдвигать в направлении к краю области допустимых решений. Видно, что эта линия параллельна одной из линий по границе области. Поэтому максимальное значение Р находится в любой точке по этой линии.

ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ

277

Таким образом, мы имеем множественность решений по этой задаче оптими­ зации. Так, следующие точки все дают максимальное значение Р= Sx + Юу = 80:

([) X = О, у

=

8

(ii) X = 0.125,

у = 7.9

(iii) X = 0.5,

у

= 7,6

(iv) х = \, у = 7.2

Фактически

имеется неофаниченное

количество решений для х ]л у, даю­

щих максимальное значения Р = 80. Однако конечные точки отрезка прямой считаются базовыми решениями данной задачи.

2

\ 4

^ ^ 6 8

\^

Рис. 8.15. Множественность решений

Пример 3 (безграничность)

Рассмотрим задачу максимизации значения Р = Sx + 6у при следующих условиях:

4х + 5v > 40;

\0х + 2у > 30; >' > 3 и X > 0.

График, представленный на рис. 8.16, показывает область допустимых ре­ шений, которые удовлетворяют всем условиям. Видно, что эта область не имеет фаницы в правом верхнем углу, и, следовательно, отсутствует предел макси­ мальных значений д: и у. Таким образо.м, решение таково, что х и >» должны быть бесконечны. На практике такая ситуация может возникнуть, если при поста­ новке задачи упущено из вида одно или несколько условий. Так, если х и у — количества двух производимых изделий, то, в качестве верхней фаницы, сле­ дует ввести Офаничение по вероятному покупательскому спросу на эти товары или по наличию людских, материальных или финансовых ресурсов.

8.6. Упражнения: графические методы

1 (Е) Отобразите на фафике области допустимых решений исходя из сле­ дующих условий-

(i) 2х + у < 50, X + Зу < 90, х, у > 0:

 

(ii) Зх + 2у < 12, 4л- -I- 5;^ > 20, х, у

>

О:

(ill)

4.V + у < 90, 2х + у < 50, X + у

< 40, X, у > 0;

(iv)

Злг + 10>' > 30, 4х + 8у > 32, 3.v

+

Юу < 36, х, >> > 0.

278

ГЛАВА 8

20

\

15

У

Область

 

допу^;тимых

10

решении

5

0

12

Рис. 8.16. Безграничная область допустимых решений

2. (I) В следующих примерах приведен ряд условий, выраженных через х и у. На 5?сновании этих ограничений найдите в каждом из случаев положительные значения х и у, которые оптимизируют требуемое выражение:

(i)X + >' < 20, 2х + у < 30. Максимизировать Р = Ах + Ъу.

(ii)5х + 81 < 120, 6л- + Ъу < 90, 5х + Зд' < 90 Максимизировать Р = 10х + \\у.

(iii)lOx + 4у < 400, Ъх + Sy > 300, х < 20.

Максимизировать Р = 2х + Ъу vi минимизировать

С = х + 4j'.

(iv) X + J' > 50,

Зх + 2>' > 120, х < 60, >' < 70

 

Минимизировать

С = 7х + 8^ и максимизировать

Р = х + 6>'.

3. (I) Компания производит два товара — А и Б. Товары требуют большого объема работ, проводимых в два приема. В таблице показано количество часов,

затрачиваемое на выпуск единицы товара на каждом

из этапов:

 

Человеко-часов на единицу

Товар

Этап 1

Этап 2

А

3

4

Б

2

5

В неделю общее количество часов, которое можно затратить на каждом из

этапов, составляет: этап

1 — 60 часов, этап 2—100

часов.

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

(i) Сколько единиц каждого наи.менования должна производить компа­ ния, чтобы максимизировать общую прибыль''

ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ

2 7 9

(ii)Если компания получает прибыль в размере 40 ф. ст. за единицу товара

Аи 60 ф. ст. за единицу товара Б, то как это скажется на ваших рекомендациях относительно количества каждого наименования?

4.(I) Клиент рассматривает вопрос вложения средств в ценные бумаги. В частности, он решил вложить сумму не более 10 000 долл. США в два наиме­ нования акций: компаний «Арнольд Инк» и «Бассет Компани».

В настоящее время цена каждой акции следующая: «Арнольд Инк» — 5.00 долл., «Бассет Компании» — 7.50 долл.

Ожидаемый процентный доход по каждой из бумаг следующий: «Арнольд Инк» — 8%, «Бассет Компани» — 10%. Максимальная сумма вложения в одну из бумаг составляет 6000 долл.

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

8.7.Симплексный метод: максимизация при ограничениях со знаком <

Как мы уже отмечали, графические методы, описанные в предыдущих разделах, приемлемы только в отношении задач с не более чем двумя неизве­ стными (например, xw у).В большинстве практических ситуаций число неизве­ стных может быть гораздо большим. Симплексный метод — один из наиболее известных подходов к решению задач линейного программирования через ал­ гебраические методы. Симплексный метод применяется в самых разнообразных компьютерных профаммах, предназначенных для решений таких задач.

Этот подход мы представим на последующих примерах.

Т Определение. Симплексный метод — математический подход к решен задач линейного программирования. Это стандартный метод решения задач лее чем двумя переменными.

Пример 1

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

Задача была сформулирована следующим образом:

(1) X — количество производимых холодильников А470;

уколичество производимых холодильников А370.

(2)Мы хотим максимизировать объективную функцию:

Прибыль = 70х + бОу.

(3) При условии следующих офаничений:

Зх + 2у < 3000; 50х + бОу < 75 000; X > О, у > 0.

При использовании симплексного метода решение достигается в несколь­ ко этапов.

280

ГЛАВА 8

Этап 1. Введем так называемые «свободные переменные» в ограничения с тем, чтобы выразить их как уравнения. Так, неравенство Зх + 2^ < 3000 можно превратить в равенство, добавив в левую часть свободную переменную 5,. Так мы получим следующее уравнение:

Зх + 2у + li'i = 3000.

Аналогично, добавляем свободную переменную S^ ко второму условию: 50х + бОу + 152 = 75 000.

Свободные переменные можно также ввести в объективную функцию Р = = 70х + ЬОу:

Р= 70х + бОу + 05, + 0^2.

Это можно записать следующим образом:

О = -Р + 70х + бОу + OS, + 05j.

Этап 2. Поместим полученные уравнения в таблицу, как это показано ниже:

Ряд

Базис

Значение

X

У

S,

S,

1

S,

3000

3

2

1

0

2

S,

75 000

50

60

0

1

3

—Р

0

70

60

0

0

в колонках X, у, 5, и ^2 указаны коэффициенты этих переменных в уравнениях.

Так, условие Зх + 2>' +

151 = 3000 показано в ряду 1 таблицы. В этом уравнении

коэффициент X = 3, >' = 2, 5, = 1. В этом же уравнении коэффициент 5, = 0. Аналогично, ряд 2 таблицы представляет второе условие, а ряд 3 показы­

вает уравнение объективной функции Р.

В колонке «Базис» указаны переменные, которые могут дать решение зада­ чи. В этом «первоначальном» решении мы видим, что 5, = 3000 и ^2 = 75 000 при /• = 0. Другие переменные (х и >») в этом решении равны нулю.

Иначе говоря, если мы не будем производить холодильники ни одной из мо­ делей, то наша совокупная прибыль будет равна О долл. В этом случае у нас оста­ нется неиспользованных 3000 человеко-часов и 75 000 долл. недельной сметы.

Этап 3. На этом этапе нам необходимо преобразовать таблицу, с тем чтобы определить, имеется ли лучшее решение этой задачи.

Для этого мы делаем следующее:

(i) Находим осевую колонку. Это колонка с наибольшим положительным значением в последнем ряду (см. таблицу ниже). Осевая колонка обозначается с

Ряд

Базис

Значение

X

У

S,

S,

1

S,

3000

3

2

1

0

2

—Р

75 000

50

60

0

1

3

0

70

60

0

0

Осевая колонка

(ii) Находим осевой ряд. Для этого мы делим каждое число в колонке значений на соответствующее число осевой колонки. Это показано в следующей таблице:

 

 

 

 

 

ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ

2 8 1

Ряд

Базис

Значение

X

У

S,

S,

Значение/ось

 

1

 

3000

3

2

1

0

3000/3=1000

 

2

 

75

000

50

60

0

1

75000/50=1500

3

—Р

 

0

70

60

0

0

 

 

(iii) Находим осевое значение. Оно находится на пересечении осевой ко­ лонки и осевого ряда. В таблице это значение вьшелено жирны.м щрифтом

Ряд

Базис

Значение

X

У

S,

S.

1

S,

3000

3

2

1

0

2

S,

75 000

50

60

0

1

3

—Р

0

70

60

0

0

(iv) Делим каждое число в осевом ряду на осевое значение. Осевой ряд — это ряд 1. Все числа этого ряда делятся на осевое значение (3), как это показано в следующей таблице:

Ряд

Базис

Значение

X

У

S,

S,

1

S,

 

1000

1

0.667

0.333

0

2

 

75

000

50

60

0

1

3

—Р

 

0

70

60

0

0

(v) Приводи.м каждое другое значение осевой колонки к нулю. Для этого отнимем кратное число осевого ряда из других рядов. Так, в ряду 2 осевой колонки (колонки х) мы имеем значение 50. Чтобы привести это значение к нулю, мы можем провести вычисление по формуле: ряд 2 — 50 х (ряд 1). В таблице это дано в сокращенном виде как /?2 — 50 х Л1. Аналогично, значение в ряду 3 можно привести к нулю путем вычисления Rj — 70 х R^.

 

Ряд

Базис

Значение

х

 

у

S,

S2

 

1

X

1000

 

1

0.667

0.333

О

R2 - 5 0 X R1

2

Зг

25000

 

О

26.667

—16.667

1

R3 — 70 X R1

3

- Р

70 000

 

О

13.333

23.333

О

Обратите внимание, что в этой таблице базисное значение в осевом ряду замещено на переме!{ную в осевой колонке, иначе говоря, 5, замещено на х в колонке «Базис».

Так мы получили более качественное решение. Итак, при значении х = = 1000 прибыль увеличилась до 70 000 долл.

Этап 4. Уточняем, можно ли полученное решение сделать еще лучше. Если все значения в последнем ряду таблицы отрицательные или равны нулю, то тогда мы получили оптимальное решение. Если нет, тогда решение можно сде­ лать лучше, и мы повторяем процесс снова, начиная с этапа 3.

В вышеприведенной таблице мы имеем 13.333 в последнем ряду, и потому это решение можно улучшить. Итак, повторяем процесс, как ранее:

(i)Находим осевую колонку. Осевая колонка — это колонка с наибольшим положительны.м числом в последнем ряду, т. е. в этой таблице осевая колонка

это колонка у, где и находится значение 13.333.

(ii)Находим осевой ряд. Для этого делим значение на число в осевой колонке. Наименьшее полученное значение определяет осевой ряд, как это показано в таблице ниже:

282

ГЛАВА 8

 

 

 

 

 

Ряд

Базис

Значение

X

У

S,

S,

Значение/ось

1

X

1000

1

0 667

- 0 333

0

1000/0 667 = 1500

2

Зг

25 000

0

26.667

—16 667

1

25000/26 667 == 937 5

3

—Р

—70 000

0

13 333

—23 333

0

 

4

Осевая колонка

(ill) Находим осевое значение В предыдущей таблице оно было вьшелено жирным шрифтом и находилось на пересечении осевого ряда и осевой колонки

(iv) Делим

числа

в осевом

ряду на осевое значение И получаем

таблицу

 

Ряд

Базис

Значение

х

у

S^

S2

R2/26,667

1

X

1000

i

0"б67

0 333

О

 

2

Sj

937 5

О

1 — 0 625

О 0375

 

3

- Р

-70000

О

13 3 3 3 - 2 3 333

О

(v) Приводим каждое другое число осевой колонки к нулю Далее в таблице приведены необходимые вычисления, как это делать Обратите внимание, что ба­ зисная переменная Sj в осевом ряду замещена переменной у в осевой колонке

 

Ряд

Базис

Значение

х

у

S,

Зг

3 667xR2

1

X

375

1

0

О 75

—О 025

R3— 13 333xR2

2

У

937 5

0

1

—О 625

0.0375

3

—Р

-882505 0 0

0О

0О

— 1 5 — 0 5

Мы снова подошли к этапу 4, где уточняем, можно ли получить более оптимальное решение Все значения в нижнем ряду таблицы отрицательные или равны нулю, и поэтому более оптимального решения нет

Таблица дает следующее решение

X = 375, у = 937 5, что дает максимальную прибыль /* = 82 500 долл

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

X — количество производимых холодильников А470 — 375, и у = количество производимых холодильников А370 — 937

Эти значения меняют значение максимальной прибыли, которая рассчи­ тывается по этим данным по формуле Р = 70х + бОу, и в итоге мы имеем максимальную прибыль в 82 470 долл Этот ответ подтверждает результаты, по­ лученные с помощью графического метода в разделе 8 2

Следует отметить, что если требуется округлять решения, то это потенциаль­ но несет в себе некоторые осложнения Например, есть случаи, когда оптималь­ ные целочисленные решения могут достаточно отличаться от решений, получен­ ных стандартным методом линейного программирования Мы больше не будем останавливаться на этом вопросе, так как это находится вне рамок данного посо­ бия и связано с применением методов «целочисленного профаммирования»

Пример 2

Рассмотрим задачу линейного программирования с более чем двумя пере­ менными Это, по сути, расширенный предьщущий пример с холодильниками компании «Стенлюкс» Применим симплексный метод

Соседние файлы в предмете Экономика