Транспортная задача с промежуточными пунктами и ограничением по транзиту

Материал из Циклопедии
Перейти к навигации Перейти к поиску
Математическая модель ТЗПП с ограничением по транзиту

Транспортная задача с промежуточными пунктами и ограничением по транзиту — транспортная задача оптимизации перевозок с использованием промежуточных (транзитных) пунктов с возможностью ограничения транзита в наиболее перегруженном промежуточном пункте.

Постановка задачи[править]

В экономической транспортной системе имеются n конечных пунктов (np поставщиков продукции и (n-np) потребителей продукции) и m промежуточных пунктов (складов). Продукция перевозится от поставщиков на склады, будем обозначать эти перевозки положительными переменными xij≥0, (i=1,m, j=1,np). А со складов часть продукции перевозится потребителям — их обозначим отрицательными переменными xij≤0, (i=1,m, j=np+1,n). Объёмы поставок поставщиков обозначим положительными числами bj>0, (j=1,np), объёмы потребностей потребителей обозначим отрицательными числами bj<0, (j=np+1,n). Если склад имеет дополнительные (внутренние) потребности продукции, то обозначим их положительными числами ai>0, (i=1,mp). Если склад имеет излишки продукции или нулевые остатки, то обозначим их числами ai≤0, (i=mp+1,m). Транспортные тарифы на перевозку единицы продукции от поставщика на склад выразим положительными числами cij>0, (i=1,m, j=1,np), транспортные тарифы на перевозку со склада к потребителю выразим отрицательными числами cij<0, (i=1,m, j=np+1,n).

Пусть T — это лимит транзита для перегружаемого склада At.

Тогда математическая модель задачи с ограничением по транзиту принимает вид:

Невозможно разобрать выражение (SVG с запасным PNG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle L(X)=\sum\limits_{i=1}^m\sum\limits_{j=1}^n c_{ij}x_{ij}\rightarrow\min}

Невозможно разобрать выражение (SVG с запасным PNG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \begin{cases}\sum\limits_{j=1}^n x_{ij}=a_i, \ \forall i\in N_m \\ \sum\limits_{i=1}^m x_{ij}=b_j, \ \forall j\in N_n \\ \sum\limits_{j=1}^{np}x_{tj}=\max\{a_t, 0\} +T \\ \sum\limits_{j=1}^{n-np}x_{tnp+j}=\min\{a_t, 0\} -T \\ x_{ij}\ge 0,\forall (i,j)\in N_m\times N_{np} \\ x_{inp+j}\le 0,\forall (i,j)\in N_m\times N_{n-np}\end{cases}} ,

где xij — объём перевозок продукта между промежуточным пунктом Ai и конечным пунктом Bj.

Условия разрешимости[править]

Для разрешимости задачи с ограничением по транзиту необходимо выполнение условий баланса:

Невозможно разобрать выражение (SVG с запасным PNG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \sum\limits_{i=1}^m a_i=\sum\limits_{j=1}^n b_j} ,

то есть необходимо, чтобы алгебраическая сумма поставок на склады и отрицательных поставок со складов (потребностей в продукции) равнялась алгебраической сумме дополнительных потребностей в продукции на складах.

Постановка вспомогательной задачи[править]

Для случая перегруженного пункта с дополнительной потребностью at>0, введём дополнительный склад Am+1 («двойник» склада At) с избытком am+1=-T и пересчитаем для склада At дополнительную потребность at=at+T.

Пусть M — это достаточно большое положительное число.

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

Невозможно разобрать выражение (SVG с запасным PNG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle {c_{ij}}^*=c_{ij}, \forall (i,j)\in (N_m \setminus \{t\})\times N_n} ,

Невозможно разобрать выражение (SVG с запасным PNG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle {c_{tj}}^*=c_{tj}, \forall j\in N_{np}} ,

Невозможно разобрать выражение (SVG с запасным PNG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle {c_{tnp+j}}^*=-M, \forall j\in N_{n-np}} ,

Невозможно разобрать выражение (SVG с запасным PNG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle {c_{m+1j}}^*=M, \forall j\in N_{np}} ,

