Транспортная задача 4

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

В данной задаче имеет место сбалансированная модель, в которой суммарный объем производства равен суммарному объему сбыта. Обозначим через V 1, V2, V3, V4 объемы производства предприятий, а через W1, W2, W3, W4, W5, W6 — объемы потребления населенных пунктов.

Например, P 23 — цена перевозки единицы продукции второго предприятия в третий населенный пункт. Полная стоимость перевозок всей продукции от поставщиков к потребителям является целевой функцией транспортной задача и подлежит минимизации: Ограничениями задачи являются балансовые равенства для всех для все поставщиков: Последним набором ограничений транспортной задачи являются условия неотрицательности переменных, то есть.

При этом предполагается, что общая потребность в товарах не может быть больше, чем их запасы в пунктах отправления. Запустим программу , сохраним документ под названием, например, Задача4, дадим рабочему листу название, например, Транспорт. Для решения введем данные в ячейки рабочего листа документе программы Excel см. Если в наличии имеется готовая таблица, выполненная, например, в документе программы Word , то просто скопируем ее в буфер обмена, затем на рабочем листе документа программы выделим ячейку А1 и нажмем кнопку Вставить на панели инструментов.

После этого необходимо, может быть скорректировать шрифт и размеры ячеек, подобно тому, как это сделано на рисунке ниже. Кроме того, на всякий случай выделить блоки ячеек со скопированными числовыми данными через меню Формат -Ячейки в открывшемся диалоговом окне Формат ячеек на вкладке Число в пометить в окошке Числовые форматы пункт Числовой и нажать на кнопку ОК. Это требуется для того, чтобы скопированную из документа программы Word , вообще говоря, текстовую информацию программа Excel воспринимала именно как числа.

В том случае, если требуется ввести исходные данные вручную, можно сделать это в следующем порядке. В ячейку А1 введем текст Стоимость перевозки единицы продукции.

Хотя текст значительно превышает размеры ячейки на это не стоит обращать внимания, поскольку временное исчезновение части текста происходит лишь при выделении или редактировании перекрываемых этим текстом ячеек. Для того, чтобы рабочий лист имел приличный и удобный вид, иногда требуется корректировать его геометрию. Больше на этом останавливаться не будем. В ячейки А6, G 1, G 6, А8, G 8, A 13, G 13, A 17, G 17 для наглядности вводим текст, например, как показано ниже.

Текст не оказывает никакого влияния если, конечно, ячейки с текстом не перемещать, удалять и т. F 5 вводим цены перевозок продукции от поставщиков к потребителям. Например, выделим ячейку А2, наберем с клавиатуры число и нажмем клавишу Enter. Никаких знаков равенства перед числом ставить не следует.

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

В блок ячеек А9: F 12 введем массив переменных. Поскольку их очень много, не будем им давать им то есть содержащим их ячейкам специальных имен типа Х12 , тем более, что в качестве имен нельзя употреблять наборы символов, совпадающие с адресами других ячеек в рабочем листе имеется ячейка с адресом Х Оставим для этих переменных уже имеющиеся имена или адреса ячеек А9: Во избежание дальнейших неприятностей обязательно нажмите клавишу Enter. То же самое проделаем с ячейками А10, А11, …, В9,…, В12, …, F 9,…, F 12, то есть со всеми ячейками блока А9: Теперь для решения задачи и контроля результатов ячейки А F 15 введем формулы подсчета суммарных поставок потребителям.

Выделим ячейку А15 и вызовем Мастер функций, нажав на кнопку Вставка функций , находящуюся на панели инструментов и обозначенную значком f x. В появившемся диалоговом окне Мастера функций в окошке Категории щелкнем мышью на строке Математические , а затем в окошке Функция с помощью полосы прокрутки найдем и выделим щелчком функцию СУММ и нажмем кнопку ОК. Появится новое диалоговое окно Мастера функций. В этом окне имеется два поля ввода аргументов функций, обозначенных Число 1 и Число 2.

При необходимости появится третье, четвертое и т. Синтаксис функции СУММ допускает до 30 аргументов. В качестве аргумента можно использовать не одно число ячейку , а целый блок, в частности программа уже предложила в качестве первого аргумента блок ячеек А9: А14, но слегка ошиблась.

