Транспортная задача надстройка в excel

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

Содержание

  1. Транспортная задача: описание
  2. Подготовительный этап: включение функции “Поиск решения”
  3. Пример задачи и ее решение
    • Условия
    • Алгоритм решения
  4. Заключение

Транспортная задача: описание

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

Транспортные задачи бывают двух типов:

  • Закрытая – совокупное предложение продавца равняется общему спросу.
  • Открытая – спрос и предложение не равны. Чтобы решить такую задачу, нужно сначала привести ее к закрытому типу. В этом случае добавляется условный покупатель или продавец с недостающим количеством спроса или предложения. Также в таблицу издержек следует внести соответствующую запись (с нулевыми значениями).

Подготовительный этап: включение функции “Поиск решения”

Чтобы решить транспортную задачу в Эксель, нужно воспользоваться функцией “Поиск решения”, которую нужно предварительно активировать, т.к. изначально она не включена. Алгоритм действий следующий:

  1. Открываем меню “Файл”.Переход в меню Файл в Эксель
  2. В перечне слева выбираем пункт “Параметры”.Переход к параметрам Эксель
  3. В параметрах кликаем по подразделу “Надстройки”. Затем в правой части окна в самом низу, выбрав значение “Надстройки Excel” для параметра “Управление”, щелкаем по кнопке “Перейти”.Переход к надстройкам Excel
  4. В открывшемся окне ставим галочку напротив надстройки “Поиск решения” и жмем OK.Включение надстройки Поиск решения в Эксель
  5. В результате, если мы перейдем во вкладу “Данные”, то увидим здесь кнопку “Поиск решения” в группе инструментов “Анализ”.Поиск решения во вкладке Данные в Excel

Пример задачи и ее решение

Чтобы лучше понять, как решать транспортные задачи в Excel, давайте рассмотрим конкретный практический пример.

Условия задачи

Допустим, у нас есть 6 продавцов и 7 покупателей. Предложение продавцов составляет 36, 51, 32, 44, 35 и 38 единиц. Спрос покупателей следующий: 33, 48, 30, 36, 33, 24 и 32 единицы. Суммарные количества по спросу и предложению равны, следовательно, это транспортная задача закрытого типа.

Исходные данные транспортной задачи для решения в Эксель

Также, мы имеем данные по издержкам перевозок из одного пункта в другой (ячейки с желтым фоном).

Исходные данные транспортной задачи для решения в Excel

Алгоритм решения

Итак, приступи к решению нашей задачи:

  1. Для начала строим таблицу, количество строк и столбцов в которой соответствует числу продавцов и покупателей, соответственно.Создание новой таблицы для решения транспортной задачи в Эксель
  2. Перейдя в любую свободную ячейку щелкаем по кнопке “Вставить функцию” (fx).Вставка функции в ячейку Excel
  3. В открывшемся окне выбираем категорию “Математические”, в списке операторов отмечаем “СУММПРОИЗВ”, после чего щелкаем OK.Выбор функции СУММПРОИЗВ в Эксель
  4. На экране отобразится окно, в котором нужно заполнить аргументы:
    • в поле для ввода значения напротив первого аргумента “Массив1” указываем координаты диапазона ячеек матрицы затрат (с желтым фоном). Сделать это можно, используя клавиши на клавиатуре, или просто выделив нужную область в самой таблице с помощью зажатой левой кнопки мыши.
    • в качестве значения второго аргумента “Массив2” указываем диапазон ячеек новой таблицы (либо вручную, либо выделив нужные элементы на листе).
    • по готовности жмем OK.Заполнение аргументов функции СУММПРОИЗВ в Эксель
  5. Щелкаем по ячейке, расположенной слева от самого верхнего левого элемента новой таблицы, после чего снова жмем кнопку “Вставить функцию”.Вставка функции в ячейку таблицы Excel
  6. На этот раз нам нужна функция “СУММ”, которая также, находится в категории “Математические”.Выбор функции СУММ в Эксель
  7. Теперь нужно заполнить аргументы. В качестве значения аргумента “Число1” указываем верхнюю строку созданной для расчетов таблицы (целиком) – вручную или методом выделения на листе. Жмем кнопку OK, когда все готово.Заполнение аргументов функции СУММ в Excel
  8. В ячейке с функцией появится результат, равный нулю. Наводим указатель мыши на ее правый нижний угол, и когда появится Маркер заполнения в виде черного плюсика, зажав левую кнопку мыши тянем его до конца таблицы.Копирование формулы с помощью Маркера заполнения в Эксель
  9. Это позволит скопировать формулу и получить аналогичные результаты для остальных строк.Результат копирования формулы в другие ячейки столбца в Эксель
  10. Выбираем ячейку, которая находится сверху от самого верхнего левого элемента созданной таблицы. Аналогично описанным выше действиям вставляем в нее функцию “СУММ”.Вставка функции СУММ в ячейку таблицы Эксель
  11. В значении аргумента “Число1” теперь указываем (вручную или с помощью выделения на листе) все ячейки первого столбца, после чего кликаем OK.Заполнение аргументов функции СУММ в Эксель
  12. С помощью Маркера заполнения выполняем копирование формулы на оставшиеся ячейки строки.Результат копирования формулы в другие ячейки строки в Эксель
  13. Переключаемся во вкладку “Данные”, где жмем по кнопке функции “Поиск решения” (группа инструментов “Анализ”).Функция Поиск решения в Эксель
  14. Перед нами появится окно с параметрами функции:
    • в качестве значения параметра “Оптимизировать целевую функцию” указываем координаты ячейки, в которую ранее была вставлена функция “СУММПРОИЗВ”.
    • для параметра “До” выбираем вариант – “Минимум”.
    • в области для ввода значений напротив параметра “Изменяя ячейки переменных” указываем диапазон ячеек новой таблицы (без суммирующей строки и столбца).
    • нажимаем кнопку “Добавить” в блоке “В соответствии с ограничениями”.Заполнение параметров функции Поиск решения в Эксель
  15. Откроется небольшое окошко, в котором мы можем добавить ограничение – сумма значений первых столбцов исходной и созданной таблицы должны быть равны.
    • становимся в поле “Ссылка на ячейки”, после чего указываем нужный диапазон данных в таблице для расчетов.
    • затем выбираем знак “равно”.
    • в качестве значения для параметра “Ограничение” указываем координаты  аналогичного столбца в исходной таблице.
    • щелкаем OK по готовности.Добавление ограничения в параметры функции Поиск решения в Excel
  16. Таким же способом добавляем условие по равенству сумм верхних строк таблиц.Добавление ограничения в параметры функции Поиск решения в Эксель
  17. Также добавляем следующие условия касательно суммы ячеек в таблице для расчетов (диапазон совпадает с тем, который мы указали для параметра “Изменяя ячейки переменных”):
    • больше или равно нулю;
    • целое число.
  18. В итоге получаем следующий список условий в поле “В соответствии с ограничениями”. Проверяем, чтобы обязательно была поставлена галочка напротив опции “Сделать переменные без ограничений неотрицательными”, а также, чтобы в качестве метода решения стояло значение “Поиск решения нелинейных задач методов ОПГ”. Когда все готово, нажимаем “Найти решение”.Запуск функции Поиск решения в Эксель
  19. В результате будет выполнен расчет и отобразится окно с результатами поиска решения. Оцениваем их, и в случае, когда они нас устраивают, нажимаем OK.Результат работы функции Поиск решения в Excel
  20. Все готово, мы получили таблицу с заполненными данными и транспортную задачу можно считать успешно решенной.Решенная транспортная задача в Эксель

Заключение

Таким образом, с помощью программы Эксель достаточно просто решить транспортную задачу. Самое главное – правильно заполнить начальные данные и четко следовать плану действий, и тогда проблем быть не должно, т.к. программа все расчеты выполнит сама.

Содержание

  • Общее описание транспортной задачи
  • Инструменты для решения транспортной задачи в Эксель
  • Пример решения транспортной задачи в Excel
    • Условия задачи
    • Решение задачи
  • Вопросы и ответы

Транспортная задача в Microsoft Excel

Транспортная задача представляет собой задачу поиска наиболее оптимального варианта перевозок однотипного товара от поставщика к потребителю. Её основой является модель, широко применяемая в различных сферах математики и экономики. В Microsoft Excel имеются инструменты, которые значительно облегчают решение транспортной задачи. Выясним, как их использовать на практике.

Общее описание транспортной задачи

Главной целью транспортной задачи является поиск оптимального плана перевозок от поставщика к потребителю при минимальных затратах. Условия такой задачи записываются в виде схемы или матрицы. Для программы Excel используется матричный тип.

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

Инструменты для решения транспортной задачи в Эксель

Для решения транспортной задачи в Excel используется функция «Поиск решения». Проблема в том, что по умолчанию она отключена. Для того, чтобы включить данный инструмент, нужно выполнить определенные действия.

  1. Делаем перемещение во вкладку «Файл».
  2. Переход в раздел Файл в Microsoft Excel

  3. Кликаем по подразделу «Параметры».
  4. Переход в параметры в программе Microsoft Excel

  5. В новом окне переходим по надписи «Надстройки».
  6. Переход в надстройки в Microsoft Excel

  7. В блоке «Управление», который находится внизу открывшегося окна, в выпадающем списке останавливаем выбор на пункте «Надстройки Excel». Делаем клик по кнопке «Перейти…».
  8. Переход в надстройки Excel в Microsoft Excel

  9. Запускается окно активации надстроек. Устанавливаем флажок возле пункта «Поиск решения». Кликаем по кнопке «OK».
  10. Активация инструмента Поиск решения в Microsoft Excel

  11. Вследствие этих действий во вкладке «Данные» в блоке настроек «Анализ» на ленте появится кнопка «Поиск решения». Она нам и понадобится при поиске решения транспортной задачи.

Поиск решения в приложении Microsoft Excel

Урок: функция «Поиск решения» в Экселе

Теперь давайте разберем конкретный пример решения транспортной задачи.

Условия задачи

Имеем 5 поставщиков и 6 покупателей. Объёмы производства этих поставщиков составляют 48, 65, 51, 61, 53 единиц. Потребность покупателей: 43, 47, 42, 46, 41, 59 единиц. Таким образом, общий объем предложения равен величине спроса, то есть, мы имеем дело с закрытой транспортной задачей.

Таблица объемов спроса и предложения в Microsoft Excel

Lumpics.ru

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

