- •Н.А. Ермошин управление цепями поставок и логистические решения
- •1. Цели и задачи выполнения курсовой работы
- •2. Указания по выполнению курсовой работы
- •2.1. Общие требования к содержанию и оформлению курсовой работы
- •2.2. Требования к теоретической части работы
- •2.3. Методические указания для выполнения практической части работы
- •2.3.1 Методика решения задачи по определению кратчайшего пути
- •2.3.2 Методика решения задачи по определению оптимального плана развозки груза в логистической цепи
- •2.3.3 Методика решения задачи по определению оптимального плана перевозок грузов от поставщиков потребителям
- •3. Варианты заданий на курсовую работу
- •3.1 Примерный перечень тем для разработки теоретического вопроса курсовой работы
- •4. Литература для подготовки и выполнения курсовой
2.3.3 Методика решения задачи по определению оптимального плана перевозок грузов от поставщиков потребителям
А). Исходные данные
Требуется найти оптимальный план перевозок дорожно-строительных материалов из трех карьеров с запасами: №1 - 10 тыс. м3, №2 - 12 тыс. м3, №3 - 12 тыс. м3 на пять участков работ с потребностями в материалах: №1 - 4 тыс. м3, №2 - 5 тыс. м3, №3 - 7 тыс. м3, №4 - 9 тыс. м3, №5 - 9 тыс. м3. Стоимость перевозок 1 м3 материала приведена в таблице 2.
Таблица 2 - Стоимость транспортировки 1 м3 дорожно-строительных материалов из карьеров на участки работ (тыс. руб. за 1м3)
Карьеры |
Участки работ |
||||
1 |
2 |
3 |
4 |
5 |
|
1 |
0,4 |
0,1 |
0,9 |
0,6 |
0,9 |
2 |
0,6 |
0,4 |
0,3 |
0,5 |
0,7 |
3 |
0,5 |
0,2 |
0,6 |
0,4 |
0,8 |
Б). Экономико-математическая модель решения задачи
Пусть
- количество груза, перевозимого от
поставщика (из исходного пункта)
потребителю (в пункт назначения)
(рисунок 23). Количество груза, имеющегося
у
-го
поставщика обозначим через
,
а количество груза, необходимого
-му
потребителю через
.
Стоимость перевозки (или стоимость
перевозки и закупки) одной единицы груза
от
-го
поставщика
-му
потребителю равна
.
Тогда задача определения оптимального
плана перевозок грузов от поставщиков
потребителям по критерию минимума
затрат на перевозки в общем виде
формулируется следующим образом:
Рисунок 23 – Транспортная модель
,
(10)
,
(11)
,
(12)
.
(13)
Целевая функция и ограничения задачи интерпретируются следующим образом:
целевая функция (10) минимизирует затраты на закупку и доставку грузов (материальных средств);
условия (11) требует удовлетворения потребностей каждого потребителя в грузах (материальных средствах);
условие (12) указывает, что суммарный объем перевозок грузов (материальных средств) от каждого производителя не может превысить его возможностей по производству этих грузов (материальных средств);
условие
(13) учитывает пропускную способность
транспортных коммуникаций
и
требование неотрицательности переменных
.
В). Решение задачи по определению оптимального плана перевозок
Подготовительный этап
1). Создаем транспортную таблицу (рисунок 24), по строкам которой размещаем номера или названия исходных пунктов (Карьер 1, Карьер 2, Карьер 3,…), из которых вывозится продукция, а по столбцам – номера или названия пунктов потребления (Стройплощадка 1, Стройплощадка 2 и т. д.), куда эта продукция завозится. В последней строке таблицы размещаем значения потребностей каждого пункта потребления продукции, а в последнем столбце – запасы этой продукции в каждом исходном пункте.
На пересечении номеров или названий пунктов (исходных) и пунктов потребления указываем стоимости перевозок (из каждого исходного пункта в каждый пункт потребления).
Р
исунок
24 – Исходные данные для решения задачи
2). Строим вспомогательную таблицу (рисунок 25) для размещения значений переменных количества вывезенной из исходных пунктов и количества ввезенной в пункты потребления продукции, а также для размещения значений целевой функции и остатка запасов в исходных пунктах.
Рисунок 25 – Вспомогательная таблица
Заполнение исходной таблицы формулами, связывающими план, ограничения и целевую функцию
1). Заполняем формулами строку «Ввезено».
Для этого устанавливаем курсор в строку «Ввезено» и столбец, соответствующий 1-му пункту потребления (в нашем случае ячейка С16), нажимаем левую кнопку мыши тем самым, активируя ячейку. Вызываем «Мастер функций», нажав на иконку «fx» на панели инструментов.
В окне «Мастер функций» (рисунок 26) выбираем категорию «Математические» и в этой категории находим функцию «СУММ», выбираем ее и нажимаем «ОК».
Р
исунок
26 – Работа в окне «мастер функций»
В появившемся окне «Аргументы функции» (рисунок 27) вводим массив со значениями переменных (из вспомогательной таблицы), соответствующих количеству продукции вывозимой из каждого исходного пункта в 1-й пункт потребления. Для этого устанавливаем курсор в ячейку, соответствующую пересечению 1-го исходного пункта и 1-го пункта потребления во вспомогательной таблице (в нашем случае С12) и «протаскиваем» курсор по столбцу, соответствующему 1-му пункту потребления. При этом ячейки для суммирования будут очерчены пунктирной линией и нажимаем «ОК» (рис. 2.4).
Копируем формулу суммы груза (продукции, материальных средств), ввезенной в 1-й пункт потребления для остальных пунктов потребления. Для этого выделяем ячейку С16 и нажимаем иконку копировать на панели инструментов, а затем выделяем остальные пункты потребления (соответственно ячейки D16, E16, F16 и G16) и нажимаем иконку вставить на панели инструментов.
Р
исунок
27 – Ввод значений функции
2). Заполняем формулами строку «Вывезено».
Для этого устанавливаем курсор на пересечении строки соответствующей 1-му исходному пункту и столбцу вывезено (ячейка I12), нажимаем левую клавишу мыши, тем самым активируя эту ячейку, вызываем «Мастер функций» нажав на иконку «fx» на панели инструментов.
В окне «Мастер функций» выбираем категорию «Математические» и в этой категории находим функцию «СУММ», выбираем ее и нажимаем «ОК».
В появившемся окне «Аргументы функции» вводим массив со значениями переменных (из вспомогательной таблицы), соответствующих количеству грузов (продукции, материальных средств) ввозимых в каждый пункт потребления из исходного пункта. Для этого устанавливаем курсор в ячейку, соответствующую пересечению 1-го исходного пункта и 1-го пункта потребления во вспомогательной таблице (в нашем случае С12) и «протаскиваем» курсор по строке соответствующей 1-му исходному пункту. При этом ячейки для суммирования буду очерчены пунктирной линией, нажимаем «ОК».
Копируем формулу суммы продукции, вывезенной из 1-й исходного пункта, для остальных исходных пунктов. Для этого выделяем ячейку I12 и нажимаем иконку копировать на панели инструментов, а затем выделяем остальные исходные пункты (соответственно ячейки I13 и I14) и нажимаем иконку вставить на панели инструментов.
2). Заполняем формулами строку «Остаток».
Для этого устанавливаем курсор на пересечении строки, соответствующей 1-му исходному пункту и столбцу остаток (ячейка J12), нажимаем знак «=» на клавиатуре и выделяем ячейку на пересечении столбца «Запасы» и строки «Карьер №1» (соответственно ячейка Н12). Затем нажимаем знак «-» на клавиатуре и выделяем ячейку на пересечении столбца «Вывезено» и строки «Карьер №1» (соответственно ячейка I12), нажимаем клавишу «Enter» на клавиатуре.
Копируем формулу расчета остатка продукции, вывезенной из 1-го исходного пункта для остальных исходных пунктов. Для этого выделяем ячейку J12 и нажимаем иконку копировать на панели инструментов, а затем выделяем остальные исходные пункты (соответственно ячейки J13 и J14) и нажимаем иконку вставить на панели инструментов.
3). Вводим формулу в ячейку, где будет размещаться значение целевой функции (расходов на перевозку).
Для этого активируем ячейку, в которой будет размещаться значение целевой функции, (в нашем случае ячейка G17). Вызываем «Мастер функций» и в категории «Математические» выбираем «СУММПРОИЗВ», нажимаем «ОК» (рисунок 28)
В окне «Аргументы функции» в строку «Массив 1» (рисунок 29) вводим значения стоимости перевозок, для чего устанавливаем курсор в строку «Массив 1» и нажимаем на левую клавишу мыши.
Затем устанавливаем курсор в ячейку на пересечении исходного пункта №1 и 1-го пункта потребления в транспортной таблице, нажимаем левую клавишу мыши и, не отпуская клавишу мыши, «протаскиваем» курсор по диагонали до ячейки последнего исходного пункта и последнего пункта потребления включительно (в нашем случае от ячейки C4 до ячейки G6).
Рисунок 28 – Ввод формулы для расчета значения целевой функции
В окне «Аргументы функции» в строку «Массив 2» (рисунок 29) вводим значения искомых переменных, для чего сначала устанавливаем курсор в окне «Аргументы функции» в строку «Массив 2» и нажимаем на левую клавишу мыши.
Затем устанавливаем курсор в ячейку на пересечении исходного пункта №1 и 1-го пункта потребления во вспомогательной таблице. Нажимаем левую клавишу мыши и, не отпуская ее, протаскиваем курсор по диагонали до ячейки последнего исходного пункта и последнего пункта потребления включительно (в нашем случае от ячейки C12 до ячейки G14) (рисунок 29).
В окне «Аргументы функции» нажимаем «ОК». В ячейке, где должно размещаться значение целевой функции, будет «0». После проведения подготовительных действий переходим к расчёту плана перевозок.
Р
исунок
29 – Ввод массивов функции «СУММПРОИЗВ»
Вычислительный этап
1). Запускаем программу «Поиск решения» командой Данные/Анализ/Поиск решения (Excel 2007) или Сервис/Поиск решения (Excel 2003 и ниже).3
2). Заполняем поля в появившемся окне.
В окне «Поиск решения» 4 устанавливаем курсор в строку «Установить целевую ячейку», а затем активируем ячейку, в которую мы хотим поместить значение целевой функции, установив на нее курсор и щелкнув левой кнопкой мыши. Эта ячейка будет мерцать (в нашем случае ячейка G17).
Необходимо установить принцип оптимальности, соответствующий расчету минимального значения функции.
Для этого активируем радиокнопку «Минимальное значение». В разделе «Изменяя ячейки», вводим ячейки, соответствующие плану перевозок (C12:G14). Для их ввода устанавливаем курсор в ячейку, соответствующую пересечению исходного пункта № 1 и пункта потребления № 1 и щелкаем левой кнопкой мыши. «Протаскиваем» курсор с нажатой левой кнопкой мыши по диагонали до ячейки, соответствующей значению последнего пункта потребления и последнего исходного пункта включительно во вспомогательной таблице (в нашем случае от ячейки С12 до ячейки G14) (рисунок 30).
Р
исунок
30 – Ввод данных в окне «Поиск решения»
Устанавливаем курсор в окно «Ограничения», щелкнув на нем левой кнопкой мыши. Нажимаем кнопку «Добавить». В окне «Ссылка на ячейку» вводим данные по количеству ввезенной продукции на каждую строительную площадку (пункт потребления), для чего помещаем курсор в строку «Ввезено» вспомогательной таблицы и ячейку, соответствующую 1-му пункту потребления. При нажатой левой кнопкой мыши «протаскиваем» курсор по строке «Ввезено» до ячейки, соответствующей последнему пункту потребления (в нашем случае от ячейки С16 до ячейки G16) .
В окне правее «Ссылка на ячейку» выбираем знак ограничения. В нашем случае для потребности это будет знак равенства «=». Вводим значение ограничения, для чего устанавливаем курсор в ячейку на пересечении строки потребностей и 1-го пункта потребления (в транспортной таблице). Щелкнув левой кнопкой мыши и не отпуская ее, «протаскиваем» курсор по строке потребностей до последнего пункта потребления включительно (в нашем случае от ячейки С7 до ячейки G7). Нажимаем ОК.
Переходим к вводу следующего ограничения, нажав на кнопку «Добавить». Для ввода ограничений по запасам поступаем аналогично. Активируем ячейку, соответствующую пересечению исходного пункта № 1 и столбца «Вывезено» во вспомогательной таблице (рисунок 31) и «протаскиваем» курсор по столбцу до ячейки, соответствующей последнему исходному пункту включительно (в нашем случае от ячейки I12 до ячейки I14). Переходим к вводу знака ограничений, для чего в окне, правее ссылки на ячейку выбираем соответствующий знак. В нашем случае это «<=». Вводим значение ограничения, установив курсор в окно ограничения и выделив после этого значение запасов в столбце «Запасы» (в исходной транспортной таблице) от 1-го пункта потребления до последнего пункта потребления включительно (в нашем случае от ячейки Н4 до ячейки Н6). Нажимаем «ОК» (рисунок 31).
Рисунок
31 – Ввод данных в окне «Добавление
ограничения».
Переходим к вводу параметров решения, нажав кнопку «Параметры» (рисунок 32). В окне «Параметры поиска решения» оставляем стандартные условия без изменения. Ставим галочку в чекбоксах «Линейная модель» и «Неотрицательные значения переменных». После чего нажимаем «ОК» (рисунок 32)
В окне «Поиск решения» нажимаем «Выполнить». В окне «Результаты поиска решения» в зависимости от потребностей в анализе рассчитанного плана выбираем результаты, устойчивость, пределы. В нашем случае выбираем «Результат», «Сохранить найденное решение» и нажимаем «ОК» (рисунок 33).
Рисунок
32 – Работа в окне «Параметры поиска
решения»
Анализ результатов расчетов
Во вспомогательной таблице (рисунок 33) в ячейках на пересечении исходных пунктов (карьеров) и пунктов потребления (участков работ) показаны оптимальные объемы перевозок.
В строке «Ввезено» – количество продукции (грузов), ввезенной в каждый пункт потребления (каждому потребителю). В столбце «Вывезено» размещены объемы продукции, вывезенной из каждого исходного пункта (от каждого поставщика) для удовлетворения потребностей пунктов потребления.
Рисунок 33 – Результаты вычислений5.
В столбце «Остаток» показаны запасы продукции (грузов), имеющейся в исходных пунктах после удовлетворения потребностей пунктов потребления.
В ячейке «Расходы на перевозку» показана минимальная стоимость перевозок для рассчитанного плана (общие затраты).
