Алгоритм минимального элемента для ТТЗ — различия между версиями

Материал из Мегапедии
Перейти к: навигация, поиск
(начало)
 
 
(не показано 11 промежуточных версий этого же участника)
Строка 1: Строка 1:
[[файл:ТТЗ.JPG|thumb|300|[[Математическая модель]] ТТЗ]]
+
'''Алгоритм минимального элемента для ТТЗ''' это алгоритм построения опорного решения для [[Трёхиндексная транспортная задача|трёхиндексной транспортной задачи]] ([[ТТЗ]]).
'''Трёхиндексная транспортная задача (ТТЗ)''' это многопродуктовая [[транспортная задача]] оптимизации перевозок, являющаяся трёхмерным обобщением транспортной задачи.  
+
== Обозначения ==
== Постановка задачи ТТЗ ==
+
Введём обозначения:
Пусть имеется '''m''' поставщиков '''(A1,A2,…,Am)''', '''n''' потребителей '''(B1,B2,…,Bn)''' и '''k''' различных продуктов '''(C1,C2,…,Ck)'''. Пусть заданы объёмы поставок '''a<sub>it</sub>''' продукта '''Ct''' поставщиком '''Ai''', объёмы потребностей '''b<sub>jt</sub>''' в продукте '''Ct''' у потребителя '''Bj''', объёмы перевозок '''c<sub>ij</sub>''' от поставщика '''Ai''' к потребителю '''Bj'''. Пусть известны транспортные расходы '''d<sub>ijt</sub>''' на перевозку единицы продукта '''Ct''' от поставщика '''Ai'''  к потребителю '''Bj''' и необходимо определить план перевозок с минимальной суммой транспортных расходов, тогда трёхиндексная [[Транспортная задача с промежуточными пунктами|транспортная задача]] (ТТЗ) формулируется следующим образом:
 
  
[[файл:ТТЗ.JPG]],
+
'''m''' – число поставщиков;
  
где  '''x<sub>ijt</sub>''' - объём перевозок продукта '''Ct''' от поставщика '''Ai''' к потребителю '''Bj'''.
+
'''n''' – число потребителей;
== Условия разрешимости ==
 
Для разрешимости задачи необходимо выполнение условий баланса:
 
[[файл:ТТЗ1.JPG]],
 
  
т.е. необходимо, чтобы объём поставок каждого продукта равнялся объёму потребностей в нём, чтобы объём поставок каждого поставщика равнялся объёму перевозок от него, чтобы объём потребностей  каждого потребителя равнялся объёму перевозок к нему.
+
'''k''' – число продуктов;
== Метод решения ТТЗ ==
 
Трёхиндексная [[Классическая транспортная задача|транспортная задача]] решается методом потенциалов для решения транспортной задачи обобщённым на трёхмерный случай.
 
Пусть имеется допустимое опорное решение ТТЗ. Начальное допустимое опорное решение может быть получено с помощью '''[[Алгоритм минимального элемента для ТТЗ|алгоритма минимального элемента для ТТЗ]]'''. Тогда метод потенциалов для ТТЗ принимает вид.
 
=== Метод потенциалов ===
 
'''1.'''Берём допустимое опорное решение '''Xmxnxk''' и базис '''Zmxnxk'''.
 
  
'''2.'''Определяем значение целевой функции '''L=ΣΣΣd<sub>ijt</sub>x<sub>ijt</sub>''' и базис опорного решения '''Bo={(i,j,t)|z<sub>ijt</sub>=1}'''.
+
'''A<sub>i</sub>''' - '''i'''-ый поставщик, '''1≤i≤m''';
  
'''3.'''Определяем оценку '''Δo''' и элемент '''(i<sub>o</sub>,j<sub>o</sub>,t<sub>o</sub>)''' с помощью '''[[Алгоритм расчёта потенциалов для ТТЗ|алгоритма расчёта потенциалов для ТТЗ]]''' (также определяются оценки оптимальности '''Δ<sub>ijt</sub>''').
+
'''B<sub>j</sub>''' - '''j'''-ый потребитель, '''1≤j≤n''';
  
