Зачем нужна функция ВПР и когда её используют
Представьте, что вы продаёте автомобили. У вас есть каталог с характеристиками авто и их стоимостью. Также у вас есть таблица с данными клиентов, которые забронировали эти автомобили.
Это каталог автомобилей с ценами
Это список клиентов: указаны забронированные авто, но нет цен
Вам нужно сообщить покупателям, сколько стоят их авто. Перед тем как обзванивать клиентов, нужно объединить данные: добавить во вторую таблицу колонку с ценами из первой.
Просто скопировать и вставить эту колонку не получится. Искать каждое авто вручную и переносить цены — долго.
ВПР автоматически сопоставит названия автомобилей в двух таблицах. Функция скопирует цены из каталога в список забронированных машин. Так напротив каждого клиента будет стоять не только марка автомобиля, но и цена.
Ниже пошагово и со скриншотами разберёмся, как сделать ВПР для этих двух таблиц с данными.
Транспортная задача: описание
С помощью транспортной задачи можно найти наилучший вариант перевозки с минимальными издержками между двумя взаимодействующими контрагентами (в рамках данной статьи будем рассматривать покупателей и продавцов). Чтобы приступить к решению, нужно представить исходные данные в схематичном или матричном виде. Последний вариант применяется в Эксель.
Транспортные задачи бывают двух типов:
- Закрытая – совокупное предложение продавца равняется общему спросу.
- Открытая – спрос и предложение не равны. Чтобы решить такую задачу, нужно сначала привести ее к закрытому типу. В этом случае добавляется условный покупатель или продавец с недостающим количеством спроса или предложения. Также в таблицу издержек следует внести соответствующую запись (с нулевыми значениями).
Пример задачи
На складах A1 — A4 есть суммарно 100 тонн зерна, и их нужно развести по текущим расценкам в пункты B1 – B3, потратив как можно меньше средств на доставку. Тарифы на доставку указаны в центре таблицы.
Дублируем нашу таблицу в Excel.
Рисуем другую таблицу.
Диапазон ячеек D12 – F15 заполняем единицами. Эти значения мы впоследствии будем изменять, чтобы найти самый дешёвый вариант перевозки. В диапазоне H12 – H15 должна быть сумма трёх единиц таблицы в строке D12 – F12, а в D17 – F17 – сумма четырёх единиц в столбце. Так напротив каждой строки и каждого столбца
Рисуем третью таблицу, которая перемножит соответствующие ячейки первых двух таблиц.
Для этого выделяем диапазон 3 на 4 клетки, жмём на кнопку « = », выделяем диапазон D3-F6, жмём на клавиатуре « * », выделяем D12 – F15 и зажимаем сочетание клавиш Ctrl + Shift + Enter. Всё, вы перемножили значения.
Теперь суммируем все значения последней таблицы. Для этого просто выберите произвольную свободную ячейку в MS Excel. Введите в неё « =СУММ( » и выделите третью таблицу. Нажмите Enter.
Переходим во вкладку «Данные» и находим там «Поиск решения».
Щелкаем по данной кнопке. Далее всё делаем, как представлено на рисунке.
Описываю сверху вниз всё окно. Выберите целевую ячейку ту, которую мы сделали в 4-ом шаге нашего решения. Далее выберите минимум. В поле «Изменяя ячейки переменных» выберите диапазон, где мы проставили единицы. Выставляем ограничения. Значения, которые будут находиться вместо единиц, должны быть больше нуля и целыми, а потребности не должны превысить запасов. Жмём «Найти решение».
Получаем следующий результат.
Если вы всё сделали правильно, то у вас должно быть всё точно так же.
Алгоритм решения
Итак, приступи к решению нашей задачи:
- Для начала строим таблицу, количество строк и столбцов в которой соответствует числу продавцов и покупателей, соответственно.
- Перейдя в любую свободную ячейку щелкаем по кнопке “Вставить функцию” (fx).
- В открывшемся окне выбираем категорию “Математические”, в списке операторов отмечаем “СУММПРОИЗВ”, после чего щелкаем OK.
- На экране отобразится окно, в котором нужно заполнить аргументы:
- в поле для ввода значения напротив первого аргумента “Массив1” указываем координаты диапазона ячеек матрицы затрат (с желтым фоном). Сделать это можно, используя клавиши на клавиатуре, или просто выделив нужную область в самой таблице с помощью зажатой левой кнопки мыши.
- в качестве значения второго аргумента “Массив2” указываем диапазон ячеек новой таблицы (либо вручную, либо выделив нужные элементы на листе).
- по готовности жмем OK.
- Щелкаем по ячейке, расположенной слева от самого верхнего левого элемента новой таблицы, после чего снова жмем кнопку “Вставить функцию”.
- На этот раз нам нужна функция “СУММ”, которая также, находится в категории “Математические”.
- Теперь нужно заполнить аргументы. В качестве значения аргумента “Число1” указываем верхнюю строку созданной для расчетов таблицы (целиком) – вручную или методом выделения на листе. Жмем кнопку OK, когда все готово.
- В ячейке с функцией появится результат, равный нулю. Наводим указатель мыши на ее правый нижний угол, и когда появится Маркер заполнения в виде черного плюсика, зажав левую кнопку мыши тянем его до конца таблицы.
- Это позволит скопировать формулу и получить аналогичные результаты для остальных строк.
- Выбираем ячейку, которая находится сверху от самого верхнего левого элемента созданной таблицы. Аналогично описанным выше действиям вставляем в нее функцию “СУММ”.
- В значении аргумента “Число1” теперь указываем (вручную или с помощью выделения на листе) все ячейки первого столбца, после чего кликаем OK.
- С помощью Маркера заполнения выполняем копирование формулы на оставшиеся ячейки строки.
- Переключаемся во вкладку “Данные”, где жмем по кнопке функции “Поиск решения” (группа инструментов “Анализ”).
- Перед нами появится окно с параметрами функции:
- в качестве значения параметра “Оптимизировать целевую функцию” указываем координаты ячейки, в которую ранее была вставлена функция “СУММПРОИЗВ”.
- для параметра “До” выбираем вариант – “Минимум”.
- в области для ввода значений напротив параметра “Изменяя ячейки переменных” указываем диапазон ячеек новой таблицы (без суммирующей строки и столбца).
- нажимаем кнопку “Добавить” в блоке “В соответствии с ограничениями”.
- Откроется небольшое окошко, в котором мы можем добавить ограничение – сумма значений первых столбцов исходной и созданной таблицы должны быть равны.
- становимся в поле “Ссылка на ячейки”, после чего указываем нужный диапазон данных в таблице для расчетов.
- затем выбираем знак “равно”.
- в качестве значения для параметра “Ограничение” указываем координаты аналогичного столбца в исходной таблице.
- щелкаем OK по готовности.
- Таким же способом добавляем условие по равенству сумм верхних строк таблиц.
- Также добавляем следующие условия касательно суммы ячеек в таблице для расчетов (диапазон совпадает с тем, который мы указали для параметра “Изменяя ячейки переменных”):
- больше или равно нулю;
- целое число.
- В итоге получаем следующий список условий в поле “В соответствии с ограничениями”. Проверяем, чтобы обязательно была поставлена галочка напротив опции “Сделать переменные без ограничений неотрицательными”, а также, чтобы в качестве метода решения стояло значение “Поиск решения нелинейных задач методов ОПГ”. Когда все готово, нажимаем “Найти решение”.
- В результате будет выполнен расчет и отобразится окно с результатами поиска решения. Оцениваем их, и в случае, когда они нас устраивают, нажимаем OK.
- Все готово, мы получили таблицу с заполненными данными и транспортную задачу можно считать успешно решенной.
Общее описание транспортной задачи
Главной целью транспортной задачи является поиск оптимального плана перевозок от поставщика к потребителю при минимальных затратах. Условия такой задачи записываются в виде схемы или матрицы. Для программы Excel используется матричный тип.
Если общий объем товара на складах поставщика равен величине спроса, транспортная задача именуется закрытой. Если эти показатели не равны, то такую транспортную задачу называют открытой. Для её решения условия следует привести к закрытому типу. Для этого добавляют фиктивного продавца или фиктивного покупателя с запасами или потребностями равными разнице между спросом и предложением в реальной ситуации. При этом в таблице издержек добавляется дополнительный столбец или строка с нулевыми значениями.
Алгоритм решения основной задачи ЛП симплекс-методом
Пусть в задаче есть m ограничений, а целевая функция заивисит от n основных переменных. Первым делом необходимо привести все ограничения к каноническому виду — виду, в котором все условия задаются равенствами. Для этого предварительно все неравенства с ≥ умножаются на -1, для получения неравенств с ≤.
Чтобы привести ограничения с неравенствами к каноническому виду, для каждого ограничения вводят переменную, называемую дополнительной с коэффициентом 1. В ответе эти переменные учитываться не будут, однако сильно упростят начальные вычисления. При этом дополнительные переменные являются базисными, а потому могут быть использованы для формирования начального опорного решения.
Пример 1
Привести к каноническому виду ограничения:2·x1 + 3·x2 + 6·x3 ≤ 2404·x1 + 2·x2 + 4·x3 = 2004·x1 + 6·x2 + 8·x3 ≥ 160Меняем знаки у ограничений с ≥, путём умножения на -1 и добавляем дополнительные переменные к ограничениям с неравенством:2·x1 + 3·x2 + 6·x3 + x4 = 2404·x1 + 2·x2 + 4·x3 = 200-4·x1 – 6·x2 – 8·x3 + x5 = -160
Подготовительный этап: включение функции “Поиск решения”
Чтобы решить транспортную задачу в Эксель, нужно воспользоваться функцией “Поиск решения”, которую нужно предварительно активировать, т.к. изначально она не включена. Алгоритм действий следующий:
- Открываем меню “Файл”.
- В перечне слева выбираем пункт “Параметры”.
- В параметрах кликаем по подразделу “Надстройки”. Затем в правой части окна в самом низу, выбрав значение “Надстройки Excel” для параметра “Управление”, щелкаем по кнопке “Перейти”.
- В открывшемся окне ставим галочку напротив надстройки “Поиск решения” и жмем OK.
- В результате, если мы перейдем во вкладу “Данные”, то увидим здесь кнопку “Поиск решения” в группе инструментов “Анализ”.
Пример №5. Решение транспортной задачи линейного программирования. Метод северо-западного угла (фиктивный поставщик)
Данное решение сделано калькулятором, представленным на сайте.
Пример №1. Транспортная задача. Метод наименьшей стоимости (сбалансированная задача)Пример №2. Транспортная задача. Метод наименьшей стоимости (фиктивный поставщик)Пример №3. Транспортная задача. Метод наименьшей стоимости (фиктивный потребитель)Пример №4. Транспортная задача. Метод северо-западного угла (сбалансированная задача)Пример №6. Транспортная задача. Метод северо-западного угла (фиктивный потребитель)
Перейти к решению своей задачи
Задача:
Стоимость доставки единицы продукции от поставщика к потребителю располагается в правом нижнем углу ячейки.
Поставщик | Потребитель | Запас | |||
B 1 | B 2 | B 3 | B 4 | ||
A 1 |
4 |
5 |
3 |
6 |
30 |
A 2 |
7 |
2 |
1 |
5 |
25 |
A 3 |
6 |
1 |
4 |
2 |
20 |
Потребность | 20 | 15 | 25 | 20 |
Требуется составить план перевозок, при котором общая стоимость доставки продукции будет наименьшей.
Решение:
Для решения задачи необходимо выполнение следующего условия:
cуммарные запасы продукции у поставщиков должны равняться суммарной потребности потребителей.
Проверим.
Запасы поставщиков: 30 + 25 + 20 = 75 единиц продукции.
Потребность потребителей: 20 + 15 + 25 + 20 = 80 единиц продукции.
Разница в 5 единиц продукции.
Введем в рассмотрение фиктивного поставщика A4, с запасом продукции равным 5 единиц.
Стоимость доставки единицы продукции от поставщика A4 ко всем потребителям примем равной нулю (см. таблицу ниже).
Теперь суммарные запасы продукции у поставщиков равны суммарной потребности потребителей.
Для решения задачи необходимо выполнение следующего условия:
количество задействованных маршрутов = количество поставщиков + количество потребителей — 1.
Поэтому если возникнет ситуация, в которой будет необходимо исключить столбец и строку одновременно, мы исключим что-то одно.
Начинаем заполнять таблицу от левого верхнего угла и постепенно «двигаемся» к правому нижнему.
От северо-запада к юго-востоку.
Поставщик | Потребитель | Запас | |||
B 1 | B 2 | B 3 | B 4 | ||
A 1 |
?
4 |
5 |
3 |
6 |
30 |
A 2 |
7 |
2 |
1 |
5 |
25 |
A 3 |
6 |
1 |
4 |
2 |
20 |
A 4 | 5 | ||||
Потребность | 20 | 15 | 25 | 20 |
20 = min { 20, 30 }
Поставщик | Потребитель | Запас | |||
B 1 | B 2 | B 3 | B 4 | ||
A 1 |
20
4 |
?
5 |
3 |
6 |
30 10 |
A 2 |
7 |
2 |
1 |
5 |
25 |
A 3 |
6 |
1 |
4 |
2 |
20 |
A 4 | 5 | ||||
Потребность | 20 нет | 15 | 25 | 20 |
10 = min { 15, 10 }
Поставщик | Потребитель | Запас | |||
B 1 | B 2 | B 3 | B 4 | ||
A 1 |
20
4 |
10
5 |
3 |
6 |
30 10 нет |
A 2 |
7 |
?
2 |
1 |
5 |
25 |
A 3 |
6 |
1 |
4 |
2 |
20 |
A 4 | 5 | ||||
Потребность | 20 нет | 15 5 | 25 | 20 |
5 = min { 5, 25 }
Поставщик | Потребитель | Запас | |||
B 1 | B 2 | B 3 | B 4 | ||
A 1 |
20
4 |
10
5 |
3 |
6 |
30 10 нет |
A 2 |
7 |
5
2 |
?
1 |
5 |
25 20 |
A 3 |
6 |
1 |
4 |
2 |
20 |
A 4 | 5 | ||||
Потребность | 20 нет | 155 нет | 25 | 20 |
20 = min { 25, 20 }
Поставщик | Потребитель | Запас | |||
B 1 | B 2 | B 3 | B 4 | ||
A 1 |
20
4 |
10
5 |
3 |
6 |
30 10 нет |
A 2 |
7 |
5
2 |
20
1 |
5 |
25 20 нет |
A 3 |
6 |
1 |
?
4 |
2 |
20 |
A 4 | 5 | ||||
Потребность | 20 нет | 155 нет | 25 5 | 20 |
5 = min { 5, 20 }
Поставщик | Потребитель | Запас | |||
B 1 | B 2 | B 3 | B 4 | ||
A 1 |
20
4 |
10
5 |
3 |
6 |
30 10 нет |
A 2 |
7 |
5
2 |
20
1 |
5 |
25 20 нет |
A 3 |
6 |
1 |
5
4 |
?
2 |
20 15 |
A 4 | 5 | ||||
Потребность | 20 нет | 155 нет | 255 нет | 20 |
15 = min { 20, 15 }
Поставщик | Потребитель | Запас | |||
B 1 | B 2 | B 3 | B 4 | ||
A 1 |
20
4 |
10
5 |
3 |
6 |
30 10 нет |
A 2 |
7 |
5
2 |
20
1 |
5 |
25 20 нет |
A 3 |
6 |
1 |
5
4 |
15
2 |
20 15 нет |
A 4 | ? | 5 | |||
Потребность | 20 нет | 155 нет | 255 нет | 20 5 |
5 = min { 5, 5 }
Поставщик | Потребитель | Запас | |||
B 1 | B 2 | B 3 | B 4 | ||
A 1 |
20
4 |
10
5 |
3 |
6 |
30 10 нет |
A 2 |
7 |
5
2 |
20
1 |
5 |
25 20 нет |
A 3 |
6 |
1 |
5
4 |
15
2 |
20 15 нет |
A 4 | 5 | 5 нет | |||
Потребность | 20 нет | 155 нет | 255 нет | 205 нет |
Стоимость доставки продукции, для начального решения, не сложно посчитать.
Рисунок 1 – Объемы спроса и предложения
Таблица 1 – Кратчайшие расстояния, км
Объекты строительства |
||
Бассейн | Школа | |
Волжский |
10 |
9 |
Ленинский |
4 |
10 |
Средняя стоимость перевозки 1 мешка с цементом на 1 км составляет 5 рублей. В результате получаем, представленную в таблице 2, стоимость перевозок по каждому маршруту.
Таблица 2 — Стоимость перевозок по каждому маршруту
Стоимость перезозки, руб |
||
Объекты строительства |
||
Бассейн | Школа | |
Волжский |
50 |
45 |
Ленинский |
20 |
50 |
1.1 Математическая постановка задачи
транспортной задачейmисточниковnстокам
а) мощность i-го источника (объем поставок товара от i-го источника) равна Si>0, i=1,…,m;
б) мощность j-го стока (объем поставок товара к j-му стоку) равна Dj>0, j=1,…,n;
в) стоимость перевозки единицы товара (в условных денежных единицах) от i-го источника к j-му стоку равна cij;
Рисунок 1 – Объемы спроса и предложения
Средняя стоимость перевозки 1 мешка с цементом на 1 км составляет 5 рублей . В результате получаем, представленную в таблице 2, стоимость перевозок по каждому маршруту.
Таблица 2 — Стоимость перевозок по каждому маршруту
В исследовании операций под транспортной задачей обычно понимают задачу выбора плана перевозок некоторого товара (изделий, груза) от m источников (пунктов производства, поставщиков) к n стокам (станциям назначения, пунктам сбыта), обеспечивающего минимальные транспортные затраты. При этом предполагают, что:
а) мощность i-го источника (объем поставок товара от i -го источника) равна S i >0, i =1. m ;
б) мощность j-го стока (объем поставок товара к j -му стоку) равна D j >0, j =1. n ;
в) стоимость перевозки единицы товара (в условных денежных единицах) от i -го источника к j -му стоку равна c ij ;
г) суммарная мощность всех источников равна суммарной мощности всех стоков, т.е.
Далее под объемом товара будем понимать его количество в фиксированных единицах измерения.
Для математического описания транспортной задачи вводят переменные x ij , обозначающие объемы поставок товара от i -го источника к j -му стоку. В этом
случае x i1 + x i2 +. + x in — общий объем поставок товара от i -го источника, т.е. мощность этого источника; x 1 j + x 2 j +. + x mj — общий объем поставок товара к j-му стоку, т.е. мощность этого стока; c 11 x 11 + c 12 x 12 +. + c mn x mn — суммарная стоимость перевозок товара от источников к стокам. С учетом этого рассматриваемая задача может быть представлена в следующем виде:
Рисунок 3 – Представление транспортной задачи в виде сети
Используя меню Сервис Поиск решения открываем диалоговое окно Поиск решения , в котором устанавливаем целевую ячейку равной минимальному значению, определяем диапазон изменяемых ячеек и ограничения и запускаем процедуру вычисления, щелкнув по кнопке Выполнить .
В Excel несбалансированная транспортная задача решается путем изменения ограничений по спросу (если спрос превышает предложение) или по предложению (если предложение превышает спрос).
Потребительский спрос бассейна и школы удовлетворены полностью. На складе Волжского района остается не вывезенным 300 мешков, на Ленинском складе – 250 мешков.
Общая стоимость перевозки составляет 53500 условных единств.
Решение открытой транспортной задачи в Excel
При таком типе возможны два варианта развития событий:
- суммарный объем производства превышает суммарную потребность в товаре;
- суммарная потребность больше суммы запасов.
Открытую транспортную задачу приводят к закрытому типу. В первом случае вводят фиктивного потребителя. Его потребности равны разнице всего объема производства и суммы существующих потребностей.
Во втором случае вводят фиктивного поставщика. Объем его производства равен разнице суммарной потребности и суммарных запасов.
Единица перевозки груза для фиктивного участника равняется 0.
Когда все преобразования выполнены, транспортная задача становится закрытой и решается обычным способом.
Задания — ____Работа в MS Excel____
- Закрытые. В этом случае спрос и предложение находятся в балансе.
- Открытые. Здесь нет равенства между спросом и предложением. Чтобы получить решение этой задачи, нужно сперва ее привести к первому типу, уравняв спрос и предложение. Для этого нужно ввести дополнительный показатель – наличие условного покупателя или продавца. Кроме этого, нужно внести определенные изменения в таблицу издержек.
Выбираем создание отчётов всех типов. После нажатия кнопки OK в рабочей книге появляются новые листы с названиями: «Отчет по результатам 2», «Отчет по устойчивости 2», «Отчет по пределам 2». Получаем следующие результаты:
Дополнительные данные → Похожие темы → Все про Exel → Как вставить значения → Как объединить ячейки → Как вставить форматы → Дополнительные данные → Вставить формулы→ Аргументы функции
Как сделать транспортную задачу в excel?
Практически все транспортные задачи имеют единую математическую модель. Классический вариант решения иллюстрирует самый экономный план перевозок одинаковых или схожих продуктов от производственного объекта в пункт потребления.
Планирование перевозок с помощью математических и вычислительных методов дает хороший экономический эффект.
Виды транспортных задач
Условия и ограничения транспортной задачи достаточно обширны и разнообразны. Поэтому для ее решения разработаны специальные методы. С помощью любого из них можно найти опорное решение. А впоследствии улучшить его и получить оптимальный вариант.
Условия транспортной задачи можно представить двумя способами:
- в виде схемы;
- в виде матрицы.
В процессе решения могут быть ограничения (либо задача решается без них).
По характеру условий различают следующие типы транспортных задач:
- открытые открытые транспортные задачи (запас товара у поставщика не совпадает с потребностью в товаре у потребителя);
- закрытые (суммарные запасы продукции у поставщиков и потребителей совпадают).
Закрытая транспортная задача может решаться методом потенциалов. Она всегда разрешима. Открытый тип сводят к закрытому с помощью прибавления к суммарному запасу или потребности в товаре недостающих единиц, чтобы добиться равенства.
Решение открытой транспортной задачи в Excel
При таком типе возможны два варианта развития событий:
- суммарный объем производства превышает суммарную потребность в товаре;
- суммарная потребность больше суммы запасов.
Открытую транспортную задачу приводят к закрытому типу. В первом случае вводят фиктивного потребителя. Его потребности равны разнице всего объема производства и суммы существующих потребностей.
Во втором случае вводят фиктивного поставщика. Объем его производства равен разнице суммарной потребности и суммарных запасов.
Единица перевозки груза для фиктивного участника равняется 0.
Когда все преобразования выполнены, транспортная задача становится закрытой и решается обычным способом.
Как решить транспортную задачу в Excel
Ручное решение транспортной задачи занимает очень много времени и сил (скажем, даже для учебной задачи типа 3*5 решение может составлять от 4 до 10 страниц расчетов!). Тогда как решение в Эксель для задачи размерности как 3*3, так и 5*7 потребует буквально 10-15 минут и немного опыта (правда, если уже составлена математическая модель).
Использовать можно любую версию программы — 2003, 2007, 2010 и так далее, главное, включить использование надстройки Поиск решения (интерфейс может немного отличаться в разных версиях).
Алгоритм решения ТЗ в Эксель
- Составить математическую модель транспортной задачи — то есть получить таблицу со стоимостью перевозок, запасами груза у поставщиков и потребностями потребителей (и, возможно, дополнительными ограничениями).
- Если задача открытая (несбалансированная), то добавить потребителя или поставщика с нулевыми тарифами перевозки.
- Внести на лист таблицы Excel данную модель в виде матрицы тарифов (затрат).
- Создать рядом на листе еще одну таблицу, где будут выводиться искомые перевозки (такой же размерности, что и таблица тарифов). Просуммировать перевозки по строкам и столбцам (чтобы сравнивать с аналогичными ячейками — предельными ограничениями задачи — запасами поставщиков и потребностями потребителей).
- Ввести в ячейку формулу, подсчитывающую суммарную стоимость перевозок (это число мы должны минимизировать по смыслу транспортной задачи)
В режиме формул таблица будет выглядеть так: - Запустить надстройку Поиск решения и указать а) ячейку, которую мы минимизируем, б) все ограничения на запасы поставщиков и потребности потребителей, в) дополнительные ограничения (иногда бывают запреты перевозок или требования по минимальному объему груза между определенными пунктами, как в данном случае).
- Получить решение транспортной задачи: в целевой ячейке вы увидите минимальную стоимость перевозок (в примере 435), а в таблице перевозок — искомые значения объема перевозимого груза (см. желтые ячейки).
- Проанализировать решение, если требуется и записать более подробно, например
Минимальные затраты на перевозку составят 435. План перевозок: Из 1 карьера 10 тонн везем на 1-й участок, 15 тонн на 3-й. Из 2 карьера 20 тонн везем на 1-й участок. Из 3 карьера 20 тонн везем на 3-й. Из 4 карьера 10 тонн везем на 1-й участок, 20 тонн на 2-й, 5 тонн на 3-й.
Инструменты для решения транспортной задачи в Эксель
Для решения транспортной задачи в Excel используется функция «Поиск решения». Проблема в том, что по умолчанию она отключена. Для того, чтобы включить данный инструмент, нужно выполнить определенные действия.
- Делаем перемещение во вкладку «Файл».
Кликаем по подразделу «Параметры».
В блоке «Управление», который находится внизу открывшегося окна, в выпадающем списке останавливаем выбор на пункте «Надстройки Excel». Делаем клик по кнопке «Перейти…».
Запускается окно активации надстроек. Устанавливаем флажок возле пункта «Поиск решения». Кликаем по кнопке «OK».
Вследствие этих действий во вкладке «Данные» в блоке настроек «Анализ» на ленте появится кнопка «Поиск решения». Она нам и понадобится при поиске решения транспортной задачи.
Описание транспортной задачи
Итак, у нас есть два контрагента, которые постоянно взаимодействуют друг с другом. В нашем случае это покупатель и продавец. Нам нужно посчитать, как перевозить товары таким образом, чтобы издержки были минимальны. Для этого нужно представить все данные в схематической или матричной форме. В Эксель используем последний вариант. В целом, выделяют два типа транспортных задач:
- Закрытые. В этом случае спрос и предложение находятся в балансе.
- Открытые. Здесь нет равенства между спросом и предложением. Чтобы получить решение этой задачи, нужно сперва ее привести к первому типу, уравняв спрос и предложение. Для этого нужно ввести дополнительный показатель – наличие условного покупателя или продавца. Кроме этого, нужно внести определенные изменения в таблицу издержек.
Пример решения транспортной задачи в Excel
Теперь давайте разберем конкретный пример решения транспортной задачи.
Условия задачи
Имеем 5 поставщиков и 6 покупателей. Объёмы производства этих поставщиков составляют 48, 65, 51, 61, 53 единиц. Потребность покупателей: 43, 47, 42, 46, 41, 59 единиц. Таким образом, общий объем предложения равен величине спроса, то есть, мы имеем дело с закрытой транспортной задачей.
Кроме того, по условию дана матрица затрат перевозок из одного пункта в другой, которая отображена на иллюстрации ниже зеленым цветом.
Решение задачи
Перед нами стоит задача при условиях, о которых было сказано выше, свести транспортные расходы к минимуму.
- Для того, чтобы решить задачу, строим таблицу с точно таким же количеством ячеек, как и у вышеописанной матрицы затрат.
- Выделяем любую пустую ячейку на листе. Кликаем по значку «Вставить функцию», размещенному слева от строки формул.
- Открывается «Мастер функций». В списке, который предлагает он, нам следует отыскать функцию СУММПРОИЗВ. Выделяем её и жмем на кнопку «OK».
- Открывается окно ввода аргументов функции СУММПРОИЗВ. В качестве первого аргумента внесем диапазон ячеек матрицы затрат. Для этого достаточно выделить курсором данные ячейки. Вторым аргументом выступит диапазон ячеек таблицы, которая была приготовлена для расчетов. Затем, жмем на кнопку «OK».
- Кликаем по ячейке, которая расположена слева от верхней левой ячейки таблицы для расчетов. Как и в прошлый раз вызываем Мастер функций, открываем в нём аргументы функции СУММ. Кликнув по полю первого аргумента, выделяем весь верхний ряд ячеек таблицы для расчетов. После того, как их координаты занесены в соответствующее поле, кликаем по кнопке «OK».
- Становимся в нижний правый угол ячейки с функцией СУММ. Появляется маркер заполнения. Жмем на левую кнопку мыши и тянем маркер заполнения вниз до конца таблицы для расчета. Таким образом мы скопировали формулу.
- Кликаем по ячейке размещенной сверху от верхней левой ячейки таблицы для расчетов. Как и в предыдущий раз вызываем функцию СУММ, но на этот раз в качестве аргумента используем первый столбец таблицы для расчетов. Жмем на кнопку «OK».
- Копируем маркером заполнения формулу на всю строку.
- Переходим во вкладку «Данные». Там в блоке инструментов «Анализ» кликаем по кнопке «Поиск решения».
- Открываются параметры поиска решения. В поле «Оптимизировать целевую функцию» указываем ячейку, содержащую функцию СУММПРОИЗВ. В блоке «До» устанавливаем значение «Минимум». В поле «Изменяя ячейки переменных» указываем весь диапазон таблицы для расчета. В блоке настроек «В соответствии с ограничениями» жмем на кнопку «Добавить», чтобы добавить несколько важных ограничений.
- Запускается окно добавления ограничения. Прежде всего, нам нужно добавить условие того, что сумма данных в строках таблицы для расчетов должна быть равна сумме данных в строках таблицы с условием. В поле «Ссылка на ячейки» указываем диапазон суммы в строках таблицы расчетов. Затем выставляем знак равно (=). В поле «Ограничение» указываем диапазон сумм в строках таблицы с условием. После этого, жмем на кнопку «OK».
- Аналогичным образом добавляем условие, что столбцы двух таблиц должны быть равны между собой. Добавляем ограничение, что сумма диапазона всех ячеек в таблице для расчета должна быть большей или равной 0, а также условие, что она должна быть целым числом. Общий вид ограничений должен быть таким, как представлен на изображении ниже. Обязательно проследите, чтобы около пункта «Сделать переменные без ограничений неотрицательными» стояла галочка, а методом решения был выбран «Поиск решения нелинейных задач методом ОПГ». После того, как все настройки указаны, жмем на кнопку «Найти решение».
- После этого происходит расчет. Данные выводятся в ячейки таблицы для расчета. Открывается окно результатов поиска решения. Если результаты вас удовлетворяют, жмите на кнопку «OK».
Как видим, решение транспортной задачи в Excel сводится к правильному формированию вводных данных. Сами расчеты выполняет вместо пользователя программа.
Мы рады, что смогли помочь Вам в решении проблемы.
Пошаговое решение в Excel
Подготовим таблицы для решения задачи.
Значения ячеек в столбце B с третьей по седьмую определяют сумму значения соответствующих строк со столбца C до столбца F.
Например, значение ячейки B3=СУММ(C4:F4)
Аналогично значения в восьмой строке, складываются из суммы соответствующих столбцов. Далее создадим еще одну таблицу.
В строке 16 по столбцам C-F определим грузооборот по каждому пункты доставки. Например, для пункта 1 (ячейка С16) это рассчитывается по формуле:
Либо, это можно рассчитать с помощью функции СУММПРОИЗВ:
В ячейке B4 находится количество минеральных удобрений, перевозимых со склада № 1 в 1 пункт доставки, а в ячейке C11 — расстояние от склада №1 до 1 пункта доставки. Соответственно первое слагаемое в формуле означает полный грузооборот по данному маршруту. Вся же формула вычисляет полный грузооборот перевозок минеральных удобрений в 1 пункт доставки.
В ячейке B16 по формуле =СУММ(C16:F16) будет вычисляться общий объем грузооборота минеральных удобрений. Рабочий лист примет следующий вид.
Для решения транспортной задачи воспользуемся процедурой Поиск решения, которая находится на вкладке Данные. Если у вас нет процедуры Поиск решения, необходимо зайти в Параметры Excel -> Надстройки — > Поиск решения.
После выбора данной процедуры на вкладке Данные откроется диалоговое окно.
Рисунок 4. Диалоговое окно Поиск решения.
Выберем целевую ячейку $B$16, установим ее равной минимальному значению, что бы минимизировать значение конечной ячейки, путем изменения влияющих ячеек, изменяя ячейки, выберем диапазон с единицами $C$3:$F$7.
Если запустить процесс, то мы получим параметры равные нулям. Для получения необходимых значений установим некоторые ограничения:
После всех установок нажмем «Выполнить» и получаем результат.
Методы оптимальных решений. Транспортная задача в MS Excel
В этой статье мы пошагово рассмотрим, как решить транспортную задачу посредством функций MS Excel. Задачи данного типа изучаются студентами на таких дисциплинах, как исследование операций и методы оптимальных решений.
Есть некие предприятия и склады с грузом. Каждое предприятие, нуждается в определённом объёме нашего груза. Каждый склад доставляет тонну груза по собственному тарифу. Таким образом, нужно составить маршрут, по которому мы развезём объём груза, удовлетворяющий каждое предприятие, и при этом затратим меньше всего средств.
Так транспортная задача выглядит в своём наиболее общем и типовом виде.
Заключение
Таким образом, с помощью программы Эксель достаточно просто решить транспортную задачу. Самое главное – правильно заполнить начальные данные и четко следовать плану действий, и тогда проблем быть не должно, т.к. программа все расчеты выполнит сама.
Решим транспортную задачу методом потенциалов. Нам известны торговые запасы, потребительские запросы и стоимость доставки за единицу продукции. Сделаем три исходные таблицы.
Построим опорный план транспортной задачи с помощью инструмента «Поиск решений». Рядом составим такие же по объему таблицы с пустыми ячейками. Таблица А – аналог стоимостной, Б – «запасов», В – «спроса».
Элементы таблицы Б – сумма соответствующих строк в таблице А. Элементы таблицы В – сумма соответствующих столбцов в таблице А.
Отдельно составим результирующую таблицу Г. В ней отразятся оптимальные транспортные расходы. Каждый элемент таблицы Г – произведение элемента А и соответствующего элемента стоимостной таблицы.
В отдельном месте листа введем формулу функции: =СУММПРОИЗВ(A1:C3;G1:I3)
Первый массив – стоимостная таблица, второй – диапазон А.
Ставим курсор в ячейку со значением функции. Вызываем инструмент «Поиск решения». Заполняем диалоговое окно:
- Целевая ячейка – ссылка на ячейку со значением функции.
- Она должна быть равна «максимальному значению», как наиболее выгодному для перевозчика.
- Команда изменяет значения ячеек в таблице А. Значения – целые числа.
- Диапазон таблицы Б = «Запасам».
- Диапазон В = «Потребительскому спросу».
В открытом диалоговом окне нажимаем кнопку «Параметры» и устанавливаем следующие настройки:
Жмем ОК – «Выполнить». Получаем опорный план транспортной задачи:
Он залит бледно-зеленым цветом. Ячейки со значениями выше нуля называются «базисными», «занятыми». Ячейки со значением 0 – «свободными».
Далее действуем по плану:
Посчитаем число занятых клеток с помощью функции СЧЕТЕСЛИ.
Так как результат равен 5, опорный план является не вырожденным. Проверим оптимальность опорного плана – найдем потенциалы по занятым клеткам.
Нужно составить систему уравнений. Предполагается, что αj = 0, а αi + βj = сij (стоимость доставки единицы груза). Вызываем команду «Поиск решения». Вносим условия системы уравнений в качестве ограничений.
Заполненное диалоговое окно:
Результат работы инструмента «Поиск решения»:
Посчитаем оценки свободных клеток. Формула: сij – (αi + βj). Берем свободную клетку из таблицы А. Смотрим ее значение в стоимостной таблице. Это будет сij. Далее смотрим, какие потенциалы соответствуют данной клетке. Вставляем их значения в формулу.
В программе Excel найдем оценки с помощью математических операторов и ссылок на соответствующие ячейки.
План считается оптимальным, если оценки больше или равны 0. В нашем случае получились отрицательные значения – план не является оптимальным. Поэтому двигаемся дальше.
Находим, какой клетке в таблице А соответствует минимальная оценка. Строим для этой клетки цикл – замкнутую ломаную линию. Условия: обязательно чередование вертикального и горизонтального направления, только по базисным клеткам.
В исходной клетке (с минимальной оценкой) ставим знак «+». Далее чередуем: «-», «+» и т.д.
В таблице стоимости находим минимальное значение со знаком «-».
В нашем примере – это «5», ячейка В1. Эту клетку нужно убрать из базиса. А ячейку с минимальной оценкой сделать базисной.
С учетом изменившихся данных вновь строим опорный план транспортной задачи. Применяем инструмент «Поиск решения». Пересчитанный план перевозок выглядит так:
Обратите внимание: ячейка I1 (где была минимальная оценка) стала базисной, занятой. Проводим те же расчеты для нового плана (с пункта №1): находим потенциалы, оценки свободных клеток для проверки оптимальности
И так до тех пор, пока оценки свободных клеток не будут больше или равны 0
Проводим те же расчеты для нового плана (с пункта №1): находим потенциалы, оценки свободных клеток для проверки оптимальности. И так до тех пор, пока оценки свободных клеток не будут больше или равны 0.
Полученное решение сохраняется в файле Word (Пример решения транспортной задачи). Также автоматически генерируется шаблон решения в Excel .
Решение матричной игрыС помощью сервиса в онлайн режиме можно определить цену матричной игры (нижнюю и верхнюю границы), проверить наличие седловой точки, найти решение смешанной стратегии методами: минимакс, симплекс-метод, графический (геометрический) метод, методом Брауна.
Задачи динамического программирования
- вычеркивания (метод двойного предпочтения);
- северо-западного угла;
- минимального элемента;
- аппроксимации Фогеля.