Интернет-журнал дачника. Сад и огород своими руками

Решение транспортной задачи. Решение задачи коммивояжера Амурный index php elementary math

В задаче коммивояжера для формирования оптимального маршрута объезда n городов необходимо выбрать один лучший из (n-1)! вариантов по критерию времени, стоимости или длине маршрута. Эта задача связана с определением гамильтонова цикла минимальной длины. В таких случаях множество всех возможных решений следует представить в виде дерева - связного графа, не содержащего циклов и петель. Корень дерева объединяет все множество вариантов, а вершины дерева - это подмножества частично упорядоченных вариантов решений.

Назначение сервиса . С помощью сервиса можно проверить свое решение или получить новое решение задачи коммивояжёра двумя методами: методом ветвей и границ и венгерским методом .

Математическая модель задачи коммивояжера

Сформулированная задача - задача целочисленная. Пусть х ij =1 , если путешественник переезжает из i -ого города в j -ый и х ij =0 , если это не так.
Формально введем (n+1) город, расположенный там же, где и первый город, т.е. расстояния от (n+1) города до любого другого, отличного от первого, равны расстояниям от первого города. При этом, если из первого города можно лишь выйти, то в (n+1) город можно лишь придти.
Введем дополнительные целые переменные, равные номеру посещения этого города на пути. u 1 =0 , u n +1 =n . Для того, чтобы избежать замкнутых путей, выйти из первого города и вернуться в (n+1) введем дополнительные ограничения, связывающие переменные x ij и переменные u i (u i целые неотрицательные числа).

U i -u j +nx ij ≤ n-1, j=2..n+1, i=1..n, i≠j, при i=1 j≠n+1
0≤u i ≤n, x in+1 =x i1 , i=2..n

Методы решения задачи коммивояжера

  1. метод ветвей и границ (алгоритм Литтла или исключения подциклов). Пример решения методом ветвей и границ ;
  2. венгерский метод. Пример решения венгерским методом .

Алгоритм Литтла или исключения подциклов

  1. Операция редукции по строкам: в каждой строке матрицы находят минимальный элемент d min и вычитают его из всех элементов соответствующей строки. Нижняя граница: H=∑d min .
  2. Операция редукции по столбцам: в каждом столбце матрицы выбирают минимальный элемент d min , и вычитают его из всех элементов соответствующего столбца. Нижняя граница: H=H+∑d min .
  3. Константа приведения H является нижней границей множества всех допустимых гамильтоновых контуров.
  4. Поиск степеней нулей для приведенной по строкам и столбцам матрицы. Для этого временно нули в матице заменяэт на знак «∞» и находят сумму минимальных элементов строки и столбца, соответствующих этому нулю.
  5. Выбирают дугу (i,j) , для которой степень нулевого элемента достигает максимального значения.
  6. Разбивают множество всех гамильтоновых контуров на два подмножества: подмножество гамильтоновых контуров содержащих дугу (i,j) и не содержащих ее (i*,j*) . Для получения матрицы контуров, включающих дугу (i,j) , вычеркивают в матрице строку i и столбец j . Чтобы не допустить образования негамильтонова контура, заменяют симметричный элемент (j,i) на знак «∞». Исключение дуги достигается заменой элемента в матрице на ∞.
  7. Проводят приведение матрицы гамильтоновых контуров с поиском констант приведения H(i,j) и H(i*,j*) .
  8. Сравнивают нижние границы подмножества гамильтоновых контуров H(i,j) и H(i*,j*) . Если H(i,j)
  9. Если в результате ветвлений получается матрица (2x2) , то определяют полученный ветвлением гамильтонов контур и его длину.
  10. Сравнивают длину гамильтонова контура с нижними границами оборванных ветвей. Если длина контура не превышает их нижних границ, то задача решена. В противном случае развивают ветви подмножеств с нижней границей, меньшей полученного контура, до тех пор, пока не получится маршрут с меньшей длиной.

Пример . Решить по алгоритму Литтла задачу коммивояжера с матрицей

1 2 3 4
1 - 5 8 7
2 5 - 6 15
3 8 6 - 10
4 7 15 10 -

