Распределение потребителей по складской сети - Разработка маршрутов доставки грузов

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

Таблица 1 9

Адреса магазинов в Санкт-Петербурге

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

Адрес

Объем поставки, кг

1

ООО "ПитерСнаб"

Северный пр. д.5

6

2

ООО "Аудиомания"

Ул. Радищева д.46

16

3

ООО "Виалайт"

Пр. Шаумяна д.10,корп 1

10

4

ООО "КР Системы"

Индустриализации ул., д.7, корп 3

17

5

ООО "Электрокабель"

Кожевенная линия д.41

8

Прикрепление потребителей (магазинов) к складам осуществляется с применением методов линейного программирования.

Мы имеем 5 поставщиков (склады логистической сети), располагающих определенным количеством продукции (табл. 9), и 5 потребителей (магазины), у которых есть потребность в данной продукции (табл. 19). Нам необходимо определить транспортные затраты на доставку груза от любого поставщика до любого потребителя и прикрепить потребителей так, чтобы суммарные транспортные расходы по доставке продукции поставщикам были минимальными.

Этап 1. Определяем транспортные затраты. Затраты на транспортировку зависят от расстояния от склада до потребителя. Стоимость перевозки одной тонны груза на один километр составляет 50 руб/т. Для построения экономико-математической модели введем обозначения: i - номер поставщика (i = 1,...,m), m - количество поставщиков (в курсовом - 5); j - номер потребителя (j = 1,...,n), n - количество поставщиков (в курсовом - 5); Ai - ресурсы i-го поставщика, т. е. количество груза, которое поставщик может поставить потребителям (табл.9), т; Вj - потребность в продукции j-го потребителя (табл. 19), т; Cij - транспортные расходы по доставке одной тонны груза от i-го поставщика j-му потребителю, руб./т.; Xij - количество продукции, поставляемой от i-го поставщика j-му потребителю, т. Эта величина неизвестна и подлежит определению.

Таблица 20

Транспортные расходы по доставке одной тонны груза от I-го поставщика J-му потребителю

Потребитель

Поставщик

Магазин 1

Магазин 2

Магазин 3

Магазин 4

Магазин 5

Склад 1

400

575

725

2155

660

Склад 2

295

830

1100

2475

1000

Склад 3

1630

735

680

735

1060

Склад 4

870

305

460

595

445

Склад 5

1270

700

855

1260

735

Экономико-математическая модель должна содержать целевую функцию, системы ограничений и условия не отрицательности переменных. В рассматриваемой задаче необходимо свести к минимуму транспортные расходы, где Cij - транспортные расходы по доставке одной тонны груза от i-поставщика j-му потребителю, руб./т.; Xij количество продукции, поставляемой от i-го поставщика j-му потребителю, т.

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

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

Наконец, в модели указывается условие не отрицательности переменных

После построения модели решается задача прикрепления поставщиков потребителям. Расчеты могут выполняться методом потенциалов(табл. 21). В этой таблице кроме ресурсов поставщиков, потребностей потребителей и транспортных расходов, имеются столбец и строка для записи потенциалов Ui и Vj, которые дают возможность определить оптимальность плана закрепления поставщиков за потребителями. В правом верхнем углу ячеек указана стоимость доставки продукции (руб/т).

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

Таблица 2 1

Исходные данные

Потребители

М1

М2

М3

М4

М5

Ресурcы поставщиков, Аi, т

Поставщик

Vj

V1

V2

V3

V4

V5

Ui

C1

U1

X11

X12

X13

X14

X15

6

C2

U2

X21

X22

X23

X24

X25

12

C3

U3

X31

X32

X33

X34

X35

15

C4

U4

X41

X42

X43

X44

X45

7

C5

U5

X51

X52

X53

X54

X55

7

Потребность Bj

6

6

10

17

8

47

Таблица 2 2

Исходный план прикрепления потребителей к поставщикам

Потребители

М1

М2

М3

М4

М5

Ресурcы поставщиков, Аi, т

Поставщик

Vj

V1

V2

V3

V4

V5

Ui

C1

U1

6

6

C2

U2

6

6

12

C3

U3

4

11

15

C4

U4

6

1

7

C5

U5

7

7

Потребность Bj

6

6

10

17

8

47

Этап 2. Проверка исходного плана. Проверяем исходный план на соответствие условий:

Число "загруженных" клеток в таблице должно быть на единицу меньше суммы чисел поставщиков и потребителей, в рассматриваемом примере 9 (5 + 5 - 1), т. е. условие соблюдено. Не должно быть ни одного занятого квадрата, который оказался бы единственным в строке и столбце таблицы, т. е. условие соблюдено.

