Задача о назначениях - Казанский (Приволжский) федеральный

advertisement
КОМПЬЮТЕРНОЕ МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ КАК СРЕДСТВО
ФОРМИРОВАНИЯ ПРОФЕССИОНАЛЬНОГО МЫШЛЕНИЯ БУДУЩЕГО
СПЕЦИАЛИСТА
Хрусталева Ангелина Валентиновна,
ст. преподаватель кафедры информатики и вычислительных технологий
Казанский (Приволжский) федеральный университет, г. Казань
angelina331@yandex.ru
В современной системе математического образования изучение студентами курса
«Компьютерное математическое моделирование» имеет огромное значение. Решение задач
компьютерного математического моделирования способствует выработке и формированию
профессионально значимых качеств будущего специалиста, в частности учителя математики и
информатики, на основе интеграции теоретических математических знаний и практических
умений в области информационно-коммуникационных технологий.
В Институте математики и механики им. Н.И. Лобачевского, а также в Институте……..
Казанского (Приволжского) федерального университета студенты привлекаются к решению
достаточно обширных задач, связанных и с моделированием физических процессов (задачи на
свободное падение тела с учетом сопротивления среды, задачи на движение тел, задачи на
моделирование явлений и процессов в приближении сплошной среды, задачи на моделирование
процесса теплопроводности), также с моделированием процессов в экологии (модели
внутривидовой, межвидовой конкуренции, моделирование динамики популяций, моделирование
процессов в системах массового обслуживания и др.)
Особый интерес у студентов вызывает решение задач, связанных с научным
исследованием основ функционирования экономики. Отметим, что для решения экономических
проблем существуют много способов, подходов и методов, но не равноценных по затратам
финансов, людских ресурсов, времени исполнения, а также по достигаемым результатам. Одним
из рациональных подходов решения экономических задач является оптимальное планирование.
Приведем пример такого рода задач.
Задача о назначениях. Некоторая компания имеет четыре заказа в разных точках города
А1, А2, А3, А4, которые необходимо доставить различным потребителям В1, В2, В3, В4. В каждой
точке по одному заказу. В таблице содержится информация о стоимости доставки заказа из пункта
Аi (i=1,2,3,4) в пункт Вj (j=1,2,3,4). Как следует распределить заказы по потребителям, чтобы
общая сумма затрат была минимальной?
А1
А2
А3
А4
В1
2
15
13
4
В2
10
4
14
15
В3
9
14
16
13
В4
7
8
11
19
Такого рода задачи возникают повседневно в огромном количестве, но в реальности число
потребителей гораздо больше количества, приведенного в условии задачи, да и дополнительных
условий (заказов) тоже больше. Наглядно решить подобную задачу помогают средства Microsoft
Office, в частности Microsoft Excel.
Первоначально рассмотрим математическую модель задачи.
Во-первых, ведем переменные xij, принимающие два значения:
xij=0, если из пункта Аi (i=1,2,3,4) заказ не доставляется в пункт Вj (j=1,2,3,4).
xij=1, если из пункта Аi (i=1,2,3,4) заказ доставляется в пункт Вj (j=1,2,3,4).
Во-вторых, наложим ограничения на переменные задачи. Очевидно, что все переменные
задачи неотрицательные и целые числа: xij  0 и xij - целые. Кроме того, так как каждый заказ
может быть доставлен только одному потребителю и все заказы должны быть вывезены, то
должны удовлетворяться следующие ограничения:
4
x
i 1
ij
 1 , j=1,2,3,4 ,
4
x
j 1
 1 , i=1,2,3,4 ,
ij
другими словами в матрице (xij) суммы элементов по каждой строке и суммы элементов по
каждому столбцу должны быть равны единицам.
В-третьих, выведем целевую функцию. Необходимо доставить заказы так, чтобы общая
сумма затрат была минимальной. Суммарное количество затрат вычисляется по формуле:
4
4
Z   xij cij ;
i 1 j 1
Z=c11x11+c12x12+...+c44x44=2x11+10x12+9x13+7x14+15x21+...+13x34+19x44;
Тогда окончательная математическая модель задачи записывается следующим образом:
найти min Z 
4
4
 x c
i 1 j 1
ij ij
;
при ограничениях:
xij  0 и xij - целые числа, i=1,2,3,4; j=1,2,3,4;
4
x
ij
i 1
4
x
j 1
ij
 1 , j=1,2,3,4;
 1 , i=1,2,3,4.
Рассмотрим решение задачи в процедуре MS EXCEL «Поиск решения».
Первоначально введем данные задачи (рис. 1).
Рис. 1
Здесь в ячейках C3 : F6 введены стоимости доставки заказа из пункта Аi (i=1,2,3,4) в пункт
Вj (j=1,2,3,4). Ячейки C13 : F16 являются изменяемыми ячейками для нашей процедуры. В ячейках
C17 : F17 находятся суммы значений соответствующих столбцов изменяемых ячеек. В ячейках
G13:G16 находятся суммы значений соответствующих строк изменяемых ячеек. Целевая функция
заносится в ячейку D20 и вычисляется по формуле «=СУММПРОИЗВ(C3:F6;C13:F16)».
Заполним окно процедуры «Поиск решения»:
целевая функция : D20;
значение целевой функции : min;
изменяемые ячейки : C13 : F16;
ограничения задачи :
C17 : F17=1 и G13:G16 = 1(все заказы должны быть доставлены);
C13 : F16  0 (изменяемые ячейки должны иметь положительные значения).
В окне «Параметры» установим «Линейная модель», что соответствует решению задачи
симплекс-методом. Результаты заполнения окна показаны на рисунке 2:
Рис. 2
Выполнив процедуру «Поиск решения» мы получим в первоначальной таблице следующие
результаты (рис. 3):
Рис. 3
Таким образом, решение задачи может быть сформулировано следующим образом: из
пункта А1 заказ необходимо доставить поставщику В3, из пункта А2 – поставщику В2, из пункта
А3 – поставщику В4, из пункта А4 – поставщику В1. Затраты на перевозку при этом составят
Z=28.
Отрадно, что современные студенты понимают важность практического значения
подобных задач. Ведь умелое их решение, в частности средствами компьютерного моделирования,
в масштабах нашей страны могло бы экономить ежегодно огромные средства.
Download