Решение . Возьмем в качестве произвольного маршрута: X 0 = (1,2);(2,3);(3,4);(4,5);(5,1). Тогда F(X 0) = 20 + 14 + 6 + 12 + 5 = 57
Для определения нижней границы множества воспользуемся операцией редукции или приведения матрицы по строкам, для чего необходимо в каждой строке матрицы D найти минимальный элемент: d i = min(j) d ij
i j 1 2 3 4 5 d i
1 M 20 18 12 8 8
2 5 M 14 7 11 5
3 12 18 M 6 11 6
4 11 17 11 M 12 11
5 5 5 5 5 M 5
Затем вычитаем d i из элементов рассматриваемой строки. В связи с этим во вновь полученной матрице в каждой строке будет как минимум один ноль.
i j 1 2 3 4 5
1 M 12 10 4 0
2 0 M 9 2 6
3 6 12 M 0 5
4 0 6 0 M 1
5 0 0 0 0 M
Такую же операцию редукции проводим по столбцам, для чего в каждом столбце находим минимальный элемент:
d j = min(i) d ij
i j 1 2 3 4 5
1 M 12 10 4 0
2 0 M 9 2 6
3 6 12 M 0 5
4 0 6 0 M 1
5 0 0 0 0 M
d j 0 0 0 0 0
После вычитания минимальных элементов получаем полностью редуцированную матрицу, где величины d i и d j называются константами приведения .
i j 1 2 3 4 5
1 M 12 10 4 0
2 0 M 9 2 6
3 6 12 M 0 5
4 0 6 0 M 1
5 0 0 0 0 M
Сумма констант приведения определяет нижнюю границу H: H = ∑d i + ∑d j = 8+5+6+11+5+0+0+0+0+0 = 35
Элементы матрицы d ij соответствуют расстоянию от пункта i до пункта j.
Поскольку в матрице n городов, то D является матрицей nxn с неотрицательными элементами d ij ≥ 0
Каждый допустимый маршрут представляет собой цикл, по которому коммивояжер посещает город только один раз и возвращается в исходный город.
Длина маршрута определяется выражением: F(M k) = ∑d ij
Причем каждая строка и столбец входят в маршрут только один раз с элементом d ij .
Шаг №1 .
Определяем ребро ветвления

i j 1 2 3 4 5 d i
1 M 12 10 4 0(5) 4
2 0(2) M 9 2 6 2
3 6 12 M 0(5) 5 5
4 0(0) 6 0(0) M 1 0
5 0(0) 0(6) 0(0) 0(0) M 0
d j 0 6 0 0 1 0
d(1,5) = 4 + 1 = 5; d(2,1) = 2 + 0 = 2; d(3,4) = 5 + 0 = 5; d(4,1) = 0 + 0 = 0; d(4,3) = 0 + 0 = 0; d(5,1) = 0 + 0 = 0; d(5,2) = 0 + 6 = 6; d(5,3) = 0 + 0 = 0; d(5,4) = 0 + 0 = 0;
Наибольшая сумма констант приведения равна (0 + 6) = 6 для ребра (5,2), следовательно, множество разбивается на два подмножества (5,2) и (5*,2*).
Исключение ребра (5,2) проводим путем замены элемента d 52 = 0 на M, после чего осуществляем очередное приведение матрицы расстояний для образовавшегося подмножества (5*,2*), в результате получим редуцированную матрицу.
i j 1 2 3 4 5 d i
1 M 12 10 4 0 0
2 0 M 9 2 6 0
3 6 12 M 0 5 0
4 0 6 0 M 1 0
5 0 M 0 0 M 0
d j 0 6 0 0 0 6
Нижняя граница гамильтоновых циклов этого подмножества: H(5*,2*) = 35 + 6 = 41
Включение ребра (5,2) проводится путем исключения всех элементов 5-ой строки и 2-го столбца, в которой элемент d 25 заменяем на М, для исключения образования негамильтонова цикла.


i j 1 3 4 5 d i
1 M 10 4 0 0
2 0 9 2 M 0
3 6 M 0 5 0
4 0 0 M 1 0
d j 0 0 0 0 0