Мы ее подправим и вставим А9: В этом случае в ячейке А15 будет находиться сумма чисел из ячеек А9: А12, то есть сумма поставок товара от всех производителей в первый населенный пункт.

Теперь нажмем кнопку ОК. Окно закрылось и в ячейке А15 появилось число 0, так как в ячейках блока ячеек А9: А12 в данный момент также стоят нули. А12 если в данный момент выделена ячейка А Ту же процедуру ввода функций можно было бы повторить и для ячеек В15, С15, D 15, E 15, F Однако этого не требуется.

Достаточно просто скопировать формулу из ячейки А15 в эти ячейки. Для этого щелкнем мышью на ячейке А15 и на панели инструментов нажмем кнопку Скопировать. Щелкнем на ячейке В15 и нажмем на панели инструментов кнопку Вставить.

5.4. Транспортная задача

Формула скопирована в ячейку В15, причем в формулу автоматически внесены необходимые исправления, то есть в ячейку В15 записана требуемая формула: Аналогичную операцию копирования проделаем для ячеек С15, D 15, E 15, F После ввода формул во всех перечисленных ячейках должны появиться нули.

А12 , начав его со знака равенства и набирая адрес блока ячеек А9: Мы воспользовались Мастером функций с учебными целями. Кроме того, пользователь не всегда помнит наизусть точное написание, синтаксис, количество, порядок следования и формат аргументов.

Поэтому зачастую без Мастера функций невозможно обойтись. Для себя и для возможных других пользователей внесем в ячейку А14 поясняющий текст СУММ А9: А12 без знака равенства!!! Внесение аналогичных поясняющих надписей в ячейки В14 и т.

Хотя это дело вкуса. Для вычисления суммарных объемов производства или суммарных поставок каждого поставщика в ячейки G 9: G12 впишем таким же образом аналогичные формулы. Для разнообразия сделаем это с клавиатуры, вписывая указанный набор символов, причем символы СУММ наберем кириллицей, а А9: F 9 — латинскими буквами. Затем скопируем эту формулу в ячейки G 10, G 11, G Программа Excel внесет в копируемые формулы нужные коррективы. В ячейку G 14 внесем поясняющий текст СУММ А F 15 без знака равенства.

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

В ячейке G 19 вычислим значение целевой функции задачи. F12 , вычисляющая суммы произведений содержимого блоков ячеек А2: Однако, можно просто сложить стоимости перевозок по всем потребителям, то есть содержимое блока ячеек А В ячейку А18 впишем поясняющий текст СУММ А Теперь можно непосредственно приступить к решению задачи оптимизации, то есть к вычислению оптимального графика поставок, минимизирующего стоимость всех перевозок товара от поставщиков к потребителям.

Активизируем выделим щелчком мыши ячейку с целевой функцией задачи оптимизации G 19 и через меню Сервис-Поиск решения вызовем Решатель.

Откроется диалоговое окно Поиск решения. Поскольку в задаче требуется определить минимум целевой функции, то ниже этого поля ввода следует поставить флажок Равной минимальному значению.

Переменные задачи содержатся в блоке ячеек А9: Осталось ввести в алгоритм Решателя ограничения задачи. Ниже поля ввода Изменяя ячейки расположено окошко Ограничения. Однако непосредственно оно недоступно. Справа от него расположены три кнопки Добавить, Изменить, Удалить. Эти кнопки предназначены для команд на ввод и редактирование ограничений.

Нажмите на кнопку Добавить. Появилось диалоговое окно Добавление ограничения. В этом окне имеются три поля ввода. Первое из них предназначено для ввода левой части ограничения. Напомним, что в соответствии с математической моделью в задаче имеются три группы ограничений: Начнем с ввода равенств для поставщиков. Суммы их поставок объемы производства вычисляются в ячейках G 9: Если требуется, перенесем, взяв мышью за строку заголовка, диалоговое окно Добавление ограничения так, чтобы стали доступны эти ячейки.

Щелкнем по ячейке G 9, содержащей сумму поставок первого поставщика. Во втором поле ввода требуется выбрать тип ограничения из выпадающего списка. Наконец, в третье поле ввода Ограничение нужно ввести число, определяющее объем производства V 1 первого поставщика, которое при вводе исходных данных задачи попало в ячейку G 2.