Матрица затрат в Microsoft Excel

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

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

  1. Для того, чтобы решить задачу, строим таблицу с точно таким же количеством ячеек, как и у вышеописанной матрицы затрат.
  2. Макет таблицы для решения задачи в Microsoft Excel

  3. Выделяем любую пустую ячейку на листе. Кликаем по значку «Вставить функцию», размещенному слева от строки формул.
  4. Переход к Мастеру функций в Microsoft Excel

  5. Открывается «Мастер функций». В списке, который предлагает он, нам следует отыскать функцию СУММПРОИЗВ. Выделяем её и жмем на кнопку «OK».
  6. Мастер функций программы Microsoft Excel

  7. Открывается окно ввода аргументов функции СУММПРОИЗВ. В качестве первого аргумента внесем диапазон ячеек матрицы затрат. Для этого достаточно выделить курсором данные ячейки. Вторым аргументом выступит диапазон ячеек таблицы, которая была приготовлена для расчетов. Затем, жмем на кнопку «OK».
  8. Аргументы функции СУММПРОИЗВ в Microsoft Excel

  9. Кликаем по ячейке, которая расположена слева от верхней левой ячейки таблицы для расчетов. Как и в прошлый раз вызываем Мастер функций, открываем в нём аргументы функции СУММ. Кликнув по полю первого аргумента, выделяем весь верхний ряд ячеек таблицы для расчетов. После того, как их координаты занесены в соответствующее поле, кликаем по кнопке «OK».
  10. Аргументы функции СУММ в Microsoft Excel

  11. Становимся в нижний правый угол ячейки с функцией СУММ. Появляется маркер заполнения. Жмем на левую кнопку мыши и тянем маркер заполнения вниз до конца таблицы для расчета. Таким образом мы скопировали формулу.
  12. Копирование формулы маркером заполнения в Microsoft Excel

  13. Кликаем по ячейке размещенной сверху от верхней левой ячейки таблицы для расчетов. Как и в предыдущий раз вызываем функцию СУММ, но на этот раз в качестве аргумента используем первый столбец таблицы для расчетов. Жмем на кнопку «OK».
  14. Аргументы функции СУММ в Microsoft Excel

  15. Копируем маркером заполнения формулу на всю строку.
  16. Копирование формулы маркером заполнения в строку в Microsoft Excel

  17. Переходим во вкладку «Данные». Там в блоке инструментов «Анализ» кликаем по кнопке «Поиск решения».
  18. Переход в Поиск решения в Microsoft Excel

  19. Открываются параметры поиска решения. В поле «Оптимизировать целевую функцию» указываем ячейку, содержащую функцию СУММПРОИЗВ. В блоке «До» устанавливаем значение «Минимум». В поле «Изменяя ячейки переменных» указываем весь диапазон таблицы для расчета. В блоке настроек «В соответствии с ограничениями» жмем на кнопку «Добавить», чтобы добавить несколько важных ограничений.
  20. Параметры поиска решения в Microsoft Excel

  21. Запускается окно добавления ограничения. Прежде всего, нам нужно добавить условие того, что сумма данных в строках таблицы для расчетов должна быть равна сумме данных в строках таблицы с условием. В поле «Ссылка на ячейки» указываем диапазон суммы в строках таблицы расчетов. Затем выставляем знак равно (=). В поле «Ограничение» указываем диапазон сумм в строках таблицы с условием. После этого, жмем на кнопку «OK».
  22. Добавление ограничения в Microsoft Excel

  23. Аналогичным образом добавляем условие, что столбцы двух таблиц должны быть равны между собой. Добавляем ограничение, что сумма диапазона всех ячеек в таблице для расчета должна быть большей или равной 0, а также условие, что она должна быть целым числом. Общий вид ограничений должен быть таким, как представлен на изображении ниже. Обязательно проследите, чтобы около пункта «Сделать переменные без ограничений неотрицательными» стояла галочка, а методом решения был выбран «Поиск решения нелинейных задач методом ОПГ». После того, как все настройки указаны, жмем на кнопку «Найти решение».
  24. Параметры Поиска решений в Microsoft Excel

  25. После этого происходит расчет. Данные выводятся в ячейки таблицы для расчета. Открывается окно результатов поиска решения. Если результаты вас удовлетворяют, жмите на кнопку «OK».

Результаты поиска решения транспортной задачи в Microsoft Excel

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

Еще статьи по данной теме:

Помогла ли Вам статья?

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

Планирование перевозок с помощью математических и вычислительных методов дает хороший экономический эффект.

Виды транспортных задач

Условия и ограничения транспортной задачи достаточно обширны и разнообразны. Поэтому для ее решения разработаны специальные методы. С помощью любого из них можно найти опорное решение. А впоследствии улучшить его и получить оптимальный вариант.

Условия транспортной задачи можно представить двумя способами:

  • в виде схемы;
  • в виде матрицы.

В процессе решения могут быть ограничения (либо задача решается без них).

По характеру условий различают следующие типы транспортных задач:

  • открытые открытые транспортные задачи (запас товара у поставщика не совпадает с потребностью в товаре у потребителя);
  • закрытые (суммарные запасы продукции у поставщиков и потребителей совпадают).

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



Пример решения транспортной задачи в Excel

Предприятия А1, А2, А3 и А4 производят однородную продукцию а1, а2, а3 и а4, соответственно. В условных единицах – 246, 186, 196 и 197. Затем товар поступает в пять пунктов назначения: В1, В2, В3, В4 и В5. Это потребители продукции. Они готовы ежедневно принимать 136, 171, 71, 261 и 186 единиц товара.

Стоимость перевозки единицы продукции с учетом удаленности от пункта назначения:

Производители Потребители Объем производства
В1 В2 В3 В4 В5
А1 4,2 4 3,35 5 4,65 246
А2 4 3,85 3,5 4,9 4,55 186
А3 4,75 3,5 3,4 4,5 4,4 196
А4 5 3 3,1 5,1 4,4 197
Объем потребления 136 171 71 261 186

Задача: минимизировать транспортные расходы по перевозке продукции.

  1. Проверим, является ли модель транспортной задачи сбалансированной. Для этого все количество производимого товара сравним с суммарным объемом потребности в продукции: 246 + 186 + 196 + 197 = 136 + 171 + 71 + 261 + 186. Вывод – модель сбалансированная.
  2. Сформулируем ограничения: объем перевозимой продукции не может быть отрицательным и весь товар должен быть доставлен к пунктам назначения (т.к. модель сбалансированная).
  3. Введем стоимость перевозки единицы продукции в рабочие ячейки Excel.
  4. Стоимость перевозки.

  5. Введем формулы для расчета суммарной потребности в товаре. Это будет первое ограничение.
  6. Формулы потребности.

  7. Введем формулы для расчета суммарного объема производства. Это будет второе ограничение.
  8. Формулы производства.

  9. Вносим известные значения потребности в товаре и объема производства.
  10. Значения.

  11. Вводим формулу целевой функции СУММПРОИЗВ(B3:F6; B9:F12), где первый массив (B3:F6) – стоимость единицы перевозки товаров. Второй (B9:F12) – искомые значения транспортных расходов.
  12. Вызываем команду «Поиск решения» на закладке «Данные» (если там нет данного инструмента, то его нужно подключить в настройках Excel, а как это сделать описано в статье: расширенные возможности финансового анализа). Заполняем диалоговое окно. В графе «Установить целевую ячейку» — ссылка на целевую функцию. Ставим галочку «Равной минимальному значению». В поле «Изменяя ячейки» — массив искомых критериев. В поле «Ограничения»: искомый массив >=0, целые числа; «ограничение 1» = объему потребностей; «ограничение 2» = объему производства.
  13. Поиск решения.

  14. Нажимаем «Выполнить». Команда подберет оптимальные переменные при заданных ограничениях.

Пример.

Так выглядит «сырой» вариант работы инструмента. Экспериментируя с полученными данными, находим подходящие значения.

Решение открытой транспортной задачи в Excel

При таком типе возможны два варианта развития событий:

  • суммарный объем производства превышает суммарную потребность в товаре;
  • суммарная потребность больше суммы запасов.

Открытую транспортную задачу приводят к закрытому типу. В первом случае вводят фиктивного потребителя. Его потребности равны разнице всего объема производства и суммы существующих потребностей.

Во втором случае вводят фиктивного поставщика. Объем его производства равен разнице суммарной потребности и суммарных запасов.

Единица перевозки груза для фиктивного участника равняется 0.

Когда все преобразования выполнены, транспортная задача становится закрытой и решается обычным способом.

Читайте также по теме: решение транспортной задачи методом потенциалов в Excel.

На этой странице разберем подробные решения транспортной задачи (алгоритм и примеры разных типов) с использованием пакета электронных таблиц MS Excel (надстройка Поиск решения).

Как решить транспортную задачу в Excel

Ручное решение транспортной задачи занимает очень много времени и сил (скажем, даже для учебной задачи типа 3*5 решение может составлять от 4 до 10 страниц расчетов!). Тогда как решение в Эксель для задачи размерности как 3*3, так и 5*7 потребует буквально 10-15 минут и немного опыта (правда, если уже составлена математическая модель).

Использовать можно любую версию программы — 2003, 2007, 2010 и так далее, главное, включить использование надстройки Поиск решения (интерфейс может немного отличаться в разных версиях).

Алгоритм решения ТЗ в Эксель

  • Составить математическую модель транспортной задачи — то есть получить таблицу со стоимостью перевозок, запасами груза у поставщиков и потребностями потребителей (и, возможно, дополнительными ограничениями).
    математическая модель транспортной задачи
  • Если задача открытая (несбалансированная), то добавить потребителя или поставщика с нулевыми тарифами перевозки.
  • Внести на лист таблицы Excel данную модель в виде матрицы тарифов (затрат).
    данные транспортной задачи в Excel
  • Создать рядом на листе еще одну таблицу, где будут выводиться искомые перевозки (такой же размерности, что и таблица тарифов). Просуммировать перевозки по строкам и столбцам (чтобы сравнивать с аналогичными ячейками — предельными ограничениями задачи — запасами поставщиков и потребностями потребителей).
    таблица перевозок транспортной задачи
  • Ввести в ячейку формулу, подсчитывающую суммарную стоимость перевозок (это число мы должны минимизировать по смыслу транспортной задачи)
    целевая ячейка транспортной задачи в эксель
    В режиме формул таблица будет выглядеть так:
    формулы транспортной задачи в эксель
  • Запустить надстройку Поиск решения и указать а) ячейку, которую мы минимизируем, б) все ограничения на запасы поставщиков и потребности потребителей, в) дополнительные ограничения (иногда бывают запреты перевозок или требования по минимальному объему груза между определенными пунктами, как в данном случае).
    Поиск решения транспортной задачи, внесение ограничений
  • Получить решение транспортной задачи: в целевой ячейке вы увидите минимальную стоимость перевозок (в примере 435), а в таблице перевозок — искомые значения объема перевозимого груза (см. желтые ячейки).
    решение транспортной задачи в Excel
  • Проанализировать решение, если требуется и записать более подробно, например

    Минимальные затраты на перевозку составят 435. План перевозок:
    Из 1 карьера 10 тонн везем на 1-й участок, 15 тонн на 3-й.
    Из 2 карьера 20 тонн везем на 1-й участок.
    Из 3 карьера 20 тонн везем на 3-й.
    Из 4 карьера 10 тонн везем на 1-й участок, 20 тонн на 2-й, 5 тонн на 3-й.

Понравилось? Добавьте в закладки

Транспортные задачи: примеры в Excel

Задача 1. Решить транспортную задачу вручную (методом потенциалов) и в программе Эксель.

Задача 2. Исходные данные задачи приведены схематически: внутри прямоугольника заданы удельные транспортные затраты на перевозку единицы груза, слева указаны мощности поставщиков, а сверху — мощности потребителей.
Сформулировать экономико-математическую модель исходной транспортной задачи, найти оптимальный план закрепления поставщиков за потребителями, установить единственность или не единственность оптимального плана, используя Поиск решений.

Задача 3. Имеется 3 нефтеперерабатывающих завода, 4 спиртовых завода, 3 завода по производству синтетического каучука.
Схема кооперационных связей (см. файл).
Далее приведены производственные показатели предприятий.

Также заданы расстояния между предприятиями.

Необходимо найти решение транспортной задачи с ориентацией на спрос СК и минимизацией транспортных суммарных затрат.

Задача 4. Используя метод потенциалов, решить транспортную задачу. Выполнить проверку, используя табличный редактор Microsoft Excel Компания владеет тремя заводами А1, А2, А3. Соответствующие объемы производства равны 600, 300 и 330 единиц продукции. Компания обязалась поставить в города В1, В2, В3 и В4 соответственно 350, 350, 230 и 300 единиц. При заданных в таблице стоимостях перевозок единицы продукции составьте план ее распределения, чтобы общая стоимость перевозок была наименьшей.

Задача 5. Свести задачу к виду ТЗ и решить с помощью надстройки «Поиск решения»
Четыре ремонтные мастерские могут за год отремонтировать соответственно 400, 500, 450 и 550 машин при себестоимости ремонта одной машины в 500, 700, 650 и 600 рублей. Планируется годовая потребность в ремонте пяти автобаз: 550, 350, 300, 375 и 400 машин.
Ремонт машин с 1 автобазы должен осуществляться в 100% случаев силами ремонтных мастерских.
На 4 АБ возможно самостоятельное проведение ремонтных работ (бесплатное) в объеме, не превышающем 8% от планируемой годовой потребности этой мастерской. Платное (на стороне) — совсем не возможно.
Вторая, третья и пятая АБ могут «ремонтироваться» на стороне, стоимость ремонта +трансп.расходы каждой машины в таком случае составит 695 руб.
Дана матрица, характеризующая транспортные расходы на доставку машины с j-й автобазы в i-ю ремонтную мастерскую. Определить минимальную годовую потребность в кредитах на выполнение указанного объема работ по всем автобазам

Решаем транспортные задачи любой сложности

Полезные ссылки

  • Транспортная задача: решение вручную
  • Решение линейного программирования в Excel
  • Решенные контрольные по ЛП
  • Онлайн учебник по оптимальным решениям

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

Содержание

  1. Описание транспортной задачи
  2. Как включить функцию “Поиск решения” в Excel
  3. Пример решения транспортной задачи в Excel
  4. Условия задачи
  5. Решение – пошаговый алгоритм
  6. Заключение