'''4.'''Проверяем решение на оптимальность. Если '''Δo=0''', то решение '''Xmxnxk''' - оптимальное и конец работы, иначе определяем '''E<sup>+</sup>={(i,j,t)|Δ<sub>ijt</sub>>=0}'''.
+
'''C<sub>t</sub>''' - '''t'''-ый продукт, '''1≤t≤k''';
  
'''5.'''Определяем оценку '''Δx''', элемент '''(i<sub>x</sub>,j<sub>x</sub>,t<sub>x</sub>)''' и новое опорное решение '''Xmxnxk''' с помощью '''[[Алгоритм перераспределения перевозок для ТТЗ|алгоритма перераспределения перевозок для ТТЗ]]'''. Если нового допустимого опорного решения нет, то переходим к пункту 7.
+
'''a<sub>it</sub>''' - объём поставок продукта '''Сt''' от поставщика '''Ai''';
  
'''6.'''Определяем новое значение целевой функции '''L=L-ΔoΔx''' и новый базис '''Bo=Bo\(i<sub>x</sub>,j<sub>x</sub>,t<sub>x</sub>)U(i<sub>o</sub>,j<sub>o</sub>,t<sub>o</sub>)'''. Переходим к пункту 3.
+
'''b<sub>jt</sub>''' - объём потребностей в продукте '''Сt''' у потребителя '''Bj''';
  
'''7.'''Переопределяем множество '''E<sup>+</sup>=E<sup>+</sup>\(i<sub>o</sub>,j<sub>o</sub>,t<sub>o</sub>)''' и определяем новую оценку '''Δo''' и элемент '''(i<sub>o</sub>,j<sub>o</sub>,t<sub>o</sub>)'''.
+
'''c<sub>ij</sub>''' - объём перевозок от поставщика '''Ai''' к потребителю '''Bj''';
Если новый элемент '''(i<sub>o</sub>,j<sub>o</sub>,t<sub>o</sub>)''' есть, то переходим к пункту 5, иначе конец работы.
 
== Пример ТТЗ ==
 
[[файл:ТТЗ01.JPG]]
 
=== Допустимое решение ===
 
Допустимое решение '''X''' в транспортной таблице
 
  
[[файл:ТТЗ11.JPG]]
+
'''d<sub>ijt</sub>''' - транспортные расходы '''d<sub>ijt</sub>''' на перевозку единицы (тариф) продукта '''Ct''' от поставщика '''Ai'''  к потребителю '''Bj''';
[[файл:ТТЗ10.JPG]]
+
 
=== Решение методом потенциалов ===
+
'''x<sub>ijt</sub>''' - объём перевозок продукта '''Ct''' от поставщика '''Ai'''  к потребителю '''Bj''';
[[файл:ТТЗ12.JPG]]
+
 
[[файл:ТТЗ13.JPG]]
+
'''B<sub>0</sub>''' – базис решения (множество базисных элементов '''(i,j,t)''');
[[файл:ТТЗ14.JPG]]
+
 
== Задачи транспортного типа: ==
+
'''do''' – минимальный тариф на множестве '''E''';
{{Список ЗТТ}}
+
 
== Другие задачи: ==
+
'''(i<sub>0</sub>, j<sub>0</sub>, t<sub>0</sub>)''' – элемент с тарифом '''do''' и перевозкой равной нулю (до перераспределения);
{{Список ЗМП}}
+
 
 +
'''Δx''' – перераспределяемая часть перевозки;
 +
 
 +
'''(i<sub>x</sub>, j<sub>x</sub>, t<sub>x</sub>)''' – элемент с перевозкой равной приращению '''Δx''' (до перераспределения).
 +
== Алгоритм ==
 +
Входные данные: '''m; n; k; {a<sub>11</sub>, a<sub>12</sub>, …, a<sub>mk</sub>}; {b<sub>11</sub>, b<sub>12</sub>, …, b<sub>nk</sub>}; {c<sub>11</sub>, c<sub>12</sub>, …, c<sub>mn</sub>}; {d<sub>111</sub>, d<sub>112</sub>, ..., d<sub>mnk</sub>}'''.
 +
 
 +