Нижняя граница подмножества (5,2) равна: H(5,2) = 35 + 0 = 35 ≤ 41
Поскольку нижняя граница этого подмножества (5,2) меньше, чем подмножества (5*,2*), то ребро (5,2) включаем в маршрут с новой границей H = 35
Шаг №2 .
Определяем ребро ветвления и разобьем все множество маршрутов относительно этого ребра на два подмножества (i,j) и (i*,j*).
С этой целью для всех клеток матрицы с нулевыми элементами заменяем поочередно нули на М(бесконечность) и определяем для них сумму образовавшихся констант приведения, они приведены в скобках.
i j 1 3 4 5 d i
1 M 10 4 0(5) 4
2 0(2) 9 2 M 2
3 6 M 0(7) 5 5
4 0(0) 0(9) M 1 0
d j 0 9 2 1 0
d(1,5) = 4 + 1 = 5; d(2,1) = 2 + 0 = 2; d(3,4) = 5 + 2 = 7; d(4,1) = 0 + 0 = 0; d(4,3) = 0 + 9 = 9;
Наибольшая сумма констант приведения равна (0 + 9) = 9 для ребра (4,3), следовательно, множество разбивается на два подмножества (4,3) и (4*,3*).
Исключение ребра (4,3) проводим путем замены элемента d 43 = 0 на M, после чего осуществляем очередное приведение матрицы расстояний для образовавшегося подмножества (4*,3*), в результате получим редуцированную матрицу.
i j 1 3 4 5 d i
1 M 10 4 0 0
2 0 9 2 M 0
3 6 M 0 5 0
4 0 M M 1 0
d j 0 9 0 0 9
Нижняя граница гамильтоновых циклов этого подмножества: H(4*,3*) = 35 + 9 = 44
Включение ребра (4,3) проводится путем исключения всех элементов 4-ой строки и 3-го столбца, в которой элемент d 34 заменяем на М, для исключения образования негамильтонова цикла.