Описание транспортной задачи

Итак, у нас есть два контрагента, которые постоянно взаимодействуют друг с другом. В нашем случае это  покупатель и продавец. Нам нужно посчитать, как перевозить товары таким образом, чтобы издержки были минимальны. Для этого нужно представить все данные в схематической или матричной форме. В Эксель используем последний вариант. В целом, выделяют два типа транспортных задач:

  1. Закрытые. В этом случае спрос и предложение находятся в балансе.
  2. Открытые. Здесь нет равенства между спросом и предложением. Чтобы получить решение этой задачи, нужно сперва ее привести к первому типу, уравняв спрос и предложение. Для этого нужно ввести дополнительный показатель – наличие условного покупателя или продавца. Кроме этого, нужно внести определенные изменения в таблицу издержек.

Как включить функцию “Поиск решения” в Excel

Для решения транспортных задач в Excel существует специальная функция, которая называется «Поиск решения». Она не активирована по умолчанию, поэтому нужно сделать следующие шаги:

  1. Открыть меню «Файл», которое находится в левом верхнем углу окна программы. Транспортная задача в Excel. Нахождение лучшего способа перевозки от продавца покупателю
  2. После этого нажимаем на кнопку с параметрами. Транспортная задача в Excel. Нахождение лучшего способа перевозки от продавца покупателю
  3. Далее находим подраздел «Настройки» и переходим в меню управления надстройками. Это маленькие программы, которые выполняются в рамках среды Microsoft Excel. Видим, что сначала мы нажали на меню «Надстройки», а потом в правой части внизу выставили пункт «Надстройки Excel» и нажали на кнопку «Перейти». Все нужные действия выделены красными прямоугольниками и стрелочками. Транспортная задача в Excel. Нахождение лучшего способа перевозки от продавца покупателю
  4. Далее включаем надстройку «Поиск решения», после чего подтверждаем свои действия нажатием клавиши ОК. Исходя из описания настройки, мы видим, что она предназначена для анализа сложных данных, таких как научные и финансовые. Транспортная задача в Excel. Нахождение лучшего способа перевозки от продавца покупателю
  5. После этого переходим во вкладку «Данные», где видим новую кнопку, которая называется так же, как и надстройка. Ее можно найти в группе инструментов «Анализ».Транспортная задача в Excel. Нахождение лучшего способа перевозки от продавца покупателю

Осталось только кликнуть по этой кнопке, и мы переходим к решению транспортной задачи. Но перед этим следует немного подробнее поговорить про инструмент «Поиск решения» в Excel. Это специальное дополнение Эксель, которое дает возможность находить самое быстрое решение задачи. Характерная особенность – учет ограничений, которые пользователь задает на этапе подготовки. Если говорить простым языком, это подпрограмма, дающая возможность определить самый лучший способ достижения определенной задачи. К таким задачам могут относиться следующие:

  1. Инвестирование, загрузка склада или любая другая подобная деятельность. В том числе, и доставка товара.
  2. Лучший способ. Сюда входят такие задачи, как достижение максимальной прибыли при минимальных издержках, способы достижения самого лучшего качества при имеющихся ресурсах и так далее.

Кроме транспортных задач, эта надстройка используется и для таких целей:

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

Как видим, задачи бывают самыми разными. Универсальное правило применения этой надстройки – необходимо перед решением задачи создать модель, которая бы соответствовала ключевым характеристикам поставленной проблемы. Моделью является совокупность функций, которые используют переменные в качестве своих аргументов. То есть, значения, которые могут изменяться.

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

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

  1. Функция «Подбор параметра» не работает больше, чем с одной переменной.
  2. Она не предусматривает возможности задавать ограничения для переменных.
  3. Способна определять только равенство целевой функции определенному значению, но не дает возможности находить максимум и минимум. Поэтому для нашей задачи она не подходит.
  4. Способна эффективно вычислять лишь если модельно линейного типа. Если модель нелинейная, то она находит значение, которое наиболее близкое к изначальному.

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

Пример решения транспортной задачи в Excel

Для того, чтобы наглядно продемонстрировать, как на практике решать транспортные задачи в Excel, давайте приведем пример.

Условия задачи

Предположим, у нас есть 6 продавцов и 7 покупателей. Спрос и предложение между ними распространяется соответственно следующим способом: 36, 51, 32, 44, 35 и 38 единиц – продавцы и 33, 48, 30, 36, 33, 24 и 32 единицы – покупатели. Если просуммировать все эти значения, то обнаружится, что спрос и предложение находятся в балансе. Следовательно, эта задача закрытого типа, которая решается очень просто.

Транспортная задача в Excel. Нахождение лучшего способа перевозки от продавца покупателю

Кроме этого, у нас есть информация о том, сколько нужно потратить на перевозку из пункта А в пункт Б (они на примере выделены желтыми ячейками). Транспортная задача в Excel. Нахождение лучшего способа перевозки от продавца покупателю

Решение – пошаговый алгоритм

Теперь, после того, как мы ознакомились с таблицами с исходными данными, можем воспользоваться следующим алгоритмом, чтобы решить эту задачу:

  1. Сперва делаем таблицу, состоящую из 6 строк и 7 колонок. Транспортная задача в Excel. Нахождение лучшего способа перевозки от продавца покупателю
  2. После этого переходим в какую-угодно ячейку, не содержащую никаких значений и при этом лежащую за пределами новосозданной таблицы и вставляем функцию. Для этого нажимаем на кнопку fx, которая находится слева от строки ввода функции. Транспортная задача в Excel. Нахождение лучшего способа перевозки от продавца покупателю
  3. У нас появляется окно, в котором нам нужно выбрать категорию «Математические». А какая функция нас интересует? Та, которая выделена на этом скриншоте. Функция СУММИПРОИЗВ умножает диапазоны или массивы между собой и суммирует их. Как раз то, что нам нужно. После этого нажимаем клавишу ОК.Транспортная задача в Excel. Нахождение лучшего способа перевозки от продавца покупателю
  4. Далее на экране появится окно, в котором необходимо указать параметры функции. Они следующие:
    1. Массив 1. Это первый аргумент, в котором записываем тот диапазон, который выделен жёлтым  цветом. Задать параметры функции можно как используя клавиатуру, так и выделив соответствующую область с помощью левой кнопки мыши.
    2. Массив 2. Это второй аргумент, в качестве которого выступает новосозданная таблица. Действия выполняются аналогичным образом.

Подтверждаем свое действие нажатием клавиши ОК. Транспортная задача в Excel. Нахождение лучшего способа перевозки от продавца покупателю

  1. После этого делаем левый клик мыши по той ячейке, которая служит верхней левой в новосозданной таблице. Теперь снова нажимаем кнопку вставки функции. Транспортная задача в Excel. Нахождение лучшего способа перевозки от продавца покупателю
  2. Выбираем ту же категорию, что и в предыдущем случае. Но на этот раз нас интересует функция СУММ. Транспортная задача в Excel. Нахождение лучшего способа перевозки от продавца покупателю
  3. Теперь наступил этап заполнения аргументов. В качестве первого аргумента записываем верхнюю строку таблицы, которую мы создали в начале. Точно так же, как и раньше, это можно сделать путем выделения этих ячеек на листе, так и вручную. Подтверждаем свои действия нажатием клавиши ОК. Транспортная задача в Excel. Нахождение лучшего способа перевозки от продавца покупателю
  4. Увидим результаты в ячейке с функцией. В данном случае это ноль. Далее переносим курсор в правый нижний угол, после чего появится маркер автозаполнения. Выглядит он, как маленький чёрный плюсик. Если он появился, зажимаем левую кнопку мыши и перемещаем курсор до последней ячейки в нашей таблице. Транспортная задача в Excel. Нахождение лучшего способа перевозки от продавца покупателю
  5. Это дает нам возможность перенести формулу во все остальные ячейки и получить правильные результаты без необходимости выполнения дополнительных расчетов.
  6. Следующий шаг – выбор левой верхней ячейки и вставка функции СУММ в нее. После этого заносим аргументы и с помощью маркера автозаполнения заполняем все оставшиеся ячейки.
  7. После этого приступаем непосредственно к решению задачи. Для этого воспользуемся дополнением, которое мы включили ранее. Переходим на вкладку «Данные», и там находим инструмент «Поиск решения». Нажимаем по этой кнопке. Транспортная задача в Excel. Нахождение лучшего способа перевозки от продавца покупателю
  8. Теперь перед нашим взором появилось окошко, через которое можно настроить параметры нашего дополнения. Давайте каждый из этих параметров разберем:
    1. Оптимизировать целевую функцию. Здесь нам нужно выбрать ячейку, содержащую функцию СУММПРОИЗВ. Видим, что эта опция дает возможность выбрать функцию, для которой будет осуществляться поиск решения.
    2. До. Здесь выставляем опцию «Минимум».
    3. Изменяя ячейки переменных. Здесь указываем диапазон, соответствующий той таблице, которую мы создавали в самом начале (за исключением суммирующей строки и столбца).
    4. В соответствии с ограничениями. Здесь нам нужно добавить ограничения, нажав кнопку «Добавить». Транспортная задача в Excel. Нахождение лучшего способа перевозки от продавца покупателю
    5. Мы помним, какое ограничение нам нужно создать – сумма значений спросов покупателей и предложений продавцов должны быть одинаковыми.
  9. Задача ограничений осуществляется следующим образом:
    1. Ссылка на ячейки. Здесь заносим диапазон таблицы для расчётов.
    2. Условия. Это математическая операция на предмет соответствия которой проверяется диапазон, заданный в первом поле ввода.
    3. Значение условия или ограничение. Сюда заносим подходящую колонку в исходной таблице.
    4. После того, как все действия будут выполнены, нажимаем кнопку ОК, тем самым подтверждая наши действия.

Транспортная задача в Excel. Нахождение лучшего способа перевозки от продавца покупателю

Точно такие же операции производим для верхних строк, задавая следующее условие: они должны быть равны. Транспортная задача в Excel. Нахождение лучшего способа перевозки от продавца покупателю

Следующий этап – задание условий. Нам необходимо установить следующие критерии для суммы ячеек в таблице – больше или равно нулю, целое число. В результате у нас появляется такой перечень условий, при которых задача решается. Здесь нужно убедиться, что поставлен флажок возле опции «Сделать переменные без ограничений неотрицательными». Также в нашей ситуации требуется, чтобы был выбран метод решения задачи – «Поиск решения нелинейных задач методов ОПГ». Теперь можно смело говорить, что настройка осуществлена. Поэтому осталось только выполнить расчеты. Для этого нажимаем на кнопку «Найти решение». Транспортная задача в Excel. Нахождение лучшего способа перевозки от продавца покупателю

После этого все данные будут рассчитаны автоматически, а потом Эксель покажет окно с результатами. Оно необходимо для того, чтобы перепроверить работу компьютера, поскольку возможны ошибки, если условия ранее были заданы неверно. Если все правильно, то нажимаем кнопку «ОК» и видим готовую таблицу.

Транспортная задача в Excel. Нахождение лучшего способа перевозки от продавца покупателю

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

Заключение

Как видим, Excel может использоваться и для очень сложных вычислений, которые на первый взгляд не доступны простой компьютерной программе, которая установлена почти у каждого. Тем не менее, это так. Сегодня мы уже рассмотрели продвинутый уровень использования. Данная тема не такая простая, но как говорится, дорогу осилит идущий. Главное – следовать плану действий, и точно выполнять все действия, указанные выше. Тогда ошибок не возникнет, а программа самостоятельно выполнит все необходимые расчеты. Не нужно будет думать, какую функцию использовать и так далее.

Оцените качество статьи. Нам важно ваше мнение:

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

Цитата взята с википедии.

Решение транспортной задачи рассматривается практически на всех специальностях, где хоть как-то присутствует курс математики. Решить транспортную задачу можно различными способами и программными средствами. Причем если решение такой задачи в математических пакетах типа Mathcad или MATLAB обыденное дело, то решение такой задачи в программе 1С:Предприятие 8.2 уже интересная диковинка.

Смотрите также видео версию статьи «Решение транспортной задачи в Excel (сбалансированная задача)».

Сегодня мы рассмотрим решение сбалансированной транспортной задачи в табличном процессоре MS Excel.

Постановка задачи

Есть запасы однотипной продукции у поставщиков A1, A2, A3, A4.