Этап 3. Проверка на оптимальность. Чтобы проверить исходный план на оптимальность необходимо рассчитать потенциалы Ui иVj. Эти потенциалы определяем только для "загруженных" ячеек. Сумма индексов Ui и Vj должна быть равна транспортным издержкам соответствующих ячеек. По нашим вычислениям: U1 + V1 = 400; U1 + V2 = 575; U2 + V2 =255; U3 + V2 = 735; U3 + V3 = 680; U4 + V3 = 460; U4 + V4 =595; U5 + V4 =1260; U5 + V5 = 735.

Далее для "незагруженных" ячеек рассчитываем в табл. 23 рассчитанные значения представлены курсивом. Полученные значения, как правило, отличаются от значений Cij (транспортные расходы). Если во всех "незагруженных" ячейках соблюдается неравенство, то план считается оптимальным. В рассматриваемом примере есть ячейки, в которых это неравенство не соблюдается, а значит, план не является оптимальным.

Этап 2. Проверка исходного плана. Необходимо проверить исходный план на соответствие следующим условиям:

Число "загруженных" клеток в таблице должно быть на единицу меньше суммы чисел поставщиков и потребителей, в рассматриваемом примере 9 (5 + 5 - 1), т. е. условие соблюдено.

Не должно быть ни одного занятого квадрата, который оказался бы единственным в строке и столбце таблицы, т. е. условие соблюдено.

Этап 3. Проверка на оптимальность. Для осуществления проверки исходного плана на оптимальность необходимо рассчитать потенциалы Ui и Vj. Эти потенциалы определяются только для "загруженных" ячеек. Сумма индексов Ui и Vj должна быть равна транспортным издержкам соответствующих ячеек. В этом примере

U1 + V1 = 1200; U1 + V2 = 1300; U2 + V2 =

1600; U3 + V2 = 900; U3 + V3 = 850; U4 + V3 = 1300; U4 + V4 = 1700; U5 + V4 = 2100; U5 + V5 = 2200.

Индексы определяем следующим образом:

    1) принимаем U1 = 0 (так всегда); 2) из первого уравнения получаем V1 = 1200 - 0 = 1200; 3) из второго уравнения получаем V2 = 1300 - 0 = 1300; 4) точно также, решая все уравнения, определяем потенциалы для всех потребителей и поставщиков (табл. 23).

Далее для "незагруженных" ячеек рассчитывается (в табл. 23 рассчитанные значения представлены курсивом).

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

Таблица 2 3

Исходный план прикрепления потребителей к поставщикам с рассчитанными значениями потенциалов

Этап 4. Улучшение исходного плана. Это происходит путем перемещения поставки в "незагруженную" ячейку, в которой В нашем примере это квадрат С2-М3 (1550 - 500 = 1050). В случае если разность окажется одинаковой для нескольких ячеек, следует выбрать любую ячейку произвольно.

Итак, в рассматриваемом примере поставка должна быть перемещена в квадрат С2-М3. Перемещения производятся в определенном порядке с тем, чтобы не были нарушены условия, выраженные в приведенных выше уравнениях. Для этого образуем связку, т. е. замкнутую ломаную линию, состоящую из вертикальных и горизонтальных отрезков, таким образом, чтобы одной из вершин образованного многоугольника был квадрат, куда производится перемещение, а остальные вершины находились в "загруженных ячейках". В табл. 2 представлен такой многоугольник.

После образования связи свободному квадрату и связанным с ним "загруженным" ячейкам присваиваются поочередно знаки " + " и " - ", начиная со свободного квадрата.

Таблица 2 4

Перемещение поставки в квадрат С2-М3

Среди тех квадратов, которые отмечены знаком " - ", выбираем наименьший объем поставки (6 т.). Именно этот объем подлежит перемещению из квадратов со знаком " - " в квадраты со знаком " + ". В результате получен новый план (табл. 25).

Таблица 2 5

Скорректированный план прикрепления потребителей к поставщикам

Повторяем описанные выше шаги. Результат представлен в табл. 26

Таблица 2 6

План прикрепления потребителей к поставщикам с рассчитанными значениями потенциалов

Это решение также не является оптимальным, следовательно, необходимо его улучшить путем перенесения поставок в свободные ячейки (в ячейку С5-М1). Результат представлен в табл. 27

Таблица 2 7

Скорректированный исходный план прикрепления потребителей к поставщикам

Таблица 2 8

План прикрепления потребителей к поставщикам с рассчитанными значениями потенциалов

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

Похожие статьи




Распределение потребителей по складской сети - Разработка маршрутов доставки грузов

Предыдущая | Следующая