[[файл:АМЭ03.JPG]]
 +
[[файл:АМЭ04.JPG]]
 +
 
 +
Выходные данные: '''{x<sub>111</sub>, x<sub>112</sub>, …, x<sub>mnk</sub>}''';
 +
''' {x<sub>111</sub>, x<sub>112</sub>, …, x<sub>m+1 n+1 k+1</sub>}'''.
 +
*Заметим, что при отсутствии опорного решения исходной задачи (после завершения работы алгоритма), возможно использование опорного решения вспомогательной задачи. Для этого нужно решить вспомогательную задачу [[Трёхиндексная транспортная задача|методом потенциалов]]. 
 +
== [[Алгоритм|Другие алгоритмы:]] ==
 +
{{Список АТЗ}}
 
== Ссылки ==
 
== Ссылки ==
*Емеличев В. А., Ковалев М. М., Кравцов М. К., Многогранники. Графы. Оптимизация. — М., 1981, стр.313
+
*Кривопалов Ю. А. Метод минимального элемента для нахождения опорного решения для  трёхиндексной транспортной задачи. М., ВИМИ, 1990г. деп. № Д08222.
*Кривопалов Ю. А. Метод потенциалов для решения трёхиндексной транспортной задачи. М.,ВИМИ, 1990г. деп.№Д08221.
+
*Кривопалов Ю. А. Метод минимального элемента для нахождения опорного решения для  трёхиндексной транспортной задачи. Сборник ХII конференции «Наука. Творчество» 2016, Самара, Т.1.
*Кривопалов Ю. А. Метод потенциалов для решения трёхиндексной транспортной задачи. Сборник ХI конференции «Наука. Творчество» 2015, Самара, Т.1,стр.39.
 
 
*[[Участник:Logic-samara]]
 
*[[Участник:Logic-samara]]
[[Категория:Линейное программирование]][[Категория:Транспортная задача]][[Категория:Логистика]]
+
[[Категория:Математика]][[Категория:Линейное программирование]][[Категория:Транспортная задача]][[Категория:Алгоритмы]]

Текущая версия на 15:20, 6 апреля 2023

Алгоритм минимального элемента для ТТЗ — это алгоритм построения опорного решения для трёхиндексной транспортной задачи (ТТЗ).

Обозначения

Введём обозначения:

m – число поставщиков;

n – число потребителей;

k – число продуктов;

Ai - i-ый поставщик, 1≤i≤m;

Bj - j-ый потребитель, 1≤j≤n;

Ct - t-ый продукт, 1≤t≤k;

ait - объём поставок продукта Сt от поставщика Ai;

bjt - объём потребностей в продукте Сt у потребителя Bj;

cij - объём перевозок от поставщика Ai к потребителю Bj;

dijt - транспортные расходы dijt на перевозку единицы (тариф) продукта Ct от поставщика Ai к потребителю Bj;

xijt - объём перевозок продукта Ct от поставщика Ai к потребителю Bj;

B0 – базис решения (множество базисных элементов (i,j,t));

do – минимальный тариф на множестве E;

(i0, j0, t0) – элемент с тарифом do и перевозкой равной нулю (до перераспределения);

Δx – перераспределяемая часть перевозки;

(ix, jx, tx) – элемент с перевозкой равной приращению Δx (до перераспределения).

Алгоритм

Входные данные: m; n; k; {a11, a12, …, amk}; {b11, b12, …, bnk}; {c11, c12, …, cmn}; {d111, d112, ..., dmnk}.

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения
Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Выходные данные: {x111, x112, …, xmnk}; {x111, x112, …, xm+1 n+1 k+1}.

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

Другие алгоритмы:

Ссылки

  • Кривопалов Ю. А. Метод минимального элемента для нахождения опорного решения для трёхиндексной транспортной задачи. М., ВИМИ, 1990г. деп. № Д08222.
  • Кривопалов Ю. А. Метод минимального элемента для нахождения опорного решения для трёхиндексной транспортной задачи. Сборник ХII конференции «Наука. Творчество» 2016, Самара, Т.1.
  • Участник:Logic-samara