Невозможно разобрать выражение (SVG с запасным PNG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle {c_{m+1np+j}}^*=c_{tnp+j}, \forall j\in N_{n-np} } .

Для случая перегруженного пункта с избытком at≤0, введём дополнительный склад Am+1 («двойник» склада At) с дополнительной потребностью am+1=T и пересчитаем для склада At дополнительную потребность at=at-T. Введём обозначения:

Невозможно разобрать выражение (SVG с запасным PNG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle {c_{ij}}^*=c_{ij}, \forall (i,j)\in (N_m \setminus \{t\})\times N_n} ,

Невозможно разобрать выражение (SVG с запасным PNG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle {c_{tj}}^*=M, \forall j\in N_{np}} ,

Невозможно разобрать выражение (SVG с запасным PNG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle {c_{tnp+j}}^*= c_{tnp+j}, \forall j\in N_{n-np}} ,

Невозможно разобрать выражение (SVG с запасным PNG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle {c_{m+1j}}^*= c_{tj}, \forall j\in N_{np}} ,

Невозможно разобрать выражение (SVG с запасным PNG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle {c_{m+1np+j}}^*=-M, \forall j\in N_{n-np} } .

Математическая модель вспомогательной задачи (в обоих случаях) принимает следующий вид:

Невозможно разобрать выражение (SVG с запасным PNG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle L^*(X) = \sum\limits_{i=1}^{m+1}\sum\limits_{j=1}^n {c_{ij}}^* x_{ij} \rightarrow \min}

Невозможно разобрать выражение (SVG с запасным PNG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \begin{cases}\sum\limits_{j=1}^n x_{ij}=a_i, \ \forall i\in N_{m+1} \\ \sum\limits_{i=1}^{m+1} x_{ij}=b_j, \ \forall j\in N_n \\ x_{ij} \ge 0, \forall (i,j)\in N_{m+1}\times N_{np} \\ x_{inp+j} \le 0, \forall (i,j)\in N_{m+1}\times N_{n-np} \end{cases}} .

Решение вспомогательной задачи[править]

Очевидно, что вспомогательная задача является закрытой транспортной задачей с промежуточными пунктами, которая разрешима по построению. Для определения начального решения используется метод северо-западного угла, а для решения применяется метод потенциалов. Очевидно, что M-множители и метод потенциалов приводят к нулевым соответствующим (сверх установленного лимита T на транзит) перевозкам в оптимальном решении. В оптимальном решении вспомогательной задачи все перевозки через конечные и промежуточные пункты без складов «двойников» являются оптимальным решением исходной задачи. А перевозки складов «двойников» объединяются (складываются) в перевозки склада At.

Другие задачи[править]


Литература[править]

  • Кривопалов В. Ю., Модель транспортной задачи с промежуточными пунктами в матричной постановке, «Вестник Самарского государственного аэрокосмического университета» № 3, 2012.
  • Кривопалов В. Ю., Метод северо-западного угла для нахождения допустимого решения транспортной задачи с промежуточными пунктами. Сборник конференции ПИТ-2014, СГАУ, стр.369-372.
  • Кривопалов В. Ю., Обобщённый метод потенциалов для решения транспортной задачи с промежуточными пунктами. Сборник Х конференции «Наука. Творчество» 2014, Самара-Москва, Т.1,стр.23-29.
  • Кривопалов В. Ю., Решение транспортной задачи с промежуточными пунктами и ограничением по транзиту. Сборник ХI конференции «Наука. Творчество» 2015, Самара, Т.1,стр.28-32.

Ссылки[править]

 
Транспортная задача

Транспортная задача (классическая) • Решение симплекс-методомРешение в ExcelТранспортная задача с промежуточными пунктами (и ограничением по транзиту, с запретами, открытая ТЗПП, метод потенциалов для ТЗПП) • Трёхиндексная транспортная задачаТрёхиндексная транспортная задача с аксиальными суммамиТрёхиндексная транспортная задача с промежуточными пунктами

Начальное решение

Метод северо-западного угла, (метод северо-западного угла для ТЗПП) • Метод минимальных тарифов (алгоритм минимального элемента для ТТЗ) • Метод Фогеля‎

Вырожденные случаи

Вырожденность в ТЗАцикличность в ТЗ