После операции приведения сокращенная матрица будет иметь вид:
i j 1 4 5 d i
1 M 4 0 0
2 0 2 M 0
3 6 M 5 5
d j 0 2 0 7
Сумма констант приведения сокращенной матрицы: ∑d i + ∑d j = 7
Нижняя граница подмножества (4,3) равна: H(4,3) = 35 + 7 = 42 ≤ 44
Поскольку 42 > 41, исключаем подмножество (5,2) для дальнейшего ветвления.
Возвращаемся к прежнему плану X 1 .
План X 1 .
i j 1 2 3 4 5
1 M 12 10 4 0
2 0 M 9 2 6
3 6 12 M 0 5
4 0 6 0 M 1
5 0 M 0 0 M
Операция редукции .
i j 1 2 3 4 5
1 M 6 10 4 0
2 0 M 9 2 6
3 6 6 M 0 5
4 0 0 0 M 1
5 0 M 0 0 M
Шаг №1 .
Определяем ребро ветвления и разобьем все множество маршрутов относительно этого ребра на два подмножества (i,j) и (i*,j*).
С этой целью для всех клеток матрицы с нулевыми элементами заменяем поочередно нули на М(бесконечность) и определяем для них сумму образовавшихся констант приведения, они приведены в скобках.
i j 1 2 3 4 5 d i
1 M 6 10 4 0(5) 4
2 0(2) M 9 2 6 2
3 6 6 M 0(5) 5 5
4 0(0) 0(6) 0(0) M 1 0
5 0(0) M 0(0) 0(0) M 0
d j 0 6 0 0 1 0
d(1,5) = 4 + 1 = 5; d(2,1) = 2 + 0 = 2; d(3,4) = 5 + 0 = 5; d(4,1) = 0 + 0 = 0; d(4,2) = 0 + 6 = 6; d(4,3) = 0 + 0 = 0; d(5,1) = 0 + 0 = 0; d(5,3) = 0 + 0 = 0; d(5,4) = 0 + 0 = 0;
Наибольшая сумма констант приведения равна (0 + 6) = 6 для ребра (4,2), следовательно, множество разбивается на два подмножества (4,2) и (4*,2*).
Исключение ребра (4,2) проводим путем замены элемента d 42 = 0 на M, после чего осуществляем очередное приведение матрицы расстояний для образовавшегося подмножества (4*,2*), в результате получим редуцированную матрицу.
i j 1 2 3 4 5 d i
1 M 6 10 4 0 0
2 0 M 9 2 6 0
3 6 6 M 0 5 0
4 0 M 0 M 1 0
5 0 M 0 0 M 0
d j 0 6 0 0 0 6
Нижняя граница гамильтоновых циклов этого подмножества: H(4*,2*) = 41 + 6 = 47
Включение ребра (4,2) проводится путем исключения всех элементов 4-ой строки и 2-го столбца, в которой элемент d 24 заменяем на М, для исключения образования негамильтонова цикла.
В результате получим другую сокращенную матрицу (4 x 4), которая подлежит операции приведения.
После операции приведения сокращенная матрица будет иметь вид:
i j 1 3 4 5 d i
1 M 10 4 0 0
2 0 9 M 6 0
3 6 M 0 5 0
5 0 0 0 M 0
d j 0 0 0 0 0
Сумма констант приведения сокращенной матрицы: ∑d i + ∑d j = 0
Нижняя граница подмножества (4,2) равна: H(4,2) = 41 + 0 = 41 ≤ 47
Поскольку нижняя граница этого подмножества (4,2) меньше, чем подмножества (4*,2*), то ребро (4,2) включаем в маршрут с новой границей H = 41
Шаг №2 .
Определяем ребро ветвления и разобьем все множество маршрутов относительно этого ребра на два подмножества (i,j) и (i*,j*).
С этой целью для всех клеток матрицы с нулевыми элементами заменяем поочередно нули на М(бесконечность) и определяем для них сумму образовавшихся констант приведения, они приведены в скобках.
i j 1 3 4 5 d i
1 M 10 4 0(9) 4
2 0(6) 9 M 6 6
3 6 M 0(5) 5 5
5 0(0) 0(9) 0(0) M 0
d j 0 9 0 5 0
d(1,5) = 4 + 5 = 9; d(2,1) = 6 + 0 = 6; d(3,4) = 5 + 0 = 5; d(5,1) = 0 + 0 = 0; d(5,3) = 0 + 9 = 9; d(5,4) = 0 + 0 = 0;
Наибольшая сумма констант приведения равна (4 + 5) = 9 для ребра (1,5), следовательно, множество разбивается на два подмножества (1,5) и (1*,5*).
Исключение ребра (1,5) проводим путем замены элемента d 15 = 0 на M, после чего осуществляем очередное приведение матрицы расстояний для образовавшегося подмножества (1*,5*), в результате получим редуцированную матрицу.
i j 1 3 4 5 d i
1 M 10 4 M 4
2 0 9 M 6 0
3 6 M 0 5 0
5 0 0 0 M 0
d j 0 0 0 5 9
Нижняя граница гамильтоновых циклов этого подмножества: H(1*,5*) = 41 + 9 = 50
Включение ребра (1,5) проводится путем исключения всех элементов 1-ой строки и 5-го столбца, в которой элемент d 51 заменяем на М, для исключения образования негамильтонова цикла.
В результате получим другую сокращенную матрицу (3 x 3), которая подлежит операции приведения.
После операции приведения сокращенная матрица будет иметь вид:
i j 1 3 4 d i
2 0 9 M 0
3 6 M 0 0
5 M 0 0 0
d j 0 0 0 0
Сумма констант приведения сокращенной матрицы: ∑d i + ∑d j = 0
Нижняя граница подмножества (1,5) равна: H(1,5) = 41 + 0 = 41 ≤ 50
Поскольку нижняя граница этого подмножества (1,5) меньше, чем подмножества (1*,5*), то ребро (1,5) включаем в маршрут с новой границей H = 41
Шаг №3 .
Определяем ребро ветвления и разобьем все множество маршрутов относительно этого ребра на два подмножества (i,j) и (i*,j*).
С этой целью для всех клеток матрицы с нулевыми элементами заменяем поочередно нули на М(бесконечность) и определяем для них сумму образовавшихся констант приведения, они приведены в скобках.
i j 1 3 4 d i
2 0(15) 9 M 9
3 6 M 0(6) 6
5 M 0(9) 0(0) 0
d j 6 9 0 0
d(2,1) = 9 + 6 = 15; d(3,4) = 6 + 0 = 6; d(5,3) = 0 + 9 = 9; d(5,4) = 0 + 0 = 0;
Наибольшая сумма констант приведения равна (9 + 6) = 15 для ребра (2,1), следовательно, множество разбивается на два подмножества (2,1) и (2*,1*).
Исключение ребра (2,1) проводим путем замены элемента d 21 = 0 на M, после чего осуществляем очередное приведение матрицы расстояний для образовавшегося подмножества (2*,1*), в результате получим редуцированную матрицу.
i j 1 3 4 d i
2 M 9 M 9
3 6 M 0 0
5 M 0 0 0
d j 6 0 0 15
Нижняя граница гамильтоновых циклов этого подмножества: H(2*,1*) = 41 + 15 = 56
Включение ребра (2,1) проводится путем исключения всех элементов 2-ой строки и 1-го столбца, в которой элемент d 12 заменяем на М, для исключения образования негамильтонова цикла.
В результате получим другую сокращенную матрицу (2 x 2), которая подлежит операции приведения.
После операции приведения сокращенная матрица будет иметь вид:
i j 3 4 d i
3 M 0 0
5 0 0 0
d j 0 0 0
Сумма констант приведения сокращенной матрицы:
∑d i + ∑d j = 0
Нижняя граница подмножества (2,1) равна: H(2,1) = 41 + 0 = 41 ≤ 56
Поскольку нижняя граница этого подмножества (2,1) меньше, чем подмножества (2*,1*), то ребро (2,1) включаем в маршрут с новой границей H = 41.
В соответствии с этой матрицей включаем в гамильтонов маршрут ребра (3,4) и (5,3).
В результате по дереву ветвлений гамильтонов цикл образуют ребра:
(4,2), (2,1), (1,5), (5,3), (3,4). Длина маршрута равна F(Mk) = 41

