Научимся решать транспортные задачи в Google Таблицах и построим шаблон для типовых условий.
Основным инструментом, с которым нам придется работать, является дополнение Solver, о порядке установки которого я писал ранее:
Рассмотрим общую форму задачи, когда нам требуется вычислить оптимальный маршрут доставки товаров от производителей (ПР) потребителям (ПО) в соответствии с тарифной сеткой. При этом суммарные объемы производимой и потребляемой продукции совпадают и перечислены в таблице ниже:
В строке 46 указаны потребности клиентов из соответствующих колонок, а в столбце H выход каждого производителя.
Искомые объемы перевозок располагаются в выделенной области таблицы и обозначают количество продукции, доставляемой от i-го производителя j-му потребителю. В столбце G справа от искомой таблицы находятся формулы сумм объемов по каждой строке и нужны для задания равенств соответствующим ограничениям на производительность справа (например, G41=СУММ ( B41:F41)). Аналогично в строке 45 под таблицей расположены суммы по столбцам, которые требуются для сравнения со строкой ниже и задания ограничений на потребности.
Формула целевой функции находится в ячейке B39 и имеет вид СУММПРОИЗВ ( B34:F37 ; B41:F44 ) - сумма произведений количества продукции на тарифы их доставки по всем парам.
Вся предварительная работа проведена, соответственно, можно запускать Solver и заполнять поля для целевой функции и ограничений:
Также можно либо явно задать ограничения на неотрицательность искомых переменных либо выбрать соответствующий пункт в Options (Assume Non-negative - в самом внизу):
Далее нажимаем Solve, получаем решение (если в некоторых переменных дробная часть отделена точкой, потребуется заменить ее на запятую):