Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
msepmenj (2) / Практические занятия / Методы оптимизации управления и принятия решений.pdf
Скачиваний:
201
Добавлен:
12.02.2015
Размер:
6.63 Mб
Скачать

Зайцев М.Г., Варюхин С.Е.

351

$333704 – так же очень хороший результат. Однако вариант 2 остался чуть более выгодным.

В результате получилось, что кроме очевидного варианта заказа 7 раз по 5000 кв. м. нашлось еще 3 возможных варианта, и все они выгоднее первого.

Снова отметим, что вполне возможно, что некоторые другие обстоятельства, не укладывающиеся в рамки модели, принудят нас к выбору системы заказов, отличной от оптимальной. Например, кто-то попросит использовать именно первый вариант системы. Допустим, что к этой просьбе желательно прислушаться, по каким-то обстоятельствам. Но мы будем знать, по крайней мере, что это решение стоит нам около $3800 и принимать окончательное решение, что называется, с открытыми глазами.

4.П-3. Лов рыбы

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

Месяц

Янв

Фев

Мар

Апр

Май

Июн

Июл

Авг

Сен

Окт

Ноя

Дек

 

 

 

 

 

 

 

 

 

 

 

 

 

Спрос

100

500

800

1000

600

1000

1000

800

700

500

400

400

 

 

 

 

 

 

 

 

 

 

 

 

 

Стоимость тонны горючего - $200, а издержки хранения, рассчитанные по внутренней норме доходности фирмы, составляют $15 в месяц на каждую тонну.

Новый заказ на поставку горючего влечет за собой издержки в размере $20000, не зависящие, при тех масштабах закупок, которые осуществляет фирма, от объема поставки.

a.Сформулируйте задачу линейной оптимизации.

b.Составьте план закупок горючего на год так, чтобы минимизировать общие издержки хранения и запуска. Какова будет сумма издержек?

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

d.Финансовый отдел требует не производить закупки горючего в августе, в связи с приходящимися на этот месяц большими выплатами. Изменит ли это требование план закупок? Как изменятся общие издержки?

Указание: если при запуске «Поиска решения» появится сообщение «Условия линейной модели не удовлетворяются», ответьте ОК и запустите «Поиск решения» еще раз.

Решение задачи.

Эта задача принадлежит к типу задач о выборе размера лота, и относится, таким образом, к теме управление запасами. Более точно можно сказать, что это задача на управление запасами в условиях, когда спрос в предстоящий период времени является детерминированным (т.е. не случайным), но существенно

переменным. Как вы можете видеть из соответствующего раздела учебников [1- 4] и [11-15], методы решения подобных задач в теории управления запасами имеются, но, к сожалению, они не достаточно эффективны. В то же время по своей постановке задача выглядит как типичная задача линейной целочисленной оптимизации.

Для предварительного расчета издержек при различных вариантах времени и размеров заказов, о чем спрашивается в вопросе c, можно составить следующую таблицу (Рис. 182):

 

A

B

C

D

 

E

F

G

H

I

1

 

 

 

 

 

 

 

 

 

 

2

 

Dв год =

7800

 

 

 

 

 

 

 

3

Себестоимость

200

Стоимость =

 

=C3*C2

Полные издержки =

=F3+I21

 

 

=

 

 

 

 

 

 

 

 

4

Издержки

15

Издержки заказа =

 

20 000

 

 

 

хранения =

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

6

Месяц

Спрос

ЛОТ

 

 

 

Остаток на

Издержки

Издержки

Полные

 

 

 

складе

хранения

заказа

издержки

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

8

Янв

100

7800

=ЕСЛИ(C8>0;1;0)

 

 

=C8-B8

=$C$4*F8

=D8*$F$4

=I7+G8+H8

9

Фев

500

 

=ЕСЛИ(C9>0;1;0)

 

 

=F8+C9-B9

=$C$4*F9

=D9*$F$4

=I8+G9+H9

..

….

 

 

….

….

…..

…..

19

Дек

400

 

=ЕСЛИ(C19>0;1;0)

 

 

=F18+C19-B19

=$C$4*F19

=D19*$F$4