Дерево решений.

1
(5*,2*), H=41 (5,2)
(4*,2*), H=47 (4,2) (4*,3*), H=44 (4,3)
(1*,5*), H=50 (1,5)
(2*,1*), H=56 (2,1)
(3,4) (3*,4*), H=41
(5,3) (5*,3*), H=41

Lesia М. Ohnivchuk


Abstract

The article considers way to extend the functionality of LMS Moodle when creating e-learning courses for the mathematical sciences, in particular e-learning courses "Elementary Mathematics" by using flash technology and Java-applets. There are examples of the use of flash-applications and Java-applets in the course "Elementary Mathematics".


Keywords

LMS Moodle; e-learning courses; technology flash; Java-applet, GeoGebra


References

Brandão, L. O., "iGeom: a free software for dynamic geometry into the web", International Conference on Sciences and Mathematics Education, Rio de Janeiro, Brazil, 2002.

Brandão, L. O. and Eisnmann, A. L. K. “Work in Progress: iComb Project - a mathematical widget for teaching and learning combinatorics through exercises” Proceedings of the 39th ASEE/IEEE Frontiers in Education Conference, 2009, T4G_1–2

Kamiya, R. H and Brandão, L. O. “iVProg – a system for introductory programming through a Visual Model on the Internet. Proceedings of the XX Simpósio Brasileiro de Informática na Educação, 2009 (in Portuguese).

Moodle.org: open-source community-based tools for learning [Електронний ресурс]. – Режим доступу: http://www.moodle.org.

MoodleDocs [Електронний ресурс]. – Режим доступум: http://docs.moodle.org.

Інтерактивні технології навчання: теорія, практика, досвід: методичний посібник авт.-уклад.: О. Пометун, Л. Пироженко. – К. : АПН; 2004. – 136 с.

Dmitry Pupinin. Question Type: Flash [Электронный ресурс]. – Режим доступа: https://moodle.org/mod/data/view.php?d=13&rid=2493&filter=1 – 26.02.14.