Ввод первого ограничения закончен. Если бы оно было единственным, то следовало бы нажать кнопку ОК. Однако, это не так. Поэтому нажмите кнопку Добавить. После этого первое ограничение будет занесено в список Решателя, а диалоговое окно Добавление ограничения снова предстанет с чистыми полями ввода.

Повторите описанную процедуру для ввода ограничения, касающегося второго поставщика, имея дело с ячейками G 10 и G 3. Аналогично введите третье ячейки G 11 и G 4 и четвертое ограничение ячейки G 12 и G 5. Не выходя из диалогового окна Добавление ограничения, введите в список ограничений равенства для всех шести потребителей.

Эти ограничения определяются парами ячеек А15 и А6 , В15 и В6 , С15 и С6 , D 15 и D6 , E15 и E 6 , F15 и F6. Каждый раз вводите знак равенства и после ввода ограничения и не выходите из диалогового окна, нажимая кнопку Добавить.

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

Этот набор символов можно набрать с клавиатуры или с помощью мыши, охватив и выделив весь блок ячеек А9: Теперь, поскольку введено последнее ограничения задачи, нажмите кнопку ОК. В открывшемся снова диалоговом окне Поиск решения в окошке Ограничения появился весь список введенных ограничений. Используя полосу прокрутки, внимательно просмотрите их все. Если имеется ошибка или какого-либо ограничения не хватает или введено нечто лишнее, выделите нужную строку и используя кнопки Добавить, Изменить, Удалить исправьте неточность.

Теперь все готово для запуска алгоритма решения задачи линейного программирования программы Excel. Спустя некоторое время в соответствующих ячейках появятся результаты вычислений и диалоговое окно Результаты поиска решения.

Если все сделано правильно, результаты выглядят вполне приемлемыми, то следует согласиться с предложением Сохранить найденное решение и нажать кнопку ОК. Перед этим можно предусмотреть выдачу отчетов трех типов, в которых приведен анализ полученного решения. Если же сразу видно, что результаты явно неприемлемы или в ячейках появилось нечто непонятное следует установить флажок Восстановить исходные данные или нажать кнопку Отмена для того, чтобы вернуться на шаг или несколько шагов назад и исправить допущенные ошибки.

В некоторых случаях поскольку решение задачи вычисляется с достаточно большой, но конечной точностью, в ячейках появляется так называемый машинный ноль — очень малое число, записанное в экспоненциальной форме, то есть в виде набора цифр, знака минус и буквы Е. Для устранения этого эффекта, следует до вычислений или после них выделить поочередно все блоки вычисляемых ячеек и через меню Формат - Ячейки в диалоговом окне Формат ячеек на вкладке Число установить формат Числовой и некоторое число десятичных знаков, например, один, два и т.

Тогда машинные нули исчезнут, а другие результаты будут выданы с приемлемой точностью, что и сделано в данной задаче. Мы не будем останавливаться на полученном решении задачи, само по себе оно малоинтересно, поскольку является лишь учебным примером. Отметим лишь, что все ограничения в полученной оптимальном решении выполнены и само решение очевидно оптимально.

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

FAQ Обратная связь Вопросы и предложения. Studfiles2 Опубликованный материал нарушает ваши авторские права? Санкт-Петербургский государственный электротехнический университет "ЛЭТИ". Транспортная задача ЗАДАЧА 4. Стоимость перевозки единицы продукции Объемы производства 2 5 3 7 6 5 4 1 4 6 5 6 4 4 1 4 3 3 80 5 3 5 3 4 3 70 50 40 60 70 40 Объемы потребления Фирме требуется удовлетворить потребности всех населенных пунктов при минимальных расходах на перевозку.

Составим сначала математическую модель задачи. Математическая модель транспортной задачи Обозначим через V 1, V2, V3, V4 объемы производства предприятий, а через W1, W2, W3, W4, W5, W6 — объемы потребления населенных пунктов. Решение задачи в Excel Запустим программу , сохраним документ под названием, например, Задача4, дадим рабочему листу название, например, Транспорт. После всех описанных операций рабочий лист примет следующий вид.

Стоимость перевозки единицы продукции.

Похожие документы
Карта сайта
Правила бытового обслуживания потребителей рб

Комментарии
  • Фирме требуется удовлетворить потребности всех населенных пунктов при минимальных расходах на перевозку. Остаточное среднее квадратическое отклонение вычисляется по формуле:.