=I18+G19+H19

20

 

=СУММ

=СУММ(C8

 

 

 

 

=СУММ(G

=СУММ(H8:

 

 

(B8:B19)

:C19)

 

 

 

 

8:G19)

H19)

 

 

 

 

 

 

 

 

21

 

 

 

 

 

 

 

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

=I19

 

 

 

 

 

 

 

 

 

 

 

Рис. 182

Вэтой таблице в ячейках C8-C19 нужно записывать количества горючего, закупаемого в каждом из месяцев. Для начала в ячейке С8 проставлено число 7800, что соответствует покупке всего необходимого на год горючего в начале года. В ячейках B8-B19 содержатся значения спроса или расхода горючего. На основе этих данных в ячейках F8-F19 подсчитывается остаток на складе в конце каждого месяца. Сначала, для января, как разница между закупленным и израсходованным в этом месяце горючим, а в следующих ячейках – сумма с нарастающим итогом, учитывающая остаток горючего в предыдущем месяце. Таким образом, в ячейке F19 мы имеем остаток горючего на конец года.

Значения остатков горючего в ячейках F8-F19 нужны не только для того, чтобы отслеживать возникновение дефицита горючего (а его быть не должно), но

идля расчета издержек хранения. Издержки хранения горючего рассчитываются в ячейках G8-G19 как остаток горючего в конце месяца умноженный на стоимость его хранения ($15 в нашем случае) в течение месяца. Все эти издержки для лучшей ориентировки в результатах суммируются в G20.

Втех случаях, когда в текущем месяце закупается партия горючего, к общим издержкам следует добавить издержку заказа. Для этого в ячейках D8-D19 используются формулы вида =ЕСЛИ(C8>0;1;0). Эта формула дает следующий результат: если в ячейке С8 содержится число, большее 0 (т.е. закуплено горючее), значение ячейки D8 будет равно 1, если в ячейке C8 – 0, значение ячейки D8 будет равно 0. Следовательно, для всех месяцев, в которых закупалось горючее, в ячейках D8-D19 будут стоять 1, а для остальных - нули. Эти значения использованы в ячейках H8-H19 для подсчета издержек заказа по очевидной формуле.

Зайцев М.Г., Варюхин С.Е.

353

И, наконец, в ячейках I8-I19 издержки хранения и издержки заказа из столбцов G и H суммируются с нарастающим итогом в результате чего в ячейке I21 мы имеем сумму всех этих издержек.

Вверху, в ячейке I3, общие издержки хранения и заказа складываются с постоянными издержками, равными стоимости горючего за год. В следующей таблице даны результаты расчетов в соответствии с изложенной схемой для заказа всего горючего в начале года (Рис. 183):

 

Dв год=

7800

 

 

 

 

 

 

Себестоимость=

200

Стоимость=

1 560 000

Полные издержки=

2 219 000

 

Издержки

15

Издержки заказа=

20 000

 

 

 

 

хранения=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Месяц

Спрос

ЛОТ

 

 

Остаток на

Издержки

Издержки

Полные

 

 

складе

хранения

заказа

издержки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Янв

100

7800

1

 

7700

115 500

20 000

135 500

Фев

500

 

0

 

7200

108 000

0

243 500

Мар

800

 

0

 

6400

96 000

0

339 500

Апр

1000

 

0

 

5400

81 000

0

420 500

Май

600

 

0

 

4800

72 000

0

492 500

Июн

1000

 

0

 

3800

57 000

0

549 500

Июл

1000

 

0

 

2800

42 000

0

591 500

Авг

800

 

0

 

2000

30 000

0

621 500

Сен

700

 

0

 

1300

19 500

0

641 000

Окт

500

 

0

 

800

12 000

0

653 000

Ноя

400

 

0

 

400

6 000

0

659 000

Дек

400

 

0

 

0

0

0

659 000

 

7800

7800

 

 

 

639 000

20 000

 

 

 

 

 

 

 

Целевая

функция=

659 000

Рис. 183