Андреев А. В., Герасименко П. С.. Использование Flash и SCORM для создания заданий итогового контроля [Электронный ресурс]. – Режим доступа: http://cdp.tti.sfedu.ru/index.php?option=com_content&task=view&id=1071&Itemid=363 –26.02.14.

GeoGebra. Материалы [Електронний ресурс]. – Режим доступу: http://tube.geogebra.org.

Хохенватор М. Введение в GeoGebra / М. Хохенватор / пер. Т. С. Рябова. – 2012. – 153 с.

REFERENCES (TRANSLATED AND TRANSLITERATED)

Brandão, L. O. "iGeom: a free software for dynamic geometry into the web", International Conference on Sciences and Mathematics Education, Rio de Janeiro, Brazil, 2002 (in English).

Brandão, L. O. and Eisnmann, A. L. K. “Work in Progress: iComb Project - a mathematical widget for teaching and learning combinatorics through exercises” Proceedings of the 39th ASEE/IEEE Frontiers in Education Conference, 2009, T4G_1–2 (in English).

Kamiya, R. H and Brandão, L. O. “iVProg – a system for introductory programming through a Visual Model on the Internet. Proceedings of the XX Simpósio Brasileiro de Informática na Educação, 2009 (in English)..

Moodle.org: open-source community-based tools for learning . – Available from: http://www.moodle.org (in English).

MoodleDocs . – Available from: http://docs.moodle.org (in English).

Pometun O. I., Pirozhenko L. V. Modern lesson , Kiev, ASK Publ., 2004, 192 p. (in Ukrainian).

Dmitry Pupinin. Question Type: Flash . – Available from: https://moodle.org/mod/data/view.php?d=13&rid=2493&filter=1 – 26.02.14 (in English).

Andreev А., Gerasimenko Р. Using Flash and SCORM to create of tasks final control . – Available from: http://cdp.tti.sfedu.ru/index.php?option=com_content&task=view&id=1071&Itemid=363 – 26.02.14 (in Russian).

GeoGebra Wiki . – Available from: http://www.geogebra.org (in English).

Hohenwarter M. Introduction in GeoGebra / M. Hohenwarter. – 2012. – 153 s. (in English).


DOI: https://doi.org/10.33407/itlt.v48i4.1249

Copyright (c) 2015 Lesia М. Ohnivchuk

Инструкция . Для получения решения транспортной задачи в онлайн режиме выберите размерность матрицы тарифов (количество поставщиков и количество магазинов).

Вместе с этим калькулятором также используют следующие:
Графический метод решения ЗЛП
Симплексный метод решения ЗЛП
Решение матричной игры
С помощью сервиса в онлайн режиме можно определить цену матричной игры (нижнюю и верхнюю границы), проверить наличие седловой точки, найти решение смешанной стратегии методами: минимакс, симплекс-метод, графический (геометрический) метод, методом Брауна.

Экстремум функции двух переменных
Задачи динамического программирования

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

  • вычеркивания (метод двойного предпочтения);
  • северо-западного угла;
  • минимального элемента;
  • аппроксимации Фогеля.

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

Опорным решением транспортной задачи называется любое допустимое решение, для которого векторы условий, соответствующие положительным координатам, линейно независимы. Для проверки линейной независимости векторов условий, соответствующих координатам допустимого решения, используют циклы.
Циклом называется такая последовательность клеток таблицы транспортной задачи, в которой две и только соседние клетки расположены в одной строке или столбце, причем первая и последняя также находятся в одной строке или столбце. Система векторов условий транспортной задачи линейно независима тогда и только тогда, когда из соответствующих им клеток таблицы нельзя образовать ни одного цикла. Следовательно, допустимое решение транспортной задачи, i=1,2,...,m; j=1,2,...,n является опорным только в том случае, когда из занятых им клеток таблицы нельзя образовать ни одного цикла.

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

Пример №1 . Матрица тарифов (здесь количество поставщиков равно 4 , количество магазинов равно 6):