Существует потребность в этой продукции B1, B2, B3

Стоимость доставки единицы продукции от поставщиков к потребителям представлена в таблице.

Поставщик

Потребитель

Запас

В1 В2 В2
А1 6 5 2 250
А2 3 7 4 100
А3 7 8 1 80
А4 2 2 3 120

Потребность

150 150 250

Необходимо составить такой план перевозок, который бы удовлетворил все потребности и имел минимальную стоимость.

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

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

Для решения транспортной задачи потребуются функции: СУММПРОИЗВ, СУММ и надстройка «Поиск решения».

Для отображения формул необходимо на вкладке «Формулы» в группе «Зависимости формул» выбрать «Показать формулы» либо горячее сочетание клавиш «Ctrl+` (тильда)».

Дальше выбираем команду «Поиск решения» на вкладке «Данные»

Кстати, если дать имена диапазонам ячеек, то окно поиска решения будет выглядеть следующим образом:

Решение поставленной задачи представлено ниже.

При
решении транспортной задачи в EXCEL
задача должна быть предварительно
сбалансирована.

1.
Ввод
данных.
Вводим
данные табл. 1 и 2 в ячейки EXCEL
(рис. 5.1).

В
ячейках ВЗ:Е5 введены стоимости перевозок
(табл. 1).

В
ячейках F3:F5
находится число прибывающих туристов,
а в ячейках В6:Е6 находится число мест в
отелях. Ячейки В8:Е10 — рабочие (изменяе­мые)
ячейки, в которых будут вычисляться
значения переменных задачи Xij

В
ячейках F8:F10
нужно записать формулы для вычисления
левых час­тей ограничений (3) – (5):

в
F8
должна быть сумма ячеек В8:Е8;

в
F9
должна быть сумма ячеек В9:Е9;

в
F10
должна быть сумма ячеек В10:Е10.

Формулы
для вычисления левых частей ограничений
(6) – (9) введем в ячейки В11:Е11:

в
В11 должна быть сумма ячеек В8:В10;

в
СП должна быть сумма ячеек С8:С10;

в
D11
должна быть сумма ячеек D8:D10;

в
Е11 должна быть сумма ячеек Е8:Е10;

Целевую
функцию поместим в ячейку G3:

G3:СУММПРОИЗВ
(ВЗ:Е5; В8:Е10). Для этого во вкладке «Формулы»
найдем «Математические», а среди них
выберем «СУММПРОИЗВ». Отметим необходимые
ячейки.

Таблица
исходных данных имеет вид (рис. 5.1):

Рис.
5.1. Исходные данные для решения задачи

  1. Заполнение окна процедуры «Поиск решения».

Во
вкладке «Данные» найдем «Поиск решения».

Если команда «Поиск решения» отсутствует,
необходимо загрузить настройку «Поиск
решения». На вкладке «Файл»
выберите команду «Параметры»,
а затем — категорию «Надстройки».
В поле «Управление»
выберите значение «Надстройки
Excel»

и нажмите кнопку «Перейти».
В поле «Доступные
надстройки»

установите флажок рядом с пунктом «Поиск
решения»

и нажмите кнопку ОК.

В
появившемся окне (рис. 3) нужно установить
адрес целевой ячейки G3,
содержащую формулу для вычисления
целевой функции, установитьи другие
ограничения:

Целевая
функция: G3.

Значение
целевой функции: min.

Изменяемые
ячейки: В8:Е10.

Ограничения
задачи:

F8:F10
= F3:F5
(формулы (3) – (5));

В11:Е11
= В6:Е6 (формулы (6) – (9));

В8:Е10
> 0 (1) и В8:Е10 – целые числа (2).

Чтобы
ввести ограничения задачи, нужно нажать
кнопку «Добавить». В появившемся
диалоговом окне (рис. 5.2) слева ввести
адрес F8:F10,
затем выбрать знак = и в правой части
ввести F3:F5.
После ввода нажать кнопку «Добавить»
и аналогично ввести другие ограничения.

Рис.
5.2. Диалоговое окно для ввода ограничений

В
окне «Параметры» установить «Поиск
решения линейных задач симплекс-методом».
Результаты заполнения окна показаны
на рис. 5.3.

Рис.
5.3. Окно процедуры «Поиск решения»

Выполнив
процедуру «Поиск решения», получим
следующие результаты (рис. 5.4).

Рис.
5.4. Результаты решения транспортной
задачи

Таким
образом, с железнодорожного вокзала
(исходный пункт 1) следу­ет
10 туристов отвезти в отель «Уютный»
(пункт 4) и 5 туристов в отель «Солнечный»
(пункт назначения 2); из аэропорта
(исходный пункт 2) 10
туристов отвезти в отель «Солнечный»
(пункт назначения 2) и 15 тури­стов
в отель «Слава» (пункт назначения 3);
туристов прибывающих на мор­ской
вокзал (исходный пункт 3) нужно отправить
в отель «Морской» (пункт
назначения 1). Все эти результаты видны
в конечной таблице (рис.
4). При этом суммарная стоимость
транспортных расходов соста­вит
315 тыс. руб. (ячейка G3).

Варианты
для самостоятельного решения

Задание.

Продукция
определенного типа производится в
городах А1,
А2,
А3
и потребляется в городах В1,
В2,
В3,
В4.

В
таблице вашего варианта указаны: объем
производства, спрос, стоимость перевозки
единицы продукции.

  1. Составить
    оптимальный план перевозки продукции,
    при котором стоимость всех перевозок
    будет минимальна.

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

  3. Решенную
    задачу в распечатанном виде сдать
    преподавателю и сделать вывод.

Вариант
1.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

20

47

31

13

49

А2

3

38

44

10

18

А3

11

32

46

17

68

Спрос

45

30

10

45

Вариант
2.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

47

31

13

45

34

А2

20

47

31

13

44

А3

4

42

41

2

68

Спрос

30

45

41

80

Вариант
3.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

31

13

45

35

48

А2

38

44

10

33

48

А3

20

47

31

13

44

Спрос

40

41

45

44

Вариант
4.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

13

45

35

7

49

А2

47

31

13

45

47

А3

32

46

17

27

68

Спрос

45

80

44

45

Вариант
5.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

45

35

7

43

48

А2

44

10

33

46

41

А3

42

41

2

38

49

Спрос

44

12

88

44

Вариант
6.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

35

7

43

39

45

А2

31

13

45

35

33

А3

47

31

13

45

19

Спрос

6

10

30

41

Вариант
7.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

7

43

39

10

41

А2

10

33

46

16

22

А3

46

17

27

47

61

Спрос

38

30

19

87

Вариант
8.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

43

39

10

40

34

А2

13

45

35

7

18

А3

41

2

38

44

86

Спрос

48

45

5

30

Вариант
9.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

39

10

40

43

26

А2

33

46

16

28

18

А3

31

13

45

35

58

Спрос

15

50

10

2

Вариант
10.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

20

40

43

6

16

А2

45

35

7

43

27

А3

17

27

47

23

68

Спрос

31

44

24

42

Вариант
11.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

40

43

6

36

15

А2

46

16

288

47

39

А3

2

38

44

9

71

Спрос

50

28

36

1

Вариант
12.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

43

6

36

45

14

А2

35

7

44

39

48

А3

13

45

35

7

22

Спрос

23

16

45

10

Вариант
13.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

6

36

45

13

24

А2

16

28

47

22

52

А3

27

47

23

22

85

Спрос

24

18

49

20

Вариант
14.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

36

45

13

31

34

А2

7

43

39

10

52

А3

38

44

9

34

81

Спрос

50

38

49

80

Вариант
15.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

45

13

31

46

42

А2

28

47

22

23

47

А3

45

35

7

43

72

Спрос

30

49

44

88

Вариант
16.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

13

31

46

19

49

А2

43

39

10

40

88

А3

47

33

22

47

58

Спрос

17

48

35

45

Вариант
17.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

31

46

19

26

58

А2

47

22

23

47

24

А3

44

9

34

46

78

Спрос

49

36

21

49

Вариант
18.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

46

19

26

47

54

А2

39

10

40

43

19

А3

35

7

43

39

44

Спрос

36

15

6

50

Вариант
19.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

19

26

47

25

52

А2

22

23

47

28

13

А3

23

22

47

29

12

Спрос

10

19

10

48

Вариант
20.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

26

47

25

20

48

А2

10

40

43

6

28

А3

9

34

46

15

71

Спрос

47

81

25

44

Вариант
21.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

47

25

20

47

41

А2

23

47

28

17

41

А3

7

43

39

10

79

Спрос

40

46

88

37

Вариант
22.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

25

20

47

30

32

А2

40

43

6

36

49

А3

22

47

29

16

46

Спрос

13

50

46

28

Вариант
23.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

20

47

30

14

22

А2

47

28

17

46

58

А3

34

46

15

29

78

Спрос

43

42

50

18

Вариант
24.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

47

30

14

45

10

А2

43

6

36

45

61

А3

43

39

10

40

60

Спрос

44

23

48

6

Вариант
25.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

30

14

45

35

10

А2

28

17

46

33

44

А3

47

29

16

46

41

Спрос

15

43

41

6

Вариант
26.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

14

45

35

7

22

А2

3

36

45

13

83

А3

46

15

29

47

56

Спрос

39

24

30

18

Вариант
27.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

45

35

7

43

83

А2

17

46

33

10

18

А3

39

10

40

43

82

Спрос

47

42

15

29

Вариант
28.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

4

5

6

13

530

А2

8

6

3

8

405

А3

7

10

4

11

540

Спрос

425

415

335

400

Вариант
29.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

3

7

4

8

513

А2

9

6

4

4

448

А3

6

10

5

8

522

Спрос

437

417

333

396

Вариант
30.

Производители

Потребители

Объем
производства

В1

В2

В3

В4

А1

35

30

10

10

53

А2

21

41

53

10

28

А3

39

32

27

20

61

Спрос

47

38

23

24

Задачи линейного программирования относятся к широко распространённому классу задач, встречающихся в различных сферах деятельности: в бизнесе, на производстве, в быту. Как оптимально распорядиться бюджетом или за минимальное время добраться до нужного места в городе, как наилучшим образом спланировать деловые встречи, минимизировать риски капитальных вложений, определить оптимальные запасы сырья на складе – это те задачи, в которых нужно найти наилучшее из всех возможных решений.

Если что-то непонятно — вы всегда можете написать мне в WhatsApp и я вам помогу!

Линейное программирование

Линейное программирование – это раздел математики, занимающийся разработкой методов отыскания экстремальных значений функции, на аргументы которой наложены ограничения. Слово «программирование» заимствовано из зарубежной литературы, где оно используется в смысле «планирование».

Решение задач линейного программирования с использованием microsoft excel

Цель работы

Приобретение навыков решения задач линейного программирования (ЛП) в табличном редакторе Microsoft Excel.

Порядок выполнения работы

Для модели линейного программирования, соответствующей номеру Вашего варианта, найдите оптимальное решение в табличном редакторе Microsoft Excel и продемонстрируйте его преподавателю.

Инструкция по использованию microsoft excel для решения задач линейного программирования

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

Ввести условие задачи:

a) создать экранную форму для ввода условия задачи:

  • переменных,
  • целевой функции (ЦФ),
  • ограничений,
  • граничных условий;

b) ввести исходные данные в экранную форму:

  • коэффициенты ЦФ,
  • коэффициенты при переменных в ограничениях,
  • правые части ограничений;

c) ввести зависимости из математической модели в экранную форму:

  • формулу для расчета ЦФ,
  • формулы для расчета значений левых частей ограничений;

d) задать ЦФ (в окне «Поиск решения»):

  • целевую ячейку,
  • направление оптимизации ЦФ;

e) ввести ограничения и граничные условия (в окне «Поиск решения»):

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

Решить задачу:

a) установить параметры решения задачи (в окне «Поиск решения»);

b) запустить задачу на решение (в окне «Поиск решения»);

с) выбрать формат вывода решения (в окне «Результаты поиска решения»).

Возможно эта страница вам будет полезна:

Одноиндексные задачи линейного программирования

Рассмотрим пример нахождения решения для следующей одноиндексной задачи ЛП:

Линейное программирование в Excel задачи с решением

Ввод исходных данных

Создание экранной формы и ввод в нее условия задачи

Экранная форма для ввода условий задачи (1.1) вместе с введенными в нее исходными данными представлена на рис. 1.1.

Линейное программирование в Excel задачи с решением

В экранной форме на рис. 1.1 каждой переменной и каждому коэффициенту задачи поставлена в соответствие конкретная ячейка в Excel. Имя ячейки состоит из буквы, обозначающей столбец, и цифры, обозначающей строку, на пересечении которых находится объект задачи линейного программирования. Так, например, переменным задачи (1.1) соответствуют ячейки Линейное программирование в Excel задачи с решениемЛинейное программирование в Excel задачи с решением, коэффициентам ЦФ соответствуют ячейки

Линейное программирование в Excel задачи с решением
Линейное программирование в Excel задачи с решением

правым частям ограничений соответствуют ячейки

Линейное программирование в Excel задачи с решением

Ввод зависимостей из математической модели в экранную форму

Зависимость для ЦФ

В ячейку F6, в которой будет отображаться значение ЦФ, необходимо ввести формулу, по которой это значение будет рассчитано. Согласно (1.1) значение ЦФ определяется выражением

Линейное программирование в Excel задачи с решением

Используя обозначения соответствующих ячеек в Excel (см. рис. 1.1), формулу для расчета ЦФ (1.2) можно записать как сумму произведений каждой из ячеек, отведенных для значений переменных задачи (ВЗ, СЗ, D3, ЕЗ), на соответствующую ячейку, отведенную для коэффициентов ЦФ (В6, С6, D6, Е6), то есть

Линейное программирование в Excel задачи с решением

Чтобы задать формулу (1.3) необходимо в ячейку F6 ввести следующее выражение и нажать клавишу «Enter»

Линейное программирование в Excel задачи с решением

где символ $ перед номером строки 3 означает, что при копировании этой формулы в другие места листа Excel номер строки 3 не изменится;

символ : означает, что в формуле будут использованы все ячейки, расположенные между ячейками, указанными слева и справа от двоеточия (например, запись В6:Е6 указывает на ячейки В6, С6, D6 и Е6). После этого в целевой ячейке появится 0 (нулевое значение) (рис. 1.2).

Линейное программирование в Excel задачи с решением

Примечание 1.1. Существует другой способ задания функций в Excel с помощью режима «Вставка функций», который можно вызвать из меню «Вставка» или при нажатии кнопки «Линейное программирование в Excel задачи с решением» на стандартной панели инструментов. Так, например, формулу (1.4) можно задать следующим образом:

• курсор в поле F6;

• нажав кнопку «Линейное программирование в Excel задачи с решением«, вызовите окно «Мастер функций — шаг 1 из 2»;

• выберите в окне «Категория» категорию «Математические»;

• в окне «Функция» выберите функцию СУММПРОИЗВ;

• в появившемся окне «СУММПРОИЗВ» в строку «Массив 1» введите выражение В$3:Е$3, а в строку «Массив 2» — выражение В6:Е6 (рис. 1.3);

• после ввода ячеек в строки «Массив 1» и «Массив 2» в окне «СУММПРОИЗВ» появятся числовые значения введенных массивов (см. рис. 1.3), а в экранной форме в ячейке F6 появится текущее значение, вычисленное по введенной формуле, то есть 0 (так как в момент ввода формулы значения переменных задачи нулевые).

Линейное программирование в Excel задачи с решением

Зависимости для левых частей ограничений

Левые части ограничений задачи (1.1) представляют собой сумму произведений каждой из ячеек, отведенных для значений переменных задачи (ВЗ, СЗ, D3, ЕЗ), на соответствующую ячейку, отведенную для коэффициентов конкретного ограничения (В 10, СЮ, D10, ЕЮ — 1-е ограничение; В11, С11, D11, El 1 — 2-е ограничение и В12, С12, D12, Е12 — 3-е ограничение). Формулы, соответствующие левым частям ограничений, представлены в табл. 1.1.

Линейное программирование в Excel задачи с решением

Как видно из табл. 1.1, формулы, задающие левые части ограничений задачи (1.1), отличаются друг от друга и от формулы (1.4) в целевой ячейке F6 только номером строки во втором массиве. Этот номер определяется той строкой, в которой ограничение записано в экранной форме. Поэтому для задания зависимостей для левых частей ограничений достаточно скопировать формулу из целевой ячейки в ячейки левых частей ограничений. Для этого необходимо:

• поместить курсор в поле целевой ячейки F6 и скопировать в буфер содержимое ячейки F6 (клавишами «Ctrl-Insert»);

• помещать курсор поочередно в поля левой части каждого из ограничений, то есть в F10, F11 и F12, и вставлять в эти поля содержимое буфера (клавишами «Shift-Insert») (при этом номер ячеек во втором массиве формулы будет меняться на номер той строки, в которую была произведена вставка из буфера);

• на экране в полях F10, F11 и F12 появится 0 (нулевое значение) (см. рис. 1.2).

Проверка правильности введения формул

Для проверки правильности введенных формул производите поочередно двойное нажатие левой клавиши мыши на ячейки с формулами. При этом на экране рамкой будут выделяться ячейки, используемые в формуле (рис. 1.4 и 1.5).

Линейное программирование в Excel задачи с решением

Задание ЦФ

Дальнейшие действия производятся в окне «Поиск решения», которое вызывается из меню «Сервис» (рис. 1.6):

• поставьте курсор в поле «Установить целевую ячейку»;

• введите адрес целевой ячейки $F$6 или сделайте одно нажатие левой клавиши мыши на целевую ячейку в экранной форме — это будет равносильно вводу адреса с клавиатуры;

• введите направление оптимизации ЦФ, щелкнув один раз левой клавишей мыши по селекторной кнопке «максимальному значению».

Линейное программирование в Excel задачи с решением

Ввод ограничений и граничных условий

Задание ячеек переменных

В окно «Поиск решения» в поле «Изменяя ячейки» впишите адреса $BS3:$E$3. Необходимые адреса можно вносить в поле «Изменяя ячейки» и автоматически путем выделения мышью соответствующих ячеек переменных непосредственно в экранной форме.

Задание граничных условий для допустимых значений переменных

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

• Нажмите кнопку «Добавить», после чего появится окно «Добавление ограничения» (рис. 1.7).

• В поле «Ссылка на ячейку» введите адреса ячеек переменных $BS3:$E$3. Это можно сделать как с клавиатуры, так и путем выделения мышью всех ячеек переменных непосредственно в экранной форме.

• В поле знака откройте список предлагаемых знаков и выберите >.

• В поле «Ограничение» введите адреса ячеек нижней границы значений переменных, то есть $В$4:$Е$4. Их также можно ввести путем выделения мышью непосредственно в экранной форме.

Линейное программирование в Excel задачи с решением

Задание знаков ограничений <. >, =

• Нажмите кнопку «Добавить» в окне «Добавление ограничения».

• В поле «Ссылка на ячейку» введите адрес ячейки левой части конкретного ограничения, например $F$10. Это можно сделать как с клавиатуры, так и путем выделения мышью нужной ячейки непосредственно в экранной форме.

• В соответствии с условием задачи (1.1) выбрать в поле знака необходимый знак, например =.

• В поле «Ограничение» введите адрес ячейки правой части рассматриваемого ограничения, например $Н$10.

• Аналогично введите ограничения: $F$11>=$Н$11, $F$12<=$H$12.

• Подтвердите ввод всех перечисленных выше условий нажатием кнопки ОК.

Окно «Поиск решения» после ввода всех необходимых данных задачи (1.1) представлено на рис. 1.6.

Если при вводе условия задачи возникает необходимость в изменении или удалении внесенных ограничений или граничных условий, то это делают, нажав кнопки «Изменить» или «Удалить» (см. рис. 1.6).

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

Установка параметров решения задачи

Задача запускается на решение в окне «Поиск решения». Но предварительно для установления конкретных параметров решения задач оптимизации определенного класса необходимо нажать кнопку «Параметры» и заполнить некоторые поля окна «Параметры поиска решения» (рис. 1.8).

Линейное программирование в Excel задачи с решением

Параметр «Максимальное время» служит для назначения времени (в секундах), выделяемого на решение задачи. В поле можно ввести время, не превышающее 32 767 секунд (более 9 часов).

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

Параметр «Относительная погрешность» служит для задания точности, с которой определяется соответствие ячейки целевому значению или приближение к указанным границам. Поле должно содержать число из интервала от 0 до 1. Чем меньше количество десятичных знаков во введенном числе, тем ниже точность. Высокая точность увеличит время, которое требуется для того, чтобы сошелся процесс оптимизации.

Параметр «Допустимое отклонение» служит для задания допуска на отклонение от оптимального решения в целочисленных задачах. При указании большего допуска поиск решения заканчивается быстрее.

Параметр «Сходимость» применяется только при решении нелинейных задач.

Установка флажка «Линейная модель» обеспечивает ускорение поиска решения линейной задачи за счет применение симплекс-метода.

Подтвердите установленные параметры нажатием кнопки «ОК».

Запуск задачи на решение

Запуск задачи на решение производится из окна «Поиск решения» путем нажатия кнопки «Выполнить».

После запуска на решение задачи линейного программирования на экране появляется окно «Результаты поиска решения» с одним из сообщений, представленных на рис. 1.9, 1.10 и 1.11.

Линейное программирование в Excel задачи с решением

Иногда сообщения, представленные на рис. 1.10 и 1.11, свидетельствуют не о характере оптимального решения задачи, а о том, что при вводе условий задачи в Excel были допущены ошибки, не позволяющие Excel найти оптимальное решение, которое в действительности существует (см. ниже подразд.1.3.5).

Если при заполнении полей окна «Поиск решения» были допущены ошибки, не позволяющие Excel применить симплекс-метод для решения задачи или довести ее решение до конца, то после запуска задачи на решение на экран будет выдано соответствующее сообщение с указанием причины, по которой решение не найдено. Иногда слишком малое значение параметра «Относительная погрешность» не позволяет найти оптимальное решение. Для исправления этой ситуации увеличивайте погрешность поразрядно, например от 0,000001 до 0,00001 и т.д.

В окне «Результаты поиска решения» представлены названия трех типов отчетов: «Результаты», «Устойчивость», «Пределы». Они необходимы при анализе полученного решения на чувствительность (см. ниже подразд.3.3). Для получения же ответа (значений переменных, ЦФ и левых частей ограничений) прямо в экранной форме просто нажмите кнопку «ОК». После этого в экранной форме появляется оптимальное решение задачи (рис. 1.12).

Линейное программирование в Excel задачи с решением

Целочисленное программирование

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

• В экранной форме укажите, на какие переменные накладывается требование целочисленности (этот шаг делается для наглядности восприятия условия задачи) (рис. 1.13).

• В окне «Поиск решения» (меню «Сервис»—>»Поиск решения»), нажмите кнопку «Добавить» и в появившемся окне «Добавление ограничений» введите ограничения следующим образом (рис.1.14):

  • в поле «Ссылка на ячейку» введите адреса ячеек переменных задачи, то есть $В$3:$Е$3;
  • в поле ввода знака ограничения установите «целое»;
  • подтвердите ввод ограничения нажатием кнопки «ОК».
Линейное программирование в Excel задачи с решением

На рис. 1.13 представлено решение задачи (1.1), к ограничениям которой добавлено условие целочисленности значений ее переменных.

Двухиндексные задачи линейного программирования

Двухиндексные задачи линейного программирования вводятся и решаются в Excel аналогично одноиндексным задачам. Специфика ввода условия двухиндексной задачи ЛП состоит лишь в удобстве матричного задания переменных задачи и коэффициентов ЦФ.

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

Линейное программирование в Excel задачи с решением

Целевая функция и ограничения данной задачи имеют вид

Линейное программирование в Excel задачи с решением

Экранные формы, задание переменных, целевой функции, ограничений и граничных условий двухиндексной задачи (1.5) и ее решение представлены на рис. 1.15, 1.16, 1.17 и в табл. 1.3.

Линейное программирование в Excel задачи с решением

Линейное программирование в Excel задачи с решением

Линейное программирование в Excel задачи с решением

Задачи с булевыми переменными

Частным случаем задач с целочисленными переменными являются задачи, в результате решения которых искомые переменные Линейное программирование в Excel задачи с решением могут принимать только одно из двух значений: 0 или 1. Такие переменные в честь предложившего их английского математика Джорджа Буля называют булевыми. На рис. 1.18 представлена экранная форма с решением некоторой двухиндексной задачи с булевыми переменными.

Линейное программирование в Excel задачи с решением

Рис. 1.18. Решение двухиндексной задачи с булевыми переменными

Помимо задания требования целочисленности (см. подразд.1.3.2) при вводе условия задач с булевыми переменными необходимо:

• для наглядности восприятия ввести в экранную форму слово «булевы» в качестве характеристики переменных (см. рис. 1.18);

• в окне «Поиск решения» добавить граничные условия, имеющие смысл ограничения значений переменных по их единичной верхней границе (рис. 1.19).

Линейное программирование в Excel задачи с решением

Вид окна «Поиск решения» для задачи с булевыми переменными, представленной на рис. 1.18, приведен на рис. 1.20.

Линейное программирование в Excel задачи с решением

Возможные ошибки при вводе условий задач линейного программирования

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

Как решить задачу линейного программирования в excel

Цель работы

Приобретение навыков решения задач линейного программирования (ЗЛП) в табличном редакторе Microsoft Excel. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

Для модели линейного программирования, соответствующей номеру Вашего варианта, найдите оптимальное решение в табличном редакторе Microsoft Excel и продемонстрируйте его преподавателю.

Инструкция по использованию microsoft excel для решения задач линейного программирования

Для того чтобы решить ЗЛП в табличном редакторе Microsoft Excel, необходимо выполнить следующие действия. 1. Ввести условие задачи:

a) создать экранную форму для ввода условия задачи:

  • • переменных,
  • • целевой функции (ЦФ),
  • • ограничений,
  • • граничных условий;

b) ввести исходные данные в экранную форму:

  • • коэффициенты ЦФ,
  • • коэффициенты при переменных в ограничениях,
  • • правые части ограничений;

c) ввести зависимости из математической модели в экранную форму:

  • • формулу для расчета ЦФ,
  • • формулы для расчета значений левых частей ограничений; с!) задать ЦФ (в окне «Поиск решения»):
  • • целевую ячейку,
  • • направление оптимизации ЦФ;

е) ввести ограничения и граничные условия (в окне «Поиск решения»):

  • • ячейки со значениями переменных,
  • • граничные условия для допустимых значений переменных,
  • • соотношения между правыми и левыми частями ограничений. 2. Решить задачу:

a)установить параметры решения задачи (в окне «Поиск решения»,);

b) запустить задачу на решение (в окне «Поиск решения»,);

c) выбрать формат вывода решения (в окне «Результаты поиска решения»).

Одноиндексные ЗЛП

Рассмотрим пример нахождения решения для следующей одноиндексной ЗЛП:

Линейное программирование в Excel задачи с решением
  • Ввод исходных данных

Создание экранной формы и ввод в нее условия задачи

Экранная форма для ввода условий задачи (1) вместе с введенными в нее исходными данными представлена на рис.1.

Линейное программирование в Excel задачи с решением

В экранной форме на рис. 1 каждой переменной и каждому коэффициенту задачи поставлена в соответствие конкретная ячейка в Excel. Так, например, переменным задачи (1) соответствуют ячейки

Линейное программирование в Excel задачи с решением

коэффициентам ЦФ соответствуют ячейки

Линейное программирование в Excel задачи с решением
Линейное программирование в Excel задачи с решением

правым частям ограничений соответствуют ячейки

Линейное программирование в Excel задачи с решением

Линейное программирование в Excel задачи с решением
  • Ввод зависимостей из математической модели в экранную форму

Зависимость для ЦФ.

В ячейку F6, в которой будет отображаться значение ЦФ, необходимо ввести формулу, по которой это значение будет рассчитано. Согласно (1 (значение ЦФ определяется выражением

Линейное программирование в Excel задачи с решением

Используя обозначения соответствующих ячеек в Excel (см. рис. 1), формулу для расчета ЦФ (2) можно записать как сумму произведений каждой из ячеек, отведенных для значений переменных задачи (ВЗ, СЗ, D3, ЕЗ), на соответствующую ячейку, отведенную для коэффициентов ЦФ (В6, С6, D6,E6):

Линейное программирование в Excel задачи с решением

После этого в целевой ячейке появится 0 (нулевое значение) (рис. 2).

Линейное программирование в Excel задачи с решением

Зависимости для левых частей ограничений

Левые части ограничений задачи (1) представляют собой сумму произведений каждой из ячеек, отведенных для значений переменных задачи(ВЗ, СЗ, D3, ЕЗ), на соответствующую ячейку, отведенную для коэффициентов конкретного ограничения (B10, С10, D10, Е10 — 1-е ограничение; В11, C11,D11, Е11 — 2-е ограничение и В12, С12, D12, Е12 — 3-е ограничение). Формулы, соответствующие левым частям ограничений, записать самостоятельно. Проверка правильности введения формул

Для проверки правильности введенных формул производите поочередно двойное нажатие левой клавиши мыши на ячейки с формулами. При этом на экране рамкой будут выделяться ячейки, используемые в формуле. Дальнейшие действия производятся в окне «Поиск решения», которое вызывается из меню «Сервис». Решение задачи

Установка параметров решения задачи

Задача запускается на решение в окне «Поиск решения». Но предварительно для установления конкретных параметров решения задач оптимизации определенного класса необходимо нажать кнопку «Параметры»и заполнить некоторые поля окна «Параметры поиска решения».

Параметр «Максимальное время» служит для назначения времени (в секундах), выделяемого на решение задачи. В поле можно ввести время, не превышающее 32 767 секунд (более 9 часов).

Параметр «Предельное число итераций» служит для управления временем решения задачи путем ограничения числа промежуточных вычислений. В поле можно ввести количество итераций, не превышающее32 767. Параметр «Относительная погрешность» служит для задания точности, с которой определяется соответствие ячейки целевому значению или приближение к указанным границам. Поле должно содержать число из интервала от 0 до 1. Чем меньше количество десятичных знаков во введенном числе, тем ниже точность. Высокая точность увеличит время, которое требуется для того, чтобы сошелся процесс оптимизации.

Параметр «Допустимое отклонение» служит для задания допуска на отклонение от оптимального решения в целочисленных задачах. При указании большего допуска поиск решения заканчивается быстрее. Параметр «Сходимость» применяется только при решении нелинейных задач. Установка флажка «Линейная модель» обеспечивает ускорение поиска решения линейной задачи за счет применение симплекс-метода. Подтвердите установленные параметры нажатием кнопки «ОК». Запуск задачи на решение

Запуск задачи на решение производится из окна «Поиск решения» путем нажатия кнопки «Выполнить».

После запуска на решение задачи линейного программирования на экране появляется окно «Результаты поиска решения» с одним из сообщений:

• Сообщение об успешном решении задачи

• Сообщение при несовместной системе ограничений задачи

• Сообщение при неограниченности ЦФ в требуемом направлении Иногда второе и третье сообщения свидетельствуют не о характере оптимального решения задачи, а о том, что при вводе условийзадачи в Excel были допущены ошибки, не позволяющие Excel найти оптимальное решение, которое в действительности существует.

Если при заполнении полей окна «Поиск решения» были допущены ошибки, не позволяющие Excel применить симплекс-метод для решения задачи или довести ее решение до конца, то после запуска задачи на решение на экран будет выдано соответствующее сообщение с указанием причины, по которой решение не найдено. Иногда слишком малое значение параметра»Относительная погрешность» не позволяет найти оптимальное решение. Для исправления этой ситуации увеличивайте погрешность поразрядно, например от 0,000001 до 0,00001 и т.д.

В окне «Результаты поиска решения» представлены названия трех типов отчетов: «Результаты», «Устойчивость», «Пределы». Они необходимы при анализе полученного решения на чувствительность (будет рассмотрено позже). Для получения же ответа (значений переменных, ЦФ и левых частей ограничений) прямо в экранной форме просто нажмите кнопку «ОК». После этого в экранной форме появляется оптимальное решение задачи (рис.3).

Линейное программирование в Excel задачи с решением

Целочисленное программирование

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

• В экранной форме укажите, на какие переменные накладывается требование целочисленности (этот шаг делается для наглядности восприятия условия задачи) (рис. 4).

Линейное программирование в Excel задачи с решением

• В окне «Поиск решения» (меню «Сервис»—►»Поиск решения»), нажмите кнопку «Добавить» и в появившемся окне «Добавление ограничений» введите ограничения целочисленности. Сравните результаты.

Получите у преподавателя индивидуальные задания.

Примеры решения экономических задач Задача 1.

Средства очистки пола оценивают по следующим трем показателям:

  • • очищающие свойства;
  • • дезинфицирующие свойства;
  • • раздражающее воздействие на кожу.

Каждый из этих показателей измеряется по линейной шкале от 0 до 100. Продукт на рынке должен иметь по крайней мере 60 ед. очищающих свойств и по крайней мере 60 ед. дезинфицирующих свойств по соответствующей шкале. При этом раздражающее воздействие на кожу должно быть минимальным. Конечный продукт должен быть смесью трех основных очистителей, характеристики которых приведены в таблице.

Линейное программирование в Excel задачи с решением

Составим математическую модель задачи. Пусть Линейное программирование в Excel задачи с решением — доля очистителя Линейное программирование в Excel задачи с решением в конечном продукте, Линейное программирование в Excel задачи с решением — доля очистителя Линейное программирование в Excel задачи с решением в конечном продукте, Линейное программирование в Excel задачи с решением — доля очистителя Линейное программирование в Excel задачи с решением в конечном продукте.

Целевая функция: Линейное программирование в Excel задачи с решением (т.е. минимизируем раздражающее воздействие на кожу конечного продукта).

Ограничения:

Линейное программирование в Excel задачи с решением

Решение задачи с помощью MS Excel.

Линейное программирование в Excel задачи с решением

Заполним таблицу, содержащую исходные данные. Заполним диалоговое окно

«Поиск решения».

Линейное программирование в Excel задачи с решением

Щелкнув по кнопке ОК, мы получаем на месте исходной таблицы — таблицу с найденными оптимальными значениями. В результате в таблице получим значение целевой функции — 31,4 ед. раздражающего воздействия на кожу при

Линейное программирование в Excel задачи с решением

(т.е. очистители Линейное программирование в Excel задачи с решением нужно брать в долях 30%, 10% и 60% соответственно).

Линейное программирование в Excel задачи с решением

Задача 2.

Фирме требуется уголь с содержанием фосфора не более 0,03% и с примесью пепла не более 3,25%. Доступны 3 сорта угля Линейное программирование в Excel задачи с решением по следующим ценам (за тонну):

Линейное программирование в Excel задачи с решением

Как следует их смешать, чтобы удовлетворить ограничениям на примеси и минимизировать цену?

Решение задач математического программирования с помощью надстройки «Поиск решения» ЭТ Excel

Задачи линейного программирования, целочисленного программирования и ряд задач нелинейного программирования могут быть решены с помощью стандартного прикладного программного обеспечения. Например, в ЭТ MS Excel для этого имеется модуль «Поиск решения», вызываемый командой меню «Сервис/Поиск решения». Для активизации данного модуля необходимо выполнить команду «Сервис/Надстройки» и установить флажок напротив строки меню «Поиск решения».

Рассмотрим пример применения «Поиска решения» на основе решения задачи оптимизации портфеля ценных бумаг — одной из классических задач управления финансовыми средствами.

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

  1. Суммарный объем капитала составляет 100 000 $;
  2. доля средств, вложенная в один из объектов, не может превышать 25%;
  3. более 40% всех средств должны быть вложены в долгосрочные активы;
  4. доля высокорисковых активов не может превышать трети от суммарного объема.

Таблица 1 — Информация об объектах инвестирования

Линейное программирование в Excel задачи с решением

Построим экономико-математическую модель задачи.

Искомые переменные — объемы средств, вложенные в активы: Линейное программирование в Excel задачи с решениемЛинейное программирование в Excel задачи с решением.

Прибыль, которую получит инвестор, задается целевой функцией:

Линейное программирование в Excel задачи с решением

Сформируем ограничения:

Ограничения на суммарный объем активов —

Линейное программирование в Excel задачи с решением

Ограничение на размер доли каждого актива

Линейное программирование в Excel задачи с решением

Необходимость долгосрочного инвестирования (например, более 3 лет)

Линейное программирование в Excel задачи с решением

Учет необходимости снижения риска —

Линейное программирование в Excel задачи с решением

Естественное экономическое ограничение — неотрицательность искомых переменных —

Линейное программирование в Excel задачи с решением

Для решения задачи выполним следующие шаги.

  • На рабочем листе представим необходимую для решения информацию, согласно рисунку 1.

Ячейки В13, Н9-Н11 должны содержать формулы, отражающие зависимость между искомыми переменными и условиями задачи. В данном случае целесообразно использовать функцию Суммпроизв(…), аргументами которой являются диапазоны B4-G4 и диапазоны соответствующих параметров.

Линейное программирование в Excel задачи с решением

Рисунок 1 — Исходные данные для решения ЗЛП

  • Выполнить команду Сервис/Поиск решения и заполнить все поля диалогового окна:

Указать адрес ячейки (В 13), содержащей целевую функцию, указать тип целевой функции,

В поле «изменяя ячейки» указать адреса всех искомых переменных (от В4 до G4).

Затем последовательно заполнить все ограничения (Пример на рисунке 2.)

Линейное программирование в Excel задачи с решением

Если возникли ошибки ввода, то изменить или добавить ограничение можно с помощью командных кнопок «Добавить, изменить, удалить».

Линейное программирование в Excel задачи с решением

Далее, если это необходимо, устанавливаются особые значения параметров (кнопка «Параметры»).

Линейное программирование в Excel задачи с решением

Результаты отражаются на рабочем листе. Результаты решения представлены на рисунке 5.

Линейное программирование в Excel задачи с решением

Рисунок 5 — Результаты решения задачи

На рисунке 6 представлена структура инвестиционного портфеля.

Линейное программирование в Excel задачи с решением

На основе решения проводится анализ, и принимаются соответствующие управленческие решения.

Технология решения транспортной задачи

1. На рабочем листе представим необходимую для решения информацию, согласно рисунку 7.

Ячейки В15 содержит формулу Суммпроизв(…), аргументами которой являются диапазоны В4-Е6 и В9-Е11. Ячейки F9-F11 должны содержать формулы, отражающие зависимость между искомыми переменными и условиями задачи. В данном случае целесообразно использовать функцию Сумм(…), аргументами которой являются диапазоны В9-Е9, В10-Е 10 и В11 -Е11. Аналогично определяются формулы в В12-Е 12.

Линейное программирование в Excel задачи с решением

Рисунок 7 — Исходные данные для решения ЗЛП

  • Выполнить команду Сервис/Поиск решения и заполнить все поля диалогового окна:

Указать адрес ячейки (В 15), содержащей целевую функцию, указать тип целевой функции (минимум),

В поле «изменяя ячейки» указать адреса всех искомых переменных (от В9 до Е11).

Затем последовательно заполнить все ограничения (Пример на рисунке 8.)

Линейное программирование в Excel задачи с решением

Если возникли ошибки ввода, то изменить или добавить ограничение можно с помощью командных кнопок «Добавить, изменить, удалить». Результаты отражаются на рабочем листе. Результаты решения представлены на рисунке 9.

Линейное программирование в Excel задачи с решением

Технология решения задачи нелинейного программирования

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

Линейное программирование в Excel задачи с решением

доходе I. Найти максимальное значение функции полезности.

Построим математическую модель задачи потребительского выбора:

Линейное программирование в Excel задачи с решением

где Линейное программирование в Excel задачи с решением — число потребляемых товаров или благ, Линейное программирование в Excel задачи с решением — потребительский набор, Линейное программирование в Excel задачи с решением — функция полезности потребителя.

Набор, который является решением задачи потребительского выбора, называется оптимальным потребительским набором, или точкой локального рыночного равновесия потребителя. Поставленная задача — задача потребительского выбора — является задачей нелинейного программирования.

  • На рабочем листе представим необходимую для решения информацию, согласно рисунку 10.

Ячейки В5, В6 должны содержать формулы, отражающие зависимость между искомыми переменными и условиями задачи. В данном случае ячейка В5 содержит формулу «=D2B2+E2C2», а ячейка В6 содержит формулу «=2В2Л(3/4)(С2-4)А(1/4)».

Линейное программирование в Excel задачи с решением

Рисунок 10 — Исходные данные для решения ЗНП

  • Выполнить команду Сервис/Поиск решения и заполнить все поля диалогового окна:

Линейное программирование в Excel задачи с решением

Аналитическое решение задачи нелинейного программирования.

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

Для решения классической задачи нелинейного программирования применим метод множителей Лагранжа, для этого составим функцию Лагранжа:

Линейное программирование в Excel задачи с решением

Найдем точки экстремума функции Лагранжа.

Линейное программирование в Excel задачи с решением

Приравняем каждое уравнение к 0:

Линейное программирование в Excel задачи с решением

С помощью преобразований — разделим первое уравнение системы на второе, перейдем к системе:

Линейное программирование в Excel задачи с решением

Подставим второе уравнение в первое и построим аналитические функции спроса:

Линейное программирование в Excel задачи с решением

Максимальное значение функции полезности-

Линейное программирование в Excel задачи с решением

Решением задачи потребительского выбора будет набор Линейное программирование в Excel задачи с решениемЛинейное программирование в Excel задачи с решением

Возможно эти страницы вам будут полезны:

  1. Решение задач по математическому программированиюПримеры решения задач по математическому программированиюЗаказать работу по математическому программированиюПомощь по математическому программированиюЗадачи математического программированияЗадача линейного программированияРешение задач по линейному программированиюМетоды решения задач линейного программированияГрафическое решение задач линейного программированияГрафический метод решения задач линейного программированияЗаказать работу по линейному программированиюПомощь по линейному программированиюКонтрольная работа по линейному программированиюКурсовая работа по линейному программированию

Содержание

  1. Постановка задачи и подготовка таблиц
  2. Виды транспортных задач
  3. Общее описание транспортной задачи
  4. Инструменты для решения транспортной задачи в Эксель
  5. Постановка задачи
  6. Решение задачи
  7. Условие
  8. Варианты решения
  9. Транспортная задача в Экселе
  10. Пример задачи
  11. Как решить транспортную задачу в Excel
  12. Алгоритм решения транспортной задачи распределительным методом
  13. Что такое симплекс-метод
  14. Алгоритм решения основной задачи ЛП симплекс-методом
  15. Вводная часть, с которой желательно ознакомиться
  16. О чем говорится в определении транспортной задачи?
  17. Общий план решения транспортной задачи методом потенциалов
  18. Подробная инструкция по решению транспортной задачи

Постановка задачи и подготовка таблиц

Цель задачи сводится к математическому моделированию минимизации грузопотоков. Довольно часто студенты пишут рефераты на тему поиска решения транспортной задачи. Этот пример можно взять за основу реферата.

Виды транспортных задач

Условия и ограничения транспортной задачи достаточно обширны и разнообразны. Поэтому для ее решения разработаны специальные методы. С помощью любого из них можно найти опорное решение. А впоследствии улучшить его и получить оптимальный вариант.

Условия транспортной задачи можно представить двумя способами:

  • в виде схемы;
  • в виде матрицы.

В процессе решения могут быть ограничения (либо задача решается без них).

По характеру условий различают следующие типы транспортных задач:

  • открытые открытые транспортные задачи (запас товара у поставщика не совпадает с потребностью в товаре у потребителя);
  • закрытые (суммарные запасы продукции у поставщиков и потребителей совпадают).

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

Общее описание транспортной задачи

Главной целью транспортной задачи является поиск оптимального плана перевозок от поставщика к потребителю при минимальных затратах. Условия такой задачи записываются в виде схемы или матрицы. Для программы Excel используется матричный тип.

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

Инструменты для решения транспортной задачи в Эксель

Для решения транспортной задачи в Excel используется функция «Поиск решения». Проблема в том, что по умолчанию она отключена. Для того, чтобы включить данный инструмент, нужно выполнить определенные действия.

  1. Делаем перемещение во вкладку «Файл».
  2. Кликаем по подразделу «Параметры».
  3. В новом окне переходим по надписи «Надстройки».
  4. В блоке «Управление», который находится внизу открывшегося окна, в выпадающем списке останавливаем выбор на пункте «Надстройки Excel». Делаем клик по кнопке «Перейти…».
  5. Запускается окно активации надстроек. Устанавливаем флажок возле пункта «Поиск решения». Кликаем по кнопке «OK».
  6. Вследствие этих действий во вкладке «Данные» в блоке настроек «Анализ» на ленте появится кнопка «Поиск решения». Она нам и понадобится при поиске решения транспортной задачи.

Постановка задачи

Есть запасы однотипной продукции у поставщиков A1, A2, A3, A4.

Существует потребность в этой продукции B1, B2, B3

Стоимость доставки единицы продукции от поставщиков к потребителям представлена в таблице.

Поставщик

Потребитель

Запас

В1 В2 В2
А1 6 5 2 250
А2 3 7 4 100
А3 7 8 1 80
А4 2 2 3 120

Потребность

150 150 250

Необходимо составить такой план перевозок, который бы удовлетворил все потребности и имел минимальную стоимость.

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

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

Для решения транспортной задачи потребуются функции: СУММПРОИЗВ, СУММ и надстройка «Поиск решения».

Для отображения формул необходимо на вкладке «Формулы» в группе «Зависимости формул» выбрать «Показать формулы» либо горячее сочетание клавиш «Ctrl+` (тильда)».