Эти результаты потребуются для ответа на вопрос c. Если же записать в ячейки C8-C19, где выбираются размеры лотов (партий горючего), значения, равные спросу в каждом месяце, получим издержки при ежемесячном заказе. Эти издержки составят: $240000 – целевая функция и $1800000 – полные издержки. Таким образом, ежемесячный заказ дает экономию в $419 тыс.

Найдем теперь оптимальный план закупок, соответствующий минимальным возможным издержкам. Здесь следует отметить, что задача нами уже почти построена: целевая функция – общие издержки хранения и заказов, переменные – значения лотов для каждого месяца, ограничение – отсутствие дефицита. Одна неувязка – функцию =ЕСЛИ() в задаче линейной оптимизации использовать нельзя, она нелинейная (в математике ее график представляют прямоугольной ступенькой и называют функцией Хевисайда). Такая функция обычно заведет в тупик и алгоритм нелинейной оптимизации. Если в надстройке Поиск решения снять условие линейной модели и попробовать минимизировать целевую функцию в таблице 1.16 с отмеченными переменными решениями и ограничениями, программа не возразит, но и приемлемого результата не даст. Поэтому придется использовать прием, служащий в математике для замены функции =ЕСЛИ().

Для этого в тех ячейках, в которых были записаны эти функции, разместим дополнительные переменные двоичного типа. Теперь переменных у нас будет не 12, а 24 – 12 размеров лотов и 12 указателей на то, сделан заказ или нет. Так как схема расчета издержек, построенная нами ранее предполагает, что в ячейках D8-

D19 записаны нули и единицы, показывающие, был заказ или нет, то никаких исправлений в других формулах не потребуется (Рис. 184):

 

A

B

C

D

 

E

F

G

H

I

1

 

 

 

 

 

 

 

 

 

 

2

 

Dв год =

7800

 

 

 

 

 

 

 

3

Себестоимость

200

 

 

Стоимость =

=C3*C2

Полные издержки =

=F3+I21

 

 

=

 

 

 

 

 

 

 

 

4

Издержки

15

 

Издержки заказа =

20 000

 

 

 

хранения =

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

6

Месяц

Спрос

ЛОТ

 

 

 

Остаток на

Издержки

Издержки

Полные

 

 

 

складе

хранения

заказа

издержки

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

8

Янв

100

7800

1

 

=C8-100000*D8

=C8-B8

=$C$4*F8

=D8*$F$4

=I7+G8+H8

9

Фев

500

 

0

 

=C9-100000*D9

=F8+C9-B9

=$C$4*F9

=D9*$F$4

=I8+G9+H9

..

….

 

 

….

….

…..

…..

19

Дек

400

 

0

 

=C19-100000*D19

=F18+C19-B19

=$C$4*F19

=D19*$F$4

=I18+G19+H19

20

 

=СУММ

=СУММ(

 

 

 

 

=СУММ(G

=СУММ(H8:

 

 

(B8:B19)

C8:C19)

 

 

 

 

8:G19)

H19)

 

 

 

 

 

 

 

 

21

 

 

 

 

 

 

 

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

=I19

 

 

 

 

 

 

 

 

 

 

 

Рис. 184

Вызовем надстройку Поиск решения и зададим параметры задачи: целевая ячейка – I21, цель – минимум, переменные – C8-D19, ограничения – F8-F19>=0, D8-D19 = двоичные, линейная модель, неотрицательные значения переменных. Запуск Поиска решения на выполнение принесет неприятный результат – хотя заказы были сделаны, значения двоичных переменных остались равными 0. Этого и следовало ожидать, ведь никакой связи между заказами и двоичными переменными мы для Поиска решения не указали, поэтому он выбрал «наилучшие» значения.

Чтобы ввести такую связь запишем в ячейки E8-E19 линейные выражения вида = C8 - 100000*D8 (об использовании этого дополнительного условия, типичного для задач с целочисленными ограничениями, читайте в учебном пособии [1]). А затем добавим в параметрах поиска решения новое ограничение: E8-E19 <= 0. Теперь, после модификации, запуск поиска решения принесет долгожданный результат (Рис. 185):

Зайцев М.Г., Варюхин С.Е.

 

 

 

 

 

355

 

 

 

 

 

 

 

 

 

 

 

 

