МОДЕЛИ И МЕХАНИЗМЫ МАТЕРИАЛЬНО-ТЕХНИЧЕСКОГО ОБЕСПЕЧЕНИЯ

Определение согласованных цен на материалы и оптимальное распределение заказов

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

Рассмотрим сначала задачу снабжения одним видом продукции. Пусть в регионе имеется п организаций - потенциальных потребителей продукции данного вида. Обозначим через Cj цену, по которой i-ый потребитель согласен приобретать продукцию у центра, а через Vj - количество продукции, требуемое i-му потребителю в рассматриваемый период времени. Очевидно, что потребитель i будет выбирать централизованную схему снабжения если цена продукции у центр, которую мы будем обозначать через q, будет меньше или равна си то есть q < Cj. Таким образом, количество продукции, которое будет заказано центру равно сумме потребностей тех потребителей, для которых централизованная схема является выгодной.

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

V(«)=2>,. (И-1.1)

«€/*(«)

Зависимость V(q) имеет вид, показанный на рис. 11.1.1. Это кусочнопостоянная, непрерывная слева, убывающая функция q.

Примем, что центр закупает продукцию у одного производителя, получая скидки к оптовой цене при больших объемах закупок. Обозначим через b(V) цену продукции производителя при объеме закупок V. Очевидно, что b(V) также убывающая функция V (как правило, кусочно-постоянная). Прибыль центра при цене продажи потребителям q составит

P = (q-b)V(q). (11.1.2)

Рис. 11.1.1

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

Для решения задачи перейдем от функции V(q) (см. рис. 11.1.1) к обратной функции - q(V). Эта функция показывает, какую максимальную цену может установить центр для того, чтобы обеспечить объем заказа V. Эта функция также является убывающей, кусочно-постоянной и непрерывной слева (см. рис. 11.1.2).

Теперь выражение (11.1.2) можно записать в виде зависимости прибыли от объема закупок центра:

П(У) = lq(V) - b(V)]V. (11.1.3)

Если обозначить разность цен [q(V) - b(V)] через ?(V), то выражение

(11.1.3) примет вид

n(V)-?(V)-V. (11.1.4)

Геометрически величина П(У) равна площади прямоугольника со сторонами б(У) и V (см. рис. 11.1.3).

Рис. 11.1.3

Из этого факта следует простое, ио полезное свойство: если для двух точек (V|, eCVJ) и (V2, e(V2)) имеет место V2 > V, и e(V2) > e(V,), то, очевидно, решение (V2, e(V2)) лучше, чем решение (Уь e(V|)). Это свойство позволяет перейти от зависимости c(V) к зависимости c(V), которая является убывающей функцией V. Способ построения зависимости e(V) ясен из рис. 11.1.4 (зависимость e(V) показана толстой линией).

Вспомним теперь, что зависимость e(V) (а значит и e(V)) является кусочно-постоянной, непрерывной слева функцией. Поэтому фактически нам следует сравнить конечное число вариантов. Приведем простое геометрическое правило, позволяющее сравнивать любые два варианта. Для этого запишем условие того, что вариант (V,, е,) лучше варианта (V?, б2):

V,.E| > V2&2.

Рис. 11.1.4

Перепишем это условие в виде

(Н.1.5)

Геометрический смысл условия (11.1.5) ясен из рис. 11.1.5.

Действительно, Ei/V2 равно тангенсу угла ои, a e2/V( равно тангенсу угла а2. Следовательно, вариант (Vb 61) лучше варианта (V2, g2), если угол oti больше угла а2. Это наглядное правило позволяет решать задачу с помощью карандаша и линейки, попарно сравнивая варианты.

Данные о предлагаемых потребителями ценах и величинах заказов приведены в табл. 11.1.1, а данные об изменении оптовых цен производителя в зависимости от объема закупок центром - в табл. 11.1.2.

Таблица 11.1.1

Таблица 11.1.2

V

V<5

55 V< 11

V> 11

Ъ(У)

4

2

1

Сначала получаем зависимость q(V). Для этого при каждом значении q суммируем заказы всех потребителей, у которых предлагаемая ими цена Cj больше или равна q. Так при q = 4 величина q(V) равна сумме заказов третьего, четвертого и пятого потребителей, то есть, равна 8. В результате получаем табл. 11.1.3.

Таблица 11.1.3

V

0< V<2

2< V<6

6

8

12< V< 15

15 <У

q(V)

7

5

4

3

2

0

Теперь, вычитая из q(V) (табл. 11.1.3) величину b(V) (табл. 11.1.2) по

лучаем таблицу значений Е(У):

Таблица 11.1.4

V

2

6

8

12

15

€(V)

3

3

2

2

1

В табл. 11.1.4 указаны значения е(У) только в точках то есть в точках, в которых происходит изменение величины V (появляются новые потребители, согласные заключить договор с центром). Можно показать, что оптимальный объем заказа центра достигается только в этих точках. Действительно, если центру выгодно заключить договор с потребителем на частичное удовлетворение его потребностей в продукции, то центру еще более выгодно заключить договора с этим потребителем на полное обеспечение продукцией.

Теперь, применяя описанные выше правила сравнения вариантов, сравниваем варианты последовательно, начиная с первого. Первый вариант хуже второго, поскольку V) < V2, а б, = б2- Второй вариант лучше третьего, так как е23 = 3/8 > б32 = ’/3. Второй вариант хуже четвертого, так как

e2/V4 = '/4 < &4/V2 = '/3. Наконец, четвертый вариант лучше пятого, так как б45 = 2/15>б.5/У4=712.

Итак, оптимальным является вариант 4, в котором по централизованной схеме обеспечиваются первые четыре потребителя. При этом объем продукции, заказываемой центром, составляет 12 единиц, оптовая цена производителя равна 1, а цена продукции центра равна 3. Прибыль центра составляет (3-1) 12 = 24 единицы.

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

Обозначим bk(xk) - цену продукции k-го производителя при его объеме заказа хк. Рассмотрим задачу распределения заказа величины V между m производителями так, чтобы минимизировать стоимость заказа. Формальная постановка задачи следующая. Требуется так определить величины хк > 0, чтобы общий объем заказа был не менее V, то есть

т

а стоимость заказа

5=?$Дх*), где sk(xk) = xkbk(xk),

была минимальной. Сложность решения этой задачи определяется тем, что функции bk(xk) - разрывные (имеют скачки). Так на рис. 11.1.6 приведен вид функции xb(x) для производителя продукции (табл. 11.1.2).

Рис. 11.1.6

Задачи такого вида называются многоэкстремальными задачами математического программирования. Для решения таких задач, как правило, применяются специальные методы (динамического программирования, локальной оптимизации, ветвей и границ и другие). Рассмотрим применение для решения задачи метода ветвей и границ. Описание метода проведем на конкретном примере. Пусть есть два производителя. Функция S(x) первого производителя имеет вид, показанный на рис. 11.1.6, а второго — на рис. 11.1.7. Пусть V = 15, первый производитель имеет 12 единиц продукции, а второй - 10.

Сначала опишем метод получения нижней оценки стоимости заказа. Для получения такой оценки заменим функции sk(xk) непрерывными выпуклыми функциями, которые всюду меньше (или равны) исходных функций. Оценочные функции ?|1)=х1, $22) = 2х2 показаны на рис. 11.1.6 и 11.1.7 толстыми линиями.

Решим задачу минимизации суммы оценочных функций. Это задача линейного (в общем случае - выпуклого) программирования, для которой существуют эффективные методы решения. В нашем случае решение очевидно. Нужно заказать все имеющееся количество продукции х, = 12 у первого производителя по цене bi - 1, а остальные х2 = Зединицы - у второго, по цене Ь2 = 2. Стоимость заказа составит 18 единиц. Заметим, что фактическая стоимость такого заказа составляет 12 + 3-5 = 27 единиц, поскольку при заказе у второго производителя трех единиц продукции цена составит 3 единицы.

Рассмотрим теперь два варианта. В первом варианте заказ у второго производителя не превышает трех единиц, а во втором - не меньше трех единиц, то есть разобьем множество всех решений на два подмножества. Рассмотрим первое подмножество. Поскольку заказ у второго производителя не превышает трех единиц, то его оценочная функция будет уже другой, а именно, %(х2)= 5х2. Оптимальное решение оценочной задачи остается прежним: X] = 12, х2 = 3. Однако, оценка стоимости заказа будет равна уже не 18, а 27, что совпадает с фактической стоимостью.

Рассмотрим второе подмножество. Так как заказ у второго производителя в этом подмножестве решений не менее трех единиц, то оценочная функция при х2 > 3 будет иметь вид, показанный на рис. 11.1.8.

Опишем более подробно алгоритм решения оценочной задачи. Начинаем с минимальных заказов у каждого производителя, то есть Xj = 0, х2 = 4 (поскольку оценочная стоимость заказа х2 = 4 меньше, чем у заказа х2 = 3). Сравнивая цены при небольшом увеличении заказов видим, что дополнительный заказ выгоднее делать у первого производителя (ь, = 1), а не у второго ( ь2 = 2 ). Поэтому оптимальное решение оценочной задачи X] = 11, х2 = 4, а минимальная оценочная стоимость составляет 19 единиц.

Сравнивая оценочные стоимости двух рассмотренных вариантов, мы видим, что во втором варианте она меньше. Поэтому выбираем вариант с меньшей оценочной стоимостью. Заметим теперь, что фактическая стоимость в решении х( = 11, х2 = 4 совпадает с оценочной. Поэтому полученное решение является оптимальным решением всей задачи.

Рассмотрим более сложный пример для иллюстрации эффективности метода ветвей и границ.

Имеются три производителя, данные о которых приведены в табл.

11.1.5. Пусть V = 14, а каждый производитель имеет не более 10 единиц продукции. Для оценочной задачи на первом шаге имеем: si(xi) = Зхь s2(x2) = 2, s2(x3) = х3. Решение оценочной задачи, очевидно, Xi = 0, х2 = 4, х3 = 10, s = 18. Поскольку %(4)= 8 < s2(4) - 12, то рассматриваем два подмножества решений - Qi и Q2. В первом подмножестве х22 > 4.

Анализ первого подмножества. Оценочная функция для первого производителя будет уже другой - %(х2)= Зх2. Оптимальное решение оценочной задачи остается прежним: Xi = 0, х2 = 4, х3 = 10, причем оценка стоимости S = 22 совпадает с фактической стоимостью.

Таблица 11.1.5

1 производитель

V!

5

8

10

Ь|

6

5

3

2 производитель

V2

3

6

10

b2

5

3

2

3 производитель

v3

4

9

10

b3

4

2

1

Анализ второго подмножества. Оценочная функция для второго производителя во втором подмножестве решений выделена на рис. 11.1.9 толстой линией. Оптимальное решение оценочной задачи X] = 0, х2 = 6, х3 = 8, оценочная стоимость s= 12+8=20.

Из двух решений выбираем решение с минимальной величиной оценочной функции, то есть второе подмножество Q2 с решением Xi = 0, х2 = 6, х3 = 8.

Заметим, что в этом решении значение оценочной функции для третьего производителя меньше, чем фактическая стоимость ^(8)= 8 < s3(8) = 16. Поэтому разбиваем второе подмножество на два подмножества - Q2, и Q22. В первом из них х3 < 8, а во втором х3 > 8.

Анализ подмножества Q2]. Оценочная функция третьего производителя имеет вид %(х3) = 2х3, для второго и первого оценочные функции не меняются. Одно из оптимальных решений оценочной задачи Xj = 0, х2 = 8, х3 = 6, S = 28.

Анализ подмножества Q22. Оценочная функция третьего производителя имеет вид ^(х3) = х3 9 < х3 < 10. Оптимальное решение оценочной задачи Xi = 0, х2 = 6, х3 = 9, s= 21 и совпадает с фактической стоимостью.

Заметим, что в данном случае центр закупает продукции больше, чем требуется, поскольку, закупая ровно 14 единиц, он в данном случае проигрывает. Действительно, если центр закупает у второго производителя не 6 единиц, а 5, стоимость составит 5-3 = 15 единиц вместо 12, а если он закупает у третьего производителя не 9 единиц, а 8, то стоимость составит 8-2 = 16 единиц вместо 9. Сравнивая оценочные стоимости подмножеств Qb Q2i и Q22, выбираем подмножество с минимальной оценкой s(Q22) = 2i. Соответствующее решение X] = 0, х2 = 6, х3 = 9 является оптимальным, поскольку оценочная стоимость совпадает с фактической. На рис. 11.1.10 показано дерево ветвлений (разбиений множества всех решений на подмножества), вершины которого соответствуют подмножествам, а числа в вершинах - оценочным стоимостям.

Рис. 11.1.10

Решая задачу при разных значениях V, мы получаем зависимость b(V). Далее задача решается также, как в случае одного производителя.

Зависимость b(V) можно получить и на основе метода динамического программирования. Для применения метода динамического программирования упорядочим производителей произвольным образом, например, согласно их номерам. Пусть нам необходимо получить зависимость b(V) при 1 < V < 16. Берем первого производителя и определяем минимальные стоимости закупок у него продукции в количестве от 1 до 10 (больше у него нет). Эти данные помещены в табл. 11.1.6.

Добавляем второго производителя и определяем минимальные стоимости закупок продукции у этих двух производителей в количестве от 1 до 16. Это делается следующим образом. Возьмем, например, заказ V=3. Его можно обеспечить четырьмя способами: все заказать у первого производителя (стоимость составит Si(3) = 18), заказать 2 единицы у первого и 1 единицу у второго (стоимость составит Si(2) + Ь2(1) = 12 + 5 = 17), заказать 1 единицу у первого и 2 единицы у второго (si(l) + 2Ь2(2) = 16) и, наконец, все заказать у второго (стоимость составит ЗЬ2(3) = 9). Очевидно, следует выбрать самый дешевый вариант, то есть все заказать у второго производителя. Это и есть принцип оптимальности Веллмана.

Таблица 11.1.6

V

0

  • 1

2

3

4

5

6

7

8

9

10

Si(V)

0

6

12

18

24

25

30

35

24

27

30

Перебирая все возможные варианты и выбирая лучший, мы можем получить минимальные стоимости заказа при любых 1 < V < 16 при условии, что обеспечение заказа проводится первыми двумя производителями. Эти минимальные стоимости обозначим через Si2(V). Их значения приведены в табл. 11.1.7.

Таблица 11.1.7

V

1

2

3

4

5

6

7

8

9

10

111

12

13

14

15

16

S12(V)

5

10

9

12

15

12

14

16

18

20

26

32

38

36

38

40

Рассмотрим еще раз, как получена, например, величина S]2(13) = 38. Сравнить следует всего 3 варианта: 1) заказ 10 единиц у второго и 3 единицы у первого (стоимость 38 единиц); 2)8 единиц у второго и 5 единиц у первого (стоимость 41); 3) 6 единиц у второго и 7 единиц у первого (стоимость 47). Минимальная стоимость у первого варианта и она равна 38 единиц.

Наконец, подключаем третьего производителя и определяем искомые минимальные стоимости заказа S(V), действуя по аналогии со случаем двух производителей. Рассмотрим, например, случай V = 14. Заказ V = 14 можно получить двумя способами, которые следует сравнить (остальные способы заведомо хуже). Первый - заказать 10 единиц у третьего производителя и 4 единицы у первых двух (стоимость s12(4) + s3(l0) = 22). Второй - заказать 6 единиц у первых двух и 8 единиц у третьего производителя (стоимость s i2(6) + s3(8) = 28 единиц). Выбираем лучший вариант со значением S(14) = 22 единицы. Поступая таким образом для всех значений 1 < V < 16, получим итоговую зависимость S(V) (табл. 11.1.8).

Таблица 11.1.8

V

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

S(V)

4

8

9

8

10

12

14

16

9

10

15

18

19

22

21

22

Анализируя эту зависимость, мы видим, что заказ 14 единиц стоит дороже, чем больший заказ 15 единиц. Поэтому очевидно, что центр никогда не будет заказывать 14 единиц, а закажет 15, даже если нужно будет только 14. Аналогично нецелесообразны заказы в 3, 5, 6, 7 и 8 единиц, так как гораздо дешевле вместо 3 единиц заказать 4, а вместо 5, 6, 7, или 8 единиц заказать 9.

Случай нескольких видов продукции сводится к независимому решению задач для каждого вида продукции.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ ОРИГИНАЛ   След >