Дальше выбираем команду «Поиск решения» на вкладке «Данные»

Кстати, если дать имена диапазонам ячеек, то окно поиска решения будет выглядеть следующим образом:

Решение поставленной задачи представлено ниже.

Условие

Есть некие предприятия и склады с грузом. Каждое предприятие, нуждается в определённом объёме нашего груза. Каждый склад доставляет тонну груза по собственному тарифу. Таким образом, нужно составить маршрут, по которому мы развезём объём груза, удовлетворяющий каждое предприятие, и при этом затратим меньше всего средств.
Так транспортная задача выглядит в своём наиболее общем и типовом виде.

С – это цена за тонну. X – это то, сколько мы привезём тонн со склада на предприятие. Например, если мы примем X11 равным 5, это будет значить, что со склада А1 к потребителю B1 мы повезём 5 тонн по цене C11. Вот нам и нужно как-то распределить всё так, чтобы потратить меньше всего денег.

Варианты решения

Транспортную задачу можно решить «вручную». Существует несколько подходов к её решению на бумаге. Среди них:

  • Метод опорного плана;
  • Метод минимального элемента;
  • Метод Фогеля.

Решение транспортных задач

Как правило, решая задачу одним из этих способов, вы получаете решение, находите потенциалы для него и понимаете, что в числе потенциалов есть положительные значения. Соответственно, это говорит о том, что вы нашли неверное решение. Далее вам нужно действовать, что называется, наугад. Вы переставляете различные цифры в таблице, пробуете разные варианты, словом, ищите решение методом «научного тыка». Далее снова пересчитываете потенциалы, и снова ничего не срастается.
Однозначного алгоритма, работающего безотказно в любых условиях, к сожалению, пока не придумали.
Однако для решения транспортной задачи или проверки полученного нами на бумаге результата, мы можем воспользоваться функционалом MS Excel.