Dв год=

7800

 

 

 

 

 

 

 

Себестоимость=

200

 

Стоимость=

1 560 000

Полные

издержки=

1 740 000

 

 

Издержки

15

 

 

20 000

 

 

 

 

 

хранения=

Издержки заказа=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Месяц

Спрос

ЛОТ

 

 

Остаток

Издержки

Издержки

Полные

 

 

 

на складе

хранения

заказа

издержки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Янв

100

600

1

-99400

500

7 500

20 000

27 500

 

Фев

500

0

0

0

0

0

0

27 500

 

Мар

800

800

1

-99200

0

0

20 000

47 500

 

Апр

1000

1600

1

-98400

600

9 000

20 000

76 500

 

Май

600

0

0

0

0

0

0

76 500

 

Июн

1000

2000

1

-98000

1000

15 000

20 000

111 500

 

Июл

1000

0

0

0

0

0

0

111 500

 

Авг

800

1500

1

-98500

700

10 500

20 000

142 000

 

Сен

700

0

0

0

0

0

0

142 000

 

Окт

500

1300

1

-98700

800

12 000

20 000

174 000

 

Ноя

400

0

0

0

400

6 000

0

180 000

 

Дек

400

0

0

0

0

0

0

180 000

 

 

7800

7800

6

 

 

60 000

120 000

 

 

 

 

 

 

 

 

Целевая

функция=

180 000

Рис. 185

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

Если в ячейке C9, например, записано не нулевое количество горючего, то для выполнения условия E9 <= 0 , Поиск решения вынужден будет присвоить переменной D9 значение 1. При этом число 100000, являющееся множителем, выбрано из тех соображений, что оно должно быть на порядок больше любого возможного значения лота. Так как максимальный лот равен 7800, множителя 100000 достаточно. Если бы максимальное значение переменной не могло превышать 50, можно было бы взять множитель 1000.

Если же в ячейке C9 размер заказа 0, то условие C9 - 100000*D9 <= 0 будет выполнено и в случае, если D9 = 0, и в случае, если D9 = 1. Какое же значение выберет Поиск решения? Естественно D9 = 0! Ведь цель задачи – минимизировать издержки, и выбор нулевого значения экономит $20000.

Таким образом, ответы на вопросы a, b и с мы получили. Минимальные полные издержки составят $1740000, что на $60000 лучше, чем при ежемесячном плане заказов. При этом будет сделано 6 заказов.

Чтобы ответить на вопрос d, следует внести в условия поиска минимальные изменения – так как мы видим, что в полученном решении закупки горючего в августе действительно запланированы, внесем дополнительное ограничение: С15 = 0. При этом условии мы получим следующее решение (Рис. 186):

 

Dв год=

7800

 

 

 

 

 

 

Себестоимость=

200

 

Стоимость=

1 560 000

Полные

издержки=

1 742 000

 

Издержки

15

 

 

20 000

 

 

 

 

хранения=

Издержки заказа=

 

 

 

 

 

 

 

 

 

 

 

 

Месяц

Спрос

ЛОТ

 

 

Остаток

Издержки

Издержки

Полные

 

 

на складе

хранения

заказа

издержки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Янв

100

600

1

-99400

500

7 500

20 000

27 500

Фев

500

0

0

0

0

0

0

27 500

Мар

800

800

1

-99200

0

0

20 000

47 500

Апр

1000

1600

1

-98400

600

9 000

20 000

76 500

Май

600

0

0

0

0

0

0

76 500

Июн

1000

1000

1

-99000

0

0

20 000

96 500

Июл

1000

1800

1

-98200

800

12 000

20 000

128 500

Авг

800

0

0

0

0

0

0

128 500

Сен

700

1200

1

-98800

500

7 500

20 000

156 000

Окт

500

0

0

0

0

0

0

156 000

Ноя

400

800

1

-99200

400

6 000

20 000

182 000

Дек

400

0

0

0

0

0

0

182 000

 

7800

7800

7

 

 

42 000

140 000

 

 

 

 

 

 

 

Целевая

функция=

182 000

Рис. 186

По издержкам оно хуже предыдущего всего на $2000.