1 2 3 4 5 6 Запасы
1 3 20 8 13 4 100 80
2 4 4 18 14 3 0 60
3 10 4 18 8 6 0 30
4 7 19 17 10 1 100 60
Потребности 10 30 40 50 70 30
Решение . Предварительный этап решения транспортной задачи сводится к определению ее типа, открытой она является или закрытой. Проверим необходимое и достаточное условие разрешимости задачи.
∑a = 80 + 60 + 30 + 60 = 230
∑b = 10 + 30 + 40 + 50 + 70 + 30 = 230
Условие баланса соблюдается. Запасы равны потребностям. Итак, модель транспортной задачи является закрытой. Если бы модель получилась открытой, то потребовалось бы вводить дополнительных поставщиков или потребителей.
На втором этапе осуществляется поиск опорного плана методами, приведенными выше (наиболее распространенным является метод наименьшей стоимости).
Для демонстрации алгоритма приведем лишь несколько итераций.
Итерация №1. Минимальный элемент матрицы равен нулю. Для этого элемента запасы равны 60 , потребности 30 . Выбираем из них минимальное число 30 и вычитаем его (см. в таблице). При этом из таблицы вычеркиваем шестой столбец (потребности у него равны 0).
3 20 8 13 4 x 80
4 4 18 14 3 0 60 - 30 = 30
10 4 18 8 6 x 30
7 19 17 0 1 x 60
10 30 40 50 70 30 - 30 = 0 0

Итерация №2. Снова ищем минимум (0). Из пары (60;50) выбираем минимальное число 50. Вычеркиваем пятый столбец.
3 20 8 x 4 x 80
4 4 18 x 3 0 30
10 4 18 x 6 x 30
7 19 17 0 1 x 60 - 50 = 10
10 30 40 50 - 50 = 0 70 0 0

Итерация №3. Процесс продолжаем до тех пор, пока не выберем все потребности и запасы.
Итерация №N. Искомый элемент равен 8. Для этого элемента запасы равны потребностям (40).
3 x 8 x 4 x 40 - 40 = 0
x x x x 3 0 0
x 4 x x x x 0
x x x 0 1 x 0
0 0 40 - 40 = 0 0 0 0 0

1 2 3 4 5 6 Запасы
1 3 20 8 13 4 100 80
2 4 4 18 14 3 0 60
3 10 4 18 8 6 0 30
4 7 19 17 0 1 100 60
Потребности 10 30 40 50 70 30

Подсчитаем число занятых клеток таблицы, их 8, а должно быть m + n - 1 = 9. Следовательно, опорный план является вырожденным. Строим новый план. Иногда приходится строить несколько опорных планов, прежде чем найти не вырожденный.
1 2 3 4 5 6 Запасы
1 3 20 8 13 4 100 80
2 4 4 18 14 3 0 60
3 10 4 18 8 6 0 30
4 7 19 17 0 1 100 60
Потребности 10 30 40 50 70 30

В результате получен первый опорный план, который является допустимым, так как число занятых клеток таблицы равно 9 и соответствует формуле m + n - 1 = 6 + 4 - 1 = 9, т.е. опорный план является невырожденным .
Третий этап заключается в улучшении найденного опорного плана. Здесь используют метод потенциалов или распределительный метод . На этом этапе правильность решения можно контролировать через функцию стоимости F(x) . Если она уменьшается (при условии минимизации затрат), то ход решения верный.

Пример №2 . Используя метод минимального тарифа, представить первоначальный план для решения транспортной задачи. Проверить на оптимальность, используя метод потенциалов.

30 50 70 10 30 10
40 2 4 6 1 1 2
80 3 4 5 9 9 6
60 4 3 2 7 8 7
20 5 1 3 5 7 9

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

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

Пример №4 . На строительство объектов кирпич поступает с трех (I, II, III) заводов. Заводы имеют на складах соответственно 50, 100 и 50 тыс. шт. кирпича. Объекты требуют соответственно 50, 70, 40 и 40 тыс. шт. кирпича. Тарифы (ден. ед./тыс.шт.) приведены в таблице. Составьте план перевозок, минимизирующий суммарные транспортные расходы.