Транспортная задача в Экселе

Для решения нам потребуется надстройка «Поиск решения». Возможно, она не будет активирована в вашем редакторе по умолчанию, поэтому, проделываем следующую очередность действий:

  • Жмём «Файл»;
  • В появившемся меню нажимаем по предпоследней кнопке «Параметры»;
  • Вновь находим предпоследний пункт «Надстройки» и переходим в «Управление»:

  • Ставим галочку в появившемся окне рядом с пунктов «Поиск решения» и жмём «ОК».

Поиск решения активирован. Далее он будет нами использован.

Пример задачи


На складах A1 — A4 есть суммарно 100 тонн зерна, и их нужно развести по текущим расценкам в пункты B1 – B3, потратив как можно меньше средств на доставку. Тарифы на доставку указаны в центре таблицы.

Ручное решение транспортной задачи занимает очень много времени и сил (скажем, даже для учебной задачи типа 3*5 решение может составлять от 4 до 10 страниц расчетов!). Тогда как решение в Эксель для задачи размерности как 3*3, так и 5*7 потребует буквально 10-15 минут и немного опыта (правда, если уже составлена математическая модель).

Использовать можно любую версию программы – 2003, 2007, 2010 и так далее, главное, включить использование надстройки Поиск решения (интерфейс может немного отличаться в разных версиях).

