Шанкибаев Б.Н.
Новый подход к решению задач транспортного типа
В данной работе продолжается изложение метода «сокращения невязок», [1-3], и дается его реализация для двух видов задач транспортного типа: транспортной задачи с ограниченными пропускными способностями коммуникаций; обобщенной транспортной (распределительной) задачи.Метод сокращения невязок для решения транспортной задачи с ограниченными пропускными способностями коммуникаций
(1)
при ограничениях:
(2)
(3)
(4)
Наличие верхнего ограничения для переменных , означает ограничение пропускных способностей коммуникаций.
Модель (1)-(4), когда некоторые из равны нулю, называется моделью транспортной задачи с запретами соответствующих перевозок.
Предварительный этап.
Шаг 1. Все элементы каждого столбца нумеруются в порядке возрастания значений (устанавливаются номера ).
Шаг 2. Заполняется матрица . Опишем заполнение произвольного столбца . В клетке, где , устанавливается
. (5)
Если , то столбец заполнен и все остальные элементы этого столбца равны нулю. Если , то выбирается клетка с номером . В этой клетке устанавливается
. (6)
Если , то столбец заполнен и все остальные элементы этого столбца равны нулю; в противном случае, рассматривается клетка с номером и т.д.
Шаг 3. Для всех клеток устанавливаются прямые компоненты по формуле
(7)
Здесь клетка столбца , у которой номер на единицу больше номера клетки .
Шаг 4. В клетках с номером устанавливаются обратные компоненты .
Шаг 5. Вычисляются значения
(8)
Если все , то задача решена; иначе, выполняется основной этап.
Основной этап.
Шаг 1. Пусть строка, для которой . В выбирается наименьшая допустимая компонента . Если она отмеченная, выполняется шаг 5.
Шаг 2. Пусть на шаг 2 вышли по компоненте . Отыскивается строка , для которой имеет место
(9)
Если выполняется одно из двух условий: а) строка совпадает со строкой ; б) имеет место
(10)
то компонента становится отмеченной и выполняется шаг 3 по строке . Если
и (11)
то выполняется шаг 3 по строке . Если
(12)
то выполняется шаг 2 по компоненте .
Шаг 3. Описывается по строке . В строке отыскивается наименьшая компонента из расширенного множества допустимых компонент. Если она отмеченная, выполняется шаг 5 при , шаг 4 по строке при . Если компонента неотмеченная, выполняется шаг 2.
Шаг 4. Описывается по строке . Компонента становится отмеченной и вычисляется по формуле
(13)
Выполняется шаг 3 по строке .
Шаг 5. Величина уменьшается, а величина увеличивается на
(14)
здесь строка , удовлетворяет условию (9).
Шаг 6. В клетке устанавливается компонента по формуле
(15)
Все компоненты становятся неотмеченными. Выполняется шаг 5 предварительного этапа.
Метод сокращения невязок для решения распределительной задачи
Рассматриваем задачу вида: найти минимальное значение линейной функции
(16)
при ограничениях:
(17)
(18)
(19)
Приведём алгоритм, разработанный автором данной статьи и предложенный, для целочисленного варианта, в работе [3].
Предварительный этап.
Шаг 1. Для каждого столбца производится нумерация (матрица ) всех клеток в порядке возрастания .
Шаг 2. Заполняется матрица следующим образом:
(20)
Шаг 3. Для всех клеток устанавливаются прямые компоненты по формуле
(21)
Здесь клетки столбца , у которых номер p на единицу больше номера клетки .
Шаг 4. В клетках с номером устанавливаются обратные компоненты .
Шаг 5. Вычисляются значения
. (22)
Если все , задача решена. В противном случае выполняется основной этап алгоритма.
Основной этап.
Шаг 1. Пусть строка с наибольшей пометкой , и компонента этой строки, указываемая пометкой. Если , устанавливается , где - строка, на которую указывает «в смысле (9)» компонента ; переходим на шаг 3. Если , переходим на шаг 2.
Шаг 2. Принимается за строка, которой соответствует пометка . Если такой нет, за принимается какая-либо строка , у которой . Пометка строки стирается. Переходим на шаг 3.
Шаг 3. Если строка имеет пометку, меньшую чем , то компонента , указываемая наибольшей пометкой, становится особой и получает метку , а клетка получает метку .
Если , то компонента , указываемая наибольшей пометкой, становится отмеченной.
В обеих случаях при максимальная пометка строки стирается и выполняется шаг 1, а при - шаг 2.
Если , находится компонента
(23)
для всех допустимых компонент строки при и для всех компонент из расширенного множества допустимых компонент при .
Если отмеченная, условно отмеченная или особая, выполняется шаг 4. Если она неотмеченная, строке присваивается пометка
. Компонента становится условно отмеченной и выполняется шаг 1.
Шаг 4. Если , то компонента становится разрешающей и выполняется шаг 5.
Если , то компонента , указываемая этой пометкой, становится отмеченной (перестаёт быть условно-отмеченной) и пересчитывается по формуле
. (24)
Если - особая, то компонента также становится особой и получает метку , а клетка получает метку .
При наибольшая пометка строки стирается и выполняется шаг 1. При выполняется шаг 2.
Шаг 5. Если - разрешающая не особая компонента, то уменьшается, а увеличивается на . Если компонента особая, то изменения происходят на величину . Здесь
(25)
(26)
а величина определяется из уравнения
(27)
Шаг 6. Для клетки вычисляется заново компонента по формуле
, (28)
где - наименьшая компонента из расширенного множества допустимых компонент строки.
Все компоненты становятся неотмеченными и выполняется шаг 5 предварительного этапа.
Алгоритм окончен.
Литература
1. Сатыбалдиев О.С., Шанкибаев Б.Н. Метод сокращения невязок для решения транспортной задачи //Materialy IV Mezinarodni vedecko – prakticka conference «Veda a technologie: Krok do budoucnosti – 2008»//, 1-15 brezen (марта) 2008 roku (Материалы Международной научной конференции «Наука и технологии: шаг в будущее»), Praha, Publishing House «Education and Science» s.r.o, 2008, с. 25-28.
2. Шанкибаев Б.Н. Новый подход к решению задач целочисленного программирования //Materialy IV Miedzynarodowej naukowi – praktycznej konferencji «Strategiczne pytania swiatowej nauki»// (Материалы Международной научно-практической конференции «Стратегические вопросы мировой науки»), 15-28 lutego (февраль) 2008 roku, Przemysl, Nauka i studia, с. 22-27.
3. Шанкибаев Б.Н. Условия оптимальности и алгоритмы решения целочисленных распределительных задач // Диссертация на соискание ученой степени кандидата физико-математических наук. Москва, ЦЭМИ АН СССР, 1972.