будет закрытой если:
А) a=40, b=45
Б) a=45, b=40
В) a=11, b=12
Условие закрытой транспортной задачи : ∑a = ∑b
Находим, ∑a = 35+20+b = 55+b; ∑b = 60+a
Получаем: 55+b = 60+a
Равенство будет соблюдаться только при a=40, b=45

An elementary math curriculum for supplementary or home school should teach much more than the “how to” of simple arithmetic. A good math curriculum should have elementary math activities that build a solid foundation which is both deep and broad, conceptual and “how to”.

Time4Learning teaches a comprehensive math curriculum that correlates to state standards. Using a combination of multimedia lessons, printable worksheets, and assessments, the elementary math activities are designed to build a solid math foundation. It can be used as a , an , or as a for enrichment.

Time4Learning has no hidden fees, offers a 14-day money-back guarantee for brand new members, and allows members to start, stop, or pause at anytime. Try the interactive or view our to see what’s available.

Teaching Elementary Math Strategies

Children should acquire math skills using elementary math activities that teach a curriculum in a proper sequence designed to build a solid foundation for success. Let’s start with what appears to be a simple math fact: 3 + 5 = 8

This fact seems like a good math lesson to teach, once a child can count. But the ability to appreciate the concept “3 + 5 = 8” requires an understanding of these elementary math concepts:

  • Quantity – realizing that numbers of items can be counted. Quantity is a common concept whether we are counting fingers, dogs or trees.
  • Number recognition – knowing numbers by name, numeral, pictorial representation, or a quantity of the items.
  • Number meaning – resolving the confusion between numbers referring to a quantity or to the position in a sequence (cardinal vs. ordinal numbers.
  • Operations – Understanding that quantities can be added and that this process can be depicted with pictures, words, or numerals.

To paint a more extreme picture, trying to teach addition with “carrying over” prior to having a solid understanding of place value is a recipe for confusion. Only after mastering basic math concepts should a child try more advanced elementary math activities, like addition. Trying to teach elementary math strategies prior to mastering basic math concepts cause confusion, creating a sense of being lost or of being weak at math. A child can end up developing a poor self image or a negative view of math all because of a poor math curriculum.

It’s important to implement an elementary math curriculum that teaches math in a sequence, using elementary math activities that allow children to progressively build understanding, skills, and confidence. Quality teaching and curriculum follows a quality sequence.

Time4Learning teaches a personalized elementary math curriculum geared to your child’s current skill level. This helps to ensure that your child has a solid math foundation before introducing harder, more complex elementary math strategies. , included in the curriculum, provides practice in foundation skill areas that is necessary for success during elementary school. Get your child on the right path, about Time4Learning’s strategies for teaching elementary math.

Time4Learning’s Elementary Math Curriculum

Time4Learning’s math curriculum contains a wide range of elementary math activities, which cover more than just arithmetic, math facts, and operations. Our elementary math curriculum teaches these five math strands.*

  • Number Sense and Operations – Knowing how to represent numbers, recognizing ‘how many’ are in a group, and using numbers to compare and represent paves the way for grasping number theory, place value and the meaning of operations and how they relate to one another.
  • Algebra – The ability to sort and order objects or numbers and recognizing and building on simple patterns are examples of ways children begin to experience algebra. This elementary math concept sets the groundwork for working with algebraic variables as a child’s math experience grows.
  • Geometry and Spatial Sense – Children build on their knowledge of basic shapes to identify more complex 2-D and 3-D shapes by drawing and sorting. They then learn to reason spatially, read maps, visualize objects in space, and use geometric modeling to solve problems. Eventually children will be able to use coordinate geometry to specify locations, give directions and describe spatial relationships.
  • Measurement – Learning how to measure and compare involves concepts of length, weight, temperature, capacity and money. Telling the time and using money links to an understanding of the number system and represents an important life skill.
  • Data Analysis and Probability – As children collect information about the world around them, they will find it useful to display and represent their knowledge. Using charts, tables, graphs will help them learn to share and organize data.

Elementary math curriculums that cover just one or two of these five math strands are narrow and lead to a weak understanding of math. Help your child build a strong, broad math foundation.

Похожие публикации