Алгоритм решения транспортной задачи распределительным методом

Резюмируя выполненные выше решения, сформулируем алгоритм решения транспортной задачи распределительным методом (поиска оптимального плана транспортной задачи).

  1. Проверить, является ли план перевозок оптимальным. Если оценки всех “свободных мест” неотрицательны, то план перевозок является оптимальным. В противном случае можно найти новый план перевозок с меньшим значением линейной формы.
  2. Найти “свободное место” с наименьшей негативной оценкой (наибольшее по модулю отрицательное число). В новом плане перевозок соответствующая клетка становится “занятым местом”.
  3. Вдоль цикла, соответствующего “свободному месту” из предыдущего пункта, отметить вершины знаками “плюс” и “минус” пройденные вершины (“кружочки”) по принципу: знаком “плюс” отмечаются нечётные вершины, знаком “минус” – чётные.
  4. Вдоль цикла, упомянутого в предыдущем пункте, выбрать наименьшее из чисел в кружочке, отмеченное знаком “минус” и обозначить его буквой “тэта”.
  5. Произвести перенаправление грузов для нового плана перевозок. Для этого число “тэта”, упомянутое в предыдущем пункте, прибавить к стоимостям перевозок в правых нижних углах клеток со знаком “плюс” и вычесть из стоимостей перевозок в правых нижних углах клеток со знаком “минус”. Стоимости в клетках, не входящих в цикл, не меняются.
  6. Вычислить значение линейной формы для нового плана перевозок. Для этого вычисляется “экономия”: число “тэта” умножается на число, стоящее в кружочке в соответствующей клетке. “Экономия” (отрицательное число) прибавляется к значению линейной формы предыдущего плана.
  7. В таблице, соответствующей новому плану, построить циклы, соответствующие “свободным местам” и вычислить оценки этих “свободных мест”. Для этого двигаться только по “занятым местам” и при каждом шаге поворот делать только под прямым углом. Каждый шаг вдоль цикла отмечать знаком “плюс” или “минус” по принципу: знаком “плюс” отмечаются нечётные вершины, знаком “минус” – чётные.

Эти шаги следует повторять до тех пор, пока оценки всех “свободных мест” не станут положительными.

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

Что такое симплекс-метод

Задача линейного программирования — это задача поиска неотрицательных значений параметров, на которых заданная линейная функция достигает своего максимума или минимума при заданных линейных ограничениях.

Симплекс-метод — алгоритм решения оптимизационной задачи линейного программирования путём перебора вершин выпуклого многогранника в многомерном пространстве. Алгоритм является универсальным методом, которым можно решить любую задачу линейного программирования.

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

Целевая функция — функция, максимум (или минимум) которой нужно найти. Представляет собой сумму произведений коэффициентов на значения переменных: F = c1·x1 + c2·x2 + … + cn·xn

Ограничение — условие вида a1·x1 + a2·x2 + … + an·xn v b, где вместо v ставится один из знаков: ≤, = или ≥

План — произвольный набор значений переменных x1 … xn.

Алгоритм решения основной задачи ЛП симплекс-методом

Пусть в задаче есть m ограничений, а целевая функция заивисит от n основных переменных. Первым делом необходимо привести все ограничения к каноническому виду — виду, в котором все условия задаются равенствами. Для этого предварительно все неравенства с ≥ умножаются на -1, для получения неравенств с ≤.

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

Пример 1


Привести к каноническому виду ограничения:
2·x1 + 3·x2 + 6·x3 ≤ 240
4·x1 + 2·x2 + 4·x3 = 200
4·x1 + 6·x2 + 8·x3 ≥ 160
Меняем знаки у ограничений с ≥, путём умножения на -1 и добавляем дополнительные переменные к ограничениям с неравенством:
2·x1 + 3·x2 + 6·x3 + x4 = 240
4·x1 + 2·x2 + 4·x3 = 200
-4·x1 – 6·x2 – 8·x3 + x5 = -160


Вводная часть, с которой желательно ознакомиться

Существует несколько методов решения транспортной задачи. Мы будем подробно рассматривать два из них:

  • решение транспортной задачи методом потенциалов (рассмотрен в данной статье)
  • решение транспортной задачи с использованием симплекс метода.

Решение задачи методом потенциалов происходит в несколько этапов:

  1. Определение опорного решения.
  2. Применение к найденному опорному решению самого метода потенциалов.
  3. Проверка единственности решения.

Определение опорного плана, в свою очередь, можно выполнить несколькими способами. Мы рассмотрим два из них:

  • метод северо-западного угла
  • метод минимальных стоимостей

(не путать с методами решения самой транспортной задачи!!!)

О чем говорится в определении транспортной задачи?

У нас есть некоторый груз, который находится на складах: склад 1, склад 2, …, склад – это пункты отправления.

Этот груз нам необходимо развести по магазинам: магазин 1, магазин 2, …, магазин k – это пункты назначения.

Нам выгоднее как можно эффективнее выполнить работу, т.е. найти такой вариант перевозки, при котором затраты будут минимальными.

Общий план решения транспортной задачи методом потенциалов

Решить транспортную задачу можно различными методами, начиная от симплекс-метода и простого перебора, и заканчивая методом графов. Один из наиболее применяемых и подходящих для большинства случаев методов – итерационное улучшение плана перевозок.

Суть его в следующем: находим некий опорный план и проверяем его на оптимальность (Z → min). Если план оптимален – решение найдено. Если нет – улучшает план столько раз, сколько потребуется, пока не будет найден оптимальный план.

Подробная инструкция по решению транспортной задачи

Строим таблицу, где указываем запасы материалов, имеющиеся на складах поставщиков (Ai), и потребности заводов (Bj) в этих материалах.

В нижний правый угол ячеек таблицы заносим значение тарифов на перевозку груза (Cij).

2. Проверка задачи на закрытость

Обозначим суммарный запас груза у всех поставщиков символом A, а суммарную потребность в грузе у всех потребителей – символом B.

Тогда:

Транспортная задача называется закрытой, если A = B . Если же A ≠ B , то транспортная задача называется открытой. В случае закрытой задачи от поставщиков будут вывезены все запасы груза, и все заявки потребителей будут удовлетворены. В случае открытой задачи для ее решения придется вводить фиктивных поставщиков или потребителей.

Проверим задачу на закрытость:

A = 10 + 20 + 30 = 60

B = 15 + 20 + 25 = 60

A = B, следовательно данная транспортная задача – закрытая.

3. Составление опорного плана

Составляет предварительный (опорный) план перевозок. Он не обязательно должен быть оптимальный. Это просто своеобразный «черновик», «набросок», улучшая который мы постепенно придем к плану оптимальному.

Есть разные методы нахождения опорного плана. Наиболее распространены следующие:

а) Метод Северо-Западного угла.

Суть метода проста – ячейки транспортной таблицы последовательно заполняются максимально возможными объемами перевозок, в направлении сверху вниз и слева направо. То есть сперва заполняется самая верхняя левая ячейка (“северо-западная” ячейка), потом следующая справа и т.д. Затем переходят на новую строку и вновь заполняют ее слева направо. И так пока таблица не будет заполнена полностью.

Подробное описание метода и пример можно посмотреть здесь.

б) Метод минимального элемента.

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

в) Аппроксимация Фогеля.

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

г) Метод двойного предпочтения.

Суть метода в том, что отмечаются клетки с наименьшим тарифом по строкам, а затем по столбцам. Затем ячейки заполняются в следующей очередности: сначала клетки с двумя отметками, потом с одной, наконец без отметок.
Подробное описание метода и пример можно посмотреть здесь

4. Проверка опорного плана на вырожденность

Клетки таблицы, в которые записаны отличные от нуля перевозки, называются базисными, а остальные (пустые) – свободными.

План называется вырожденным, если количество базисных клеток в нем меньше, чем m + n -1. Если во время решения задачи получился вырожденный план, то его необходимо пополнить, проставив в недостающем числе клеток нулевую перевозку и превратив, тем самым, эти клетки в базисные (общий баланс и суммарная стоимость перевозок плана при этом не изменятся). Однако проводить пополнение плана, выбирая клетки произвольно, нельзя. План должен быть ациклическим!

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

Ломаная линия может иметь точки самопересечения, но не в клетках цикла.

Кол-во базисных клеток = 5

m + n – 1 = 3 + 3 – 1 = 5

Следовательно, первоначальный план перевозок – невырожденный.

5. Вычисление потенциалов для плана перевозки

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

Этот метод улучшения плана перевозок называется методом потенциалов. Есть другие методы итерационного улучшения плана перевозок, но здесь мы их рассматривать не будем.

Итак, сопоставим каждому поставщику Ai и каждому потребителю Bj величины Ui и Vj соответственно так, чтобы для всех базисных клеток плана было выполнено соотношение:

Ui + Vj = Cij

Добавим к транспортной таблице дополнительную строку и столбец для Ui и Vj.

Предположим, что U1 = 0.

Тогда мы сможем найти V3 = C13 – U1 = 1 – 0 = 1.

Зная V3, мы теперь можем найти U3:

По аналогии вычисляем все оставшиеся потенциалы:

6. Проверка плана на оптимальность методом потенциалов

Для каждой свободной клетки плана вычислим разности

ΔCij = Cij – (Ui + Vj )

и запишем полученные значения в левых нижних углах соответствующих ячеек.

План является оптимальным, если все разности ΔCij ≥ 0.

В данном случае план – неоптимальный (ΔC22 < 0), и его следует улучшить путем перераспределения поставок.

7. Перераспределение поставок

Найдем ячейку с наибольшей по абсолютной величине отрицательной разностью ΔCij и построим цикл, в котором кроме этой клетки все остальные являются базисными. Такой цикл всегда существует и единственен.

Отметим ячейку с отрицательной разностью ΔCij знаком «+», следующую знаком «-», и так далее, поочередно.

Затем находим минимальной значение груза в ячейках цикла имеющих знак «-» (здесь это 5) и вписываем его в свободную ячейку со знаком «+». Затем последовательно обходим все ячейки цикла, поочередно вычитая и прибавляя к ним минимальное значение (в соответствии со знаками, которыми эти ячейки помечены: где минус – вычитаем, где плюс – прибавляем).

Получим новый опорный планперевозок:

Так как базисных клеток стало больше, чем m + n – 1, то базисную клетку с нулевым значением делаем свободной:

Снова вычисляем значения потенциалов и разности ΔCij:

На этот раз все разности ΔCij ячеек положительные, следовательно, найдено оптимальное решение.

8. Если оптимальное решение найдено, переходим к п. 9, если нет – к п. 5.

У нас оптимальное решение найдено, поэтому переходим к пункту 9.

9. Вычисление общих затрат на перевозку груза

Вычислим общие затраты на перевозку груза (Z), соответствующие найденному нами оптимальному плану, по формуле:

Zmin = 10 ∙ 1 + 15 ∙ 3 + 5 ∙ 2 + 15 ∙ 1 + 15 ∙ 2 = 110 ден. ед.

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

10. Построение графа перевозок

Найдя оптимальный план перевозок, построим граф. Вершинами графа будут «склады» и «магазины». В вершинах укажем соответствующие объемы запасов и потребностей. Дугам, соединяющим вершины графа, будут соответствовать ненулевые перевозки. Каждую такую дугу подпишем, указав объем перевозимого груза.

В результате получится граф, аналогичный изображенному ниже:

Источники

  • https://abuzov.ru/reshenie-transportnoj-zadachi-excel/
  • https://exceltable.com/otchety/reshenie-transportnoy-zadachi
  • https://lumpics.ru/the-solution-of-the-transportation-problem-in-excel/
  • https://msoffice-prowork.com/reshenie-transportnojj-zadachi-v-excel-sbalansirovannaya-zadacha/
  • https://Reshatel.org/reshenie-zadach/transportnaya-zadacha-v-excel/
  • https://www.MatBuro.ru/ex_mp.php?p1=tzexcel
  • https://function-x.ru/zadacha_transportnaja_raspredelitelnyi_metod.html
  • https://programforyou.ru/calculators/simplex-method
  • http://matecos.ru/mat/matematika/kak-reshit-transportnuyu-zadachu-2.html
  • http://galyautdinov.ru/post/transportnaya-zadacha

Понравилась статья? Поделить с друзьями:
  • Транспортная задача в excel что это
  • Транспортная задача в excel с решениями
  • Транспортная задача в excel выводы
  • Транспортировка таблицы в excel
  • Транспортировать таблицу в excel это